Função WsFillBody (webservices.h)

Garante que haja um número suficiente de bytes disponíveis em uma mensagem para leitura. Cabe ao aplicativo especificar o número de bytes suficientes para conter o próximo constructo XML a ser lido.

Nota Essa função é chamada antes de usar WsReadBody ou o Leitor XML da mensagem para ler o corpo da mensagem.
 

Essa função é um atalho para chamar WsFillReader para o Leitor XML que está sendo usado para gravar a mensagem. Chamar o WsFillReader diretamente é equivalente a chamar essa função.

Sintaxe

HRESULT WsFillBody(
  [in]           WS_MESSAGE             *message,
  [in]           ULONG                  minSize,
  [in, optional] const WS_ASYNC_CONTEXT *asyncContext,
  [in, optional] WS_ERROR               *error
);

Parâmetros

[in] message

Um ponteiro para a estrutura WS_MESSAGE destinada a "preenchimento".

[in] minSize

O número mínimo de bytes que a mensagem deve ter armazenado em buffer. Se a contagem de bytes atual armazenada em buffer for igual ou maior que o valor de minSize , a função não fará nada.

Nota O valor de minSize representa o tamanho da forma codificada do XML esperado. Isso pode variar por codificação e também como o XML real é estruturado. O uso típico dessa função é selecionar uma contagem de bytes de limite superior esperada para codificação ou estrutura XML para garantir que os dados esperados sejam lidos.
 

[in, optional] asyncContext

Um ponteiro para uma estrutura de dados WS_ASYNC_CONTEXT com informações sobre como invocar a função de forma assíncrona. Um valor NULL indica uma solicitação de operação síncrona.

[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
S_OK
O início da mensagem foi recebido com êxito.
WS_S_ASYNC
A operação assíncrona ainda está pendente.
WS_E_INVALID_FORMAT
Os dados de entrada não estavam no formato esperado ou não tinham o valor esperado.
E_INVALIDARG
Um ou mais argumentos são inválidos.
E_OUTOFMEMORY
Ficou sem memória.
Outros erros
Essa função pode retornar outros erros não listados acima.

Comentários

Essa função normalmente é usada ao gravar o corpo da mensagem com o modo transmitido definido como WS_STREAMED_OUTPUT_TRANSFER_MODE ou ao usar um Leitor XML no modo transmitido.

Essa função é uma "no-op" ao gravar o corpo da mensagem e WS_STREAMED_OUTPUT_TRANSFER_MODE não está definida ou com o modo de um Leitor de XML definido como WS_XML_READER_BUFFER_INPUT.

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