WsReadBody, fonction (webservices.h)
Il s’agit d’une fonction d’assistance qui désérialise une valeur du lecteur XML du message. Le WS_MESSAGE_STATE doit être défini sur WS_MESSAGE_STATE_READING. Cette fonction n’entraîne aucune transition d’état.
Syntaxe
HRESULT WsReadBody(
[in] WS_MESSAGE *message,
[in] const WS_ELEMENT_DESCRIPTION *bodyDescription,
[in] WS_READ_OPTION readOption,
[in, optional] WS_HEAP *heap,
void *value,
[in] ULONG valueSize,
[in, optional] WS_ERROR *error
);
Paramètres
[in] message
Pointeur vers l’objet Message à partir duquel lire le corps. Le pointeur doit référencer un objet WS_MESSAGE valide.
[in] bodyDescription
Pointeur vers l’objet encapsulant les métadonnées qui décrivent le mappage de la valeur à un élément.
[in] readOption
Détermine si la valeur est requise et comment l’allouer. Pour plus d’informations, consultez WS_READ_OPTION .
[in, optional] heap
Pointeur vers l’objet Tas dans lequel lire l’élément. Le pointeur doit référencer un objet WS_HEAP valide.
value
L’interprétation des données référencées par ce paramètre dépend de la WS_READ_OPTION.
[in] valueSize
L’interprétation de la valeur de ce paramètre dépend de la WS_READ_OPTION.
[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 |
---|---|
|
Les données d’entrée n’étaient pas au format attendu ou n’avaient pas la valeur attendue. |
|
Mémoire insuffisante. |
|
Un ou plusieurs arguments ne sont pas valides. |
|
Cette fonction peut retourner d’autres erreurs non répertoriées ci-dessus. |
Remarques
Cette fonction prend en charge les scénarios suivants, en fonction du contenu du WS_ELEMENT_DESCRIPTION fourni :
- Lecture d’un élément unique. Dans ce cas, les champs elementLocalName et elementNs de l’WS_ELEMENT_DESCRIPTION doivent être définis sur le nom local et l’espace de noms de l’élément à lire, et le type et la description du type représentent le type de la valeur en cours de désérialisation. Si vous utilisez WS_FAULT_TYPE ou WS_ENDPOINT_ADDRESS_TYPE il n’est pas nécessaire de spécifier le nom local, l’espace de noms ou la description du type (ils seront par défaut correctement basés sur la version d’enveloppe/d’adressage du message).
- Lecture de plusieurs éléments sous la forme d’une valeur unique. Dans ce cas, les champs elementLocalName et elementNs du WS_ELEMENT_DESCRIPTION doivent être définis sur NULL, et un WS_STRUCT_TYPE et un WS_STRUCT_DESCRIPTION doivent être spécifiés. Dans ce cas, chaque champ de la valeur de structure en cours de désérialisation doit correspondre à un ou plusieurs éléments à lire dans le corps.
- Lecture de plusieurs éléments en tant que valeurs multiples. La lecture de plusieurs valeurs distinctes peut être effectuée en appelant simplement la fonction plusieurs fois.
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 |