RUI_INIT

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

Note

3270 エミュレーター ユーザーの場合、LUA LU ではなく 3270 LU を使用できる Microsoft Host Integration Server 拡張機能が追加されました。 詳細については、このトピックの「解説」を参照してください。

次の構造体は、 LUA_COMMONによって使用 される動詞制御ブロック (VCB) のメンバーを表 RUI_INIT

構文

  
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
指定されたパラメーター。 ローカル LUA セッションで使用されるローカル LU の ASCII Windows指定します。

RUI_INIT パラメーターが必要です。

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

lua_extension_list_offset
の RUI では使用Host Integration Server 0 に設定する必要があります。

lua_cobol_offset
の LUA では使用Host Integration Server 0 である必要があります。

lua_sid
返されたパラメーター。 セッション識別子を指定します。

lua_max_length
を使用しない RUI_INIT 0 に設定する必要があります。

lua_data_length
を使用しない RUI_INIT 0 に設定する必要があります。

lua_data_ptr
を使用しない RUI_INIT 0 に設定する必要があります。

lua_post_handle
指定されたパラメーター。 非同期通知をイベントWindows場合は、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。 配列内の他のすべての予約済みフィールドは空白のままにする必要があります。 詳細については、「解説」セクションで、これらのHost Integration Serverの説明を参照してください。

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 を保持できるようにするかどうかを示します。 このパラメーターが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 によって予期しない lua_verb_length の値で発行されました。

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

LUA_DUPLICATE_RUI_INIT

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

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

LUA_COMMAND_COUNT_ERROR

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

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

動詞には、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 で 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 プール名。

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

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

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

3270 Lu の使用

3270 emulator ユーザーに、rui API で Emulator インターフェイス仕様 () 構成の呼び出しを使用する機能を提供するために、Host Integration Server 拡張機能が rui に追加されました。 この拡張機能を使用すると、LUA Lu ではなく 3270 Lu を使用できます。 アプリケーションがRUI_INIT呼び出しでlua_resv56 [1]を0以外の値に設定すると、3270の lu が使用されます。

LU を解放しない

アプリケーション lua_resv56 [2]RUI_INIT 呼び出しで0以外の値に設定されている場合、lu SSCP セッションまたは接続がなくなると、RUI ライブラリは lu を解放しません。 この Host Integration Server 拡張機能が有効になっている場合、アプリケーションは、セッションエラーまたは接続エラーが発生した後に新しいRUI_INITを発行する必要はありません。 LU SSCP セッションが再び開始されたとき (アプリケーションでは、これを検出するために winを 使用できます)、アプリケーションで再び使用を開始できます。

このセッションでのチャンキングのサポート

アプリケーションがRUI_INITセッションの確立時にlua_resv56 [3]を0以外の値に設定すると、 RUI_READの動作を変更できる Host Integration Server の拡張機能が有効になります。 RUI_READ呼び出しの既定の動作では、アプリケーションのデータバッファーが RU 内のすべてのデータを受信するのに十分な大きさでない場合に、エラーコードを返すことにより、データが切り捨てられます (残りのデータは破棄されます)。 lua_resv56[3]RUI_INIT 呼び出しで 0 以外の値に設定されている場合、アプリケーションのデータ バッファーのサイズが十分でない場合に発行された RUI_READ では、RU データが破棄されません。 この RUI_READ 動詞は、プライマリ リターン コードの成功 (LUA_OK) を返し、セカンダリ リターン コードLUA_DATA_INCOMPLETEを返します。 その 後RUI_READ 要求を発行して、アプリケーションのデータ バッファーを超えたデータを取得できます。

DACTLUs を無視する

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

Note

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

詳細については、3270 Emulator Interface Specification のソフトウェア開発キット (SDK) ヘルプのセクションの sepdcrec 関数の説明を参照してください。

暗号化

セッション レベルの暗号化は、暗号化検証 (CRV) 要求を通じて実装されます。 RUI アプリケーションでは、これらの要求に必要なすべての処理を実行する必要があります。 RUI 以外のすべてのインターフェイスでは、CRV 要求は拒否され、応答が負Host Integration Server。

この RUI_INIT、次のオプションがサポートされています。

  • lua_encr_decr_option = 0

  • lua_encr_decr_option = 128

    1 ~ 127 (ACSRENCR および ACSROECR ルーチン) の値はサポートされていません。

    送信アプリケーションは、データを 8 バイトの倍数に埋め込み、RH で埋め込みデータ インジケーター ビットを設定し、暗号化を行う必要があります。 受信側アプリケーションは、復号化後にパディングを削除する必要があります。

参照

RUI_TERM
SLI_OPEN