Partager via


Fonction NtOpenResourceManager (wdm.h)

La routine ZwOpenResourceManager retourne un handle à un objet Resource Manager existant.

Syntaxe

__kernel_entry NTSYSCALLAPI NTSTATUS NtOpenResourceManager(
  [out]          PHANDLE            ResourceManagerHandle,
  [in]           ACCESS_MASK        DesiredAccess,
  [in]           HANDLE             TmHandle,
  [in]           LPGUID             ResourceManagerGuid,
  [in, optional] POBJECT_ATTRIBUTES ObjectAttributes
);

Paramètres

[out] ResourceManagerHandle

Pointeur vers une variable allouée par l’appelant qui reçoit le handle resource manager si l’appel à ZwOpenResourceManager réussit.

[in] DesiredAccess

Valeur ACCESS_MASK qui spécifie l’accès demandé par l’appelant à l’objet Resource Manager. Pour plus d’informations sur la façon de spécifier ce paramètre, consultez le paramètre DesiredAccess de ZwCreateResourceManager. Ce paramètre ne peut pas être égal à zéro.

[in] TmHandle

Handle vers un objet de gestionnaire de transactions obtenu par un appel précédent à ZwCreateTransactionManager ou ZwOpenTransactionManager.

[in] ResourceManagerGuid

Pointeur vers le GUID qui identifie le gestionnaire de ressources à ouvrir.

[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. Ce paramètre est facultatif et peut être NULL.

Valeur de retour

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

Retourner le code Description
STATUS_OBJECT_TYPE_MISMATCH
Le handle qui TmHandle spécifie n’est pas un handle pour un objet transactionnel.
STATUS_INVALID_HANDLE
Le handle qui TmHandle spécifie n’est pas valide.
STATUS_ACCESS_DENIED
L’appelant n’a pas d’accès approprié à l’objet gestionnaire de transactions spécifié.
STATUS_INVALID_PARAMETER
Le paramètre DesiredAccess est égal à zéro ou le paramètre ResourceManagerGuid n’est pas valide.
STATUS_RESOURCEMANAGER_NOT_FOUND
Impossible de trouver le gestionnaire de ressources spécifié.
STATUS_TRANSACTIONMANAGER_NOT_ONLINE
Le gestionnaire de transactions spécifié n’est pas en ligne.
 

La routine peut retourner d’autres valeurs NTSTATUS .

Remarques

En règle générale, un composant TPS appelle ZwOpenResourceManager après avoir reçu un GUID d’inscription d’un autre composant TPS qui avait précédemment appelé ZwCreateResourceManager. La plupart des conceptions TPS ne nécessitent pas d’appel ZwOpenResourceManager.

Un gestionnaire de ressources qui appelle ZwOpenResourceManager doit appeler ZwClose pour fermer le handle d’objet.

Pour plus d’informations sur ZwOpenResourceManager, consultez objets KTM.

NtOpenResourceManager et ZwOpenResourceManager 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.

Exigences

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

Voir aussi

InitializeObjectAttributes

OBJECT_ATTRIBUTES

à l’aide de versions Nt et Zw des routines natives des services système

ZwClose

ZwCreateResourceManager

ZwCreateTransactionManager

ZwOpenTransactionManager