Compartilhar via


Função IoOpenDeviceInterfaceRegistryKey (wdm.h)

A rotina IoOpenDeviceInterfaceRegistryKey retorna um identificador para uma chave do Registro para armazenar informações sobre uma instância específica da interface do dispositivo.

Sintaxe

NTSTATUS IoOpenDeviceInterfaceRegistryKey(
  [in]  PUNICODE_STRING SymbolicLinkName,
  [in]  ACCESS_MASK     DesiredAccess,
  [out] PHANDLE         DeviceInterfaceRegKey
);

Parâmetros

[in] SymbolicLinkName

Ponteiro para uma cadeia de caracteres que identifica a instância da interface do dispositivo. Essa cadeia de caracteres foi obtida de uma chamada anterior para IoGetDeviceInterfaces, IoGetDeviceInterfaceAlias ou IoRegisterDeviceInterface.

[in] DesiredAccess

Especifica o valor ACCESS_MASK que representa o acesso que o chamador requer à chave, como KEY_READ, KEY_WRITE ou KEY_ALL_ACCESS. Consulte ZwCreateKey para obter uma descrição de cada KEY_XXX acesso direito.

[out] DeviceInterfaceRegKey

Ponteiro para um identificador retornado para a chave do Registro solicitada se a chamada for bem-sucedida.

Retornar valor

IoOpenDeviceInterfaceRegistryKey retornará STATUS_SUCCESS se a chamada tiver sido bem-sucedida. Os valores de retorno de erro possíveis incluem o seguinte.

Código de retorno Descrição
STATUS_OBJECT_NAME_NOT_FOUND
A rotina não foi capaz de localizar uma chave do Registro para a instância da interface do dispositivo, provavelmente devido a um erro no SymbolicLinkName.
STATUS_OBJECT_PATH_NOT_FOUND
A rotina não foi capaz de localizar uma chave do Registro para a instância da interface do dispositivo, provavelmente devido a um erro no SymbolicLinkName.
STATUS_INVALID_PARAMETER
Possivelmente indica um erro no SymbolicLinkName.

Comentários

IoOpenDeviceInterfaceRegistryKey abre uma subchave nãovolatile da chave do Registro para a instância de interface do dispositivo especificada por SymbolicLinkName. Os drivers podem armazenar informações nessa subchave específicas para essa instância da interface do dispositivo, como a resolução padrão de uma câmera. Os aplicativos no modo de usuário podem acessar essa subchave usando rotinas SetupDiXxx .

O driver deve chamar ZwClose para fechar o identificador retornado dessa rotina quando o acesso não for mais necessário.

Os chamadores de IoOpenDeviceInterfaceRegistryKey devem estar em execução em IRQL = PASSIVE_LEVEL no contexto de um thread do sistema.

Requisitos

Requisito Valor
Cliente mínimo com suporte Disponível a partir do Windows 2000.
Plataforma de Destino Universal
Cabeçalho wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)
Biblioteca NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL (consulte a seção Comentários)
Regras de conformidade de DDI HwStorPortProhibitedDIs(storport), PowerIrpDDis(wdm)

Confira também

ACCESS_MASK

IoGetDeviceInterfaceAlias

IoGetDeviceInterfaces

IoRegisterDeviceInterface

ZwClose