Fonction WsReadEnvelopeStart (webservices.h)

Lit les en-têtes du message et prépare la lecture des éléments de corps. L’opération lit le début du message suivant à partir du lecteur, y compris les en-têtes du message. Le processus permet la lecture des messages provenant d’autres sources que les canaux. Pour lire un message à l’aide d’un canal, utilisez WsReadMessageStart.

Note En cas de réussite, les en-têtes sont stockés dans le message et peuvent être récupérés de manière aléatoire à l’aide de fonctions telles que WsGetHeader ou WsGetCustomHeader.

 

Syntaxe

HRESULT WsReadEnvelopeStart(
  [in]           WS_MESSAGE               *message,
  [in]           WS_XML_READER            *reader,
  [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 à lire. Le pointeur doit référencer un objet WS_MESSAGE valide.

[in] reader

Pointeur vers le lecteur avec le message à lire. L’objet Message utilise le lecteur dans les appels actuels et suivants.

Note L’appelant de fonction doit conserver le lecteur valide jusqu’à ce que WsResetMessage ou WsFreeMessage soit appelé.
Le paramètre WS_MESSAGE_DONE_CALLBACK permet de savoir que le WS_XML_READER n’est plus utilisé.

 

[in, optional] doneCallback

Identifie la fonction de rappel à lancer en cas de réussite de l’opération en cours une fois que le message a été libéré.

Note Les messages sont libérés à l’aide de WsFreeMessage ou WsResetMessage

 
Le rappel peut être utilisé pour déterminer si le WS_XML_READER instance est utilisé par ce message. Si l’opération actuelle échoue, le rappel n’est pas appelé.

[in, optional] doneCallbackState

Pointeur vers un état défini par l’utilisateur qui peut être passé à l’WS_MESSAGE_DONE_CALLBACK. Ce paramètre peut avoir la valeur NULL si le rappel n’est pas utilisé.

[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 message doit être à l’état WS_MESSAGE_STATE_EMPTY . En cas de réussite, l’état du message est défini sur WS_MESSAGE_STATE_READING.

Pour lire un élément du corps du message, utilisez WsReadBody. Pour lire directement à partir du lecteur XML, obtenez le lecteur avec l’ID de propriété de message défini sur WS_MESSAGE_PROPERTY_BODY_READER.

Configuration requise

   
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