4.3.6.2 Example 2

The following is the second example of an annotated dump of a Draw GDI+ Cache First (section 2.2.2.2.1.3.6.2) Alternate Secondary Drawing Order.

 00000000 22 00 01 00 08 00 28 00 28 00 00 00 00 00 00 00 ".....(.(.......
 00000010 00 00 00 01 00 00 00 00 04 00 03 03 00 00 80 3f ...............?
 00000020 00 00 00 00 00 00 00 00 00 00 80 3f 00 00 20 43 ...........?.. C
 00000030 00 00 00 00                                     ....
  
 22 -> ALTSEC_DRAWING_ORDER_HEADER::controlFlags = 0x22
 class = TS_SECONDARY (0x02)
 orderType = TS_ALTSEC_GDIP_CACHE_FIRST (0x08)
  
 00 -> DRAW_GDIPLUS_CACHE_FIRST_ORDER::Flags = 0x00
 01 00 -> DRAW_GDIPLUS_CACHE_FIRST_ORDER::CacheType = GDIP_CACHE_GRAPHICS_DATA (0x0001)
 08 00 -> DRAW_GDIPLUS_CACHE_FIRST_ORDER::CacheIndex = 0x0008
 28 00 -> DRAW_GDIPLUS_CACHE_FIRST_ORDER::cbSize = 0x0028 = 40 bytes
 28 00 00 00 -> DRAW_GDIPLUS_CACHE_FIRST_ORDER::cbTotalSize = 0x00000028 = 40 bytes
  
 The next 40 bytes are the EMF+ records (DRAW_GDIPLUS_CACHE_FIRST_ORDER::emfRecords). These 
 records can be parsed as specified in [MS-EMFPLUS] section 2.3.