Compartilhar via


ACCESS_MASK

O tipo de dados ACCESS_MASK é um valor DWORD que define direitos padrão, específicos e genéricos. Esses direitos são usados em ACEs ( entradas de controle de acesso ) e são os principais meios de especificar o acesso solicitado ou concedido a um objeto.

typedef DWORD ACCESS_MASK;
typedef ACCESS_MASK* PACCESS_MASK;

Observações

Os bits nesse valor são alocados da seguinte maneira:

Bits Meaning
0-15 Direitos específicos. Contém a máscara de acesso específica ao tipo de objeto associado à máscara. Consulte Object-Specific Direitos de Acesso para obter links para direitos de acesso para diferentes tipos de objeto.
16-23 Direitos padrão. Contém os direitos de acesso padrão do objeto.
24 Acessar a segurança do sistema (ACCESS_SYSTEM_SECURITY). Ele é usado para indicar o acesso a uma SACL ( lista de controle de acesso do sistema ). Esse tipo de acesso requer que o processo de chamada tenha o privilégio SE_SECURITY_NAME (Gerenciar auditoria e log de segurança). Se esse sinalizador estiver definido na máscara de acesso de um ACE de acesso de auditoria (acesso bem-sucedido ou mal-sucedido), o acesso sacl será auditado.
vinte e cinco Máximo permitido (MAXIMUM_ALLOWED).
26-27 Reservado.
28 Todos genéricos (GENERIC_ALL).
29 Execução genérica (GENERIC_EXECUTE).
30 Gravação genérica (GENERIC_WRITE).
31 Leitura genérica (GENERIC_READ).

Os bits de direitos padrão, de 16 a 23 anos, contêm os direitos de acesso padrão do objeto e podem ser uma combinação dos seguintes sinalizadores predefinidos:

bit Flag Meaning
16 DELETE Excluir o acesso.
17 READ_CONTROL Leia o acesso ao proprietário, ao grupo e à DACL (lista de controle de acesso discricionário ) do descritor de segurança.
18 WRITE_DAC Gravar acesso à DACL.
19 WRITE_OWNER Gravar o acesso ao proprietário.
20 SINCRONIZAR Sincronizar o acesso.

As constantes a seguir definidas no Winnt.h representam os direitos de acesso específicos e padrão.

#define DELETE                           (0x00010000L)
#define READ_CONTROL                     (0x00020000L)
#define WRITE_DAC                        (0x00040000L)
#define WRITE_OWNER                      (0x00080000L)
#define SYNCHRONIZE                      (0x00100000L)

#define STANDARD_RIGHTS_REQUIRED         (0x000F0000L)

#define STANDARD_RIGHTS_READ             (READ_CONTROL)
#define STANDARD_RIGHTS_WRITE            (READ_CONTROL)
#define STANDARD_RIGHTS_EXECUTE          (READ_CONTROL)

#define STANDARD_RIGHTS_ALL              (0x001F0000L)

#define SPECIFIC_RIGHTS_ALL              (0x0000FFFFL)

direitos de acesso do Object-Specific

Os 16 bits baixos (bits 0-15) do ACCESS_MASK são usados para direitos de acesso específicos ao objeto. O significado desses bits depende do tipo de objeto que está sendo acessado. Para obter informações detalhadas sobre direitos de acesso para tipos de objeto específicos, consulte os seguintes tópicos:

Tipos de objeto comuns

  • Arquivos e diretórios - Constantes de direitos de acesso a arquivos
    Define direitos de acesso específicos, como FILE_READ_DATA, FILE_WRITE_DATA, FILE_APPEND_DATA, FILE_EXECUTE, FILE_DELETE_CHILD, FILE_READ_ATTRIBUTES e FILE_WRITE_ATTRIBUTES.
  • Chaves - do RegistroDireitos de Acesso e Segurança de Chave do Registro Define direitos de acesso específicos, como KEY_QUERY_VALUE, KEY_SET_VALUE, KEY_CREATE_SUB_KEY, KEY_ENUMERATE_SUB_KEYS e KEY_NOTIFY.
  • Processos - Direitos de segurança e acesso do processo
    Define direitos de acesso específicos, como PROCESS_TERMINATE, PROCESS_CREATE_THREAD, PROCESS_VM_OPERATION, PROCESS_VM_READ, PROCESS_VM_WRITE, PROCESS_QUERY_INFORMATION e PROCESS_SET_INFORMATION.
  • Tópicos - Direitos de segurança e acesso do thread
    Define direitos de acesso específicos, como THREAD_TERMINATE, THREAD_SUSPEND_RESUME, THREAD_GET_CONTEXT, THREAD_SET_CONTEXT, THREAD_QUERY_INFORMATION e THREAD_SET_INFORMATION.

Tipos de objeto adicionais

Para obter uma lista abrangente de objetos protegíveis e seus direitos de acesso, consulte Direitos de Acesso e Máscaras de Acesso.

Requirements

Requirement Value
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]
Header Winnt.h (inclua Windows.h)

Controle de Acesso

Estruturas básicas de controle de acesso

Direitos de acesso e máscaras de acesso

GENERIC_MAPPING