次の方法で共有


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;  
};   

メンバー

オペコード
指定されたパラメーター。 動詞操作コード (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 識別子と一致しませんでした。