WsGetMappedHeader, fonction (webservices.h)

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

Syntaxe

HRESULT WsGetMappedHeader(
  [in]           WS_MESSAGE                 *message,
  [in]           const WS_XML_STRING        *headerName,
  [in]           WS_REPEATING_HEADER_OPTION repeatingOption,
  [in]           ULONG                      headerIndex,
  [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] headerName

Nom de l’en-tête mappé.

[in] repeatingOption

Indique si l’en-tête peut apparaître plusieurs fois dans le message.

Si WS_REPEATING_HEADER est utilisé, l’index d’en-tête indique lequel des en-têtes avec le nom d’en-tête spécifié doit retourner.

Si WS_SINGLETON_HEADER est utilisé, headerIndex doit être égal à zéro.

[in] headerIndex

Index de base zéro de l’en-tête dans l’ensemble d’en-têtes avec le nom d’en-tête spécifié.

[in] valueType

Type de valeur à désérialiser.

[in] readOption

Indique si la valeur est requise et comment allouer la valeur. Pour plus d’informations, consultez WS_READ_OPTION .

Si l’en-tête est facultatif (peut apparaître zéro ou une fois), WS_READ_OPTIONAL_POINTER pouvez être utilisé.

[in, optional] heap

Tas dans lequel stocker les données d’en-tête désérialisées. S’il s’agit de 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ù des 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.

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

WS_SINGLETON_HEADER a été spécifié, et il existe plusieurs instances de l’en-tête avec le nom spécifié dans le message.

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

Remarques

Un message peut contenir des informations supplémentaires spécifiques au transport qui ne font pas partie de l’enveloppe du message. Ces informations spécifiques au transport peuvent être exposées par programmation en tant qu’en-têtes de l’objet Message. Cette fonction est utilisée pour lire un en-tête qui a été mappé par un transport dans le message.

Lors de l’utilisation du canal HTTP, les mappages requis doivent être spécifiés avant que les en-têtes puissent être extraits avec cette fonction. Pour plus d’informations, consultez WS_HTTP_MESSAGE_MAPPING.

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