Функция 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, если операция завершится успешно. В противном случае эта подпрограмма может вернуть одно из следующих значений:
Возвращаемый код | Описание |
---|---|
|
Недопустимое значение входного параметра. |
|
KTM не удалось выделить системные ресурсы (обычно память). |
|
Недопустимое имя объекта ObjectAttributes . |
|
При создании или открытии файла журнала произошла ошибка KTM. |
|
Недопустимое значение параметра DesiredAccess. |
Подпрограмма может возвращать другие значения NTSTATUS .
Замечания
Вызывающий объект может определить, какой объект диспетчера транзакций открывать с помощью одного из следующих трех методов:
- Используйте параметр LogFileName, чтобы указать путь и имя файла потока файлов журнала, созданного при создании объекта диспетчера транзакций.
- Используйте параметр TmIdentity, чтобы указать GUID, определяющий объект диспетчера транзакций.
- Используйте параметр объекта ObjectAttributes для предоставления OBJECT_ATTRIBUTES структуры, содержащей имя объекта, которое вызывающий объект ранее указал в подпрограмме ZwCreateTransactionManager.
Компонент 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 |
См. также
использование версий собственных системных служб и Zw