diff --git a/dlls/api-ms-win-appmodel-runtime-l1-1-2/api-ms-win-appmodel-runtime-l1-1-2.spec b/dlls/api-ms-win-appmodel-runtime-l1-1-2/api-ms-win-appmodel-runtime-l1-1-2.spec
index 40f5f53..3c1b405 100644
--- a/dlls/api-ms-win-appmodel-runtime-l1-1-2/api-ms-win-appmodel-runtime-l1-1-2.spec
+++ b/dlls/api-ms-win-appmodel-runtime-l1-1-2/api-ms-win-appmodel-runtime-l1-1-2.spec
@@ -5,7 +5,7 @@
 @ stdcall AppPolicyGetProcessTerminationMethod(ptr ptr) kernelbase.AppPolicyGetProcessTerminationMethod
 @ stdcall AppPolicyGetShowDeveloperDiagnostic(ptr ptr) kernelbase.AppPolicyGetShowDeveloperDiagnostic
 @ stdcall AppPolicyGetThreadInitializationType(ptr ptr) kernelbase.AppPolicyGetThreadInitializationType
-@ stub AppPolicyGetWindowingModel
+@ stdcall AppPolicyGetWindowingModel(ptr ptr) kernelbase.AppPolicyGetWindowingModel
 @ stub GetApplicationUserModelIdFromToken
 @ stub GetPackageFamilyNameFromToken
 @ stub GetPackageFullNameFromToken
diff --git a/dlls/kernelbase/kernelbase.spec b/dlls/kernelbase/kernelbase.spec
index 17b84da..395b658 100644
--- a/dlls/kernelbase/kernelbase.spec
+++ b/dlls/kernelbase/kernelbase.spec
@@ -47,7 +47,7 @@
 @ stdcall AppPolicyGetProcessTerminationMethod(ptr ptr)
 @ stdcall AppPolicyGetShowDeveloperDiagnostic(ptr ptr)
 @ stdcall AppPolicyGetThreadInitializationType(ptr ptr)
-# @ stub AppPolicyGetWindowingModel
+@ stdcall AppPolicyGetWindowingModel(ptr ptr)
 # @ stub AppXFreeMemory
 # @ stub AppXGetApplicationData
 # @ stub AppXGetDevelopmentMode
diff --git a/dlls/kernelbase/main.c b/dlls/kernelbase/main.c
index be771c2..b0a3478 100644
--- a/dlls/kernelbase/main.c
+++ b/dlls/kernelbase/main.c
@@ -62,6 +62,18 @@
     return ERROR_SUCCESS;
 }
 
+/***********************************************************************
+ *          AppPolicyGetWindowingModel (KERNELBASE.@)
+ */
+LONG WINAPI AppPolicyGetWindowingModel(HANDLE token, AppPolicyWindowingModel *policy)
+{
+    FIXME("%p, %p\n", token, policy);
+
+    if(policy)
+        *policy = AppPolicyWindowingModel_ClassicDesktop;
+
+    return ERROR_SUCCESS;
+}
 
 /***********************************************************************
  *          QuirkIsEnabled3 (KERNELBASE.@)
diff --git a/include/appmodel.h b/include/appmodel.h
index 58d69a0..34da979 100644
--- a/include/appmodel.h
+++ b/include/appmodel.h
@@ -40,9 +40,18 @@
     AppPolicyShowDeveloperDiagnostic_ShowUI = 1,
 } AppPolicyShowDeveloperDiagnostic;
 
+typedef enum AppPolicyWindowingModel
+{
+    AppPolicyWindowingModel_None           = 0,
+    AppPolicyWindowingModel_Universal      = 1,
+    AppPolicyWindowingModel_ClassicDesktop = 2,
+    AppPolicyWindowingModel_ClassicPhone   = 3
+} AppPolicyWindowingModel;
+
 LONG WINAPI AppPolicyGetProcessTerminationMethod(HANDLE token, AppPolicyProcessTerminationMethod *policy);
 LONG WINAPI AppPolicyGetShowDeveloperDiagnostic(HANDLE token, AppPolicyShowDeveloperDiagnostic *policy);
 LONG WINAPI AppPolicyGetThreadInitializationType(HANDLE token, AppPolicyThreadInitializationType *policy);
+LONG WINAPI AppPolicyGetWindowingModel(HANDLE processToken, AppPolicyWindowingModel *policy);
 
 #if defined(__cplusplus)
 }
