다음을 통해 공유


SLI_OPEN

SLI_OPEN 동사는 지정된 LU(논리 단위)의 제어를 Microsoft® WINDOWS® LUA(논리 단위 애플리케이션) 애플리케이션으로 전송합니다. SLI_OPEN SSCP(시스템 서비스 제어점)와 지정된 LU 세션과 LU-LU 세션 간의 세션을 설정합니다.

다음 구조체는 SLI_OPEN 사용하는 동사 제어 블록(VCB)의 LUA_COMMON 멤버에 대해 설명합니다.

두 번째 구문 공용 구조체는 SLI_OPEN 사용되는 VCB의 LUA_SPECIFIC 멤버를 설명합니다. 다른 조합원은 명확성을 위해 생략됩니다.

구문

  
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;  
};  
  
union LUA_SPECIFIC {  
    struct union SLI_OPEN open;  
};  
  
The SLI_OPEN structure contains the following nested structures and members:  
struct LUA_EXT_ENTRY {  
    unsigned char lua_routine_type;  
    unsigned char lua_module_name[9];  
    unsigned char lua_procedure_name[33];  
} ;  
  
struct SLI_OPEN {  
    unsigned char         lua_init_type;  
    unsigned char         lua_resv65;  
    unsigned short        lua_wait;  
    struct LUA_EXT_ENTRY  lua_open_extension[3];  
    unsigned char         lua_ending_delim;  
} ;  

멤버

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_OPEN 발급할 동사에 대한 LUA 명령 코드(동사 작업 코드)를 포함합니다.

lua_correlator
제공된 매개 변수입니다. 동사를 다른 사용자가 제공한 정보와 연결하는 사용자 제공 값을 포함합니다. LUA는 이 정보를 사용하거나 변경하지 않습니다. 이 매개 변수는 선택적 요소입니다.

lua_luname
제공된 매개 변수입니다. Windows LUA 세션에서 사용하는 로컬 LU의 ASCII 이름을 지정합니다.

SLI_OPEN 이 매개 변수가 필요합니다.

이 매개 변수는 8바이트 길이이며, 이름이 8자보다 짧은 경우 공백(0x20)으로 오른쪽에 패딩됩니다.

lua_extension_list_offset
제공된 매개 변수입니다. VCB 시작부터 사용자가 제공한 DLL(동적 연결 라이브러리)의 확장 목록까지 오프셋을 지정합니다. 확장 목록이 없는 한 값은 단어 경계의 시작이어야 합니다. 이 경우 값을 0으로 설정해야 합니다.

이 옵션을 SLI_OPEN 사용하지 않는 경우 이 멤버를 0으로 설정해야 합니다.

lua_cobol_offset
Microsoft® Host Integration Server의 LUA에서 사용되지 않으며 0이어야 합니다.

lua_sid
반환된 매개 변수입니다. 세션 식별자를 지정합니다.

lua_max_length
SLI_OPEN 사용되지 않으며 0으로 설정해야 합니다.

lua_data_length
제공된 매개 변수입니다. 전송되는 데이터의 실제 길이를 지정합니다.

lua_data_ptr
SLI_OPEN 위해 보낼 데이터가 포함된 애플리케이션 제공 버퍼에 대한 포인터입니다.

SNA 명령과 데이터는 모두 이 버퍼에 배치되며 EBCDIC(Extended Binary Coded Decimal Interchange Code) 형식일 수 있습니다.

