typedef struct _GENERIC_MAPPING { /* gm */
ACCESS_MASK GenericRead;
ACCESS_MASK GenericWrite;
ACCESS_MASK GenericExecute;
ACCESS_MASK GenericAll;
} GENERIC_MAPPING;
There is a mask for each generic right (the first entry corresponds to GENERIC_READ, next is GENERIC_WRITE, and last is GENERIC_EXECUTE). Each value denotes the standard and specific access rights that correspond to the generic right.
The following generic-to-standard access rights mappings are defined:
#define STANDARD_RIGHTS_READ (READ_CONTROL)
#define STANDARD_RIGHTS_WRITE (READ_CONTROL)
#define STANDARD_RIGHTS_EXECUTE (READ_CONTROL)
#define STANDARD_RIGHTS_ALL 0x001F0000
MapGenericMask