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 사용하여 dt_set 매개 변수 에 따라 APPC에 대한 추적을 사용하거나 사용하지 않도록 설정합니다.
- SV_IGNORE 사용하여 추적을 APPC의 현재 상태로 둡니다.
허용되는 값은 비트 0을 켜거나 끕니다. 비트 1~7은 예약되어 있습니다.
reserv4
예약 필드입니다.
srpi
제공된 매개 변수입니다. SRPI 추적이 필요한지 여부를 나타냅니다.
- SV_CHANGE 사용하여 dt_set 매개 변수 에 따라 APPC에 대한 추적을 사용하거나 사용하지 않도록 설정합니다.
- SV_IGNORE 사용하여 추적을 APPC의 현재 상태로 둡니다.
sdlc
예약 필드입니다.
tkn_rng_dlc
예약 필드입니다.
pcnet_dlc
예약 필드입니다.
dft
예약 필드입니다.
acdi
예약 필드입니다.
reserv5
예약 필드입니다.
comm_serv
제공된 매개 변수입니다. COMM_SERV_API 추적이 필요한지 여부를 나타냅니다.
- SV_CHANGE 사용하여 dt_set 매개 변수 에 따라 APPC에 대한 추적을 사용하거나 사용하지 않도록 설정합니다.
- SV_IGNORE 사용하여 추적을 APPC의 현재 상태로 둡니다.
엘라피 (ehllapi)
예약 필드입니다.
x25_api
예약 필드입니다.
x25_dlc
예약 필드입니다.
twinax
예약 필드입니다.
reserv6
예약 필드입니다.
lua_api
예약 필드입니다.
etherand
예약 필드입니다.
subsym
예약 필드입니다.
reserv7
예약 필드입니다.
reset_trc
제공된 매개 변수입니다. 추적 파일 포인터를 다시 설정해야 하는지 여부를 나타냅니다.
- 추적 파일 포인터를 추적 파일의 시작 부분에 다시 설정하지 않려면 SV_NO 사용합니다. 이전 추적 레코드는 덮어쓰지 않습니다.
- SV_YES 사용하여 추적 파일 포인터를 추적 파일의 시작 부분에 다시 설정합니다. 이전 추적 레코드는 덮어씁니다.
잘라내기
제공된 매개 변수입니다. 각 추적 레코드의 최대 바이트 수를 지정합니다. 초과 바이트는 잘립니다. 잘림하지 않으려면 이 값을 0으로 설정합니다.
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 PostMessage 함수 호출이 아닌 Windows SendMessage 함수 호출을 실행하는 다른 애플리케이션에서 호출한 메시지 루프에서 발급되었습니다. 동사 처리는 수행할 수 없습니다.
- SendMessage가 애플리케이션을 호출할 때 CSV가 발급되었습니다. InSendMessage Windows API 함수 호출을 사용하여 애플리케이션이 SendMessage로 호출되었는지 여부를 확인할 수 있습니다.
비고
추적을 실행하고 사용하는 방법에 대한 자세한 내용은 제품에 대한 적절한 설명서를 참조하세요.