WsWriteBody, fonction (webservices.h)
Écrit une valeur dans le corps d’un message. Il s’agit d’une fonction d’assistance qui sérialise une valeur dans l’enregistreur XML du message. L’état du message doit être défini sur WS_MESSAGE_STATE_WRITING. Cette fonction n’entraîne aucune transition d’état.
HRESULT WsWriteBody(
[in] WS_MESSAGE *message,
[in] const WS_ELEMENT_DESCRIPTION *bodyDescription,
[in] WS_WRITE_OPTION writeOption,
const void *value,
[in] ULONG valueSize,
[in, optional] WS_ERROR *error
);
[in] message
Pointeur vers l’objet Message dans lequel écrire. Le pointeur doit référencer un objet WS_MESSAGE valide.
[in] bodyDescription
Pointeur vers des informations décrivant comment écrire la valeur.
[in] writeOption
Détermine si la valeur est requise et comment la valeur est allouée.
value
Pointeur void vers la valeur à écrire.
[in] valueSize
Taille en octets de la valeur à écrire. Si la valeur est NULL , la taille doit être 0.
[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.
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. |
Cette fonction prend en charge les scénarios suivants, en fonction du contenu du WS_ELEMENT_DESCRIPTION fourni :
- Écriture 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 à écrire, et le type et la description du type représentent le type de la valeur sérialisée. 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).
- Écriture de plusieurs éléments en tant que 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 sérialisation doit correspondre à des éléments à écrire dans le corps.
- Écriture de plusieurs éléments sous forme de valeurs multiples. Vous pouvez écrire plusieurs valeurs distinctes en appelant simplement la fonction plusieurs fois.
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 |