Compartilhar via


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.

Nota Para obter uma lista de códigos de erro válidos, consulte RPC Return Values.
 

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

Confira também

Obtendo informações de erro de RPC estendidas

RPC_EE_INFO_PARAM

RPC_ERROR_ENUM_HANDLE

RPC_EXTENDED_ERROR_INFO

RpcErrorAddRecord

RpcErrorClearInformation

RpcErrorEndEnumeration

RpcErrorGetNextRecord

RpcErrorGetNumberOfRecords

RpcErrorLoadErrorInfo

RpcErrorResetEnumeration

RpcErrorSaveErrorInfo