DEFINE_TRACE

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。

  • 使用 SV_CHANGE 可为 APPC 启用或禁用跟踪,具体取决于 dt_set 参数。
  • 使用 SV_IGNORE 可将 APPC 跟踪保持其当前状态。

允许的值会打开或关闭第 0 位;第 1 到 7 位是保留位。

reserv4
一个保留字段。

srpi
提供的参数。 指示是否需要跟踪 SRPI。

  • 使用 SV_CHANGE 可为 APPC 启用或禁用跟踪,具体取决于 dt_set 参数。
  • 使用 SV_IGNORE 可将 APPC 跟踪保持其当前状态。

sdlc
一个保留字段。

tkn_rng_dlc
一个保留字段。

pcnet_dlc
一个保留字段。

dft
一个保留字段。

acdi
一个保留字段。

reserv5
一个保留字段。

comm_serv
提供的参数。 指示是否需要跟踪 COMM_SERV_API。

  • 使用 SV_CHANGE 可为 APPC 启用或禁用跟踪,具体取决于 dt_set 参数。
  • 使用 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® 系统在处理谓词时遇到错误。 已通过次要返回代码返回了操作系统返回代码。 如果该问题持续出现,请联系系统管理员执行纠正措施。
  • 从另一个应用程序(其中发出的是 Windows SendMessage 函数调用,而不是更常见的 Windows PostMessage 函数调用)调用的消息循环发出了 CSV 。 无法处理谓词。
  • 当 SendMessage 调用你的应用程序时发出了 CSV。 可以使用 InSendMessage Windows API 函数调用来确定应用程序是否是通过 SendMessage 调用的 。

备注

有关如何运行和使用跟踪的信息,请参阅相应的产品手册。