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 |
---|---|
|
Les données d’entrée n’étaient pas au format attendu ou n’avaient pas la valeur attendue. |
|
Nous avons manqué de mémoire. |
|
Un ou plusieurs arguments ne sont pas valides. |
|
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 |