Funzione FwpsCalloutRegister0 (fwpsk.h)

La funzione FwpsCalloutRegister0 registra un callout con il motore di filtro.

NotaFwpsCalloutRegister0 è la versione specifica di FwpsCalloutRegister usata in Windows Vista e versioni successive. Per altre informazioni , vedere Nomi Version-Independent WFP e Versioni specifiche di Windows . Per Windows 8, fwpsCalloutRegister2 è disponibile. Per Windows 7, FwpsCalloutRegister1 è disponibile.
 

Sintassi

NTSTATUS FwpsCalloutRegister0(
  [in, out]       void                *deviceObject,
  [in]            const FWPS_CALLOUT0 *callout,
  [out, optional] UINT32              *calloutId
);

Parametri

[in, out] deviceObject

Puntatore a un oggetto dispositivo creato in precedenza dal driver di callout. Per altre informazioni sul modo in cui un driver di callout crea un oggetto dispositivo, vedere Creazione di un oggetto Device.

[in] callout

Puntatore a una struttura costante FWPS_CALLOUT0 che contiene i dati necessari per registrare il callout con il motore di filtro.

[out, optional] calloutId

Puntatore a una variabile tipizzata UINT32 che riceve un identificatore di runtime che identifica il callout nel motore di filtro. Il driver di callout passa questo identificatore alla funzione FwpsCalloutUnregisterById0 quando si annulla la registrazione del callout dal motore di filtro. Se un driver di callout filtra un flusso di dati, passa anche questo identificatore alle funzioni FwpsFlowAssociateContext0 e FwpsFlowRemoveContext0 . Se un driver di callout inserisce i dati nei flussi di dati, passa anche questo identificatore alla funzione FwpsStreamInjectAsync0 . Il motore di filtro passa anche questo identificatore alla funzione callout del driver flowDeleteFn . Questo parametro è facoltativo e può essere NULL.

Valore restituito

La funzione FwpsCalloutRegister0 restituisce uno dei codici NTSTATUS seguenti.

Codice restituito Descrizione
STATUS_SUCCESS
Il callout è stato registrato correttamente con il motore di filtro.
STATUS_FWP_ALREADY_EXISTS
Impossibile registrare il callout con il motore di filtro. Un callout è già registrato nel motore di filtro con un identificatore identico al GUID specificato nel membro calloutKey della struttura FWPS_CALLOUT0 a cui punta il parametro callout .
Altri codici di stato
Si è verificato un errore.

Commenti

Un driver di callout chiama la funzione FwpsCalloutRegister0 per registrare un callout con il motore di filtro. Un driver di callout può registrare un callout con il motore di filtro in qualsiasi momento, anche se il motore di filtro non è attualmente in esecuzione.

Un callout e filtri che specificano il callout per l'azione del filtro può essere aggiunto al motore di filtro prima che un driver di callout registri il callout con il motore di filtro. In questo caso, i filtri con un tipo di azione di FWP_ACTION_CALLOUT_TERMINATING o FWP_ACTION_CALLOUT_UNKNOWN vengono considerati come FWP_ACTION_BLOCK e i filtri con un tipo di azione di FWP_ACTION_CALLOUT_INSPECTION vengono ignorati finché il callout non viene registrato con il motore di filtro.

Un driver di callout annulla la registrazione di un callout dal motore di filtro chiamando entrambi Funzione FwpsCalloutUnregisterById0 o Funzione FwpsCalloutUnregisterByKey0 . Non è possibile scaricare un driver di callout fino a quando tutti i callout registrati in precedenza con il motore di filtro sono stati annullati correttamente.

Requisiti

Requisito Valore
Client minimo supportato Disponibile a partire da Windows Vista.
Piattaforma di destinazione Universale
Intestazione fwpsk.h (includere Fwpsk.h)
Libreria Fwpkclnt.lib
IRQL PASSIVE_LEVEL

Vedi anche

Creazione di un oggetto Device

FWPS_CALLOUT0

FwpsCalloutRegister1

FwpsCalloutRegister2

FwpsCalloutUnregisterById0

FwpsCalloutUnregisterByKey0

FwpsFlowAssociateContext0

FwpsFlowRemoveContext0

FwpsStreamInjectAsync0

IoCreateDevice

Tipi di callout

flowDeleteFn