次の方法で共有


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