Zugriff auf Gerätetreibereigenschaften

In Windows Vista und höheren Versionen von Windows enthält das einheitliche Geräteeigenschaftenmodell Gerätetreibereigenschaften, die einen Gerätetreiber kennzeichnen. Das einheitliche Geräteeigenschaftenmodell verwendet Eigenschaftsschlüssel , um diese Eigenschaften darzustellen.

Windows Server 2003, Windows XP und Windows 2000 unterstützen auch die meisten dieser Gerätetreibereigenschaften. Diese früheren Versionen von Windows unterstützen jedoch nicht die Eigenschaftenschlüssel des einheitlichen Geräteeigenschaftenmodells. Stattdessen verwenden diese Versionen von Windows die folgenden Mechanismen, um die entsprechenden Eigenschafteninformationen darzustellen und darauf zuzugreifen:

Um die Kompatibilität mit diesen früheren Versionen von Windows aufrechtzuerhalten, unterstützen Windows Vista und höhere Versionen auch diese beiden Methoden für den Zugriff auf Informationen über eine Geräteschnittstelle. Sie sollten jedoch die Eigenschaftenschlüssel verwenden, um auf diese Eigenschaften in Windows Vista und höheren Versionen zuzugreifen. Informationen zum Verwenden von Eigenschaftenschlüsseln für den Zugriff auf Gerätetreibereigenschaften in Windows Vista und höheren Versionen finden Sie unter "Zugreifen auf Geräteinstanzeigenschaften" (Windows Vista und höher).

Zugriff auf Gerätetreibereigenschaften mit entsprechenden Registrierungseintragswerten

Führen Sie die folgenden Schritte aus, um auf Gerätetreibereigenschaften auf Windows Server 2003, Windows XP und Windows 2000 zuzugreifen:

  1. Rufen Sie einen Handle für den Softwareschlüssel der Registrierung für eine Geräteinstanz ab, indem Sie CM_Open_DevNode_Key mit einer ulFlags von CM_REGISTRY_SOFTWARE oder SetupDiOpenDevRegKey mit einem Scope von DICS_FLAG_GLOBAL und einem KeyType von DIREG_DRV aufrufen.

  2. Geben Sie das Handle in einem Aufruf von RegQueryValueEx oder regSetValueEx an, um den Registrierungseintragswert abzurufen oder festzulegen, der der Geräteinstanztreibereigenschaft entspricht.

  3. Rufen Sie die RegCloseKey-Funktion auf, um den Registrierungsschlüssel zu schließen, nachdem der Zugriff auf den Schlüssel nicht mehr erforderlich ist.

Eine Tabelle mit eigenschaften des einheitlichen Geräteeigenschaftenmodells und deren entsprechenden Registrierungswerten im Softwareschlüssel für ein Gerät lautet:

Unified Property Model-Eigenschaft Registrierungswertname des Softwareschlüssels (definiert in 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

Verwenden von SetupDiGetDriverInstallParams zum Abrufen des Treiberrangs

Auf Windows Server 2003, Windows XP und Windows 2000 können Sie den Rang eines Treibers abrufen, der derzeit für ein Gerät installiert ist, indem Sie SetupDiGetDriverInstallParams aufrufen. SetupDiGetDriverInstallParams ruft einen Zeiger auf eine SP_DRVINSTALL_PARAMS Struktur für den Treiber im Ausgabeparameter DriverInstallParams ab. Das Rank-Element der abgerufenen SP_DRVINSTALL_PARAMS-Struktur enthält den Treiberrang.