Entries:
Comments:
Posts:

Loading User Information from Channel 9

Something went wrong getting user information from Channel 9

Latest Achievement:

Loading User Information from MSDN

Something went wrong getting user information from MSDN

Visual Studio Achievements

Latest Achievement:

Loading Visual Studio Achievements

Something went wrong getting the Visual Studio Achievements

rt15

rt15 rt15

Niner since 2011

  • Using the Windows Runtime from C++

    Here is a link to some official lower level documentation. I don't know if it is WRL though, but it really seems to.

    http://msdn.microsoft.com/en-us/library/hh309536%28VS.85%29.aspx

    From some other persons investigations, it really seems that WinRT is currently built over Win32. Combase.dll and others rely on user32.dll and other classical libraries (MinWin is mentioned). The window that contains metro application is a classical win32 window. DirectX is probably used to draw controls in it.

    It is funny that technically, WinRT really looks like FireMonkey from embarcadero: an UI library based on DirectX/Win32.

  • Using the Windows Runtime from C++

    Perhaps this tool even already exists, made by Microsoft.

    Anyway, I have not read it yet, but here should be an starting article about bypassing the extension and use COM stuff directly.

    http://www.interact-sw.co.uk/iangblog/2011/09/16/real-native-winrt

  • Using the Windows Runtime from C++

    You feel very pessimistic. But it could have been worst for C++. There were other possible scenarios:

    -> Metro app could have been limited to HTML/Silverlight like on WP7. Sad

    -> WinRT could have been exposed as a .NET library added to the CLR. Crying

    In those cases there would have been no other solution than using C++/CLI to build metro app in C++...

    Then, I did not tried, but in theory, it is possible to write metro application using standard C++.

    Why?

    Because the interface of WinRT API is supposed to be COM. But is it true COM? There is some traces of possible modifications, like a midlrt tool. There is also new famous interface IInspectable that seems to more or less replace IDispatch. But you are probably free to use all the COM stuff the old way, by hand (CoCreateInstance and so on). But it sounds painfull, like COM was (At least for me)...

    Perhaps the wrl of Yannick could be another solution.

    I don't know what is in the header files of wrl, but it seems from the web that there have been some additions to "Win32", like a WinRTInitialize in combase.dll. Or a CreateImmersiveWindow in TWINAPI.DLL. Is it a Win32 like layer under WinRT? It is still pretty hard to find information about WinRT internals (Does WinRT rely on Win32/DirectX, ntdll, the kernel?) without installing windows 8...