Share via


Funzione WsPullBytes (webservices.h)

Imposta un callback da richiamare per ottenere i byte da scrivere all'interno di un elemento.
In alcune codifiche questo può essere più efficiente eliminando una copia dei dati.

Sintassi

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

Parametri

[in] writer

Writer a cui verranno scritti i byte.

[in] callback

Callback da richiamare quando il tempo per scrivere i dati binari.

[in, optional] callbackState

Stato definito dall'utente da passare al callback.

[in, optional] error

Specifica la posizione in cui devono essere archiviate informazioni aggiuntive sugli errori se la funzione ha esito negativo.

Valore restituito

Questa funzione può restituire uno di questi valori.

Codice restituito Descrizione
E_INVALIDARG
Uno o più argomenti non sono validi.
WS_E_INVALID_OPERATION
L'operazione non è consentita a causa dello stato corrente dell'oggetto.
WS_E_QUOTA_EXCEEDED
È stata superata una quota.

Commenti

WsWriteBytes e WsPushBytes richiedono l'invio del buffer di dati al writer. In alcuni modelli di utilizzo, ciò potrebbe richiedere una copia aggiuntiva dei dati. Per questi scenari, WsPullBytes offre un modo per richiedere al writer di fornire il buffer che deve essere riempito con i dati.

Se la codifica non può sfruttare questo comportamento, WsPullBytes richiamerà immediatamente il callback e funzionerà come se WsWriteBytes fosse chiamato sui dati risultanti.

Requisiti

   
Client minimo supportato Windows 7 [app desktop | App UWP]
Server minimo supportato Windows Server 2008 R2 [app desktop | App UWP]
Piattaforma di destinazione Windows
Intestazione webservices.h
Libreria WebServices.lib
DLL WebServices.dll