SLI_OPEN 발급되면 이 매개 변수는 다음 중 하나일 수 있습니다.

  • 초기화 유형이 형식이 지정되지 않은 LOGON 메시지가 있는 보조인 경우 SSCP 일반 흐름에 대한 LOGON 메시지입니다.

  • INITSELF에 대한 RU(요청/응답 단위)입니다. 초기화 유형이 INITSELF에서 보조인 경우 애플리케이션에 필요한 데이터가 제공됩니다.

  • 열려 있는 다른 모든 형식의 경우 이 필드를 0으로 설정해야 합니다.

    이 정보는 Windows LUA 애플리케이션에서 제공합니다.

    lua_post_handle
    제공된 매개 변수입니다. 이벤트에 의해 비동기 알림을 수행할 경우 Microsoft Windows Server에서 사용됩니다. 이 변수에는 신호를 받을 이벤트의 핸들 또는 창 핸들이 포함됩니다.

    lua_th
    SLI_OPEN 사용되지 않으며 0으로 설정해야 합니다.

    lua_rh
    SLI_OPEN 사용되지 않으며 0으로 설정해야 합니다.

    lua_flag1
    SLI_OPEN 사용되지 않으며 0으로 설정해야 합니다.

    lua_message_type
    SLI_OPEN 사용되지 않으며 0으로 설정해야 합니다.

    lua_flag2
    반환된 매개 변수입니다. LUA에서 반환하는 메시지에 대한 플래그를 포함합니다. 하위 매개 변수는 다음과 같습니다.

    lua_flag2.async

    1로 설정된 경우 LUA 인터페이스 동사가 비동기적으로 완료되었음을 나타냅니다.

    lua_resv56
    제공된 매개 변수입니다. SLI_OPEN RUI_INIT 사용하는 예약 필드입니다. 자세한 내용은 주의 섹션을 참조하세요.

    lua_resv56[1]

    제공된 매개 변수입니다. 이 매개 변수는 0으로 설정해야 합니다.

    lua_resv56[2]

    제공된 매개 변수입니다. SLI 애플리케이션이 LUA RU 외에도 3270 RU로 구성된 RU에 액세스할 수 있는지 여부를 나타냅니다. 이 매개 변수를 1로 설정하면 3270 RU에 액세스할 수 있습니다.

    lua_resv56[3]

    제공된 매개 변수입니다. 불완전한 읽기가 지원되는지 여부를 나타냅니다. 이 매개 변수를 1로 설정하면 불완전하거나 잘린 읽기가 지원됩니다. 자세한 내용은 RUI_READ 설명을 참조하세요.

    lua_encr_decr_option
    SLI_OPEN 사용되지 않으며 0으로 설정해야 합니다.

    열기
    SLI_OPEN 사용하는 LUA_SPECIFIC 공용 구조체 멤버입니다. SLI_OPEN 필요한 SLI_OPEN 구조에 포함된 제공된 매개 변수 집합입니다.

    open.lua_init_type

    제공된 매개 변수입니다. Windows LUA 인터페이스를 통해 LU-LU 세션을 초기화하는 방법을 정의합니다.

    유효한 값은 다음과 같습니다.

    LUA_INIT_TYPE_SEC_IS

    LUA_INIT_TYPE_SEC_LOG

    LUA_INIT_TYPE_PRIM

    LUA_INIT_TYPE_PRIM_SSCP

    open.lua_resv65

    예약된 필드입니다.

    open.lua_wait

    제공된 매개 변수입니다. 호스트가 다음 메시지 중 하나를 보낸 후 INITSELF 또는 LOGON 메시지의 전송을 다시 시도하기 전에 Windows LUA 인터페이스가 대기하는 시간(초)을 나타내는 보조 재시도 대기 시간을 나타냅니다.

  • 음수 응답 및 보조 반환 코드는 다음 중 하나입니다.

    RESOURCE_NOT_AVAILABLE(0x08010000)SESSION_LIMIT_EXCEEDED(0x08050000) SESSION_SERVICE_PATH_ERROR(0x087D0000)

    lua_wait 0으로 설정되고 이전 중 하나가 발생하는 경우 SLI_OPEN 오류로 종료됩니다.

  • NSPE(네트워크 서비스 프로시저 오류) 메시지입니다.

  • 프로시저 오류를 나타내는 NOTIFY 명령입니다.

    open.lua_open_extension

    제공된 매개 변수입니다. BIND, STSN 및 CRV 명령을 처리하기 위해 애플리케이션에서 제공하는 확장 DLL 목록을 포함합니다.

    open.open_extension.lua_routine_type

    확장 루틴 형식입니다. 법적 값은 다음과 같습니다.

    LUA_ROUTINE_TYPE_BIND

    LUA_ROUTINE_TYPE_CRV

    LUA_ROUTINE_TYPE_END(확장 목록의 끝을 나타냅니다).

    LUA_ROUTINE_TYPE_STSN

    open.open_extension.lua_module_name

    제공된 매개 변수입니다. 사용자가 제공한 확장 DLL에 대한 ASCII 모듈 이름을 제공합니다. 모듈 이름은 최대 8자까지 가능하며 나머지 바이트는 0x00.

    open.open_extension.lua_procedure_name

    제공된 매개 변수입니다. 사용자가 제공한 확장 DLL에 대한 ASCII의 프로시저 이름을 제공합니다. 프로시저 이름은 최대 32자까지 가능하며 나머지 바이트는 0x00.

    open.lua_ending_delim

    확장 목록 구분 기호입니다.

