PFN_WSK_DISCONNECT_EVENT funzione di callback (wsk.h)
La funzione di callback dell'evento WskDisconnectEvent notifica a un'applicazione WSK che una connessione su un socket orientato alla connessione è stata disconnessa dall'applicazione remota.
Sintassi
PFN_WSK_DISCONNECT_EVENT PfnWskDisconnectEvent;
NTSTATUS PfnWskDisconnectEvent(
[in, optional] PVOID SocketContext,
[in] ULONG Flags
)
{...}
Parametri
[in, optional] SocketContext
Puntatore al contesto del socket per il socket orientato alla connessione che è stato disconnesso. L'applicazione WSK ha fornito questo puntatore al sottosistema WSK in uno dei modi seguenti:
- Ha chiamato la funzione WskSocket per creare il socket.
- Ha chiamato la funzione WskSocketConnect per creare il socket.
- Ha chiamato la funzione WskAccept per accettare il socket come connessione in ingresso.
- La funzione di callback dell'evento WskAcceptEvent è stata chiamata per accettare il socket come connessione in ingresso.
[in] Flags
Valore ULONG che contiene un OR bit per bit di una combinazione dei flag seguenti:
WSK_FLAG_ABORTIVE
L'applicazione remota ha eseguito una disconnessione interrotta del socket. Se questo flag non è impostato, l'applicazione remota ha eseguito una disconnessione normale del socket.
WSK_FLAG_AT_DISPATCH_LEVEL
Il sottosistema WSK denominato funzione di callback dell'evento WskDisconnectEvent in IRQL = DISPATCH_LEVEL. Se questo flag non è impostato, il sottosistema WSK potrebbe aver chiamato la funzione di callback dell'evento WskDisconnectEvent in qualsiasi IRQL <= DISPATCH_LEVEL.
Valore restituito
La funzione di callback dell'evento WskDisconnectEvent di un'applicazione WSK deve restituire sempre STATUS_SUCCESS.
Commenti
Il sottosistema WSK chiama la funzione di callback dell'evento WskDisconnectEvent di un'applicazione WSK quando un socket orientato alla connessione viene disconnesso dall'applicazione remota solo se la funzione di callback dell'evento è stata precedentemente abilitata con l'opzione socket SO_WSK_EVENT_CALLBACK . Per altre informazioni sull'abilitazione delle funzioni di callback degli eventi di un socket, vedere Abilitazione e disabilitazione delle funzioni di callback degli eventi.
Se l'applicazione remota ha eseguito una disconnessione normale del socket, non verranno ricevuti altri dati dal socket. Tuttavia, l'applicazione WSK può comunque inviare dati al socket fino a quando il socket non viene completamente chiuso dall'applicazione remota o l'applicazione WSK chiama la funzione WskDisconnect o la funzione WskCloseSocket sul socket.
Se l'applicazione remota ha eseguito una disconnessione interrotta del socket, non verranno ricevuti ulteriori dati dal socket e non sarà possibile inviare altri dati al socket.
Il sottosistema WSK chiama la funzione di callback dell'evento WskDisconnectEvent di un'applicazione WSK in IRQL <= DISPATCH_LEVEL.
La funzione di callback dell'evento WskDisconnectEvent di un'applicazione WSK non deve attendere il completamento di altre richieste WSK nel contesto delle funzioni di callback di eventi o di completamento WSK. Il callback può avviare altre richieste WSK (presupponendo che non spenda troppo tempo in DISPATCH_LEVEL), ma non deve attendere il completamento anche quando il callback viene chiamato in IRQL = PASSIVE_LEVEL.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Disponibile in Windows Vista e versioni successive dei sistemi operativi Windows. |
Piattaforma di destinazione | Windows |
Intestazione | wsk.h (include Wsk.h) |
IRQL | <= DISPATCH_LEVEL |