Partager via


Fonction ZwQueryInformationTransaction (wdm.h)

La routine ZwQueryInformationTransaction récupère des informations sur une transaction spécifiée.

Syntaxe

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

Paramètres

[in] TransactionHandle

Handle d’un objet de transaction obtenu par un appel précédent à ZwCreateTransaction ou ZwOpenTransaction. Le handle doit avoir TRANSACTION_QUERY_INFORMATION accès à l’objet.

[in] TransactionInformationClass

Valeur de type TRANSACTION_INFORMATION_CLASS qui spécifie les informations à obtenir. La valeur doit être l’une des valeurs suivantes :

  • TransactionBasicInformation
  • TransactionPropertiesInformation
  • TransactionEnlistmentInformation
La valeur TransactionFullInformation n’est pas utilisée avec ZwQueryInformationTransaction.

[out] TransactionInformation

Pointeur vers une mémoire tampon allouée à l’appelant qui reçoit les informations spécifiées par le paramètre TransactionInformationClass . Le type de structure de la mémoire tampon doit être TRANSACTION_BASIC_INFORMATION, TRANSACTION_PROPERTIES_INFORMATION ou TRANSACTION_ENLISTMENTS_INFORMATION.

[in] TransactionInformationLength

Longueur, en octets, de la mémoire tampon vers laquelle pointe le paramètre TransactionInformation , y compris la longueur des éléments de tableau supplémentaires alloués par l’appelant pour recevoir des informations.

[out, optional] ReturnLength

Pointeur vers une variable allouée par l’appelant qui reçoit la longueur, en octets, des informations que KTM écrit dans la mémoire tampon TransactionInformation . Ce paramètre est facultatif et peut être NULL.

Valeur retournée

ZwQueryInformationTransaction retourne STATUS_SUCCESS si l’opération réussit. Sinon, cette routine peut retourner l’une des valeurs suivantes :

Code de retour Description
STATUS_INVALID_INFO_CLASS
La valeur du paramètre TransactionInformationClass n’est pas valide.
STATUS_INFO_LENGTH_MISMATCH
La longueur de la mémoire tampon spécifiée par le paramètre TransactionInformationLength est incorrecte.
STATUS_OBJECT_TYPE_MISMATCH
Le handle spécifié par le paramètre TransactionHandle n’est pas un handle pour un objet de transaction.
STATUS_INVALID_HANDLE
Un handle d’objet n’est pas valide.
STATUS_ACCESS_DENIED
L’appelant n’a pas l’accès approprié à l’objet de transaction.
STATUS_BUFFER_OVERFLOW
La mémoire tampon spécifiée par le paramètre TransactionInformation est trop petite.
 

La routine peut retourner d’autres valeurs NTSTATUS.

Remarques

Pour plus d’informations sur l’utilisation de ZwQueryInformationTransaction, consultez Création d’un client transactionnel.

NtQueryInformationTransaction et ZwQueryInformationTransaction sont deux versions de la même routine Windows Native System Services.

Pour les appels à partir de pilotes en mode noyau, les versions NtXxx et ZwXxx d’une routine Windows Native System Services peuvent se comporter différemment dans la façon dont elles gèrent et interprètent les paramètres d’entrée. Pour plus d’informations sur la relation entre les versions NtXxx et ZwXxx d’une routine, consultez Utilisation des versions Nt et Zw des routines des services système natifs.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Disponible dans Windows Vista et les versions ultérieures du système d’exploitation.
Plateforme cible Universal
En-tête wdm.h (inclure Wdm.h, Ntddk.h, Ntifs.h)
Bibliothèque NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL
Règles de conformité DDI HwStorPortProhibitedDDIs(storport),PowerIrpDDis(wdm)

Voir aussi

TRANSACTION_BASIC_INFORMATION

TRANSACTION_ENLISTMENTS_INFORMATION

TRANSACTION_INFORMATION_CLASS

TRANSACTION_PROPERTIES_INFORMATION

TmGetTransactionId

Utilisation des versions Nt et Zw des routines natives des services système natifs

ZwCreateTransaction

ZwOpenTransaction

ZwSetInformationTransaction