1.7 Versioning and Capability Negotiation

Windows Search Protocol has its own version ID that is used to communicate capabilities between the server and the client. There are two parts to this version ID: the version number, which is held in the least significant 2 bytes; and flags that are added to this number, comprising the remaining bytes. This version ID is added to the CPMConnectIn and CPMConnectOut messages, and can be used to check the versioning of the server or client throughout the transaction.

Starting with the release of Windows Search 4.0, messages include a checksum that is validated by the server. The version number of this is 0x109.

If the version number is greater than 0x109, this means that the clients include a checksum in all of their messages. Servers check all of the client's messages against the checksum if such a version is given.

0x10000 is added to the version ID and is used when identifying whether the operating system is 32-bit or 64-bit. Offsets are changed depending on this aspect of the architecture of the operating system.

Value

Meaning

0x00000102

32-bit Windows Server 2008 operating system, or 32-bit Windows Vista operating system.

0x00000109

32-bit Windows XP operating system, 32-bit Windows Server 2003 operating system, 32-bit Windows Home Server server software, 32-bit Windows Vista with Windows Search 4.0, 32-bit Windows Server 2003 with Windows Search 4.0. All of these versions of Windows are running Windows Search 4.0.

0x00000700

32-bit Windows 7 operating system.

0x00010102

64-bit version of Windows Vista or Windows Server 2008.

0x00010109

64-bit version of Windows Vista or Windows Server 2008 with Windows Search 4.0 installed.

0x00010700

64-bit Windows 7 and later or Windows Server 2008 R2 operating system and later.