Поделиться через


Функция NtOpenTransactionManager (wdm.h)

Подпрограмма ZwOpenTransactionManager получает дескриптор существующего объекта диспетчера транзакций.

Синтаксис

__kernel_entry NTSYSCALLAPI NTSTATUS NtOpenTransactionManager(
  [out]          PHANDLE            TmHandle,
  [in]           ACCESS_MASK        DesiredAccess,
  [in, optional] POBJECT_ATTRIBUTES ObjectAttributes,
  [in, optional] PUNICODE_STRING    LogFileName,
  [in, optional] LPGUID             TmIdentity,
  [in, optional] ULONG              OpenOptions
);

Параметры

[out] TmHandle

Указатель на выделенную вызывающим переменную, которая получает дескриптор объекту диспетчера транзакций , если ZwOpenTransactionManager возвращает STATUS_SUCCESS.

[in] DesiredAccess

Значение ACCESS_MASK, указывающее запрашиваемый доступ вызывающего объекта диспетчера транзакций. Сведения об указании этого параметра см. в параметре DesiredAccessZwCreateTransactionManager.

[in, optional] ObjectAttributes

Указатель на структуру OBJECT_ATTRIBUTES, указывающую имя объекта и другие атрибуты. Используйте подпрограмму InitializeObjectAttributes для инициализации этой структуры. Если вызывающий объект не запущен в контексте системного потока, он должен задать атрибут OBJ_KERNEL_HANDLE при вызове InitializeObjectAttributes. Этот параметр является необязательным и может быть null.

[in, optional] LogFileName

Указатель на структуру UNICODE_STRING, содержащую путь и имя файла потока файлов журнала, который был создан при создании объекта диспетчера транзакций. Дополнительные сведения см. в параметре logFileName ZwCreateTransactionManager. Этот параметр является необязательным и может быть null.

[in, optional] TmIdentity

Указатель на GUID, определяющий объект диспетчера транзакций. Этот параметр является необязательным и может быть null.

[in, optional] OpenOptions

Этот параметр не используется и должен быть равен нулю.

Возвращаемое значение

ZwOpenTransactionManager возвращает STATUS_SUCCESS, если операция завершится успешно. В противном случае эта подпрограмма может вернуть одно из следующих значений:

Возвращаемый код Описание
STATUS_INVALID_PARAMETER
Недопустимое значение входного параметра.
STATUS_INSUFFICIENT_RESOURCES
KTM не удалось выделить системные ресурсы (обычно память).
STATUS_OBJECT_NAME_INVALID
Недопустимое имя объекта ObjectAttributes .
STATUS_LOG_CORRUPTION_DETECTED
При создании или открытии файла журнала произошла ошибка KTM.
STATUS_ACCESS_DENIED
Недопустимое значение параметра DesiredAccess.
 

Подпрограмма может возвращать другие значения NTSTATUS .

Замечания

Вызывающий объект может определить, какой объект диспетчера транзакций открывать с помощью одного из следующих трех методов:

  • Используйте параметр LogFileName, чтобы указать путь и имя файла потока файлов журнала, созданного при создании объекта диспетчера транзакций.
  • Используйте параметр TmIdentity, чтобы указать GUID, определяющий объект диспетчера транзакций.
  • Используйте параметр объекта ObjectAttributes для предоставления OBJECT_ATTRIBUTES структуры, содержащей имя объекта, которое вызывающий объект ранее указал в подпрограмме ZwCreateTransactionManager.
Необходимо указать только один из перечисленных выше параметров (имя объекта, имя файла журнала или GUID) и задать для остальных двух параметров значение NULL.

Компонент TPS должен вызывать ZwRecoverTransactionManager после вызова ZwOpenTransactionManager.

Компонент TPS, вызывающий ZwOpenTransactionManager, должен в конечном итоге вызывать ZwClose, чтобы закрыть дескриптор объекта.

Дополнительные сведения об использовании ZwOpenTransactionManagerсм. в объектах Диспетчера транзакций и созданииResource Manager.

NtOpenTransactionManager и ZwOpenTransactionManager являются двумя версиями одной подпрограммы 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, Ntifs.h)
библиотеки NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL
правил соответствия DDI HwStorPortProhibitedDDIs, PowerIrpDDis

См. также

InitializeObjectAttributes

OBJECT_ATTRIBUTES

UNICODE_STRING

использование версий собственных системных служб и Zw

ZwClose

ZwCreateTransactionManager

ZwQueryInformationTransactionManager