TmPrePrepareEnlistment 関数 (wdm.h)

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

構文

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

パラメーター

[in] Enlistment

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

[in] TmVirtualClock

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

戻り値

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

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

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

注釈

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

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

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

ZwPrePrepareEnlistment