SECURITY_DESCRIPTOR_CONTROL

O tipo de dados SECURITY_DESCRIPTOR_CONTROL é um conjunto de sinalizadores de bits que qualificam o significado de um descritor de segurança ou seus componentes. Cada descritor de segurança tem um membro control que armazena os bits SECURITY_DESCRIPTOR_CONTROL .

typedef WORD SECURITY_DESCRIPTOR_CONTROL, *PSECURITY_DESCRIPTOR_CONTROL;

Comentários

Para obter os bits de controle de um descritor de segurança, chame a função GetSecurityDescriptorControl . Para definir os bits de controle de um descritor de segurança, use as funções para modificar descritores de segurança. Para obter uma lista dessas funções, consulte a seção Consulte Também.

Os aplicativos podem usar a função SetSecurityDescriptorControl para definir os bits de controle relacionados à herança automática de ACEs.

O valor de controle recuperado pela função GetSecurityDescriptorControl pode incluir uma combinação dos sinalizadores de bits SECURITY_DESCRIPTOR_CONTROL a seguir.

Valor Significado
SE_DACL_AUTO_INHERIT_REQ
0x0100
Indica um descritor de segurança necessário no qual a DACL (lista de controle de acesso discricionário ) é configurada para dar suporte à propagação automática de ACEs (entradas de controle de acesso herdáveis) para objetos filho existentes.
Para ACLs ( listas de controle de acesso ) que dão suporte à herança automática, esse bit sempre é definido. Os servidores protegidos podem chamar a função ConvertToAutoInheritPrivateObjectSecurity para converter um descritor de segurança e definir esse sinalizador.
SE_DACL_AUTO_INHERITED
0x0400
Indica um descritor de segurança no qual a DACL (lista de controle de acesso discricionário ) é configurada para dar suporte à propagação automática de ACEs (entradas de controle de acesso herdáveis) para objetos filho existentes.
Para ACLs ( listas de controle de acesso ) que dão suporte à herança automática, esse bit sempre é definido. Os servidores protegidos podem chamar a função ConvertToAutoInheritPrivateObjectSecurity para converter um descritor de segurança e definir esse sinalizador.
SE_DACL_DEFAULTED
0x0008
Indica um descritor de segurança com uma DACL padrão. Por exemplo, se o criador de um objeto não especificar uma DACL, o objeto receberá a DACL padrão do token de acesso do criador. Esse sinalizador pode afetar a forma como o sistema trata a DACL em relação à herança ACE. O sistema ignorará esse sinalizador se o sinalizador de SE_DACL_PRESENT não estiver definido.
Esse sinalizador é usado para determinar como a DACL final no objeto deve ser computada e não é armazenada fisicamente no controle do descritor de segurança do objeto protegível.
Para definir esse sinalizador, use a função SetSecurityDescriptorDacl .
SE_DACL_PRESENT
0x0004
Indica um descritor de segurança que tem uma DACL. Se esse sinalizador não estiver definido ou se esse sinalizador estiver definido e a DACL for NULL, o descritor de segurança permitirá acesso total a todos.
Esse sinalizador é usado para manter as informações de segurança especificadas por um chamador até que o descritor de segurança esteja associado a um objeto protegível. Depois que o descritor de segurança estiver associado a um objeto protegível, o sinalizador SE_DACL_PRESENT sempre será definido no controle do descritor de segurança.
Para definir esse sinalizador, use a função SetSecurityDescriptorDacl .
SE_DACL_PROTECTED
0x1000
Impede que a DACL do descritor de segurança seja modificada por ACEs herdáveis. Para definir esse sinalizador, use a função SetSecurityDescriptorControl .
SE_GROUP_DEFAULTED
0x0002
Indica que o SID ( identificador de segurança ) do grupo de descritores de segurança foi fornecido por um mecanismo padrão. Esse sinalizador pode ser usado por um gerenciador de recursos para identificar objetos cujo grupo de descritores de segurança foi definido por um mecanismo padrão. Para definir esse sinalizador, use a função SetSecurityDescriptorGroup .
SE_OWNER_DEFAULTED
0x0001
Indica que o SID do proprietário do descritor de segurança foi fornecido por um mecanismo padrão. Esse sinalizador pode ser usado por um gerenciador de recursos para identificar objetos cujo proprietário foi definido por um mecanismo padrão. Para definir esse sinalizador, use a função SetSecurityDescriptorOwner .
SE_RM_CONTROL_VALID
0x4000
Indica que o controle do gerenciador de recursos é válido.
SE_SACL_AUTO_INHERIT_REQ
0x0200
Indica um descritor de segurança necessário no qual a SACL ( lista de controle de acesso do sistema ) está configurada para dar suporte à propagação automática de ACEs herdáveis para objetos filho existentes.
O sistema define esse bit quando executa o algoritmo de herança automática para o objeto e seus objetos filho existentes. Para converter um descritor de segurança e definir esse sinalizador, os servidores protegidos podem chamar a função ConvertToAutoInheritPrivateObjectSecurity .
SE_SACL_AUTO_INHERITED
0x0800
Indica um descritor de segurança no qual a SACL ( lista de controle de acesso do sistema ) é configurada para dar suporte à propagação automática de ACEs herdáveis para objetos filho existentes.
O sistema define esse bit quando executa o algoritmo de herança automática para o objeto e seus objetos filho existentes. Para converter um descritor de segurança e definir esse sinalizador, os servidores protegidos podem chamar a função ConvertToAutoInheritPrivateObjectSecurity .
SE_SACL_DEFAULTED
0x0008
Um mecanismo padrão, em vez do provedor original do descritor de segurança, forneceu o SACL. Esse sinalizador pode afetar a forma como o sistema trata o SACL em relação à herança ACE. O sistema ignorará esse sinalizador se o sinalizador de SE_SACL_PRESENT não estiver definido. Para definir esse sinalizador, use a função SetSecurityDescriptorSacl .
SE_SACL_PRESENT
0x0010
Indica um descritor de segurança que tem um SACL. Para definir esse sinalizador, use a função SetSecurityDescriptorSacl .
SE_SACL_PROTECTED
0x2000
Impede que o SACL do descritor de segurança seja modificado por ACEs herdáveis. Para definir esse sinalizador, use a função SetSecurityDescriptorControl .
SE_SELF_RELATIVE
0x8000
Indica um descritor de segurança auto-relativo. Se esse sinalizador não estiver definido, o descritor de segurança estará em formato absoluto. Para obter mais informações, consulte Descritores de Segurança Absolutos e Self-Relative.

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
Winnt.h (inclua Windows.h)

Confira também

Controle de Acesso de baixo nível

Estruturas de Controle de Acesso básicas

ConvertToAutoInheritPrivateObjectSecurity

GetSecurityDescriptorControl

GetSecurityDescriptorDacl

GetSecurityDescriptorGroup

GetSecurityDescriptorOwner

GetSecurityDescriptorSacl

SetSecurityDescriptorControl

SetSecurityDescriptorDacl

SetSecurityDescriptorGroup

SetSecurityDescriptorOwner

SetSecurityDescriptorSacl