Функция 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 заставляет KTM отправлять TRANSACTION_NOTIFY_PREPARE уведомления всем диспетчерам ресурсов, которые были зачислены в транзакцию.
Вызывающие абоненты ZwPrepareEnlistment должны зарегистрироваться для получения TRANSACTION_NOTIFY_PREPARE_COMPLETE уведомлений.
Дополнительные сведения о ZwPrepareEnlistment см. в статье о создании диспетчера транзакций иобработке операций фиксации.
NtPrePrepareEnlistment и ZwPreprepareEnlistment — это две версии одной процедуры системных служб Windows Native Services.
Для вызовов из драйверов в режиме ядра версии ntXxx и ZwXxx подпрограммы системных служб Windows Native Могут вести себя по-разному так, как они обрабатывают и интерпретируют входные параметры. Дополнительные сведения о связи между подпрограммами NtXxx и ZwXxx см. в разделе "Использование версий Nt и Zw" подпрограмм собственных системных служб.
Требования
Минимальная версия клиента | Доступно в Windows Vista и более поздних версиях операционной системы. |
Целевая платформа | Универсальное |
Заголовок | wdm.h (include Wdm.h, Ntifs.h) |
Библиотека | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL |
Правила соответствия DDI | HwStorPortProhibitedDDIs, PowerIrpDDis |
См. также раздел
Использование версий Nt и Zw подпрограмм собственных системных служб