GET_STATE動詞は、特定の会話の状態を返します。
次の構造体では、 GET_STATE 動詞で使用される動詞制御ブロック (VCB) について説明します。
構文
struct get_state {
unsigned short opcode;
unsigned char opext;
unsigned char reserv2;
unsigned short primary_rc;
unsigned long secondary_rc;
unsigned char tp_id[8];
unsigned long conv_id;
unsigned char conv_state;
};
メンバー
オペコード
指定されたパラメーター。 動詞の操作コード (AP_GET_STATE) を指定します。
opext
このフィールドは、 GET_STATE 動詞では使用されません。
reserv2
予約済みフィールド。
primary_rc
返されたパラメーター。 動詞の完了時に APPC によって設定される主なリターン コードを指定します。 有効なリターン コードは、発行された APPC 動詞によって異なります。 この動詞の有効なエラー コードについては、リターン コードを参照してください。
secondary_rc
返されたパラメーター。 動詞の完了時に APPC によって設定されるセカンダリ リターン コードを指定します。 有効なリターン コードは、発行された APPC 動詞によって異なります。 この動詞の有効なエラー コードについては、リターン コードを参照してください。
tp_id
指定されたパラメーター。 ローカル トランザクション プログラム (TP) を識別します。 このパラメーターの値は、呼び出し元の TP の TP_STARTED または呼び出された TP のRECEIVE_ALLOCATE によって返されました。
conv_id
指定されたパラメーター。 この TP が問い合わせ中の会話の識別子を提供します。 このパラメーターの値は、呼び出し元 TP のMC_ALLOCATE または ALLOCATE 、または呼び出された TP のRECEIVE_ALLOCATE によって返されました。
conv_state
返されたパラメーター。 会話の状態を示します。
conv_state パラメーターには、次のいずれかの値を指定できます。
AP_RESET_STATE
会話は RESET 状態です。
AP_SEND_STATE
会話は SEND 状態です。
AP_RECEIVE_STATE
会話は RECEIVE 状態です。
AP_CONFIRM_STATE
会話は CONFIRM 状態です。
AP_CONFIRM_SEND_STATE
会話はCONFIRM_SEND状態です。
AP_CONFIRM_DEALL_STATE
会話はCONFIRM_DEALLOCATE状態です。
AP_PEND_POST_STATE
会話には POST 動詞が保留中です。
AP_PEND_DEALL_STATE
会話には DEALLOCATE 動詞が保留中です。
AP_END_CONV_STATE
会話はEND_CONVERSATION状態です。
AP_SEND_PENDING_STATE
会話はSEND_PENDING状態です。
リターン コード
AP_OK
プライマリ リターン コード。動詞が正常に実行されました。
AP_PARAMETER_CHECK
プライマリ リターン コード。パラメーター エラーのため、動詞が実行されませんでした。
AP_BAD_CONV_ID
セカンダリ リターン コード。 conv_id の値が、APPC によって割り当てられた会話識別子と一致しませんでした。
AP_BAD_TP_ID
セカンダリ リターン コード。 tp_id の値が、APPC によって割り当てられた TP 識別子と一致しませんでした。
AP_COMM_SUBSYSTEM_ABENDED
プライマリ リターン コード。は、次のいずれかの条件を示します。
この会話で使用されたノードで、異常終了が発生しました。
TP と PU 2.1 ノード間の接続が切断されました (LAN エラー)。
TP のコンピューターの SnaBase で、異常終了が発生しました。
システム管理者は、エラー・ログを調べて、異常終了の理由を判別する必要があります。
AP_INVALID_VERB_SEGMENT
プライマリ リターン コード。データ セグメントの末尾を超えて拡張された VCB。AP_STACK_TOO_SMALL
プライマリ リターン コード。アプリケーションのスタック サイズが小さすぎて動詞を実行できませんでした。 アプリケーションのスタック サイズを増やします。AP_CONV_BUSY
プライマリ リターン コード。どの会話でも、一度に 1 つの未処理の会話動詞しか存在できません。 これは、ローカル TP に複数のスレッドがあり、複数のスレッドが同じ conv_idを使用して APPC 呼び出しを発行している場合に発生する可能性があります。AP_UNEXPECTED_DOS_ERROR
プライマリ リターン コード。ローカル TP からの APPC 呼び出しの処理中に、オペレーティング システムから APPC にエラーが返されました。 オペレーティング システムのリターン コードは、 secondary_rcを介して返されます。 Intel のバイト スワップ順に表示されます。 問題が解決しない場合は、システム管理者に問い合わせてください。
注釈
TP がこの動詞を発行すると、会話は任意の状態になります。
状態の変更はありません。