RpcErrorStartEnumeration 関数 (rpcasync.h)
RpcErrorStartEnumeration 関数は、拡張エラー情報の列挙を開始します。
構文
RPC_STATUS RpcErrorStartEnumeration(
RPC_ERROR_ENUM_HANDLE *EnumHandle
);
パラメーター
EnumHandle
RPC_ERROR_ENUM_HANDLE構造体の形式の列挙ハンドルへのポインター。 構造体は呼び出し元によって割り当てられている必要があり、操作が完了するまで解放できません。 すべてのメンバーは入力時に無視されます。
戻り値
正常に完了すると、RPC_S_OKが返されます。
スレッドに拡張エラー情報がない場合は、RPC_S_ENTRY_NOT_FOUNDを返します。 列挙体が進行中の場合、2 つ目の列挙型の開始は最初から開始されます。
解説
RpcErrorStartEnumeration 関数の呼び出しは、エラーを返した呼び出しの直後に行う必要があります。 それ以外の場合、拡張エラー情報は後続の呼び出しによって上書きされる可能性があります。 列挙ハンドルは、RpcErrorEndEnumeration 関数を使用して解放する必要があります。
RpcErrorStartEnumeration が呼び出されると、別のスレッドの列挙ハンドルを使用しても安全です。 RpcErrorStartEnumeration 関数は拡張エラー情報のスナップショットを受け取り、返される列挙ハンドルはスナップショットに対して動作します。 ただし、列挙関数は RPC によってスレッド間で同期されないため、呼び出し元がこれを行う必要があります。 RpcErrorStartEnumeration の後続の呼び出しは新しい列挙を開始し、同じ拡張エラー情報の 2 つ目の列挙を作成しません。
列挙を開始するのに十分なメモリがない場合、RpcErrorStartEnumeration 関数が失敗する可能性があります。 列挙ハンドルは RpcError* 関数にのみ渡すことができます。 DuplicateHandle などの他の関数では使用できません。
列挙ポインターを 1 つの列挙体に進めることは、独立して開始された列挙には影響しません。
要件
サポートされている最小のクライアント | Windows XP [デスクトップ アプリ | UWP アプリ] |
サポートされている最小のサーバー | Windows Server 2003 [デスクトップ アプリのみ | UWP アプリ] |
対象プラットフォーム | Windows |
ヘッダー | rpcasync.h (Rpc.h を含む) |
Library | Rpcrt4.lib |
[DLL] | Rpcrt4.dll |