FWPS_CALLOUT_NOTIFY_FN3 funzione di callback (fwpsu.h)
Versione 3 della funzione richiamata durante la classificazione quando un filtro callout corrisponde. La differenza è che questo callback restituisce una struttura FWPS_FILTER3 .
Sintassi
FWPS_CALLOUT_NOTIFY_FN3 FwpsCalloutNotifyFn3;
NTSTATUS FwpsCalloutNotifyFn3(
FWPS_CALLOUT_NOTIFY_TYPE notifyType,
const GUID *filterKey,
FWPS_FILTER3 *filter
)
{...}
Parametri
notifyType
Valore che indica il tipo di notifica che il motore di filtro invia al callout. I valori validi per questo parametro sono:
FWPS_CALLOUT_NOTIFY_ADD_FILTER. Viene aggiunto un filtro al motore di filtro che specifica il callout per l'azione del filtro.
FWPS_CALLOUT_NOTIFY_DELETE_FILTER. Un filtro viene eliminato dal motore di filtro che specifica il callout per l'azione del filtro.
FWPS_CALLOUT_NOTIFY_TYPE_MAX. Valore massimo a scopo di test.
filterKey
Puntatore all'identificatore di gestione per il filtro, come specificato dall'applicazione o dal driver che aggiunge o elimina il filtro. Deve essere NULL se il parametro notifyType è impostato su FWPS_CALLOUT_NOTIFY_DELETE_FILTER. Per altre informazioni, vedere la sezione Osservazioni.
filter
Puntatore a una struttura FWPS_FILTER3 . Questa struttura descrive il filtro che viene aggiunto o eliminato dal motore di filtro.
La funzione di callout notificaFn3 di un callout può impostare il membro di contesto di questa struttura per puntare a una struttura di contesto fornita dal driver di callout quando il filtro viene aggiunto al motore di filtro. Questa struttura di contesto è opaca per il motore di filtro e può essere usata dalla funzione di callout del driver di classificazioneFn3 per mantenere i dati o le informazioni sullo stato specifici del driver tra le chiamate dal motore di filtro alla funzione di callout del driver di classificazioneFn3 .
La funzione di callout notifyFn3 di un callout può pulire qualsiasi contesto associato al filtro quando il filtro viene eliminato dal motore di filtro.
Valore restituito
Una funzione notifyFn3 di un callout restituisce uno dei codici NTSTATUS seguenti.
Codice restituito | Descrizione |
---|---|
STATUS_SUCCESS | Il driver di callout accetta la notifica dal motore di filtro. |
Altri codici di stato | Si è verificato un errore. Se il parametro notifyType è FWPS_CALLOUT_NOTIFY_ADD_FILTER, il filtro non verrà aggiunto al motore di filtro. Se il parametro notifyType è FWPS_CALLOUT_NOTIFY_DELETE_FILTER, il filtro verrà comunque eliminato dal motore di filtro. |
Commenti
Un driver di callout registra le funzioni di callout di un callout con il motore di filtro chiamando la funzione FwpsCalloutRegister2 .
Il motore di filtro chiama la funzione callout di notificaFn3 di un callout del callout per notificare al driver di callout gli eventi associati al callout. Se la funzione di callout del driver notifyFn3 non riconosce il tipo di notifica passato nel parametro notifyType , ignora la notifica e restituisce STATUS_SUCCESS.
Se un driver di callout registra un callout con il motore di filtro dopo i filtri che specificano il callout per l'azione del filtro è già stato aggiunto al motore di filtro, il motore di filtro non chiama la funzione di callout del driver notifyFn3 per notificare al callout uno qualsiasi dei filtri esistenti. Il motore di filtro chiama la funzione di callout del driver notifyFn3 per notificare il callout quando vengono aggiunti nuovi filtri che specificano il callout per l'azione del filtro. In questa situazione, una funzione callout di notificaFn3 di un callout potrebbe non essere chiamata per ogni filtro nel motore di filtro che specifica il callout per l'azione del filtro. Se un driver di callout registra un callout dopo l'avvio del motore di filtro e il callout deve conoscere ogni filtro nel motore di filtro che specifica il callout per l'azione del filtro, il driver di callout deve chiamare le funzioni di gestione appropriate per enumerare tutti i filtri nel motore di filtro e ordinare l'elenco risultante di filtri per trovare quelli che specificano il callout per l'azione del filtro. Per altre informazioni sulla chiamata di queste funzioni, vedere Chiamata di altre funzioni della piattaforma di filtro di Windows .
Quando un filtro che specifica un callout per l'azione del filtro viene eliminato dal motore di filtro, il motore di filtro chiama la funzione di callout del driver notifyFn3 e passa FWP_CALLOUT_NOTIFY_DELETE_FILTER nel parametro notifyType e NULL nel parametro filterKey. Per altre informazioni, vedere Elaborazione di callout notifica.
Requisiti
Requisito | Valore |
---|---|
Intestazione | fwpsu.h |