Funzione FwpsFlowAssociateContext0 (fwpsk.h)
La funzione FwpsFlowAssociateContext0 associa un contesto definito dal driver callout a un flusso di dati.
Sintassi
NTSTATUS FwpsFlowAssociateContext0(
[in] UINT64 flowId,
[in] UINT16 layerId,
[in] UINT32 calloutId,
[in] UINT64 flowContext
);
Parametri
[in] flowId
Identificatore di runtime che specifica il flusso di dati con cui associare il contesto. L'identificatore di runtime per un flusso di dati viene fornito a un driver di callout tramite il valore dei metadati FWPS_METADATA_FIELD_FLOW_HANDLE passato alla funzione di callout del driver di classificazioneFn .
[in] layerId
Identificatore di runtime per il livello di filtro con cui è associato il contesto. Il contesto verrà associato solo al livello di filtro specificato. Per altre informazioni, vedere Identificatori di livello di filtro in fase di esecuzione.
[in] calloutId
Identificatore di runtime per il callout nel motore di filtro. Questo identificatore è stato restituito quando il driver callout denominato FwpsCalloutRegister0, FwpsCalloutRegister1 oFwpsCalloutRegister2 per registrare il callout con il motore di filtro.
[in] flowContext
Contesto definito dal driver di callout da associare al flusso di dati. Questo parametro non deve essere zero. Questo contesto è opaco al motore di filtro.
Valore restituito
La funzione FwpsFlowAssociateContext0 restituisce uno dei codici NTSTATUS seguenti.
Codice restituito | Descrizione |
---|---|
|
Il contesto è stato associato correttamente al flusso di dati. |
|
Il parametro flowContext è NULL o il callout specificato dal parametro calloutID non ha un flussoDeleteFn registrato. |
|
Un contesto è già associato al flusso di dati. In questo caso, un driver callout deve prima chiamare la funzione FwpsFlowRemoveContext0 per rimuovere il contesto esistente e quindi chiamare nuovamente la funzione FwpsFlowAssociateContext0 per associare il nuovo contesto al flusso di dati. |
|
Si è verificato un errore. |
Commenti
Quando si filtra un flusso di dati, un driver callout può chiamare la funzione FwpsFlowAssociateContext0 per associare un contesto al flusso di dati. Può quindi usare questo contesto per conservare i dati o le informazioni sullo stato specifici del driver tra le chiamate dal motore di filtro a una funzione di callout di classificazioneFn per tale flusso di dati.
Deve essere presente un callout nel motore di filtro a livello identificato dal parametro layerId che ha registrato una funzione callout flowDeleteFn . In caso contrario, la chiamata alla funzione FwpsFlowAssociateContext0 restituirà STATUS_INVALID_PARAMETER. Il motore di filtro chiama la funzione callout flowDeleteFn quando il flusso viene terminato in modo che il driver di callout possa pulire il contesto associato al flusso.
È possibile chiamare FwpsFlowAssociateContext0 più volte per lo stesso flusso. In ogni chiamata è necessario specificare un callout diverso e un contesto diverso, un contesto per ogni callout aggiunto.
La funzione FwpsFlowAssociateContext0 associa un singolo contesto a un singolo callout aggiunto.
È possibile associare più contesti a un flusso. Tuttavia, ogni contesto deve essere associato a un callout diverso. Il nuovo callout può essere allo stesso livello del precedente o a un livello diverso.
Per altre informazioni e codice di esempio, vedere Associazione del contesto con un Flusso di dati e l'esempio di piattaforma di filtro di Windows.
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 | <= DISPATCH_LEVEL |
Vedi anche
Associazione del contesto a un Flusso di dati