WinRT is not a replacement for any part of Windows we have come to know. Desktop applications written in earlier versions of Windows, will run properly in the desktop mode on Windows 8.
The following picture shows an overview of the traditional desktop applications and the new metro style applications. We also see the APIs that supports the programming languages in the new platform.
Through the above APIs, the developer can communicate with other APIs on the basis of numerous objects. There are more than 800 objects available for approaching APIs. Every object implements several interfaces. These interfaces are located in the registry.
These are the API’s of Windows Runtime:
Every WinRT object supports interfaces, and two of these interfaces are very important: IUknown and IInspectable. The first one is a sort of a parent interface where every other interface inherit from it, directly or indirectly. IIspectable is an interface to inspect an object and to know what the members are. If you want to create an object in WinRT, for example, to communicate with the webcam, you call a certain class. This class looks then in the Activation Store, which is located in the registry, to implement the necessary interfaces. Once the interfaces are implemented, this information is stored in the Windows metadata.
Below there is an example of the FileInformation class which has 3 interfaces. As a developer you will not see these interfaces, but they will be implemented as soon as you use the FileInformation class. What exactly happens here is that the FileInformation class will obtain the interfaces from the Activation Store. The object is then activated from the Registry, and stored in the Windows metadata.
This was a short introduction about Microsoft’s new platform Windows Runtime and a description of what happens when you create an object in it’s environment.
The images used in this article come from Microsoft’s Build event.