Compartilhar via


Função WsGetFaultErrorDetail (webservices.h)

Leia os detalhes de falha armazenados em um objeto WS_ERROR .

Sintaxe

HRESULT WsGetFaultErrorDetail(
  [in]           WS_ERROR                          *error,
  [in]           const WS_FAULT_DETAIL_DESCRIPTION *faultDetailDescription,
  [in]           WS_READ_OPTION                    readOption,
  [in, optional] WS_HEAP                           *heap,
                 void                              *value,
  [in]           ULONG                             valueSize
);

Parâmetros

[in] error

O objeto de erro que contém as informações de falha.

[in] faultDetailDescription

Um ponteiro para uma descrição do elemento de detalhes da falha.

O valor da ação da descrição do detalhe da falha é usado como um valor de filtro para corresponder à ação da falha. Se ambas as cadeias de caracteres de ação forem especificadas (o valor da ação da descrição de detalhes da falha não for NULL e o valor da ação WS_FAULT_ERROR_PROPERTY_ACTION no WS_ERROR tiver um comprimento maior que zero), as cadeias de caracteres de ação serão comparadas para determinar uma correspondência. Se houver uma correspondência, a função tentará desserializar o elemento de detalhes.

A descrição do elemento da descrição do detalhe da falha é usada para descrever o formato do elemento nos detalhes da falha.

[in] readOption

Se o elemento é necessário e como alocar o valor. Consulte WS_READ_OPTION para obter mais informações.

[in, optional] heap

O heap no qual armazenar os valores desserializados.

value

A interpretação desse parâmetro depende do WS_READ_OPTION.

[in] valueSize

A interpretação desse parâmetro depende do WS_READ_OPTION.

Retornar valor

Essa função pode retornar um desses valores.

Código de retorno Descrição
WS_E_INVALID_FORMAT
Os dados de entrada não estavam no formato esperado ou não tinham o valor esperado.
E_OUTOFMEMORY
Ficou sem memória.
WS_E_QUOTA_EXCEEDED
A cota de tamanho do heap foi excedida.
E_INVALIDARG
Um ou mais argumentos são inválidos.

Comentários

Essa API desserializa o valor do campo de detalhes do WS_FAULT armazenado no objeto WS_ERROR .

Essas funções dão suporte aos seguintes cenários, com base no conteúdo do WS_ELEMENT_DESCRIPTION no WS_FAULT_DETAIL_DESCRIPTION fornecido:

  • Lendo um único elemento. Nesse caso, os campos elementLocalName e elementNs do WS_ELEMENT_DESCRIPTION devem ser definidos como o nome local e o namespace do elemento a ser lido, e o tipo e a descrição do tipo representam o tipo do valor que está sendo desserializado.

    Como diferentes falhas com formatos de detalhes diferentes podem ser esperadas de um serviço, essa função pode ser chamada sucessivamente para tentar ler cada tipo de detalhe. Nesse caso, o valor WS_READ_OPTIONAL_POINTER pode ser especificado, que retornará um ponteiro NULL se o nome do elemento no detalhe da falha não corresponder ao valor esperado.

  • Lendo vários elementos como um único valor. Nesse caso, os campos elementLocalName e elementNs do WS_ELEMENT_DESCRIPTION devem ser definidos como NULL e um WS_STRUCT_TYPE e WS_STRUCT_DESCRIPTION devem ser especificados. Cada campo do valor da estrutura que está sendo desserializado deve corresponder aos elementos a serem lidos dentro do corpo. O parâmetro readOption deve ser WS_READ_REQUIRED_VALUE ou WS_READ_REQUIRED_POINTER.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 7 [aplicativos da área de trabalho | Aplicativos UWP]
Servidor mínimo com suporte Windows Server 2008 R2 [aplicativos da área de trabalho | Aplicativos UWP]
Plataforma de Destino Windows
Cabeçalho webservices.h
Biblioteca WebServices.lib
DLL WebServices.dll