Condividi tramite


Funzione FltGetContextsEx (fltkernel.h)

La routine FltGetContextsEx recupera i contesti di un driver minifiltro 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 altre 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

Dimensione, in byte, della struttura FLT_RELATED_CONTEXTS_EX a cui punta Contesti. Impostare su sizeof(FLT_RELATED_CONTEXTS_EX).

[out] Contexts

Puntatore a una struttura di 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 è stato possibile 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 È stato immesso un valore di contesto non valido.

Osservazioni

Per altre informazioni sui contesti, vedere Informazioni sui contesti del minifiltro.

Un driver minifiltro chiama FltGetContextsEx per recuperare i 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 di callback del driver minifilter seguenti ricevono un puntatore a una struttura FLT_RELATED_OBJECTS come FltObjects parametro di input:

FltGetContextsEx incrementa il conteggio dei riferimenti per ogni contesto restituito 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 ogni contesto restituito nella struttura e impostare ogni campo di contesto restituito nella struttura su zero.

Fabbisogno

Requisito Valore
client minimo supportato Windows 8
piattaforma di destinazione Universale
intestazione fltkernel.h (include Fltkernel.h)
libreria FltMgr.lib
dll Fltmgr.sys
IRQL <= APC_LEVEL

Vedere 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