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
보조 반환 코드; SV_NEW 또는 SV_OVERWRITE 이외의 값이 file_option 지정되었습니다.
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 시스템에서 동사를 처리하는 동안 오류가 발생했습니다. 운영 체제 반환 코드는 보조 반환 코드를 통해 반환되었습니다. 문제가 지속되면 시스템 관리자에게 문의하여 수정 작업을 수행합니다.
CSV는 일반적인 Windows PostMessage 함수 호출이 아닌 Windows SendMessage 함수 호출을 실행하는 다른 애플리케이션에서 호출한 메시지 루프에서 발급되었습니다. 동사 처리는 수행할 수 없습니다.
SendMessage가 애플리케이션을 호출할 때 CSV가 발급되었습니다. InSendMessage Windows API 함수 호출을 사용하여 애플리케이션이 SendMessage로 호출되었는지 여부를 확인할 수 있습니다.
비고
두 개의 API/link-service 추적 파일이 있습니다. 파일은 번갈아 사용됩니다. 추적은 한 파일이 꽉 찼을 때(250K보다 크면) 한 파일에서 다른 파일로 전환됩니다. COPY_TRACE_TO_FILE 호출되면 이러한 추적 파일이 연결되고 단일 파일에 복사되며, 그 이름은 호출에 대한 매개 변수로 지정됩니다.
API/link-service 추적은 동사를 발급하기 전에 중지되고 복사가 완료된 후 다시 시작됩니다. 이 동사가 성공적으로 완료되면 추적 파일이 다시 설정됩니다.