Revision Summary Date Revision History Revision Class Comments 3/30/2012 1.0 New Released new document. 7/12/2012 1.0 None No changes to the meaning, language, or formatting of the technical content. 10/25/2012 2.0 Major Significantly changed the technical content. 1/31/2013 2.0 None No changes to the meaning, language, or formatting of the technical content. 8/8/2013 3.0 Significantly changed the technical content. 11/14/2013 4.0 Major Significantly changed the technical content. 2/13/2014 4.0 None No changes to the meaning, language, or formatting of the technical content. 5/15/2014 4.0 None No changes to the meaning, language, or formatting of the
technical content. 6/30/2015 5.0 Major Significantly changed the technical content. 10/16/2015 5.0 None No changes to the meaning, language, or formatting of the technical content. 7/14/2016 5.0 None No changes to the meaning, language, or formatting of the technical content. 6/1/2017 6.0 Major Significantly changed the technical content. 9/15/2017 7.0 Major Significantly changed the technical content. 12/1/2017 7.0 None No changes to the meaning, language, or formatting of the technical content.
Protocol Examples In this section, two packets will be examined. The first example shows a MAPPED_GEOMETRY_PACKET with the UpdateType field set to GEOMETRY_UPDATE and a simple geometry. The second example shows a MAPPED_GEOMETRY_PACKET with the UpdateType field set to GEOMETRY_CLEAR. MAPPED_GEOMETRY_PACKET – GEOMETRY_UPDATE – Simple Geometry This example shows geometry that expresses a simple rectangle of size 480x244 pixels. The raw packet data is as follows: 78000000 01000000 22020400 BA7A0080 01000000 00000000 E2010300 00000000 10000000 8A000000 F0010000 7E010000 23010000 72000000 78040000 CA020000 02000000 30000000 20000000 01000000 01000000 00000000 00000000 00000000 E0010000 F4000000 00000000 00000000 E0010000 F4000000 00 MAPPED_GEOMETRY_PACKET: UINT32 cbGeometryData – 78000000 0x00000078 = 120 (bytes) UINT32 Version – 01000000 0x00000001 = 1 UINT64 MappingId - 22020400 BA7A0080 0x80007ABA00040222 UINT32 UpdateType – 01000000 0x00000001 = 1 (GEOMETRY_UPDATE) UINT32 Flags – 00000000 0x00000000 = 0 UINT64 TopLevelId - E2010300 00000000 0x00000000’000301E2 Left – 10000000 0x00000010 = 16 Top – 8A000000 0x0000008A = 138 INT32 Right – F0010000 0x000001F0 = 496 INT32 Bottom – 7E010000 0x0000017E = 382 INT32 TopLevelLeft – 23010000
0x00000123 = 291 INT32 TopLevelTop – 71000000 0x00000071 = 114 INT32 TopLevelRight – 78040000 0x00000478 = 1144 INT32 TopLevelBottom – CA010000 0x000001CA = 714 UINT32 GeometryType – 02000000 0x00000002 = 2 (GEOMETRY_TYPE_REGION) UINT32 cbGeometryBuffer – 30000000 0x00000030 = 48 (bytes) BYTE pGeometryBuffer[48] – (Cast to RGNDATA) Reserved - 00 Geometry Buffer (RGNDATA) UINT32 RGNDATA.rdh.dwSize – 20000000 0x00000020 = 32 (bytes) UINT32 RGNDATA.rdh.iType – 01000000 0x00000001 = 1 (RDH_RECTANGLES) UINT32 RGNDATA.rdh.nCount – 01000000 0x00000001 = 1 UINT32 RGNDATA.rdh.nRgnSize – 00000000 0x00000000 = 0 INT32 RGNDATA.rdh.rcBound.left - 00000000 0x00000000 = 0 INT32 RGNDATA.rdh.rcBound.top – 00000000 0x00000000 = 0 INT32 RGNDATA.rdh.rcBound.right – E0010000 0x000001E0 = 480 RGNDATA.rdh.rcBound.bottom – F4000000 0x000000F4 = 244 INT32 ((RECT*)RGNDATA.Buffer)[0].left – 00000000
0x00000000 = 0 INT32 TopLevelLeft – 00000000 0x00000000 = 0 INT32 TopLevelTop – 00000000 0x00000000 = 0 INT32 TopLevelRight – 00000000 0x00000000 = 0 INT32 TopLevelBottom – 00000000 0x00000000 = 0 UINT32 GeometryType – 00000000 0x00000000 = 0 UINT32 cbGeometryBuffer – 00000000 0x00000000 = 0 Reserved - 00
Index A Abstract data model 13 14 6 C 6 21 Client 13 14 13 14 13 14 11 14 13 14 13 D Data - abstract 13 14 F 7 G 5 H Higher-layer triggered events 14 14 I 19 19 6 Initialization 13 14 5 M Message processing 14 13 14 13 Messages 8 N 5 O Other local events 14 14 6 P 19 6 6 20 11 R 5 6 5 6 S Security 19 19 Sequencing rules 14 13 14 13 Server 14 14 14 14 13 14 11 14 13 14 14 7 T Timer events 14 14 Timers 13 14 21