struttura FSRTL_PER_FILEOBJECT_CONTEXT (ntifs.h)
Il sistema operativo usa la struttura di FSRTL_PER_FILEOBJECT_CONTEXT opaca per tenere traccia delle strutture di informazioni di contesto definite dal driver del file system per un oggetto file.
Sintassi
typedef struct _FSRTL_PER_FILEOBJECT_CONTEXT {
LIST_ENTRY Links;
PVOID OwnerId;
PVOID InstanceId;
} FSRTL_PER_FILEOBJECT_CONTEXT, *PFSRTL_PER_FILEOBJECT_CONTEXT;
Membri
Links
Collegamento per questa struttura nell'elenco di tutte le strutture di contesto per oggetto file associate allo stesso oggetto file. FsRtlInsertPerFileObjectContext inserisce questo membro nell'elenco di tutte le strutture di contesto per oggetto per file per l'oggetto file.
OwnerId
Puntatore a una variabile allocata da filter-driver che identifica in modo univoco il filtro proprietario della struttura di contesto per oggetto file. Il formato di questa variabile è specifico del driver di filtro. I writer di filtri devono scegliere un valore significativo e pratico, ad esempio l'indirizzo dell'oggetto dispositivo o dell'oggetto driver del filtro. Si noti che il valore di questo membro non può essere NULL.
InstanceId
Puntatore a una variabile allocata da filter-driver che può essere usata per distinguere tra le strutture di contesto per oggetto file create dallo stesso driver di filtro. Il formato di questa variabile è specifico del driver di filtro. I writer di filtri devono scegliere un valore significativo e pratico, ad esempio l'indirizzo dell'oggetto file stesso. Si noti che il valore di questo membro può essere NULL.
Osservazioni
I driver di filtro del file system possono usare la struttura di FSRTL_PER_FILEOBJECT_CONTEXT opaca per mantenere le informazioni di contesto per un oggetto file. Questa struttura può essere usata as-is o incorporata in una struttura di contesto definita dal driver per ogni oggetto file.
A ogni oggetto file può essere associato un elenco di strutture di contesto per oggetto file. Ogni membro di questo elenco (ovvero una particolare struttura di contesto per oggetto file) è di proprietà di un driver di filtro. Dal punto di vista di un driver di filtro, ogni driver di filtro può associare più strutture di contesto per ogni oggetto file per lo stesso oggetto file.
Ogni struttura di contesto definita dal filtro per ogni oggetto file deve includere una struttura di FSRTL_PER_FILEOBJECT_CONTEXT inizializzata. La struttura FSRTL_PER_FILEOBJECT_CONTEXT può essere allocata da un pool di pagine o non di pagina e deve essere inizializzata utilizzando la macro FsRtlInitPerFileObjectContext.
Per inserire una struttura di FSRTL_PER_FILEOBJECT_CONTEXT o una struttura di contesto per oggetto file definita dal filtro (contenente una struttura di FSRTL_PER_FILEOBJECT_CONTEXT inizializzata) nell'elenco di tutte le strutture di contesto per un oggetto file, utilizzare la funzione FsRtlInsertPerFileObjectContext.
Dopo aver associato una struttura di contesto FSRTL_PER_FILEOBJECT_CONTEXT o per oggetto file a un oggetto file, è possibile recuperarla chiamando FsRtlLookupPerFileObjectContext o rimossa chiamando FsRtlRemovePerFileObjectContext (in base ai valori di OwnerId e InstanceId).
I driver minifiltro del file system non devono usare le funzioni seguenti:
- FsRtlInitPerFileObjectContext
- FsRtlInsertPerFileObjectContext
- FsRtlLookupPerFileObjectContext
- FsRtlRemovePerFileObjectContext
I minifiltri possono invece usare le funzioni seguenti per associare le informazioni di contesto a un oggetto file:
- FltAllocateContext
- FltDeleteContext
- FltSetStreamHandleContext
- FltDeleteStreamHandleContext
- FltGetStreamHandleContext
- FltReleaseContext
I driver minifiltri del file system non devono usare le funzioni
Fabbisogno
Requisito | Valore |
---|---|
client minimo supportato | Windows Vista |
intestazione |
ntifs.h (include Fltkernel.h, Ntifs.h) |
Vedere anche
FsRtlInsertPerFileObjectContext