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 tipizzato ACCESS_MASK 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_WRITE o 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. The

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 che il metodo WdfDeviceOpenDevicemapKey potrebbe restituire, vedere Errori di creazione di oggetti framework.

Il metodo potrebbe restituire altri valori NTSTATUS.

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

Commenti

Il Registro di sistema contiene una chiaveHKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP usata da alcuni driver per le tecnologie meno recenti, ad esempio porte seriali e parallele. Se il driver supporta una tecnologia che usa la chiave DEVICEMAP , il driver può accedere a sottochiavi e valori nella chiave chiamando WdfDeviceOpenDevicemapKey.

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

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 Uso del Registro di sistema in Framework-Based Driver.

Requisiti

Requisito Valore
Piattaforma di destinazione Universale
Versione KMDF minima 1.15
Versione UMDF minima 2.15
Intestazione wdfdevice.h (include Wdf.h)
Libreria Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF)
IRQL PASSIVE_LEVEL

Vedi anche

WdfDeviceOpenRegistryKey

WdfFdoInitOpenRegistryKey