7 Appendix B: Product Behavior

The information in this specification is applicable to the following Microsoft products or supplemental software. References to product versions include updates to those products.

 

  • Windows 8 operating system

  • Windows Server 2012 operating system

  • Windows 8.1 operating system

  • Windows Server 2012 R2 operating system

Exceptions, if any, are noted in this section. If an update version, service pack or Knowledge Base (KB) number appears with a product name, the behavior changed in that update. The new behavior also applies to subsequent updates unless otherwise specified. If a product edition appears with the product version, behavior is different in that product edition.

Unless otherwise specified, any statement of optional behavior in this specification that is prescribed using the terms "SHOULD" or "SHOULD NOT" implies product behavior in accordance with the SHOULD or SHOULD NOT prescription. Unless otherwise specified, the term "MAY" implies that the product does not follow the prescription.

<1> Section 2.1:  Microsoft SQM client and server implementations use HTTPS exclusively for client-server and proxy-server communication.

<2> Section 2.2.2.7:  Windows SQM clients use the GetVersionEx function to query the operating system version values (vermaj, vermin, verbld, and versp). For information on system information functions, see [MSDN-SysInfoFuncts].

<3> Section 2.2.2.7:  Windows SQM clients query the Windows registry value HKLM\System\CurrentControlSet\Control\Windows\CSDBuildNumber to specify the operating system revision value csdbld as described in [MSDN-RegQueryValueEx].

<4> Section 2.2.2.7:  Windows SQM clients use the GetProductInfo function to query the operating system stock keeping unit (sku) value. See [MSDN-SysInfoFuncts].

<5> Section 2.2.2.7:  Windows SQM clients use the GetSystemInfo function to query the operating system architecture (arch) value. See "[MSDN-SysInfoFuncts].

<6> Section 2.2.2.7:  Windows SQM clients use the GetVersionEx function to query the operating system version type value (ntprodtype).

<7> Section 2.2.2.7:  Windows SQM clients use the GetVersionEx function to query the operating system platform identifier value (platid).

<8> Section 2.2.2.7:  Windows SQM clients use the GetVersionEx function to query the operating system product suite value (prodsuite).

