다음을 통해 공유


RUI_INIT

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

참고

3270명의 에뮬레이터 사용자의 경우 LUA RU 대신 3270 RU를 사용할 수 있는 Microsoft Host Integration Server 확장이 추가되었습니다. 자세한 내용은 이 항목의 설명을 참조하세요.

다음 구조체는 RUI_INIT 사용하는 동사 제어 블록(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
제공된 매개 변수입니다. RUI(요청 단위 인터페이스) 동사에 대한 LUA_VERB_RUI 동사 코드를 포함합니다.

lua_verb_length
제공된 매개 변수입니다. LUA VCB의 길이(바이트)를 지정합니다. 발급되는 동사 레코드의 길이를 포함해야 합니다.

lua_prim_rc
동사가 완료될 때 LUA가 설정한 기본 반환 코드입니다. 유효한 반환 코드는 발급된 LUA 동사에 따라 달라집니다.

lua_sec_rc
동사가 완료될 때 LUA에서 설정한 보조 반환 코드입니다. 유효한 반환 코드는 발급된 LUA 동사에 따라 달라집니다.

lua_opcode
제공된 매개 변수입니다. LUA_OPCODE_RUI_INIT 발급할 동사에 대한 LUA 명령 코드(동사 작업 코드)를 포함합니다.

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

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

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

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

lua_extension_list_offset
호스트 통합 서버에서 RUI에서 사용되지 않으며 0으로 설정해야 합니다.

lua_cobol_offset
호스트 통합 서버에서 LUA에서 사용되지 않으며 0이어야 합니다.

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

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

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

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

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

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

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

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

lua_message_type
인바운드 또는 아웃바운드 SNA 명령 및 데이터의 형식을 지정합니다. RUI_INIT 대해 반환된 매개 변수입니다. 가능한 값은 다음과 같습니다.

LUA_MESSAGE_TYPE_LU_DATA

LUA_MESSAGE_TYPE_SSCP_DATA

LUA_MESSAGE_TYPE_BID

LUA_MESSAGE_TYPE_BIND

LUA_MESSAGE_TYPE_BIS

LUA_MESSAGE_TYPE_CANCEL

LUA_MESSAGE_TYPE_CHASE

LUA_MESSAGE_TYPE_CLEAR

LUA_MESSAGE_TYPE_CRV

LUA_MESSAGE_TYPE_LUSTAT_LU

LUA_MESSAGE_TYPE_LUSTAT_SSCP

LUA_MESSAGE_TYPE_QC

LUA_MESSAGE_TYPE_QEC

LUA_MESSAGE_TYPE_RELQ

LUA_MESSAGE_TYPE_RQR

LUA_MESSAGE_TYPE_RTR

LUA_MESSAGE_TYPE_SBI

LUA_MESSAGE_TYPE_SHUTD

LUA_MESSAGE_TYPE_SIGNAL

LUA_MESSAGE_TYPE_SDT

LUA_MESSAGE_TYPE_STSN

LUA_MESSAGE_TYPE_UNBIND

SLI(세션 수준 인터페이스)는 LUA 인터페이스 확장 루틴을 통해 BIND, CRV 및 STSN 요청을 수신하고 응답합니다.

LU_DATA, LUSTAT_LU, LUSTAT_SSCP 및 SSCP_DATA SNA 명령이 아닙니다.

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

lua_flag2.async

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

RUI_INIT LUA_PARAMETER_CHECK)와 같은 오류를 반환하지 않는 한 항상 비동기적으로 완료됩니다.

lua_resv56
제공된 매개 변수입니다. RUI_INIT SLI_OPEN 사용하는 예약 필드입니다. 배열의 다른 모든 예약된 필드는 비워 두어야 합니다. 자세한 내용은 설명 섹션에서 이러한 호스트 통합 서버 확장에 대한 설명을 참조하세요.

lua_resv56[1]

제공된 매개 변수입니다. RUI 애플리케이션이 LUA RU 외에 3270RU로 구성된 RU에 액세스할 수 있는지 여부를 나타냅니다. 이 매개 변수가 0이 아닌 경우 3270 RU에 액세스할 수 있습니다.

lua_resv56[2]

제공된 매개 변수입니다. LU-SSCP 세션 또는 연결이 해제될 때 RUI 라이브러리가 LU를 해제할지 여부를 나타냅니다. 이 매개 변수가 0이 아니면 LU가 해제되지 않습니다.

lua_resv56[3]

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

lua_resv56[4]

