Compartilhar via


Função WsPullBytes (webservices.h)

Configura um retorno de chamada a ser invocado para obter os bytes a serem gravados em um elemento .
Em algumas codificações, isso pode ser mais eficiente eliminando uma cópia dos dados.

Sintaxe

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

Parâmetros

[in] writer

O gravador ao qual os bytes serão escritos.

[in] callback

O retorno de chamada a ser invocado quando for hora de gravar os dados binários.

[in, optional] callbackState

Estado definido pelo usuário a ser passado para o retorno de chamada.

[in, optional] error

Especifica onde informações adicionais de 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.
WS_E_QUOTA_EXCEEDED
Uma cota foi excedida.

Comentários

WsWriteBytes e WsPushBytes exigem que o buffer de dados seja fornecido ao gravador. Em alguns padrões de uso, isso pode exigir uma cópia extra dos dados. Para esses cenários, o WsPullBytes oferece uma maneira de solicitar que o gravador forneça o buffer que deve ser preenchido com dados.

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

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