RpcErrorGetNextRecord 関数 (rpcasync.h)

RpcErrorGetNextRecord 関数は、列挙ハンドルの次の拡張エラー情報レコードを取得します。

構文

RPC_STATUS RpcErrorGetNextRecord(
  [in]  RPC_ERROR_ENUM_HANDLE   *EnumHandle,
  [in]  BOOL                    CopyStrings,
  [out] RPC_EXTENDED_ERROR_INFO *ErrorInfo
);

パラメーター

[in] EnumHandle

RPC_ERROR_ENUM_HANDLE構造体の形式の列挙ハンドルへのポインター。 構造体は呼び出し元によって割り当てられる必要があり、操作が完了するまで解放することはできません。 入力時にすべてのメンバーは無視されます。

[in] CopyStrings

ErrorInfo の文字列フィールドを既定のシステム ヒープにコピーするかどうかを指定します。この時点で、それらのバッファーの所有権が呼び出し元に転送されます。

TRUE は、文字列をシステム ヒープにコピーすることを示します。

FALSE は、 ErrorInfo 内の文字列が内部 RPC データ構造を指します。呼び出し元は解放したり書き込んだりすることはできません。 RpcErrorEndEnumeration 関数が呼び出されると無効になります。

[out] ErrorInfo

RPC_EXTENDED_ERROR_INFO構造体へのポインター。 「解説」を参照してください。

戻り値

CopyStrings が false の場合、パラメーターが無効でない限り、関数呼び出しは失敗しません。 最後の拡張エラー レコードが取得されると、 RpcErrorGetNextRecord は RPC_S_OKを返します。 それ以降の呼び出しでは、RPC_S_ENTRY_NOT_FOUNDが返されます。

エラーが発生した場合、列挙位置は高度ではありません。

メモ 有効なエラー コードの一覧については、「 RPC 戻り値」を参照してください。
 

注釈

入力時に、 ErrorInfo で次のフィールドを設定する必要があります。

  • バージョン は RPC_EEINFO_VERSION に設定する必要があります。
  • NumberOfParameters は、0 から MaxNumberOfEEInfoParams までの値に設定する必要があります。 呼び出し元は、任意の数のパラメーターに空き領域を提供できます。 呼び出し元によって提供されるパラメーターの数が、拡張エラー・レコード内のパラメーターの数より少ない場合は、RPC_S_BUFFER_TOO_SMALLが返されます。
  • フラグ は 0 であるか、 EEInfoUseFileTime を 指定する必要があります。 Flags が 0 の場合、u 共用体の SystemTime メンバーが使用されます。 EEInfoUseFileTime を指定すると、u 共用体の FileTime メンバーが使用されます。
ErrorInfo の他のフィールドは入力時に無視されます。

出力時に、 ErrorInfo のフィールドは次のように入力されます。

  • バージョン は変更されません。
  • レコード にコンピューター名がない場合は ComputerName が NULL 、拡張エラー情報レコードにコンピューター名が存在する場合は Unicode 文字列です。 NULL の場合は、コンピューター名を持つ最後のレコードを想定できますが、メモリ不足のためコンピューター名が削除されている可能性があります。 ComputerName は非修飾 DNS 名です。
  • ProcessID は、レコードが発生したプロセスの PID です。
  • SystemTime または FileTime は、レコードが生成されたコンピューターに対して、UCT で表されるレコードが生成された時刻です。 FileTime または SystemTime は、EEInfoUseFileTime が使用されているかどうかに基づいて有効です。
  • GeneratingComponent は、生成コンポーネントのコードです。
  • Status はレコードの状態コードです。
  • DetectionLocation は、検出場所のコードです。
  • Flags は 、レコードが見つからないかどうかを指定します。 現在のレコードが見つからない後に 1 つ以上のレコードが見つからない場合は、 EEInfoNextRecordsMissing が設定されます。 現在のレコードの前に 1 つ以上のレコードがない場合は、 EEInfoPreviousRecordsMissing が設定されます。
  • NumberOfParameters は、 パラメーターの真数を指定します。 呼び出し元が入力時に、レコード内のパラメーターよりも多くのパラメーターにスペースを指定した場合、このフィールドには使用されるパラメーターの数が含まれます。
  • Parameters は、NumberOfParameters 構造体を持つRPC_EE_INFO_PARAM構造体の配列として提供される実際のパラメーターです。

要件

要件
サポートされている最小のクライアント Windows XP [デスクトップ アプリ | UWP アプリ]
サポートされている最小のサーバー Windows Server 2003 [デスクトップ アプリのみ | UWP アプリ]
対象プラットフォーム Windows
ヘッダー rpcasync.h (Rpc.h を含む)
Library Rpcrt4.lib
[DLL] Rpcrt4.dll

こちらもご覧ください

拡張 RPC エラー情報の取得

RPC_EE_INFO_PARAM

RPC_ERROR_ENUM_HANDLE

RPC_EXTENDED_ERROR_INFO

RpcErrorEndEnumeration

RpcErrorStartEnumeration