Condividi tramite


Funzione WdfDriverOpenParametersRegistryKey (wdfdriver.h)

[Si applica a KMDF e UMDF]

Il metodo WdfDriverOpenParametersRegistryKey apre la chiave del Registro di sistema Parameters del driver e recupera un handle in un oggetto chiave del Registro di sistema del framework che rappresenta la chiave.

Sintassi

NTSTATUS WdfDriverOpenParametersRegistryKey(
  [in]           WDFDRIVER              Driver,
  [in]           ACCESS_MASK            DesiredAccess,
  [in, optional] PWDF_OBJECT_ATTRIBUTES KeyAttributes,
  [out]          WDFKEY                 *Key
);

Parametri

[in] Driver

Handle per l'oggetto driver framework del driver ottenuto dal driver da una chiamata precedente a WdfDriverCreate o WdfGetDriver.

[in] DesiredAccess

Valore tipizzato ACCESS_MASK che specifica una maschera di accesso per la chiave del Registro di sistema Parameters .

Un driver KMDF richiede in genere KEY_READ, KEY_WRITE o KEY_READ | KEY_WRITE.

Se si scrive un driver UMDF, usare KEY_READ o KEY_READ | KEY_SET_VALUE.

Come procedura consigliata, richiedere solo i tipi di accesso necessari al driver.

[in, optional] KeyAttributes

Puntatore a una struttura WDF_OBJECT_ATTRIBUTES allocata dal chiamante che specifica gli attributi oggetto per l'oggetto chiave del Registro di sistema del framework. Questo parametro è facoltativo e può essere WDF_NO_OBJECT_ATTRIBUTES.

[out] Key

Puntatore a un percorso che riceve un handle per un oggetto chiave del Registro di sistema del framework.

Valore restituito

WdfDriverOpenParametersRegistryKey restituisce STATUS_SUCCESS se l'operazione ha esito positivo. I valori restituiti aggiuntivi includono:

Codice restituito Descrizione
STATUS_ACCESS_DENIED
Un driver UMDF ha specificato uno dei flag seguenti nel parametro DesiredAccess :
  • GENERIC_WRITE
  • KEY_CREATE_SUBKEY
  • WRITE_DAC

Poiché i valori precedenti non sono validi per i driver UMDF, i flag universali come GENERIC_ALL e STANDARD_RIGHTS_ALL causano anche l'esito negativo di WdfDriverOpenParametersRegistryKey con questo valore restituito.

 

Per altre informazioni sui valori restituiti, vedere Errori di creazione di oggetti framework.

Questo metodo potrebbe anche restituire altri valori NTSTATUS.

Un controllo dei bug di sistema si verifica se un driver KMDF specifica un handle non valido nel driver.

Commenti

La chiave Parameters del driver si trova nell'albero Dei servizi del Registro di sistema. Se la chiave Parameters del driver non esiste, il metodo WdfDriverOpenParametersRegistryKey lo crea.

Al termine dell'uso della chiave del Registro di sistema Parameters , il driver deve chiamare WdfRegistryClose.

Nota

UMDF non supporta la creazione di sottochiavi.

Per altre informazioni sul Registro di sistema, vedere Uso del Registro di sistema in Framework-Based Driver.

Esempio

Nell'esempio di codice seguente viene aperta la chiave del Registro di sistema Parameters di un driver e viene ottenuto un handle per un oggetto chiave del Registro di sistema del framework che rappresenta la chiave.

WDFKEY hKey;

status = WdfDriverOpenParametersRegistryKey(
                                            Driver,
                                            STANDARD_RIGHTS_ALL,
                                            WDF_NO_OBJECT_ATTRIBUTES,
                                            &hKey
                                            );

Requisiti

Requisito Valore
Piattaforma di destinazione Universale
Versione KMDF minima 1,0
Versione UMDF minima 2,0
Intestazione wdfdriver.h (include Wdf.h)
Libreria Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF)
IRQL PASSIVE_LEVEL
Regole di conformità DDI DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf)

Vedi anche

ACCESS_MASK

WDF_OBJECT_ATTRIBUTES

WdfDriverCreate

WdfDriverGetRegistryPath

WdfGetDriver

WdfRegistryClose