次の方法で共有


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;   

メンバー

オペコード
指定されたパラメーター。 動詞操作コード (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が指定されている場合、このパラメーターは無視されます。

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

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は、要求された極性のセッションが使用可能な場合にのみ成功します。

セッション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のうち、指定された 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
プライマリ リターン コード。は、次のいずれかの条件が発生したことを示します。

この会話で使用されたノードで、異常終了が発生しました。

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

TP のコンピューターの SnaBase で、異常終了が発生しました。

システム管理者は、エラー・ログを調べて、異常終了の理由を判別する必要があります。

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 の結果、このイベントがポストされます)。