Функция NtRecoverEnlistment (wdm.h)
Программа ZwRecoverEnlistment инициирует операцию восстановления для транзакции, связанной с указанным перечислением.
Синтаксис
__kernel_entry NTSYSCALLAPI NTSTATUS NtRecoverEnlistment(
[in] HANDLE EnlistmentHandle,
[in, optional] PVOID EnlistmentKey
);
Параметры
[in] EnlistmentHandle
Дескриптор объекта перечисления, полученный предыдущим вызовом ZwCreateEnlistment или ZwOpenEnlistment. Дескриптор должен иметь ENLISTMENT_RECOVER доступ к объекту.
[in, optional] EnlistmentKey
Указатель на значение ключа перечисления, указанное ранее в качестве параметра EnlistmentKey, на ZwCreateEnlistment. Этот параметр является необязательным и может быть null, если диспетчер ресурсов не предоставил ключ перечисления при вызове ZwCreateEnlistment.
Возвращаемое значение
ZwRecoverEnlistment возвращает STATUS_SUCCESS, если операция завершится успешно. В противном случае эта подпрограмма может вернуть одно из следующих значений:
Возвращаемый код | Описание |
---|---|
|
Указанный дескриптор не является дескриптором объекта перечисления. |
|
Дескриптор объекта недопустим. |
|
Транзакция или его перечисление не находится в правильном состоянии. |
|
KTM добавила уведомление о фиксации, откате или с сомнением в очередь уведомлений диспетчера ресурсов, а диспетчер ресурсов не использует подпрограмму обратного вызова ResourceManagerNot ification. |
|
Вызывающий объект не имеет соответствующего доступа к объекту перечисления. |
Подпрограмма может возвращать другие значения NTSTATUS .
Замечания
После вызова диспетчера ресурсов ZwRecoverEnlistmentKTM предоставляет TRANSACTION_NOTIFY_COMMIT, TRANSACTION_NOTIFY_ROLLBACK или TRANSACTION_NOTIFY_INDOUBT уведомления для зачисления. Поэтому если диспетчер ресурсов не использует подпрограмму обратного вызова ResourceManagerNotification, он должен немедленно вызывать ZwGetNotificationResourceManager, если ZwRecoverEnlistment возвращает STATUS_SUCCESS или STATUS_PENDING.
Дополнительные сведения о ZwRecoverEnlistmentсм. в разделе Обработка операций восстановления.
NtRecoverEnlistment и ZwRecoverEnlistment являются двумя версиями одной подпрограммы windows Native System Services.
Для вызовов драйверов в режиме ядра NtXxx и ZwXxx версии подпрограммы Windows Native System Services могут вести себя по-разному в том, как они обрабатывают и интерпретируют входные параметры. Дополнительные сведения о связи между NtXxx и ZwXxx версиями подпрограммы см. в разделе Using Nt and Zw Versions of the Native System Services Routines.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Доступно в Windows Vista и более поздних версиях операционной системы. |
целевая платформа | Всеобщий |
заголовка | wdm.h (include Wdm.h, Ntddk.h, Ntifs.h) |
библиотеки | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL |
правил соответствия DDI | HwStorPortProhibitedDDIs, PowerIrpDDis |
См. также
использование версий собственных системных служб и Zw