Partager via


WsShutdownSessionChannel, fonction (webservices.h)

Utilisé pour signaler la fin des messages d’un canal de session.

Syntaxe

HRESULT WsShutdownSessionChannel(
  [in]           WS_CHANNEL             *channel,
  [in, optional] const WS_ASYNC_CONTEXT *asyncContext,
  [in, optional] WS_ERROR               *error
);

Paramètres

[in] channel

Canal de session à arrêter.

[in, optional] asyncContext

Informations sur la façon d’appeler la fonction de manière asynchrone, ou NULL en cas d’appel synchrone.

[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

Cette fonction peut retourner l’une de ces valeurs.

Code de retour Description
WS_E_INVALID_OPERATION
Cette valeur est retournée si le canal n’est pas dans l’état WS_CHANNEL_STATE_OPEN .

Remarques

Cette fonction indique à la partie distante que tous les messages ont été envoyés pour le canal.

La partie distante peut détecter qu’aucun autre message n’est disponible sur le canal en recherchant la valeur de retour WS_S_END lors de la réception d’un message. (Voir Valeurs de retour des services Web Windows.) Toutefois, les messages peuvent également devenir indisponibles si les messages non liés à l’application ont été filtrés par le canal, comme décrit dans Vue d’ensemble de la couche de canal. L’arrêt de session peut être distingué du filtrage des messages en effectuant le suivi de la réception des messages précédents. Si des messages précédents ont été reçus, la session a été arrêtée.

Cette fonction s’applique uniquement aux canaux créés avec un WS_CHANNEL_TYPE avec une session qui prend en charge l’envoi de messages :

Le canal doit être à l’état WS_CHANNEL_STATE_OPEN .

Si cette fonction réussit, la valeur de la propriété WS_CHANNEL_PROPERTY_IS_SESSION_SHUT_DOWN est TRUE.

Une fois qu’un canal de session a été arrêté, la tentative d’envoi d’un message sur le canal ou la tentative d’arrêt du canal retourne WS_E_INVALID_OPERATION.

L’appel de cette fonction est facultatif. Lorsqu’un canal de session est fermé à l’aide de WsCloseChannel dans WS_CHANNEL_STATE_OPEN, le canal est automatiquement arrêté dans le cadre du processus de fermeture.

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