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_BLOCK的 TxFsContext 成員會使用 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) |