MC_RECEIVE_LOG_DATA
MC_RECEIVE_LOG_DATA動詞を使用すると、ユーザーは登録して、受信関数管理ヘッダー 7 (FMH7) エラー レポートに関連付けられたログ データを受信できます。 動詞はバッファーを APPC に渡し、受信したすべてのログ データがそのバッファーに配置されます。 APPC では、別のバッファーが提供されるまで (つまり、トランザクション プログラム (TP) が別のバッファーを指定するか、バッファーをまったく指定しない MC_RECEIVE_LOG_DATA が発行されるまで)、連続する FMH7 が到着すると、このバッファーが引き続き使用されます。
TP 自体は、バッファーの割り当てと解放を担当することに注意してください。 バッファーが APPC に渡された後、TP は新しいバッファーまたは長さ 0 のバッファーを指定 する別のMC_RECEIVE_LOG_DATA を発行するか、メッセージ交換が完了するまで待ってから元のバッファーを解放する必要があります。
FMH7 を受信すると、APPC は関連するエラー・ログ一般データ・ストリーム (GDS) をバッファーにコピーします。 関連するエラー ログ変数がない場合、バッファーはゼロになります。受信動詞からのリターン コードがエラーを受信したことを示す場合は常に、バッファーをチェックするのは TP です。
次の構造体では、 MC_RECEIVE_LOG_DATA 動詞で使用される動詞制御ブロック (VCB) について説明します。
構文
struct mc_receive_log_data {
unsigned short opcode;
unsigned char opext;
unsigned char reserv1;
unsigned short primary_rc;
unsigned long secondary_rc;
unsigned char tp_id[8];
unsigned long conv_id;
unsigned short log_dlen;
unsigned char FAR * log_dptr;
};
メンバー
opcode
指定されたパラメーター。 動詞操作コード (AP_M_RECEIVE_LOG_DATA) を指定します。
opext
指定されたパラメーター。 動詞操作拡張機能AP_MAPPED_CONVERSATIONを指定します。
reserv1
予約済みフィールド。
primary_rc
返されたパラメーター。 動詞の完了時に APPC によって設定されるプライマリ リターン コードを指定します。 有効なリターン コードは、発行された APPC 動詞によって異なります。 この動詞の有効なエラーコードについては、「リターン コード」を参照してください。
secondary_rc
返されたパラメーター。 動詞の完了時に APPC によって設定されるセカンダリ リターン コードを指定します。 有効なリターン コードは、発行された APPC 動詞によって異なります。 この動詞の有効なエラーコードについては、「リターン コード」を参照してください。
tp_id
指定されたパラメーター。 ローカル TP を識別します。 このパラメーターの値は、呼び出し元の TP で TP_STARTED するか、呼び出された TP のRECEIVE_ALLOCATE によって返されます。
conv_id
指定されたパラメーター。 会話識別子を提供します。 このパラメーターの値は、呼び出し元の TP で MC_ALLOCATE するか、呼び出された TP でRECEIVE_ALLOCATE することによって返されます。
log_dlen
指定されたパラメーター。 APPC がバッファーに格納できるログ データの最大長 (つまりバッファー サイズ) を指定します。 範囲は 0 ~ 65535 です。 ここでの長さが 0 の場合は、以前の MC_RECEIVE_LOG_DATA 動詞を取り消す必要があることを示します。
log_dptr
指定されたパラメーター。 APPC がログ データの格納に使用するバッファーのアドレスを指定します。
リターン コード
AP_OK
プライマリ リターン コード。動詞は正常に実行されました。
AP_PARAMETER_CHECK
プライマリ リターン コード。パラメーター エラーのため、動詞は実行されませんでした。
AP_BAD_CONV_ID
セカンダリ リターン コード。 conv_id の値が、APPC によって割り当てられた会話識別子と一致しませんでした。
AP_BAD_TP_ID
セカンダリ リターン コード。 tp_id の値が、APPC によって割り当てられた TP 識別子と一致しませんでした。