Partager via


Fonction IoOpenDeviceInterfaceRegistryKey (wdm.h)

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

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’interface de l’appareil instance. 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é, par exemple KEY_READ, KEY_WRITE ou KEY_ALL_ACCESS. Consultez ZwCreateKey pour obtenir une description de chaque droit d’accès KEY_XXX .

[out] DeviceInterfaceRegKey

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

Valeur retournée

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

Code de retour Description
STATUS_OBJECT_NAME_NOT_FOUND
La routine n’a pas pu localiser une clé de Registre pour l’interface de l’appareil instance, probablement en raison d’une erreur dans SymbolicLinkName.
STATUS_OBJECT_PATH_NOT_FOUND
La routine n’a pas pu localiser une clé de Registre pour l’interface de l’appareil instance, probablement en raison d’une erreur dans SymbolicLinkName.
STATUS_INVALID_PARAMETER
Indique éventuellement une erreur dans SymbolicLinkName.

Remarques

IoOpenDeviceInterfaceRegistryKey ouvre une sous-clé non volatile de la clé de Registre pour l’interface de l’appareil instance spécifiée par SymbolicLinkName. Les pilotes peuvent stocker dans cette sous-clé des informations spécifiques à cette instance de l’interface de périphérique, telles que la résolution par défaut d’un appareil photo. 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 sur IRQL = PASSIVE_LEVEL dans le contexte d’un thread système.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Disponible à partir de Windows 2000.
Plateforme cible Universal
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