tmRecoverEnlistment 函式 (wdm.h)

TmRecoverEnlistment 例程會起始與指定登記相關聯之交易的復原作業。

語法

NTSTATUS TmRecoverEnlistment(
  [in] PKENLISTMENT Enlistment,
  [in] PVOID        EnlistmentKey
);

參數

[in] Enlistment

登記物件的指標。 您的元件可以接收此指標作為 ResourceManagerNotification 回呼例程的輸入。 或者,您的元件可以呼叫 ObReferenceObjectByHandle ,並提供先前呼叫 ZwCreateEnlistmentTmCreateEnlistmentZwOpenEnlistment 的物件句柄。

[in] EnlistmentKey

資源管理員先前指定為 ZwCreateEnlistmentmentTmCreateEnlistmentEnlistmentKey 參數之登記索引鍵值的指標。 此參數是選擇性的,如果資源管理員在呼叫 ZwCreateEnlistmentTmCreateEnlistment 時未提供登記索引鍵,則可以是 NULL

傳回值

如果作業成功,TmRecoverEnlistment 會傳回STATUS_SUCCESS。 否則,此例程可能會傳回下列其中一個值:

傳回碼 Description
STATUS_OBJECT_TYPE_MISMATCH
指定的句柄不是登記物件的句柄。
STATUS_INVALID_HANDLE
物件句柄無效。
STATUS_TRANSACTION_REQUEST_NOT_VALID
交易或其登記狀態不正確。
STATUS_PENDING
KTM 已將認可、復原或不確定通知新增至資源管理員的通知佇列,而且資源管理員未使用 ResourceManagerNotification 回呼例程。
 

例程可能會傳回其他 NTSTATUS值

備註

TmRecoverEnlistment 例程是以指標為基礎的 ZwRecoverEnlistment 例程版本。

如需何時使用 KTM 的 TmXxx 例程,而不是 ZwXxx 例程的相關信息,請參閱 使用 TmXxx 例程

如需復原作業的詳細資訊,請參閱 處理復原作業

規格需求

需求
最低支援的用戶端 可在 Windows Vista 和更新版本的 Windows 中使用。
目標平台 Universal
標頭 wdm.h (包括 Wdm.h、Ntddk.h、Ntifs.h)
程式庫 NtosKrnl.lib
Dll NtosKrnl.exe
IRQL PASSIVE_LEVEL

另請參閱

ObReferenceObjectByHandle

ResourceManagerNotification

TRANSACTION_NOTIFICATION

TmCreateEnlistment

ZwCreateEnlistment

ZwGetNotificationResourceManager

ZwOpenEnlistment

ZwRecoverEnlistment