From af7defb5566c715a6a0a63835e79cd4a31fd6965 Mon Sep 17 00:00:00 2001 From: Katayama Hirofumi MZ Date: Sun, 26 Nov 2023 21:30:00 +0900 Subject: [PATCH] [KERNEL32] Implement SetComPlusPackageInstallStatus --- dll/win32/kernel32/client/appcache.c | 26 ++++++++++++++++++++++---- 1 file changed, 22 insertions(+), 4 deletions(-) diff --git a/dll/win32/kernel32/client/appcache.c b/dll/win32/kernel32/client/appcache.c index 81ffaefc3b8..0b2ebec1afe 100644 --- a/dll/win32/kernel32/client/appcache.c +++ b/dll/win32/kernel32/client/appcache.c @@ -415,14 +415,32 @@ GetComPlusPackageInstallStatus(VOID) } /* - * @unimplemented + * @implemented */ BOOL WINAPI -SetComPlusPackageInstallStatus(LPVOID lpInfo) +SetComPlusPackageInstallStatus(IN ULONG ComPlusPackage) { - STUB; - return FALSE; + NTSTATUS Status; + + DPRINT("(0x%X)\n", ComPlusPackage); + + if (ComPlusPackage & ~1) + { + DPRINT1("0x%lX\n", ComPlusPackage); + BaseSetLastNTError(STATUS_INVALID_PARAMETER); + return FALSE; + } + + Status = NtSetSystemInformation(SystemComPlusPackage, &ComPlusPackage, sizeof(ComPlusPackage)); + if (!NT_SUCCESS(Status)) + { + DPRINT1("0x%lX\n", Status); + BaseSetLastNTError(Status); + return FALSE; + } + + return TRUE; } /*