Función ZwQueryInformationTransaction (wdm.h)

La rutina ZwQueryInformationTransaction recupera información sobre una transacción especificada.

Sintaxis

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

Parámetros

[in] TransactionHandle

Identificador de un objeto de transacción obtenido por una llamada anterior a ZwCreateTransaction o ZwOpenTransaction. El identificador debe tener TRANSACTION_QUERY_INFORMATION acceso al objeto .

[in] TransactionInformationClass

Valor con tipo TRANSACTION_INFORMATION_CLASS que especifica la información que se va a obtener. El valor debe ser uno de los siguientes valores:

  • TransactionBasicInformation
  • TransactionPropertiesInformation
  • TransactionEnlistmentInformation
El valor TransactionFullInformation no se usa con ZwQueryInformationTransaction.

[out] TransactionInformation

Puntero a un búfer asignado por el autor de la llamada que recibe la información que especifica el parámetro TransactionInformationClass . El tipo de estructura del búfer debe ser TRANSACTION_BASIC_INFORMATION, TRANSACTION_PROPERTIES_INFORMATION o TRANSACTION_ENLISTMENTS_INFORMATION.

[in] TransactionInformationLength

Longitud, en bytes, del búfer al que apunta el parámetro TransactionInformation , incluida la longitud de los elementos de matriz adicionales a los que el autor de la llamada ha asignado para recibir información.

[out, optional] ReturnLength

Puntero a una variable asignada por el autor de la llamada que recibe la longitud, en bytes, de la información que KTM escribe en el búfer TransactionInformation . Este parámetro es opcional y puede ser NULL.

Valor devuelto

ZwQueryInformationTransaction devuelve STATUS_SUCCESS si la operación se realiza correctamente. De lo contrario, esta rutina podría devolver uno de los siguientes valores:

Código devuelto Descripción
STATUS_INVALID_INFO_CLASS
El valor del parámetro TransactionInformationClass no es válido.
STATUS_INFO_LENGTH_MISMATCH
La longitud del búfer especificado por el parámetro TransactionInformationLength es incorrecta.
STATUS_OBJECT_TYPE_MISMATCH
El identificador que especifica el parámetro TransactionHandle no es un identificador para un objeto de transacción.
STATUS_INVALID_HANDLE
Un identificador de objeto no es válido.
STATUS_ACCESS_DENIED
El autor de la llamada no tiene el acceso adecuado al objeto de transacción.
STATUS_BUFFER_OVERFLOW
El búfer que especifica el parámetro TransactionInformation es demasiado pequeño.
 

La rutina podría devolver otros valores NTSTATUS.

Comentarios

Para obtener más información sobre cómo usar ZwQueryInformationTransaction, vea Crear un cliente transaccional.

NtQueryInformationTransaction y ZwQueryInformationTransaction son dos versiones de la misma rutina de Servicios del sistema nativo de Windows.

En el caso de las llamadas desde controladores en modo kernel, las versiones NtXxx y ZwXxx de una rutina de Servicios del sistema nativo de Windows se pueden comportar de forma diferente en la forma en que controlan e interpretan los parámetros de entrada. Para obtener más información sobre la relación entre las versiones NtXxx y ZwXxx de una rutina, vea Using Nt and Zw Versions of the Native System Services Routines.

Requisitos

Requisito Value
Cliente mínimo compatible Disponible en Windows Vista y versiones posteriores del sistema operativo.
Plataforma de destino Universal
Encabezado wdm.h (incluya Wdm.h, Ntddk.h, Ntifs.h)
Library NtosKrnl.lib
Archivo DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL
Reglas de cumplimiento de DDI HwStorPortProhibitedDIs(storport), PowerIrpDDis(wdm)

Consulte también

TRANSACTION_BASIC_INFORMATION

TRANSACTION_ENLISTMENTS_INFORMATION

TRANSACTION_INFORMATION_CLASS

TRANSACTION_PROPERTIES_INFORMATION

TmGetTransactionId

Uso de las versiones Nt y Zw de las rutinas nativas de Servicios del sistema

ZwCreateTransaction

ZwOpenTransaction

ZwSetInformationTransaction