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

檔案的迷你版本標識碼。

TransactionObject

交易之交易物件的不透明指標。

備註

miniversion 是交易期間交易寫入器所建立的檔案版本。 (交易寫入器 是以不屬於一般讀取許可權的任何許可權開啟的交易檔句柄,但屬於泛型寫入許可權。)

如果未提供檔案的特定迷你版本號碼, TxFsContext 成員必須設定為 TXF_MINIVERSION_DEFAULT_VIEW。

TXN_PARAMETER_BLOCKTxFsContext 成員會使用 TXF_MINIVERSION_DEFAULT_VIEW,根據 TransactionObject 成員的值,取得所要求檔案的默認檢視。 因此,如果 TransactionObject 是鎖定要求之檔案以進行交易修改的相同交易,則呼叫端可以在呼叫端指定 TransactionObject 成員的值時,看到這些修改 (檔案的「已變更」檢視) 。 如果 TransactionObject 與要求之檔案鎖定以進行交易修改的交易不同,則呼叫端會在指定此值時取得檔案的交易隔離檢視。

迷你版本只以檔案的時間點檢視形式存在,尚未寫入為指定檔案的實際磁碟上變體。 交易寫入器會使用 FSCTL_TXFS_CREATE_MINIVERSION 控件程式代碼來呼叫 ZwFsControlFile 來建立迷你版本。 為了回應,系統會建立miniversion並傳回其miniversion標識碼。 交易的寫入器之後可以繼續對檔案進行變更。 如果稍後使用傳回的miniversion標識符做為 TXN_PARAMETER_BLOCK 結構的 TxFsContext 成員來開啟檔案,則產生的檔案句柄會顯示在建立miniversion時所在的檔案。

交易結束時,交易中建立的所有迷你版本都會消失。 之後,就無法再使用miniversion標識符來開啟檔案。

miniversion 僅適用於建立 miniversion 的交易寫入器,不適用於交易讀取器或非交易讀取器。

IoGetTransactionParameterBlock 例程會傳回這個 結構的指標。

規格需求

需求
標頭 ntddk.h (包含 Ntddk.h、Ntifs.h、FltKernel.h)

另請參閱

FSCTL_TXFS_CREATE_MINIVERSION

IoGetTransactionParameterBlock

ZwFsControlFile