NtOpenTransactionManager 函式 (wdm.h)
ZwOpenTransactionManager 例程會取得現有交易管理員物件的句柄。
語法
__kernel_entry NTSYSCALLAPI NTSTATUS NtOpenTransactionManager(
[out] PHANDLE TmHandle,
[in] ACCESS_MASK DesiredAccess,
[in, optional] POBJECT_ATTRIBUTES ObjectAttributes,
[in, optional] PUNICODE_STRING LogFileName,
[in, optional] LPGUID TmIdentity,
[in, optional] ULONG OpenOptions
);
參數
[out] TmHandle
如果 ZwOpenTransactionManager 傳回STATUS_SUCCESS,則為呼叫端配置的變數指標,該變數會接收 交易管理員物件的句柄。
[in] DesiredAccess
ACCESS_MASK 值,指定呼叫端對交易管理員物件的要求存取權。 如需如何指定此參數的詳細資訊,請參閱 ZwCreateTransactionManager的 DesiredAccess 參數。
[in, optional] ObjectAttributes
指定物件名稱和其他屬性之 OBJECT_ATTRIBUTES 結構的指標。 使用 InitializeObjectAttributes 例程來初始化這個結構。 如果呼叫端未在系統線程內容中執行,則呼叫 InitializeObjectAttributes時,它必須設定OBJ_KERNEL_HANDLE屬性。 這個參數是選擇性的,而且可以 NULL。
[in, optional] LogFileName
UNICODE_STRING 結構的指標,其中包含建立交易管理員物件時所建立之 記錄檔數據流的路徑和檔名。 如需詳細資訊,請參閱 ZwCreateTransactionManagerLogFileName 參數。 這個參數是選擇性的,而且可以 NULL。
[in, optional] TmIdentity
識別交易管理員物件的 GUID 指標。 這個參數是選擇性的,而且可以 NULL。
[in, optional] OpenOptions
此參數未使用,而且必須是零。
傳回值
如果作業成功,ZwOpenTransactionManager 會傳回STATUS_SUCCESS。 否則,此例程可能會傳回下列其中一個值:
傳回碼 | 描述 |
---|---|
|
輸入參數的值無效。 |
|
KTM 無法設定系統資源(通常是記憶體)。 |
|
ObjectAttributes 參數指定的物件名稱無效。 |
|
KTM 在建立或開啟記錄檔時發生錯誤。 |
|
DesiredAccess 參數的值無效。 |
例程可能會 傳回其他NTSTATUS 值。
言論
呼叫端可以使用下列三種技術之一,識別要開啟的交易管理員物件:
- 使用 LogFileName 參數來指定建立交易管理員物件時所建立之記錄檔數據流的路徑和檔名。
- 使用 TmIdentity 參數來指定可識別交易管理員物件的 GUID。
- 使用 ObjectAttributes 參數來提供 OBJECT_ATTRIBUTES 結構,其中包含先前指定給 ZwCreateTransactionManager 例程的物件名稱。
TPS 元件在呼叫 ZwOpenTransactionManager ZwOpenTransactionManager 之後,必須呼叫 ZwRecoverTransactionManager。
呼叫 ZwOpenTransactionManager 的 TPS 元件最終必須呼叫 ZwClose 關閉物件句柄。
如需如何使用 ZwOpenTransactionManager的詳細資訊,請參閱 Transaction Manager 物件 和 建立 Resource Manager。
NtOpenTransactionManager 和 ZwOpenTransactionManager 是相同 Windows Native System Services 例程的兩個版本。
對於內核模式驅動程式的呼叫,NtXxx 和 ZwXxx 版本的 Windows 原生系統服務例程,在處理和解譯輸入參數的方式上可能會有不同的行為。 如需 nt NtXxx 與 ZwXxx 例程之間關聯性的詳細資訊,請參閱 使用 Nt 和 Zw 版本的原生系統服務例程。
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | 適用於 Windows Vista 和更新版本的作系統版本。 |
目標平臺 | 普遍 |
標頭 | wdm.h (包括 Wdm.h、Ntifs.h) |
連結庫 | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL |
DDI 合規性規則 | HwStorPortProhibitedDDIs, PowerIrpDDis |