Zugreifen auf Gerätetreibereigenschaften

In Windows Vista und höheren Versionen von Windows enthält das einheitliche Geräteeigenschaftenmodell Gerätetreibereigenschaften, die einen Gerätetreiber charakterisieren. Das einheitliche Geräteeigenschaftenmodell verwendet Eigenschaftenschlü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 zu gewährleisten, unterstützen Windows Vista und höhere Versionen auch diese beiden Möglichkeiten, auf Informationen über eine Geräteschnittstelle zuzugreifen. Sie sollten jedoch die Eigenschaftenschlüssel verwenden, um unter Windows Vista und höheren Versionen auf diese Eigenschaften zuzugreifen. Informationen zur Verwendung von Eigenschaftenschlüsseln für den Zugriff auf Gerätetreibereigenschaften unter Windows Vista und höheren Versionen finden Sie unter Zugreifen auf Geräteinstanzeigenschaften (Windows Vista und höher).

Zugreifen auf Gerätetreibereigenschaften mit entsprechenden Registrierungseintragswerten

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

  1. Rufen Sie ein Handle für den Softwareschlüssel für ein Gerät instance ab, indem Sie CM_Open_DevNode_Key mit ulFlags CM_REGISTRY_SOFTWARE oder SetupDiOpenDevRegKey mit einem Bereich 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 Eigenschaft device instance driver entspricht.

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

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

Eigenschaft des vereinheitlichten Eigenschaftenmodells Name des Softwareschlüsselregistrierungswerts (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

Unter 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 Rangelement der abgerufenen SP_DRVINSTALL_PARAMS-Struktur enthält den Treiberrang.