Функция NtRollforwardTransactionManager (wdm.h)
Подпрограмма ZwRollforwardTransactionManager инициирует операции восстановления для всех выполняющихся транзакций, назначенных указанному диспетчеру транзакций.
Синтаксис
__kernel_entry NTSYSCALLAPI NTSTATUS NtRollforwardTransactionManager(
[in] HANDLE TransactionManagerHandle,
[in, optional] PLARGE_INTEGER TmVirtualClock
);
Параметры
[in] TransactionManagerHandle
Дескриптор объекта диспетчера транзакций , полученный при предыдущем вызове ZwCreateTransactionManager или ZwOpenTransactionManager. Дескриптор должен иметь TRANSACTIONMANAGER_RECOVER доступ к объекту .
[in, optional] TmVirtualClock
Указатель на значение виртуальных часов. Этот параметр является необязательным и может иметь значение NULL. Дополнительные сведения об этом параметре см. в следующем разделе Примечания.
Возвращаемое значение
ZwRollforwardTransactionManager возвращает STATUS_SUCCESS, если операция выполнена успешно. В противном случае эта подпрограмма может возвращать одно из следующих значений:
Код возврата | Описание |
---|---|
|
Указанный дескриптор не является дескриптором для объекта диспетчера транзакций. |
|
Недопустимый дескриптор объекта. |
|
Вызывающий объект не имеет соответствующего доступа к объекту диспетчера транзакций. |
|
Указанный объект диспетчера транзакций не имеет файла журнала, поэтому восстановление недоступно. |
|
Указанный объект диспетчера транзакций находится в непредвиденном состоянии. |
Подпрограмма может возвращать другие значения NTSTATUS.
Комментарии
Подпрограмма ZwRollforwardTransactionManager восстанавливает все зарегистрированные действия, которые KTM находит в файле журнала диспетчера транзакций, вплоть до значения виртуальных часов, которое предоставляет параметр TmVirtualClock .
Компонент может постепенно просматривать файл журнала, повторно вызывая ZwRollforwardTransactionManager и устанавливая для параметра VirtualClock более высокое значение перед каждым вызовом.
Если параметр TmVirtualClock имеет значение NULL, вызов ZwRollforwardTransactionManager эквивалентен вызову ZwRecoverTransactionManager.
Дополнительные сведения об операциях восстановления см. в разделе Обработка операций восстановления.
NtRollforwardTransactionManager и ZwRollforwardTransactionManager — это две версии одной и той же подпрограммы windows Native System Services. Подпрограмма NtRollforwardTransactionManager в ядре Windows недоступна напрямую драйверам режима ядра. Однако драйверы в режиме ядра могут получить доступ к этой подпрограмме косвенно, вызвав подпрограмму ZwRollforwardTransactionManager .
Для вызовов из драйверов режима ядра версии NtXxx и ZwXxx подпрограммы собственных системных служб Windows могут вести себя по-разному, так как они обрабатывают и интерпретируют входные параметры. Дополнительные сведения о связи между версиями процедуры NtXxx и ZwXxx см. в разделе Использование версий Nt и Zw для процедур собственных системных служб.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Доступно в Windows Vista и более поздних версиях Windows. |
Целевая платформа | Универсальное |
Верхняя часть | wdm.h (включая Wdm.h, Ntddk.h, Ntifs.h) |
Библиотека | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL |
Правила соответствия DDI | HwStorPortProhibitedDIs, PowerIrpDDis |
См. также раздел
Использование версий Nt и Zw собственных процедур системных служб