4.1.13 Client Confirm Active PDU

The following is an annotated dump of the Confirm Active PDU (section 2.2.1.13.2).

 00000000 03 00 02 07 02 f0 80 64 00 06 03 eb 70 81 f8 38 .......d....p..8
 00000010 00 00 00 ab 1f 51 e7 93 17 5c 45 04 36 38 41 80 .....Q...\E.68A.
 00000020 2f ad d4 d3 48 e9 88 84 05 f4 3f c4 d1 e8 9d 92 /...H.....?.....
 00000030 85 ac e6 fd 25 30 6d b5 fe 0e 4b 72 e3 f4 15 9f ....%0m...Kr....
 00000040 2a 01 6e 44 15 d1 b4 1b f6 96 36 40 63 39 6f 73 *.nD......6@c9os
 00000050 fc 93 57 b2 a7 f8 df 44 e5 23 5d 2f 57 4a e2 df ..W....D.#]/WJ..
 00000060 aa 2d bc 99 4c fd 78 e1 a4 df 57 71 07 1e d4 99 .-..L.x...Wq....
 00000070 59 c8 4d ae 4f 00 90 de 56 63 3a 8c cc ca 40 60 Y.M.O...Vc:...@`
 00000080 2b ae 74 c5 e2 70 e9 bb 5e 0b c6 e8 82 21 cc a3 +.t..p..^....!..
 00000090 e9 61 4c 6e db 76 7a fc a4 cc 57 a5 94 d5 96 5c .aLn.vz...W....\
 000000a0 b2 99 1a 2a 84 52 84 97 35 54 6b c9 7d 3e f0 c8 ...*.R..5Tk.}>..
 000000b0 3c e4 3d 44 79 76 07 e6 3f 20 1d 66 2c c9 0f d2 <.=Dyv..? .f,...
 000000c0 cd 3d bf 25 38 7b cd 10 7c d7 2d da 72 8b db de .=.%8{..|.-.r...
 000000d0 b8 97 00 11 14 dd 22 b5 a0 b9 19 7b e5 9d e1 90 ......"....{....
 000000e0 72 5f 5a 5a 48 59 a8 67 68 b5 e6 95 70 e9 d3 19 r_ZZHY.gh...p...
 000000f0 4f bd d9 1c 09 03 ac fa 6e 4b f5 0a 1e 21 a6 2f O.......nK...!./
 00000100 57 c0 70 80 fc a1 0f 12 58 fe 0a 89 ca fc ff cf W.p.....X.......
 00000110 37 04 b1 12 fd d2 03 30 b4 c7 fe a1 ad 5e 2b 8d 7......0.....^+.
 00000120 21 3d 18 6e 0c b0 18 c4 78 33 06 f0 14 67 7a 7d !=.n....x3...gz}
 00000130 09 1c 6e 66 57 00 db be 95 ef bf c2 1a a7 11 5e ..nfW..........^
 00000140 d2 d3 36 c8 13 8d 64 ed 0f a3 bf ce c2 6f 8e e4 ..6...d......o..
 00000150 11 4f 84 e5 c5 61 68 15 44 c5 5d 53 40 24 35 26 .O...ah.D.]S@$5&
 00000160 20 21 a5 cf 11 6a a2 7a 6c 3e 36 d5 93 a1 f9 5e  !...j.zl>6....^
 00000170 df e6 a5 2c 94 4f 1a 22 9f 7d fd 24 b4 06 7d 70 ...,.O.".}.$..}p
 00000180 f0 49 ae 04 54 9d 14 73 48 27 57 e6 38 32 0e 31 .I..T..sH'W.82.1
 00000190 c5 aa d5 c9 1c 82 0d ae 18 24 9c 18 90 b4 90 8d .........$......
 000001a0 f1 bd 5f fb 10 c7 0b 01 fb bc 12 56 1d 30 19 c6 .._........V.0..
 000001b0 90 a1 06 17 38 ed 0f 3c 62 1e 16 0d 87 b4 90 af ....8..<b.......
 000001c0 ff 08 71 ff e9 25 19 8c d4 eb 7f b4 6a 43 d4 8b ..q..%......jC..
 000001d0 05 43 b8 66 59 e2 1d 23 d8 92 14 9b 3c a7 07 40 .C.fY..#....<..@
 000001e0 d6 30 7b 58 3e 6e 7f c8 12 15 bc eb 9f 74 8f 9c .0{X>n.......t..
 000001f0 b3 8d e2 60 34 a3 3a 8f a0 34 42 b1 18 08 a0 c5 ...`4.:..4B.....
 00000200 b5 97 44 ed b5 48 82                            ..D..H.
  
 03 00 02 07 -> TPKT Header (length = 519 bytes)
 02 f0 80 -> X.224 Data TPDU
  
 64 00 06 03 eb 70 81 f8 -> PER encoded (ALIGNED variant of BASIC-PER) SendDataRequest
 initiator = 1007 (0x03ef)
 channelId = 1003 (0x03eb)
 dataPriority = high
 segmentation = begin | end
 userData length = 0x1f8 = 504 bytes
  
 38 00 -> TS_SECURITY_HEADER::flags = 0x0038 
 0x0038
 = 0x0010 | 0x0020 | 0x0008 
 = SEC_RESET_SEQNO | SEC_IGNORE_SEQNO | SEC_ENCRYPT
  
 00 00 -> TS_SECURITY_HEADER::flagsHi - ignored as flags field does 
 not contain SEC_FLAGSHI_VALID (0x8000)
 ab 1f 51 e7 93 17 5c 45 -> TS_SECURITY_HEADER1::dataSignature
  
 04 36 38 41 80 2f ad d4 d3 48 e9 88 84 05 f4 3f 
 c4 d1 e8 9d 92 85 ac e6 fd 25 30 6d b5 fe 0e 4b 
 72 e3 f4 15 9f 2a 01 6e 44 15 d1 b4 1b f6 96 36 
 40 63 39 6f 73 fc 93 57 b2 a7 f8 df 44 e5 23 5d 
 2f 57 4a e2 df aa 2d bc 99 4c fd 78 e1 a4 df 57 
 71 07 1e d4 99 59 c8 4d ae 4f 00 90 de 56 63 3a 
 8c cc ca 40 60 2b ae 74 c5 e2 70 e9 bb 5e 0b c6 
 e8 82 21 cc a3 e9 61 4c 6e db 76 7a fc a4 cc 57 
 a5 94 d5 96 5c b2 99 1a 2a 84 52 84 97 35 54 6b 
 c9 7d 3e f0 c8 3c e4 3d 44 79 76 07 e6 3f 20 1d 
 66 2c c9 0f d2 cd 3d bf 25 38 7b cd 10 7c d7 2d 
 da 72 8b db de b8 97 00 11 14 dd 22 b5 a0 b9 19 
 7b e5 9d e1 90 72 5f 5a 5a 48 59 a8 67 68 b5 e6 
 95 70 e9 d3 19 4f bd d9 1c 09 03 ac fa 6e 4b f5 
 0a 1e 21 a6 2f 57 c0 70 80 fc a1 0f 12 58 fe 0a 
 89 ca fc ff cf 37 04 b1 12 fd d2 03 30 b4 c7 fe 
 a1 ad 5e 2b 8d 21 3d 18 6e 0c b0 18 c4 78 33 06 
 f0 14 67 7a 7d 09 1c 6e 66 57 00 db be 95 ef bf 
 c2 1a a7 11 5e d2 d3 36 c8 13 8d 64 ed 0f a3 bf 
 ce c2 6f 8e e4 11 4f 84 e5 c5 61 68 15 44 c5 5d 
 53 40 24 35 26 20 21 a5 cf 11 6a a2 7a 6c 3e 36 
 d5 93 a1 f9 5e df e6 a5 2c 94 4f 1a 22 9f 7d fd 
 24 b4 06 7d 70 f0 49 ae 04 54 9d 14 73 48 27 57 
 e6 38 32 0e 31 c5 aa d5 c9 1c 82 0d ae 18 24 9c 
 18 90 b4 90 8d f1 bd 5f fb 10 c7 0b 01 fb bc 12 
 56 1d 30 19 c6 90 a1 06 17 38 ed 0f 3c 62 1e 16 
 0d 87 b4 90 af ff 08 71 ff e9 25 19 8c d4 eb 7f 
 b4 6a 43 d4 8b 05 43 b8 66 59 e2 1d 23 d8 92 14 
 9b 3c a7 07 40 d6 30 7b 58 3e 6e 7f c8 12 15 bc 
 eb 9f 74 8f 9c b3 8d e2 60 34 a3 3a 8f a0 34 42 
 b1 18 08 a0 c5 b5 97 44 ed b5 48 82 -> 
 Encrypted TS_CONFIRM_ACTIVE_PDU
  
 Decrypted TS_CONFIRM_ACTIVE_PDU:
 00000000 ec 01 13 00 ef 03 ea 03 01 00 ea 03 06 00 d6 01 ................
 00000010 4d 53 54 53 43 00 12 00 00 00 01 00 18 00 01 00 MSTSC...........
 00000020 03 00 00 02 00 00 00 00 1d 04 00 00 00 00 00 00 ................
 00000030 00 00 02 00 1c 00 18 00 01 00 01 00 01 00 00 05 ................
 00000040 00 04 00 00 01 00 01 00 00 00 01 00 00 00 03 00 ................
 00000050 58 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 X...............
 00000060 00 00 00 00 00 00 01 00 14 00 00 00 01 00 00 00 ................
 00000070 2a 00 01 01 01 01 01 00 00 01 01 01 00 01 00 00 *...............
 00000080 00 01 01 01 01 01 01 01 01 00 01 01 01 00 00 00 ................
 00000090 00 00 a1 06 00 00 00 00 00 00 00 84 03 00 00 00 ................
 000000a0 00 00 e4 04 00 00 13 00 28 00 03 00 00 03 78 00 ........(.....x.
 000000b0 00 00 78 00 00 00 fb 09 00 80 00 00 00 00 00 00 ..x.............
 000000c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0a 00 ................
 000000d0 08 00 06 00 00 00 07 00 0c 00 00 00 00 00 00 00 ................
 000000e0 00 00 05 00 0c 00 00 00 00 00 02 00 02 00 08 00 ................
 000000f0 0a 00 01 00 14 00 15 00 09 00 08 00 00 00 00 00 ................
 00000100 0d 00 58 00 15 00 20 00 09 04 00 00 04 00 00 00 ..X... .........
 00000110 00 00 00 00 0c 00 00 00 00 00 00 00 00 00 00 00 ................
 00000120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
 00000130 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
 00000140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
 00000150 00 00 00 00 00 00 00 00 0c 00 08 00 01 00 00 00 ................
 00000160 0e 00 08 00 01 00 00 00 10 00 34 00 fe 00 04 00 ..........4.....
 00000170 fe 00 04 00 fe 00 08 00 fe 00 08 00 fe 00 10 00 ................
 00000180 fe 00 20 00 fe 00 40 00 fe 00 80 00 fe 00 00 01 .. ...@.........
 00000190 40 00 00 08 00 01 00 01 03 00 00 00 0f 00 08 00 @...............
 000001a0 01 00 00 00 11 00 0c 00 01 00 00 00 00 1e 64 00 ..............d.
 000001b0 14 00 08 00 01 00 00 00 15 00 0c 00 02 00 00 00 ................
 000001c0 00 0a 00 01 16 00 28 00 00 00 00 00 00 00 00 00 ......(.........
 000001d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
 000001e0 00 00 00 00 00 00 00 00 00 00 00 00             ............
  
 ec 01 -> TS_SHARECONTROLHEADER::totalLength = 0x01ec = 492 bytes
 13 00 -> TS_SHARECONTROLHEADER::pduType = 0x0013
 0x0013
 = 0x0010 | 0x0003
 = TS_PROTOCOL_VERSION | PDUTYPE_CONFIRMACTIVEPDU
  
 ef 03 -> TS_SHARECONTROLHEADER::pduSource = 0x03ef (1007)
 ea 03 01 00 -> TS_CONFIRM_ACTIVE_PDU::shareID = 0x000103ea
 ea 03 -> TS_CONFIRM_ACTIVE_PDU::originatorID = 0x03ea (1002)
 06 00 -> TS_CONFIRM_ACTIVE_PDU::lengthSourceDescriptor = 6 bytes
 d6 01 -> TS_CONFIRM_ACTIVE_PDU::lengthCombinedCapabilities = 0x1d6 = 470 bytes
  
 4d 53 54 53 43 00 -> TS_CONFIRM_ACTIVE_PDU::sourceDescriptor = "MSTSC" 
  
 12 00 -> TS_CONFIRM_ACTIVE_PDU::numberCapabilities = 18
 00 00 -> TS_CONFIRM_ACTIVE_PDU::pad2Octets
  
 General Capability Set (24 bytes)
 01 00 18 00 01 00 03 00 00 02 00 00 00 00 1d 04 
 00 00 00 00 00 00 00 00 
  
 01 00 -> TS_GENERAL_CAPABILITYSET::capabilitySetType = CAPSTYPE_GENERAL (1)
 18 00 -> TS_GENERAL_CAPABILITYSET::lengthCapability = 24 bytes
  
 01 00 -> TS_GENERAL_CAPABILITYSET::osMajorType = OSMAJORTYPE_WINDOWS (1)
 03 00 -> TS_GENERAL_CAPABILITYSET::osMinorType = OSMINORTYPE_WINDOWS_NT (3)
 00 02 -> TS_GENERAL_CAPABILITYSET::protocolVersion = TS_CAPS_PROTOCOLVERSION (0x0200)
 00 00 -> TS_GENERAL_CAPABILITYSET::pad2octetsA
 00 00 -> TS_GENERAL_CAPABILITYSET::compressionTypes = 0
  
 1d 04 -> TS_GENERAL_CAPABILITYSET::extraFlags = 0x041d
 0x041d
 = 0x0400 | 
   0x0010 | 
   0x0008 | 
   0x0004 | 
   0x0001
 = NO_BITMAP_COMPRESSION_HDR | 
   ENC_SALTED_CHECKSUM | 
   AUTORECONNECT_SUPPORTED |
   LONG_CREDENTIALS_SUPPORTED |
   FASTPATH_OUTPUT_SUPPORTED
  
 00 00 -> TS_GENERAL_CAPABILITYSET::updateCapabilityFlag = 0
 00 00 -> TS_GENERAL_CAPABILITYSET::remoteUnshareFlag = 0
 00 00 -> TS_GENERAL_CAPABILITYSET::compressionLevel = 0
  
 00 -> TS_GENERAL_CAPABILITYSET::refreshRectSupport = FALSE
 00 -> TS_GENERAL_CAPABILITYSET::suppressOutputSupport = FALSE
  
 Bitmap Capability Set (28 bytes)
 02 00 1c 00 18 00 01 00 01 00 01 00 00 05 00 04 
 00 00 01 00 01 00 00 00 01 00 00 00 
  
 02 00 -> TS_BITMAP_CAPABILITYSET::capabilitySetType = CAPSTYPE_BITMAP (2)
 1c 00 -> TS_BITMAP_CAPABILITYSET::lengthCapability = 28 bytes
  
 18 00 -> TS_BITMAP_CAPABILITYSET::preferredBitsPerPixel = 24 bpp
 01 00 -> TS_BITMAP_CAPABILITYSET::receive1BitPerPixel = TRUE
 01 00 -> TS_BITMAP_CAPABILITYSET::receive4BitsPerPixel = TRUE
 01 00 -> TS_BITMAP_CAPABILITYSET::receive8BitsPerPixel = TRUE
 00 05 -> TS_BITMAP_CAPABILITYSET::desktopWidth = 1280 pixels
 00 04 -> TS_BITMAP_CAPABILITYSET::desktopHeight = 1024 pixels
 00 00 -> TS_BITMAP_CAPABILITYSET::pad2octets
 01 00 -> TS_BITMAP_CAPABILITYSET::desktopResizeFlag = TRUE
 01 00 -> TS_BITMAP_CAPABILITYSET::bitmapCompressionFlag = TRUE
 00 -> TS_BITMAP_CAPABILITYSET::highColorFlags = 0
 00 -> TS_BITMAP_CAPABILITYSET::drawingFlags
 01 00 -> TS_BITMAP_CAPABILITYSET::multipleRectangleSupport = TRUE
 00 00 -> TS_BITMAP_CAPABILITYSET::pad2octetsB
  
 Order Capability Set (88 bytes)
 03 00 58 00 00 00 00 00 00 00 00 00 00 00 00 00 
 00 00 00 00 00 00 00 00 01 00 14 00 00 00 01 00 
 00 00 2a 00 01 01 01 01 01 00 00 01 01 01 00 01 
 00 00 00 01 01 01 01 01 01 01 01 00 01 01 01 00 
 00 00 00 00 a1 06 00 00 00 00 00 00 00 84 03 00 
 00 00 00 00 e4 04 00 00 
  
 03 00 -> TS_ORDER_CAPABILITYSET::capabilitySetType = CAPSTYPE_ORDER (3)
 58 00 -> TS_ORDER_CAPABILITYSET::lengthCapability = 88 bytes
  
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -> 
 TS_ORDER_CAPABILITYSET::terminalDescriptor = ""
 00 00 00 00 -> TS_ORDER_CAPABILITYSET::pad4octetsA
  
 01 00 -> TS_ORDER_CAPABILITYSET::desktopSaveXGranularity = 1
 14 00 -> TS_ORDER_CAPABILITYSET::desktopSaveYGranularity = 20
 00 00 -> TS_ORDER_CAPABILITYSET::pad2octetsA
 01 00 -> TS_ORDER_CAPABILITYSET::maximumOrderLevel = ORD_LEVEL_1_ORDERS (1)
 00 00 -> TS_ORDER_CAPABILITYSET::numberFonts = 0
  
 2a 00 -> TS_ORDER_CAPABILITYSET::orderFlags = 0x002a
 0x002a
 = 0x0020 | 
   0x0008 | 
   0x0002
 = COLORINDEXSUPPORT | 
   ZEROBOUNDSDELTASSUPPORT | 
   NEGOTIATEORDERSUPPORT
  
 01 -> TS_ORDER_CAPABILITYSET::orderSupport[TS_NEG_DSTBLT_INDEX] = TRUE
 01 -> TS_ORDER_CAPABILITYSET::orderSupport[TS_NEG_PATBLT_INDEX] = TRUE
 01 -> TS_ORDER_CAPABILITYSET::orderSupport[TS_NEG_SCRBLT_INDEX] = TRUE
 01 -> TS_ORDER_CAPABILITYSET::orderSupport[TS_NEG_MEMBLT_INDEX] = TRUE
 01 -> TS_ORDER_CAPABILITYSET::orderSupport[TS_NEG_MEM3BLT_INDEX] = TRUE
 00 -> TS_ORDER_CAPABILITYSET::orderSupport[0x05] = FALSE
 00 -> TS_ORDER_CAPABILITYSET::orderSupport[0x06] = FALSE
 01 -> TS_ORDER_CAPABILITYSET::orderSupport[TS_NEG_DRAWNINEGRID_INDEX] = TRUE
 01 -> TS_ORDER_CAPABILITYSET::orderSupport[TS_NEG_LINETO_INDEX] = TRUE
 01 -> TS_ORDER_CAPABILITYSET::orderSupport[TS_NEG_MULTI_DRAWNINEGRID_INDEX] = TRUE
 00 -> TS_ORDER_CAPABILITYSET::orderSupport[0x0A] = FALSE
 01 -> TS_ORDER_CAPABILITYSET::orderSupport[TS_NEG_SAVEBITMAP_INDEX] = TRUE
 00 -> TS_ORDER_CAPABILITYSET::orderSupport[0x0C] = FALSE
 00 -> TS_ORDER_CAPABILITYSET::orderSupport[0x0D] = FALSE
 00 -> TS_ORDER_CAPABILITYSET::orderSupport[0x0E] = FALSE
 01 -> TS_ORDER_CAPABILITYSET::orderSupport[TS_NEG_MULTIDSTBLT_INDEX] = TRUE
 01 -> TS_ORDER_CAPABILITYSET::orderSupport[TS_NEG_MULTIPATBLT_INDEX] = TRUE
 01 -> TS_ORDER_CAPABILITYSET::orderSupport[TS_NEG_MULTISCRBLT_INDEX] = TRUE
 01 -> TS_ORDER_CAPABILITYSET::orderSupport[TS_NEG_MULTIOPAQUERECT_INDEX] = TRUE
 01 -> TS_ORDER_CAPABILITYSET::orderSupport[TS_NEG_FAST_INDEX_INDEX] = TRUE
 01 -> TS_ORDER_CAPABILITYSET::orderSupport[TS_NEG_POLYGON_SC_INDEX] = TRUE
 01 -> TS_ORDER_CAPABILITYSET::orderSupport[TS_NEG_POLYGON_CB_INDEX] = TRUE
 01 -> TS_ORDER_CAPABILITYSET::orderSupport[TS_NEG_POLYLINE_INDEX] = TRUE
 00 -> TS_ORDER_CAPABILITYSET::orderSupport[0x17] = 0
 01 -> TS_ORDER_CAPABILITYSET::orderSupport[TS_NEG_FAST_GLYPH_INDEX] = TRUE
 01 -> TS_ORDER_CAPABILITYSET::orderSupport[TS_NEG_ELLIPSE_SC_INDEX] = TRUE
 01 -> TS_ORDER_CAPABILITYSET::orderSupport[TS_NEG_ELLIPSE_CB_INDEX] = TRUE
 00 -> TS_ORDER_CAPABILITYSET::orderSupport[TS_NEG_INDEX_INDEX] = FALSE
 00 -> TS_ORDER_CAPABILITYSET::orderSupport[0x1C] = FALSE
 00 -> TS_ORDER_CAPABILITYSET::orderSupport[0x1D] = FALSE
 00 -> TS_ORDER_CAPABILITYSET::orderSupport[0x1E] = FALSE
 00 -> TS_ORDER_CAPABILITYSET::orderSupport[0x1F] = 0
  
 a1 06 -> TS_ORDER_CAPABILITYSET::textFlags = 0x06a1
 0x6a1
 = 0x400 | 
   0x200 | 
   0x080 | 
   0x020 | 
   0x001
 = TS_TEXTFLAGS_ALLOWCELLHEIGHT |
   TS_TEXTFLAGS_USEBASELINESTART |
   TS_TEXTFLAGS_CHECKFONTSIGNATURES |
   TS_TEXTFLAGS_ALLOWDELTAXSIM |
   TS_TEXTFLAGS_CHECKFONTASPECT
  
 00 00 -> TS_ORDER_CAPABILITYSET::orderSupportExFlags
 00 00 00 00 -> TS_ORDER_CAPABILITYSET::pad4octetsB
 00 84 03 00 -> TS_ORDER_CAPABILITYSET::desktopSaveSize = 0x38400 = 230400
 00 00 -> TS_ORDER_CAPABILITYSET::pad2octetsC
 00 00 -> TS_ORDER_CAPABILITYSET::pad2octetsD
 e4 04 -> TS_ORDER_CAPABILITYSET::textANSICodePage = 0x04e4 = ANSI - Latin I (1252)
 00 00 -> TS_ORDER_CAPABILITYSET::pad2octetsE
  
 Bitmap Cache Rev. 2 Capability Set (40 bytes)
 13 00 28 00 03 00 00 03 78 00 00 00 78 00 00 00 
 fb 09 00 80 00 00 00 00 00 00 00 00 00 00 00 00 
 00 00 00 00 00 00 00 00 
  
 13 00 -> TS_BITMAPCACHE_CAPABILITYSET_REV2::capabilitySetType = 
 CAPSTYPE_BITMAPCACHE_REV2 (19)
 28 00 -> TS_BITMAPCACHE_CAPABILITYSET_REV2::lengthCapability = 
 40 bytes
  
 03 00 -> TS_BITMAPCACHE_CAPABILITYSET_REV2::CacheFlags = = 0x0003
 0x0003
 = 0x0001 | 0x0002
 = PERSISTENT_KEYS_EXPECTED_FLAG | ALLOW_CACHE_WAITING_LIST_FLAG
  
 00 -> TS_BITMAPCACHE_CAPABILITYSET_REV2::Pad2
 03 -> TS_BITMAPCACHE_CAPABILITYSET_REV2::NumCellCaches = 3
  
 78 00 00 00 -> TS_BITMAPCACHE_CAPABILITYSET_REV2::BitmapCache0CellInfo = 0x00000078
 TS_BITMAPCACHE_CELL_CACHE_INFO::NumEntries = 0x78 = 120
 TS_BITMAPCACHE_CELL_CACHE_INFO::k = FALSE
  
 78 00 00 00 -> TS_BITMAPCACHE_CAPABILITYSET_REV2::BitmapCache1CellInfo = 
 0x00000078
 TS_BITMAPCACHE_CELL_CACHE_INFO::NumEntries = 0x78 = 120
 TS_BITMAPCACHE_CELL_CACHE_INFO::k = FALSE
  
 fb 09 00 80 -> TS_BITMAPCACHE_CAPABILITYSET_REV2::BitmapCache2CellInfo = 0x800009fb
 TS_BITMAPCACHE_CELL_CACHE_INFO::NumEntries = 0x9fb = 2555
 TS_BITMAPCACHE_CELL_CACHE_INFO::k = TRUE
  
 00 00 00 00 -> TS_BITMAPCACHE_CAPABILITYSET_REV2::BitmapCache3CellInfo = 0x00000000
 00 00 00 00 -> TS_BITMAPCACHE_CAPABILITYSET_REV2::BitmapCache4CellInfo = 0x00000000
  
 00 00 00 00 00 00 00 00 00 00 00 00 -> TS_BITMAPCACHE_CAPABILITYSET_REV2::Pad3
  
 Color Table Cache Capability Set (8 bytes)
 0a 00 08 00 06 00 00 00 
  
 0a 00 -> TS_COLORTABLECACHE_CAPABILITYSET::capabilitySetType = CAPSTYPE_COLORCACHE (10)
 08 00 -> TS_COLORTABLECACHE_CAPABILITYSET::lengthCapability = 8 bytes
  
 06 00 -> TS_COLORTABLECACHE_CAPABILITYSET::colorTableCacheSize = 6
 00 00 -> TS_COLORTABLECACHE_CAPABILITYSET::pad2octets = 0
  
 Window Activation Capability Set (12 bytes)
 07 00 0c 00 00 00 00 00 00 00 00 00 
  
 07 00 -> TS_WINDOWACTIVATION_CAPABILITYSET::capabilitySetType = CAPSTYPE_ACTIVATION (7)
 0c 00 -> TS_WINDOWACTIVATION_CAPABILITYSET::lengthCapability = 12 bytes
  
 00 00 -> TS_WINDOWACTIVATION_CAPABILITYSET::helpKeyFlag = 0
 00 00 -> TS_WINDOWACTIVATION_CAPABILITYSET::helpKeyIndexFlag = 0
 00 00 -> TS_WINDOWACTIVATION_CAPABILITYSET::helpExtendedKeyFlag = 0
 00 00 -> TS_WINDOWACTIVATION_CAPABILITYSET::windowManagerKeyFlag = 0
  
 Control Capability Set (12 bytes)
 05 00 0c 00 00 00 00 00 02 00 02 00 
  
 05 00 -> TS_CONTROL_CAPABILITYSET::capabilitySetType = CAPSTYPE_CONTROL (5)
 0c 00 -> TS_CONTROL_CAPABILITYSET::lengthCapability = 12 bytes
  
 00 00 -> TS_CONTROL_CAPABILITYSET::controlFlags = 0
 00 00 -> TS_CONTROL_CAPABILITYSET::remoteDetachFlag = 0
 02 00 -> TS_CONTROL_CAPABILITYSET::controlInterest = CONTROLPRIORITY_NEVER (2)
 02 00 -> TS_CONTROL_CAPABILITYSET::detachInterest = CONTROLPRIORITY_NEVER (2)
  
 Pointer Capability Set (10 bytes)
 08 00 0a 00 01 00 14 00 15 00 
  
 08 00 -> TS_POINTER_CAPABILITYSET::capabilitySetType = CAPSTYPE_POINTER (8)
 0a 00 -> TS_POINTER_CAPABILITYSET::lengthCapability = 10 bytes
  
 01 00 -> TS_POINTER_CAPABILITYSET::colorPointerFlag = TRUE
 14 00 -> TS_POINTER_CAPABILITYSET::colorPointerCacheSize = 20
 15 00 -> TS_POINTER_CAPABILITYSET::pointerCacheSize = 21
  
 Share Capability Set (8 bytes)
 09 00 08 00 00 00 00 00
  
 09 00 -> TS_SHARE_CAPABILITYSET::capabilitySetType = CAPSTYPE_SHARE (9)
 08 00 -> TS_SHARE_CAPABILITYSET::lengthCapability = 8 bytes
  
 00 00 -> TS_SHARE_CAPABILITYSET::nodeID = 0
 00 00 -> TS_SHARE_CAPABILITYSET::pad2octets
  
 Input Capability Set (88 bytes)
 0d 00 58 00 15 00 20 00 09 04 00 00 04 00 00 00
 00 00 00 00 0c 00 00 00 00 00 00 00 00 00 00 00
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 00 00 00 00 00 00 00 00 
  
 0d 00 -> TS_INPUT_CAPABILITYSET::capabilitySetType = CAPSTYPE_INPUT (13)
 58 00 -> TS_INPUT_CAPABILITYSET::lengthCapability = 88 bytes
  
 0d 00 -> TS_INPUT_CAPABILITYSET::capabilitySetType = CAPSTYPE_INPUT (13)
 58 00 -> TS_INPUT_CAPABILITYSET::lengthCapability = 88 bytes
  
 15 00 -> TS_INPUT_CAPABILITYSET::inputFlags = 0x0015
 0x0015
 = 0x0010 | 
   0x0004 | 
   0x0001
 = INPUT_FLAG_VKPACKET |
   INPUT_FLAG_MOUSEX |
   INPUT_FLAG_SCANCODES
  
 20 00 -> TS_INPUT_CAPABILITYSET::pad2octetsA
 09 04 00 00 -> TS_INPUT_CAPABILITYSET::keyboardLayout = 0x00000409 
 = English (United States)
 04 00 00 00 -> TS_INPUT_CAPABILITYSET::keyboardType = 4 
 = IBM enhanced (101- or 102-key) keyboard
 00 00 00 00 -> TS_INPUT_CAPABILITYSET::keyboardSubType = 0
 0c 00 00 00 -> TS_INPUT_CAPABILITYSET::keyboardFunctionKey = 0x0c = 12
  
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  -> 
 TS_INPUT_CAPABILITYSET::imeFileName
  
 Sound Capability Set (8 bytes)
 0c 00 08 00 01 00 00 00 
  
 0c 00 -> TS_SOUND_CAPABILITYSET::capabilitySetType = CAPSTYPE_SOUND (12)
 08 00 -> TS_SOUND_CAPABILITYSET::lengthCapability = 8 bytes
  
 01 00 -> TS_SOUND_CAPABILITYSET::soundFlags = 0x0001 = SOUND_FLAG_BEEPS 
 00 00 -> TS_SOUND_CAPABILITYSET::pad2octetsA
  
 Font Capability Set (8 bytes)
 0e 00 08 00 01 00 00 00 
  
 0e 00 -> TS_FONT_CAPABILITYSET::capabilitySetType = CAPSTYPE_FONT (14)
 08 00 -> TS_FONT_CAPABILITYSET::lengthCapability = 8 bytes
  
 01 00 -> TS_FONT_CAPABILITYSET::fontSupportFlags = 0x0001 = FONTSUPPORT_FONTLIST
 00 00 -> TS_FONT_CAPABILITYSET::pad2octets
  
 Glyph Cache Capability Set (52 bytes)
 10 00 34 00 fe 00 04 00 fe 00 04 00 fe 00 08 00 
 fe 00 08 00 fe 00 10 00 fe 00 20 00 fe 00 40 00 
 fe 00 80 00 fe 00 00 01 40 00 00 08 00 01 00 01 
 03 00 00 00 
  
 10 00 -> TS_GLYPHCACHE_CAPABILITYSET::capabilitySetType = CAPSTYPE_GLYPHCACHE (16)
 34 00 -> TS_GLYPHCACHE_CAPABILITYSET::lengthCapability = 52 bytes
  
 TS_GLYPHCACHE_CAPABILITYSET::GlyphCache[0]:
 fe 00 -> TS_CACHE_DEFINITION::CacheEntries = 254
 04 00 -> TS_CACHE_DEFINITION::CacheMaximumCellSize = 4
  
 TS_GLYPHCACHE_CAPABILITYSET::GlyphCache[1]:
 fe 00 -> TS_CACHE_DEFINITION::CacheEntries = 254
 04 00 -> TS_CACHE_DEFINITION::CacheMaximumCellSize = 4
  
 TS_GLYPHCACHE_CAPABILITYSET::GlyphCache[2]:
 fe 00 -> TS_CACHE_DEFINITION::CacheEntries = 254
 08 00 -> TS_CACHE_DEFINITION::CacheMaximumCellSize = 8
  
 TS_GLYPHCACHE_CAPABILITYSET::GlyphCache[3]:
 fe 00 -> TS_CACHE_DEFINITION::CacheEntries = 254
 08 00 -> TS_CACHE_DEFINITION::CacheMaximumCellSize = 8
  
 TS_GLYPHCACHE_CAPABILITYSET::GlyphCache[4]:
 fe 00 -> TS_CACHE_DEFINITION::CacheEntries = 254
 10 00 -> TS_CACHE_DEFINITION::CacheMaximumCellSize = 16
  
 TS_GLYPHCACHE_CAPABILITYSET::GlyphCache[5]:
 fe 00 -> TS_CACHE_DEFINITION::CacheEntries = 254
 20 00 -> TS_CACHE_DEFINITION::CacheMaximumCellSize = 32
  
 TS_GLYPHCACHE_CAPABILITYSET::GlyphCache[6]:
 fe 00 -> TS_CACHE_DEFINITION::CacheEntries = 254
 40 00 -> TS_CACHE_DEFINITION::CacheMaximumCellSize = 64
  
 TS_GLYPHCACHE_CAPABILITYSET::GlyphCache[7]:
 fe 00 -> TS_CACHE_DEFINITION::CacheEntries = 254
 80 00 -> TS_CACHE_DEFINITION::CacheMaximumCellSize = 128
  
 TS_GLYPHCACHE_CAPABILITYSET::GlyphCache[8]:
 fe 00 -> TS_CACHE_DEFINITION::CacheEntries = 254
 00 01 -> TS_CACHE_DEFINITION::CacheMaximumCellSize = 256
  
 TS_GLYPHCACHE_CAPABILITYSET::GlyphCache[9]:
 40 00 -> TS_CACHE_DEFINITION::CacheEntries = 64
 00 08 -> TS_CACHE_DEFINITION::CacheMaximumCellSize = 256
  
 TS_GLYPHCACHE_CAPABILITYSET::FragCache:
 00 01 -> TS_CACHE_DEFINITION::CacheEntries = 256
 00 01 -> TS_CACHE_DEFINITION::CacheMaximumCellSize = 256
  
 03 00 -> TS_GLYPHCACHE_CAPABILITYSET::GlyphSupportLevel = GLYPH_SUPPORT_ENCODE (3)
 00 00 -> TS_GLYPHCACHE_CAPABILITYSET::pad2octets
  
 Brush Capability Set (8 bytes)
 0f 00 08 00 01 00 00 00 
  
 0f 00 -> TS_BRUSH_CAPABILITYSET::capabilitySetType = CAPSTYPE_BRUSH (15)
 08 00 -> TS_BRUSH_CAPABILITYSET::lengthCapability = 8 bytes
  
 01 00 00 00 -> TS_BRUSH_CAPABILITYSET::brushSupportLevel = BRUSH_COLOR_8x8 (1)
  
 Offscreen Bitmap Cache Capability Set (12 bytes)
 11 00 0c 00 01 00 00 00 00 1e 64 00
  
 11 00 -> TS_OFFSCREEN_CAPABILITYSET::capabilitySetType = CAPSTYPE_OFFSCREENCACHE (17)
 0c 00 -> TS_OFFSCREEN_CAPABILITYSET::lengthCapability = 12 bytes
  
 01 00 00 00 -> TS_OFFSCREEN_CAPABILITYSET::offscreenSupportLevel = TRUE (1)
 00 1e -> TS_OFFSCREEN_CAPABILITYSET::offscreenCacheSize = 7680
 64 00 -> TS_OFFSCREEN_CAPABILITYSET::offscreenCacheEntries = 100
  
 Virtual Channel Capability Set (8 bytes)
 14 00 08 00 01 00 00 00 
  
 14 00 -> TS_VIRTUALCHANNEL_CAPABILITYSET::capabilitySetType = CAPSTYPE_VIRTUALCHANNEL (20)
 08 00 -> TS_VIRTUALCHANNEL_CAPABILITYSET::lengthCapability = 8 bytes
  
 01 00 00 00 -> TS_VIRTUALCHANNEL_CAPABILITYSET::flags = 0x00000001 = VCCAPS_COMPR_SC
  
 DrawNineGridCache Capability Set (12 bytes)
 15 00 0c 00 02 00 00 00 00 0a 00 01 
  
 15 00 -> TS_DRAW_NINEGRID_CAPABILITYSET::capabilitySetType = CAPSTYPE_DRAWNINEGRIDCACHE (21)
 0c 00 -> TS_DRAW_NINEGRID_CAPABILITYSET::lengthCapability = 12 bytes
  
 02 00 00 00 -> TS_DRAW_NINEGRID_CAPABILITYSET::drawNineGridSupportLevel 
 = DRAW_NINEGRID_SUPPORTED_REV2 (2)
 00 0a -> TS_DRAW_NINEGRID_CAPABILITYSET::drawNineGridCacheSize = 2560
 00 01 -> TS_DRAW_NINEGRID_CAPABILITYSET::drawNineGridCacheEntries = 256
  
 DrawGdiPlus Capability Set (40 bytes)
 16 00 28 00 00 00 00 00 00 00 00 00 00 00 00 00 
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
 00 00 00 00 00 00 00 00
  
 16 00 -> TS_DRAW_GDIPLUS_CAPABILITYSET::capabilitySetType = CAPSTYPE_DRAWGDIPLUS (22)
 28 00 -> TS_DRAW_GDIPLUS_CAPABILITYSET::lengthCapability = 40 bytes
  
 00 00 00 00 -> TS_DRAW_GDIPLUS_CAPABILITYSET::drawGdiplusSupportLevel 
 = TS_DRAW_GDIPLUS_DEFAULT (0)
 00 00 00 00 -> TS_DRAW_GDIPLUS_CAPABILITYSET::GdipVersion = 0
 00 00 00 00 -> TS_DRAW_GDIPLUS_CAPABILITYSET::drawGdiplusCacheLevel 
 = TS_DRAW_GDIPLUS_CACHE_LEVEL_DEFAULT (0)
  
 00 00 -> TS_GDIPLUS_CACHE_ENTRIES::GdipGraphicsCacheEntries
 00 00 -> TS_GDIPLUS_CACHE_ENTRIES::GdipObjectBrushCacheEntries
 00 00 -> TS_GDIPLUS_CACHE_ENTRIES::GdipObjectPenCacheEntries
 00 00 -> TS_GDIPLUS_CACHE_ENTRIES::GdipObjectImageCacheEntries
 00 00 -> TS_GDIPLUS_CACHE_ENTRIES::GdipObjectImageAttributesCacheEntries
  
 00 00 -> TS_GDIPLUS_CACHE_CHUNK_SIZE::GdipGraphicsCacheChunkSize
 00 00 -> TS_GDIPLUS_CACHE_CHUNK_SIZE::GdipObjectBrushCacheChunkSize
 00 00 -> TS_GDIPLUS_CACHE_CHUNK_SIZE::GdipObjectPenCacheChunkSize
 00 00 -> TS_GDIPLUS_CACHE_CHUNK_SIZE::GdipObjectImageAttributesCacheChunkSize
  
 00 00 -> TS_GDIPLUS_IMAGE_CACHE_PROPERTIES::GdipObjectImageCacheChunkSize
 00 00 -> TS_GDIPLUS_IMAGE_CACHE_PROPERTIES::GdipObjectImageCacheTotalSize
 00 00 -> TS_GDIPLUS_IMAGE_CACHE_PROPERTIES::GdipObjectImageCacheMaxSize