WsWriteEnvelopeStart, fonction (webservices.h)

Écrit le début du message, y compris l’ensemble actuel d’en-têtes du message, et se prépare à écrire les éléments de corps.

Cette fonction est conçue pour écrire des messages vers des destinations autres que les canaux. Pour écrire un message dans un canal, utilisez WsWriteMessageStart.

Syntaxe

HRESULT WsWriteEnvelopeStart(
  [in]           WS_MESSAGE               *message,
  [in]           WS_XML_WRITER            *writer,
  [in, optional] WS_MESSAGE_DONE_CALLBACK doneCallback,
  [in, optional] void                     *doneCallbackState,
  [in, optional] WS_ERROR                 *error
);

Paramètres

[in] message

Pointeur vers l’objet Message à écrire. Le pointeur doit référencer un objet WS_MESSAGE valide.

[in] writer

Pointeur vers l’objet Writer XML pour écrire le message. L’objet Message utilise l’enregistreur dans les appels suivants pour écrire le message. L’appelant doit conserver l’enregistreur valide jusqu’à ce que WsResetMessage ou WsFreeMessage soit appelé.

Le paramètre WS_MESSAGE_DONE_CALLBACK peut être utilisé pour déterminer que le WS_XML_WRITER n’est plus utilisé.

[in, optional] doneCallback

Fonction de rappel appelée lorsque le message est libéré ou réinitialisé. Ce rappel peut être utilisé pour indiquer que l’objet WS_XML_WRITER n’est plus utilisé par ce message. Si cette fonction échoue, le rappel n’est pas appelé. Si la fonction réussit, le rappel est appelé une seule fois.

[in, optional] doneCallbackState

Pointeur void vers un état défini par l’utilisateur qui sera passé au rappel spécifié. Ce paramètre peut avoir la valeur NULL.

[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_E_INVALID_FORMAT
Les données d’entrée n’étaient pas au format attendu ou n’avaient pas la valeur attendue.
E_OUTOFMEMORY
Nous avons manqué de mémoire.
E_INVALIDARG
Un ou plusieurs arguments ne sont pas valides.
Autres erreurs
Cette fonction peut renvoyer d’autres erreurs non répertoriées ci-dessus.

Remarques

Le début du message, y compris l’ensemble actuel d’en-têtes qui existe dans le message, est écrit dans l’enregistreur.

L’état du message doit être défini sur WS_MESSAGE_STATE_INITIALIZED. En cas de réussite, l’état du message passe à WS_MESSAGE_STATE_WRITING.
En cas d’état d’échec, la transition ne se produit pas.

Pour écrire un élément du corps du message, utilisez WsWriteBody. Pour écrire directement dans l’enregistreur du message, obtenez le lecteur avec la WS_MESSAGE_PROPERTY_ID définie sur WS_MESSAGE_PROPERTY_BODY_WRITER propriété.

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