COPY_TRACE_TO_FILE

COPY_TRACE_TO_FILE 谓词连接各个 API/链路服务跟踪文件以构成单个文件。

以下结构描述了 COPY_TRACE_TO_FILE 谓词使用的谓词控制块 (VCB)。

语法


struct copy_trace_to_file {  
    unsigned short       opcode;  
    unsigned char        opext;  
    unsigned char        reserv2;  
    unsigned short       primary_rc;  
    unsigned long        secondary_rc;  
    unsigned char        reserv3[8];  
    unsigned char        file_name[64];  
    unsigned char        file_option;  
    unsigned char        reserv4[12];  
};   

成员

opcode
提供的参数。 该谓词标识操作代码 SV_COPY_TRACE_TO_FILE。

opext
一个保留字段。

reserv2
一个保留字段。

primary_rc
返回的参数。 指定在谓词完成时由 APPC 设置的主要返回代码。 有效的返回代码因发出的 APPC 谓词而异。 有关此谓词的有效错误代码,请参阅“返回代码”。

secondary_rc
返回的参数。 指定在谓词完成时由 APPC 设置的次要返回代码。 有效的返回代码因发出的 APPC 谓词而异。 有关此谓词的有效错误代码,请参阅“返回代码”。

reserv3
一个保留字段。

file_name
提供的参数。 指定跟踪数据要复制到的文件的名称。 此参数是一个 64 字节字符串,可以包含路径。 如果名称短于 64 个字节,请在其右侧填充空格。

file_option
提供的参数。 指定输出文件复制选项:

  • 仅当指定的文件尚不存在时,才使用 SV_NEW 复制跟踪。

  • 使用 SV_OVERWRITE 可将跟踪复制到现有文件,并覆盖当前数据。 文件的大小将根据需要增大;如果该文件尚不存在,则创建该文件。

reserv4
提供的数据所在的地址。

返回代码

SV_OK
主要返回代码;谓词已成功执行。

SV_PARAMETER_CHECK
主要返回代码;由于参数错误,谓词未执行。

SV_INVALID_FILE_OPTION
次要返回代码;为 file_option 指定了除 SV_NEW 或 SV_OVERWRITE 以外的值。

SV_STATE_CHECK
主要返回代码;谓词未执行,因为它是在无效状态下发出的。

SV_COPY_TRACE_IN_PROGRESS
次要返回代码;先前发出的 COPY_TRACE_TO_FILE 谓词仍在执行中。

SV_TRACE_FILE_EMPTY
次要返回代码;跟踪文件中没有数据。

SV_TRACE_NOT_STOPPED
次要返回代码;发出谓词时某个跟踪正在进行。

SV_COMM_SUBSYSTEM_NOT_LOADED
主要返回代码;处理谓词时无法加载或终止某个必需的组件。 因此无法通信。 请联系系统管理员以执行纠正措施。

SV_FILE_ALREADY_EXISTS
主要返回代码;使用 SV_NEW 文件选项时,指定的文件名是现有文件的名称。

SV_INVALID_VERB
主要返回代码;opcode 参数与任何谓词的操作代码都不匹配。 未执行任何谓词。

SV_INVALID_VERB_SEGMENT
主要返回代码;VCB 超出了数据段的末尾。

SV_OUTPUT_DEVICE_FULL
主要返回代码;输出文件所在设备上的空间不足。 请在释放更多磁盘空间后重试该操作。

SV_UNEXPECTED_DOS_ERROR
主要返回代码;发生了以下状况之一:

  • Microsoft Windows 系统在处理谓词时遇到错误。 已通过次要返回代码返回了操作系统返回代码。 如果该问题持续出现,请联系系统管理员执行纠正措施。

  • 从另一个应用程序(其中发出的是 Windows SendMessage 函数调用,而不是更常见的 Windows PostMessage 函数调用)调用的消息循环发出了 CSV 。 无法处理谓词。

  • 当 SendMessage 调用你的应用程序时发出了 CSV。 可以使用 InSendMessage Windows API 函数调用来确定应用程序是否是通过 SendMessage 调用的 。

备注

有两个 API/链路服务跟踪文件。 这两个文件可以交替使用;当其中一个文件已满(大于 250K)时,跟踪将从该文件切换到另一个文件。 调用 COPY_TRACE_TO_FILE 时,这些跟踪文件将连接到一起并复制到单个文件中,该文件的名称指定为此调用的参数。

API/链路服务跟踪会在发出谓词之前停止,并在复制完成后重启。 成功完成此谓词后,将重置跟踪文件。