Condividi tramite


FWPS_VSWITCH_FILTER_ENGINE_REORDER_CALLBACK0 funzione di callback (fwpsk.h)

Il motore di filtro chiama la funzione callout vSwitchFilterEngineReorderNotifyRn (FWPS_VSWITCH_FILTER_ENGINE_REORDER_CALLBACK0) per notificare al driver callout gli eventi associati al motore di filtro del commutatore virtuale riordinando.

NotaFWPS_VSWITCH_FILTER_ENGINE_REORDER_CALLBACK0 è una versione specifica di FWPS_VSWITCH_FILTER_ENGINE_REORDER_CALLBACK. Per altre informazioni , vedere Nomi Version-Independent WFP e Versioni specifiche di Windows .

Sintassi

FWPS_VSWITCH_FILTER_ENGINE_REORDER_CALLBACK0 FwpsVswitchFilterEngineReorderCallback0;

NTSTATUS FwpsVswitchFilterEngineReorderCallback0(
  [in, optional] void *notifyContext,
  [in]           void *completionContext,
  [in]           BOOLEAN isInRequiredPosition,
  [in]           const NDIS_ENUM_FILTERS *vSwitchExtensionLwfList
)
{...}

Parametri

[in, optional] notifyContext

Puntatore a un contesto fornito dal driver di callout. Il driver ha passato questo puntatore al parametro notifyContext della funzione FwpsvSwitchEventsSubscribe0 . Questo parametro è facoltativo e può essere NULL.

[in] completionContext

Puntatore a un contesto di completamento fornito dal driver di callout. Questo parametro è facoltativo e può essere NULL.

[in] isInRequiredPosition

Valore BOOLEAN impostato su TRUE se il filtro è nella posizione necessaria nello stack di filtri o FALSE se non è.

[in] vSwitchExtensionLwfList

Struttura NDIS_ENUM_FILTERS che specifica un elenco dei driver di filtro NDIS dell'estensione del commutatore virtuale.

Valore restituito

Callout

FWPS_VSWITCH_FILTER_ENGINE_REORDER_CALLBACK0 funzione 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.

Commenti

Un driver di callout registra un

funzione vSwitchFilterEngineReorderNotifyRn chiamando la chiamata
funzione FwpsvSwitchEventsSubscribe0 .

Per impostazione predefinita, l'estensione del commutatore virtuale WFP viene posizionata come prima estensione di filtro all'ingresso del commutatore virtuale. (Pertanto, è anche l'ultima estensione in uscita del commutatore virtuale). Questa è in genere la posizione migliore, perché l'estensione WFP può intercettare i pacchetti prima che eventuali altre estensioni possano modificarle in ingresso. Inoltre, l'estensione WFP può intercettare i pacchetti dopo che tutte le modifiche dei pacchetti vengono eseguite in uscita.

Tuttavia, poiché un amministratore può riordinare tutte le estensioni del commutatore virtuale della stessa classe, l'estensione WFP può essere riordinata dalla posizione predefinita. Dopo che si verifica un nuovo ordinamento, i filtri di un client WFP potrebbero essere ignorati e potrebbero essere modificati.

Se il callback vSwitchFilterEngineReorderNotifyRn viene registrato, il driver di callout riceve una notifica quando si verifica una riordinazione di un commutatore virtuale. Il driver di callout riceve una struttura NDIS_ENUM_FILTERS con un elenco ordinato di estensioni del commutatore virtuale corrente nel parametro vSwitchExtensionLwfList .

Se le estensioni del commutatore virtuale vengono riordinate, l'estensione WFP viene sospesa (vedere FilterPause) e riavviata (vedere FilterRestart). Dalla chiamata FilterRestart del filtro WFP, il driver di filtro WFP chiama la funzione NdisEnumerateFilterModules per ottenere un elenco ordinato di filtri di estensione del commutatore virtuale. Se l'estensione WFP non è nella posizione predefinita, il driver di filtro notifica i driver di callout.

Un driver di callout non può restituire STATUS_PENDING da vSwitchFilterEngineReorderNotifyRn.

Requisiti

Requisito Valore
Client minimo supportato Disponibile a partire da Windows 8.
Piattaforma di destinazione Windows
Intestazione fwpsk.h (includere Fwpsk.h)
IRQL <= DISPATCH_LEVEL

Vedi anche

Funzioni callout driver callout

FilterPause

FilterRestart

FwpsvSwitchEventsSubscribe0

FwpsvSwitchNotifyComplete0

NDIS_ENUM_FILTERS

NdisEnumerateFilterModules

NdisFRestartComplete