Share via


WsReadType, fonction (webservices.h)

Lire une valeur d’une WS_TYPE donnée à partir du code XML en fonction de la WS_TYPE_MAPPING.

Syntaxe

HRESULT WsReadType(
  [in]           WS_XML_READER   *reader,
  [in]           WS_TYPE_MAPPING typeMapping,
  [in]           WS_TYPE         type,
  [in, optional] const void      *typeDescription,
  [in]           WS_READ_OPTION  readOption,
  [in, optional] WS_HEAP         *heap,
                 void            *value,
  [in]           ULONG           valueSize,
  [in, optional] WS_ERROR        *error
);

Paramètres

[in] reader

Lecteur positionné sur le xml à désérialiser.

[in] typeMapping

Décrit la façon dont le type est mappé au code XML en cours de lecture.

[in] type

Type de la valeur à désérialiser.

[in, optional] typeDescription

Informations supplémentaires sur le type. Chaque type a une structure de description différente. Cela peut être NULL, selon le WS_TYPE.

[in] readOption

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

Ce paramètre doit avoir l’une des valeurs suivantes :

[in, optional] heap

Tas dans lequel stocker les valeurs désérialisées.

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
Les données d’entrée n’étaient pas au format attendu ou n’avaient pas la valeur attendue.
E_OUTOFMEMORY
Mémoire insuffisante.
WS_E_QUOTA_EXCEEDED
Le quota de taille du tas a été dépassé.
E_INVALIDARG
Un ou plusieurs arguments ne sont pas valides.

Remarques

Consultez WS_TYPE_MAPPING pour savoir comment utiliser cette fonction pour lire des valeurs à partir d’éléments et d’attributs.

Si l’API échoue, l’état du lecteur d’entrée n’est plus défini. Les seules API qui peuvent être utilisées sur le lecteur si cela se produit sont WsSetInput et WsSetInputToBuffer pour renvoyer le lecteur à un état utilisable, ou WsFreeReader pour libérer le lecteur.

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