Is there a new macro to determine in code if the application is running on WinRT? As I'm working with LoadLibrary
, it would be great if there is a macro to replace all calls to LoadLibrary
with one to LoadPackagedLibrary
...
I'm understanding the documentation correct as in I can load any DLL (as long as it's inside my package) via LoadPackagedLibrary
, right?! (And as long as that DLL doesn't use black-listed APIs...)
I recently updated to Visual Studio 2012, and think I found the answer to my question:
Inside the Microsoft Headers the Macro WINAPI_FAMILY_PARTITION
is used to determine the "Level" of WinAPI. Currently there are WINAPI_PARTITION_DESKTOP
and WINAPI_PARTITION_APP
, therefore I "guess" that via this macro one can differentiate between Desktop and Metro...
The two macros lead to another set of macros: #define WINAPI_FAMILY_APP WINAPI_PARTITION_APP
and #define WINAPI_FAMILY_DESKTOP_APP (WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_APP)
. Therefore if WINAPI_FAMILY_APP
is defined one should be able to assume that it's a Metro application...
To add your to answer, please see this article Dual-use Coding Techniques for Games
In the introduction part
Apps written for the Windows Store make use of the Windows Runtime (WinRT) and a restricted subset of Win32 APIs located in the core API family (indicated by WINAPI_FAMILY set to WINAPI_PARTITION_APP). Traditional Win32 desktop apps have access to a larger desktop API family (indicated by WINAPI_FAMILY set to WINAPI_PARTITION_DESKTOP), but this is subject to various levels of OS support required for each function
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With