다음을 통해 공유


RUI_BID

RUI_BID 동사는 RUI(요청 단위 인터페이스) 애플리케이션에 RUI_READ 사용하여 메시지를 읽기를 기다리고 있음을 알 수 있습니다.

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

두 번째 구문 공용 구조체는 RUI_BID 사용되는 동사 제어 블록(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 {  
    unsigned char lua_peek_data[12];  
};  

멤버

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

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

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

RUI_BIDlua_sid 0인 경우에만 이 매개 변수가 필요합니다.

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

lua_extension_list_offset
Microsoft® Host Integration Server의 RUI에서 사용되지 않으며 0으로 설정해야 합니다.

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

lua_sid
제공된 매개 변수입니다. 세션 식별자를 지정하고 SLI_OPENRUI_INIT 반환합니다. 다른 동사는 이 매개 변수를 사용하여 명령에 사용되는 세션을 식별합니다. 다른 동사에서 lua_luname 매개 변수를 사용하여 세션을 식별하는 경우 lua_sid 매개 변수를 0으로 설정합니다.

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

lua_data_length
반환된 매개 변수입니다. RUI_BID 대해lua_peek_data 반환되는 데이터의 길이를 지정합니다.

lua_data_ptr
이 매개 변수는 사용되지 않으며 0으로 설정해야 합니다.

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

lua_th
반환된 매개 변수입니다. 받은 메시지의 SNA 전송 헤더(TH)를 포함합니다. 다양한 하위 매개 변수는 쓰기 함수에 대해 설정되고 읽기 및 입찰 함수에 대해 반환됩니다. 하위 매개 변수는 다음과 같습니다.

lua_th.flags_fid

형식 식별 유형 2, 4비트.

lua_th.flags_mpf

분할 매핑 필드, 두 비트. 데이터 세그먼트의 형식을 정의합니다. 유효한 값은 다음과 같습니다.

0x00 중간 세그먼트0x04 마지막 세그먼트0x08 첫 번째 세그먼트0x0C 세그먼트만

lua_th.flags_odai

OAF–DAF(원래 주소 필드– 대상 주소 필드) 할당자 표시기( 1비트)

lua_th.flags_efi

신속한 흐름 표시기, 1비트.

lua_th.daf

서명되지 않은 문자인 DAF(대상 주소 필드)입니다.

lua_th.oaf

서명되지 않은 문자인 OAF(원래 주소 필드)입니다.

lua_th.snf

시퀀스 번호 필드, 부호 없는 char[2].

lua_rh
반환된 매개 변수입니다. 보내거나 받은 메시지의 SNA 요청/응답 헤더(RH)를 포함합니다. 쓰기 함수에 대해 설정되고 읽기 및 입찰 함수에서 반환됩니다. 하위 매개 변수는 다음과 같습니다.

lua_rh.rri

요청 응답 표시기( 1비트).

lua_rh.ruc

RU 범주, 2비트. 유효한 값은 다음과 같습니다.

LUA_RH_FMD(0x00) FM 데이터 세그먼트LUA_RH_NC(0x20) 0x40(네트워크 제어LUA_RH_DFC) 0x60(데이터 흐름 제어LUA_RH_SC) 세션 제어

lua_rh.fi

서식 표시기( 1비트).

lua_rh.sdi

센스 데이터 포함 표시기( 1비트)

lua_rh.bci

체인 표시기를 시작합니다( 1비트).

lua_rh.eci

끝 체인 표시기( 1비트).

lua_rh.dr1i

명확한 응답 1 표시기, 1비트.

lua_rh.dr2i

명확한 응답 2 표시기, 1비트.

lua_rh.ri

예외 응답 표시기(요청의 경우) 또는 응답 유형 표시기(응답의 경우) 1비트입니다.

lua_rh.qri

큐에 대기된 응답 표시기( 1비트)

lua_rh.pi

속도 표시기, 1비트.

lua_rh.bbi

대괄호 표시기를 시작합니다( 1비트).

lua_rh.ebi

끝 대괄호 표시기, 1비트.

lua_rh.cdi

방향 표시기( 1비트)를 변경합니다.

lua_rh.csi

코드 선택 표시기, 1비트.

lua_rh.edi

암호화된 데이터 표시기( 1비트).

lua_rh.pdi

패딩된 데이터 표시기( 1비트)

lua_flag1
제공된 매개 변수입니다. 애플리케이션에서 제공하는 메시지에 대한 플래그를 포함하는 데이터 구조를 포함합니다. 하위 매개 변수는 다음과 같습니다.

lua_flag1.bid_enable

입찰 사용 표시기( 1비트).

lua_flag1.close_abend

즉시 표시기를 닫습니다( 1비트).

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
반환된 매개 변수입니다. RUI_BID 표시되는 SNA 메시지 유형을 지정합니다. 가능한 값은 다음과 같습니다.

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.bid_enable

1로 설정된 경우 RUI_BID 다시 사용하도록 설정되었음을 나타냅니다.

lua_flag2.async

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

lua_flag2.sscp_exp

1로 설정된 경우 SSCP 긴급 흐름을 나타냅니다.

lua_flag2.sscp_norm

1로 설정된 경우 SSCP 일반 흐름을 나타냅니다.

lua_flag2.lu_exp

1로 설정된 경우 LU 긴급 흐름을 나타냅니다.

lua_flag2.lu_norm

1로 설정된 경우 LU 정상 흐름을 나타냅니다.

lua_resv56
예약되어 있으며 0으로 설정해야 합니다.

lua_encr_decr_option
예약되어 있으며 0으로 설정해야 합니다.

lua_peek_data
RUI_BID 및 SLI_BID 동사에서 사용하는 LUA_SPECIFIC공용 구조체 멤버입니다. 반환된 매개 변수입니다. 읽기를 기다리는 데이터의 최대 12바이트를 포함합니다.

반환 코드

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

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

LUA_TERMINATED

보조 반환 코드; 동사가 보류 중인 동안 RUI_TERM 발행되었습니다.

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

LUA_BAD_SESSION_ID

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

LUA_BID_ALREADY_ENABLED

보조 반환 코드; 이전 RUI_BID 이미 미해결되었으므로 RUI_BID 거부되었습니다. 한 번에 하나의 RUI_BID 만 처리할 수 있습니다.

LUA_INVALID_POST_HANDLE

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

LUA_RESERVED_FIELD_NOT_ZERO

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

LUA_VERB_LENGTH_INVALID

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

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

LUA_NO_RUI_SESSION

보조 반환 코드; 동사에 지정된 LU 이름에 대한 RUI_INIT 아직 완료되지 않았습니다.

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

LUA_INVALID_PROCESS

보조 반환 코드; 이 동사를 발급한 프로세스는 이 세션에 대해 RUI_INIT 발급한 프로세스와 다릅니다. 세션을 시작한 프로세스만 해당 세션에서 동사를 발급할 수 있습니다.

LUA_NEGATIVE_RSP
기본 반환 코드; LUA는 호스트에서 받은 데이터에서 오류를 감지했습니다. 수신된 메시지를 RUI_READ 애플리케이션에 전달하는 대신 LUA는 메시지(체인에 있는 경우 체인의 나머지 부분)를 삭제하고 호스트에 부정적인 응답을 보냅니다.

LUA는 후속 RUI_READ 또는 RUI_BID 애플리케이션에 부정적인 응답이 전송되었음을 알립니다.

보조 반환 코드에는 음수 응답에서 호스트로 전송된 센스 코드가 포함됩니다. 반환할 수 있는 센스 코드 값을 해석하는 방법에 대한 자세한 내용은 LUA를 사용하는 SNA 고려 사항을 참조하세요.

보조 반환 코드 0은 체인 중간에 있는 메시지에 대한 이전 RUI_WRITE 후 LUA가 이 체인의 모든 메시지를 수신하고 삭제했음을 나타냅니다.

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

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

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

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

    LUA_SESSION_FAILURE
    기본 반환 코드; 필수 호스트 통합 서버 구성 요소가 종료되었습니다.

    LUA_LU_COMPONENT_DISCONNECTED

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

    LUA_RUI_LOGIC_ERROR

    보조 반환 코드; LUA 내에서 내부 오류가 검색되었습니다. 이 오류는 정상 작업 중에는 발생하지 않습니다.

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

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

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

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

설명

RUI_BID 메시지가 읽기를 기다리고 있다는 알림이 필요한 애플리케이션에서 사용됩니다. 이를 통해 애플리케이션은 RUI_READ 발급하기 전에 메시지를 처리하는 방법을 결정할 수 있습니다.

메시지를 사용할 수 있으면 RUI_BID 받은 메시지 흐름, 메시지 유형, 메시지의 TH 및 RH, 최대 12바이트의 메시지 데이터와 함께 반환됩니다.

RUI_BID RUI_READ 간의 기본 차이점은 RUI_BID 애플리케이션이 들어오는 메시지 큐에서 데이터를 제거하지 않고 데이터를 검사 수 있으므로 나중에 남아 액세스할 수 있다는 것입니다. RUI_READ 큐에서 메시지를 제거하므로 애플리케이션이 데이터를 읽을 때도 처리해야 합니다.

RUI_BID 사용하는 경우 다음 사항에 유의하세요.

  • 동사가 발급되기 전에 RUI_INIT 성공적으로 완료되어야 합니다.

  • 한 번에 하나의 RUI_BID 만 처리할 수 있습니다.

  • RUI_BID 성공적으로 완료되면 후속RUI_READlua_flag1.bid_enable을 설정하여 재발행할 수 있습니다. 동사가 이러한 방식으로 재발행되는 경우 애플리케이션은 RUI_BID 레코드와 연결된 스토리지를 해제하거나 수정하지 않아야 합니다.

  • RUI_READ 및 RUI_BID 모두 미해결 상태일 때 호스트에서 메시지가 도착하면 RUI_READ 완료되고 RUI_BID 진행 중입니다.

    도착하는 각 메시지는 한 번만 입찰됩니다. RUI_BID 데이터가 특정 세션 흐름에서 대기 중임을 나타내면 애플리케이션은 데이터를 수신하기 위해 RUI_READ 문제를 발생합니다. 후속 RUI_BID RUI_READ 발행하여 입찰된 메시지가 수락될 때까지 해당 세션 흐름에 도착하는 데이터를 보고하지 않습니다.

    일반적으로 이 동사에서 반환된 lua_data_length 매개 변수는 대기 중인 메시지의 총 데이터 길이가 아니라 lua_peek_data 데이터 길이만 나타냅니다(값이 12보다 작은 경우를 제외하고). 애플리케이션은 데이터를 허용하는 RUI_READ 데이터 길이가 메시지를 포함하기에 충분한지 확인해야 합니다.

참고 항목

RUI_INIT
RUI_READ
RUI_TERM
RUI_WRITE
SLI_OPEN