Accès aux propriétés du pilote de périphérique
Dans Windows Vista et les versions ultérieures de Windows, le modèle de propriété d’appareil unifié inclut des propriétés de pilote de périphérique qui caractérisent un pilote de périphérique. Le modèle de propriété d’appareil unifié utilise des clés de propriété pour représenter ces propriétés.
Windows Server 2003, Windows XP et Windows 2000 prennent également en charge la plupart de ces propriétés de pilote de périphérique. Toutefois, ces versions antérieures de Windows ne prennent pas en charge les clés de propriété du modèle de propriété d’appareil unifié. Au lieu de cela, ces versions de Windows utilisent les mécanismes suivants pour représenter et accéder aux informations de propriété correspondantes :
- Accès aux propriétés du pilote de périphérique qui ont des valeurs d’entrée de Registre correspondantes
- Utilisation de SetupDiGetDriverInstallParams pour récupérer le classement des pilotes
Pour maintenir la compatibilité avec ces versions antérieures de Windows, Windows Vista et les versions ultérieures prennent également en charge ces deux façons d’accéder aux informations sur une interface d’appareil. Toutefois, vous devez utiliser les clés de propriété pour accéder à ces propriétés sur Windows Vista et les versions ultérieures. Pour plus d’informations sur l’utilisation des clés de propriété pour accéder aux propriétés du pilote d’appareil sur Windows Vista et versions ultérieures, consultez Accès aux propriétés de l’instance d’appareil (Windows Vista et versions ultérieures).
Accès aux propriétés du pilote de périphérique qui ont des valeurs d’entrée de Registre correspondantes
Pour accéder aux propriétés du pilote de périphérique sur Windows Server 2003, Windows XP et Windows 2000, procédez comme suit :
Récupérez un handle à la clé logicielle d’un instance d’appareil en appelant CM_Open_DevNode_Key avec un ulFlags de CM_REGISTRY_SOFTWARE ou SetupDiOpenDevRegKey avec une étendue de DICS_FLAG_GLOBAL et un KeyType de DIREG_DRV.
Fournissez le handle dans un appel à RegQueryValueEx ou à RegSetValueEx pour récupérer ou définir la valeur d’entrée du Registre qui correspond à la propriété de pilote de l’appareil instance.
Appelez la fonction RegCloseKey pour fermer la clé de Registre logicielle une fois que l’accès à la clé n’est plus nécessaire.
Une table des propriétés du modèle de propriété d’appareil unifié et leurs valeurs de Registre correspondantes dans la clé logicielle d’un appareil sont les suivantes :
Propriété de modèle de propriété unifiée | Nom de la valeur du Registre de clé logicielle (défini dans regstr.h) |
---|---|
DEVPKEY_Device_DriverDate | REGSTR_VAL_DRIVERDATEDATA |
DEVPKEY_Device_DriverVersion | REGSTR_VAL_DRIVERVERSION |
DEVPKEY_Device_DriverDesc | REGSTR_VAL_DRVDESC |
DEVPKEY_Device_DriverInfPath | REGSTR_VAL_INFPATH |
DEVPKEY_Device_DriverInfSection | REGSTR_VAL_INFSECTION |
DEVPKEY_Device_DriverInfSectionExt | REGSTR_VAL_INFSECTIONEXT |
DEVPKEY_Device_DriverProvider | REGSTR_VAL_PROVIDER_NAME |
Utilisation de SetupDiGetDriverInstallParams pour récupérer le classement des pilotes
Sur Windows Server 2003, Windows XP et Windows 2000, vous pouvez récupérer le rang d’un pilote actuellement installé pour un appareil en appelant SetupDiGetDriverInstallParams. SetupDiGetDriverInstallParams récupère un pointeur vers une structure SP_DRVINSTALL_PARAMS pour le pilote dans le paramètre de sortie DriverInstallParams. Le membre Rank de la structure SP_DRVINSTALL_PARAMS récupérée contient le classement du pilote.