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/链路服务跟踪会在发出谓词之前停止,并在复制完成后重启。 成功完成此谓词后,将重置跟踪文件。