다음을 통해 공유


ACTIVATE_SESSION

ACTIVATE_SESSION 동사는 지정된 모드를 사용하여 로컬 LU(논리 단위)와 지정된 파트너 LU 간의 세션을 활성화하도록 Microsoft® Host Integration Server에 요청합니다. 이 동사는 지정된 세션이 활성화되었거나 실패한 경우 완료됩니다.

다음 구조에서는 ACTIVATE_SESSION 동사에서 사용하는 동사 제어 블록에 대해 설명합니다.

문법

  
typedef struct activate_session {  
    unsigned short  opcode;  
    unsigned char   reserv2[2];  
    unsigned short  primary_rc;  
    unsigned long   secondary_rc;  
    unsigned char   reserv3[8];  
    unsigned char   lu_alias[8];  
    unsigned char   plu_alias[8];  
    unsigned char   mode_name[8];  
    unsigned char   fqplu_name[17];  
    unsigned char   polarity;  
    unsigned char   session_id[8];  
    unsigned long   conv_group_id;  
    unsigned char   reserv4[1];  
    unsigned char   type;  
    HANDLE          deactivation_event;  
    unsigned short* p_deactivation_status;  
    unsigned char   reserv5[10];  
} ACTIVATE_SESSION;   

구성원

opcode
제공된 매개 변수입니다. 동사 작업 코드 AP_ACTIVATE_SESSION 지정합니다.

reserv2
예약 필드입니다.

primary_rc
반환된 매개 변수입니다. 동사가 완료될 때 APPC에서 설정한 기본 반환 코드를 지정합니다. 유효한 반환 코드는 발급된 APPC 동사에 따라 달라집니다. 이 동사에 대한 유효한 오류 코드는 반환 코드를 참조하세요.

secondary_rc
반환된 매개 변수입니다. 동사가 완료될 때 APPC에서 설정한 보조 반환 코드를 지정합니다. 유효한 반환 코드는 발급된 APPC 동사에 따라 달라집니다. 이 동사에 대한 유효한 오류 코드는 반환 코드를 참조하세요.

reserv3
예약 필드입니다.

lu_alias
제공된 매개 변수입니다. LU에 로컬로 사용되는 8 바이트 ASCII 이름을 제공합니다. 기본 로컬 LU를 사용하는 경우 이 매개 변수를 공백으로 채웁니다.

plu_alias
제공된 매개 변수입니다. 파트너 LU에 로컬로 사용되는 8 바이트 ASCII 이름을 제공합니다. 기본 원격 LU를 사용하는 경우 이 매개 변수를 공백으로 채웁니다. 파트너 LU를 fqplu_name 매개 변수로 지정하려면 이 매개 변수를 이진 0으로 채웁니다.

mode_name
제공된 매개 변수입니다. EBCDIC(형식 A) 모드 이름을 지정합니다.

fqplu_name
제공된 매개 변수입니다. 로컬 노드에 plu_alias 이름이 정의되지 않고 파트너 LU가 다른 노드에 있는 경우 EBCDIC(형식 A)에서 파트너 LU 이름을 제공합니다. plu_alias 지정하면 이 매개 변수가 무시됩니다.

극성
제공된 매개 변수입니다. 세션의 극성을 지정합니다. 가능한 값은 다음과 같습니다.

AP_POL_EITHER
AP_POL_EITHER 설정되면 ACTIVATE_SESSION 사용 가능한 경우 첫 번째 발표자 세션을 활성화합니다. 그렇지 않으면 입찰자 세션이 활성화됩니다.

AP_POL_FIRST_SPEAKER
AP_POL_FIRST_SPEAKER 설정되면 요청된 극성의 세션을 사용할 수 있는 경우에만 ACTIVATE_SESSION 성공합니다.

AP_POL_BIDDER
AP_POL_BIDDER 설정되면 요청된 극성의 세션을 사용할 수 있는 경우에만 ACTIVATE_SESSION 성공합니다.

세션_아이디
반환된 매개 변수입니다. 활성화 세션의 8 바이트 식별자를 제공합니다.

conv_group_id
반환된 매개 변수입니다. 대화 그룹 식별자를 제공합니다. 이 매개 변수는 ALLOCATEMC_ALLOCATE 동사에 지정하여 이 특정 세션에서 대화를 시작할 수 있습니다.

reserv4
예약 필드입니다.

유형
제공된 매개 변수입니다. 활성화 유형을 지정합니다. 가능한 값은 다음과 같습니다.

AP_ACT_ACTIVE
AP_ACT_ACTIVE 지정한 경우 Host Integration Server는 BIND 또는 INIT-SELF전송하여 필요한 세션을 시작하려고 시도합니다.

AP_ACT_PASSIVE
AP_ACT_PASSIVE 지정한 경우 Host Integration Server는 세션을 시작하려고 시도하지 않으며 파트너가 세션을 시작하면 동사가 완료됩니다.

deactivation_event
제공된 매개 변수입니다. 세션이 비활성화될 때 APPC가 신호를 보낼 이벤트 핸들을 제공합니다. 이벤트 핸들은 CreateEvent 또는 OpenEvent Win32® 함수를 호출하여 가져와야 합니다.

