FWPS_CALLOUT_NOTIFY_FN0 funzione di callback (fwpsu.h)
Il motore di filtro chiama una funzione di callout di notificaFn0 di callout per notificare al driver di callout gli eventi associati al callout.
Nota
notifyFn0 è la versione specifica di notifyFn usata in Windows Vista e versioni successive. Per altre informazioni, vedere Nomi indipendenti dalla versione del WFP e destinazione di versioni specifiche di Windows. Per Windows 8, notificaFn2 è disponibile. Per Windows 7, notificaFn1 è disponibile.
Sintassi
FWPS_CALLOUT_NOTIFY_FN0 FwpsCalloutNotifyFn0;
NTSTATUS FwpsCalloutNotifyFn0(
FWPS_CALLOUT_NOTIFY_TYPE notifyType,
const GUID *filterKey,
FWPS_FILTER0 *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_FILTER0 . Questa struttura descrive il filtro che viene aggiunto o eliminato dal motore di filtro.
La funzione di callout notifyFn0 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 al motore di filtro e può essere usata dalla funzione di callout del driver di classificazioneFn0 per conservare i dati o le informazioni sullo stato specifici del driver tra le chiamate dal motore di filtro alla funzione di callout del driver di classificazioneFn0 .
La funzione di callout notificaFn0 di un callout può pulire qualsiasi contesto associato al filtro quando il filtro viene eliminato dal motore di filtro.
Valore restituito
Una funzione notifyFn0 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 FwpsCalloutRegister0 .
Il motore di filtro chiama una funzione di callout di notificaFn0 di callout per notificare al driver di callout gli eventi associati al callout. Se la funzione di callout del driver notifyFn0 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 notifyFn0 del callout per notificare il callout su uno qualsiasi dei filtri esistenti. Il motore di filtro chiama la funzione di callout del driver notifyFn0 per notificare al callout quando vengono aggiunti nuovi filtri che specificano il callout per l'azione del filtro. In questa situazione, una funzione di callout di notificaFn0 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 notifyFn0 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 |