Partager via


PFN_WSK_DISCONNECT_EVENT fonction de rappel (wsk.h)

La fonction de rappel d’événement WskDisconnectEvent avertit une application WSK qu’une connexion sur un socket orienté connexion a été déconnectée par l’application distante.

Syntaxe

PFN_WSK_DISCONNECT_EVENT PfnWskDisconnectEvent;

NTSTATUS PfnWskDisconnectEvent(
  [in, optional] PVOID SocketContext,
  [in]           ULONG Flags
)
{...}

Paramètres

[in, optional] SocketContext

Pointeur vers le contexte de socket pour le socket orienté connexion qui a été déconnecté. L’application WSK a fourni ce pointeur vers le sous-système WSK de l’une des manières suivantes :

  • Il a appelé la fonction WskSocket pour créer le socket.
  • Il a appelé la fonction WskSocketConnect pour créer le socket.
  • Il a appelé la fonction WskAccept pour accepter le socket en tant que connexion entrante.
  • Sa fonction de rappel d’événement WskAcceptEvent a été appelée pour accepter le socket en tant que connexion entrante.

[in] Flags

Valeur ULONG qui contient un OR au niveau du bit d’une combinaison des indicateurs suivants :

WSK_FLAG_ABORTIVE

L’application distante a effectué une déconnexion avortée du socket. Si cet indicateur n’est pas défini, l’application distante a effectué une déconnexion normale du socket.

WSK_FLAG_AT_DISPATCH_LEVEL

Le sous-système WSK a appelé la fonction de rappel d’événement WskDisconnectEvent à l’adresse IRQL = DISPATCH_LEVEL. Si cet indicateur n’est pas défini, le sous-système WSK a peut-être appelé la fonction de rappel d’événement WskDisconnectEvent à n’importe quel IRQL <= DISPATCH_LEVEL.

Valeur retournée

La fonction de rappel d’événement WskDisconnectEvent d’une application WSK doit toujours retourner STATUS_SUCCESS.

Remarques

Le sous-système WSK appelle la fonction de rappel d’événement WskDisconnectEvent d’une application WSK lorsqu’un socket orienté connexion est déconnecté par l’application distante uniquement si la fonction de rappel d’événement a été précédemment activée avec l’option de socket SO_WSK_EVENT_CALLBACK . Pour plus d’informations sur l’activation des fonctions de rappel d’événements d’un socket, consultez Activation et désactivation des fonctions de rappel d’événements.

Si l’application distante a effectué une déconnexion normale du socket, aucune autre donnée ne sera reçue du socket. Toutefois, l’application WSK peut toujours envoyer des données au socket jusqu’à ce que le socket soit complètement fermé par l’application distante ou que l’application WSK appelle la fonction WskDisconnect ou la fonction WskCloseSocket sur le socket.

Si l’application distante a effectué une déconnexion avortée du socket, aucune autre donnée n’est reçue du socket et aucune autre donnée ne peut être envoyée au socket.

Le sous-système WSK appelle la fonction de rappel d’événement WskDisconnectEvent d’une application WSK à l’adresse IRQL <= DISPATCH_LEVEL.

La fonction de rappel d’événement WskDisconnectEvent d’une application WSK ne doit pas attendre l’achèvement d’autres requêtes WSK dans le contexte de l’achèvement WSK ou des fonctions de rappel d’événements. Le rappel peut lancer d’autres requêtes WSK (en supposant qu’il ne passe pas trop de temps à DISPATCH_LEVEL), mais il ne doit pas attendre leur achèvement même lorsque le rappel est appelé à IRQL = PASSIVE_LEVEL.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Disponible dans Windows Vista et versions ultérieures des systèmes d’exploitation Windows.
Plateforme cible Windows
En-tête wsk.h (inclure Wsk.h)
IRQL <= DISPATCH_LEVEL

Voir aussi

WSK_CLIENT_CONNECTION_DISPATCH

WskAccept

WskAcceptEvent

WskCloseSocket

WskConnect

WskControlSocket

WskDisconnect

WskSocket

WskSocketConnect