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 :
- 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 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
PFLT_INSTANCE_QUERY_TEARDOWN_CALLBACK