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 sul 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;

Members

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 ogni oggetto file per l'oggetto file.

OwnerId

Puntatore a una variabile allocata dal driver di filtro che identifica in modo univoco il filtro proprietario della struttura del 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 dal driver di filtro 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.

Commenti

I driver di filtro del file system possono usare la struttura FSRTL_PER_FILEOBJECT_CONTEXT opaca per mantenere le informazioni di contesto per un oggetto file. Questa struttura può essere usata così come è 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 per oggetto file definita dal filtro 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 pagine e deve essere inizializzata tramite 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 l'associazione di una struttura di contesto FSRTL_PER_FILEOBJECT_CONTEXT o per oggetto file a un oggetto file, può essere recuperata chiamando FsRtlLookupPerFileObjectContext o rimossa chiamando FsRtlRemovePerFileObjectContext (in base ai valori di OwnerId e InstanceId).

I driver minifilter del file system non devono usare le funzioni seguenti:

I minifiltri possono invece usare le funzioni seguenti per associare le informazioni di contesto a un oggetto file:

I driver minifilter del file system non devono usare le funzioni FsRtlXxxPerFileObjectContext . I minifiltri possono invece usare le funzioni FltXxxContext per associare le informazioni di contesto a un oggetto file. Per un elenco completo, vedere l'argomento FSRTL_PER_FILEOBJECT_CONTEXT .

Requisiti

Requisito Valore
Client minimo supportato Windows Vista
Intestazione ntifs.h (include Fltkernel.h, Ntifs.h)

Vedi anche

DEVICE_OBJECT

DRIVER_OBJECT

FILE_OBJECT

FltAllocateContext

FltDeleteContext

FltDeleteStreamHandleContext

FltGetStreamHandleContext

FltReleaseContext

FltSetStreamHandleContext

FsRtlInitPerFileObjectContext

FsRtlInsertPerFileObjectContext

FsRtlLookupPerFileObjectContext

FsRtlRemovePerFileObjectContext