Compartir a través de


ACCESS_MASK

El tipo de datos ACCESS_MASK es un valor DWORD que define derechos estándar, específicos y genéricos. Estos derechos se usan en las entradas de control de acceso (ACE) y son los medios principales de especificar el acceso solicitado o concedido a un objeto.

typedef DWORD ACCESS_MASK;
typedef ACCESS_MASK* PACCESS_MASK;

Observaciones

Los bits de este valor se asignan de la siguiente manera:

bits Meaning
0-15 Derechos específicos. Contiene la máscara de acceso específica del tipo de objeto asociado a la máscara. Consulte Object-Specific Derechos de acceso para obtener vínculos a derechos de acceso para distintos tipos de objetos.
16-23 Derechos estándar. Contiene los derechos de acceso estándar del objeto.
veinticuatro Acceso a la seguridad del sistema (ACCESS_SYSTEM_SECURITY). Se usa para indicar el acceso a una lista de control de acceso del sistema (SACL). Este tipo de acceso requiere que el proceso de llamada tenga el privilegio SE_SECURITY_NAME (Administrar auditoría y registro de seguridad). Si esta marca se establece en la máscara de acceso de una ACE de acceso de auditoría (acceso correcto o incorrecto), se auditará el acceso SACL.
25 Máximo permitido (MAXIMUM_ALLOWED).
26-27 Reservado.
28 Todos genéricos (GENERIC_ALL).
29 Ejecución genérica (GENERIC_EXECUTE).
30 Escritura genérica (GENERIC_WRITE).
31 Lectura genérica (GENERIC_READ).

Los bits de derechos estándar, de 16 a 23, contienen los derechos de acceso estándar del objeto y pueden ser una combinación de las siguientes marcas predefinidas:

bit Flag Meaning
16 DELETE Elimina el acceso.
17 READ_CONTROL Acceso de lectura al propietario, grupo y lista de control de acceso discrecional (DACL) del descriptor de seguridad.
18 WRITE_DAC Acceso de escritura a la DACL.
19 WRITE_OWNER Acceso de escritura al propietario.
20 SYNCHRONIZE Sincronizar el acceso.

Las siguientes constantes definidas en Winnt.h representan los derechos de acceso específicos y estándar.

#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)

Derechos de acceso de Object-Specific

Los 16 bits bajos (bits 0-15) de la ACCESS_MASK se usan para los derechos de acceso específicos del objeto. El significado de estos bits depende del tipo de objeto al que se accede. Para obtener información detallada sobre los derechos de acceso para tipos de objetos específicos, consulte los temas siguientes:

Tipos de objetos comunes

  • Archivos y directorios - Constantes de derechos de acceso a archivos
    Define derechos de acceso específicos, como FILE_READ_DATA, FILE_WRITE_DATA, FILE_APPEND_DATA, FILE_EXECUTE, FILE_DELETE_CHILD, FILE_READ_ATTRIBUTES y FILE_WRITE_ATTRIBUTES.
  • Claves - del RegistroDerechos de acceso y seguridad de clave del Registro Define derechos de acceso específicos, como KEY_QUERY_VALUE, KEY_SET_VALUE, KEY_CREATE_SUB_KEY, KEY_ENUMERATE_SUB_KEYS y KEY_NOTIFY.
  • Procesos - Derechos de seguridad y acceso de procesos
    Define derechos de acceso específicos, como PROCESS_TERMINATE, PROCESS_CREATE_THREAD, PROCESS_VM_OPERATION, PROCESS_VM_READ, PROCESS_VM_WRITE, PROCESS_QUERY_INFORMATION y PROCESS_SET_INFORMATION.
  • Hilos - Derechos de acceso y seguridad de subprocesos
    Define derechos de acceso específicos, como THREAD_TERMINATE, THREAD_SUSPEND_RESUME, THREAD_GET_CONTEXT, THREAD_SET_CONTEXT, THREAD_QUERY_INFORMATION y THREAD_SET_INFORMATION.

Tipos de objetos adicionales

Para obtener una lista completa de objetos protegibles y sus derechos de acceso, consulte Derechos de acceso y Máscaras de acceso.

Requisitos

Requirement Importancia
Cliente mínimo compatible Windows XP [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2003 [solo aplicaciones de escritorio]
Header Winnt.h (incluir Windows.h)

Control de acceso

Estructuras básicas de control de acceso

Derechos de acceso y máscaras de acceso

GENERIC_MAPPING