DEFINE_TRACE谓词启用或禁用指定 API 的跟踪,并控制跟踪量。
以下结构描述了 DEFINE_TRACE 谓词使用的谓词控制块(VCB)。
语法
struct define_trace {
unsigned short opcode;
unsigned char opext;
unsigned char reserv2;
unsigned short primary_rc;
unsigned long secondary_rc;
unsigned char reserv3[8];
unsigned char dt_set;
unsigned char appc;
unsigned char reserv4;
unsigned char srpi;
unsigned char sdlc;
unsigned char tkn_rng_dlc;
unsigned char pcnet_dlc;
unsigned char dft;
unsigned char acdi;
unsigned char reserv5;
unsigned char ehllapi;
unsigned char x25_api;
unsigned char x25_dlc;
unsigned char twinax;
unsigned char reserv6;
unsigned char lua_api;
unsigned char etherand;
unsigned char subsym;
unsigned char reserv7[8];
unsigned char reset_trc;
unsigned short trunc;
unsigned short strg_size;
unsigned char reserv8;
unsigned char phys_link[8];
unsigned char reserv9[56];
};
成员
opcode
提供的参数。 标识作代码的谓词,SV_DEFINE_TRACE。
opext
保留字段。
reserv2
保留字段。
primary_rc
返回的参数。 指定 APPC 在谓词完成时设置的主要返回代码。 有效的返回代码因发布的 APPC 谓词而异。 有关此谓词的有效错误代码,请参阅返回代码。
secondary_rc
返回的参数。 指定 APPC 在谓词完成时设置的辅助返回代码。 有效的返回代码因发布的 APPC 谓词而异。 有关此谓词的有效错误代码,请参阅返回代码。
reserv3
保留字段。
dt_set
提供的参数。 设置跟踪状态。
- 如果 API(如 appc 或 comm_serv)的参数设置为SV_CHANGE,请使用 SV_ON启用特定 API 的跟踪。
- 如果将与 API 相关的参数设置为SV_CHANGE,请使用SV_OFF禁用特定 API 的跟踪。
appc
提供的参数。 指示是否需要跟踪 APPC。
- 根据 dt_set 参数,使用SV_CHANGE启用或禁用 APPC 跟踪。
- 使用SV_IGNORE将跟踪保留为 APPC 的当前状态。
允许的值打开或关闭位 0;保留位 1 到 7。
reserv4
保留字段。
srpi
提供的参数。 指示是否需要跟踪 SRPI。
- 根据 dt_set 参数,使用SV_CHANGE启用或禁用 APPC 跟踪。
- 使用SV_IGNORE将跟踪保留为 APPC 的当前状态。
sdlc
保留字段。
tkn_rng_dlc
保留字段。
pcnet_dlc
保留字段。
dft
保留字段。
acdi
保留字段。
reserv5
保留字段。
comm_serv
提供的参数。 指示是否需要跟踪COMM_SERV_API。
- 根据 dt_set 参数,使用SV_CHANGE启用或禁用 APPC 跟踪。
- 使用SV_IGNORE将跟踪保留为 APPC 的当前状态。
ehllapi
保留字段。
x25_api
保留字段。
x25_dlc
保留字段。
twinax
保留字段。
reserv6
保留字段。
lua_api
保留字段。
etherand
保留字段。
subsym
保留字段。
reserv7
保留字段。
reset_trc
提供的参数。 指示是否应重置跟踪文件指针。
- 使用SV_NO不重置指向跟踪文件的开头的跟踪文件指针。 不会覆盖以前的跟踪记录。
- 使用SV_YES将跟踪文件指针重置为跟踪文件的开头。 覆盖以前的跟踪记录。
trunc
提供的参数。 指定每个跟踪记录的最大字节数。 将截断多余的字节。 如果不希望截断,请将此值设置为零。
strg_size
保留字段。
reserv8
保留字段。
phys_link
保留字段。
reserv9
保留字段。
返回代码
SV_OK
主要返回代码;已成功执行谓词。
SV_PARAMETER_CHECK
主要返回代码;由于参数错误,谓词未执行。
SV_INVALID_RESET_TRACE
辅助返回代码; reset_trc 参数包含无效值。
SV_INVALID_SET
辅助返回代码; dt_set 参数包含无效值。
SV_STATE_CHECK
主要返回代码;该谓词未执行,因为它以无效状态发出。
SV_COPY_TRACE_IN_PROGRESS
辅助返回代码;以前发布的 COPY_TRACE_TO_FILE 仍在进行中。 使用 DEFINE_TRACE时,跟踪不能处于活动状态。
SV_COMM_SUBSYSTEM_NOT_LOADED
主要返回代码;处理谓词时,无法加载或终止所需的组件。 因此,无法进行通信。 请联系系统管理员以采取纠正措施。
SV_INVALID_VERB
主要返回代码; opcode 参数与任何谓词的作代码不匹配。 未执行谓词。
SV_INVALID_VERB_SEGMENT
主要返回代码;VCB 超出了数据段的末尾。
SV_UNEXPECTED_DOS_ERROR
主要返回代码;出现以下情况之一:
- Microsoft® Windows® 系统处理谓词时遇到错误。 作系统返回代码是通过辅助返回代码返回的。 如果问题仍然存在,请联系系统管理员以采取纠正措施。
- CSV 是从发出 Windows SendMessage 函数调用的另一个应用程序调用的消息循环发出的,而不是较常见的 Windows PostMessage 函数调用。 无法进行谓词处理。
- SendMessage 调用应用程序时发出了 CSV。 可以使用 InSendMessage Windows API 函数调用来确定应用程序是否已使用 SendMessage 调用。
注解
有关如何运行和使用跟踪的信息,请参阅产品的相应手册。