p_deactivation_status
반환된 매개 변수입니다. 비활성화 이벤트가 완료 상태를 제공하라는 신호를 보낼 때 설정된 값에 대한 포인터입니다. 다음 값을 반환할 수 있습니다.

AP_SESSION_DEACTIVATED
AP_COMM_SUBSYSTEM_ABENDED
reserv5
예약 필드입니다.

반환 코드

AP_OK
기본 반환 코드; 동사가 성공적으로 실행되었습니다. 보조 반환 코드는 설정된 세션의 극성을 나타냅니다. 다음 값을 반환할 수 있습니다.

AP_POL_FIRST_SPEAKER
AP_POL_BIDDER
AP_PARAMETER_CHECK
기본 반환 코드; 매개 변수 오류로 인해 동사가 실행되지 않았습니다.

AP_INVALID_LU_ALIAS
보조 반환 코드; APPC는 정의된 lu_alias 찾을 수 없습니다.

AP_INVALID_PLU_ALIAS
보조 반환 코드; APPC에서 지정된 plu_alias 인식하지 못했습니다.

AP_INVALID_MODE_NAME
보조 반환 코드; APPC에서 지정된 mode_name 인식하지 못했습니다.

AP_INVALID_FQPLU_NAME
보조 반환 코드; APPC에서 지정된 fqplu_name 인식하지 못했습니다.

AP_INVALID_POLARITY
보조 반환 코드; APPC에서 지정된 극성을 인식하지 못했습니다.

AP_INVALID_TYPE
보조 반환 코드; APPC에서 지정된 형식을 인식하지 못했습니다.

AP_ACTIVATION_FAIL_NO_RETRY
기본 반환 코드; 작업이 필요한 조건(예: 구성 불일치 또는 세션 프로토콜 오류)으로 인해 세션을 활성화할 수 없습니다.

AP_ACTIVATION_FAIL_RETRY
기본 반환 코드; 일시적인 조건(예: 링크 오류)으로 인해 세션을 활성화할 수 없습니다.

AP_SESSION_LIMITS_EXCEEDED
기본 반환 코드; 세션 제한이 초과되었으므로 세션을 활성화할 수 없습니다.

AP_SESSION_LIMITS_CLOSED
기본 반환 코드; 세션 제한이 닫혔기 때문에(즉, 0) 세션을 활성화할 수 없습니다.

AP_COMM_SUBSYSTEM_ABENDED
기본 반환 코드; 는 다음 조건 중 하나가 발생했음을 나타냅니다.

이 대화에 사용된 노드에 ABEND가 발견되었습니다.

TP와 PU 2.1 노드 간의 연결이 끊어졌습니다(로컬 영역 네트워크 오류가 발생했습니다).

TP 컴퓨터의 SnaBase에서 ABEND가 발견되었습니다.

시스템 관리자는 오류 로그를 검사하여 ABEND의 이유를 확인해야 합니다.

AP_COMM_SUBSYSTEM_NOT_LOADED
기본 반환 코드; 동사를 처리하는 동안 필요한 구성 요소를 로드하거나 종료할 수 없습니다. 따라서 통신을 할 수 없습니다. 정정 작업은 시스템 관리자에게 문의하세요.

AP_STACK_TOO_SMALL
기본 반환 코드; 애플리케이션의 스택 크기가 너무 작아서 동사를 실행할 수 없습니다. 애플리케이션의 스택 크기를 늘입니다.

AP_THREAD_BLOCKING
기본 반환 코드; 호출 스레드가 이미 차단 호출에 있습니다.

비고

이 동사는 활성 및 수동 활성화를 모두 지원합니다.

이 동사의 활성 형식으로 인해 Host Integration Server가 세션을 시작하려고 합니다(독립 RU에 대한 BIND 또는 종속 RU에 대한 INIT-SELF 전송). 이 동사의 활성 형식은 다음과 같은 동작도 발생합니다.

  • 파트너 LU에 대한 연결이 비활성 상태이고 주문형으로 구성된 경우 노드는 연결을 시작하려고 시도합니다.

  • 동적 파트너 관계를 사용하는 경우 노드는 LU-LU/MODE 파트너 관계를 설정합니다.

  • CNOS가 실행되지 않은 경우 노드는 CNOS를 시작하지만 세션 제한은 변경하지 않습니다.

    수동 양식은 세션을 시작하려고 시도하지 않지만 파트너 LU의 BIND에 의해 LU가 시작되면 완료됩니다. 독립 RU의 경우 동일한 LU-LU/MODE에 대해 여러 수동 ACTIVATE_SESSION 동사를 대기하고 새 세션이 시작될 때 차례로 완료할 수 있습니다.

    이 동사에는 DEACTIVATE_SESSION 동사가 아닌 다른 메서드에 의해 세션이 비활성화될 때 게시되는 비활성화 이벤트도 포함됩니다(예: 파트너 LU의 원치 않는 UNBIND로 인해 이 이벤트가 게시됨).