Partager via


IoOpenDeviceInterfaceRegistryKey, fonction (wdm.h)

La routine IoOpenDeviceInterfaceRegistryKey retourne un handle à une clé de Registre pour stocker des informations sur une instance d’interface d’appareil particulière.

Syntaxe

NTSTATUS IoOpenDeviceInterfaceRegistryKey(
  [in]  PUNICODE_STRING SymbolicLinkName,
  [in]  ACCESS_MASK     DesiredAccess,
  [out] PHANDLE         DeviceInterfaceRegKey
);

Paramètres

[in] SymbolicLinkName

Pointeur vers une chaîne identifiant l’instance de l’interface de l’appareil. Cette chaîne a été obtenue à partir d’un appel précédent à IoGetDeviceInterfaces, IoGetDeviceInterfaceAlias, ou IoRegisterDeviceInterface.

[in] DesiredAccess

Spécifie la valeur ACCESS_MASK qui représente l’accès requis par l’appelant à la clé, telle que KEY_READ, KEY_WRITE ou KEY_ALL_ACCESS. Consultez ZwCreateKey pour obtenir une description de chaque droit d’accèsXXX KEY_.

[out] DeviceInterfaceRegKey

Pointeur vers un handle retourné vers la clé de Registre demandée si l’appel réussit.

Valeur de retour

IoOpenDeviceInterfaceRegistryKey retourne STATUS_SUCCESS si l’appel a réussi. Les valeurs de retour d’erreur possibles sont les suivantes.

Retourner le code Description
STATUS_OBJECT_NAME_NOT_FOUND
La routine n’a pas pu localiser une clé de Registre pour l’instance d’interface de l’appareil, probablement en raison d’une erreur dans la SymbolicLinkName.
STATUS_OBJECT_PATH_NOT_FOUND
La routine n’a pas pu localiser une clé de Registre pour l’instance d’interface de l’appareil, probablement en raison d’une erreur dans la SymbolicLinkName.
STATUS_INVALID_PARAMETER
Indique peut-être une erreur dans la SymbolicLinkName .

Remarques

IoOpenDeviceInterfaceRegistryKey ouvre une sous-clé de Registre nonvolatile de l’instance de l’interface d’appareil spécifiée par SymbolicLinkName. Les pilotes peuvent stocker des informations dans cette sous-clé spécifique à cette instance de l’interface de périphérique, telles que la résolution par défaut d’une caméra. Les applications en mode utilisateur peuvent accéder à cette sous-clé à l’aide de routines SetupDiXxx.

Le pilote doit appeler ZwClose pour fermer le handle retourné par cette routine lorsque l’accès n’est plus nécessaire.

Les appelants de IoOpenDeviceInterfaceRegistryKey doivent s’exécuter à IRQL = PASSIVE_LEVEL dans le contexte d’un thread système.

Exigences

Exigence Valeur
client minimum pris en charge Disponible à partir de Windows 2000.
plateforme cible Universel
d’en-tête wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)
bibliothèque NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL (voir la section Remarques)
règles de conformité DDI HwStorPortProhibitedDDIs(storport), PowerIrpDDis(wdm)

Voir aussi

ACCESS_MASK

IoGetDeviceInterfaceAlias

IoGetDeviceInterfaces

IoRegisterDeviceInterface

ZwClose