4.1.2 MultiDstBlt

The following is an annotated dump of a MultiDstBlt (section 2.2.2.2.1.1.2.2) Primary Drawing Order.

 00000000 09 0f 7f 12 01 2d 01 a0 00 0c 00 55 02 0d 00 04 .....-.....U....
 00000010 81 12 81 2d 80 58 0c 80 60 80 40 0c             ...-.X..`.@.
  
 09 -> PRIMARY_DRAWING_ORDER::controlFlags = 0x09
 0x09
 = 0x01 |
   0x08
 = TS_STANDARD |
   TS_TYPE_CHANGE
  
 0f -> PRIMARY_DRAWING_ORDER::orderType = TS_ENC_MULTIDSTBLT_ORDER
  
 7f -> PRIMARY_DRAWING_ORDER::fieldFlags = 0x7f
 Binary of 0x7f = 0111 1111
 Fields 1-7 are present
  
 12 01 -> MULTI_DSTBLT_ORDER:nLeftRect = 0x0112 = 274
 2d 01 -> MULTI_DSTBLT_ORDER:nTopRect = 0x012d = 301
 a0 00 -> MULTI_DSTBLT_ORDER::nWidth = 0xa0 = 160
 0c 00 -> MULTI_DSTBLT_ORDER::nHeight = 0x0c = 12
  
 55 -> MULTI_DSTBLT_ORDER::bRop = 0x55 = ROP Table Entry #85 = 0x00550009
 02 -> MULTI_DSTBLT_ORDER::nDeltaEntries = 0x2 = 2 entries
  
 0d 00 -> VARIABLE2_FIELD::cbData = 0xd = 13 bytes
 04 81 12 81 2d 80 58 0c 80 60 80 40 0c -> VARIABLE2_FIELD::rgbData
  
 04 -> DELTA_RECTS_FIELD::zeroBits = binary:0000 0100
  
 Rectangle #1:
 81 12 -> Delta Left = 0x112 = 274
 81 2d -> Delta Top = 0x12d = 301
 80 58 -> Delta Width = 0x58 = 88 
 0c -> Delta Height = 0xc = 12 
 Rectangle is (274, 301, 274 + 88 = 362, 301 + 12 = 313)
  
 Rectangle #2:
 80 60 -> Delta Left = 0x60 = 96
 Delta Top = 0 (zeroBit is 1)
 80 40 -> Delta Width = 0x40 = 64
 0c -> Delta Height = 12
 Rectangle is (274 + 96 = 370, 301 + 0 = 301, 370 + 64 = 434, 301 + 12 = 313)