WsFlushBody, fonction (webservices.h)

Vide toutes les données de corps de message accumulées qui ont été écrites.

Lorsque le message utilise WsWriteBody ou XML Writer, les données sont accumulées dans une mémoire tampon. WsFlushBody effectue ensuite les E/S réelles.

WsFlushBody est généralement utilisé lorsque les E/S de canal sont définies sur WS_STREAMED_OUTPUT_TRANSFER_MODE, ou lorsque vous utilisez un jeu d’enregistreurs XML pour utiliser WS_XML_WRITER_STREAM_OUTPUT.

Syntaxe

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

Paramètres

[in] message

Pointeur vers la structure WS_MESSAGE contenant les données de corps de message accumulées.

[in] minSize

Spécifie le nombre minimal d’octets qui doivent être présents dans le message pour que la fonction effectue le vidage des données.

Note Si le message contient moins de minSize WSFlushBody se termine sans effectuer le vidage d’E/S. Une valeur plus élevée garantit qu’aucune E/S n’est effectuée tant que la valeur la plus élevée n’a pas été accumulée. Cela est utile pour s’assurer que des blocs plus volumineux sont utilisés lors de l’exécution d’E/S. Et en supposant qu’il y a au moins un octet de données accumulées, une valeur de 0 dans minSize garantit qu’elles seront vidées.
 

[in, optional] asyncContext

Pointeur vers une structure de données WS_ASYNC_CONTEXT avec des informations sur l’appel asynchrone de la fonction. Une valeur NULL indique une demande d’opération synchrone.

[in, optional] error

Pointeur vers un objet WS_ERROR où des informations supplémentaires sur l’erreur doivent être stockées en cas d’échec de la fonction.

Valeur retournée

Cette fonction peut retourner l’une de ces valeurs.

Code de retour Description
WS_S_ASYNC
L’opération asynchrone est toujours en attente.
WS_E_INVALID_FORMAT
Les données d’entrée n’étaient pas au format attendu ou n’avaient pas la valeur attendue.
E_INVALIDARG
Un ou plusieurs arguments ne sont pas valides.
E_OUTOFMEMORY
Mémoire insuffisante.
Autres erreurs
Cette fonction peut retourner d’autres erreurs non répertoriées ci-dessus.

Remarques

Cette fonction est un « no op » quand WS_STREAMED_OUTPUT_TRANSFER_MODE n’est pas défini ou lorsque vous utilisez un enregistreur XML avec WS_XML_WRITER_BUFFER_OUTPUT défini.

Cette fonction est un raccourci permettant d’appeler WsFlushWriter pour le writer XML utilisé pour écrire le message. Appeler WsFlushWriter directement revient à appeler cette fonction.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 7 [applications de bureau | Applications UWP]
Serveur minimal pris en charge Windows Server 2008 R2 [applications de bureau | Applications UWP]
Plateforme cible Windows
En-tête webservices.h
Bibliothèque WebServices.lib
DLL WebServices.dll