struttura FSRTL_PER_STREAM_CONTEXT (ntifs.h)
La struttura FSRTL_PER_STREAM_CONTEXT contiene informazioni di contesto che un driver di filtro del file system gestisce su un flusso di file.
Sintassi
typedef struct _FSRTL_PER_STREAM_CONTEXT {
LIST_ENTRY Links;
PVOID OwnerId;
PVOID InstanceId;
PFREE_FUNCTION FreeCallback;
} FSRTL_PER_STREAM_CONTEXT, *PFSRTL_PER_STREAM_CONTEXT;
Membri
Links
Collegamento per questa struttura nell'elenco di tutte le strutture di contesto per flusso associate allo stesso flusso di file. FsRtlInsertPerStreamContext inserisce questo membro nell'elenco di tutte le strutture di contesto per flusso per un flusso di file. Per ottenere un puntatore all'inizio dell'elenco da un oggetto file, utilizzare il FsRtlGetPerStreamContextPointer macro ed eseguire il cast del risultato in un puntatore PFSRTL_ADVANCED_FCB_HEADER. Il puntatore di elenco è il FilterContexts membro nella struttura di intestazione FCB (Advanced File Control Block) per il flusso di file.
OwnerId
Puntatore a una variabile allocata da filter-driver che identifica in modo univoco il proprietario della struttura del contesto per flusso. 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 di un oggetto driver o di un oggetto dispositivo. I driver di filtro devono impostare questo membro su un valoreNULL.
InstanceId
Puntatore a una variabile allocata tramite filtro driver che può essere usata per distinguere tra le strutture di contesto per flusso 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 contesto di flusso per il flusso di file. Per ottenere questo indirizzo da un oggetto file, usare la macro FsRtlGetPerStreamContextPoint er.
Questo membro è facoltativo e può essere NULL.
FreeCallback
Puntatore a una routine di callback che libera la struttura del contesto per flusso. Questa routine e i relativi parametri sono definiti come segue:
VOID
(*PFREE_FUNCTION) (
IN PVOID Buffer
);
Buffer
Puntatore alla struttura FSRTL_PER_STREAM_CONTEXT da liberare.
Osservazioni
I driver di filtro del file system possono usare una struttura di FSRTL_PER_STREAM_CONTEXT per mantenere le informazioni di contesto per un flusso di file. Questa struttura può essere usata così come è o incorporata in una struttura di contesto definita dal driver per flusso.
Quando un file system rimuove l'oggetto contesto di flusso per un flusso di file, deve chiamare FsRtlTeardownPerStreamContexts, che a sua volta chiama le routine FreeCallback di tutte le strutture di contesto per flusso associate al flusso di file.
La macro FsRtlSupportsPerStreamContexts determina se un file system supporta contesti per flusso per un determinato flusso di file.
BOOLEAN FsRtlSupportsPerStreamContexts(
[in] PFILE_OBJECT FileObject
);
Parametri
FileObject [in]
PFILE_OBJECT
Puntatore a un oggetto file per il flusso di file.
Valore restituito
BOOLEAN
La macro FsRtlSupportsPerStreamContexts restituisce TRUE se il file system supporta contesti per flusso per il flusso di file, FALSE in caso contrario.
I driver di filtro del file system chiamano FsRtlSupportsPerStreamContexts per determinare se il file system sottostante supporta i contesti per flusso per il flusso di file rappresentato da un determinato oggetto file. Si noti che un file system potrebbe supportare contesti per flusso per alcuni tipi di file, ma non per altri. Ad esempio, NTFS e FAT non supportano attualmente contesti per flusso per i file di paging.
Per altre informazioni, vedere Per-Stream Context in a Legacy File System Filter Driver.For more information, see Tracking Per-Stream Context in a Legacy File System Filter Driver.
Fabbisogno
Requisito | Valore |
---|---|
client minimo supportato | Questa struttura è Windows XP |
intestazione |
ntifs.h (include Ntifs.h) |
Vedere anche
FsRtlGetPerStreamContextPointer
FsRtlTeardownPerStreamContexts
contesto Per-Stream di rilevamento in un driver di filtro del file system legacy