Compartilhar via


Função WsWriteBody (webservices.h)

Grava um valor no corpo de uma mensagem. Essa é uma função auxiliar que serializa um valor para o Gravador XML da mensagem. O estado da mensagem deve ser definido como WS_MESSAGE_STATE_WRITING. Essa função não causa nenhuma transição de estado.

Sintaxe

HRESULT WsWriteBody(
  [in]           WS_MESSAGE                   *message,
  [in]           const WS_ELEMENT_DESCRIPTION *bodyDescription,
  [in]           WS_WRITE_OPTION              writeOption,
                 const void                   *value,
  [in]           ULONG                        valueSize,
  [in, optional] WS_ERROR                     *error
);

Parâmetros

[in] message

Um ponteiro para o objeto Message para gravar. O ponteiro deve referenciar um objeto de WS_MESSAGE válido.

[in] bodyDescription

Um ponteiro para informações que descrevem como gravar o valor.

[in] writeOption

Determina se o valor é necessário e como o valor é alocado.

Nota Consulte WS_WRITE_OPTION para obter mais informações.

 

value

Um ponteiro nulo para o valor a ser gravado.

[in] valueSize

O tamanho em bytes do valor a ser gravado. Se o valor for NULL , o tamanho deverá ser 0.

[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
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.
E_INVALIDARG
Um ou mais argumentos são inválidos.
Outros erros
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:

  • Gravando 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 gravado e o tipo e a descrição do tipo representam o tipo do valor que está sendo serializado. 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).
  • Gravando 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 serializado deve corresponder aos elementos a serem gravados no corpo.
  • Gravando vários elementos como vários valores. A gravação 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