Функция TmPrePrepareEnlistment (wdm.h)
Подпрограмма TmPrePrepareEnlistment инициирует операцию предварительной подготовки для транзакции указанного зачисления.
Синтаксис
NTSTATUS TmPrePrepareEnlistment(
[in] PKENLISTMENT Enlistment,
[in] PLARGE_INTEGER TmVirtualClock
);
Параметры
[in] Enlistment
Указатель на объект зачисления. Компонент может получать этот указатель в качестве входных данных для подпрограммы обратного вызова ResourceManagerNotification . Кроме того, компонент может вызывать ObReferenceObjectByHandle и предоставлять дескриптор объекта, который был предоставлен при предыдущем вызове ZwCreateEnlistment, TmCreateEnlistment или ZwOpenEnlistment .
[in] TmVirtualClock
Указатель на значение виртуальных часов. Этот параметр является необязательным и может иметь значение NULL.
Возвращаемое значение
TmPrePrepareEnlistment возвращает STATUS_SUCCESS, если операция выполнена успешно. В противном случае эта подпрограмма может вернуть одно из следующих значений:
Код возврата | Описание |
---|---|
|
Вызывающий объект не является превосходным диспетчером транзакций для зачисления. |
|
Вызывающий объект не зарегистрировался для получения уведомлений TRANSACTION_NOTIFY_PREPREPARE_COMPLETE. |
|
Состояние транзакции не позволяет перейти на этап предварительной подготовки. |
|
Вызывающий объект не имеет соответствующего доступа к объекту зачисления. |
Подпрограмма может возвращать другие значения NTSTATUS.
Комментарии
Подпрограмма TmPrePrepareEnlistment — это версия подпрограммы ZwPrePrepareEnlistment на основе указателя .
Вызывать TmPrePrepareEnlistment могут только диспетчеры транзакций более высокого звена.
Сведения о том, когда следует использовать подпрограммы KTM TmXxx вместо процедур ZwXxx , см. в разделе Использование подпрограмм TmXxxx.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Доступно в Windows Vista и более поздних версиях операционной системы. |
Целевая платформа | Универсальное |
Верхняя часть | wdm.h (включая Wdm.h, Ntddk.h, Ntifs.h) |
Библиотека | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL |