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 entradas de control de acceso (ACE) y son los medios principales para especificar el acceso solicitado o concedido a un objeto.

typedef DWORD ACCESS_MASK;
typedef ACCESS_MASK* PACCESS_MASK;

Comentarios

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

Bits Significado
0 15
Derechos específicos. Contiene la máscara de acceso específica del tipo de objeto asociado a la máscara.
16 23
Derechos estándar. Contiene los derechos de acceso estándar del objeto.
24
Seguridad del sistema de acceso (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 Marca Significado
16
DELETE
Elimine el acceso.
17
READ_CONTROL
Lea el acceso 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
SINCRONIZAR
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)

Requisitos

Requisito Value
Cliente mínimo compatible
Windows XP [solo aplicaciones de escritorio]
Servidor mínimo compatible
Windows Server 2003 [solo aplicaciones de escritorio]
Encabezado
Winnt.h (incluye Windows.h)

Consulte también

Control de acceso

Estructuras básicas de Access Control

Derechos de acceso y máscaras de acceso

GENERIC_MAPPING