rpcErrorStartEnumeration 函数 (rpcasync.h)

RpcErrorStartEnumeration 函数开始枚举扩展错误信息。

语法

RPC_STATUS RpcErrorStartEnumeration(
  RPC_ERROR_ENUM_HANDLE *EnumHandle
);

parameters

EnumHandle

指向枚举句柄的指针,采用 RPC_ERROR_ENUM_HANDLE 结构的形式。 结构必须由调用方分配,在操作完成之前无法释放。 输入时会忽略所有成员。

返回值

成功完成将返回RPC_S_OK。

如果线程上没有扩展错误信息,则返回RPC_S_ENTRY_NOT_FOUND。 如果枚举正在进行中,则从头开始启动第二个枚举。

注意 有关有效错误代码的列表,请参阅 RPC 返回值
 

注解

RpcErrorStartEnumeration 函数调用应在返回错误的调用之后立即进行。 否则,后续调用可能会覆盖扩展错误信息。 必须使用 RpcErrorEndEnumeration 函数释放枚举句柄。

调用 RpcErrorStartEnumeration 后,可以安全地从其他线程使用枚举句柄。 RpcErrorStartEnumeration 函数接受扩展错误信息的快照,返回的枚举句柄对快照进行操作。 但是,枚举函数不会通过 RPC 在线程之间同步,因此调用方负责执行此操作。 对 RpcErrorStartEnumeration 的后续调用将开始一个新的枚举,并且不会为相同的扩展错误信息创建第二个枚举。

如果没有足够的内存来开始枚举,RpcErrorStartEnumeration 函数可能会失败。 枚举句柄只能传递给 RpcError* 函数,不能与其他函数(如 DuplicateHandle)一起使用。

在一个枚举上推进枚举指针对独立启动的枚举没有影响。

要求

   
最低受支持的客户端 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

RpcErrorAddRecord

RpcErrorClearInformation

RpcErrorEndEnumeration

RpcErrorGetNextRecord

RpcErrorGetNumberOfRecords

RpcErrorLoadErrorInfo

RpcErrorResetEnumeration

RpcErrorSaveErrorInfo