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 del dispositivo. Esta cadena se obtuvo de una llamada anterior a IoGetDeviceInterfaces, IoGetDeviceInterfaceAlias o 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 derecho de acceso KEY_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 encontrar una clave del Registro para la instancia de la interfaz de dispositivo, probablemente debido a un error en El valor de SymbolicLinkName.
STATUS_OBJECT_PATH_NOT_FOUND
La rutina no pudo encontrar una clave del Registro para la instancia de la interfaz de dispositivo, probablemente debido a un error en El valor de SymbolicLinkName.
STATUS_INVALID_PARAMETER
Posiblemente indica un error en SymbolicLinkName.

Comentarios

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 es necesario.

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

Requisitos

Requisito Value
Cliente mínimo compatible Disponible a partir de Windows 2000.
Plataforma de destino Universal
Encabezado wdm.h (incluya Wdm.h, Ntddk.h, Ntifs.h)
Library NtosKrnl.lib
Archivo DLL 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