Stub GetCurrentPackageId() (#1942)
authorWilliam Kent <wjk011@gmail.com>
Fri, 29 Nov 2019 07:56:02 +0000 (02:56 -0500)
committerTimo Kreuzer <timo.kreuzer@reactos.org>
Fri, 29 Nov 2019 07:56:02 +0000 (08:56 +0100)
* [KERNEL32] Add stub implementation for GetCurrentPackageId() function

This Windows 8+ function is called by WiX bundles (EXE-based installers) upon exit, if the export is present. If it is a stub in the spec, they will crash, even if they are coded to be compatible with Windows XP/ReactOS.
Also add GetCurrentPackageId() forwarder to apiset.

dll/apisets/CMakeLists.txt
dll/apisets/api-ms-win-appmodel-runtime-l1-1-1.spec
dll/win32/kernel32/client/sysinfo.c
dll/win32/kernel32/kernel32.spec

index 778af7f..4e65858 100644 (file)
@@ -40,7 +40,7 @@ add_cd_file(FILE ${CMAKE_CURRENT_SOURCE_DIR}/x86_reactos.apisets_6595b64144ccf1d
 # Apisets will be appended
 
 add_apiset(api-ms-win-appmodel-identity-l1-1-0 0x60000000 )
-add_apiset(api-ms-win-appmodel-runtime-l1-1-1 0x60020000 )
+add_apiset(api-ms-win-appmodel-runtime-l1-1-1 0x60020000 kernel32)
 add_apiset(api-ms-win-appmodel-runtime-l1-1-2 0x60040000 )
 add_apiset(api-ms-win-core-apiquery-l1-1-0 0x60060000 )
 add_apiset(api-ms-win-core-appcompat-l1-1-1 0x60070000 kernel32)
index c814f9b..1c48874 100644 (file)
@@ -8,7 +8,7 @@
 @ stub GetCurrentApplicationUserModelId
 @ stub GetCurrentPackageFamilyName
 @ stub GetCurrentPackageFullName
-@ stub GetCurrentPackageId
+@ stdcall -version=0x602+ GetCurrentPackageId(ptr ptr) kernel32.GetCurrentPackageId
 @ stub GetCurrentPackageInfo
 @ stub GetCurrentPackagePath
 @ stub GetPackageApplicationIds
index ac0ad75..74151c1 100644 (file)
@@ -582,3 +582,15 @@ SetSystemFileCacheSize(IN SIZE_T MinimumFileCacheSize,
     STUB;
     return FALSE;
 }
+
+/*
+ * @unimplemented
+ */
+LONG
+WINAPI
+GetCurrentPackageId(UINT32 *BufferLength,
+                    BYTE *Buffer)
+{
+    STUB;
+    return APPMODEL_ERROR_NO_PACKAGE;
+}
index 3612239..b7cf1e6 100644 (file)
 @ stub -version=0x600+ GetCurrentConsoleFontEx
 @ stdcall GetCurrentDirectoryA(long ptr)
 @ stdcall GetCurrentDirectoryW(long ptr)
+@ stdcall -version=0x602+ GetCurrentPackageId(ptr ptr)
 @ stdcall -norelay GetCurrentProcess()
 @ stdcall -norelay GetCurrentProcessId()
 @ stdcall GetCurrentProcessorNumber() ntdll.RtlGetCurrentProcessorNumber