locked
Windows 8.1 architecture stack

    Question


  • I want to know the exact position of winrt and win32 in the architecture stack of windows 8.1 Metro Apps.

    Basically I want to know the exact difference between WInRT and Win32, i.e., whether WinRT sits on top of Win32 in architecture stack or this is not the case or whether WinRT has completely replaced Win32 in the new architecture and there is no role of Win32 in the stack. I want a clear diagram depicting the positions of both the API's (if they exist) in windows 8.1 Metro Apps.

    Monday, July 21, 2014 12:00 PM

Answers

  • The diagram is a bit of a simplification. The "Windows Core OS Services" includes Win32 and COM.

    To address your initial question "WinRT sits on top of Win32 in architecture stack or this is not the case or whether WinRT has completely replaced Win32 in the new architecture and there is no role of Win32 in the stack": The Windows Runtime sits on top of Win32 in the architecture stack.

    There are several good sessions from //build 2011 which go into more detail. Some of the details have changed since then, but the overall concepts are still valid:

    In particular, check out Martin Lovell's Lap around the Windows Runtime .

    Do you have a specific problem you are trying to solve or are you just looking for general background?

    --Rob

    Tuesday, July 22, 2014 10:04 PM
    Owner

All replies

  • Hi,

    I am moving this case to Building Windows Store apps with C# or VB forum for better response.

    Best regards,


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.

    Tuesday, July 22, 2014 6:47 AM
  • Hi,

    As far as I know,WinRT is a reimagened version of Win32.
    Where it's hard to have communication between programs in Win32, WinRT provides easy access to the features of another application (check the charms for example).
    Also, not everything you can do on Win32 is supported by WinRT because it runs in a sandboxed mode, protecting your applications just a little better. WinRT is a Subset of Win32 APIs where it can allow certain features of Win32(API calls) that will provide the Secure sandboxed environment for Store apps. So, WinRT is not a replacement for Win32 is a subset  of Win32 that will help us meet our app with Win8 store guidelines and certification. PS: As a result, WinRT features/capabilities will be restricted comparable to Win32. Native apps can still use WinRT to communicate with Kernel level services.

    Windows Runtime apps can use a subset of the Win32 and COM APIs. This subset of APIs was chosen to support key scenarios for Windows Runtime apps that were not already covered by the Windows Runtime, HTML/CSS, or other supported languages or standards. The Windows App Certification Kit ensures that your app uses only this subset of the Win32 and COM API. In a native app, you can call these APIs directly. In a managed app, you can call them via a Windows Runtime Component, or via P/Invoke. Please see the link to see which of Win32 and COM API elements that are provided for developing Windows Runtime apps for Windows:

    http://msdn.microsoft.com/en-us/library/windows/desktop/br205757.aspx

    Best Wishes!


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place. <br/> Click <a href="http://support.microsoft.com/common/survey.aspx?showpage=1&scid=sw%3Ben%3B3559&theme=tech"> HERE</a> to participate the survey.

    Tuesday, July 22, 2014 8:18 AM
  • Hi,

    Thanks for the reply. It has given me some clarity. But one thing I am not able to understand is that in the general diagram of Metro App Architecture stack, which is given on this link : 

    http://programmers.stackexchange.com/questions/155521/what-is-the-difference-between-windows-8-winrt-and-windows-rt

    there is only WinRT API component present in the Metro Style App and there is no mention of Win32 or COM in the diagram. So, is the diagram wrong or am I missing something?
    Tuesday, July 22, 2014 6:48 PM
  • The diagram is a bit of a simplification. The "Windows Core OS Services" includes Win32 and COM.

    To address your initial question "WinRT sits on top of Win32 in architecture stack or this is not the case or whether WinRT has completely replaced Win32 in the new architecture and there is no role of Win32 in the stack": The Windows Runtime sits on top of Win32 in the architecture stack.

    There are several good sessions from //build 2011 which go into more detail. Some of the details have changed since then, but the overall concepts are still valid:

    In particular, check out Martin Lovell's Lap around the Windows Runtime .

    Do you have a specific problem you are trying to solve or are you just looking for general background?

    --Rob

    Tuesday, July 22, 2014 10:04 PM
    Owner
  • Actually I want to dive deep into this topic just for my understanding, as there is a bit of confusion in my mind regarding WinRT and Win32. So, if you have more links or videos then please do share.
    Wednesday, July 23, 2014 7:05 PM