次の方法で共有


NtRollbackTransaction 関数 (wdm.h)

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

構文

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

パラメーター

[in] TransactionHandle

ZwCreateTransaction または ZwOpenTransaction の以前の呼び出しによって取得されたトランザクション オブジェクトへのハンドル。 ハンドルには、オブジェクトへのTRANSACTION_ROLLBACKアクセス権が必要です。

[in] Wait

呼び出し元が同期操作の 場合は TRUE 、非同期操作の 場合は FALSE に設定するブール値。 このパラメーターが TRUE に設定されている場合、呼び出しはロールバック操作が完了するまで戻りません。

戻り値

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

リターン コード 説明
STATUS_OBJECT_TYPE_MISMATCH
TransactionHandle パラメーターが指定するハンドルは、トランザクション オブジェクトへのハンドルではありません。
STATUS_INVALID_HANDLE
オブジェクト ハンドルが無効です。
STATUS_ACCESS_DENIED
呼び出し元は、トランザクション オブジェクトに対する適切なアクセス権を持っていません。
STATUS_TRANSACTION_ALREADY_COMMITTED
トランザクションは既にコミットされているため、ロールバックできません。
STATUS_TRANSACTION_REQUEST_NOT_VALID
トランザクションはコミットされていませんが、現在の状態ではロールバックは許可されません。
STATUS_PENDING
ロールバック通知はリソース マネージャーにキューに登録されており、呼び出し元は Wait パラメーターに FALSE を指定しました。
 

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

注釈

ZwRollbackTransaction の詳細については、「ロールバック操作の処理」を参照してください。

NtRollbackEnlistmentZwRollbackEnlistment は、同じ 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 コンプライアンス規則 HwStorPortProhibitedDIs、PowerIrpDDis

こちらもご覧ください

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

ZwCommitTransaction

ZwCreateTransaction

ZwOpenTransaction

ZwQueryInformationTransaction