Funzione FltGetContexts (fltkernel.h)

La routine FltGetContexts recupera i contesti di un driver minifilter per gli oggetti correlati all'operazione corrente.

Sintassi

VOID FLTAPI FltGetContexts(
  PCFLT_RELATED_OBJECTS FltObjects,
  FLT_CONTEXT_TYPE      DesiredContexts,
  PFLT_RELATED_CONTEXTS Contexts
);

Parametri

FltObjects

[in] Puntatore a una struttura FLT_RELATED_OBJECTS contenente puntatori opachi per gli oggetti correlati all'operazione corrente. Per altre informazioni su questo parametro, vedere la sezione Osservazioni.

DesiredContexts

[in] Identifica i tipi di contesti da recuperare. Questo parametro può essere un OR bit per bit dei valori seguenti.

Costante Valore
FLT_VOLUME_CONTEXT 0x0001
FLT_INSTANCE_CONTEXT 0x0002
FLT_FILE_CONTEXT 0x0004
FLT_STREAM_CONTEXT 0x0008
FLT_STREAMHANDLE_CONTEXT 0x0010
FLT_TRANSACTION_CONTEXT 0x0020
FLT_SECTION_CONTEXT (a partire da Windows 8) 020040
FLT_ALL_CONTEXTS OR bit per bit di tutti i valori di contesto

Contexts

[out] Puntatore a una struttura FLT_RELATED_CONTEXTS allocata dal chiamante che riceve i contesti richiesti. Questo parametro è obbligatorio e non può essere impostato su NULL. FltMgr imposta un membro della struttura su zero per:

  • Contesti che il chiamante non ha richiesto.
  • Contesti richiesti dal chiamante, ma FltMgr non è riuscito a trovare.

Valore restituito

No.

Osservazioni

Per altre informazioni sui contesti, vedere Informazioni sui contesti minifilter.

Un driver minifilter chiama FltGetContexts per recuperare puntatori ai contesti del driver minifilter per gli oggetti in una struttura FLT_RELATED_OBJECTS .

I tipi di routine del callback del driver minifilter seguenti ricevono un puntatore a una struttura FLT_RELATED_OBJECTS come parametro di input FltObjects :

FltGetContexts incrementa il conteggio dei riferimenti su ognuno dei contesti restituiti nella struttura FLT_RELATED_CONTEXTS a cui punta il parametro Contexts . Pertanto, per ogni chiamata riuscita a FltGetContexts, il chiamante deve:

  • Chiamare FltReleaseContexts per l'intera struttura a cui punta il parametro Contexts .
  • Chiamare FltReleaseContext per ognuno dei contesti restituiti nella struttura e impostare ogni campo di contesto restituito nella struttura su zero.

Requisiti

Requisito Valore
Piattaforma di destinazione Universale
Intestazione fltkernel.h (includere Fltkernel.h)
Libreria FltMgr.lib
DLL Fltmgr.sys
IRQL <= APC_LEVEL

Vedi anche

FLT_RELATED_CONTEXTS

FLT_RELATED_OBJECTS

FltGetContextsEx

FltRegisterFilter

FltReleaseContext

FltReleaseContexts

PFLT_INSTANCE_QUERY_TEARDOWN_CALLBACK

PFLT_INSTANCE_SETUP_CALLBACK

PFLT_INSTANCE_TEARDOWN_CALLBACK

PFLT_POST_OPERATION_CALLBACK

PFLT_PRE_OPERATION_CALLBACK