제공된 매개 변수입니다. RUI 라이브러리가 호스트에서 재활용되는 경우 애플리케이션이 LU를 유지하도록 허용할지 여부를 나타냅니다. 이 매개 변수가 0이 아닌 경우 애플리케이션은 LU를 유지할 수 있습니다.

lua_encr_decr_option
암호화 옵션에 대한 필드입니다. RUI_INIT 다음만 지원됩니다.

lua_encr_decr_option = 0

lua_encr_decr_option = 128

1에서 127까지의 값은 지원되지 않습니다.

반환 코드

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

LUA_CANCELED
기본 반환 코드; 동사가 다른 동사에 의해 취소되었기 때문에 동사가 성공적으로 완료되지 않았습니다.

LUA_TERMINATED

보조 반환 코드; RUI_INIT 완료되기 전에 RUI_TERM 발행되었습니다.

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

LUA_INVALID_LUNAME

보조 반환 코드; lua_luname 매개 변수가 구성 파일의 LUA LU 이름 또는 LU 풀 이름과 일치하지 않습니다.

LUA_INVALID_POST_HANDLE

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

LUA_RESERVED_FIELD_NOT_ZERO

보조 반환 코드; 동사 레코드의 예약 필드 또는 이 동사에서 사용하지 않는 매개 변수가 0이 아닌 값으로 설정되었습니다.

LUA_VERB_LENGTH_INVALID

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

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

LUA_DUPLICATE_RUI_INIT

보조 반환 코드; lua_luname 매개 변수는 이 애플리케이션에서 이미 사용 중인 LU 이름 또는 LU 풀 이름(또는 이 애플리케이션이 이미 진행 중인 RUI_INIT )을 지정했습니다.

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

LUA_COMMAND_COUNT_ERROR

다음 오류 중 하나가 발생했음을 나타내는 보조 반환 코드입니다.

애플리케이션이 이미 최대 활성 세션 수에 도달했기 때문에 동사를 실행할 수 없습니다. Windows에서 애플리케이션은 언제든지 15,000개의 세션이 활성화되어 있을 수 있습니다.

동사는 LU 풀의 이름 또는 풀의 LU 이름을 지정했지만 풀의 모든 RU가 사용되고 있습니다.

LUA_ENCR_DECR_LOAD_ERROR

보조 반환 코드; 동사는 0 또는 128 이외의 lua_encr_decr_option 값을 지정했습니다.

LUA_INVALID_PROCESS

보조 반환 코드; lua_luname 지정한 LU가 다른 프로세스에서 사용 중입니다.

LUA_LINK_NOT_STARTED

보조 반환 코드; 호스트에 대한 연결이 시작되지 않았습니다. 사용할 수 있는 링크 서비스가 활성화되어 있지 않습니다.

LUA_COMM_SUBSYSTEM_ABENDED
기본 반환 코드입니다. 다음 조건 중 하나를 나타냅니다.

  • 이 대화에서 사용하는 노드에 ABEND가 발생했습니다.

  • TP(트랜잭션 프로그램)와 PU(물리적 단위) 2.1 노드 간의 연결이 끊어졌습니다(LAN 오류).

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

    LUA_SESSION_FAILURE
    기본 반환 코드; 필요한 Host Integration Server 구성 요소가 종료되었습니다.

    LUA_LU_COMPONENT_DISCONNECTED

    보조 반환 코드; 는 링크 서비스 또는 호스트 LU 문제로 인해 LUA 세션이 실패했음을 나타냅니다.

    LUA_INVALID_VERB
    기본 반환 코드; 동사 코드 또는 작업 코드 또는 둘 다 잘못되었습니다. 동사가 실행되지 않았습니다.

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

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

    LUA_UNEXPECTED_DOS_ERROR
    기본 반환 코드; 운영 체제 호출을 실행한 후 예기치 않은 운영 체제 반환 코드가 수신되고 보조 반환 코드에 지정됩니다.

설명

이 동사는 세션에 대해 발급된 첫 번째 LUA 동사여야 합니다. 이 동사가 성공적으로 완료될 때까지 이 세션에 대해 발급할 수 있는 유일한 다른 LUA 동사는 RUI_TERM (보류 중인 RUI_INIT 종료)됩니다.

