Funzione FwpsFlowAssociateContext0 (fwpsk.h)
La funzione FwpsFlowAssociateContext0 associa un contesto definito dal driver di 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 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 |
---|---|
|
Il contesto è stato associato correttamente al flusso di dati. |
|
Il parametro flowContext è NULL o il callout specificato dal parametro calloutID non dispone di un flowDeleteFn 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 di nuovo la funzione FwpsFlowAssociateContext 0 per associare nuovamente il nuovo contesto al flusso di dati. |
|
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