Поделиться через


Функция NtRecoverTransactionManager (wdm.h)

Подпрограмма ZwRecoverTransactionManager восстанавливает состояние объекта диспетчера транзакций (включая все транзакции, зачисления и диспетчеры ресурсов) из сведений о восстановлении, которые есть в потоке журнала.

Синтаксис

__kernel_entry NTSYSCALLAPI NTSTATUS NtRecoverTransactionManager(
  [in] HANDLE TransactionManagerHandle
);

Параметры

[in] TransactionManagerHandle

Дескриптор объекта диспетчера транзакций , полученный при предыдущем вызове ZwCreateTransactionManager или ZwOpenTransactionManager. Дескриптор должен иметь TRANSACTIONMANAGER_RECOVER доступ к объекту .

Возвращаемое значение

ZwRecoverTransactionManager возвращает STATUS_SUCCESS, если операция выполнена успешно. В противном случае эта подпрограмма может вернуть одно из следующих значений:

Код возврата Описание
STATUS_OBJECT_TYPE_MISMATCH
Указанный дескриптор не является дескриптором для объекта диспетчера транзакций.
STATUS_INVALID_HANDLE
Недопустимый дескриптор объекта.
STATUS_ACCESS_DENIED
Вызывающий объект не имеет соответствующего доступа к объекту диспетчера транзакций.
STATUS_TM_VOLATILE
Объект диспетчера транзакций является переменным, поэтому его транзакции не могут быть восстановлены.
STATUS_UNSUCCESSFUL
Объект диспетчера транзакций не находится в состоянии, разрешающее восстановление.
 

Подпрограмма может возвращать другие значения NTSTATUS.

Комментарии

Подпрограмма ZwRecoverTransactionManager пытается восстановить состояние объекта диспетчера транзакций, включая все транзакции, зачисления и диспетчеры ресурсов, из сведений о восстановлении, которые содержатся в потоке журнала объекта, начиная с последней области перезапуска , созданной KTM, и заканчивая в конце потока.

Для восстановления до определенного виртуального времени используйте подпрограмму ZwRollforwardTransactionManager вместо ZwRecoverTransactionManager.

Компонент TPS должен вызывать ZwRecoverTransactionManager после вызова ZwCreateTransactionManager или ZwOpenTransactionManager.

Дополнительные сведения об операциях восстановления см. в разделе Обработка операций восстановления.

NtRecoverTransactionManager и ZwRecoverTransactionManager — это две версии одной и той же подпрограммы windows Native System Services.

Для вызовов из драйверов режима ядра версии NtXxx и ZwXxx подпрограммы Собственные системные службы Windows могут вести себя по-разному, так как они обрабатывают и интерпретируют входные параметры. Дополнительные сведения о связи между версиями подпрограмм NtXxx и ZwXxx см. в разделе Использование версий NT и Zw подпрограмм собственных системных служб.

Требования

Требование Значение
Минимальная версия клиента Доступно в Windows Vista и более поздних версиях операционной системы.
Целевая платформа Универсальное
Верхняя часть wdm.h (включая Wdm.h, Ntifs.h)
Библиотека NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL
Правила соответствия DDI HwStorPortProhibitedDIs, PowerIrpDDis

См. также раздел

TmRecoverTransactionManager

Использование версий nt и Zw собственных системных служб

ZwCreateTransactionManager

ZwOpenTransactionManager

ZwRollforwardTransactionManager