次の方法で共有


NtCommitTransaction 関数 (wdm.h)

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

構文

__kernel_entry NTSYSCALLAPI NTSTATUS NtCommitTransaction(
  [in] HANDLE  TransactionHandle,
  [in] BOOLEAN Wait
);

パラメーター

[in] TransactionHandle

トランザクション オブジェクトへのハンドル。 コンポーネントは、 ZwCreateTransaction または ZwOpenTransaction からこのハンドル 受け取ります。 ハンドルには、オブジェクトへのTRANSACTION_COMMITアクセス権が必要です。

[in] Wait

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

戻り値

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

リターン コード 説明
STATUS_OBJECT_TYPE_MISMATCH
TransactionHandle パラメーターに指定されたハンドルは、トランザクション オブジェクトへのハンドルではありません。
STATUS_INVALID_HANDLE
指定されたトランザクション オブジェクト ハンドルが無効です。
STATUS_ACCESS_DENIED

呼び出し元には、トランザクション オブジェクトへの適切なアクセス権がありません。

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

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

注釈

トランザクション クライアントで ZwCommitTransaction ルーチンを使用する方法の詳細については、「 トランザクション クライアントの作成」を参照してください。

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

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

要件

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

こちらもご覧ください

TmCommitTransaction

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

ZwCreateTransaction

ZwOpenTransaction