estrutura SI_OBJECT_INFO (aclui.h)
A estrutura SI_OBJECT_INFO é usada pelo método ISecurityInformation::GetObjectInformation para especificar as informações usadas para inicializar o editor de controle de acesso.
Sintaxe
typedef struct _SI_OBJECT_INFO {
DWORD dwFlags;
HINSTANCE hInstance;
LPWSTR pszServerName;
LPWSTR pszObjectName;
LPWSTR pszPageTitle;
GUID guidObjectType;
} SI_OBJECT_INFO, *PSI_OBJECT_INFO;
Membros
dwFlags
Um conjunto de sinalizadores de bits que determinam as opções de edição disponíveis para o usuário. Esse membro pode ser uma combinação dos valores a seguir.
Valor | Significado |
---|---|
|
Se esse sinalizador estiver definido, o botão Avançado será exibido na página de propriedades de segurança básica. Se o usuário clicar nesse botão, o sistema exibirá uma folha de propriedades de segurança avançada que permite a edição avançada da DACL ( lista de controle de acesso discricionário ) do objeto.
Combine esse sinalizador com os sinalizadores SI_EDIT_AUDITS, SI_EDIT_OWNER e SI_EDIT_PROPERTIES para habilitar a edição das ACEs ( entradas de controle de acesso ) sacl, proprietário e objeto específico do objeto. |
|
Se esse sinalizador estiver definido, um escudo será exibido no botão Editar das páginas de Auditoria avançadas. Para objetos NTFS, esse sinalizador é solicitado quando o usuário não tem acesso READ_CONTROL ou ACCESS_SYSTEM_SECURITY .
Windows Server 2003 e Windows XP: Não há suporte para esse sinalizador. |
|
Indica que o objeto é um contêiner. Se esse sinalizador for definido, o editor de controle de acesso habilitará os controles relevantes para a herança de permissões em objetos filho. |
|
Se esse sinalizador for definido, o sistema desabilita a negação de uma ACE. Os clientes do editor de controle de acesso devem implementar a interface ISecurityInformation4 para definir esse sinalizador.
Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 e Windows XP: Não há suporte para esse sinalizador. |
|
Combina os sinalizadores SI_EDIT_PERMS, SI_EDIT_OWNER e SI_EDIT_AUDITS. |
|
Se esse sinalizador estiver definido e o usuário clicar no botão Avançado , o sistema exibirá uma folha de propriedades de segurança avançada que inclui uma página de propriedades auditoria para editar a SACL do objeto. Para exibir o botão Avançado , defina o sinalizador SI_ADVANCED. |
|
Se esse sinalizador estiver definido, a página Permissões Efetivas será exibida. Esse sinalizador será ignorado se o objeto ISecurityInformation que inicializou o editor de controle de acesso não implementar a interface IEffectivePermission . |
|
Se esse sinalizador estiver definido e o usuário clicar no botão Avançado , o sistema exibirá uma folha de propriedades de segurança avançada que inclui uma página de propriedades Owner para alterar o proprietário do objeto. Para exibir o botão Avançado , defina o sinalizador SI_ADVANCED. |
|
Esse é o valor padrão. A página de propriedades de segurança básica sempre exibe os controles para edição básica da DACL do objeto. Para desabilitar esses controles, defina o sinalizador SI_READONLY. |
|
Se esse sinalizador estiver definido, o sistema habilitará os controles para edição de ACEs que se aplicam aos conjuntos de propriedades e propriedades do objeto. Esses controles estão disponíveis somente na folha de propriedades exibida quando o usuário clica no botão Avançado . |
|
Se esse sinalizador estiver definido, o sistema habilitará a edição de atributos. Os clientes do editor de controle de acesso devem implementar a interface ISecurityInformation4 para definir esse sinalizador.
Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 e Windows XP: Não há suporte para esse sinalizador. |
|
Se esse sinalizador estiver definido, o sistema habilitará a edição de atributos. Os clientes do editor de controle de acesso devem implementar a interface ISecurityInformation4 para definir esse sinalizador.
Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 e Windows XP: Não há suporte para esse sinalizador. |
|
Indica que o editor de controle de acesso não pode ler a DACL, mas pode ser capaz de gravar na DACL. Se uma chamada para o método ISecurityInformation::GetSecurity retornar AccessDenied, o usuário poderá tentar adicionar uma nova ACE e um aviso mais apropriado será exibido. |
|
Se esse sinalizador estiver definido, o editor de controle de acesso ocultará a caixa marcar que permite que ACEs herdáveis se propaguem do objeto pai para esse objeto. Se esse sinalizador não estiver definido, a caixa marcar ficará visível.
A caixa marcar será desmarcada se o sinalizador SE_DACL_PROTECTED estiver definido no descritor de segurança do objeto. Nesse caso, a DACL do objeto é protegida contra modificação por ACEs herdáveis. Se o usuário desmarcar a caixa marcar, todos os ACEs herdados no descritor de segurança serão excluídos ou convertidos em ACEs não herdadas. Antes de prosseguir com essa conversão, o sistema exibe uma caixa de mensagem de aviso para confirmar a alteração. |
|
Se esse sinalizador estiver definido, o editor de controle de acesso ocultará a guia Permissões Especiais na página Configurações de Segurança Avançadas . |
|
Se esse sinalizador estiver definido, o editor de controle de acesso ocultará a caixa marcar que controla o sinalizador NO_PROPAGATE_INHERIT_ACE. Esse sinalizador é relevante somente quando o sinalizador SI_ADVANCED também está definido. |
|
Quando definido, indica que o membro guidObjectType da estrutura SI_OBJECT_INFO é válido. Isso é definido em comparações com ACEs específicas do objeto para determinar se o ACE se aplica ao objeto atual. |
|
Se esse sinalizador estiver definido, um escudo será exibido no botão Editar da página Proprietário avançada. Para objetos NTFS, esse sinalizador é solicitado quando o usuário não tem acesso WRITE_OWNER . Esse sinalizador só será válido se a página do proprietário for solicitada.
Windows Server 2003 e Windows XP: Não há suporte para esse sinalizador. |
|
Se esse sinalizador estiver definido, o usuário não poderá alterar o proprietário do objeto. Defina esse sinalizador se SI_EDIT_OWNER estiver definido, mas o usuário não tiver permissão para alterar o proprietário. |
|
Combine esse sinalizador com SI_CONTAINER para exibir uma caixa de marcar na página do proprietário que indica se o usuário pretende que o novo proprietário seja aplicado a todos os objetos filho, bem como ao objeto atual. O editor de controle de acesso não executa a recursão; a recursão deve ser executada pelo aplicativo em ISecurityInformation::SetSecurity. |
|
Se esse sinalizador for definido, o membro pszPageTitle será usado como o título da página de propriedades de segurança básica. Caso contrário, um título padrão será usado. |
|
Se esse sinalizador estiver definido, uma imagem de um escudo será exibida no botão Editar das páginas permissões simples e avançadas . Para objetos NTFS, esse sinalizador é solicitado quando o usuário não tem acesso READ_CONTROL ou WRITE_DAC .
Windows Server 2003 e Windows XP: Não há suporte para esse sinalizador. |
|
Se esse sinalizador estiver definido, o editor exibirá as informações de segurança do objeto, mas os controles para editar as informações serão desabilitados.
Esse sinalizador não pode ser combinado com o sinalizador SI_VIEW_ONLY . |
|
Se esse sinalizador estiver definido, o botão Padrão será exibido. Se o usuário clicar nesse botão, o editor de controle de acesso chamará o método ISecurityInformation::GetSecurity para recuperar um descritor de segurança padrão definido pelo aplicativo. O editor de controle de acesso usa esse descritor de segurança para reinicializar a folha de propriedades e o usuário tem permissão para aplicar a alteração ou cancelar. |
|
Quando definido, esse sinalizador exibe o botão Redefinir Padrões na página Permissões . |
|
Quando definido, esse sinalizador exibe as permissões Redefinir em todos os objetos filho e habilita a propagação de permissões herdáveis marcar caixa na página Permissões da janela Configurações do Controle de Acesso. Se essa caixa marcar for selecionada quando o usuário clicar no botão Aplicar, uma operação OR bit a bit será executada no parâmetro SecurityInformation de ISecurityInformation::SetSecurity com SI_RESET_DACL_TREE. Essa função não redefine as permissões e habilita a propagação de permissões herdáveis; a implementação de ISecurityInformation deve fazer isso. |
|
Quando definido, esse sinalizador exibe o botão Redefinir Padrões na página Proprietário . |
|
Quando definido, esse sinalizador exibe o botão Redefinir Padrões na página Auditoria . |
|
Quando definido, esse sinalizador exibe a caixa Redefinir entradas de auditoria em todos os objetos filho e permite a propagação das entradas de auditoria herdáveis marcar caixa na página Auditoria da janela Configurações do Controle de Acesso. Se essa caixa marcar for selecionada quando o usuário clicar no botão Aplicar, uma operação OR bit a bit será executada no parâmetro SecurityInformation de ISecurityInformation::SetSecurity com SI_RESET_SACL_TREE. Essa função não redefine as permissões e habilita a propagação de permissões herdáveis; a implementação de ISecurityInformation deve fazer isso. |
|
Se esse sinalizador for definido, uma imagem de um escudo será exibida no botão Alterar do atributo Scope. Para objetos NTFS, esse sinalizador é solicitado quando o usuário não tem acesso READ_CONTROL ou WRITE_DAC. Os clientes do editor de controle de acesso devem implementar a interface ISecurityInformation4 para definir esse sinalizador.
Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 e Windows XP: Não há suporte para esse sinalizador. |
|
Defina esse sinalizador se o computador pszServerName for conhecido por ser um controlador de domínio. Se esse sinalizador estiver definido, o nome de domínio será incluído na lista de escopo da caixa de diálogo Adicionar Usuários e Grupos . Caso contrário, o computador pszServerName será usado para determinar a lista de escopo da caixa de diálogo. |
|
Esse sinalizador é definido pelo cliente do editor de controle de acesso para exibir versões somente leitura das caixas de diálogo do editor de controle de acesso. Essas versões das caixas de diálogo não permitem a edição das permissões do objeto associado. Os clientes do editor de controle de acesso devem implementar a interface ISecurityInformation3 para definir esse sinalizador.
Esse sinalizador não pode ser combinado com o sinalizador SI_READONLY . Windows Server 2003 e Windows XP: Não há suporte para esse sinalizador. |
hInstance
Identifica um módulo que contém recursos de cadeia de caracteres a serem usados na folha de propriedades. Os métodos ISecurityInformation::GetAccessRights e ISecurityInformation::GetInheritTypes podem especificar identificadores de recurso de cadeia de caracteres para nomes de exibição.
pszServerName
Um ponteiro para uma cadeia de caracteres Unicode terminada em nulo que nomeia o computador no qual pesquisar nomes de conta e SIDs. Esse valor pode ser NULL para especificar o computador local. O editor de controle de acesso não libera esse ponteiro.
pszObjectName
Um ponteiro para uma cadeia de caracteres Unicode terminada em nulo que nomeia o objeto que está sendo editado. Esse nome aparece no título da folha de propriedades de segurança avançada e nas caixas de mensagem de erro exibidas pelo editor de controle de acesso. O editor de controle de acesso não libera esse ponteiro.
pszPageTitle
Um ponteiro para uma cadeia de caracteres Unicode terminada em nulo usada como o título da página de propriedades de segurança básica. Esse membro é ignorado, a menos que o sinalizador SI_PAGE_TITLE seja definido em dwFlags. Se o título da página não for fornecido, um título padrão será usado. O editor de controle de acesso não libera esse ponteiro.
guidObjectType
Um GUID para o objeto . Esse membro é ignorado, a menos que o sinalizador SI_OBJECT_GUID seja definido em dwFlags.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows XP [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows Server 2003 [somente aplicativos da área de trabalho] |
Cabeçalho | aclui.h |
Confira também
ISecurityInformation::GetAccessRights
ISecurityInformation::GetInheritTypes
ISecurityInformation::GetObjectInformation