Função WsReadBody (webservices.h)
Essa é uma função auxiliar que desserializa um valor dos Leitores XML da mensagem. O WS_MESSAGE_STATE deve ser definido como WS_MESSAGE_STATE_READING. Essa função não causa nenhuma transição de estado.
Sintaxe
HRESULT WsReadBody(
[in] WS_MESSAGE *message,
[in] const WS_ELEMENT_DESCRIPTION *bodyDescription,
[in] WS_READ_OPTION readOption,
[in, optional] WS_HEAP *heap,
void *value,
[in] ULONG valueSize,
[in, optional] WS_ERROR *error
);
Parâmetros
[in] message
Um ponteiro para o objeto Message do qual ler o corpo. O ponteiro deve referenciar um objeto WS_MESSAGE válido.
[in] bodyDescription
Um ponteiro para o objeto que encapsula os metadados que descreve o mapeamento do valor para um elemento.
[in] readOption
Determina se o valor é necessário e como alocar o valor. Consulte WS_READ_OPTION para obter mais informações.
[in, optional] heap
Um ponteiro para o objeto Heap no qual ler o elemento. O ponteiro deve referenciar um objeto WS_HEAP válido.
value
A interpretação dos dados referenciados por esse parâmetro depende do WS_READ_OPTION.
[in] valueSize
A interpretação do valor desse parâmetro depende do WS_READ_OPTION.
[in, optional] error
Um ponteiro para um objeto WS_ERROR em que informações adicionais sobre o erro devem ser armazenadas se a função falhar.
Retornar valor
Essa função pode retornar um desses valores.
Código de retorno | Descrição |
---|---|
|
Os dados de entrada não estavam no formato esperado ou não tinham o valor esperado. |
|
Ficou sem memória. |
|
Um ou mais argumentos são inválidos. |
|
Essa função pode retornar outros erros não listados acima. |
Comentários
Essas funções dão suporte aos seguintes cenários, com base no conteúdo do WS_ELEMENT_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. Se estiver usando WS_FAULT_TYPE ou WS_ENDPOINT_ADDRESS_TYPE não será necessário especificar o nome local, o namespace ou a descrição do tipo (eles usarão o padrão adequadamente com base na versão de envelope/endereçamento da mensagem).
- 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. Nesse caso, cada campo do valor da estrutura que está sendo desserializado deve corresponder aos elementos a serem lidos dentro do corpo.
- Lendo vários elementos como vários valores. A leitura de vários valores distintos pode ser realizada simplesmente chamando a função várias vezes.
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 |