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 值的不透明成员。 如果 事务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作的目标实例或目标文件对象,筛选器管理器将修改相应 实例的值FileObject 传递给较低微型筛选器驱动程序的FLT_RELATED_OBJECTS结构的成员。 有关详细信息,请参阅 修改 I/O作的参数

微型筛选器驱动程序接收指向FLT_RELATED_OBJECTS结构的指针,因为 FltObjects 输入参数到以下回调例程类型:

PFLT_POST_OPERATION_CALLBACK

PFLT_PRE_OPERATION_CALLBACK

PFLT_INSTANCE_SETUP_CALLBACK

PFLT_INSTANCE_QUERY_TEARDOWN_CALLBACK

PFLT_INSTANCE_TEARDOWN_CALLBACK

若要检索指向FLT_RELATED_OBJECTS结构中对象的微型筛选器驱动程序上下文的指针,请调用 FltGetContexts

注释typedef CONST struct _FLT_RELATED_OBJECTS *PCFLT_RELATED_OBJECTS;
 

要求

要求 价值
标头 fltkernel.h (包括 Fltkernel.h)

另请参阅

FLT_IO_PARAMETER_BLOCK

FLT_RELATED_CONTEXTS

FltDoCompletionProcessingWhenSafe

FltGetContexts

PFLT_INSTANCE_QUERY_TEARDOWN_CALLBACK

PFLT_INSTANCE_SETUP_CALLBACK

PFLT_INSTANCE_TEARDOWN_CALLBACK

PFLT_POST_OPERATION_CALLBACK

PFLT_PRE_OPERATION_CALLBACK