2.3.9 OBJECT_TYPE_LIST

msdn link

The OBJECT_TYPE_LIST structure identifies an object type element in a hierarchy of object types. The Access Check Algorithm Pseudocode functions (section 2.5.3.2) use an array of OBJECT_TYPE_LIST structures to define a hierarchy of an object and its sub-objects, such as property sets and properties.

 typedef struct _OBJECT_TYPE_LIST {
   WORD Level;
   ACCESS_MASK Remaining;
   GUID* ObjectType;
 } OBJECT_TYPE_LIST,
  *POBJECT_TYPE_LIST;

Level: Specifies the level of the object type in the hierarchy of an object and its sub-objects. Level zero indicates the object itself. Level one indicates a sub-object of the object, such as a property set. Level two indicates a sub-object of the level one sub-object, such as a property. There can be a maximum of five levels numbered zero through four.

Value

Meaning

ACCESS_OBJECT_GUID

0x0

Indicates the object itself at level zero.

ACCESS_PROPERTY_SET_GUID

0x1

Indicates a property set at level one.

ACCESS_PROPERTY_GUID

0x2

Indicates a property at level two.

ACCESS_MAX_LEVEL

0x4

Maximum level.

Remaining: Remaining access bits for this element, used by the access check algorithm, as specified in section 2.5.3.2.

ObjectType: A pointer to the GUID for the object or sub-object.