WsFillBody, fonction (webservices.h)

Garantit qu’un nombre suffisant d’octets est disponible dans un message pour la lecture. Il incombe à l’application de spécifier le nombre d’octets suffisant pour contenir la construction XML suivante à lire.

Note Cette fonction est appelée avant d’utiliser WsReadBody ou le lecteur XML du message pour lire le corps du message.
 

Cette fonction est un raccourci permettant d’appeler WsFillReader pour le lecteur XML utilisé pour écrire le message. Appeler WsFillReader directement équivaut à appeler cette fonction.

Syntaxe

HRESULT WsFillBody(
  [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 destinée au « remplissage ».

[in] minSize

Nombre minimal d’octets que le message doit avoir mis en mémoire tampon. Si le nombre d’octets actuels mis en mémoire tampon est égal ou supérieur à la valeur de minSize , la fonction ne fait rien.

Note La valeur de minSize représente la taille de la forme encodée du code XML attendu. Cela peut varier en fonction de l’encodage et de la façon dont le code XML réel est structuré. L’utilisation classique de cette fonction consiste à sélectionner un nombre d’octets de limite supérieure attendu pour l’encodage ou la structure XML afin de s’assurer que les données attendues sont lues.
 

[in, optional] asyncContext

Un pointeur vers une structure de données WS_ASYNC_CONTEXT avec des informations sur l’appel de la fonction de manière asynchrone. 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
S_OK
Le début du message a été reçu avec succès.
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
Nous avons manqué de mémoire.
Autres erreurs
Cette fonction peut renvoyer d’autres erreurs non répertoriées ci-dessus.

Remarques

Cette fonction est généralement utilisée lors de l’écriture du corps du message avec le mode streamé défini sur WS_STREAMED_OUTPUT_TRANSFER_MODE, ou lors de l’utilisation d’un lecteur XML en mode streaming.

Cette fonction est un « no-op » lors de l’écriture du corps du message et WS_STREAMED_OUTPUT_TRANSFER_MODE n’est pas défini, ou avec un mode lecteur XML défini sur WS_XML_READER_BUFFER_INPUT.

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