Condividi tramite


Funzione FwpsFlowAssociateContext0 (fwpsk.h)

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

NotaFwpsFlowAssociateContext0 è una versione specifica di FwpsFlowAssociateContext. Per altre informazioni, vedere nomi Version-Independent WFP e selezione di 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 callout tramite il valore dei metadati FWPS_METADATA_FIELD_FLOW_HANDLE passato al driver del callout classificareFn funzione callout.

[in] layerId

Identificatore di runtime per il livello di filtro a cui è associato il contesto. Il contesto verrà associato solo al livello di filtro specificato. Per altre informazioni, vedere identificatori del 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 ha chiamato il FwpsCalloutRegister0, FwpsCalloutRegister1o Funzione fwpsCalloutRegister 2 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 per il 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.
STATUS_INVALID PARAMETER
Il parametro flowContext è NULL o il callout specificato dal parametro calloutID non dispone di un flowDeleteFn 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 di nuovo la funzione FwpsFlowAssociateContext 0 per associare nuovamente il nuovo contesto al flusso di dati.
Altri codici di stato
Si è verificato un errore.

Osservazioni

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 mantenere qualsiasi informazione di stato o dati specifici del driver tra le chiamate dal motore di filtro a un callout classificareFn funzione di callout per tale flusso di dati.

Nel motore di filtro deve essere presente un callout a livello identificato dal parametro layerId che ha registrato un flowDeleteFn funzione callout. In caso contrario, la chiamata alla funzione FwpsFlowAssociateContext0 restituirà STATUS_INVALID_PARAMETER. Il motore di filtro chiama che flowDeleteFn funzione di callout quando il flusso viene terminato in modo che il driver del 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, ovvero 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 di quello precedente o a un livello diverso.

Per altre informazioni e codice di esempio, vedere Associare il contesto a un flusso di dati e esempio di piattaforma di filtro Windows.

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 <= DISPATCH_LEVEL

Vedere anche

Associare il contesto a un flusso di dati

FwpsCalloutRegister0

FwpsCalloutRegister1

FwpsCalloutRegister2

FwpsFlowRemoveContext0

di esempio della piattaforma di filtro di Windows

classificareFn

flowDeleteFn