-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathQXDM_user_guide.txt
447 lines (351 loc) · 27.1 KB
/
QXDM_user_guide.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
==简介==
DMSS:dual-mode subscriber station
AMSS:advanced mobile subscriber software
QXDM作为一个分析软件主要面向于DMSS和AMSS,它提供了一个高效的协议包分析平台,以图形化的方式和接口展示数据在DMSS的传输 etc.
==安装==
(RPC)Remote Procedure Call Protocol -- (RFC-1831)远过程调用协议
安装-->各组件(RPC代理; PPP提取器; listen-only qxdm; database editor; dlf/isf converter; item tester)-->正常使用...
==display==
===file menu===
[1]Annotate/注释
在"目标文件加里"添加一些提前定义的string到userAnnotation.txt文件中去.(不要直接修改Annotation.txt文件)
[2]dynamic parse/动态分析
利用"分析引擎"去告诉qxdm要去哪里加载这些分析参数程序(.dll)
[3]view registrations/注册信息
当前配置选择的log packet/OTA log的类型有哪些,要抓取的log即这些注册过的.
在选择的注册信息中还可以选择注册信息的显示方式:只显示被支持的/根据分类来显示/copy text(复制item-type,例如0x1158 - core dump)
[4]load configuration/save configuration:加载和保存DMC文件
DMC管理:各种类型的DMC文件管理
[5]new items/load items/save items:新建/加载/保存isf文件
[6]replay items/重现抓取过程
maximum gap:每一个items之间的时间间隔
playback speed:回顾的播放速度
conpact layout:每一个items详细信息的扩展框
step:步进一个item
play/pause:...
[7]item store setting
快速存储items的设置,默认的ISF文件名,存储文件位置,log存储完后特殊"处理程序"...
标准模式的快速存储选择;高级模式下可以设置isf文件的最大容量或最长记录时间,超过这个限制就自动保存,还有单个最大文件夹里的isf文件数量限制...
===view menu===
new-->新的一些窗口显示
各种快捷工具栏
===options menu===
[1]连接状态/连接端口选择(普通的手机设备接口/GPS设备)
diag request - 单位为ms,电话每次发出请求和响应之间的时间,实际的timeout是设定值的3倍.
script commands - legacy script commands的等待时间.
[2]各类个人设置
build source path:产生这些log文件所关联的源代码文件目录...
vendor database path:产品设备数据库目录,用于判断设备的型号,归属厂商...
cdma/wcdma/hsdpa协议参照的标准/类别/版本...
设置一些常用操作(加载配置/保存items等等)的hot-key
qxdm 标题栏的tag(随意),出现在banner上的tag.
[2.5]reset/set..offline/refresh
[3]DIP switches
[4]log view config/Message view config 抓取的log/OTA log/event类型等等指定 --> 单独设定filter view的config,将其的config配置(diag配置文件)保存为.cfg和.cfg2文件(重要!).
[5]parsing option解析选项
输出文件是ANSI编码还是分析过后的文件,输出分析"源",qxdm对于可用的分析方法选择顺序...
[6]auto-launch core-dump view:默认使能,自动启动来自目标设备的core-dump log视图
[7]hide hex pane by default:hex pane在每次初始化时候被隐藏?????
[8]track dropped Message:包括在每次debug回应的消息包里的手机端报告的丢失的信息
===tool menu===
各类工具
===window menu===
tag window:向窗口标题添加某些tag;
clear most/clear all:前者除了log view其他都会被清掉
窗口的展现方式,窗口的关闭/数据清除/最小化/还原等等...
auto-scroll all
arrange icons
cascade:层叠展示
minimize all:全部最小化
restore all:全部还原之前的窗口大小
tile horizontal/tile vertical:横向/竖向展示??
previous/next window
active window list: 1.xxx 2.xxx
===help menu===
软件的注册信息/状态;
帮助文档;
----------------------------
===view bar===
提供所有的qxdm支持的窗口显示
===cmd bar===
尽管支持很多以前的DOS DM脚本命令,但是还是推荐使用软件自带的接口来测试.
一些命令会将文件名当做参数,例如运行命令去启动一个脚本去定位一个文件,qxdm会使用下面的搜索标准:
使用提供的文件; qxdm的默认的data path里的; qxdm设置的可选脚本路径中的文件;
===status bar=== P51 - 各参数-对应-显示的详细数据描述
可以右击config来调整需要在状态栏中显示的参数...
==qxdm views==
[1]常用的view方式及其相关设置:
F1 log; F5 log参数设置; ctrl+F5 message参数设置; F9 状态信息; F11 item-view; F12 filter-view;
command output - 只显示类型是string或key值是automation的item;
[2]filter view设置里item选择的最下面的两个参数:
1.delayed subsystem response only
只接受延迟的子系统调度V2响应.
2.accept unknows
接收那些没有被识别的items.(当item的类型和key值之间没有对应关系但是item的名字在qxdm数据库中存在,这种即为unknowns items)
[3]搜索
确定关键字---搜索的范围(类型/item的名字/key值/时间戳/summary信息)---如果选择类型,还可以指定要搜索的item类型的种类---regEx_Engine(none/JScript/Perl,选择后两个就可以接受正则表达式??)搜索的方向(向上/下)---其它选项(相似性搜索/反选搜索/从最后一个选择的items处开始搜索过程/包括所有的分析文件)
找到相关内容后,通过"ctrl+n"和"ctrl+shift+n"可以切换选择下一个或上一个.
[4]others.
ctrl+G 根据item index号,goto item.
auto-scroll:自动滚动到最后一项item(alt+S)
shift+delect:基本等同于clear most,除了log view的信息其他items信息都被清除.
match items:选择items-->设置选项和搜索过程类似,但是会创建一个新的filter view来显示以上匹配到的items.
process_item:将选择的的items经过一个由用户自己提供的脚本函数处理??(喊出支持的语言有perl/vb/JS/xml,脚本必须包含一个ProcessItem()的函数,且要传入一个参数,一个借口指针指向qxdm的item借口的模板IColorItem,函数返回值是一个布尔型值,true或false,返回值为true则表示通过脚本函数验证可以加入到filter-view中,false则被丢弃掉),最后也会生成一个fliter-view来显示所有被选择的并且通过脚本函数测试的items.
"C:\Users\Public\Documents\Qualcomm\QXDM\Automation Samples"这个目录里提供了各种示例脚本文件
refilter items:和filter-view配置选择界面一样,最后会生成一个filter-view(可以在各种view界面中发起"再次过滤")
raw item:将选中的item信息以原始的16进制来表示出来.
sync near item:更新index和对应item的列表.
sync to item:更新所有的filter-view到一个相同的被选择的item上.
bookmark_item:(alt+B)将某一些item添加到bookmark-view中去,原item-view中被选择的地方也会被highlight一下,相当于一个书签类似,还可以用"alt+D"和"alt+U"来上下切换选择到已经被添加到bookmark_view里的item.
[5]html-views
利用html方式来显示测量数据???
"C:\Users\Public\Documents\Qualcomm\QXDM\HTML"
模板示例什么的详细的参考上面的目录
[6]gragh views
各种图标显示(包含各种设置参数clear/cursor游标,可拖动/save image/auto scroll/auto slide/axis scroll mode/axis zoom mode/legend (图例标志)visible/range,选择默认zoom的时间设置/view Y-axis,能选择的图表类型/view channel,能够选择绘制参数)
[7]application Statistics/应用的统计信息
包括当前这个"item"文件,一共接受/发出的字节数,packet接收/发出数,持续时间,时间戳信息等等.
[8]dynamic item view
被选择的item类型周期性的出现在dynamic item view中.(右击设置选择周期性出现的item.)
[9]NV browser
通过这个可以读到并且可以修改NV值.修改值之后一定要"write"确认,否则退出之后保存还是原来的值.
当修改的NV值有和mode特别的要求时候,在写入NV值之前要先点击offline去发送"mode change request"????
"reset" - 即重启设备,像手机发送"mode change request reset",当手机处于offline状态时,执行reset会导致手机进入"recycle"???
[10]memory view(F4) P80-82
让你可以在运行时看到并且编辑手机的memory location.
[11]OS core dump
qxdm启动之后,core-dump一般是默认自己启动的,它会记录OS core-dump的log,自启动可以在options menu中禁用掉这个.
[12]task profiling
展示了一个系统级别的task和每个task的profiling logs.
对于双核心的目标设备,则对应两个task profiling view - APU(application processing unit)和MPU(modem processing unit)
设置里:
task list里竖列显示的项,task graph绘制的图像选择,信息更新时间/间隔,task expiration(终止) options...
[13]debug trace view
查看到哪些被跟踪要被写入EFS的dump文件,当一个trace dump文件被选择和"start transfer"的时候trace dump文件会有相应的记录信息.结果也可以在配置了接收debug/get trace item response items的item-view或filter-view中看到.
[14]cdma finger placement
delay(chips); current Ec/Io - 码片能量/干扰电平;(一共展示3个Ec/Io值,一个公共的,2个对应不同天线的?)
==log view==
===log-view===
(alt+L)(F1)新建一个log-view的时候,当前的item/log信息会自动保存在一个以时间信息命名的isf文件里.
对应的设置(F5):
Message packet/log packet(包含OTA的)/event packet/diagnostic logs/string/misc
当选上GSM NV ITEMS,以下类型的NV ITEMS会被要求并记录在log-view中:
GSM NV Test Code Version
GSM NV System Software Version
GSM NV RF Cal Version
GSM NV RF Cal Date
GSM NV RF Load Date
GSM NV RF Cal File
GSM NV RF Config Version
IS-2000 items:
IS 2000 Status (periodic)
IS 2000 Standard Retrieve Parameters (periodic)
IS 2000 Extended Retrieve Parameters (periodic)
misc:不连接设备情况下,可以通过指定log_file_path中使用被保存isf文件加入到log-view中???
==Message view==
(F3)
对应的设置(ctrl+F5):
Message Packets, Log Packets, Log Packets(OTA), Event Reports, and Strings
==command prompt interface / 命令"提示"接口==
以命令的方式去控制整个抓取log和修改一些参数的过程.
P102-P110
正在使用的qxdm中"命令行"好像是被关闭了的???
automation string items.
==com automation interfaces==
大致分为5个模块:
1.QXDM:COM automation 接口.
2.client:将一部分QXDM-items集合到一起,形成一个集合,这个集合即是client(数据获取通过由目标中获取和内部QXDM进程获取两种方式),还提供直接接入QXDM items的"通道".
3.client配置:提供一些方法去配置特定类型的items(QXDM接口程序所interested的).
4.Item:面向特定items的接口,由QXDM来管理这些接口.
5.Field:提供向"一个特定item所使用的QXDM数据库解析域"的接入方式.
一些自动化示例脚本文件参考如下目录:
C:\Users\Public\Documents\Qualcomm\QXDM\Automation Samples
===IQXDM(legacy QXDM com interface)===
BSTR:basic STRing ,微软在COM/OLE中定义的标准字符串数据类型.
优先级: STL string/wstring-->CString-->C/C++ basic type-->CComBSTR-->BSTR(一般也只有COM接口会用)
appversion:会返回一个BSTR类型的值(QXDM的版本号).
clearviewitems:清除所有item-views(不适用于log-view),根据执行的情况返回一个bool型变量(true/false).
COMport:用一个short类型的值来表示当前选择的端口的连接状态(0断开/1连接/-1错误情况).
copyviewitems:复制所有items输出到一个isf文件中,根据执行情况返回true/false.
closeview:关闭一个存在的qxdm的views(不适用于log-view),根据执行情况返回true/false.
createview:建立一个新的QXDM-view(不适用于log-view),根据执行情况返回true/false.
dip-switch-mask:用于设定DIP switch的设置,参数DIP switch value,type是short,无返回值.
ExportViewText:所有items输出到一个文本文件,返回一个bool型变量.
GetIQXDM2:允许获得一个指向"QXDM用户程序接口模型"的接口指针???该命令不需要参数,返回一个IDispatch接口指针???
GPSport:和COMport属性一样.
IsPhoneConnected:1(QXDM连接到一个手机)/0(其他情况).
LoadConfig:加载.DMC配置文件,无返回值.
LoadItemStore:加载.ISF文件,返回一个bool型变量.
LogMask:logmask属性用于配置对应的设备ID的特别的log-view,在log-view里会看到返回一个BSTR值.
LogMaskOff:关闭有特殊注册的log-view.
LogMaskOn:开启......
OfflineDigital:让手机处于离线数据状态,返回一个LONG型变量(0失败/1成功).
ResetPhone:重启手机,返回一个LONG型变量(0失败/1成功).
SaveConfig:保存.DMC文件,无返回值.
SendDmIcdPacket:使用下面这个.
SendDmIcdPacketEx:向连接目标发送一个DM请求/响应的包,返回一个变量(目标返回的响应).
SendScript:向QXDM发送命令并在命令行里执行,无返回值.
SetCDMAProtocolRevision:设定CDMA协议参考的修订版本,用于解析CDMA OTA log,设定值及对应的参考标准如下.
0 – IS-95A
1 – TBD
2 – TBD
3 – TBD
4 – IS-95B
5 – TBD
6 – IS-2000 Rev 0
7 – IS-2000 Rev A
8 – IS-2000 Rev B
9 – IS-2000 Rev C
10 – IS-2000 Rev C
11 – IS-2000 Rev D
0x7FFFFFFF – Automatic
SetWCDMAProtocolRevision:设定WCDMA协议参考的修订版本,用于解析WCDMA OTA log,设定值及对应的参考标准如下.
0 – 1999 (RRC 25.331 V3.5.0 – 12/00 3GPP)
1 – 6/01 (RRC 25.331 V3.7.0)
2 – 3/02 (RRC 25.331 V3.A.0)
3 – 3/04 (RRC 25.331 V3.I.0)
4 – 6/04 (RRC 25.331 V5.9.0)
5 – 12/05 (RRC 25.331 V6.8.0)
6 – 3/06 (RRC 25.331 V6.9.0)
7 – 6/06 (RRC 25.331 V6.A.0)
8 – 9/06 (RRC 25.331 V6.B.0)
0x7FFFFFFF – Automatic
SaveItemStore:保存item-view至ISF文件,无返回值.
SetLoggingOn:使用下面这个.
SetLoggingOnEx:设置log-mask去使用,并且去开启logging,无返回值.
SetLoggingOff:设置log文件名(根据提供的参数去取名),并且关闭logging,无返回值.
SetVendorDatabase:加载一个新的设备专用的数据库,用于解析相应的特殊设备的NV-items时,返回一个bool型变量.
QuitApplication:关闭程序,无返回值.
QXDMTextOut:添加一个字符串到item store,无返回值.
Visible:获取qxdm的隐藏状态,可以显示/隐藏qxdm的服务应用,返回一个bool型变量.
WaitEvent:等待目标设备发送的event,返回一个变量(在超时之前收到event,返回具体event值/否则回返"VT_EMPTY").
SetParsingOrder:设置采用的"解析源"的顺序,如下是设定值和对应的"解析源"的优先级.
0 – Prefer parsing DLLs (order set elsewhere), then default DB
1 – Prefer parsing DLLs (order set elsewhere), user DB, then default DB
2 – Prefer default DB, then last user DB
3 – Prefer last user DB, then default DB
4 – Prefer APEX/QCAT, parsing DLLs (order set elsewhere),then default DB
5 – Prefer APEX/QCAT, parsing DLLs (order set elsewhere),then user DB
6 – Prefer APEX/QCAT, default DB, then last user DB
7 – Prefer APEX/QCAT, last user DB, then default DB
ConvertDMCtoCFG:将dmc配置文件转换为cfg文件(SD logging的配置文件),返回一个bool型变量.
ConvertCFGtoDMC:上面的反过程.
===client interface(IQXDM2)===
RequestItem:允许多个传输请求以队列形式来调度,也有请求的时间(最大不超过2000ms),可以请求的次数的限制(3次?,如果次数被设置为0xFFFFFFFF,表示该请求需要被立即调度),连续请求之间的间隔(即频率,最小一般为10ms),返回request-ID或0(0表示错误情况) P122
RemoveRequest:根据request-ID取消一个存在的请求,返回一个bool型变量.
GetServerState:获得QXDM解析会话服务的状态,是一个检测连接状态的扩展功能,返回一个Ulong类型值,返回值情况如下.
0 - Target is disconnected. This is the initial state, which indicates that QXDM is not connected to a target.
1 - QXDM is about to be connected to a target, QXDM has connected to a target via QPST Server, but all up-front initialization has not yet occurred.
2 - Target has been verified, QXDM is connected to a target and has successfully completed all up-front initialization. This currently consists of querying the target for version information, supported log items, and supported message levels, etc.
3 - QXDM is about to disconnect from a target. Commands must be sent to the target to get it into a desired state. Once those commands are sent, QXDM will transition to the Disconnected state.
4 - In Playback mode, QXDM is not physically connected to a target. Rather, QXDM is operating from a file generated by a previous target connection. Async diag data is read from that file and distributed to interested parties as if connected to a live target. Note that playback can be reached only from the Disconnected state.
0xFFFFFFFF - Error
GetItemCount:获得当前qxdm Item Store的数量,返回一个Ulong型值(具体Item-Store数值/错误情况则为0)
GetItem:根据index获得一个特定的item,返回一个指向QXDM item接口模型(IColorItem)的接口指针.
RegisterClient:在qxdm上注册成为一个用户程序,成为一个满足一些指定需求的子程序,返回一个Ulong型变量(成功即返回一个唯一的用户程序ID,失败则返回0xFFFFFFFF).
RegisterQueueClient:不同于上面那个注册,这个建立于内部,只有最后N和items在任何时间点可用???能更有效的利用少量的系统资源去支持更快速的程序运行,返回一个Ulong型变量(成功即返回一个唯一的用户程序ID,失败则返回0xFFFFFFFF).
UnregisterClient:注销一个client,返回一个bool型变量.
ConfigureClientByKeys:set the items an existing client is interested in processing,返回一个指向QXDM client 配置接口模型(IClientConfig)接口指针. P125
ConfigureClientByNames:set the items an existing client is interested in processing,返回一个bool型变量.
ClearClientItems:清除一个已存在的程序的items.
GetClientItemCount:获取特定client里items的数量(所有cilent包含的items都是item-store的一个子集),返回一个Ulong值(正常返回items数量,错误返回0).
GetClientItem:获得指定client的一个特定item,返回一个指向QXDM item接口模型(IColorItem)的接口指针.
ClientRequestItem:管理调度多个通过特定的client传输的请求,类似于requestItem(区别在于有没有特定client),返回值一样.
ClientRemoveRequest:根据requestID和client撤销一个已存在的请求,返回一个bool型变量.
ClientRequestNVRead:一个读取NV-item值的请求的调度序列,对应于ClientRequestItem,返回值也是Request-ID或0.
ClientRequestNVWrite:一个写入NV-item值的请求的调度序列,对应于ClientRequestItem,返回值也是Request-ID或0.
CopyClientItems:将所有或一部分client的items输出到一个isf文件,返回一个bool型变量.
SyncToItem:根据给出的item索引去同步item的列表,返回一个bool型变量.
SyncToClientItem:根据给出的item索引去同步一个client的item列表,返回一个bool型变量.
ClientRequestNVName:还是一个请求列表(请求获得NV-item的"name"),根据给出的一个NV-item的ID去获取NV-item的路径名(???),返回值为Request-ID或0.
===Client config interface(IClientConfig)===
clearconfig:清除一个client的配置,在clear状态下,client只会接收ClientRequestItem(),ClientRequestNVRead(),和ClientRequestNVWrite()产生的items,无输入参数无返回值.
CommitConfig:确认提交应用所有config的改动,无输入参数无返回值.
AddItem:向client显示中添加新的指定类型的Item(QXDM item store包含的),无返回值,设置值对应的item类型如下.
0 – Malformed diag entity
1 – Target diag response (minus following)
2 – Target diag request (minus following)
3 – GPS information
4 – Target event
5 – Target log
6 – Target message
7 – Generic strings
8 – Target OTA log
9 – Target subsystem dispatch response
10 – Target subsystem dispatch request
AddDIAGRequest:允许发起一个"输出的diag请求伴随一个指定的diag命令代码"(都会被添加到client中去),无返回值.不同于ClientRequestItem的请求的调度序列,这里只是添加一个"有特定命令行代码对应的向外输出的diag请求"到client中去,它们有item-store来执行,实际的请求可能是由另一个qxdm子系统发起产生的.
启动Item列表配置对话窗口-->检查并从item类型表里选择一个"diag请求"-->检查在目标设备的items的有没有被注册或者被过滤掉的-->从已有的子类型列表中选择一个特定的diag请求命令代码.
AddDIAGResponse:允许发起"输入的diag响应伴随一个特定的diag命令代码"(都会被添加进client),无返回值.
流程同上.
AddSubsysRequest:允许发起外向输出的diag子系统调度请求伴随一个特定的diag子系统ID和子系统命令代码(被添加到client),无返回值.
AddSubsysResponse:和上面相似,略.
AddEvent:"一个新的输入事件情况伴随一个特定的事件ID"被添加到client中去,无返回值.
AddLog:"一个新的输入log伴随特定log代码"被都添加到client中去,无返回值.
AddMessage:"一个新的输入调试信息伴随特定子系统ID和吊事消息的等级"被都添加到client中去,无返回值.
AddString:"特定子类型的字符串item"被添加到client中去,无返回值.
0 – Informational string
1 – Warning string
2 – Error string
3 – Automation string
4 – Connection state string
AddOTALog:"一个新的输入OTAlog伴随特定log代码和消息类型key"被都添加到client中去,无返回值.
P137-138有详细的OTA log的code对应的协议描述/key.
AddOTALogByString:"一个新的输入OTAlog伴随特定log代码和消息类型key"被都添加到client中去,无返回值.
操作和上一个一样,唯一的不同在于参数key变成了pkey,消息类型key只能是"给定的范围值"中的特定的一个.
SetSubsysV2DelayedResponseOnly:配置一个client只接受延迟的子系统调度V2响应,无返回值.
===Item interface(IColorItem)===
GetItemType:获取当前color item的类型(参考additem示例中的item类型列表),返回一个Ulong值(即item类型对应的值).
GetItemTypeText:将item的类型转换为string,返回一个BSTR值.
GetItemColor:获得当前color item的color值,返回一个Ulong值,3个8-bit的值(R.G.B)打包变成一个32-bits的空间???......
GetItemTimestamp:获得当前的color item的时间戳,返回一个标准windows时间值(VT_DATE).
GetItemTimestamp2:获得当前的color item的时间戳,返回一个标准windows时间值(VT_R8/双精度浮点数).
GetItemTimestampText:和上面一样,区别是输出转换为字符串,输出一个BSTR类型的值.
GetItemSpecificTimestamp:获得当前color-item的"特定item"(由target指配的item)的时间戳,返回一个标准windows时间值(VT_DATE).
GetItemSpecificTimestamp2:和上面类比.
GetItemSpecificTimestampText:和上面类比.
GetItemBuffer:检索当前color-ietm的原始缓冲区,返回一个数组(VT_array/VT_UI1)或者空数组.(wtf:正确情况也可能出现空数组,不能正确判断情况)
GetItemDLFBuffer:获得color-item原始缓冲区,调整去对应DLF log文件格式,返回值和上面一样.
GetItemBufferText:将获得的color-item原始缓冲区转换为一个字符串,返回一个BSTR.
GetItemKeyText:将获得的item key转换为一个字符串,返回一个BSTR.
GetItemName:获得item名字,返回BSTR值.
GetItemSummary:获得item的总结???返回BSTR值.
GetItemSize:获得当前color item的size,返回一个Ulong值(item的size-字节数).
GetItemParsedText:获得item完整的解析后的文本文件,返回一个BSTR值.
GetItemFieldValue:获取item-buffer经过解析域输出后的实际值,典型的应用是去解析items...不能"通过数据库或者是一个item头文件的解压输出"被描述...返回一个变量,错误的时候返回VT_EMPTY,正确的返回情况如下,返回下列的某一个变量类型值(VT_BSTR).
类型 值 变量类型值 描述
BOOL 0 VT_BOOL Boolean (true/false)
INT8 1 VT_I1 8-bit signed value
UINT8 2 VT_UI1 8-bit unsigned value
INT16 3 VT_I2 16-bit signed value
UINT16 4 VT_UI2 16-bit unsigned value
INT32 5 VT_I4 32-bit signed value
UINT32 6 VT_UI4 32-bit unsigned value
INT64 7 VT_I8 64-bit signed value
UINT64 8 VT_UI8 64-bit unsigned value
ANSI String 9 VT_BSTR ANSI string (fixed length given by bitCount)
UNICODE String 10 VT_BSTR UNICODE string (fixed length given by bitCount)
ANSI String 11 VT_BSTR ANSI string (NULL terminated, bitCount ignored)
UNICODE String 12 VT_BSTR UNICODE string (NULL terminated, bitCount ignored)
FLOAT32 13 VT_R4 IEEE 32-bit floating point value
FLOAT64 14 VT_R8 IEEE 64-bit floating point value
GetItemFieldValueText:上一个的结果以text形式输出,返回值和上面一样.
GetItemFields:获取当前color-item的qxdm的结构数据库的情况信息,返回一个接口指针,指向qxdm数据库解析域的接口模型(IColorItemFields).
GetNamedItemFields:获取当前color-item的qxdm数据库结构的信息,返回一个接口指针,指向qxdm数据库解析域的接口模型(IColorItemFields).和上面的那个区别在于这一个需要一个输入的参数,一个diag实体名,这个名字认证并选择了当前item被解析的结构定义,如果名字为"空",那和GetItemField的操作就完全一样.根据那个实体名确定默认的的解析源???相应的采用顺序???
GetConfiguredItemFields:获取当前color-item的数据库解析后的item域,返回一个接口指针,指向qxdm数据库解析域的接口模型(IColorItemFields).主要是根据bFieldstring和bFieldnames这个参数配置来决定最后这个应用能使用的功能的情况......
===Filed interface(IColorItemFields)===
GetXML:获取数据库解析域,以xml格式展示出来,返回一个BSTR值.
GetFieldCount:获取解析域由数据库解析源更新的次数,返回一个Ulong值.
GetFieldIndex:获取第一个"根据指定域名匹配到的"域的索引,返回一个Ulong值(这个值用于展示索引---索引指向匹配特定的域名的解析域的列表---该列表的索引指示从0开始,但是不包括GetfieldCount返回的值...wtf???)(展示了"匹配到特定域名的解析域的列表"的索引,索引反过来也指向这个列表),错误情况返回值为0xFFFFFFFF.
GetFieldIndexFrom:检索"第一个匹配到特殊域名的"索引,并且根据提供的索引开始搜索过程,返回值同上.
GetFieldIndexByID:获取第一个"匹配指定的域ID的"域的索引,这个"域ID"是每一个域在被添加到DM数据库时被分配的,返回值同上.
GetFieldIndexFromByID:获取第一个"匹配指定域ID"域的索引,并且利用该域索引开始检索过程,返回值同上.
GetFieldOffset:通过给出的域索引获得域ID的位偏移量,返回一个Ulong值,错误时返回0xFFFFFFFF.
GetFieldSize:通过给出的域的索引去获取域ID的"位大小/bit-size",返回一个Ulong值,错误时返回0xFFFFFFFF.
GetFieldValue:通过给出的域索引去获得域ID的"原始值/raw",返回一个VT_变量(VT变量类型参考GetItemFieldValue中的变量类型值一栏),错误时返回VT_EMPTY.
GetFieldValueText:通过给出的域索引获取域ID的"值",并将其压缩为一个字符串输出,返回一个BSTR,即该字符串.
GetFieldName:通过给出的域索引获得域的"名字"???,返回一个BSTR值,即域的"名字".
===qxdm自动化示例===
略.
==运行时-解析DLLs==
qxdm提供API给用户让其可以自己编写自己需要的解析源.
==quiz==