Editor Controle de Acesso

O editor de controle de acesso é um conjunto de folhas de propriedades e páginas de propriedades que permitem que o usuário exiba e modifique os componentes do descritor de segurança de um objeto. O editor consiste em duas partes main:

A função CreateSecurityPage cria a página de propriedades básicas de segurança. Em seguida, você pode usar a função PropertySheet ou a mensagem PSM_ADDPAGE para adicionar esta página a uma folha de propriedades.

Como alternativa, você pode usar a função EditSecurity para exibir uma folha de propriedades que contém a página de propriedades de segurança básica.

Para CreateSecurityPage e EditSecurity, o chamador deve passar um ponteiro para uma implementação da interface ISecurityInformation . O editor de controle de acesso chama os métodos dessa interface para recuperar informações de controle de acesso sobre o objeto que está sendo editado e para passar a entrada do usuário de volta para seu aplicativo. Os métodos ISecurityInformation têm as seguintes finalidades:

  • Para inicializar as páginas de propriedades.

    Sua implementação do método GetObjectInformation passa uma estrutura SI_OBJECT_INFO para o editor. Essa estrutura especifica as páginas de propriedades que você deseja que o editor exiba e outras informações que determinam as opções de edição disponíveis para o usuário.

  • Para fornecer informações de segurança sobre o objeto que está sendo editado.

    Sua implementação GetSecurity passa o descritor de segurança inicial do objeto para o editor. Os métodos GetAccessRights e MapGeneric fornecem informações sobre os direitos de acesso do objeto. O método GetInheritTypes fornece informações sobre como os ACEs do objeto podem ser herdados por objetos filho.

  • Para passar a entrada do usuário de volta para seu aplicativo.

    Quando o usuário clica em Ok ou Aplicar, o editor chama seu método SetSecurity para passar um descritor de segurança contendo as alterações do usuário.