tmRequestOutcomeEnlistment 函式 (wdm.h)

TmRequestOutcomeEnlistment 例程會要求 KTM 嘗試為與指定登記相關聯的交易提供立即結果 (認可或復原) 。

語法

NTSTATUS TmRequestOutcomeEnlistment(
  [in] PKENLISTMENT   Enlistment,
  [in] PLARGE_INTEGER TmVirtualClock
);

參數

[in] Enlistment

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

[in] TmVirtualClock

虛擬時鐘值的指標。 這個參數是選擇性的,而且可以是 NULL

傳回值

如果作業成功,TmRequestOutcomeEnlistment 會傳回STATUS_SUCCESS。 否則,此例程可能會傳回下列值:

傳回碼 Description
STATUS_TRANSACTION_REQUEST_NOT_VALID
指定的登記是 上層登記
 

例程可能會傳回其他 NTSTATUS值

備註

TmRequestOutcomeEnlistment 例程會要求 KTM 嘗試為交易提供立即結果 (結果) 。 資源管理員可以在呼叫TmPrepareCompleteZwPrepareComplete 之後呼叫TmRequestOutcomeEnlistment,如果稍後發現無法等候結果,例如發生磁碟意外移除。 如果所有資源管理員都尚未完成其準備作業,KTM 可能會強制復原。

如需何時使用 KTM 的 TmXxx 例程而非 Zw Xxx 例程的資訊,請參閱使用 TmXxx 例程

如需TmCreateEnlistment的詳細資訊,請參閱建立 Resource Manager

規格需求

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

另請參閱

ObReferenceObjectByHandle

ResourceManagerNotification

TmCreateEnlistment

TmPrepareComplete

ZwCreateEnlistment

ZwOpenEnlistment

ZwPrepareComplete