ZwRecoverTransactionManager 関数 (wdm.h)
ZwRecoverTransactionManager ルーチンは、ログ ストリームにある回復情報から、トランザクション マネージャー オブジェクト (すべてのトランザクション、参加リスト、リソース マネージャーを含む) の状態を再構築します。
構文
NTSYSCALLAPI NTSTATUS ZwRecoverTransactionManager(
[in] HANDLE TransactionManagerHandle
);
パラメーター
[in] TransactionManagerHandle
ZwCreateTransactionManager または ZwOpenTransactionManager の以前の呼び出しによって取得されたトランザクション マネージャー オブジェクトへのハンドル。 ハンドルには、 オブジェクトへのTRANSACTIONMANAGER_RECOVERアクセス権が必要です。
戻り値
操作が成功した場合、ZwRecoverTransactionManager はSTATUS_SUCCESSを返します。 それ以外の場合、このルーチンは次のいずれかの値を返す可能性があります。
リターン コード | 説明 |
---|---|
|
指定されたハンドルは、トランザクション マネージャー オブジェクトへのハンドルではありません。 |
|
オブジェクト ハンドルが無効です。 |
|
呼び出し元には、トランザクション マネージャー オブジェクトへの適切なアクセス権がありません。 |
|
トランザクション マネージャー オブジェクトは揮発性であるため、そのトランザクションを回復できません。 |
|
トランザクション マネージャー オブジェクトが回復を許可する状態ではありません。 |
ルーチンは、他の NTSTATUS 値を返す場合があります。
注釈
ZwRecoverTransactionManager ルーチンは、KTM が作成し、ストリームの末尾で終了した最後の再起動領域から、オブジェクトのログ ストリームにある回復情報から、すべてのトランザクション、参加リスト、およびリソース マネージャーを含む、トランザクション マネージャー オブジェクトの状態を再構築しようとします。
特定の仮想時間まで復旧するには、 ZwRecoverTransactionManager の代わりに ZwRollforwardTransactionManager ルーチン を使用します。
TPS コンポーネントは、ZwCreateTransactionManager または ZwOpenTransactionManager を呼び出した後、ZwRecoverTransactionManager を呼び出す必要があります。
回復操作の詳細については、「回復操作の 処理」を参照してください。
NtRecoverTransactionManager と ZwRecoverTransactionManager は、同じ Windows ネイティブ システム サービス ルーチンの 2 つのバージョンです。
カーネル モード ドライバーからの呼び出しの場合、Windows ネイティブ システム サービス ルーチンの NtXxx および ZwXxx バージョンは、入力パラメーターを処理および解釈する方法で動作が異なる場合があります。 ルーチンの NtXxx バージョンと ZwXxx バージョンの間の関係の詳細については、「ネイティブ システム サービス ルーチンの Nt バージョンと Zw バージョンの使用」を参照してください。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows Vista 以降のオペレーティング システム バージョンで使用できます。 |
対象プラットフォーム | ユニバーサル |
Header | wdm.h (Wdm.h、Ntifs.h を含む) |
Library | NtosKrnl.lib |
[DLL] | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL |
DDI コンプライアンス規則 | HwStorPortProhibitedDDIs(storport), PowerIrpDDis(wdm) |