Condividi tramite


Funzione WsFillBody (webservices.h)

Assicura che sia disponibile un numero sufficiente di byte in un messaggio per la lettura. Spetta all'applicazione specificare il numero di byte sufficienti per contenere il costrutto XML successivo da leggere.

Nota Questa funzione viene chiamata prima di utilizzare WsReadBody o il lettore XML del messaggio per leggere il corpo del messaggio.
 

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

Sintassi

HRESULT WsFillBody(
  [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 destinata al riempimento.

[in] minSize

Numero minimo di byte in cui deve essere memorizzato il buffer del messaggio. Se il conteggio dei byte corrente memorizzato nel buffer è uguale o maggiore del valore di minSize , la funzione non esegue alcuna operazione.

Nota Il valore di minSize rappresenta le dimensioni del formato codificato del codice XML previsto. Ciò può variare in base alla codifica e al modo in cui è strutturato il codice XML effettivo. L'uso tipico di questa funzione consiste nel selezionare un conteggio dei byte superiore previsto per la codifica o la struttura XML per assicurarsi che i dati previsti vengano letti.
 

[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
S_OK
L'inizio del messaggio è stato ricevuto correttamente.
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 in precedenza.

Commenti

Questa funzione viene in genere utilizzata durante la scrittura del corpo del messaggio con modalità di flusso impostata su WS_STREAMED_OUTPUT_TRANSFER_MODE o quando si usa un lettore XML in modalità di flusso.

Questa funzione è una funzione "no-op" quando si scrive il corpo del messaggio e WS_STREAMED_OUTPUT_TRANSFER_MODE non è impostata o con la modalità lettore XML impostata su WS_XML_READER_BUFFER_INPUT.

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