TmCommitTransaction 関数 (wdm.h)

TmCommitTransaction ルーチンは、指定されたトランザクションのコミット操作を開始します。

構文

NTSTATUS TmCommitTransaction(
  [in] PKTRANSACTION Transaction,
  [in] BOOLEAN       Wait
);

パラメーター

[in] Transaction

トランザクション オブジェクトへのポインター。 このポインターを取得するには、TPS コンポーネントで ObReferenceObjectByHandle を呼び出し、 ZwCreateTransaction または ZwOpenTransaction に対する前回の呼び出しで指定したオブジェクト ハンドル を指定する 必要があります。

[in] Wait

同期操作の場合は呼び出し元が TRUE に、非同期操作の場合 は FALSE に設定されるブール値。 このパラメーターが TRUE の場合、コミット操作の完了後に呼び出しが返されます。

戻り値

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

リターン コード 説明
STATUS_TRANSACTION_SUPERIOR_EXISTS
優れたトランザクション マネージャーが存在するため、呼び出し元はトランザクションをコミットできません。
STATUS_TRANSACTION_ALREADY_ABORTED
トランザクションはロールバックされているため、コミットできません。
STATUS_TRANSACTION_ALREADY_COMMITTED
トランザクションは既にコミットされています。
STATUS_TRANSACTION_REQUEST_NOT_VALID
このトランザクションのコミット操作は既に開始されています。
STATUS_PENDING
コミット通知はリソース マネージャーにキューに登録されており、呼び出し元は Wait パラメーターに FALSE を指定しました。
 

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

注釈

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

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

ZwCommitTransaction

ZwCreateTransaction

ZwOpenTransaction