SLI_CLOSE
SLI_CLOSE 동사는 SLI_OPEN 열린 세션을 종료합니다. LU-LU 및 LU-SSCP 리소스가 릴리스됩니다.
다음 구조체는 SLI_CLOSE 사용하는 VCB(동사 제어 블록)의 LUA_COMMON 멤버에 대해 설명합니다.
구문
struct LUA_COMMON {
unsigned short lua_verb;
unsigned short lua_verb_length;
unsigned short lua_prim_rc;
unsigned long lua_sec_rc;
unsigned short lua_opcode;
unsigned long lua_correlator;
unsigned char lua_luname[8];
unsigned short lua_extension_list_offset;
unsigned short lua_cobol_offset;
unsigned long lua_sid;
unsigned short lua_max_length;
unsigned short lua_data_length;
char FAR * lua_data_ptr;
unsigned long lua_post_handle;
struct LUA_TH lua_th;
struct LUA_RH lua_rh;
struct LUA_FLAG1 lua_flag1;
unsigned char lua_message_type;
struct LUA_FLAG2 lua_flag2;
unsigned char lua_resv56[7];
unsigned char lua_encr_decr_option;
};
멤버
lua_verb
제공된 매개 변수입니다. SLI(세션 수준 인터페이스) 동사에 대한 LUA_VERB_SLI 동사 코드를 포함합니다.
lua_verb_length
제공된 매개 변수입니다. LUA(논리 단위 애플리케이션) VCB의 길이(바이트)를 지정합니다. 발급되는 동사 레코드의 길이를 포함해야 합니다.
lua_prim_rc
동사가 완료될 때 LUA에서 설정한 기본 반환 코드입니다. 유효한 반환 코드는 발급된 LUA 동사에 따라 달라집니다.
lua_sec_rc
동사가 완료될 때 LUA에서 설정한 보조 반환 코드입니다. 유효한 반환 코드는 발급된 LUA 동사에 따라 달라집니다.
lua_opcode
제공된 매개 변수입니다. LUA_OPCODE_SLI_CLOSE 발급할 동사에 대한 LUA 명령 코드(동사 작업 코드)를 포함합니다.
lua_correlator
제공된 매개 변수입니다. 동사를 다른 사용자가 제공한 정보와 연결하는 사용자가 제공한 값을 포함합니다. LUA는 이 정보를 사용하거나 변경하지 않습니다. 이 매개 변수는 선택적 요소입니다.
lua_luname
제공된 매개 변수입니다. Windows LUA 세션에서 사용하는 로컬 LU의 ASCII 이름을 지정합니다.
SLI_CLOSE lua_sid 0인 경우에만 이 매개 변수가 필요합니다.
이 매개 변수는 8바이트 길이로, 이름이 8자보다 짧은 경우 오른쪽에 공백(0x20)이 채워집니다.
lua_extension_list_offset
SLI_CLOSE 사용되지 않으며 0으로 설정해야 합니다.
lua_cobol_offset
Microsoft® Host Integration Server의 LUA에서 사용되지 않으며 0이어야 합니다.
lua_sid
제공된 매개 변수입니다. 세션 식별자를 지정하고 SLI_OPEN 및 RUI_INIT 반환합니다. 다른 동사는 이 매개 변수를 사용하여 명령에 사용되는 세션을 식별합니다. 다른 동사에서 lua_luname 매개 변수를 사용하여 세션을 식별하는 경우 lua_sid 매개 변수를 0으로 설정합니다.
lua_max_length
SLI_CLOSE 사용되지 않으며 0으로 설정해야 합니다.
lua_data_length
SLI_CLOSE 사용되지 않으며 0으로 설정해야 합니다.
lua_data_ptr
SLI_CLOSE 사용되지 않으며 0으로 설정해야 합니다.
lua_post_handle
제공된 매개 변수입니다. 이벤트에 의해 비동기 알림을 수행할 경우 Microsoft Windows Server에서 사용됩니다. 이 변수에는 신호를 받을 이벤트의 핸들 또는 창 핸들이 포함됩니다.
lua_th
SLI_CLOSE 사용되지 않으며 0으로 설정해야 합니다.
lua_rh
SLI_CLOSE 사용되지 않으며 0으로 설정해야 합니다.
lua_flag1
제공된 매개 변수입니다. 애플리케이션에서 제공하는 메시지에 대한 플래그를 포함하는 데이터 구조를 포함합니다. 하위 매개 변수는 다음과 같습니다.
lua_flag1.bid_enable
입찰 사용 표시기( 1비트).
lua_flag1.close_abend
즉시 표시기를 닫습니다( 1비트). SLI_CLOSE 세션을 즉시 닫을지(ON) 또는 정상적으로 닫을지(OFF) 여부를 지정하는 데 사용되는 제공된 매개 변수입니다. SLI_CLOSE 이외의 동사의 경우 이 플래그는 꺼져 있어야 합니다.
lua_flag1.nowait
데이터 플래그가 1비트일 때까지 기다리지 않습니다.
lua_flag1.sscp_exp
SSCP(시스템 서비스 제어 지점)의 신속한 흐름(1비트)입니다.
lua_flag1.sscp_norm
SSCP 일반 흐름( 1비트)
lua_flag1.lu_exp
LU 신속한 흐름, 1비트.
lua_flag1.lu_norm
LU 일반 흐름, 1비트.
lua_message_type
SLI_CLOSE 사용되지 않으며 0으로 설정해야 합니다.
lua_flag2
반환된 매개 변수입니다. LUA에서 반환된 메시지에 대한 플래그를 포함합니다.
lua_flag2.async
1로 설정된 경우 LUA 인터페이스 동사가 비동기적으로 완료되었음을 나타냅니다.
lua_resv56
예약된 및 는 0으로 설정해야 합니다.
lua_encr_decr_option
SLI_CLOSE 사용되지 않으며 0으로 설정해야 합니다.
반환 코드
LUA_OK
기본 반환 코드입니다. 동사가 성공적으로 실행되었습니다.
LUA_SEC_OK
보조 반환 코드; LUA_OK 대한 추가 정보가 없습니다.
LUA_PARAMETER_CHECK
기본 반환 코드입니다. 매개 변수 오류로 인해 동사가 실행되지 않았습니다.
LUA_INVALID_LUNAME
보조 반환 코드; 잘못된 lua_luname 지정되었습니다.
LUA_BAD_SESSION_ID
보조 반환 코드; lua_sid 잘못된 값이 VCB에 지정되었습니다.
LUA_RESERVED_FIELD_NOT_ZERO
보조 반환 코드; 방금 발급된 동사에 대한 예약 매개 변수가 0으로 설정되지 않았습니다.
LUA_INVALID_POST_HANDLE
보조 반환 코드; 이벤트를 비동기 게시 방법으로 사용하는 Microsoft Windows 운영 체제의 경우 Windows LUA VCB에는 유효한 이벤트 핸들이 포함되어 있지 않습니다.
LUA_VERB_LENGTH_INVALID
보조 반환 코드; LUA에 의해 예기치 않은 lua_verb_length 값과 함께 LUA 동사가 발급되었습니다.
LUA_STATE_CHECK
기본 반환 코드입니다. 동사가 잘못된 상태에서 발행되었으므로 실행되지 않았습니다.
LUA_NO_SLI_SESSION
보조 반환 코드; 명령이 실행되었을 때 SLI_CLOSE 또는 세션 오류로 인해 세션이 열리지 않았거나 중단되었습니다.
LUA_CLOSE_PENDING
보조 반환 코드; 다음 중 하나가 발생했습니다.
다른 CLOSE_ABEND 발급되었을 때 CLOSE_ABEND 여전히 보류 중입니다. CLOSE_NORMAL 보류 중인 경우 CLOSE_ABEND 발급할 수 있습니다.
CLOSE_NORMAL 발급되었을 때 CLOSE_ABEND 또는 CLOSE_NORMAL 여전히 보류 중입니다.
LUA_SESSION_FAILURE
기본 반환 코드; 보조 반환 코드에 지정된 오류 조건으로 인해 세션이 실패했습니다.LUA_NOT_ACTIVE
보조 반환 코드; LUA 동사가 발급되었을 때 LUA가 Microsoft Host Integration Server 내에서 활성화되지 않았습니다.
LUA_UNEXPECTED_SNA_SEQUENCE
보조 반환 코드; SLI_OPEN 처리하는 동안 호스트에서 예기치 않은 데이터 또는 명령을 수신했습니다.
LUA_NEGATIVE_RSP_CHASE
보조 반환 코드; SLI_CLOSE 처리되는 동안 호스트의 SNA CHASE 명령에 대한 부정적인 응답이 LUA 인터페이스에 의해 수신되었습니다. SLI_CLOSE 세션을 중지하는 처리를 계속했습니다.
LUA_NEGATIVE_RSP_SHUTC
보조 반환 코드; SLI_CLOSE 여전히 처리되는 동안 호스트의 SNA SHUTC 명령에 대한 부정적인 응답이 SLI에 의해 수신되었습니다. SLI_CLOSE 세션을 중지하는 처리를 계속했습니다.
LUA_NEGATIVE_RSP_SHUTD
보조 반환 코드; SLI_CLOSE 처리 되는 동안 호스트 에서 SNA RSHUTD 명령에 대한 부정적인 응답을 LUA 인터페이스에서 수신했습니다. SLI_CLOSE 세션을 중지하는 처리를 계속했습니다.
LUA_RECEIVED_UNBIND
보조 반환 코드; PLU(기본 논리 단위)는 세션이 활성 상태일 때 SNA UNBIND 명령을 LUA 인터페이스로 보냈습니다. 결과적으로 세션이 중지되었습니다.
LUA_NO_RUI_SESSION
보조 반환 코드; 발급된 LUA 동사에 대해 세션이 초기화되지 않거나 세션이 초기화되기 전에 SLI_OPEN 이외의 일부 동사가 실행되었습니다.
LUA_LU_COMPONENT_DISCONNECTED
보조 반환 코드; LU 구성 요소가 제대로 연결되지 않았기 때문에 LU 구성 요소를 사용할 수 없습니다. 전원이 켜지는지 확인합니다.
LUA_IN_PROGRESS
기본 반환 코드; 비동기 명령이 수신되었지만 완료되지 않았습니다.LUA_COMM_SUBSYSTEM_ABENDED
기본 반환 코드입니다. 다음 조건 중 하나를 나타냅니다.이 대화에서 사용하는 노드에 ABEND가 발생했습니다.
TP(트랜잭션 프로그램)와 PU(물리적 단위) 2.1 노드 간의 연결이 끊어졌습니다(LAN 오류).
TP 컴퓨터의 SnaBase에서 ABEND가 발견되었습니다.
LUA_COMM_SUBSYSTEM_NOT_LOADED
기본 반환 코드입니다. 동사를 처리하는 동안 필수 구성 요소를 로드하거나 종료할 수 없습니다. 따라서 통신을 수행할 수 없습니다. 정정 작업은 시스템 관리자에게 문의하세요LUA_INVALID_VERB_SEGMENT
기본 반환 코드입니다. VCB가 데이터 세그먼트의 끝을 넘어 확장되었습니다.LUA_UNEXPECTED_DOS_ERROR
기본 반환 코드; 운영 체제 호출을 실행한 후 예기치 않은 운영 체제 반환 코드가 수신되고 보조 반환 코드에 지정됩니다.LUA_STACK_TOO_SMALL
기본 반환 코드입니다. 애플리케이션의 스택 크기가 너무 작아서 동사를 실행할 수 없습니다. 애플리케이션의 스택 크기를 늘리세요.LUA_INVALID_VERB
기본 반환 코드; 동사 코드 또는 작업 코드 또는 둘 다 잘못되었습니다. 동사가 실행되지 않았습니다.
설명
SLI_CLOSE 유형에는 normal과 ABEND의 두 가지 유형이 있습니다. 일반 닫기에서는 lua_flag1.close_abend 가 0으로 설정됩니다. 일반 닫기 시퀀스는 기본(호스트 시작) 또는 보조(Windows LUA 애플리케이션에서 요청)로 시작할 수 있습니다. 기본 표준이 닫히면 Windows LUA 인터페이스:
SHUTD 명령을 읽고 애플리케이션에 SESSION_END_REQUESTED 상태 게시합니다.
필요한 경우 CHASE 명령을 씁니다.
CHASE 명령 응답을 읽고 처리합니다(필요한 경우).
SHUTC(종료 완료) 명령을 씁니다.
SHUTC 명령 응답을 읽고 처리합니다.
CLEAR 명령을 읽고 처리합니다(필요한 경우).
CLEAR 명령 응답을 씁니다(필요한 경우).
UNBIND 명령을 읽고 처리합니다.
UNBIND 명령 응답을 씁니다.
세션을 중지합니다.
보조 표준이 닫히면 Windows LUA 인터페이스:
RSHUTD 명령을 씁니다.
RSHUTD 명령 응답을 읽고 처리합니다.
CLEAR 명령을 읽고 처리합니다(필요한 경우).
CLEAR 명령 응답을 씁니다(필요한 경우).
UNBIND 명령을 읽고 처리합니다.
UNBIND 명령 응답을 씁니다.
세션을 중지합니다.
ABEND 닫기의 경우 lua_flag1.close_abend 는 1로 설정되며, Windows LUA 인터페이스가 세션을 즉시 닫도록 지시합니다. SLI_CLOSE 처리를 시작하면 LU-LU 연결이 종료되고 SSCP에 LU가 세션을 유지할 수 없다는 알림이 표시됩니다.