From b5c1f4a7a451eb11ee8188623352747dcfe660ca Mon Sep 17 00:00:00 2001 From: Mohamad Al-Jaf Date: Thu, 11 Nov 2021 05:01:26 -0500 Subject: [PATCH] kernelbase: Implement AppPolicyGetMediaFoundationCodecLoading. Enables native Windows 10 media foundation libraries to run. Signed-off-by: Mohamad Al-Jaf Signed-off-by: Nikolay Sivov Signed-off-by: Alexandre Julliard --- .../api-ms-win-appmodel-runtime-l1-1-2.spec | 2 +- dlls/kernelbase/kernelbase.spec | 2 +- dlls/kernelbase/main.c | 14 ++++++++++++++ include/appmodel.h | 7 +++++++ 4 files changed, 23 insertions(+), 2 deletions(-) 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 3c1b4058a9f..89fe702bbc2 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 @@ -1,7 +1,7 @@ @ stub AppPolicyGetClrCompat @ stub AppPolicyGetCreateFileAccess @ stub AppPolicyGetLifecycleManagement -@ stub AppPolicyGetMediaFoundationCodecLoading +@ stdcall AppPolicyGetMediaFoundationCodecLoading(ptr ptr) kernelbase.AppPolicyGetMediaFoundationCodecLoading @ stdcall AppPolicyGetProcessTerminationMethod(ptr ptr) kernelbase.AppPolicyGetProcessTerminationMethod @ stdcall AppPolicyGetShowDeveloperDiagnostic(ptr ptr) kernelbase.AppPolicyGetShowDeveloperDiagnostic @ stdcall AppPolicyGetThreadInitializationType(ptr ptr) kernelbase.AppPolicyGetThreadInitializationType diff --git a/dlls/kernelbase/kernelbase.spec b/dlls/kernelbase/kernelbase.spec index dd9f4a8ddce..55208889c35 100644 --- a/dlls/kernelbase/kernelbase.spec +++ b/dlls/kernelbase/kernelbase.spec @@ -43,7 +43,7 @@ # @ stub AppPolicyGetClrCompat # @ stub AppPolicyGetCreateFileAccess # @ stub AppPolicyGetLifecycleManagement -# @ stub AppPolicyGetMediaFoundationCodecLoading +@ stdcall AppPolicyGetMediaFoundationCodecLoading(ptr ptr) @ stdcall AppPolicyGetProcessTerminationMethod(ptr ptr) @ stdcall AppPolicyGetShowDeveloperDiagnostic(ptr ptr) @ stdcall AppPolicyGetThreadInitializationType(ptr ptr) diff --git a/dlls/kernelbase/main.c b/dlls/kernelbase/main.c index b90ee1cba2c..e6cf892a4dc 100644 --- a/dlls/kernelbase/main.c +++ b/dlls/kernelbase/main.c @@ -88,6 +88,20 @@ INT WINAPI MulDiv( INT a, INT b, INT c ) return ret; } +/*********************************************************************** + * AppPolicyGetMediaFoundationCodecLoading (KERNELBASE.@) + */ + +LONG WINAPI AppPolicyGetMediaFoundationCodecLoading(HANDLE token, AppPolicyMediaFoundationCodecLoading *policy) +{ + FIXME("%p, %p\n", token, policy); + + if(policy) + *policy = AppPolicyMediaFoundationCodecLoading_All; + + return ERROR_SUCCESS; +} + /*********************************************************************** * AppPolicyGetProcessTerminationMethod (KERNELBASE.@) */ diff --git a/include/appmodel.h b/include/appmodel.h index e4288bbfbb0..8c219e8080a 100644 --- a/include/appmodel.h +++ b/include/appmodel.h @@ -22,6 +22,12 @@ extern "C" { #endif +typedef enum AppPolicyMediaFoundationCodecLoading +{ + AppPolicyMediaFoundationCodecLoading_All = 0, + AppPolicyMediaFoundationCodecLoading_InboxOnly = 1, +} AppPolicyMediaFoundationCodecLoading; + typedef enum AppPolicyProcessTerminationMethod { AppPolicyProcessTerminationMethod_ExitProcess = 0, @@ -78,6 +84,7 @@ typedef struct PACKAGE_ID } PACKAGE_ID; +LONG WINAPI AppPolicyGetMediaFoundationCodecLoading(HANDLE token, AppPolicyMediaFoundationCodecLoading *policy); LONG WINAPI AppPolicyGetProcessTerminationMethod(HANDLE token, AppPolicyProcessTerminationMethod *policy); LONG WINAPI AppPolicyGetShowDeveloperDiagnostic(HANDLE token, AppPolicyShowDeveloperDiagnostic *policy); LONG WINAPI AppPolicyGetThreadInitializationType(HANDLE token, AppPolicyThreadInitializationType *policy);