Condividi tramite


Funzione WdfDeviceOpenDevicemapKey (wdfdevice.h)

[Si applica a KMDF e UMDF]

Il metodo WdfDeviceOpenDevicemapKey apre la chiave DEVICEMAP e crea un oggetto chiave del Registro di sistema del framework che rappresenta la chiave del Registro di sistema.

Sintassi

NTSTATUS WdfDeviceOpenDevicemapKey(
  [in]           WDFDEVICE              Device,
  [in]           PCUNICODE_STRING       KeyName,
  [in]           ACCESS_MASK            DesiredAccess,
  [in, optional] PWDF_OBJECT_ATTRIBUTES KeyAttributes,
  [out]          WDFKEY                 *Key
);

Parametri

[in] Device

Handle per un oggetto dispositivo framework.

[in] KeyName

Puntatore a una struttura UNICODE_STRING che specifica il nome della sottochiave da aprire in DEVICEMAP.

[in] DesiredAccess

Valore ACCESS_MASKtipizzato che specifica i diritti di accesso richiesti dal driver per la chiave del Registro di sistema specificata.

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

Un driver UMDF richiede in genere KEY_READ o KEY_SET_VALUE.

[in, optional] KeyAttributes

Puntatore a una struttura WDF_OBJECT_ATTRIBUTES che contiene gli attributi forniti dal driver per il nuovo oggetto chiave del Registro di sistema. Questo parametro è facoltativo e può essere WDF_NO_OBJECT_ATTRIBUTES.

[out] Key

Puntatore a una posizione che riceve un handle per il nuovo oggetto chiave del Registro di sistema. Le

Valore restituito

WdfDeviceOpenDevicemapKey restituisce STATUS_SUCCESS se l'operazione ha esito positivo. In caso contrario, il metodo potrebbe restituire uno dei valori seguenti:

Codice restituito Descrizione
STATUS_INVALID_DEVICE_REQUEST

WdfDeviceOpenDevicemapKey non è stato chiamato in IRQL = PASSIVE_LEVEL.

STATUS_INVALID_PARAMETER
È stato specificato un parametro non valido. Per UMDF, questo valore restituito può indicare diritti di accesso insufficienti.
STATUS_INSUFFICIENT_RESOURCES
Impossibile allocare un oggetto chiave del Registro di sistema.
STATUS_OBJECT_NAME_NOT_FOUND
La chiave del Registro di sistema specificata non esiste.
 

Per un elenco di altri valori restituiti dal metodo WdfDeviceOpenDevicemapKey, vedere Framework Object Creation Errors.

Il metodo potrebbe restituire altri valori NTSTATUS .

Se il driver fornisce un handle di oggetto non valido, si verifica un controllo di bug.

Osservazioni

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, usano. Se il driver supporta una tecnologia che usa la chiave DEVICEMAP, il driver può accedere a sottochiavi e valori sotto la chiave chiamando WdfDeviceOpenDevicemapKey.

WdfDeviceOpenDevicemapKey restituisce una chiave volatile. Ciò significa che le informazioni non vengono mantenute quando viene scaricato l'hive del Registro di sistema corrispondente.

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

Per altre informazioni sul Registro di sistema, sulle chiavi hardware e software e sugli oggetti del Registro di sistema, vedere Using the Registry in Framework-Based Drivers.

Fabbisogno

Requisito Valore
piattaforma di destinazione Universale
versione minima di KMDF 1.15
versione minima di UMDF 2.15
intestazione wdfdevice.h (include Wdf.h)
libreria Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF)
IRQL PASSIVE_LEVEL

Vedere anche

WdfDeviceOpenRegistryKey

WdfFdoInitOpenRegistryKey