Функция NtQueryInformationTransaction (wdm.h)
Подпрограмма ZwQueryInformationTransaction извлекает сведения об указанной транзакции.
Синтаксис
__kernel_entry NTSYSCALLAPI NTSTATUS NtQueryInformationTransaction(
[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
[out] TransactionInformation
Указатель на буфер, выделенный вызывающим объектом, который получает информацию, указанную параметром TransactionInformationClass . Тип структуры буфера должен быть TRANSACTION_BASIC_INFORMATION, TRANSACTION_PROPERTIES_INFORMATION или TRANSACTION_ENLISTMENTS_INFORMATION.
[in] TransactionInformationLength
Длина (в байтах) буфера, на который указывает параметр TransactionInformation , включая длину всех дополнительных элементов массива, выделенных вызывающей стороной для получения информации.
[out, optional] ReturnLength
Указатель на переменную, выделенную вызывающим объектом, которая получает длину (в байтах) сведений, записываемых KTM в буфер TransactionInformation . Этот параметр является необязательным и может иметь значение NULL.
Возвращаемое значение
ZwQueryInformationTransaction возвращает STATUS_SUCCESS, если операция выполнена успешно. В противном случае эта подпрограмма может возвращать одно из следующих значений:
Код возврата | Описание |
---|---|
|
Недопустимое значение параметра TransactionInformationClass . |
|
Неправильная длина буфера, указанная параметром TransactionInformationLength . |
|
Дескриптор, который указывает параметр TransactionHandle , не является дескриптором объекта транзакции. |
|
Недопустимый дескриптор объекта. |
|
Вызывающий объект не имеет соответствующего доступа к объекту транзакции. |
|
Буфер, который указывает параметр 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, PowerIrpDDis |
См. также раздел
TRANSACTION_ENLISTMENTS_INFORMATION
TRANSACTION_PROPERTIES_INFORMATION
Использование версий Nt и Zw собственных процедур системных служб