FLT_RELATED_OBJECTS 结构 (fltkernel.h)
FLT_RELATED_OBJECTS 结构包含与操作关联的对象的不透明指针。
语法
typedef struct _FLT_RELATED_OBJECTS {
USHORT Size;
USHORT TransactionContext;
PFLT_FILTER Filter;
PFLT_VOLUME Volume;
PFLT_INSTANCE Instance;
PFILE_OBJECT FileObject;
PKTRANSACTION Transaction;
} FLT_RELATED_OBJECTS, *PFLT_RELATED_OBJECTS;
成员
Size
FLT_RELATED_OBJECTS 结构的大小(以字节为单位)。
TransactionContext
如果事务成员不为 NULL,则包含事务微型版本 ID 值的不透明成员。 如果 Transaction 为 NULL,则 TransactionContext 的值未定义。
Filter
为操作调用其回调例程的微筛选器驱动程序的不透明筛选器指针。 此指针唯一标识微筛选器驱动程序,只要加载微筛选器驱动程序,它就保持不变。
Volume
与操作关联的卷的不透明卷指针。 此指针唯一标识卷,并在卷设备堆栈的生存期内保持不变。
Instance
与操作关联的微筛选器驱动程序实例的不透明实例指针。 此指针唯一标识实例,只要实例附加到卷,该指针就保持不变。
FileObject
指向操作的文件对象的指针(如果有)。
Transaction
在 Windows Vista 及更高版本中,此成员是指向与操作关联的事务的不透明事务指针。 如果此成员的值不为 NULL,则该操作将成为事务的一部分。 如果此成员的值为 NULL,则该操作不会是事务的一部分。 在 Windows Vista 之前的 Windows 操作系统上,此成员的值将始终为 NULL。
注解
FLT_RELATED_OBJECTS结构由筛选器管理器分配,包含与 I/O 操作、实例设置或拆解操作关联的对象的不透明指针。
FLT_RELATED_OBJECTS结构的内容由筛选器管理器设置。 微筛选器驱动程序无法直接修改此结构的内容。 但是,如果微筛选器驱动程序修改操作 FLT_IO_PARAMETER_BLOCK 结构中 I/O 操作的目标实例或目标文件对象,筛选器管理器将修改传递给较低级微筛选器驱动程序的 FLT_RELATED_OBJECTS 结构的相应 Instance 或 FileObject 成员的值。 有关详细信息,请参阅 修改 I/O 操作的参数。
微筛选器驱动程序接收指向FLT_RELATED_OBJECTS结构的指针,作为指向以下回调例程类型的 FltObjects 输入参数:
PFLT_INSTANCE_QUERY_TEARDOWN_CALLBACK
PFLT_INSTANCE_TEARDOWN_CALLBACK
若要检索指向FLT_RELATED_OBJECTS结构中对象的微筛选器驱动程序上下文的指针,请调用 FltGetContexts。
typedef CONST struct _FLT_RELATED_OBJECTS *PCFLT_RELATED_OBJECTS;
要求
要求 | 值 |
---|---|
Header | fltkernel.h (包括 Fltkernel.h) |
另请参阅
FltDoCompletionProcessingWhenSafe
PFLT_INSTANCE_QUERY_TEARDOWN_CALLBACK