https://git.reactos.org/?p=reactos.git;a=commitdiff;h=af7defb5566c715a6a0a6…
commit af7defb5566c715a6a0a63835e79cd4a31fd6965
Author: Katayama Hirofumi MZ <katayama.hirofumi.mz(a)gmail.com>
AuthorDate: Sun Nov 26 21:30:00 2023 +0900
Commit: Katayama Hirofumi MZ <katayama.hirofumi.mz(a)gmail.com>
CommitDate: Sun Nov 26 21:30:00 2023 +0900
[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;
}
/*