TP_STARTED

TP_STARTED 動詞は、トランザクション プログラム (TP) によって発行され、TP が開始していることを APPC に通知します。

Microsoft® Windows® バージョン 3.x システムの場合は、この呼び出しのブロック バージョンではなく、WinAsyncAPPC 関数を使用することが推奨されます。

次の構造体に、TP_STARTED 動詞で使用される Verb 制御ブロック (VCB) を示します。

構文

  
struct tp_started {  
    unsigned short  opcode;  
    unsigned char   opext;  
    unsigned char   reserv2;  
    unsigned short  primary_rc;  
    unsigned long   secondary_rc;  
    unsigned char   lu_alias[8];  
    unsigned char   tp_id[8];  
    unsigned char   tp_name[64];  
    unsigned char   syncpoint_rqd;  
};   

メンバー

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

opext
指定されたパラメーター。 動詞操作拡張機能を指定します。 AP_EXTD_VCB ビットが設定されている場合は、tp_started 構造体に、同期ポイントのサポートに使用される syncpoint_rqd メンバーが含まれていることを示します。 そうでない場合、Verb 制御ブロックは tp_name メンバーの直後で終了します。

reserv2
予約済みフィールド。

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

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

lu_alias
指定されたパラメーター。 ローカル TP がローカル LU を認識するための手段であるエイリアスを指定します。

この名前は、構成時に確立された LU エイリアスと一致する必要があります。 APPC では、現在の Host Integration Server 構成ファイルに対して LU エイリアスがチェックされます。 ただし、Host Integration Server によって使用されるクライアント/サーバー アーキテクチャにより、このパラメーターは、ALLOCATE または MC_ALLOCATE が実行されるまで検証されません。

このパラメーターは、8 バイトの ASCII 文字列です。 次の ASCII 文字で構成できます。

  • 大文字

  • 0 から 9 の数字

  • スペース

  • 特殊文字 $、#、%、@

この文字列の先頭の文字をスペースにすることはできません。

このパラメーターの値の長さが 8 バイト未満の場合は、右側に ASCII スペース (0x20) で埋め込みます。

既定の LU プールの LU を使用するには、このフィールドを 8 桁の 16 進数の 0 に設定します。 詳細については、「既定の LU」をご覧ください。

tp_id
返されたパラメーター。 新しく確立された TP を識別します。

tp_name
指定されたパラメーター。 ローカル TP の名前を指定します。

APPC の Host Integration Server 実装では、このパラメーターは、TP_STARTED によって発行された場合に無視されます。 ただし、このパラメーターは、プログラムが、APPC の IBM ES for OS/2 バージョン 1.0 の実装で実行される場合に必須です。

このパラメーターは 64 バイトの EBCDIC 文字列であり、大文字と小文字が区別されます。 tp_name パラメーターは、次の EDCDIC 文字で構成できます。

  • 大文字と小文字

  • 0 から 9 の数字

  • 特殊文字 $、#、@、ピリオド (.)

TP 名の長さが 64 バイト未満の場合は、EBCDIC スペース (0x40) を使用して右側に埋め込みます。

サービス TP 名の SNA 規則は、最大 4 文字です。 先頭の文字は、0x00 から 0x3F までの 16 進数のバイトです。

syncpoint_rqd
この省略可能なパラメーターは、AP_EXTD_VCB ビットが opext パラメーターに設定され、同期ポイント サービスが必要な場合にのみ適用されます。

  • 同期ポイントが必要な場合は AP_YES。
  • 同期ポイントが必要でない場合は AP_NO。

リターン コード

AP_OK
プライマリ リターン コード。動詞は正常に実行されました。

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

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

  • TP と PU 2.1 ノードの間の接続が切断されました (LAN エラー)。

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

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

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

AP_INVALID_VERB_SEGMENT
プライマリ リターン コード。VCB がデータ セグメントの終わりを越えています。

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

AP_TP_BUSY
プライマリ リターン コード。APPC が同じ TP の別の呼び出しを処理中に、ローカル TP が APPC への呼び出しを発行しました。

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

AP_UNEXPECTED_DOS_ERROR
プライマリ リターン コード。ローカル TP からの APPC 呼び出しの処理中に、オペレーティング システムから APPC にエラーが返されました。 オペレーティング システムのリターン コードは、secondary_rc 経由で返されます。 これは、Intel バイトスワップ順で表示されます。 問題が解決しない場合は、システム管理者に問い合わせてください。

解説

TP_STARTED への応答で、APPC によって呼び出し元の TP の TP 識別子が生成されます。 この識別子は、呼び出し元 TP によって発行された後続の APPC 動詞に必要なパラメーターです。

これは、呼び出し元 TP によって発行された最初の APPC 動詞である必要があります。 そのため、以前の APPC 状態は存在しません。

動詞が正常に実行された (primary_rc が AP_OK である) 場合、状態が RESET に変わります。

このセクションの内容