Поделиться через


Доступ к свойствам драйвера устройства

В Windows Vista и более поздних версиях Windows унифицированная модель свойств устройства включает свойства драйвера устройства, характеризующие драйвер устройства. Унифицированная модель свойств устройства использует ключи свойств для представления этих свойств.

Windows Server 2003, Windows XP и Windows 2000 также поддерживают большинство этих свойств драйверов устройств. Однако эти более ранние версии Windows не поддерживают ключи свойств единой модели свойств устройства. Вместо этого в этих версиях Windows используются следующие механизмы для представления соответствующих сведений о свойствах и доступа к ним:

Чтобы обеспечить совместимость с этими более ранними версиями Windows, Windows Vista и более поздние версии также поддерживают эти два способа доступа к сведениям об интерфейсе устройства. Однако для доступа к этим свойствам в Windows Vista и более поздних версиях следует использовать ключи свойств. Сведения об использовании ключей свойств для доступа к свойствам драйвера устройства в Windows Vista и более поздних версиях см. в разделе Доступ к свойствам экземпляра устройства (Windows Vista и более поздних версий).

Доступ к свойствам драйвера устройства с соответствующими значениями записей реестра

Чтобы получить доступ к свойствам драйвера устройства в Windows Server 2003, Windows XP и Windows 2000, выполните следующие действия.

  1. Получите дескриптор программного ключа для экземпляра устройства, вызвав CM_Open_DevNode_Key с ulFlags CM_REGISTRY_SOFTWARE или SetupDiOpenDevRegKey с областью DICS_FLAG_GLOBAL и типом ключа DIREG_DRV.

  2. Укажите дескриптор в вызове RegQueryValueEx или RegSetValueEx , чтобы получить или задать значение записи реестра, соответствующее свойству драйвера экземпляра устройства.

  3. Вызовите функцию 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 содержит ранг драйвера.