Compartilhar via


Função WsPushBytes (webservices.h)

Estabelece um retorno de chamada a ser invocado para gravar bytes dentro de um elemento. Em algumas codificações, isso pode ser mais eficiente eliminando uma cópia dos dados.

Sintaxe

HRESULT WsPushBytes(
  [in]           WS_XML_WRITER          *writer,
  [in]           WS_PUSH_BYTES_CALLBACK callback,
  [in, optional] void                   *callbackState,
  [in, optional] WS_ERROR               *error
);

Parâmetros

[in] writer

Um ponteiro para o objeto gravador XML no qual os bytes são gravados. O ponteiro deve referenciar um WS_XML_WRITER válido e o valor referenciado pode não ser NULL.

[in] callback

Esse parâmetro é o retorno de chamada a ser invocado para gravar os dados.

[in, optional] callbackState

Um ponteiro para um estado definido pelo usuário que é passado para a função de retorno de chamada.

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

Valor retornado

Essa função pode retornar um desses valores.

Código de retorno Descrição
E_INVALIDARG
Um ou mais argumentos são inválidos.
WS_E_INVALID_OPERATION
A operação não é permitida devido ao estado atual do objeto.

Comentários

Ao escrever com o WS_XML_WRITER_MTOM_ENCODING, o WsPushBytes fornece uma maneira de escrever bytes diretamente em sua própria parte MIME e evitar uma cópia. No entanto, o gravador, a seu critério, pode optar por invocar o retorno de chamada imediatamente, portanto, o chamador deve estar preparado para isso.

Se a codificação não puder aproveitar esse comportamento, wsPushBytes invocará o retorno de chamada imediatamente e operará como se WsWriteBytes fosse chamado.

Requisitos

   
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