Função WdfDeviceOpenDevicemapKey (wdfdevice.h)

[Aplica-se a KMDF e UMDF]

O método WdfDeviceOpenDevicemapKey abre a chave DEVICEMAP e cria um objeto de chave do Registro da estrutura que representa a chave do Registro.

Sintaxe

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

Parâmetros

[in] Device

Um identificador para um objeto de dispositivo de estrutura.

[in] KeyName

Um ponteiro para uma estrutura UNICODE_STRING que especifica o nome da subchave a ser aberta em DEVICEMAP.

[in] DesiredAccess

Um valor de tipo ACCESS_MASK que especifica os direitos de acesso que o driver está solicitando para a chave do Registro especificada.

Um driver KMDF normalmente solicita KEY_READ, KEY_WRITE ou KEY_READ | KEY_WRITE.

Um driver UMDF normalmente solicita KEY_READ ou KEY_SET_VALUE.

[in, optional] KeyAttributes

Um ponteiro para uma estrutura WDF_OBJECT_ATTRIBUTES que contém atributos fornecidos pelo driver para o novo objeto registry-key. Esse parâmetro é opcional e pode ser WDF_NO_OBJECT_ATTRIBUTES.

[out] Key

Um ponteiro para um local que recebe um identificador para o novo objeto de chave do Registro. O

Retornar valor

WdfDeviceOpenDevicemapKey retornará STATUS_SUCCESS se a operação for bem-sucedida. Caso contrário, o método poderá retornar um dos seguintes valores:

Código de retorno Descrição
STATUS_INVALID_DEVICE_REQUEST

WdfDeviceOpenDevicemapKey não foi chamado em IRQL = PASSIVE_LEVEL.

STATUS_INVALID_PARAMETER
Um parâmetro inválido foi especificado. Para UMDF, esse valor retornado pode indicar direitos de acesso insuficientes.
STATUS_INSUFFICIENT_RESOURCES
Não foi possível alocar um objeto de chave do Registro.
STATUS_OBJECT_NAME_NOT_FOUND
A chave do Registro especificada não existe.
 

Para obter uma lista de outros valores retornados que o método WdfDeviceOpenDevicemapKey pode retornar, consulte Erros de criação de objeto de estrutura.

O método pode retornar outros valores NTSTATUS.

Um bug marcar ocorrerá se o driver fornecer um identificador de objeto inválido.

Comentários

O registro contém uma chaveHKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP que alguns drivers para tecnologias mais antigas, como portas seriais e paralelas, usam. Se o driver der suporte a uma tecnologia que usa a chave DEVICEMAP , o driver poderá acessar subchaves e valores sob a chave chamando WdfDeviceOpenDevicemapKey.

WdfDeviceOpenDevicemapKey retorna uma chave volátil. Isso significa que as informações não são preservadas quando o hive do Registro correspondente é descarregado.

Quando o driver terminar de usar a chave do Registro que abriu com WdfDeviceOpenDevicemapKey, o driver deverá chamar WdfRegistryClose.

Para obter mais informações sobre o registro, as chaves de hardware e software e os objetos do Registro, consulte Usando o Registro em drivers de Framework-Based.

Requisitos

Requisito Valor
Plataforma de Destino Universal
Versão mínima do KMDF 1.15
Versão mínima do UMDF 2.15
Cabeçalho wdfdevice.h (inclua Wdf.h)
Biblioteca Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF)
IRQL PASSIVE_LEVEL

Confira também

WdfDeviceOpenRegistryKey

WdfFdoInitOpenRegistryKey