Funzione FwpsCalloutRegister0 (fwpsk.h)
La funzione FwpsCalloutRegister0 registra un callout con il motore di filtro.
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 |
---|---|
|
Il callout è stato registrato correttamente con il motore di filtro. |
|
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 . |
|
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 |