次の方法で共有


TmRecoverEnlistment 関数 (wdm.h)

TmRecoverEnlistment ルーチンは、指定された参加リストに関連付けられているトランザクションの回復操作を開始します。

構文

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

パラメーター

[in] Enlistment

参加リスト オブジェクトへのポインター。 コンポーネントは、 ResourceManagerNotification コールバック ルーチンへの入力としてこのポインターを受け取ることができます。 または、コンポーネントで ObReferenceObjectByHandle を呼び出し、 前に ZwCreateEnlistmentTmCreateEnlistment、または ZwOpenEnlistment を呼び出したオブジェクト ハンドルを指定することもできます。

[in] EnlistmentKey

リソース マネージャーが ZwCreateEnlistment または TmCreateEnlistment への EnlistmentKey パラメーターとして以前に指定した参加キー値へのポインター。 このパラメーターは省略可能で、リソース マネージャーが ZwCreateEnlistment または TmCreateEnlistment を呼び出したときに参加キーを指定しなかった場合は NULL にすることができます。

戻り値

TmRecoverEnlistment は、操作が成功した場合にSTATUS_SUCCESSを返します。 それ以外の場合、このルーチンは次のいずれかの値を返す可能性があります。

リターン コード 説明
STATUS_OBJECT_TYPE_MISMATCH
指定されたハンドルは、参加オブジェクトへのハンドルではありません。
STATUS_INVALID_HANDLE
オブジェクト ハンドルが無効です。
STATUS_TRANSACTION_REQUEST_NOT_VALID
トランザクションまたはその参加リストが正しい状態ではありません。
STATUS_PENDING
KTM は、コミット、ロールバック、または未確定通知をリソース マネージャーの通知キューに追加し、リソース マネージャーが ResourceManagerNotification コールバック ルーチンを使用していません。
 

ルーチンは、他の NTSTATUS 値を返す場合があります。

注釈

TmRecoverEnlistment ルーチンは、ZwRecoverEnlistment ルーチンのポインター ベースのバージョンです。

Zw Xxx ルーチンの代わりに KTM の TmXxx ルーチンを使用する場合の詳細については、「TmXxx ルーチンの使用」を参照してください。

回復操作の詳細については、「回復操作の 処理」を参照してください。

要件

要件
サポートされている最小のクライアント Windows Vista 以降のバージョンの Windows で使用できます。
対象プラットフォーム ユニバーサル
Header wdm.h (Wdm.h、Ntddk.h、Ntifs.h を含む)
Library NtosKrnl.lib
[DLL] NtosKrnl.exe
IRQL PASSIVE_LEVEL

こちらもご覧ください

ObReferenceObjectByHandle

ResourceManagerNotification

TRANSACTION_NOTIFICATION

TmCreateEnlistment

ZwCreateEnlistment

ZwGetNotificationResourceManager

ZwOpenEnlistment

ZwRecoverEnlistment