Funzione FwpsCalloutRegister2 (fwpsk.h)

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

NotaFwpsCalloutRegister2 è la versione specifica di FwpsCalloutRegister usata in Windows 8 e versioni successive. Per altre informazioni, vedere Wfp Version-Independent Names and Targeting Specific Versions of Windows .See WFP Version-Independent Names and Targeting Specific Versions of Windows.See WFP Version-Independent Names and Targeting Specific Versions of Windows for more information. Per Windows 7, FwpsCalloutRegister1 è disponibile. Per Windows Vista è disponibile FwpsCalloutRegister0 .

 

Sintassi

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

Parametri

[in, out] deviceObject

Puntatore a un oggetto dispositivo creato in precedenza dal driver del callout. Per altre informazioni sulla creazione di un oggetto dispositivo da parte di un driver di callout, vedere Creazione di un oggetto Device.

[in] callout

Puntatore a una struttura FWPS_CALLOUT2 costante 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 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 FwpsCalloutRegister2 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_CALLOUT2 a cui punta il parametro callout .
Altri codici di stato
Si è verificato un errore.

Commenti

Un driver callout chiama la funzione FwpsCalloutRegister2 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.

È possibile aggiungere un callout e filtri che specificano il callout per l'azione del filtro al motore di filtro prima che un driver 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 fino a quando 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 uno dei due 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 non sono stati registrati correttamente.

Questa funzione è essenzialmente identica alla versione precedente, FwpsCalloutRegister1. L'unica differenza è la struttura FWPS_CALLOUT2 aggiornata a cui punta il parametro callout .

Requisiti

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

Vedi anche

Creazione di un oggetto Device

FWPS_CALLOUT2

FwpsCalloutRegister0

FwpsCalloutRegister1

FwpsCalloutUnregisterById0

FwpsCalloutUnregisterByKey0

FwpsFlowAssociateContext0

FwpsFlowRemoveContext0

FwpsStreamInjectAsync0

IoCreateDevice

Tipi di callout

flowDeleteFn