次の方法で共有


TmPrepareEnlistment 関数 (wdm.h)

TmPrepareEnlistment ルーチンは、指定された参加リストのトランザクションの準備操作を開始します。

構文

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

パラメーター

[in] Enlistment

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

[in] TmVirtualClock

仮想クロック値へのポインター。 このパラメーターは省略可能であり、 NULL にすることができます

戻り値

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

リターン コード 説明
STATUS_ENLISTMENT_NOT_SUPERIOR
呼び出し元は、参加リストの 優れたトランザクション マネージャー ではありません。
STATUS_TRANSACTION_RESPONSE_NOT_ENLISTED
呼び出し元は、TRANSACTION_NOTIFY_PREPARE_COMPLETE通知を受信するように登録しませんでした。
STATUS_TRANSACTION_REQUEST_NOT_VALID
参加リストのトランザクションは、準備フェーズに入る状態ではありません。
STATUS_ACCESS_DENIED
呼び出し元には、参加オブジェクトへの適切なアクセス権がありません。
 

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

注釈

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

TmPrepareEnlistment を呼び出すことができるのは、上位のトランザクション マネージャーのみです。

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

要件

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

こちらもご覧ください

ObReferenceObjectByHandle

ResourceManagerNotification

TmCreateEnlistment

ZwCreateEnlistment

ZwOpenEnlistment

ZwPrepareEnlistment