次の方法で共有


ACTIVATE_SESSION

ACTIVATE_SESSION動詞は、指定したモードを使用して、ローカル論理ユニット (LU) と指定されたパートナー LU の間のセッションをアクティブ化するように Microsoft® Host Integration Server に要求します。 この動詞は、指定したセッションがアクティブになった場合、または失敗した場合に完了します。

次の構造体では、 ACTIVATE_SESSION 動詞で使用される動詞制御ブロックについて説明します。

構文

  
typedef struct activate_session {  
    unsigned short  opcode;  
    unsigned char   reserv2[2];  
    unsigned short  primary_rc;  
    unsigned long   secondary_rc;  
    unsigned char   reserv3[8];  
    unsigned char   lu_alias[8];  
    unsigned char   plu_alias[8];  
    unsigned char   mode_name[8];  
    unsigned char   fqplu_name[17];  
    unsigned char   polarity;  
    unsigned char   session_id[8];  
    unsigned long   conv_group_id;  
    unsigned char   reserv4[1];  
    unsigned char   type;  
    HANDLE          deactivation_event;  
    unsigned short* p_deactivation_status;  
    unsigned char   reserv5[10];  
} ACTIVATE_SESSION;   

メンバー

opcode
指定されたパラメーター。 動詞操作コード (AP_ACTIVATE_SESSION) を指定します。

reserv2
予約済みフィールド。

primary_rc
返されたパラメーター。 動詞の完了時に APPC によって設定されるプライマリ リターン コードを指定します。 有効なリターン コードは、発行された APPC 動詞によって異なります。 この動詞の有効なエラーコードについては、「リターン コード」を参照してください。

secondary_rc
返されたパラメーター。 動詞の完了時に APPC によって設定されるセカンダリ リターン コードを指定します。 有効なリターン コードは、発行された APPC 動詞によって異なります。 この動詞の有効なエラーコードについては、「リターン コード」を参照してください。

reserv3
予約済みフィールド。

lu_alias
指定されたパラメーター。 LU にローカルで使用される 8 バイトの ASCII 名を提供します。 既定のローカル LU を使用する場合は、このパラメーターにスペースを入力します。

plu_alias
指定されたパラメーター。 パートナー LU にローカルで使用される 8 バイトの ASCII 名を提供します。 既定のリモート LU を使用する場合は、このパラメーターにスペースを入力します。 パートナー LU を fqplu_name パラメーターで指定する場合は、このパラメーターに 2 進ゼロを入力します。

mode_name
指定されたパラメーター。 EBCDIC (型 A) モード名を指定します。

fqplu_name
指定されたパラメーター。 ローカル ノードで plu_alias 名が定義されておらず、パートナー LU が別のノードにある場合は、EBCDIC (タイプ A) でパートナー LU 名を指定します。 plu_aliasが指定されている場合、このパラメーターは無視されます。

polarity
指定されたパラメーター。 セッションの極性を指定します。 次の値を指定できます。

AP_POL_EITHER
AP_POL_EITHERが設定されている場合、ACTIVATE_SESSIONは、使用可能な場合は最初の話者セッションをアクティブにします。それ以外の場合は、入札者セッションがアクティブ化されます。

AP_POL_FIRST_SPEAKER
AP_POL_FIRST_SPEAKERが設定されている場合、ACTIVATE_SESSIONは、要求された極性のセッションが使用可能な場合にのみ成功します。

AP_POL_BIDDER
AP_POL_BIDDERが設定されている場合、ACTIVATE_SESSIONは、要求された極性のセッションが使用可能な場合にのみ成功します。

session_id
返されたパラメーター。 アクティブ化セッションの 8 バイト識別子を提供します。

conv_group_id
返されたパラメーター。 会話グループ識別子を提供します。 このパラメーターは 、ALLOCATE および MC_ALLOCATE 動詞で指定して、この特定のセッションで会話を開始できます。

reserv4
予約済みフィールド。


指定されたパラメーター。 アクティブ化の種類を指定します。 次のいずれかの値になります。

AP_ACT_ACTIVE
AP_ACT_ACTIVEが指定されている場合、Host Integration Server は必要なセッションの開始を試みます (BIND または INIT-SELF を送信します)。

AP_ACT_PASSIVE
AP_ACT_PASSIVEが指定されている場合、Host Integration Server はセッションの開始を試みず、パートナーがセッションを開始すると動詞が完了します。

