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.
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 |
---|---|
|
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:
- 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 |