Функция NtPrepareEnlistment (wdm.h)
Программа ZwPrepareEnlistment инициирует операцию подготовки для указанной транзакции перечисления.
Синтаксис
__kernel_entry NTSYSCALLAPI NTSTATUS NtPrepareEnlistment(
[in] HANDLE EnlistmentHandle,
[in, optional] PLARGE_INTEGER TmVirtualClock
);
Параметры
[in] EnlistmentHandle
Дескриптор объекта перечисления, полученный предыдущим вызовом ZwCreateEnlistment или ZwOpenEnlistment. Объект должен представлять более высокий зачисления, а дескриптор должен иметь ENLISTMENT_SUPERIOR_RIGHTS доступ к объекту.
[in, optional] TmVirtualClock
Указатель на значение виртуальных часов. Этот параметр является необязательным и может быть null.
Возвращаемое значение
ZwPrepareEnlistment возвращает STATUS_SUCCESS, если операция завершится успешно. В противном случае эта подпрограмма может вернуть одно из следующих значений:
Возвращаемый код | Описание |
---|---|
|
Вызывающий объект не является превосходным диспетчером транзакций для зачисления. |
|
Вызывающий объект не зарегистрировался для получения уведомлений TRANSACTION_NOTIFY_PREPARE_COMPLETE. |
|
Указанный дескриптор не является дескриптором объекта перечисления. |
|
Дескриптор объекта недопустим. |
|
Вызывающий объект не имеет соответствующего доступа к объекту перечисления. |
|
Транзакция зачисления не находится в состоянии, позволяющем ему перейти на этап подготовки. |
Подпрограмма может возвращать другие значения NTSTATUS .
Замечания
Только лучшие диспетчеры транзакций могут вызывать ZwPrepareEnlistment.
Подпрограмма ZwPrepareEnlistment приводит к отправке TRANSACTION_NOTIFY_PREPARE уведомлений KTM всем диспетчерам ресурсов, которые были зачислены в транзакцию.
Вызывающие ZwPrepareEnlistment должны зарегистрировать для получения уведомлений TRANSACTION_NOTIFY_PREPARE_COMPLETE.
Дополнительные сведения о ZwPrepareEnlistmentсм. в создании диспетчера транзакций и обработке операций фиксации.
NtPrePrepareEnlistment и ZwPrePrepareEnlistment являются двумя версиями одной подпрограммы системных служб Windows Native.
Для вызовов драйверов в режиме ядра 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, Ntifs.h) |
библиотеки | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL |
правил соответствия DDI | HwStorPortProhibitedDDIs, PowerIrpDDis |
См. также
использование версий собственных системных служб и Zw