deactivation_event
指定されたパラメーター。 セッションが非アクティブ化されたときに APPC が通知するイベント ハンドルを提供します。 イベント ハンドルは、 CreateEvent 関数または OpenEvent Win32® 関数を呼び出すことによって取得する必要があります。

p_deactivation_status
返されたパラメーター。 完了状態を提供するために非アクティブ化イベントが通知されたときに設定される値へのポインター。 次の値を返すことができます。

AP_SESSION_DEACTIVATED
AP_COMM_SUBSYSTEM_ABENDED
reserv5
予約済みフィールド。

リターン コード

AP_OK
プライマリ リターン コード。動詞は正常に実行されました。 セカンダリ リターン コードは、確立されたセッションの極性を示します。 次の値を返すことができます。

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

AP_INVALID_LU_ALIAS
セカンダリ リターン コード。APPC は、定義されているものの中で指定された lu_alias を見つけることができません。

AP_INVALID_PLU_ALIAS
セカンダリ リターン コード。APPC は、指定された plu_aliasを認識しませんでした。

AP_INVALID_MODE_NAME
セカンダリ リターン コード。APPC は、指定された mode_nameを認識しませんでした。

AP_INVALID_FQPLU_NAME
セカンダリ リターン コード。APPC は、指定された fqplu_nameを認識しませんでした。

AP_INVALID_POLARITY
セカンダリ リターン コード。APPC は、指定された 極性を認識しませんでした。

AP_INVALID_TYPE
セカンダリ リターン コード。APPC は、指定された を認識しませんでした。

AP_ACTIVATION_FAIL_NO_RETRY
主なリターン コード。アクションを必要とする条件 (構成の不一致やセッション プロトコル エラーなど) により、セッションをアクティブにできませんでした。

AP_ACTIVATION_FAIL_RETRY
主なリターン コード。一時的な状態 (リンクエラーなど) が原因でセッションをアクティブにできませんでした。

AP_SESSION_LIMITS_EXCEEDED
主なリターン コード。セッションの制限を超えたため、セッションをアクティブにできませんでした。

AP_SESSION_LIMITS_CLOSED
主なリターン コード。セッションの制限が閉じられている (つまり、ゼロ) ため、セッションをアクティブにできませんでした。

AP_COMM_SUBSYSTEM_ABENDED
主なリターン コード。は、次のいずれかの条件が発生したことを示します。

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

TP と PU 2.1 ノード間の接続が切断されました (ローカル エリア ネットワーク エラーが発生しました)。

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

ABEND の理由を特定するには、システム管理者がエラー ログを調べる必要があります。

AP_COMM_SUBSYSTEM_NOT_LOADED
プライマリ リターン コード。動詞の処理中に、必要なコンポーネントを読み込めなかったか、終了できませんでした。 そのため、通信を行うことができませんでした。 是正措置については、システム管理者に問い合わせてください。

AP_STACK_TOO_SMALL
プライマリ リターン コード。アプリケーションのスタック サイズが小さすぎて動詞を実行できません。 アプリケーションのスタック サイズを増やしてください。

AP_THREAD_BLOCKING
プライマリ リターン コード。呼び出し元のスレッドは、既にブロック呼び出しにあります。

注釈

この動詞は、アクティブアクティブアクティブとパッシブアクティブ化の両方をサポートします。

この動詞のアクティブな形式では、Host Integration Server がセッションを開始しようとしています (独立した LU の場合は BIND を、依存 LU の場合は INIT-SELF を送信します)。 この動詞のアクティブな形式では、次の動作も発生します。

  • パートナー LU への接続が非アクティブで、オンデマンドとして構成されている場合、ノードは接続の開始を試みます。

  • 動的パートナーが使用されている場合、ノードは LU-LU/MODE パートナーシップを設定します。

  • CNOS が実行されていない場合、ノードは CNOS を起動します (ただし、セッションの制限は変更されません)。

    パッシブ 形式ではセッションの開始は試行されませんが、LU がパートナー LU から BIND によって開始されると完了します。 独立した LU の場合、同じ LU-LU/MODE に対して複数のパッシブ ACTIVATE_SESSION 動詞をキューに入れ、新しいセッションが開始されると順番に完了できます。

    この動詞には非アクティブ化イベントも含まれます。これは、 セッションがDEACTIVATE_SESSION 動詞以外のメソッドによって非アクティブ化されるときに投稿されます (たとえば、パートナー LU からの未承諾の UNBIND の結果、このイベントがポストされます)。