Função RpcErrorGetNextRecord (rpcasync.h)
A função RpcErrorGetNextRecord recupera o próximo registro de informações de erro estendido para um identificador de enumeração.
Sintaxe
RPC_STATUS RpcErrorGetNextRecord(
[in] RPC_ERROR_ENUM_HANDLE *EnumHandle,
[in] BOOL CopyStrings,
[out] RPC_EXTENDED_ERROR_INFO *ErrorInfo
);
Parâmetros
[in] 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.
[in] CopyStrings
Especifica se os campos de cadeia de caracteres em ErrorInfo são copiados para o heap do sistema padrão, momento em que a propriedade desses buffers é transferida para o chamador.
TRUE indica que as cadeias de caracteres devem ser copiadas para o heap do sistema.
FALSE indica que as cadeias de caracteres em ErrorInfo apontam para estruturas de dados RPC internas; o chamador não pode liberar ou gravar neles e ele se torna inválido quando a função RpcErrorEndEnumeration é chamada.
[out] ErrorInfo
Ponteiro para uma estrutura RPC_EXTENDED_ERROR_INFO . Consulte Observações.
Valor retornado
Se CopyStrings for false, a chamada de função não poderá falhar, a menos que seus parâmetros sejam inválidos. Quando o último registro de erro estendido é recuperado, RpcErrorGetNextRecord retorna RPC_S_OK. Todas as chamadas subsequentes retornam RPC_S_ENTRY_NOT_FOUND.
Após qualquer erro, a posição de enumeração não é avançada.
Comentários
Após a entrada, os seguintes campos devem ser definidos em ErrorInfo:
- A versão deve ser definida como RPC_EEINFO_VERSION.
- NumberOfParameters deve ser definido como um valor entre zero e MaxNumberOfEEInfoParams. Os chamadores são livres para fornecer espaço para qualquer número de parâmetros. Se o número de parâmetros fornecidos pelo chamador for menor que o número de parâmetros no registro de erro estendido, RPC_S_BUFFER_TOO_SMALL será retornado.
- Os sinalizadores devem ser zero ou EEInfoUseFileTime deve ser especificado. Se Flags for zero, o membro SystemTime da união u será usado. Se EEInfoUseFileTime for especificado, o membro FileTime da união u será usado.
Após a saída, os campos em ErrorInfo são preenchidos da seguinte maneira:
- A versão não foi alterada.
- ComputerName será NULL se não houver nenhum nome de computador no registro ou uma cadeia de caracteres Unicode se um nome de computador existir no registro de informações de erro estendido. Se NULL, o último registro com um nome de computador poderá ser assumido, no entanto, o nome do computador pode ter sido descartado para memória insuficiente. ComputerName é um nome DNS não qualificado.
- ProcessID é o PID do processo em que o registro se originou.
- SystemTime ou FileTime é a hora em que o registro foi gerado, expresso no UCT, para o computador no qual o registro foi gerado. FileTime ou SystemTime é válido, com base em se EEInfoUseFileTime é usado.
- GeneratingComponent é o código para o componente gerador.
- Status é o código status do registro.
- DetectionLocation é o código para o local de detecção.
- Os sinalizadores especificam se os registros estão ausentes. Se um ou mais registros estiverem ausentes depois que o registro atual estiver ausente, EEInfoNextRecordsMissing será definido. Se um ou mais registros antes do registro atual estiver ausente, EEInfoPreviousRecordsMissing será definido.
- NumberOfParameters especifica o número verdadeiro de parâmetros. Se o chamador especificou espaço para mais parâmetros na entrada do que no registro, esse campo conterá o número de parâmetros usados.
- Parâmetros são os parâmetros reais, fornecidos como uma matriz de estruturas RPC_EE_INFO_PARAM com estruturas NumberOfParameters .
Requisitos
Requisito | Valor |
---|---|
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 |