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.
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 |