Microsoft’s and a Lack of Documentation

Today I have been working on the operating system identification engine for CSIT. However. I have been quite frustrated by Mirosoft’s lack of documentation for some items. I have been using the GetProductInfo function call via pinvoke from C#. After digging around in the WinNT.h header file that came with Visual Studio I found the definitions for the product versions that can be returned.

However, to my disappointment some of them are complete undocumented by Microsoft! Items such as these:

#define PRODUCT_SB_SOLUTION_SERVER_EM               0x00000036
#define PRODUCT_SERVER_FOR_SB_SOLUTIONS_EM          0x00000037

… have absolutely no definition, anywhere. Without a definition I cannot use these and so they are totally useless. I ask you Microsoft, why do you include definitions but fail to provide an exploitation of what they are? They must mean something but what that is, I have no idea until Microsoft choose to update their documentation.

Hopefully someone from Microsoft with the power to change this will read this post and do something about it. But if anyone has any idea what these keys mean and have a reference somewhere – please let me know!