NtSinglePhaseReject 関数 (wdm.h)
ZwSinglePhaseReject ルーチンは、呼び出し元のリソース マネージャーが指定された参加リストの単一フェーズ コミット操作をサポートしないことを KTM に通知します。
構文
__kernel_entry NTSYSCALLAPI NTSTATUS NtSinglePhaseReject(
[in] HANDLE EnlistmentHandle,
[in, optional] PLARGE_INTEGER TmVirtualClock
);
パラメーター
[in] EnlistmentHandle
ZwCreateEnlistment または ZwOpenEnlistment の以前の呼び出しによって取得された参加オブジェクトへのハンドル。 ハンドルには、 オブジェクトへのENLISTMENT_SUBORDINATE_RIGHTSアクセス権が必要です。
[in, optional] TmVirtualClock
仮想クロック値へのポインター。 このパラメーターは省略可能であり、 NULL にすることができます。
戻り値
操作が成功した場合、ZwSinglePhaseReject はSTATUS_SUCCESSを返します。 それ以外の場合、このルーチンは次のいずれかの値を返す可能性があります。
リターン コード | 説明 |
---|---|
|
指定されたハンドルは、参加オブジェクトへのハンドルではありません。 |
|
オブジェクト ハンドルが無効です。 |
|
トランザクションまたはその参加リストが正しい状態ではありません。 |
|
呼び出し元には、参加オブジェクトへの適切なアクセス権がありません。 |
ルーチンは、他の NTSTATUS 値を返す場合があります。
注釈
リソース マネージャーは、TRANSACTION_NOTIFY_SINGLE_PHASE_COMMIT通知を受信したときに ZwSinglePhaseReject を呼び出すことができます。
ZwSinglePhaseReject の詳細については、「コミット操作の処理」を参照してください。
NtSinglePhaseReject と ZwSinglePhaseReject は、同じ Windows ネイティブ システム サービス ルーチンの 2 つのバージョンです。 Windows カーネルの NtSinglePhaseReject ルーチンには、カーネル モード ドライバーから直接アクセスできません。 ただし、カーネル モード ドライバーは、 ZwSinglePhaseReject ルーチンを呼び出すことによって、このルーチンに間接的にアクセスできます。
カーネル モード ドライバーからの呼び出しの場合、Windows ネイティブ システム サービス ルーチンの NtXxx および ZwXxx バージョンは、入力パラメーターを処理および解釈する方法で動作が異なる場合があります。 ルーチンの NtXxx バージョンと ZwXxx バージョンの間の関係の詳細については、「ネイティブ システム サービス ルーチンの Nt バージョンと Zw バージョンの使用」を参照してください。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows Vista 以降のオペレーティング システム バージョンで使用できます。 |
対象プラットフォーム | ユニバーサル |
Header | wdm.h (Wdm.h、Ntddk.h、Ntifs.h を含む) |
Library | NtosKrnl.lib |
[DLL] | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL |
DDI コンプライアンス規則 | HwStorPortProhibitedDDIs、PowerIrpDDis |