Fonction NtOpenEnlistment (wdm.h)
La routine ZwOpenEnlistment obtient un handle pour un objet d’inscription existant.
Syntaxe
__kernel_entry NTSYSCALLAPI NTSTATUS NtOpenEnlistment(
[out] PHANDLE EnlistmentHandle,
[in] ACCESS_MASK DesiredAccess,
[in] HANDLE ResourceManagerHandle,
[in] LPGUID EnlistmentGuid,
[in, optional] POBJECT_ATTRIBUTES ObjectAttributes
);
Paramètres
[out] EnlistmentHandle
Pointeur vers une variable allouée par l’appelant qui reçoit un handle vers un objet d’inscription si l’appel à ZwOpenEnlistment réussit.
[in] DesiredAccess
Valeur ACCESS_MASK-typée qui spécifie l’accès demandé à l’objet d’inscription. Pour plus d’informations sur la façon de spécifier ce paramètre, consultez le paramètre DesiredAccess de ZwCreateEnlistment. Ce paramètre ne peut pas être égal à zéro.
[in] ResourceManagerHandle
Handle vers un objet Resource Manager obtenu par un appel précédent à ZwCreateResourceManager ou ZwOpenResourceManager.
[in] EnlistmentGuid
Pointeur vers un GUID qui identifie l’inscription. Pour plus d’informations, consultez la section Remarques suivante.
[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
ZwOpenEnlistment retourne STATUS_SUCCESS si l’opération réussit. Sinon, cette routine peut retourner l’une des valeurs suivantes :
Retourner le code | Description |
---|---|
|
Le handle d’objet n’est pas valide. |
|
L’appelant n’a pas l’accès approprié à l’objet d’inscription. |
|
La valeur du paramètre DesiredAccess est égale à zéro, ou la valeur du paramètre EnlistmentGuid est NULL. |
|
L’inscription que le paramètre EnlistmentGuid spécifie n’existe pas pour le gestionnaire de ressources que le paramètre RmHandle spécifie. |
|
La valeur du paramètre DesiredAccess n’est pas valide. |
La routine peut retourner d’autres valeurs NTSTATUS .
Remarques
En règle générale, un composant TPS appelle ZwOpenEnlistment après avoir reçu un GUID d’inscription d’un autre composant TPS qui avait précédemment appelé ZwCreateEnlistment. La plupart des conceptions TPS ne nécessitent pas d’appel ZwOpenEnlistment.
Un gestionnaire de ressources qui appelle ZwOpenEnlistment doit finalement appeler ZwClose pour fermer le handle d’objet.
Pour plus d’informations sur ZwOpenEnlistment, consultez Objets d’inscription.
NtOpenEnlistment et ZwOpenEnlistment 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
à l’aide de versions Nt et Zw des routines natives des services système