Partager via


Fonction WsGetHeader (webservices.h)

Recherche un en-tête standard particulier dans le message et le désérialise.

Syntaxe

HRESULT WsGetHeader(
  [in]           WS_MESSAGE     *message,
  [in]           WS_HEADER_TYPE headerType,
  [in]           WS_TYPE        valueType,
  [in]           WS_READ_OPTION readOption,
  [in, optional] WS_HEAP        *heap,
                 void           *value,
  [in]           ULONG          valueSize,
  [in, optional] WS_ERROR       *error
);

Paramètres

[in] message

Message contenant l’en-tête.

Le message peut être dans n’importe quel état , mais WS_MESSAGE_STATE_EMPTY.

[in] headerType

Type d’en-tête à désérialiser.

[in] valueType

Type de valeur à désérialiser. Consultez WS_HEADER_TYPE pour connaître l’ensemble des types qui correspondent à chaque type d’en-tête.

[in] readOption

Indique si la valeur est requise et comment allouer la valeur. les options de lecture WS_READ_NILLABLE_VALUE et WS_READ_NILLABLE_POINTER ne peuvent pas être spécifiées, car les types d’en-tête dans WS_HEADER_TYPE ne sont pas autorisés à être nillables dans les spécifications de normes respectives. Pour plus d’informations , consultez WS_READ_OPTION .

[in, optional] heap

Tas dans lequel stocker les données d’en-tête désérialisées. Si cette valeur est NULL, le tas de message est utilisé.

value

L’interprétation de ce paramètre dépend du WS_READ_OPTION.

[in] valueSize

L’interprétation de ce paramètre dépend du WS_READ_OPTION.

[in, optional] error

Spécifie l’emplacement où les informations d’erreur supplémentaires 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
L’en-tête n’existe pas et est obligatoire.

Plusieurs instances du type d’en-tête sont présentes dans le message.

Les données d’entrée n’étaient pas au format attendu.

WS_E_QUOTA_EXCEEDED
Le quota de taille du tas a été dépassé.
E_OUTOFMEMORY
La mémoire disponible n’était pas suffisante pour désérialiser l’en-tête.
E_INVALIDARG
Un ou plusieurs des paramètres sont incorrects.
Autres erreurs
Cette fonction peut renvoyer d’autres erreurs non répertoriées ci-dessus.

Remarques

Cette API permet d’accéder à un ensemble de types d’en-têtes standard (voir WS_HEADER_TYPE). Pour les types d’en-tête définis par l’application, utilisez WsGetCustomHeader.

Cette API est conçue pour gérer les types d’en-têtes qui s’affichent une fois dans le message et qui sont ciblés sur le récepteur final. Les en-têtes ciblés avec un rôle/acteur autre que le récepteur final sont ignorés par cette API.

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