이 세션에서 발급된 다른 모든 동사는 이 동사의 다음 매개 변수 중 하나를 사용하여 세션을 식별해야 합니다.

  • lua_sid 애플리케이션에 반환된 세션 식별자입니다.

  • lua_luname 매개 변수에서 애플리케이션에서 제공하는 LU 이름 또는 LU 풀 이름입니다.

    호스트 에서 ACTLU 메시지를 받은 후 RUI_INIT 완료됩니다. 필요한 경우 동사는 무기한 대기합니다. RUI_INIT 전에 ACTLU가 이미 수신된 경우 LUA는 호스트에 NOTIFY를 보내 LU를 사용할 준비가 되었음을 알립니다.

    ACTLU 또는 NOTIFY는 모두 LUA 애플리케이션에 표시되지 않습니다.

    RUI_INIT 성공적으로 완료되면 이 세션은 세션이 시작된 LU를 사용합니다. 이 또는 다른 애플리케이션의 다른 LUA 세션은 RUI_TERM 실행되거나 LUA_SESSION_FAILURE 기본 반환 코드가 수신될 때까지 LU를 사용할 수 없습니다.

3270 RU 사용

3270 에뮬레이터 사용자에게 RUI API와 함께 EIS(에뮬레이터 인터페이스 사양) 구성 호출을 사용할 수 있는 기능을 제공하기 위해 호스트 통합 서버 확장이 RUI에 추가되었습니다. 이 확장을 사용하면 LUA RU 대신 3270 RU를 사용할 수 있습니다. 애플리케이션이 RUI_INIT 호출에서lua_resv56[1]을 0이 아닌 값으로 설정하는 경우 3270 RU를 사용할 수 있습니다.

LU를 해제하지 않음

애플리케이션이 RUI_INIT 호출에서lua_resv56[2]를 0이 아닌 값으로 설정하면 LU-SSCP 세션 또는 연결이 없으면 RUI 라이브러리가 LU를 해제하지 않습니다. 이 Host Integration Server 확장을 사용하도록 설정하면 애플리케이션이 세션 실패 또는 연결 실패 후 새 RUI_INIT 실행할 필요가 없습니다. LU-SSCP 세션이 백업되면(애플리케이션이 WinRUIGetLastInitStatus 를 사용하여 이를 검색할 수 있음) 애플리케이션에서 다시 사용할 수 있습니다.

이 세션에서 청크 분할 지원

애플리케이션이 lua_resv56[3]RUI_INIT 세션 설정에서 0이 아닌 값으로 설정하면 RUI_READ 동작을 변경할 수 있는 호스트 통합 서버 확장이 가능합니다. RUI_READ 호출의 기본 동작은 애플리케이션의 데이터 버퍼가 RU의 모든 데이터를 수신할 만큼 크지 않은 경우 데이터를 잘라내고(남은 모든 데이터를 삭제) 오류 코드를 반환하는 것입니다. lua_resv56[3]RUI_INIT 호출에서 0이 아닌 값으로 설정된 경우 애플리케이션의 데이터 버퍼가 충분히 크지 않은 경우 발급된 RUI_READ RU 데이터가 삭제되지 않습니다. RUI_READ 동사는 기본 반환 코드에 대한 성공(LUA_OK)을 반환하고 보조 반환 코드에 대한 LUA_DATA_INCOMPLETE 반환합니다. 그런 다음 후속 RUI_READ 요청을 실행하여 애플리케이션의 데이터 버퍼를 초과한 데이터를 검색할 수 있습니다.

DACTLUs 무시

애플리케이션이 RUI_INIT 세션 설정에서 lua_resv56[4]를 0이 아닌 값으로 설정하면 호스트 통합 서버 확장이 가능하며, RUI 라이브러리는 호스트에서 재활용되는 경우(즉, 비활성화 및 다시 활성화된) 애플리케이션이 LU를 유지하도록 허용합니다.

참고

다른 모든 예약된 필드는 비워 두어야 합니다.

자세한 내용은 3270 에뮬레이터 인터페이스 사양의 SDK(소프트웨어 개발 키트) 도움말 섹션에서 sepdcrec 함수에 대한 설명을 참조하세요.

암호화

세션 수준 암호화는 CRV(암호화 확인) 요청을 통해 구현됩니다. RUI 애플리케이션은 이러한 요청을 처리하는 데 필요한 모든 작업을 수행해야 합니다. RUI를 제외한 모든 인터페이스의 경우 호스트 통합 서버에서 부정적인 응답으로 CRV 요청이 거부됩니다.

RUI_INIT 경우 다음 옵션이 지원됩니다.

  • lua_encr_decr_option = 0

  • lua_encr_decr_option = 128

    1에서 127까지의 값(ACSRENCR 및 ACSROECR 루틴)은 지원되지 않습니다.

    보내는 애플리케이션은 데이터를 8바이트의 배수로 패딩하고 RH에서 패딩된 데이터 표시기 비트를 설정하고 암호화를 담당합니다. 수신 애플리케이션은 암호 해독 후 패딩을 제거해야 합니다.

참고 항목

RUI_TERM
SLI_OPEN