Доступ к свойствам драйвера устройства
В Windows Vista и более поздних версиях Windows унифицированная модель свойств устройства включает свойства драйвера устройства, характеризующие драйвер устройства. Унифицированная модель свойств устройства использует ключи свойств для представления этих свойств.
Windows Server 2003, Windows XP и Windows 2000 также поддерживают большинство этих свойств драйверов устройств. Однако эти более ранние версии Windows не поддерживают ключи свойств единой модели свойств устройства. Вместо этого в этих версиях Windows используются следующие механизмы для представления соответствующих сведений о свойствах и доступа к ним:
- Доступ к свойствам драйвера устройства с соответствующими значениями записей реестра
- Использование SetupDiGetDriverInstallParams для получения ранга драйвера
Чтобы обеспечить совместимость с этими более ранними версиями Windows, Windows Vista и более поздние версии также поддерживают эти два способа доступа к сведениям об интерфейсе устройства. Однако для доступа к этим свойствам в Windows Vista и более поздних версиях следует использовать ключи свойств. Сведения об использовании ключей свойств для доступа к свойствам драйвера устройства в Windows Vista и более поздних версиях см. в разделе Доступ к свойствам экземпляра устройства (Windows Vista и более поздних версий).
Доступ к свойствам драйвера устройства с соответствующими значениями записей реестра
Чтобы получить доступ к свойствам драйвера устройства в Windows Server 2003, Windows XP и Windows 2000, выполните следующие действия.
Получите дескриптор программного ключа для экземпляра устройства, вызвав CM_Open_DevNode_Key с ulFlags CM_REGISTRY_SOFTWARE или SetupDiOpenDevRegKey с областью DICS_FLAG_GLOBAL и типом ключа DIREG_DRV.
Укажите дескриптор в вызове RegQueryValueEx или RegSetValueEx , чтобы получить или задать значение записи реестра, соответствующее свойству драйвера экземпляра устройства.
Вызовите функцию RegCloseKey , чтобы закрыть раздел реестра программного обеспечения после того, как доступ к разделу больше не требуется.
Таблица свойств унифицированной модели свойств устройства и их соответствующих значений реестра в программном ключе для устройства:
Унифицированное свойство модели свойств | Имя значения реестра раздела программного обеспечения (определяется в 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 |
Получение ранга драйвера с помощью SetupDiGetDriverInstallParams
В Windows Server 2003, Windows XP и Windows 2000 можно получить ранг драйвера, который в настоящее время установлен для устройства, вызвав SetupDiGetDriverInstallParams. SetupDiGetDriverInstallParams извлекает указатель на структуру SP_DRVINSTALL_PARAMS для драйвера в выходном параметре DriverInstallParams. Элемент Rank полученной структуры SP_DRVINSTALL_PARAMS содержит ранг драйвера.