Condividi tramite


Funzione FwpsFlowAssociateContext0 (fwpsk.h)

La funzione FwpsFlowAssociateContext0 associa un contesto definito dal driver callout a un flusso di dati.

NotaFwpsFlowAssociateContext0 è una versione specifica di FwpsFlowAssociateContext. Per altre informazioni , vedere Nomi Version-Independent WFP e Versioni specifiche di Windows .
 

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
STATUS_SUCCESS
Il contesto è stato associato correttamente al flusso di dati.
parametro STATUS_INVALID
Il parametro flowContext è NULL o il callout specificato dal parametro calloutID non ha un flussoDeleteFn registrato.
STATUS_OBJECT_NAME_EXISTS
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.
Altri codici di stato
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

FwpsCalloutRegister0

FwpsCalloutRegister1

FwpsCalloutRegister2

FwpsFlowRemoveContext0

Esempio di piattaforma di filtro di Windows

classificazioneFn

flowDeleteFn