반환 코드

LUA_OK
기본 반환 코드입니다. 동사가 성공적으로 실행되었습니다.

LUA_SEC_OK

보조 반환 코드; LUA_OK 대한 추가 정보가 없습니다.

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

LUA_INVALID_LUNAME

보조 반환 코드; 잘못된 lua_luname 이름이 지정되었습니다.

LUA_BAD_SESSION_ID

보조 반환 코드; lua_sid 잘못된 값이 VCB에 지정되었습니다.

LUA_BAD_DATA_PTR

보조 반환 코드; lua_data_ptr 매개 변수는 유효한 포인터를 포함하지 않거나 읽기/쓰기 세그먼트를 가리키지 않으며 제공된 데이터가 필요합니다.

LUA_DATA_SEGMENT_LENGTH_ERROR

보조 반환 코드; 다음 중 하나가 발생했습니다.

  • SLI_RECEIVE 또는 SLI_SEND 제공된 데이터 세그먼트는 필요에 따라 읽기/쓰기 데이터 세그먼트가 아닙니다.

  • SLI_RECEIVE 제공된 데이터 세그먼트는 lua_max_length 제공된 데이터 세그먼트만큼 길지 않습니다.

  • SLI_SEND 제공된 데이터 세그먼트는 lua_data_length 제공된 데이터 세그먼트만큼 길지 않습니다.

    LUA_RESERVED_FIELD_NOT_ZERO

    보조 반환 코드; 방금 발급된 동사에 대한 예약된 매개 변수가 0으로 설정되지 않았습니다.

    LUA_INVALID_POST_HANDLE

    보조 반환 코드; 이벤트를 비동기 게시 방법으로 사용하는 Microsoft Windows 운영 체제의 경우 Windows LUA VCB에는 유효한 이벤트 핸들이 없습니다.

    LUA_VERB_LENGTH_INVALID

    보조 반환 코드; LUA 동사가 LUA에서 예기치 않은 lua_verb_length 값으로 발급되었습니다.

    LUA_INVALID_OPEN_INIT_TYPE

    보조 반환 코드; SLI_OPEN 포함된 lua_init_type값이 잘못 되었습니다.

    LUA_INVALID_OPEN_DATA

    보조 반환 코드; 데이터에 대한 버 퍼에 유효한 INITSELF 명령이 없는 경우 발급된 SLI_OPEN 대한 lua_init_type LUA_INIT_TYPE_SEC_IS 설정됩니다.

    LUA_INVALID_OPEN_ROUTINE_TYPE

    보조 반환 코드; 확장 루틴 의 SLI_OPEN 목록에 대한 lua_open_routine_type 잘못되었습니다.

    LUA_DATA_LENGTH_ERROR

    보조 반환 코드; 애플리케이션은 발급된 동사에 필요한 사용자 제공 데이터를 제공하지 않았습니다. SNA LUSTAT 명령에 대해 SLI_SEND 실행되면 상태(4바이트)이 필요하며, SLI_OPEN 보조 초기화와 함께 실행되면 데이터가 필요합니다.

    LUA_INVALID_SLI_ENCR_OPTION

    보조 반환 코드; lua_encr_decr_option 매개 변수는 암호화/암호 해독 처리 옵션에 지원되지 않는 SLI_OPEN 128로 설정되었습니다.

    LUA_STATE_CHECK
    기본 반환 코드입니다. 동사가 잘못된 상태에서 발행되었으므로 실행되지 않았습니다.

    LUA_NOT_ACTIVE

    보조 반환 코드; LUA 동사가 발급되었을 때 LUA가 Microsoft Host Integration Server 또는 SNA Server 내에서 활성화되지 않았습니다.

    LUA_UNEXPECTED_SNA_SEQUENCE

    보조 반환 코드; SLI_OPEN 처리하는 동안 호스트에서 예기치 않은 데이터 또는 명령을 수신했습니다.

    LUA_NEG_RSP_FROM_BIND_ROUTINE

    보조 반환 코드; 사용자가 제공한 SLI_BIND 루틴이 BIND에 부정적인 반응을 보였습니다. SLI_OPEN 실패로 끝났습니다.

    LUA_NEG_RSP_FROM_STSN_ROUTINE

    보조 반환 코드; 사용자가 제공한 SLI STSN 루틴이 STSN에 부정적으로 응답했습니다. SLI_OPEN 실패로 끝났습니다.

    LUA_PROCEDURE_ERROR

    보조 반환 코드; 호스트 프로시저 오류는 NSPE 또는 NOTIFY 메시지를 수신하여 표시됩니다. 반환 코드는 다시 시도 옵션을 사용하지 않을 때 SLI_OPEN 게시됩니다. 다시 설정 옵션을 사용하려면 lua_wait 0이 아닌 값으로 설정합니다. LOGON 또는 INITSELF 명령은 호스트가 준비되거나 SLI_CLOSE 실행할 때까지 다시 시도됩니다.

    LUA_RECEIVED_UNBIND

    보조 반환 코드; PLU(기본 논리 단위)는 세션이 활성화되었을 때 SNA UNBIND 명령을 LUA 인터페이스로 보냈습니다. 결과적으로 세션이 중지되었습니다.

    LUA_SLI_LOGIC_ERROR

    보조 반환 코드; LUA 인터페이스가 논리에서 내부 오류를 발견했습니다.

    LUA_NO_RUI_SESSION

    보조 반환 코드; 발급된 LUA 동사에 대해 세션이 초기화되지 않거나 세션이 초기화되기 전에 SLI_OPEN 이외의 일부 동사가 실행되었습니다.

    LUA_RESOURCE_NOT_AVAILABLE

    보조 반환 코드; 요청 단위에 지정된 논리 단위, 물리적 단위, 링크 또는 링크 스테이션을 사용할 수 없습니다. 이 반환 코드는 다시 시도 옵션을 사용하지 않는 한 리소스를 사용할 수 없는 경우 SLI_OPEN 게시됩니다.

    다시 시도 옵션을 사용하려면 lua_wait 0이 아닌 값으로 설정합니다. LOGON 또는 INITSELF 명령은 호스트가 준비되거나 SLI_CLOSE 실행할 때까지 다시 시도됩니다.

    LUA_SESSION_LIMIT_EXCEEDED

    보조 반환 코드; NAU가 세션 제한에 있으므로 요청된 세션이 활성화되지 않았습니다. 이 SNA 감지 코드는 BID, CINIT, INIT 및 ACTDRM 요청에 적용됩니다.

    RETRY 옵션을 사용하지 않는 한 NAU가 제한에 있을 때 코드가 SLI_OPEN 게시됩니다.

    재설정 옵션을 사용하려면 lua_wait 0이 아닌 값으로 설정합니다. LOGON 또는 INITSELF 명령은 호스트가 준비되거나 SLI_CLOSE 실행할 때까지 다시 시도됩니다.

    LUA_LU_COMPONENT_DISCONNECTED

    보조 반환 코드; LU 구성 요소가 제대로 연결되지 않았기 때문에 LU 구성 요소를 사용할 수 없습니다. 전원이 켜지는지 확인합니다.

    LUA_NEGOTIABLE_BIND_ERROR

    보조 반환 코드; 협상 가능한 BIND가 수신되었습니다. 이는 사용자가 제공한 SLI_BIND 루틴이 SLI_OPEN 제공된 경우에만 SLI에서 허용됩니다.

    LUA_BIND_FM_PROFILE_ERROR

    보조 반환 코드; LUA 인터페이스에서 파일 관리 헤더 프로필 3 및 4만 지원됩니다. BIND에서 3 또는 4 이외의 파일 관리 프로필이 발견되었습니다.

    LUA_BIND_TS_PROFILE_ERROR

    보조 반환 코드; LUA 인터페이스에서 TS(Transmission Service) 프로필 3 및 4만 지원됩니다. BIND에서 3 또는 4 이외의 TS 프로필이 발견되었습니다.

    LUA_BIND_LU_TYPE_ERROR

    보조 반환 코드; LUA에서는 LU 0, LU 1, LU 2 및 LU 3만 지원됩니다. 0, 1, 2 또는 3 이외의 LU가 발견되었습니다.

    LUA_SSCP_LU_SESSION_NOT_ACTIVE

    보조 반환 코드; 필요한 SSCP-LU가 비활성 상태입니다. 특정 센스 코드 정보는 바이트 2와 3입니다. 유효한 설정은 0x0000, 0x0001, 0x0002, 0x0003 및 0x0004.

    LUA_SESSION_SERVICES_PATH_ERROR

    보조 반환 코드; 세션 서비스에 대한 요청은 SSCP-SSCP 세션 경로로 다시 지정할 수 없습니다. 바이트 2와 3의 특정 센스 코드 정보는 요청을 다시 지정할 수 없는 이유에 대한 자세한 정보를 제공합니다.

    LUA_UNSUCCESSFUL
    기본 반환 코드; 제공된 동사 레코드가 유효하지만 동사가 성공적으로 완료되지 않았습니다.

    LUA_VERB_RECORD_SPANS_SEGMENTS

    보조 반환 코드; LUA VCB 길이 매개 변수와 세그먼트 오프셋이 세그먼트 끝을 초과합니다.

    LUA_SESSION_ALREADY_OPEN

    보조 반환 코드; SLI_OPEN 지정된 LU 이름에 대한 세션이 이미 열려 있습니다.

    LUA_INVALID_PROCESS

    보조 반환 코드; 다른 프로세스가 세션을 소유하기 때문에 LUA 동사가 발급된 세션을 사용할 수 없습니다.

    LUA_LINK_NOT_STARTED

    보조 반환 코드; 세션 초기화 중에 LUA가 데이터 링크를 활성화할 수 없습니다.

    LUA_INVALID_ADAPTER

    보조 반환 코드; DLC(데이터 링크 컨트롤)에 대한 구성이 잘못되었거나 구성 파일이 손상되었습니다.

    LUA_ENCR_DECR_LOAD_ERROR

    보조 반환 코드; 사용자가 제공한 암호화 또는 암호 해독 동적 링크 모듈을 로드하는 동안 OS/2 DosLoadModule 함수에서 예기치 않은 반환 코드가 수신되었습니다.

    LUA_ENCR_DECR_PROC_ERROR

    보조 반환 코드; 사용자가 제공한 암호화 또는 암호 해독 동적 링크 모듈 내에서 프로시저 주소를 가져오는 동안 OS/2 DosGetProcAddr 함수에서 예기치 않은 반환 코드가 수신되었습니다.

    LUA_NEG_NOTIFY_RSP

    보조 반환 코드; SSCP는 보조 LU가 세션을 수행할 수 있음을 나타내는 NOTIFY 요청에 부정적으로 응답했습니다. 요청을 수신한 반 세션 구성 요소는 요청을 이해하고 지원했지만 실행할 수 없습니다.

    LUA_LU_INOPERATIVE

    보조 반환 코드; SLI가 세션을 중지하려고 하는 동안 심각한 오류가 발생했습니다. 이 LU는 호스트에서 ACTLU(활성화 논리 단위)를 받을 때까지 모든 LUA 요청에 사용할 수 없습니다.

    LUA_CANCELED
    기본 반환 코드; 보조 반환 코드는 명령을 취소하는 이유를 제공합니다.

    LUA_TERMINATED

    보조 반환 코드; 동사가 보류 중일 때 세션이 종료되었습니다. 동사 프로세스가 취소되었습니다.

    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_OPEN Windows LUA 인터페이스:

참고 항목

RUI_INIT
SLI_RECEIVE
SLI_SEND