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_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 |
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.