次の方法で共有


RUI_INIT

RUI_INIT動詞は、指定された論理ユニット (LU) の制御を Microsoft® Windows® 論理ユニット アプリケーション (LUA) アプリケーションに転送します。 RUI_INIT は、システム・サービス制御ポイント (SSCP) と指定された LU との間のセッションを確立します。

Note

3270 エミュレーター ユーザーの場合、LUA LU ではなく 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 コマンド コード (動詞操作コード) が含LUA_OPCODE_RUI_INIT。

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

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

RUI_INIT には、このパラメーターが必要です。

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

lua_extension_list_offset
ホスト統合サーバーの RUI では使用されず、0 に設定する必要があります。

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

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

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

RUI_INIT は、LUA_PARAMETER_CHECK) などのエラーを返さない限り、常に非同期的に完了します。

lua_resv56
指定されたパラメーター。 RUI_INITSLI_OPENによって使用される予約フィールド。 配列内の他のすべての予約フィールドは空白のままにする必要があります。 詳細については、「解説」セクションのホスト統合サーバー拡張機能の説明を参照してください。

lua_resv56[1]

指定されたパラメーター。 RUI アプリケーションが、LUA LU に加えて 3270 LU として構成された LU にアクセスできるかどうかを示します。 このパラメーターが 0 以外の場合は、3270 LU にアクセスできます。

lua_resv56[2]

指定されたパラメーター。 LU-SSCP セッションまたは接続が消えたときに、RUI ライブラリーが LU を解放するかどうかを示します。 このパラメーターが 0 以外の場合、LU は解放されません。

lua_resv56[3]

指定されたパラメーター。 不完全な読み取りがサポートされているかどうかを示します。 このパラメーターが 0 以外の値に設定されている場合は、不完全読み取りまたは切り捨て読み取りがサポートされます。 詳細については、 RUI_READに関する解説を参照してください。

lua_resv56[4]

指定されたパラメーター。 LU がホストでリサイクルされた場合に、アプリケーションが LU を保持することを RUI ライブラリが許可するかどうかを示します。 このパラメーターが 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_TERM は、 RUI_INIT完了する 前に発行されました。

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 によって予期しない値 lua_verb_length 発行されました。

LUA_STATE_CHECK
プライマリ リターン コード。動詞は無効な状態で発行されたため、実行されませんでした。

LUA_DUPLICATE_RUI_INIT

セカンダリ リターン コード。 lua_luname パラメーターは、このアプリケーションで既に使用されている LU 名または LU プール名を指定しました (または、このアプリケーションが既 に進行中RUI_INIT )。

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

LUA_COMMAND_COUNT_ERROR

セカンダリ リターン コード。次のいずれかのエラーが発生したことを示します。

アプリケーションが既にアクティブなセッションの最大数に達しているため、動詞を発行できませんでした。 Windows では、アプリケーションは、いつでも 15,000 個のセッションをアクティブにすることができます。

動詞は、LU プールの名前またはプール内の LU の名前を指定しましたが、プール内のすべての LU が使用されています。

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 で、異常終了が発生しました。

    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 プール名。

    RUI_INIT は、ホストから ACTLU メッセージを受信した後に完了します。 必要に応じて、動詞は無期限に待機します。 RUI_INITする前に ACTLU が既に受信されている場合、LUA はホストに NOTIFY を送信して、LU を使用する準備ができていることを通知します。

    ACTLU も NOTIFY も LUA アプリケーションには表示されません。

    RUI_INITが正常に完了すると、このセッションではセッションが開始された LU が使用されます。 RUI_TERMが発行されるまで、または LUA_SESSION_FAILURE プライマリリターンコードを受け取るまで、他の LUA セッション (このアプリケーションまたは他のアプリケーションから) は LU を使用できません。

3270 RU の使用

3270 エミュレーター ユーザーに RUI API でエミュレーター インターフェイス仕様 (EIS) 構成呼び出しを使用できるようにするために、ホスト統合サーバー拡張機能が RUI に追加されました。 この拡張機能を使用すると、LUA LU ではなく 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 要求を発行して、アプリケーションのデータ バッファーを超えたデータを取得できます。

DACTLU を無視する

アプリケーションが RUI_INIT セッション確立lua_resv56[4] を 0 以外の値に設定すると、ホスト統合サーバー拡張機能が有効になり、RUI ライブラリは、ホストで再利用された場合 (つまり、非アクティブ化および再アクティブ化)、アプリケーションが LU を保持できるようにします。

Note

他のすべての予約フィールドは空白のままにする必要があります。

詳細については、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