February 3rd, 2021

Why is there no useful information in the RetailInfo class?

A customer was looking to obtain processor information and found that the Windows Runtime RetailInfo class claims to provide all sorts of information, including ProcessorDescription. But when they try to read it, they found that the RetailInfo.Properties was blank. What’s going on?

The RetailInfo class is purely marketing information. The idea is that a store takes a floor sample and puts it into retail demo mode, specifying values for the various RetailInfo properties. It then sets up the system on the sales floor in attract mode. The attract mode program can use the information to promote the system. “Get this 〈model〉 computer, with 〈amount〉 of RAM for only 〈price〉! Ask any sales associate for more information.”

Since this is marketing, there is no requirement that the information provided by the sales department in any way resembles reality.

Programs can query whether the system is running in Retail Demo mode and tailor their behavior accordingly. For example, a productivity app or game should turn off in-app paid upgrades. a painting app could start with a half-painted picture instead of a blank canvas. A program that requires you create an account in order to use it to configure matching hardware could transform itself into an advertisement for that hardware.

If the system is not in retail demo mode, then the IsDemoModeEnabled property is false, and the Properties are empty.

Okay, but back to the original question. If you want to know what processor the system has, you can start by calling Get­Native­System­Info to determine the architecture, and then you can call the Is­Processor­Feature­Present function to see which features are supported by the current processor. You can also use the __cpuid intrinsic to extract CPU manufacturer details.

Topics
Code

Author

Raymond has been involved in the evolution of Windows for more than 30 years. In 2003, he began a Web site known as The Old New Thing which has grown in popularity far beyond his wildest imagination, a development which still gives him the heebie-jeebies. The Web site spawned a book, coincidentally also titled The Old New Thing (Addison Wesley 2007). He occasionally appears on the Windows Dev Docs Twitter account to tell stories which convey no useful information.

0 comments

Discussion are closed.