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_ENUMERATE
DESKTOP_READOBJECTS
STANDARD_RIGHTS_READ
GENERIC_WRITE
DESKTOP_CREATEMENU
DESKTOP_CREATEWINDOW
DESKTOP_HOOKCONTROL
DESKTOP_JOURNALPLAYBACK
DESKTOP_JOURNALRECORD
DESKTOP_WRITEOBJECTS
STANDARD_RIGHTS_WRITE
GENERIC_EXECUTE
DESKTOP_SWITCHDESKTOP
STANDARD_RIGHTS_EXECUTE
GENERIC_ALL
DESKTOP_CREATEMENU
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.