Partager via


WsCheckMustUnderstandHeaders, fonction (webservices.h)

Vérifie que les en-têtes spécifiés ont été compris par le récepteur.

Note Cette fonction doit être appelée une fois que tous les en-têtes ont été lus pour un message reçu.

 

Syntaxe

HRESULT WsCheckMustUnderstandHeaders(
  [in]           WS_MESSAGE *message,
  [in, optional] WS_ERROR   *error
);

Paramètres

[in] message

Pointeur vers la structure WS_MESSAGE contenant les en-têtes à comprendre.

[in, optional] error

Pointeur vers une structure WS_ERROR où des informations d’erreur supplémentaires sont stockées en cas d’échec de la fonction.

Valeur retournée

Si la fonction réussit, elle retourne NO_ERROR ; sinon, elle retourne un code d’erreur HRESULT.

Code de retour Description
WS_E_INVALID_OPERATION
Le message n’est pas dans l’état correct. Pour plus d'informations, consultez la section Notes.
WS_E_INVALID_FORMAT
La validation a échoué ou le message n’a pas été correctement formé.
E_INVALIDARG
Un ou plusieurs arguments ne sont pas valides.
E_OUTOFMEMORY
Mémoire insuffisante pour terminer l’opération.
Autres erreurs
Cette fonction peut retourner d’autres erreurs non répertoriées ci-dessus.

Remarques

Étant donné que l’ensemble d’en-têtes est extensible, il est nécessaire de déterminer si un message a été suffisamment compris pour être traité. Par conséquent, l’expéditeur peut utiliser cette fonction pour indiquer quels en-têtes doivent être compris, quels en-têtes peuvent être traités comme facultatifs ou informatifs.

Les en-têtes d’adressage standard, tels que ceux définis dans WS_HEADER_TYPE, sont automatiquement supposés être compris, même s’ils ne sont jamais lus en appelant WsGetHeader.

Les en-têtes personnalisés définis par l’application qui sont lus par WsGetCustomHeader sont également supposés être compris. L’appel de WsGetCustomHeader marque automatiquement l’en-tête particulier comme compris.

Pour tout autre en-tête traité par l’application, l’application doit marquer explicitement l’en-tête comme compris en appelant WsMarkHeaderAsUnderstood. Sinon, l’en-tête est considéré comme non compris.

Cette fonction doit être appelée une fois que tous les en-têtes ont été lus pour un message reçu. Une exception à l’appel de cette fonction est le cas d’un intermédiaire qui transfère le message à un autre nœud sans modifier son identité (ID de message), car le nœud final effectue la case activée.

La fonction échoue si l’un des en-têtes spécifiés n’a pas été compris. Si un objet d’erreur est fourni à la fonction, il est rempli avec des informations qui peuvent être utilisées pour envoyer une erreur (voir WsCreateFaultFromError).

Le message doit être dans l’état WS_MESSAGE_STATE_READING.

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