Compartir a través de


Función RpcErrorStartEnumeration (rpcasync.h)

La función RpcErrorStartEnumeration comienza la enumeración de la información de error extendida.

Sintaxis

RPC_STATUS RpcErrorStartEnumeration(
  RPC_ERROR_ENUM_HANDLE *EnumHandle
);

Parámetros

EnumHandle

Puntero al identificador de enumeración, en forma de estructura RPC_ERROR_ENUM_HANDLE . El autor de la llamada debe asignar la estructura y no se puede liberar hasta que se complete la operación. Todos los miembros se omiten en la entrada.

Valor devuelto

La finalización correcta devuelve RPC_S_OK.

Devuelve RPC_S_ENTRY_NOT_FOUND si no hay información de error extendida en el subproceso. Si una enumeración está en curso, iniciar una segunda enumeración comienza desde el principio.

Nota Para obtener una lista de códigos de error válidos, consulte Rpc Return Values.
 

Comentarios

La llamada a la función RpcErrorStartEnumeration debe realizarse inmediatamente después de la llamada que devolvió el error. De lo contrario, las llamadas posteriores pueden sobrescribir la información de error extendida. Los identificadores de enumeración deben liberarse con la función RpcErrorEndEnumeration.

Una vez que se llama a RpcErrorStartEnumeration , es seguro usar el identificador de enumeración de un subproceso diferente. La función RpcErrorStartEnumeration toma una instantánea de la información de error extendida y el identificador de enumeración que devuelve funciona en la instantánea. Sin embargo, las funciones de enumeración no se sincronizan entre subprocesos por RPC, por lo que el autor de la llamada es responsable de hacerlo. Las llamadas posteriores a RpcErrorStartEnumeration comienzan una nueva enumeración y no crean una segunda enumeración para la misma información de error extendida.

La función RpcErrorStartEnumeration puede producir un error si no hay suficiente memoria para comenzar la enumeración. El identificador de enumeración solo se puede pasar a las funciones RpcError* y no se puede usar con otras funciones, como DuplicateHandle.

Avanzar el puntero de enumeración en una enumeración no tiene ningún efecto en las enumeraciones iniciadas de forma independiente.

Requisitos

   
Cliente mínimo compatible Windows XP [aplicaciones de escritorio | aplicaciones para UWP]
Servidor mínimo compatible Windows Server 2003 [aplicaciones de escritorio | aplicaciones para UWP]
Plataforma de destino Windows
Encabezado rpcasync.h (incluir Rpc.h)
Library Rpcrt4.lib
Archivo DLL Rpcrt4.dll

Consulte también

Obtención de información de error de RPC extendida

RPC_EE_INFO_PARAM

RPC_ERROR_ENUM_HANDLE

RPC_EXTENDED_ERROR_INFO

RpcErrorAddRecord

RpcErrorClearInformation

RpcErrorEndEnumeration

RpcErrorGetNextRecord

RpcErrorGetNumberOfRecords

RpcErrorLoadErrorInfo

RpcErrorResetEnumeration

RpcErrorSaveErrorInfo