The Preview of Windows 8.1 has been released during the Microsoft //Build conference at San Francisco. Everyone is now able to download the Preview, update their machine and start to explore the new features with Visual Studio 2013 Preview.
How to list new WinRT types?
As a developer, I would highly recommend you to download the updated Windows 8.1 SDK Samples for a wide coverage of the new APIs. If, like me, you really want to get the exact list of the new types in WinRT, my WinmdDiff tool is for you!
I leverage the same unmanaged
IMetaDataDispenser API that I used for my BCLDiff tool but Instead of loading managed .dll, .winmd files are loaded. As I explained in a previous post, these files contain the metadata that describes WinRT namespaces, types and members.
The Windows SDK installs one single windows.winmd file under C:\Program Files (x86)\Windows Kits\8.x\References\CommonConfiguration\Neutral\ with x either 0 for Windows 8 or 1 for Windows 8.1. However, you could also get the .winmd files installed with Windows under the Windows\System32\WinMetaData folder. Note that you could also use this tool with your own WinRT components.
When the Diff button is clicked, all .winmd files in the Old and New folders are loaded. The types that appear in the metadata files from the new folder but not from the old folder are kept and sorted under their corresponding namespaces. That way, you end up with the list of types that are new to Windows 8.1!
In addition to the windows.winmd file, the Windows SDK also installs a windows.xml file that contains the documentation of each namespace, type and member. The WinmdDiff tool parses this file to extract raw summary when possible and displays the text corresponding to the selected element.
I hope this helps.