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

Подпрограмма ZwQueryInformationTransaction извлекает сведения об указанной транзакции.

Синтаксис

NTSYSCALLAPI NTSTATUS ZwQueryInformationTransaction(
  [in]            HANDLE                        TransactionHandle,
  [in]            TRANSACTION_INFORMATION_CLASS TransactionInformationClass,
  [out]           PVOID                         TransactionInformation,
  [in]            ULONG                         TransactionInformationLength,
  [out, optional] PULONG                        ReturnLength
);

Параметры

[in] TransactionHandle

Дескриптор объекта транзакции , полученный при предыдущем вызове ZwCreateTransaction или ZwOpenTransaction. Дескриптор должен иметь TRANSACTION_QUERY_INFORMATION доступ к объекту .

[in] TransactionInformationClass

Значение типа TRANSACTION_INFORMATION_CLASS, указывающее сведения для получения. Значение должно быть одним из следующих значений:

  • TransactionBasicInformation
  • TransactionPropertiesInformation
  • TransactionEnlistmentInformation
Значение TransactionFullInformation не используется с ZwQueryInformationTransaction.

[out] TransactionInformation

Указатель на буфер, выделенный вызывающим объектом, который получает информацию, указанную параметром TransactionInformationClass . Тип структуры буфера должен быть TRANSACTION_BASIC_INFORMATION, TRANSACTION_PROPERTIES_INFORMATION или TRANSACTION_ENLISTMENTS_INFORMATION.

[in] TransactionInformationLength

Длина (в байтах) буфера, на который указывает параметр TransactionInformation , включая длину всех дополнительных элементов массива, выделенных вызывающей стороной для получения информации.

[out, optional] ReturnLength

Указатель на переменную, выделенную вызывающим объектом, которая получает длину (в байтах) сведений, которые KTM записывает в буфер TransactionInformation . Этот параметр является необязательным и может иметь значение NULL.

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

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

Код возврата Описание
STATUS_INVALID_INFO_CLASS
Недопустимое значение параметра TransactionInformationClass .
STATUS_INFO_LENGTH_MISMATCH
Длина буфера, указанная параметром TransactionInformationLength , неверна.
STATUS_OBJECT_TYPE_MISMATCH
Дескриптор, который указывает параметр TransactionHandle , не является дескриптором объекта транзакции.
STATUS_INVALID_HANDLE
Недопустимый дескриптор объекта.
STATUS_ACCESS_DENIED
Вызывающий объект не имеет соответствующего доступа к объекту транзакции.
STATUS_BUFFER_OVERFLOW
Буфер, задающий параметр TransactionInformation , слишком мал.
 

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

Комментарии

Дополнительные сведения об использовании ZwQueryInformationTransaction см. в разделе Создание транзакционного клиента.

NtQueryInformationTransaction и ZwQueryInformationTransaction — это две версии одной и той же подпрограммы windows Native System Services.

Для вызовов из драйверов режима ядра версии NtXxx и ZwXxx подпрограммы Собственные системные службы Windows могут вести себя по-разному, так как они обрабатывают и интерпретируют входные параметры. Дополнительные сведения о связи между версиями подпрограмм NtXxx и ZwXxx см. в разделе Использование версий NT и Zw подпрограмм собственных системных служб.

Требования

Требование Значение
Минимальная версия клиента Доступно в Windows Vista и более поздних версиях операционной системы.
Целевая платформа Универсальное
Верхняя часть wdm.h (включая Wdm.h, Ntddk.h, Ntifs.h)
Библиотека NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL
Правила соответствия DDI HwStorPortProhibitedDIs(storport), PowerIrpDDis(wdm)

См. также раздел

TRANSACTION_BASIC_INFORMATION

TRANSACTION_ENLISTMENTS_INFORMATION

TRANSACTION_INFORMATION_CLASS

TRANSACTION_PROPERTIES_INFORMATION

TmGetTransactionId

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

ZwCreateTransaction

ZwOpenTransaction

ZwSetInformationTransaction