次の方法で共有


ZwPrepareComplete 関数 (wdm.h)

ZwPrepareComplete ルーチンは、呼び出し元のリソース マネージャーがトランザクションのデータの準備を完了したことを KTM に通知します。

構文

NTSYSCALLAPI NTSTATUS ZwPrepareComplete(
  [in]           HANDLE         EnlistmentHandle,
  [in, optional] PLARGE_INTEGER TmVirtualClock
);

パラメーター

[in] EnlistmentHandle

ZwCreateEnlistment または ZwOpenEnlistment の以前の呼び出しによって取得された参加オブジェクトへのハンドル。 ハンドルには、 オブジェクトへのENLISTMENT_SUBORDINATE_RIGHTSアクセス権が必要です。

[in, optional] TmVirtualClock

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

戻り値

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

リターン コード 説明
STATUS_OBJECT_TYPE_MISMATCH
指定されたハンドルは、参加オブジェクトへのハンドルではありません。
STATUS_INVALID_HANDLE
オブジェクト ハンドルが無効です。
STATUS_TRANSACTION_NOT_REQUESTED
トランザクションまたはその参加リストが正しい状態ではありません。
STATUS_ACCESS_DENIED
呼び出し元は、参加オブジェクトに対する適切なアクセス権を持っていません。
 

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

注釈

リソース マネージャーは、TRANSACTION_NOTIFY_PREPARE通知のサービスが完了した後、ZwPrepareComplete を呼び出す必要があります。

リソース マネージャーが ZwPrepareComplete を呼び出した後は、トランザクションをロールバックできません。

ZwPrepareComplete の詳細については、「コミット操作の処理」を参照してください。

NtPrepareCompleteZwPrepareComplete は、同じ Windows ネイティブ システム サービス ルーチンの 2 つのバージョンです。

カーネル モード ドライバーからの呼び出しの場合、Windows ネイティブ システム サービス ルーチンの NtXxx および ZwXxx バージョンは、入力パラメーターを処理および解釈する方法で動作が異なります。 ルーチンの NtXxx バージョンと ZwXxx バージョン間の関係の詳細については、「Using Nt and Zw Versions of the Native System Services Routines」を参照してください。

要件

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

こちらもご覧ください

TmPrepareComplete

Nt および Zw バージョンのネイティブ システム サービス ルーチンの使用

ZwCreateEnlistment

ZwOpenEnlistment

ZwPrePrepareComplete