Função RpcErrorStartEnumeration (rpcasync.h)
A função RpcErrorStartEnumeration inicia a enumeração de informações de erro estendidas.
Sintaxe
RPC_STATUS RpcErrorStartEnumeration(
RPC_ERROR_ENUM_HANDLE *EnumHandle
);
Parâmetros
EnumHandle
Ponteiro para o identificador de enumeração, na forma de uma estrutura RPC_ERROR_ENUM_HANDLE . A estrutura deve ser alocada pelo chamador e não pode ser liberada até que a operação seja concluída. Todos os membros são ignorados na entrada.
Valor retornado
A conclusão bem-sucedida retorna RPC_S_OK.
Retorna RPC_S_ENTRY_NOT_FOUND se nenhuma informação de erro estendida estiver no thread. Se uma enumeração estiver em andamento, iniciar uma segunda enumeração começará desde o início.
Comentários
A chamada da função RpcErrorStartEnumeration deve ser feita imediatamente após a chamada que retornou o erro. Caso contrário, as informações de erro estendidas poderão ser substituídas por chamadas subsequentes. Os identificadores de enumeração devem ser liberados com a função RpcErrorEndEnumeration.
Depois que RpcErrorStartEnumeration for chamado, é seguro usar o identificador de enumeração de um thread diferente. A função RpcErrorStartEnumeration usa uma instantâneo das informações de erro estendidas e o identificador de enumeração que retorna opera no instantâneo. No entanto, as funções de enumeração não são sincronizadas entre threads por RPC e, portanto, o chamador é responsável por fazer isso. As chamadas subsequentes para RpcErrorStartEnumeration iniciam uma nova enumeração e não criam uma segunda enumeração para as mesmas informações de erro estendidas.
A função RpcErrorStartEnumeration poderá falhar se não houver memória suficiente para iniciar a enumeração. O identificador de enumeração só pode ser passado para funções RpcError* e não pode ser usado com outras funções, como DuplicateHandle.
O avanço do ponteiro de enumeração em uma enumeração não tem efeito sobre enumerações iniciadas independentemente.
Requisitos
Cliente mínimo com suporte | Windows XP [aplicativos da área de trabalho | aplicativos UWP] |
Servidor mínimo com suporte | Windows Server 2003 [aplicativos da área de trabalho | Aplicativos UWP] |
Plataforma de Destino | Windows |
Cabeçalho | rpcasync.h (inclua Rpc.h) |
Biblioteca | Rpcrt4.lib |
DLL | Rpcrt4.dll |