WS_GET_CHANNEL_PROPERTY_CALLBACK fonction de rappel (webservices.h)

Gère l’appel WsGetChannelProperty pour un WS_CUSTOM_CHANNEL_BINDING.

Syntaxe

WS_GET_CHANNEL_PROPERTY_CALLBACK WsGetChannelPropertyCallback;

HRESULT WsGetChannelPropertyCallback(
  [in]           void *channelInstance,
  [in]           WS_CHANNEL_PROPERTY_ID id,
                 void *value,
  [in]           ULONG valueSize,
  [in, optional] WS_ERROR *error
)
{...}

Paramètres

[in] channelInstance

Pointeur vers l’état spécifique à ce canal instance, tel que créé par le WS_CREATE_CHANNEL_CALLBACK.

[in] id

ID de la propriété à récupérer.

value

Emplacement où stocker la propriété récupérée. Le pointeur doit avoir un alignement compatible avec le type de la propriété.

[in] valueSize

Nombre d’octets alloués par l’appelant pour stocker la propriété récupérée.

[in, optional] error

Spécifie l’emplacement où les informations d’erreur supplémentaires doivent être stockées en cas d’échec de la fonction.

Valeur retournée

Code de retour Description
E_INVALIDARG
L’ID de propriété n’était pas pris en charge pour cet objet ou la mémoire tampon spécifiée n’était pas assez grande pour la valeur.
E_OUTOFMEMORY
Nous avons manqué de mémoire.
Autres erreurs
Cette fonction peut renvoyer d’autres erreurs non répertoriées ci-dessus.

Remarques

Pour plus d’informations sur le contrat de cette API, consultez WsGetChannelProperty .

Chaque implémentation de canal personnalisé doit prendre en charge le retour d’une valeur pour au moins les propriétés suivantes :

La couche modèle de service fournit sa propre logique de délais d’expiration des appels, car elle nécessite la désactivation des délais d’expiration dans le canal sous-jacent. Pour qu’un canal personnalisé soit utilisé à partir de la couche Modèle de service, il doit prendre en charge la désactivation de tous ses délais d’expiration et implémenter ce rappel pour WS_CHANNEL_PROPERTY_ENABLE_TIMEOUTS. Un canal personnalisé ne peut pas être utilisé via le modèle de service, sauf si la requête pour WS_CHANNEL_PROPERTY_ENABLE_TIMEOUTS retourne FALSE.

Il appartient à l’implémentation du canal personnalisé de déterminer les propriétés supplémentaires qu’elle souhaite prendre en charge.

Si une propriété n’est pas prise en charge, le E_INVALIDARG doit être retourné. (Voir Valeurs de retour des services web Windows.)

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