TXN_PARAMETER_BLOCK 结构 (ntddk.h)

TXN_PARAMETER_BLOCK 结构包含有关事务处理的文件操作的信息。

语法

typedef struct _TXN_PARAMETER_BLOCK {
  USHORT Length;
  USHORT TxFsContext;
  PVOID  TransactionObject;
} TXN_PARAMETER_BLOCK, *PTXN_PARAMETER_BLOCK;

成员

Length

TXN_PARAMETER_BLOCK结构的大小(以字节为单位)。

TxFsContext

文件的微型版本 ID。

TransactionObject

指向事务的事务对象的不透明指针。

注解

微型版本是事务处理编写器在事务期间创建的文件的一个版本。 (事务编写器 是使用不属于泛型读取访问权限但属于泛型写入访问权限的任何权限打开的事务处理文件句柄。)

如果未提供文件的特定微型版本编号,则必须将 TxFsContext 成员设置为 TXF_MINIVERSION_DEFAULT_VIEW。

TXN_PARAMETER_BLOCKTxFsContext 成员使用 TXF_MINIVERSION_DEFAULT_VIEW 获取基于 TransactionObject 成员值的请求文件的默认视图。 因此,如果 TransactionObject 是锁定了请求的文件以进行事务处理修改的事务,则调用方可以在 (文件的“脏”视图看到这些修改) 如果调用方可以指定 TransactionObject 成员的值。 如果 TransactionObject 不是锁定请求的文件以进行事务处理修改的事务,则调用方将获取文件的事务隔离视图(如果指定此值)。

微型版本仅作为文件的时间点视图存在,尚未编写为给定文件的实际磁盘上变体。 事务编写器通过使用 FSCTL_TXFS_CREATE_MINIVERSION 控件代码调用 ZwFsControlFile 来创建微型版本。 作为响应,系统会创建一个微型版本并返回其微型版本 ID。 此后,事务处理编写器可以继续对文件进行更改。 如果稍后使用返回的微型版本 ID 作为 TXN_PARAMETER_BLOCK 结构的 TxFsContext 成员打开文件,则生成的文件句柄将显示创建微型版本时的文件。

事务结束时,在事务中创建的所有微型版本都会消失。 之后,无法使用 miniversion ID 再打开该文件。

微型版本仅适用于创建微型版本的事务处理编写器,而不适用于事务处理读取器或非事务读取器。

IoGetTransactionParameterBlock 例程返回指向此结构的指针。

要求

要求
Header ntddk.h (包括 Ntddk.h、Ntifs.h、FltKernel.h)

另请参阅

FSCTL_TXFS_CREATE_MINIVERSION

IoGetTransactionParameterBlock

ZwFsControlFile