Derechos de acceso y seguridad de escritorio
La seguridad le permite controlar el acceso a objetos de escritorio. Para obtener más información sobre la seguridad, vea Modelo de control de acceso.
Puede especificar un descriptor de seguridad para un objeto de escritorio al llamar a la función CreateDesktop o CreateDesktopEx . Si especifica NULL, el escritorio obtiene un descriptor de seguridad predeterminado. Las ACL del descriptor de seguridad predeterminado para un escritorio proceden de su estación de ventana principal.
Para obtener o establecer el descriptor de seguridad de un objeto de estación de ventana, llame a las funciones GetSecurityInfo y SetSecurityInfo .
Al llamar a la función OpenDesktop o OpenInputDesktop , el sistema comprueba los derechos de acceso solicitados en el descriptor de seguridad del objeto.
Los derechos de acceso válidos para los objetos de escritorio incluyen los derechos de acceso estándar y algunos derechos de acceso específicos del objeto. En la tabla siguiente se enumeran los derechos de acceso estándar utilizados por todos los objetos.
Valor | Significado |
---|---|
DELETE (0x00010000L) | Necesario para eliminar el objeto. |
READ_CONTROL (0x00020000L) | Se requiere para leer información en el descriptor de seguridad del objeto, sin incluir la información en sacl. Para leer o escribir la SACL, debe solicitar el derecho de acceso ACCESS_SYSTEM_SECURITY. Para obtener más información, consulte Derecho de acceso SACL. |
SYNCHRONIZE (0x00100000L) | No se admite para objetos de escritorio. |
WRITE_DAC (0x00040000L) | Necesario para modificar la DACL en el descriptor de seguridad del objeto . |
WRITE_OWNER (0x00080000L) | Necesario para cambiar el propietario en el descriptor de seguridad del objeto. |
En la tabla siguiente se enumeran los derechos de acceso específicos del objeto.
Derecho de acceso | Descripción |
---|---|
DESKTOP_CREATEMENU (0x0004L) | Necesario para crear un menú en el escritorio. |
DESKTOP_CREATEWINDOW (0x0002L) | Necesario para crear una ventana en el escritorio. |
DESKTOP_ENUMERATE (0x0040L) | Necesario para que se enumere el escritorio. |
DESKTOP_HOOKCONTROL (0x0008L) | Necesario para establecer cualquiera de los enlaces de ventana. |
DESKTOP_JOURNALPLAYBACK (0x0020L) | Necesario para realizar la reproducción del diario en un escritorio. |
DESKTOP_JOURNALRECORD (0x0010L) | Necesario para realizar la grabación del diario en un escritorio. |
DESKTOP_READOBJECTS (0x0001L) | Se requiere para leer objetos en el escritorio. |
DESKTOP_SWITCHDESKTOP (0x0100L) | Necesario para activar el escritorio mediante la función SwitchDesktop . |
DESKTOP_WRITEOBJECTS (0x0080L) | Necesario para escribir objetos en el escritorio. |
A continuación se muestran los derechos de acceso genéricos para un objeto de escritorio contenido en la estación de ventana interactiva de la sesión de inicio de sesión del usuario.
Derecho de acceso | Descripción |
---|---|
GENERIC_READ |
DESKTOP_READOBJECTS STANDARD_RIGHTS_READ |
GENERIC_WRITE |
DESKTOP_CREATEWINDOW DESKTOP_HOOKCONTROL DESKTOP_JOURNALPLAYBACK DESKTOP_JOURNALRECORD DESKTOP_WRITEOBJECTS STANDARD_RIGHTS_WRITE |
GENERIC_EXECUTE |
STANDARD_RIGHTS_EXECUTE |
GENERIC_ALL |
DESKTOP_CREATEWINDOW DESKTOP_ENUMERATE DESKTOP_HOOKCONTROL DESKTOP_JOURNALPLAYBACK DESKTOP_JOURNALRECORD DESKTOP_READOBJECTS DESKTOP_SWITCHDESKTOP DESKTOP_WRITEOBJECTS STANDARD_RIGHTS_REQUIRED |
Puede solicitar el derecho de acceso ACCESS_SYSTEM_SECURITY a un objeto de escritorio si desea leer o escribir la SACL del objeto. Para obtener más información, consulte Listas de control de acceso (ACL) y Derecho de acceso SACL.