Condividi tramite


Funzione WsFlushBody (webservices.h)

Scarica tutti i dati del corpo dei messaggi accumulati scritti.

Quando il messaggio usa WsWriteBody o XML Writer, i dati vengono accumulati in un buffer. WsFlushBody esegue successivamente l'I/O effettivo.

WsFlushBody viene in genere usato quando il canale I/O è impostato su WS_STREAMED_OUTPUT_TRANSFER_MODE o quando si usa un set di writer XML per l'uso di WS_XML_WRITER_STREAM_OUTPUT.

Sintassi

HRESULT WsFlushBody(
  [in]           WS_MESSAGE             *message,
  [in]           ULONG                  minSize,
  [in, optional] const WS_ASYNC_CONTEXT *asyncContext,
  [in, optional] WS_ERROR               *error
);

Parametri

[in] message

Puntatore alla struttura WS_MESSAGE contenente i dati del corpo del messaggio accumulati.

[in] minSize

Specifica il numero minimo di byte che devono essere presenti nel messaggio per la funzione per eseguire lo scaricamento dei dati.

Nota Se il messaggio contiene meno di minSize WSFlushBody termina senza eseguire lo scaricamento di I/O. Un valore maggiore garantisce che non venga eseguita alcuna operazione di I/O fino a quando non è stato accumulato il valore più grande. Ciò è utile per garantire che i blocchi più grandi vengano usati durante l'esecuzione di I/O. E presumendo che vi sia almeno un byte di dati accumulati un valore pari a 0 in minSize garantisce che verrà scaricato.
 

[in, optional] asyncContext

Puntatore a una struttura di dati WS_ASYNC_CONTEXT con informazioni su come richiamare la funzione in modo asincrono. Un valore NULL indica una richiesta per l'operazione sincrona.

[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
WS_S_ASYNC
L'operazione asincrona è ancora in sospeso.
WS_E_INVALID_FORMAT
I dati di input non erano nel formato previsto o non hanno il valore previsto.
E_INVALIDARG
Uno o più argomenti non sono validi.
E_OUTOFMEMORY
Memoria insufficiente.
Altri errori
Questa funzione può restituire altri errori non elencati sopra.

Commenti

Questa funzione è una funzione "no-op" quando WS_STREAMED_OUTPUT_TRANSFER_MODE non è impostata o quando si usa un writer XML con WS_XML_WRITER_BUFFER_OUTPUT set.

Questa funzione è un collegamento per chiamare WsFlushWriter per il writer XML usato per scrivere il messaggio. La chiamata diretta di WsFlushWriter equivale a chiamare questa funzione.

Requisiti

Requisito Valore
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