2.2.80 DictionaryReference
DictionaryReference is used to encode extremely common strings to prevent them from taking up space in the Heap. Whenever a reference to an Encoded-String occurs, if the string matches any of the values listed, the most significant bit MUST be set, and the rest of the offset is replaced by the ordinal position of the string in the following dictionary.
-
DictionaryReference = %d0 / %d1 / %d2 / %d3 / %d4 / %d5 / %d6 / %d7 / %d8 / %d9 / %d10 ; %d0 Encoded/Decoded as quote character ; %d1 Encoded/Decoded as "key" ; %d2 Encoded/Decoded as "" ; %d3 Encoded/Decoded as "read" ; %d4 Encoded/Decoded as "write" ; %d5 Encoded/Decoded as "volatile" ; %d6 Encoded/Decoded as "provider" ; %d7 Encoded/Decoded as "dynamic" ; %d8 Encoded/Decoded as "cimwin32" ; %d9 Encoded/Decoded as "DWORD" ; %d10 Encoded/Decoded as "CIMTYPE"
For example, if the string dynamic is required, a 32-bit binary value of 0x80000007 is used instead of a normal HeapRef.
This technique only applies if the type of the item being pointed to is a string.