On 13 February 2012 22:20, Dan Kegel <d...@kegel.com> wrote: > According to > http://www.zdnet.com/blog/perlow/the-long-kiss-goodbye-for-x86-desktop-windows/19840 > Microsoft is not letting developers use win32 on arm (although > Microsoft is probably using it themselves for Office on arm). > Instead, native apps have to use WinRT, a C++-based class library.
WinRT consists of: 1. a cutdown set of the Win32 API (including subsets of DirectX 11, DirectWrite, etc); 2. an extension to COM that provides .NET-style metadata about objects via IInspectable and other APIs (akin to IDispatch); 3. a set of APIs that build on top of (2), including a Metro-specific XAML API; 4. bindings to the WinRT COM API via (a) C++ extensions (think _bstr_t and friends or ATL with language extensions similar to C++/CLI, but compiling to native COM code), (b) .NET (through the .NET runtime) and (c) HTML/JavaScript via the IE10 JavaScript platform. So C++ code is not needed to implement the WinRT API: it can be handled through the existing COM in C mechanisms that Wine uses. - Reece