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:
- PFLT_PRE_OPERATION_CALLBACK
- PFLT_POST_OPERATION_CALLBACK
- PFLT_INSTANCE_SETUP_CALLBACK
- PFLT_INSTANCE_QUERY_TEARDOWN_CALLBACK
- PFLT_INSTANCE_TEARDOWN_CALLBACK
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
PFLT_INSTANCE_QUERY_TEARDOWN_CALLBACK