Fonction ZwOpenTransactionManager (wdm.h)
La routine ZwOpenTransactionManager obtient un handle pour un objet gestionnaire de transactions existant.
Syntaxe
NTSYSCALLAPI NTSTATUS ZwOpenTransactionManager(
[out] PHANDLE TmHandle,
[in] ACCESS_MASK DesiredAccess,
[in, optional] POBJECT_ATTRIBUTES ObjectAttributes,
[in, optional] PUNICODE_STRING LogFileName,
[in, optional] LPGUID TmIdentity,
[in, optional] ULONG OpenOptions
);
Paramètres
[out] TmHandle
Pointeur vers une variable allouée par l’appelant qui reçoit un handle vers l’objet gestionnaire de transactions si ZwOpenTransactionManager retourne STATUS_SUCCESS.
[in] DesiredAccess
Valeur ACCESS_MASK qui spécifie l’accès demandé de l’appelant à l’objet du gestionnaire de transactions. Pour plus d’informations sur la façon de spécifier ce paramètre, consultez le paramètre DesiredAccess de ZwCreateTransactionManager.
[in, optional] ObjectAttributes
Pointeur vers une structure OBJECT_ATTRIBUTES qui spécifie le nom de l’objet et d’autres attributs. Utilisez la routine InitializeObjectAttributes pour initialiser cette structure. Si l’appelant n’est pas en cours d’exécution dans un contexte de thread système, il doit définir l’attribut OBJ_KERNEL_HANDLE lorsqu’il appelle InitializeObjectAttributes. Ce paramètre est facultatif et peut être NULL.
[in, optional] LogFileName
Pointeur vers une structure de UNICODE_STRING qui contient le chemin d’accès et le nom de fichier du flux de fichier journal qui a été créé lors de la création de l’objet gestionnaire de transactions. Pour plus d’informations, consultez le paramètre LogFileName de ZwCreateTransactionManager. Ce paramètre est facultatif et peut être NULL.
[in, optional] TmIdentity
Pointeur vers un GUID qui identifie l’objet du gestionnaire de transactions. Ce paramètre est facultatif et peut être NULL.
[in, optional] OpenOptions
Ce paramètre n’est pas utilisé et doit être égal à zéro.
Valeur retournée
ZwOpenTransactionManager retourne STATUS_SUCCESS si l’opération réussit. Sinon, cette routine peut retourner l’une des valeurs suivantes :
Code de retour | Description |
---|---|
|
La valeur d’un paramètre d’entrée n’est pas valide. |
|
KTM n’a pas pu allouer de ressources système (généralement de la mémoire). |
|
Le nom de l’objet spécifié par le paramètre ObjectAttributes n’est pas valide. |
|
KTM a rencontré une erreur lors de la création ou de l’ouverture du fichier journal. |
|
La valeur du paramètre DesiredAccess n’est pas valide. |
La routine peut retourner d’autres valeurs NTSTATUS.
Remarques
L’appelant peut identifier l’objet du gestionnaire de transactions à ouvrir à l’aide de l’une des trois techniques suivantes :
- Utilisez le paramètre LogFileName pour spécifier le chemin d’accès et le nom de fichier d’un flux de fichier journal qui a été créé lors de la création de l’objet gestionnaire de transactions.
- Utilisez le paramètre TmIdentity pour spécifier le GUID qui identifie l’objet du gestionnaire de transactions.
- Utilisez le paramètre ObjectAttributes pour fournir une structure OBJECT_ATTRIBUTES qui contient le nom d’objet que l’appelant a précédemment spécifié à la routine ZwCreateTransactionManager .
Votre composant TPS doit appeler ZwRecoverTransactionManager après avoir appelé ZwOpenTransactionManager.
Un composant TPS qui appelle ZwOpenTransactionManager doit éventuellement appeler ZwClose pour fermer le handle d’objet.
Pour plus d’informations sur l’utilisation de ZwOpenTransactionManager, consultez Objets Transaction Manager et Création d’un Resource Manager.
NtOpenTransactionManager et ZwOpenTransactionManager 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, Ntifs.h) |
Bibliothèque | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL |
Règles de conformité DDI | HwStorPortProhibitedDDIs(storport),PowerIrpDDis(wdm) |
Voir aussi
Utilisation des versions Nt et Zw des routines natives des services système natifs