Acceso seguro a las claves del Registro
Los problemas del cliente se han rastreado con frecuencia a componentes externos, como aplicaciones de instalación de dispositivos de terceros, que hacen lo siguiente:
Elimine las claves críticas del Registro.
Modifique los permisos de acceso de las claves críticas del Registro.
Muchos de los problemas detectados con componentes externos se deben a usar el permiso de acceso KEY_ALL_ACCESS para las claves del Registro. A partir de Windows Server 2003, SetupDiCreateDevRegKey solo concede permisos de acceso KEY_READ y KEY_WRITE y no KEY_ALL_ACCESS. A partir de Windows Vista, se aplican restricciones de KEY_ALL_ACCESS adicionales.
Siga estas instrucciones para acceder de forma segura a las claves del Registro:
Use solo setupAPI, las funciones de Configuration Manager y otras API relacionadas con dispositivos compatibles para abrir claves del Registro de dispositivos, especialmente las claves de hardware y las claves de software de un dispositivo.
Estas funciones abordan problemas comunes que resultan de restricciones en los permisos de acceso.
La ubicación y el formato de las claves del Registro pueden cambiar entre diferentes versiones de Windows. No realice suposiciones sobre la ubicación, el formato ni el significado de las claves o valores del Registro que se usan para la instalación del dispositivo y del controlador.
Para obtener más información sobre las claves y árboles del Registro, vea Árboles y claves del Registro para dispositivos y controladores.
No use el Registro para acceder directamente o modificar la configuración interna del dispositivo.
Solicite solo los permisos de acceso mínimos necesarios para cada tarea, como los siguientes:
KEY_SET_VALUE
KEY_CREATE_SUB_KEY
KEY_QUERY_VALUE
KEY_ENUMERATE_SUB_KEYS
No abra directamente las claves de clase de configuración del dispositivo en el Registro. Al igual que con cualquier clave del Registro, la ubicación y el nombre de las claves de clase de configuración de dispositivo pueden cambiar entre las versiones de Windows. Para obtener información sobre cómo acceder correctamente a una clave de clase de configuración de dispositivo, consulte Apertura de claves del Registro para una clase de configuración de dispositivos.
No abra directamente las claves de clase de interfaz de dispositivo en el Registro. Al igual que con cualquier clave del Registro, la ubicación y el nombre de las claves de clase de interfaz de dispositivo pueden cambiar entre las versiones de Windows.
Para abrir las claves de clase de interfaz de dispositivo de forma segura, use CM_Open_Class_Key con la configuración CM_OPEN_CLASS_KEY_INTERFACE en el parámetro ulFlags o use SetupDiOpenClassRegKeyEx y establezca DIOCR_INSTALLER en el parámetro Flags .
Use solo directivas INF para modificar las claves del Registro reservadas para su uso por parte del sistema operativo. Para obtener más información, vea Resumen de directivas INF.
Los instaladores de clase y los co-instaladores no pueden llamar a funciones del Registro para crear, cambiar o eliminar valores del Registro reservados para su uso por el sistema operativo.
Para obtener más información sobre los permisos de acceso de las claves del Registro, consulte Derechos de acceso y seguridad de clave del Registro.