Funzione FltGetContextsEx (fltkernel.h)

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

Sintassi

NTSTATUS FLTAPI FltGetContextsEx(
  [in]  PCFLT_RELATED_OBJECTS    FltObjects,
  [in]  FLT_CONTEXT_TYPE         DesiredContexts,
  [in]  SIZE_T                   ContextsSize,
  [out] PFLT_RELATED_CONTEXTS_EX Contexts
);

Parametri

[in] FltObjects

Puntatore a una struttura FLT_RELATED_OBJECTS contenente puntatori opachi per gli oggetti correlati all'operazione corrente. Per ulteriori informazioni, vedere la sezione Osservazioni.

[in] DesiredContexts

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 020040
FLT_ALL_CONTEXTS OR bit per bit di tutti i valori di contesto

[in] ContextsSize

Dimensioni, in byte, della struttura FLT_RELATED_CONTEXTS_EX puntata da Contesti. Impostare su sizeof(FLT_RELATED_CONTEXTS_EX).

[out] Contexts

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

FltGetContextsEx restituisce STATUS_SUCCESS al completamento corretto. In caso contrario, restituisce un codice di stato, ad esempio uno dei seguenti.

Codice Significato
STATUS_INVALID_PARAMETER Un valore di contesto non valido è stato input.

Commenti

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

Un driver minifilter chiama FltGetContextsEx per recuperare puntatori ai relativi contesti per gli oggetti in una struttura FLT_RELATED_OBJECTS . In STATUS_SUCCESS, il minifiltro dovrà verificare che un contesto non sia zero prima di usarlo.

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

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

  • Chiamare FltReleaseContextsEx 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
Client minimo supportato Windows 8
Piattaforma di destinazione Universale
Intestazione fltkernel.h (includere Fltkernel.h)
Libreria FltMgr.lib
DLL Fltmgr.sys
IRQL <= APC_LEVEL

Vedi anche

FLT_RELATED_CONTEXTS_EX

FLT_RELATED_OBJECTS

FltRegisterFilter

FltReleaseContext

FltReleaseContextsEx

PFLT_INSTANCE_QUERY_TEARDOWN_CALLBACK

PFLT_INSTANCE_SETUP_CALLBACK

PFLT_INSTANCE_TEARDOWN_CALLBACK

PFLT_POST_OPERATION_CALLBACK

PFLT_PRE_OPERATION_CALLBACK