The level fields of the AttachPropertyInstance and AttachPropertyInstanceEx APIs are used by the user interface for making decisions about which properties are subservient to other properties. For example, if you have a flags byte:
Joe Flags = 0x06
which is a level 2 property, then when you break out the definition of the flags:
Joe Flags = 0x06
......1. User has Read Privileges
.....1.. User has Write Privileges
The breakdown of the flags properties are set to level 3. The user interface automatically indents the level 3 properties from the level 2 properties, and, if the user wishes, the user interface can hide all level 3 properties for that protocol.
Another use of the level field is to show increasing detail of the properties. A level 4 property should be one that has more detail than a level 3 property.
Parsers should strive to follow the following rules: