Partager via


WS_WRITE_TYPE_CALLBACK fonction de rappel (webservices.h)

Appelé pour écrire un élément lorsque WS_CUSTOM_TYPE a été spécifié. Cela permet d’écrire des constructions XML qui ne sont pas facilement mappées au modèle de sérialisation de cœur.

Syntaxe

WS_WRITE_TYPE_CALLBACK WsWriteTypeCallback;

HRESULT WsWriteTypeCallback(
  [in]           WS_XML_WRITER *writer,
  [in]           WS_TYPE_MAPPING typeMapping,
  [in]           const void *descriptionData,
                 const void *value,
  [in]           ULONG valueSize,
  [in, optional] WS_ERROR *error
)
{...}

Paramètres

[in] writer

Un WS_XML_WRITER pointeur vers l’enregistreur dans lequel la valeur doit être écrite.

[in] typeMapping

Indique comment le code XML est mappé à ce type. Pour plus d’informations , consultez WS_TYPE_MAPPING .

Si un mappage n’a pas de sens pour ce type particulier, le rappel doit retourner WS_E_INVALID_OPERATION. (Voir Valeurs de retour des services web Windows.) Une implémentation de rappel doit être préparée à passer de nouveaux types de mappage dans les versions futures et doit retourner WS_E_INVALID_OPERATION pour ces cas.

[in] descriptionData

Il s’agit de la valeur du champ descriptionData de la structure WS_CUSTOM_TYPE_DESCRIPTION . Le rappel utilise ce champ pour accéder à toutes les informations supplémentaires sur le type.

value

Pointeur void vers une valeur à sérialiser.

[in] valueSize

Taille, en octets, de la valeur sérialisée.

[in, optional] error

Un pointeur vers une structure de données 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 de rappel ne retourne pas de valeur.

Remarques

Le rappel sera appelé avec la même séquence d’appel que WsWriteType dans la documentation pour WS_TYPE_MAPPING. Cela définit les parties du code XML que le rappel doit écrire.

Configuration requise

   
Client minimal pris en charge Windows 7 [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2008 R2 [applications de bureau uniquement]
Plateforme cible Windows
En-tête webservices.h