PFN_WSK_INSPECT_COMPLETE funzione di callback (wsk.h)
La funzione WskInspectComplete completa l'ispezione di una richiesta di connessione in ingresso con penna ricevuta in un socket di ascolto con la modalità di accettazione condizionale abilitata.
Sintassi
PFN_WSK_INSPECT_COMPLETE PfnWskInspectComplete;
NTSTATUS PfnWskInspectComplete(
[in] PWSK_SOCKET ListenSocket,
[in] PWSK_INSPECT_ID InspectID,
[in] WSK_INSPECT_ACTION Action,
[in, out] PIRP Irp
)
{...}
Parametri
[in] ListenSocket
Puntatore a una struttura WSK_SOCKET . Questo puntatore specifica il socket di ascolto in cui l'applicazione WSK ha ricevuto la richiesta di connessione in ingresso che sta controllando.
[in] InspectID
Puntatore a una struttura WSK_INSPECT_ID . Il contenuto della struttura identifica la richiesta di connessione specifica controllata dall'applicazione WSK.
[in] Action
Valore che specifica se l'applicazione WSK accetta o rifiuta la richiesta di connessione in ingresso. Un'applicazione WSK deve specificare WskInspectAccept o WskInspectReject per questo parametro.
[in, out] Irp
Puntatore a un IRP allocato dal chiamante usato dal sottosistema WSK per completare l'operazione di ripresa in modo asincrono. Per altre informazioni sull'uso dei runtime di integrazione con le funzioni WSK, vedere Using IRPs with Winsock Kernel Functions .For more information about using IRPs with WSK functions, see Using IRPs with Winsock Kernel Functions.
Valore restituito
WskInspectComplete restituisce uno dei codici NTSTATUS seguenti:
Codice restituito | Descrizione |
---|---|
|
L'operazione di ispezione pended in precedenza è stata ripresa correttamente. L'IRP verrà completato con lo stato di esito positivo. |
|
Il sottosistema WSK non è riuscito a riprendere immediatamente l'operazione di ispezione. Il sottosistema WSK completerà l'IRP dopo aver ripreso l'operazione di ispezione della richiesta di connessione in ingresso. Lo stato della ripresa dell'operazione di ispezione verrà restituito nel campo IoStatus.Status dell'IRP. |
|
Il socket non è più funzionale. L'IRP verrà completato con lo stato di errore. L'applicazione WSK deve chiamare la funzione WskCloseSocket per chiudere il socket appena possibile. |
|
Si è verificato un errore. L'IRP verrà completato con lo stato di errore. |
Commenti
Un'applicazione WSK chiama la funzione WskInspectComplete per completare l'ispezione di una richiesta di connessione in ingresso per cui la funzione di callback dell'evento WskInspectEvent dell'applicazione ha restituito in precedenza WskInspectPend.
Un'applicazione WSK può chiamare la funzione WskInspectComplete solo su un socket di ascolto con la modalità di accettazione condizionale abilitata. Un'applicazione WSK può abilitare la modalità di accettazione condizionale in un socket di ascolto abilitando l'opzione socket SO_CONDITIONAL_ACCEPT . Per altre informazioni sull'accettazione condizionale delle connessioni in ingresso, vedere Ascolto e accettazione di Connections in ingresso.
Il sottosistema WSK ha passato un puntatore a una struttura WSK_INSPECT_ID all'applicazione WSK quando ha chiamato la funzione di callback dell'evento WskInspectEvent dell'applicazione. L'applicazione WSK ha copiato il contenuto di tale struttura nella propria struttura WSK_INSPECT_ID prima di restituire WskInspectPend dalla funzione di callback dell'evento WskInspectEvent . L'applicazione WSK passa un puntatore alla propria struttura WSK_INSPECT_ID nel parametro InspectID quando chiama la funzione WskInspectComplete .
Se un'applicazione WSK specifica WskInspectAccept nel parametro Action , il sottosistema WSK continuerà a stabilire la connessione socket. Il sottosistema WSK restituirà il socket all'applicazione WSK completando una chiamata dall'applicazione WSK alla funzione WskAccept o chiamando la funzione di callback dell'evento WskAcceptEvent dell'applicazione WskAcceptEvent , se abilitata. Se la richiesta di connessione in ingresso viene eliminata prima che la connessione socket venga stabilita completamente, il sottosistema WSK chiamerà la funzione di callback dell'evento WskAbortEvent dell'applicazione Wsk.
Se un'applicazione WSK specifica WskInspectReject nel parametro Action , la richiesta di connessione in ingresso viene eliminata e la connessione socket non viene stabilita.
Se la richiesta di connessione in ingresso viene eliminata dal sistema remoto prima che l'applicazione WSK chiami la funzione WskInspectComplete , il sottosistema WSK chiama la funzione di callback dell'evento WskAbortEvent dell'applicazione WSK.
Se l'applicazione WSK chiama la funzione WskInspectComplete su una richiesta di connessione in ingresso interrotta, la connessione non verrà stabilita anche se l'applicazione WSK ha specificato WskInspectAccept nel parametro Action .
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Disponibile in Windows Vista e versioni successive dei sistemi operativi Windows. |
Piattaforma di destinazione | Universale |
Intestazione | wsk.h (include Wsk.h) |
IRQL | <= DISPATCH_LEVEL |