2.2.3 REGSAM

The REGSAM data type defines a bit field that specifies the user rights for a key object.

This type is declared as follows:

 typedef ULONG REGSAM;

The user rights are represented as a bit field. In addition to the standard user rights, as specified in [MS-DTYP] section 2.4.3, the Windows Remote Registry Protocol SHOULD<5> support the following user rights.

Value

Meaning

KEY_QUERY_VALUE

0x00000001

When set, specifies access to query the values of a registry key.

KEY_SET_VALUE

0x00000002

When set, specifies access to create, delete, or set a registry value.

KEY_CREATE_SUB_KEY

0x00000004

When set, specifies access to create a subkey of a registry key. Subkeys directly underneath the HKEY_LOCAL_MACHINE and HKEY_USERS predefined keys cannot be created even if this bit is set.

KEY_ENUMERATE_SUB_KEYS

0x00000008

When set, specifies access to enumerate the subkeys of a registry key.

KEY_CREATE_LINK

0x00000020

When set, specifies access to create a symbolic link to another key.

KEY_WOW64_64KEY

0x00000100

When set, indicates that a registry server on a 64-bit operating system operates on the 64-bit key namespace.

KEY_WOW64_32KEY

0x00000200

When set, indicates that a registry server on a 64-bit operating system operates on the 32-bit key namespace.

For some Windows Remote Registry Protocol methods, the bits set in the REGSAM field are ignored when checking access rights to modify registry data. These cases are detailed in the processing rules for each method.