RUI_BID

RUI_BID動詞は、メッセージが RUI_READ を使用して読み取られるのを待機していることを要求ユニット インターフェイス (RUI) アプリケーションに通知します。

次の構造体は、 RUI_BID によって使用される動詞制御ブロック (VCB) の LUA_COMMON メンバーについて説明します。

2 番目の構文共用体は、 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 コマンド コード (動詞操作コード) が含LUA_OPCODE_RUI_BID。

lua_correlator
指定されたパラメーター。 動詞を他のユーザー指定の情報とリンクするユーザー指定の値が含まれます。 LUA では、この情報は使用または変更されません。 このパラメーターは省略可能です。

lua_luname
指定されたパラメーター。 Windows LUA セッションで使用されるローカル LU の ASCII 名を指定します。

RUI_BIDこのパラメーターは、lua_sidが 0 の場合にのみ必要です。

このパラメーターの長さは 8 バイトで、名前が 8 文字より短い場合は、右側にスペース (0x20) が埋め込まれます。

lua_extension_list_offset
Microsoft® Host Integration Server の RUI では使用されず、ゼロに設定する必要があります。

lua_cobol_offset
ホスト統合サーバーの LUA では使用されず、ゼロにする必要があります。

lua_sid
指定されたパラメーター。 セッション識別子を指定し、 SLI_OPENRUI_INITによって返されます。 他の動詞では、このパラメーターを使用して、 コマンドに使用されるセッションを識別します。 他の動詞で lua_luname パラメーターを使用してセッションを識別する場合は、 lua_sid パラメーターを 0 に設定します。

lua_max_length
RUI_BIDでは使用されず、0 に設定する必要があります。

lua_data_length
返されたパラメーター。 RUI_BIDlua_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

セグメントマッピングフィールド、2ビット。 データ セグメントの種類を定義します。 有効な値は、次のとおりです。

0x00 中間セグメント0x04 Last segment0x08 First segment0x0C Only segment

lua_th.flags_odai

送信元アドレス フィールド -宛先アドレス フィールド (OAF–DAF) アロケーター インジケーター (1 ビット)。

lua_th.flags_efi

優先フロー インジケーター、1 ビット。

lua_th.daf

宛先アドレス フィールド (DAF)、符号なし char。

lua_th.oaf

発信元アドレス フィールド (OAF)、符号なし char。

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) ネットワーク制御LUA_RH_DFC (0x40) データ フロー制御LUA_RH_SC (0x60) セッション制御

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

RUI_BIDが 1 に設定されている場合に正常に再び有効にされたことを示します。

lua_flag2.async

LUA インターフェイス動詞が 1 に設定されている場合に非同期的に完了したことを示します。

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
LUA_SPECIFICの共用体メンバーは、RUI_BIDおよびSLI_BID動詞によって使用されます。 返されたパラメーター。 読み取りを待機しているデータの最大 12 バイトを格納します。

リターン コード

LUA_OK
プライマリ リターン コード。動詞は正常に実行されました。

LUA_CANCELED
主なリターン コード。動詞は別の動詞によって取り消されたため、正常に完了しませんでした。

LUA_TERMINATED

セカンダリ リターン コード。 この 動詞が保留中の間にRUI_TERMが発行されました。

LUA_PARAMETER_CHECK
プライマリ リターン コード。パラメーター エラーのため、動詞は実行されませんでした。

LUA_BAD_SESSION_ID

セカンダリ リターン コード。VCB でlua_sid の無効な値が指定されました。

LUA_BID_ALREADY_ENABLED

セカンダリ リターン コード。 以前のRUI_BID が既に未処理であったため 、RUI_BID は拒否されました。 一度 未処理にできるRUI_BIDは 1 つだけです。

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

セカンダリ リターン コード。 RUI_INIT 、この動詞で指定された LU 名に対してまだ正常に完了していません。

LUA_UNSUCCESSFUL
プライマリ リターン コード。指定された動詞レコードは有効でしたが、動詞が正常に完了しませんでした。

LUA_INVALID_PROCESS

セカンダリ リターン コード。この動詞を発行したプロセスは、このセッション に対してRUI_INIT を発行したのと同じプロセスではありません。 セッションを開始したプロセスのみが、そのセッションで動詞を発行できます。

LUA_NEGATIVE_RSP
プライマリ リターン コード。LUA は、ホストから受信したデータのエラーを検出しました。 受信したメッセージを RUI_READ 上のアプリケーションに渡す代わりに、LUA はメッセージ (およびチェーン内にある場合は残りのチェーン) を破棄し、ホストに否定応答を送信します。

LUA は、後続の RUI_READ でアプリケーションに通知するか、否定的な応答が送信されたことを RUI_BID します。

セカンダリ リターン コードには、否定応答でホストに送信されるセンス コードが含まれています。 返される可能性があるセンス コード値の解釈については、「 SNA に関する考慮事項 LUA の使用」を参照してください。

0 個のセカンダリ リターン コードは、チェーンの途中のメッセージに対する否定応答の前の RUI_WRITE に続いて、LUA がこのチェーンからすべてのメッセージを受信して破棄したことを示します。

LUA_COMM_SUBSYSTEM_ABENDED
プライマリ リターン コード。次のいずれかの条件を示します。

  • このメッセージ交換で使用されているノードで、ABEND が発生しました。

  • トランザクション・プログラム (TP) と物理装置 (PU) 2.1 ノードの間の接続が切断されました (LAN エラー)。

  • TPs コンピューターの SnaBase で、ABEND が発生しました。

    LUA_SESSION_FAILURE
    プライマリ リターン コード。必要な Host Integration Server コンポーネントが終了しました。

    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_BIDRUI_READのメインの違いは、RUI_BIDでは、受信メッセージ キューからデータを削除せずにデータをチェックできるため、後で残してアクセスできることです。 RUI_READ キューからメッセージを削除するため、アプリケーションがデータを読み取るときにも処理する必要があります。

RUI_BIDを使用する場合は、次の点に注意してください。

  • RUI_INIT は、この動詞が発行される前に正常に完了する必要があります。

  • 一度 未処理にできるRUI_BIDは 1 つだけです。

  • RUI_BIDが正常に完了したら、後続のRUI_READで lua_flag1.bid_enable を設定することで再発行できます。 この方法で動詞が再発行された場合、アプリケーションは 、RUI_BID レコードに関連付けられているストレージを解放したり変更したりしてはなりません。

  • RUI_READRUI_BIDの両方が未処理のときにホストからメッセージが到着した場合、RUI_READは完了し、RUI_BIDは進行中のままです。

    到着した各メッセージは 1 回だけ入札されます。 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