Partager via


WS_DECODER_GET_CONTENT_TYPE_CALLBACK fonction de rappel (webservices.h)

Obtient le type de contenu du message.

Syntaxe

WS_DECODER_GET_CONTENT_TYPE_CALLBACK WsDecoderGetContentTypeCallback;

HRESULT WsDecoderGetContentTypeCallback(
  [in]           void *decoderContext,
  [in]           const WS_STRING *contentType,
  [in, optional] const WS_STRING *contentEncoding,
  [out]          WS_STRING *newContentType,
  [in, optional] WS_ERROR *error
)
{...}

Paramètres

[in] decoderContext

L’encodeur instance retourné par le WS_CREATE_DECODER_CALLBACK.

[in] contentType

Type de contenu du message encodé.

[in, optional] contentEncoding

Encodage de contenu pour le message encodé.

[out] newContentType

Le rappel doit retourner le type de contenu pour le message nouvellement décodé ici.

[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

Code de retour Description
E_OUTOFMEMORY
Mémoire insuffisante.
E_INVALIDARG
Un ou plusieurs arguments ne sont pas valides.
Autres erreurs
Cette fonction peut retourner d’autres erreurs non répertoriées ci-dessus.

Remarques

Le rappel doit vérifier que le type de contenu fourni correspond à ce qui est attendu, puis doit retourner le type de contenu du message décodé.

Le type de contenu retourné doit rester valide jusqu’à la prochaine fois que le rappel est appelé ou que le décodeur soit libéré.

Le rappel doit définir newContentType sur celui pris en charge par le canal sous-jacent. Par exemple, avec le canal de session TCP utilisant SOAP 1.2 et l’encodage binaire, le nouveau type de contenu doit toujours être application/soap+msbinsession1.

Par WS_HTTP_CHANNEL_BINDING le paramètre d’encodage de contenu est défini sur la valeur de l’en-tête HTTP « Content-Encoding ». Si cet en-tête n’existe pas, null est passé.

Pour toutes les autres liaisons de canal, NULL est transmis pour l’encodage de contenu.

Configuration requise

Condition requise Valeur
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