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 コマンド コード (動詞操作コード) が含LUA_OPCODE_SLI_CLOSE。

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 では使用されず、ゼロにする必要があります。

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 ビット) を閉じます。 セッションを直ちに閉じるか (ON)、または正常に閉じる (OFF) かを指定するために、 SLI_CLOSE によって指定されたパラメーター。 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

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

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

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

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

    セカンダリ リターン コード。ホストからの SNA CHASE コマンドに対する否定応答は、 SLI_CLOSE 処理中に LUA インターフェイスによって受信されました。 SLI_CLOSE セッションを停止するための処理を継続します。

    LUA_NEGATIVE_RSP_SHUTC

    セカンダリ リターン コード。ホストからの SNA SHUTC コマンドに対する否定的な応答は、 SLI_CLOSE がまだ処理中に SLI によって受信されました。 SLI_CLOSE セッションを停止するための処理を継続します。

    LUA_NEGATIVE_RSP_SHUTD

    セカンダリ リターン コード。ホストからの SNA RSHUTD コマンドに対する否定応答は、 SLI_CLOSE がまだ処理中に LUA インターフェイスによって受信されました。 SLI_CLOSE セッションを停止するための処理を継続します。

    LUA_RECEIVED_UNBIND

    セカンダリ リターン コード。プライマリ論理ユニット (PLU) は、セッションがアクティブな場合に SNA UNBIND コマンドを LUA インターフェイスに送信しました。 その結果、セッションは停止しました。

    LUA_NO_RUI_SESSION

    セカンダリ リターン コード。発行された LUA 動詞に対してセッションが初期化されていないか、セッションが初期化される前 にSLI_OPEN 以外の動詞が発行されました。

    LUA_LU_COMPONENT_DISCONNECTED

    セカンダリ リターン コード。LU コンポーネントが正しく接続されていないため、使用できません。 電源がオンになっていることを確認します。

    LUA_IN_PROGRESS
    プライマリ リターン コード。非同期コマンドが受信されましたが、完了していません。

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

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

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

  • TPs コンピューターの 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 の 2 種類があります。 通常のクローズの場合、 lua_flag1.close_abend はゼロに設定されます。 通常のクローズのシーケンスは、プライマリ (ホストによって開始) またはセカンダリ (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 接続が終了し、LU がセッションを維持できないという通知が SSCP に通知されます。

参照

SLI_OPEN