Fonction NtOpenTransaction (wdm.h)
La routine ZwOpenTransaction obtient un handle à un objet de transaction existant.
__kernel_entry NTSYSCALLAPI NTSTATUS NtOpenTransaction(
[out] PHANDLE TransactionHandle,
[in] ACCESS_MASK DesiredAccess,
[in, optional] POBJECT_ATTRIBUTES ObjectAttributes,
[in] LPGUID Uow,
[in, optional] HANDLE TmHandle
);
[out] TransactionHandle
Pointeur vers une variable allouée par l’appelant qui reçoit un handle vers l’objet de transaction si ZwOpenTransaction retourne STATUS_SUCCESS.
[in] DesiredAccess
Valeur ACCESS_MASK qui spécifie l’accès demandé par l’appelant à l’objet transactionnel. Pour plus d’informations sur la façon de spécifier ce paramètre, consultez le paramètre DesiredAccess de ZwCreateTransaction.
[in, optional] ObjectAttributes
Pointeur vers une structure OBJECT_ATTRIBUTES qui spécifie les attributs de l’objet. Utilisez la routine InitializeObjectAttributes pour initialiser cette structure, mais spécifiez uniquement les InitializedAttributes et Attributs de cette routine. Si l’appelant n’est pas en cours d’exécution dans un contexte de thread système, il doit définir l’indicateur OBJ_KERNEL_HANDLE dans le paramètre Attributes. Le paramètre ObjectAttributes est facultatif et peut être NULL.
[in] Uow
Pointeur vers un GUID qui est l’identificateur d’un objet transactionnel (UOW). Ce GUID identifie l’objet de transaction à ouvrir.
[in, optional] TmHandle
Handle vers un objet de gestionnaire de transactions . Si ce paramètre n’est pas null, KTM recherche uniquement les objets de transaction appartenant à l’objet gestionnaire de transactions spécifié. Si ce paramètre est NULL, KTM recherche tous les objets de transaction.
ZwCreateTransaction retourne STATUS_SUCCESS si l’opération réussit. Sinon, cette routine peut retourner l’une des valeurs suivantes :
Retourner le code | Description |
---|---|
|
Le paramètre DesiredAccess ou Uow était égal à zéro. |
|
Le handle spécifié n’est pas un handle pour un objet transactionnel. |
|
Un handle d’objet n’est pas valide. |
|
KTM n’a pas pu trouver l’objet transactionnel. |
|
La valeur du paramètre DesiredAccess n’est pas valide. |
La routine peut retourner d’autres valeurs NTSTATUS .
En règle générale, un gestionnaire de ressources appelle ZwOpenTransaction après avoir reçu une transaction UOW d’un client transactionnel qui avait précédemment appelé ZwCreateTransaction.
Pour plus d’informations sur zwOpenTransaction, consultez Création d’unResource Manager.
NtOpenTransaction et ZwOpenTransaction 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 de 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 Using Nt and Zw Versions of the Native System Services Routines.
Exigence | Valeur |
---|---|
client minimum pris en charge | Disponible dans Windows Vista et versions ultérieures du système d’exploitation. |
plateforme cible | Universel |
d’en-tête | wdm.h (include Wdm.h, Ntifs.h) |
bibliothèque | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL |
règles de conformité DDI | HwStorPortProhibitedDDIs, PowerIrpDDis |
à l’aide de versions Nt et Zw des routines natives des services système