Condividi tramite


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 selezione di versioni specifiche di Windows. Per Windows 8 è disponibile FwpsCalloutRegister2. Per Windows 7, è disponibile FwpsCalloutRegister1.
 

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 callout. Per altre informazioni su come un driver callout crea un oggetto dispositivo, vedere Creating a Device Object.

[in] callout

Puntatore a una struttura di FWPS_CALLOUT0 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 callout filtra un flusso di dati, passa anche questo identificatore alle funzioni di FwpsFlowAssociateContext0 e FwpsFlowRemoveContext0. Se un driver callout inserisce dati in 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 calloutKey membro della struttura FWPS_CALLOUT0 a cui punta il callout parametro.
Altri codici di stato
Si è verificato un errore.

Osservazioni

Un driver callout chiama la funzione fwpsCalloutRegister0 per registrare un callout con il motore di filtro. Un driver 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_BLOCKe 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 callout annulla la registrazione di un callout dal motore di filtro chiamando uno dei due funzione fwpsCalloutUnregisterById0 o funzione di FwpsCalloutUnregisterByKey0. Non è possibile scaricare un driver callout fino a quando tutti i callout registrati in precedenza con il motore di filtro non sono stati registrati correttamente.

Fabbisogno

Requisito Valore
client minimo supportato Disponibile a partire da Windows Vista.
piattaforma di destinazione Universale
intestazione fwpsk.h (include Fwpsk.h)
libreria Fwpkclnt.lib
IRQL PASSIVE_LEVEL

Vedere anche

Creazione di un oggetto dispositivo

FWPS_CALLOUT0

FwpsCalloutRegister1

FwpsCalloutRegister2

FwpsCalloutUnregisterById0

FwpsCalloutUnregisterByKey0

FwpsFlowAssociateContext0

FwpsFlowRemoveContext0

FwpsStreamInjectAsync0

IoCreateDevice

tipi di callout

flowDeleteFn