Uso del Registro di sistema in driver UMDF 1.x

Avviso

UMDF 2 è la versione più recente di UMDF e sostituisce UMDF 1. Tutti i nuovi driver UMDF devono essere scritti usando UMDF 2. Nessuna nuova funzionalità viene aggiunta a UMDF 1 ed è disponibile un supporto limitato per UMDF 1 nelle versioni più recenti di Windows 10. I driver di Windows universali devono usare UMDF 2.

Gli esempi di UMDF 1 archiviati sono disponibili nell'Windows 11, versione 22H2 - Aggiornamento degli esempi di driver di maggio 2022.

Per altre informazioni, vedere Introduzione con UMDF.

I driver basati su UMDF possono leggere e scrivere valori nel Registro di sistema usando interfacce dell'oggetto archivio delle proprietà.

I driver basati su UMDF possono accedere a quattro tipi di chiavi del Registro di sistema. I driver possono creare, leggere e scrivere sottochiave e valori in queste chiavi. I tipi seguenti di chiavi del Registro di sistema sono disponibili per i driver basati su UMDF:

  • Chiavi hardware

    Il gestore PnP crea una chiave hardware o una chiave del dispositivo, per ogni dispositivo, in cui archivia le informazioni di identificazione univoca del dispositivo.

    Il driver può recuperare e modificare alcuni dei valori delle proprietà nella chiave hardware. La posizione dei valori archiviati dipende dal metodo usato per accedervi.

    I valori delle proprietà creati usando i metodi PropertyStore vengono archiviati nella sottochiave \Parametri del dispositivo , sotto la chiave hardware. Per accedere a queste proprietà, il driver chiama uno dei metodi seguenti per ottenere un'interfaccia dell'archivio delle proprietà.

    IWDFDevice::RetrieveDevicePropertyStore
    Ottiene un puntatore a un'interfaccia IWDFNamedPropertyStore .

    IWDFDeviceInitialize::RetrieveDevicePropertyStore
    Ottiene un puntatore a un'interfaccia IWDFNamedPropertyStore .

    IWDFPropertyStoreFactory::RetrieveDevicePropertyStore
    Ottiene un puntatore a un'interfaccia IWDFNamedPropertyStore2 . È possibile usare il parametro SubkeyPath per specificare i valori in una sottochiave creata da driver, ad esempio \Parametri del dispositivo\DriverServiceName\sottochiave.

    I driver hanno accesso in sola lettura ai valori all'interno della sottochiave \Parametri dispositivo e non possono accedere a \Parametri del dispositivo\WDF o \Parametri dispositivo\WUDF.

    I valori delle proprietà creati usando il modello Proprietà dispositivo unificato vengono archiviati nella sottochiave \Properties , sotto la chiave hardware.

    Per accedere a queste proprietà, il driver chiama IWDFUnifiedPropertyStoreFactory::RetrieveUnifiedDevicePropertyStore per ottenere un'interfaccia dell'archivio delle proprietà. Il driver può quindi usare l'interfaccia IWDFUnifiedPropertyStore per modificare e recuperare le impostazioni correnti delle proprietà del dispositivo.

  • Chiavi software

    La chiave software di un driver viene chiamata anche chiave driver perché il Registro di sistema contiene una chiave software per ogni driver. Il Registro di sistema contiene un elenco di tutte le classi di dispositivo e la chiave software di ogni driver si trova nella voce della classe di dispositivo. Il sistema archivia informazioni su ogni driver sotto la relativa chiave software.

    Il driver può chiamare IWDFPropertyStoreFactory::RetrieveDevicePropertyStore per ottenere l'accesso in lettura o scrittura ai valori sotto la chiave software. Il driver può leggere e scrivere informazioni specifiche del driver che non sono associate a dispositivi specifici.

  • Chiavi dell'interfaccia del dispositivo

    Il Registro di sistema contiene chiavi per tutte le classi di interfaccia del dispositivo create dai driver. In ognuna di queste chiavi è una voce per ogni istanza della classe di interfaccia del dispositivo registrata da un driver.

    Se il driver ha registrato un'istanza di una classe di interfaccia del dispositivo, può leggere e scrivere valori nella voce del Registro di sistema per tale istanza chiamando IWDFPropertyStoreFactory::RetrieveDevicePropertyStore. Il driver può leggere e scrivere informazioni specifiche dell'istanza sull'interfaccia del dispositivo.

  • Chiave DEVICEMAP

    Il Registro di sistema contiene una chiave HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP che alcuni driver per le tecnologie meno recenti, ad esempio porte seriali e parallele, usare. Se il driver supporta una tecnologia che usa la chiave DEVICEMAP , il driver può accedere a sottochiavi e valori sotto la chiave chiamando IWDFPropertyStoreFactory::RetrieveDevicePropertyStore.

Dopo che un driver ha chiamato uno dei metodi RetrieveDevicePropertyStore per aprire una sottochiave del Registro di sistema, il driver può usare metodi esposti da IWDFNamedPropertyStore, IWDFNamedPropertyStore2 o IWDFUnifiedPropertyStore per creare, leggere e scrivere valori in una sottochiave. L'interfaccia IWDFNamedPropertyStore2 consente anche ai driver di eliminare i valori.

Per altre informazioni sulle chiavi del Registro di sistema per i driver, vedere Panoramica degli alberi e delle chiavi del Registro di sistema.