Función WsPullBytes (webservices.h)

Configura una devolución de llamada que se va a invocar para obtener los bytes que se van a escribir en un elemento.
En algunas codificaciones, esto puede ser más eficaz eliminando una copia de los datos.

Sintaxis

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

Escritor en el que se escribirán los bytes.

[in] callback

Devolución de llamada que se va a invocar cuando es hora de escribir los datos binarios.

[in, optional] callbackState

Estado definido por el usuario que se va a pasar a la devolución de llamada.

[in, optional] error

Especifica dónde se debe almacenar información de error adicional si se produce un error en la función.

Valor devuelto

Esta función puede devolver uno de estos valores.

Código devuelto Descripción
E_INVALIDARG
Uno o más argumentos no son válidos.
WS_E_INVALID_OPERATION
No se permite la operación debido al estado actual del objeto .
WS_E_QUOTA_EXCEEDED
Se superó una cuota.

Comentarios

WsWriteBytes y WsPushBytes requieren que se proporcione el búfer de datos al escritor. En algunos patrones de uso, esto puede requerir una copia adicional de los datos. En esos escenarios, WsPullBytes ofrece una manera de solicitar al escritor que proporcione el búfer que se debe rellenar con datos.

Si la codificación no puede aprovechar este comportamiento, WsPullBytes invocará la devolución de llamada inmediatamente y funcionará como si se llamara a WsWriteBytes en los datos resultantes.

Requisitos

   
Cliente mínimo compatible Windows 7 [aplicaciones de escritorio | Aplicaciones para UWP]
Servidor mínimo compatible Windows Server 2008 R2 [aplicaciones de escritorio | Aplicaciones para UWP]
Plataforma de destino Windows
Encabezado webservices.h
Library WebServices.lib
Archivo DLL WebServices.dll