Condividi tramite


Funzione WsPushBytes (webservices.h)

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

Sintassi

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

Parametri

[in] writer

Puntatore all'oggetto Writer XML a cui vengono scritti i byte. Il puntatore deve fare riferimento a un WS_XML_WRITER valido e il valore a cui fa riferimento potrebbe non essere NULL.

[in] callback

Questo parametro è il callback da richiamare per scrivere i dati.

[in, optional] callbackState

Puntatore a uno stato definito dall'utente passato alla funzione di callback.

[in, optional] error

Puntatore a un oggetto WS_ERROR in cui devono essere archiviate informazioni aggiuntive sull'errore 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.

Commenti

Quando si scrive con il WS_XML_WRITER_MTOM_ENCODING, WsPushBytes consente di scrivere byte direttamente nella propria parte MIME ed evitare una copia. Tuttavia, il writer a sua discrezione, può scegliere di richiamare immediatamente il callback, quindi il chiamante deve essere preparato per questo.

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

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