Partilhar via


Direitos de segurança e acesso da área de trabalho

A segurança permite controlar o acesso a objetos da área de trabalho. Para obter mais informações sobre segurança, consulte Modelo de controle de acesso.

Você pode especificar um descritor de segurança para um objeto de área de trabalho ao chamar a função CreateDesktop ou CreateDesktopEx . Se você especificar NULL, a área de trabalho obterá um descritor de segurança padrão. As ACLs no descritor de segurança padrão para uma área de trabalho vêm de sua estação de janela pai.

Para obter ou definir o descritor de segurança de um objeto de estação de janela, chame as funções GetSecurityInfo e SetSecurityInfo .

Quando você chama a função OpenDesktop ou OpenInputDesktop , o sistema verifica os direitos de acesso solicitados no descritor de segurança do objeto.

Os direitos de acesso válidos para objetos da área de trabalho incluem os direitos de acesso padrão e alguns direitos de acesso específicos ao objeto. A tabela a seguir lista os direitos de acesso padrão usados por todos os objetos.

Valor Significado
DELETE (0x00010000L) Necessário para excluir o objeto.
READ_CONTROL (0x00020000L) Necessário para ler informações no descritor de segurança do objeto, não incluindo as informações na SACL. Para ler ou gravar a SACL, você deve solicitar o direito de acesso ACCESS_SYSTEM_SECURITY. Para obter mais informações, confira Direito de Acesso à SACL.
SYNCHRONIZE (0x00100000L) Sem suporte para objetos da área de trabalho.
WRITE_DAC (0x00040000L) Necessário para modificar a DACL no descritor de segurança do objeto.
WRITE_OWNER (0x00080000L) Necessário para alterar o proprietário no descritor de segurança para o objeto .

 

A tabela a seguir lista os direitos de acesso específicos ao objeto.

Direito de acesso Descrição
DESKTOP_CREATEMENU (0x0004L) Necessário para criar um menu na área de trabalho.
DESKTOP_CREATEWINDOW (0x0002L) Necessário para criar uma janela na área de trabalho.
DESKTOP_ENUMERATE (0x0040L) Necessário para que a área de trabalho seja enumerada.
DESKTOP_HOOKCONTROL (0x0008L) Necessário para estabelecer qualquer um dos ganchos de janela.
DESKTOP_JOURNALPLAYBACK (0x0020L) Necessário para executar a reprodução de diário em uma área de trabalho.
DESKTOP_JOURNALRECORD (0x0010L) Necessário para executar a gravação de diário em uma área de trabalho.
DESKTOP_READOBJECTS (0x0001L) Necessário para ler objetos na área de trabalho.
DESKTOP_SWITCHDESKTOP (0x0100L) Necessário para ativar a área de trabalho usando a função SwitchDesktop .
DESKTOP_WRITEOBJECTS (0x0080L) Necessário para gravar objetos na área de trabalho.

 

Veja a seguir os direitos de acesso genéricos para um objeto de área de trabalho contido na estação de janela interativa da sessão de logon do usuário.

Direito de acesso Descrição
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

 

Você pode solicitar o acesso ACCESS_SYSTEM_SECURITY direito a um objeto da área de trabalho se quiser ler ou gravar a SACL do objeto. Para obter mais informações, consulte ACLs (Listas de Controle de Acesso) e Direito de Acesso à SACL.