As you can see from the previous table, offsets are used frequently in the performance data.
The data structures use offsets because the number of object types, instances, and counters may vary from one RegQueryValueEx call to another. Therefore, the number and size of structures included in the performance data as well as the size of the data that follows each structure may vary. To ensure that your application receives the appropriate performance information, it must use the offsets included in the performance structures to navigate through the data. Every offset is a count of bytes relative to the structure containing it.