Função WsFlushBody (webservices.h)

Libera todos os dados acumulados do corpo da mensagem que foram gravados.

Quando a mensagem usa WsWriteBody ou Gravador XML, os dados são acumulados em um buffer. O WsFlushBody executa posteriormente a E/S real.

O WsFlushBody normalmente é usado quando a E/S do canal é definida como WS_STREAMED_OUTPUT_TRANSFER_MODE ou ao usar um gravador XML definido para usar WS_XML_WRITER_STREAM_OUTPUT.

Sintaxe

HRESULT WsFlushBody(
  [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 que contém os dados acumulados do corpo da mensagem.

[in] minSize

Especifica o número mínimo de bytes que devem estar presentes na mensagem para que a função execute a liberação de dados.

Nota Se a mensagem contiver menos de minSize , WSFlushBody terminará sem fazer a liberação de E/S. Um valor maior garantirá que nenhuma E/S será feita até que o valor maior seja acumulado. Isso é útil para garantir que partes maiores sejam usadas ao fazer E/S. E presumindo que haja pelo menos um byte de dados acumulados, um valor de 0 em minSize garante que eles serão liberados.
 

[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
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 é uma "no-op" quando WS_STREAMED_OUTPUT_TRANSFER_MODE não está definido ou ao usar um Gravador XML com WS_XML_WRITER_BUFFER_OUTPUT definido.

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

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