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