Condividi tramite


FWPS_CALLOUT_NOTIFY_FN3 funzione di callback (fwpsk.h)

Versione 3 della funzione richiamata durante la classificazione quando un filtro callout corrisponde. La differenza consiste nel fatto 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 osservazioni.

filter

Puntatore a una struttura FWPS_FILTER3. Questa struttura descrive il filtro che viene aggiunto o eliminato dal motore di filtro.

Un callout notifyFn3 funzione callout può impostare il membro di contesto di questa struttura in modo che punti a una struttura di contesto fornita dal driver callout quando il filtro viene aggiunto al motore di filtro. Questa struttura di contesto è opaca per il motore di filtro e può essere usata dal driver del callout classificareFn3 funzione callout per mantenere qualsiasi informazione di stato o dati specifici del driver tra le chiamate dal motore di filtro al driver callout classificareFn3 funzione callout.

Un callout notifyFn3 funzione callout può pulire qualsiasi contesto associato al filtro quando il filtro viene eliminato dal motore di filtro.

Valore restituito

La funzione notifyFn3 di un callout restituisce uno dei codici di NTSTATUS seguenti .

Codice restituito Descrizione
STATUS_SUCCESS Il driver 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.

Osservazioni

Un driver callout registra le funzioni callout di un callout con il motore di filtro chiamando la funzione FwpsCalloutRegister2.

Il motore di filtro chiama il callout notifyFn3 funzione callout per notificare al driver callout gli eventi associati al callout. Se il driver del callout notifyFn3 funzione callout non riconosce il tipo di notifica passato nel parametro notifyType, ignora la notifica e restituisce STATUS_SUCCESS.

Se un driver 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 il driver del callout notifyFn3 funzione callout per notificare al callout uno dei filtri esistenti. Il motore di filtro chiama il driver del callout notifyFn3 funzione callout per notificare al callout quando vengono aggiunti nuovi filtri che specificano il callout per l'azione del filtro al motore di filtro. In questo caso, un callout notifyFn3 funzione callout potrebbe non essere chiamato per ogni filtro nel motore di filtro che specifica il callout per l'azione del filtro. Se un driver 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 del callout deve chiamare le funzioni di gestione appropriate per enumerare tutti i filtri nel motore di filtro e ordinare l'elenco di filtri risultante 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 Windows.

Quando un filtro che specifica un callout per l'azione del filtro viene eliminato dal motore di filtro, il motore di filtro chiama il driver del callout notifyFn3 funzione di callout e passa FWP_CALLOUT_NOTIFY_DELETE_FILTER nel parametro notifyType e NULL nel parametro filterKey. Per altre informazioni, vedere l'elaborazione dei callout.

Fabbisogno

Requisito Valore
client minimo supportato Disponibile a partire da Windows Vista.
intestazione fwpsk.h
IRQL <= DISPATCH_LEVEL

Vedere anche