Compartir a través de


Función IoOpenDeviceInterfaceRegistryKey (wdm.h)

La rutina IoOpenDeviceInterfaceRegistryKey devuelve un identificador a una clave del Registro para almacenar información sobre una instancia de interfaz de dispositivo determinada.

Sintaxis

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

Parámetros

[in] SymbolicLinkName

Puntero a una cadena que identifica la instancia de la interfaz de dispositivo. Esta cadena se obtuvo de una llamada anterior a IoGetDeviceInterfaces, IoGetDeviceInterfaceAliaso IoRegisterDeviceInterface.

[in] DesiredAccess

Especifica el valor de ACCESS_MASK que representa el acceso que requiere el autor de la llamada a la clave, como KEY_READ, KEY_WRITE o KEY_ALL_ACCESS. Consulte ZwCreateKey para obtener una descripción de cada KEY_derecho de acceso XXX.

[out] DeviceInterfaceRegKey

Puntero a un identificador devuelto a la clave del Registro solicitada si la llamada se realiza correctamente.

Valor devuelto

ioOpenDeviceInterfaceRegistryKey devuelve STATUS_SUCCESS si la llamada se realizó correctamente. Entre los posibles valores devueltos de error se incluyen los siguientes.

Código devuelto Descripción
STATUS_OBJECT_NAME_NOT_FOUND
La rutina no pudo localizar una clave del Registro para la instancia de la interfaz de dispositivo, probablemente debido a un error en el SymbolicLinkName.
STATUS_OBJECT_PATH_NOT_FOUND
La rutina no pudo localizar una clave del Registro para la instancia de la interfaz de dispositivo, probablemente debido a un error en el SymbolicLinkName.
STATUS_INVALID_PARAMETER
Posiblemente indica un error en el SymbolicLinkName.

Observaciones

ioOpenDeviceInterfaceRegistryKey abre una subclave no volátil de la clave del Registro para la instancia de interfaz de dispositivo especificada por SymbolicLinkName. Los controladores pueden almacenar información en esta subclave específica de esta instancia de la interfaz del dispositivo, como la resolución predeterminada de una cámara. Las aplicaciones en modo de usuario pueden acceder a esta subclave mediante rutinas setupDiXxx.

El controlador debe llamar a ZwClose para cerrar el identificador devuelto de esta rutina cuando el acceso ya no sea necesario.

Los autores de llamadas de ioOpenDeviceInterfaceRegistryKey deben ejecutarse en IRQL = PASSIVE_LEVEL en el contexto de un subproceso del sistema.

Requisitos

Requisito Valor
cliente mínimo admitido Disponible a partir de Windows 2000.
de la plataforma de destino de Universal
encabezado de wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)
biblioteca de NtosKrnl.lib
DLL de NtosKrnl.exe
irQL PASSIVE_LEVEL (consulte la sección Comentarios)
reglas de cumplimiento de DDI HwStorPortProhibitedDIs(storport), PowerIrpDDis(wdm)

Consulte también

ACCESS_MASK

IoGetDeviceInterfaceAlias

IoGetDeviceInterfaces

IoRegisterDeviceInterface

ZwClose