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。

  • 根据 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 调用。

注解

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