<9> Section 2.2.2.7:  Windows SQM clients get this value by using the GetUserGeoID function (see [MSDN-GetUserGeoID].

<10> Section 2.2.2.7:  Windows SQM clients get this value by using the GetSystemDefaultLCID function described in [MSDN-GetSystemDefaultLCID].

<11> Section 2.2.2.7:  Windows SQM clients use the GlobalMemoryStatusEx function described in [MSDN-GlobalMemoryStatusEx] for this value.

<12> Section 2.2.2.7:  Windows SQM clients use the IsOS function described in [MSDN-IsOS] for this value.

<13> Section 2.2.2.7:  Windows SQM clients get the version number from the registry key HKLM\SOFTWARE\Microsoft\Internet Explorer\Version.

<14> Section 2.2.2.8:  Windows SQM clients use the GetNativeSystemInfo to specify the hardware processor architecture (arch), as described in [MSDN-SysInfoFuncts].

<15> Section 2.2.2.8:  Windows SQM clients query the Windows registry value HKLM\System\CurrentControlSet\Control\SystemInformation\SystemProductName, by using the RegQueryValueEx function, as described in [MSDN-RegQueryValueEx], to specify the system manufacturer (syspro) value.

<16> Section 2.2.2.8:  Windows SQM clients use the PowerDeterminePlatformRole function, as described in [MSDN-PwrMgmtFunts], to specify the hardware form factor (form).

<17> Section 2.2.2.8:  Windows SQM clients use the CallNtPowerInformation function, as described in [MSDN-PwrMgmtFunts], to specify the always connected value (aoac).

<18> Section 2.2.2.8:  Windows SQM clients get this value by using the GetActiveProcessorCount function described in [MSDN-GetActiveProcessorCount].

<19> Section 2.2.2.8:  Windows SQM clients get the processor clock speed from the Windows registry key HKLM\Hardware\Description\System\CentralProcessor\0\~MHz.

<20> Section 2.2.2.8:  Windows SQM clients get this value by using the GetPhysicallyInstalledSystemMemory function described in [MSDN-GetPhyInstSysMem].

<21> Section 2.2.2.8:  Windows SQM clients query the Windows registry value HKLM\System\CurrentControlSet\Control\SystemInformation\BIOSVersion, using the RegQueryValueEx function, as described in [MSDN-RegQueryValueEx], to specify the BIOS version (bv) value.

<22> Section 2.2.2.8:  Windows SQM clients query the Windows registry value HKLM\Hardware\Description\System\BIOS\SystemSKU for the BIOS system SKU.

<23> Section 2.2.2.8:  The BIOS system SKU is available from the registry key HKLM\Hardware\Description\System\BIOS\SystemSKU.

<24> Section 2.2.2.8:  Windows SQM clients query the Windows registry key HKLM\Hardware\Description\System\BIOS\ComputerHardwareId for the hardware identifier.

<25> Section 2.2.2.8:  Windows SQM clients query the Windows registry key HKLM\Hardware\Description\System\BIOS\ComputerHardwareId.

<26> Section 2.2.2.8:  Windows SQM clients get this value from the *.mrk file in the Windows\System32\Drivers folder.

<27> Section 2.2.2.8:  Windows SQM client queries the Windows registry value HKLM\Software\Microsoft\Windows NT\CurrentVersion\WinSAT, by using the RegQueryValueEx function as described in [MSDN-WinSysAssmntTool] to specify the WinSAT values.

<28> Section 2.2.2.9:  Windows SQM clients use the UuidCreate function as described [MSDN-RPCF] to create a one-time client machine identifier (mid) value. This value is stored on the client registry at the location of: HKLM\Software\Microsoft\SQMClient\MachineId, and is specified as the mid value in every XML message.

<29> Section 2.2.2.9:  Windows SQM client uses the CryptGenRandom function, as described in [MSDN-CryptgrpFunts], to create a one-time random number (sample) value in the range [1, 108]. This value is stored on the client and specified as the sample value in every XML message. 

<30> Section 2.2.2.9:  In Windows, this value is stored in the following registry path: HKLM\Software\Policies\Microsoft\SQMClient\CorporateSQMURL.

<31> Section 2.2.2.9:  In Windows, this value is stored in the following registry path: HKLM\Software\Microsoft\SQMClient\IsTest

<32> Section 2.2.2.9:  In Windows, this value is stored in the following registry path: HKLM\Software\Policies\Microsoft\SQMClient\MSFTInternal or HKLM\Software\Microsoft\SqmClient\MSFTInternal

<33> Section 2.2.2.9: All optional name-value pairs are obtained from Windows licensees. License-specific values are sent from an OEM as part of windows activation and are stored in the following registry path: HKEY_LOCAL_MACHINE\Microsoft\Windows\TelemetryClient\OEMInfo.

<34> Section 2.2.2.9:  The caid element is implemented in Windows 8.1 only. Examples of Microsoft accounts include Outlook, Hotmail, and Live.

<35> Section 2.2.2.11:  Windows SQM clients use cabinet compression based on Microsoft Cabinet Format as described in [MSDN-CAB].

<36> Section 3.1.5.1:  Windows SQM servers accept an XML message with a maximum length of 1 MB (220).

<37> Section 3.1.5.3.1:  Windows SQM clients limit the length of the SQM session data to a maximum length of 20 MB.

<38> Section 3.2.5.1:  The Windows SQM service determines whether to accept or throttle a request upload message by evaluating the data in the message and applying a set of rules to determine the response.

<39> Section 3.3.3:  Windows Feedback Forwarder is implemented in Windows Server 2012 and Windows Server 2012 R2.