Set_Deallocate_Type(CPI-C)
Set_Deallocate_Type 호출(함수 이름 cmsdt)은 대화의 할당을 취소하는 방법을 지정합니다.
구문
CM_ENTRY Set_Deallocate_Type(
unsigned char FAR *conversation_ID,
CM_INT32 FAR *deallocate_type,
CM_INT32 FAR *return_code
);
매개 변수
conversation_ID
제공된 매개 변수입니다. 대화의 식별자를 지정합니다. 이 매개 변수의 값은 Initialize_Conversation 또는 Accept_Conversation 반환되었습니다.
deallocate_type
제공된 매개 변수입니다. 할당 취소를 수행하는 방법을 지정합니다. 가능한 값은 다음과 같습니다.
CM_DEALLOCATE_ABEND
대화가 비정상적으로 무조건 할당 취소됨을 나타냅니다. 프로그램에서 트랜잭션이 성공적으로 완료되지 않도록 하는 오류가 발생할 때 CM_DEALLOCATE_ABEND 지정해야 합니다.
대화가 SEND 상태인 경우 CPI-C는 대화를 할당 취소하기 전에 LU(로컬 논리 단위)의 송신 버퍼 콘텐츠를 파트너 프로그램에 보냅니다. 대화가 RECEIVE 상태이면 들어오는 데이터를 제거할 수 있습니다. SEND 상태의 기본 대화의 경우 논리적 레코드 잘림이 발생할 수 있습니다.
CM_DEALLOCATE_CONFIRM
파트너 프로그램에 로컬 RU 송신 버퍼의 내용과 할당 취소를 확인하는 요청을 보내는 데 사용됩니다.
이 할당 취소 확인 요청은 할당 취소 또는 보내기 유형이 CM_SEND_AND_DEALLOCATE 설정된 Send_Data 통해 전송됩니다. 파트너 프로그램이 확인 요청에 응답하여 Confirmed를 발급하면 대화의 할당이 정상적으로 취소됩니다.
CM_DEALLOCATE_FLUSH
대화를 정상적으로 할당 취소하기 전에 로컬 RU의 콘텐츠를 파트너 프로그램에 보내는 버퍼를 보내는 데 사용됩니다.
CM_DEALLOCATE_SYNC_LEVEL
대화 동기화 수준을 사용하여 대화의 할당을 취소하는 방법을 결정합니다. 기본 동기화 수준은 Initialize_Conversation 설정되며 Set_Sync_Level 재정의할 수 있습니다.
대화의 동기화 수준이 기본값인 CM_NONE 경우 로컬 RU 보내기 버퍼의 콘텐츠가 파트너 프로그램으로 전송되고 대화의 할당이 정상적으로 취소됩니다.
대화의 동기화 수준이 CM_CONFIRM 경우 로컬 RU의 콘텐츠는 버퍼를 보내고 할당 취소를 확인하는 요청은 파트너 프로그램으로 전송됩니다. 이 할당 취소 확인 요청은 할당 취소 또는 보내기 유형이 CM_SEND_AND_DEALLOCATE 설정된 Send_Data 통해 전송됩니다. 파트너 프로그램이 확인 요청에 응답하여 확인된 호출을 발급하면 대화의 할당이 정상적으로 취소됩니다.
return_code
이 호출에서 반환된 코드입니다. 유효한 반환 코드는 이 항목의 뒷부분에 나와 있습니다.
반환 코드
CM_OK
기본 반환 코드; 호출이 성공적으로 실행되었습니다.
CM_PROGRAM_PARAMETER_CHECK
기본 반환 코드; 다음 중 하나가 발생했습니다.
conversation_ID 또는 deallocate_type 지정한 값이 잘못되었습니다.
deallocate_type 매개 변수는 CM_DEALLOCATE_CONFIRM 지정하지만 대화 동기화 수준은 CM_NONE.
변수의 주소가 잘못되었습니다.
CM_PRODUCT_SPECIFIC_ERROR
기본 반환 코드; 제품별 오류가 발생하여 제품 오류 로그에 기록되었습니다.
상태 변경
대화는 RESET을 제외한 모든 상태에 있을 수 있습니다.
상태 변경은 없습니다.
설명
이 호출은 Initialize_Conversation 또는Accept_Conversation 설정된 기본 할당 취소 형식을 재정의합니다. 기본 할당 취소 형식은 CM_DEALLOCATE_SYNC_LEVEL.
이 호출에서 지정한 할당 취소 지침은 할당 취소 가 실행되거나 보내기 유형이 CM_SEND_AND_DEALLOCATE 설정되고 Send_Data 발급될 때 적용됩니다.
대화의 동기화 수준이 CM_NONE 또는 CM_CONFIRM 설정된 경우 deallocate_type CM_FLUSH 설정할 수 있습니다.
CM_DEALLOCATE_FLUSH 값은 대화 동기화 수준이 CM_NONE 설정된 CM_DEALLOCATE_SYNC_LEVEL 기능적으로 동일합니다.
CM_DEALLOCATE_CONFIRM 값은 대화 동기화 수준이 CM_CONFIRM 설정된 CM_DEALLOCATE_SYNC_LEVEL 기능적으로 동일합니다.