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 に変わります。