Verwenden der Registrierung in UMDF 1.x-Treibern

Warnung

UMDF 2 ist die neueste Version von UMDF und ersetzt UMDF 1. Alle neuen UMDF-Treiber sollten mit UMDF 2 geschrieben werden. UMDF 1 werden keine neuen Features hinzugefügt, und die Unterstützung für UMDF 1 in neueren Versionen von Windows 10 ist eingeschränkt. Universelle Windows-Treiber müssen UMDF 2 verwenden.

Die archivierten UMDF 1-Beispiele finden Sie im Treiberbeispielupdate Windows 11, Version 22H2 – Mai 2022.

Weitere Informationen finden Sie unter Erste Schritte mit UMDF.

UMDF-basierte Treiber können Werte in der Registrierung mithilfe von Schnittstellen des Eigenschaftenspeicherobjekts lesen und schreiben.

UMDF-basierte Treiber können auf vier Arten von Registrierungsschlüsseln zugreifen. Treiber können Unterschlüssel und Werte unter diesen Schlüsseln erstellen, lesen und schreiben. Die folgenden Arten von Registrierungsschlüsseln sind für UMDF-basierte Treiber verfügbar:

  • Hardwareschlüssel

    Der PnP-Manager erstellt einen Hardwareschlüssel oder Geräteschlüssel für jedes Gerät, in dem die eindeutigen Identifikationsinformationen des Geräts gespeichert werden.

    Der Treiber kann einige der Eigenschaftswerte unter dem Hardwareschlüssel abrufen und ändern. Der Speicherort der gespeicherten Werte hängt von der Methode ab, mit der Sie darauf zugreifen.

    Eigenschaftenwerte, die mit PropertyStore-Methoden erstellt wurden, werden im Unterschlüssel \Device Parameters unter dem Hardwareschlüssel gespeichert. Um auf diese Eigenschaften zuzugreifen, ruft Ihr Treiber eine der folgenden Methoden auf, um eine Eigenschaftenspeicherschnittstelle abzurufen.

    IWDFDevice::RetrieveDevicePropertyStore
    Ruft einen Zeiger auf eine IWDFNamedPropertyStore-Schnittstelle ab.

    IWDFDeviceInitialize::RetrieveDevicePropertyStore
    Ruft einen Zeiger auf eine IWDFNamedPropertyStore-Schnittstelle ab.

    IWDFPropertyStoreFactory::RetrieveDevicePropertyStore
    Ruft einen Zeiger auf eine IWDFNamedPropertyStore2-Schnittstelle ab. Sie können den SubkeyPath-Parameter verwenden, um Werte unter einem vom Treiber erstellten Unterschlüssel anzugeben, z. B. \Device Parameters\DriverServiceName\subkey.

    Treiber haben schreibgeschützten Zugriff auf Werte im Unterschlüssel \Geräteparameter und können nicht auf \Geräteparameter\WDF oder \Geräteparameter\WUDF zugreifen.

    Eigenschaftenwerte, die mit dem Unified Device Property-Modell erstellt wurden, werden im Unterschlüssel \Properties unter dem Hardwareschlüssel gespeichert.

    Um auf diese Eigenschaften zuzugreifen, ruft Ihr Treiber IWDFUnifiedPropertyStoreFactory::RetrieveUnifiedDevicePropertyStore auf, um eine Eigenschaftenspeicherschnittstelle abzurufen. Anschließend kann der Treiber die IWDFUnifiedPropertyStore-Schnittstelle verwenden, um aktuelle Einstellungen von Geräteeigenschaften zu ändern und abzurufen.

  • Softwareschlüssel

    Der Softwareschlüssel eines Treibers wird auch als Treiberschlüssel bezeichnet, da die Registrierung einen Softwareschlüssel für jeden Treiber enthält. Die Registrierung enthält eine Liste aller Geräteklassen, und der Softwareschlüssel jedes Treibers befindet sich unter seinem Geräteklasseneintrag. Das System speichert Informationen zu jedem Treiber unter seinem Softwareschlüssel.

    Ihr Treiber kann IWDFPropertyStoreFactory::RetrieveDevicePropertyStore aufrufen, um Lese- oder Schreibzugriff auf Werte unter dem Softwareschlüssel zu erhalten. Der Treiber kann treiberspezifische Informationen lesen und schreiben, die nicht bestimmten Geräten zugeordnet sind.

  • Geräteschnittstellenschlüssel

    Die Registrierung enthält Schlüssel für alle Geräteschnittstellenklassen , die treiber erstellt haben. Unter jedem dieser Schlüssel befindet sich ein Eintrag für jede instance der Geräteschnittstellenklasse, die ein Treiber registriert hat.

    Wenn Ihr Treiber eine instance einer Geräteschnittstellenklasse registriert hat, kann er Werte unter dem Registrierungseintrag für diese instance lesen und schreiben, indem er IWDFPropertyStoreFactory::RetrieveDevicePropertyStore aufruft. Der Treiber kann instance spezifische Informationen zur Geräteschnittstelle lesen und schreiben.

  • Der DEVICEMAP-Schlüssel

    Die Registrierung enthält einen HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP Schlüssel, den einige Treiber für ältere Technologien wie serielle und parallele Ports verwenden. Wenn Ihr Treiber eine Technologie unterstützt, die den DEVICEMAP-Schlüssel verwendet, kann der Treiber auf Unterschlüssel und Werte unter dem Schlüssel zugreifen, indem er IWDFPropertyStoreFactory::RetrieveDevicePropertyStore aufruft.

Nachdem ein Treiber eine der RetrieveDevicePropertyStore-Methoden aufgerufen hat, um einen Registrierungsunterschlüssel zu öffnen, kann der Treiber Methoden verwenden, die von IWDFNamedPropertyStore, IWDFNamedPropertyStore oderIWDFUnifiedPropertyStore verfügbar gemacht werden, um Werte unter einem Unterschlüssel zu erstellen, zu lesen und zu schreiben. Die IWDFNamedPropertyStore2-Schnittstelle ermöglicht es Treibern auch, Werte zu löschen.

Weitere Informationen zu Registrierungsschlüsseln für Treiber finden Sie unter Übersicht über Registrierungsstrukturen und Schlüssel.