https://git.reactos.org/?p=reactos.git;a=commitdiff;h=a8e8add0c035baea24de6b4100076021adda6599

commit a8e8add0c035baea24de6b4100076021adda6599
Author:     Timo Kreuzer <timo.kreu...@reactos.org>
AuthorDate: Thu Oct 5 21:54:05 2023 +0300
Commit:     Timo Kreuzer <timo.kreu...@reactos.org>
CommitDate: Wed Oct 18 15:55:41 2023 +0300

    [KERNEL32] Export more Vista functions
---
 dll/win32/kernel32/CMakeLists.txt                |  1 -
 dll/win32/kernel32/kernel32.spec                 | 14 +++++++-------
 dll/win32/kernel32/kernel32_vista/CMakeLists.txt | 10 +++++++++-
 3 files changed, 16 insertions(+), 9 deletions(-)

diff --git a/dll/win32/kernel32/CMakeLists.txt 
b/dll/win32/kernel32/CMakeLists.txt
index 555aaab31dc..c9d491d4837 100644
--- a/dll/win32/kernel32/CMakeLists.txt
+++ b/dll/win32/kernel32/CMakeLists.txt
@@ -49,7 +49,6 @@ list(APPEND SOURCE
     client/console/history.c
     client/console/init.c
     client/console/readwrite.c
-    client/console/vista.c
     client/file/backup.c
     client/file/cnotify.c
     client/file/copy.c
diff --git a/dll/win32/kernel32/kernel32.spec b/dll/win32/kernel32/kernel32.spec
index c4583be816f..3b41edde6d8 100644
--- a/dll/win32/kernel32/kernel32.spec
+++ b/dll/win32/kernel32/kernel32.spec
@@ -405,7 +405,7 @@
 @ stdcall GetConsoleFontInfo(long long long ptr)
 @ stdcall GetConsoleFontSize(long long)
 @ stdcall GetConsoleHardwareState(long long ptr)
-@ stub -version=0x600+ GetConsoleHistoryInfo
+@ stdcall -version=0x600+ GetConsoleHistoryInfo(ptr)
 @ stdcall GetConsoleInputExeNameA(long ptr)
 @ stdcall GetConsoleInputExeNameW(long ptr)
 @ stdcall GetConsoleInputWaitHandle()
@@ -413,12 +413,12 @@
 @ stdcall GetConsoleKeyboardLayoutNameW(ptr)
 @ stdcall GetConsoleMode(long ptr)
 @ stdcall GetConsoleNlsMode(long ptr)
-@ stub -version=0x600+ GetConsoleOriginalTitleA
-@ stub -version=0x600+ GetConsoleOriginalTitleW
+@ stdcall -version=0x600+ GetConsoleOriginalTitleA(ptr long)
+@ stdcall -version=0x600+ GetConsoleOriginalTitleW(ptr long)
 @ stdcall GetConsoleOutputCP()
 @ stdcall GetConsoleProcessList(ptr long) ; missing in XP SP3
 @ stdcall GetConsoleScreenBufferInfo(long ptr)
-@ stdcall -stub -version=0x600+ GetConsoleScreenBufferInfoEx(ptr ptr)
+@ stdcall -version=0x600+ GetConsoleScreenBufferInfoEx(ptr ptr)
 @ stdcall GetConsoleSelectionInfo(ptr)
 @ stdcall GetConsoleTitleA(ptr long)
 @ stdcall GetConsoleTitleW(ptr long)
@@ -428,7 +428,7 @@
 @ stdcall GetCurrencyFormatW(long long wstr ptr wstr long)
 @ stdcall GetCurrentActCtx(ptr)
 @ stdcall GetCurrentConsoleFont(long long ptr)
-@ stub -version=0x600+ GetCurrentConsoleFontEx
+@ stdcall -version=0x600+ GetCurrentConsoleFontEx(ptr long ptr)
 @ stdcall GetCurrentDirectoryA(long ptr)
 @ stdcall GetCurrentDirectoryW(long ptr)
 @ stdcall -version=0x602+ GetCurrentPackageId(ptr ptr)
@@ -982,7 +982,7 @@
 @ stdcall SetConsoleDisplayMode(long long ptr)
 @ stdcall SetConsoleFont(long long)
 @ stdcall SetConsoleHardwareState(long long long)
-@ stub -version=0x600+ SetConsoleHistoryInfo
+@ stdcall -version=0x600+ SetConsoleHistoryInfo(ptr)
 @ stdcall SetConsoleIcon(ptr)
 @ stdcall SetConsoleInputExeNameA(ptr)
 @ stdcall SetConsoleInputExeNameW(ptr)
@@ -997,7 +997,7 @@
 @ stdcall SetConsoleOS2OemFormat(long)
 @ stdcall SetConsoleOutputCP(long)
 @ stdcall SetConsolePalette(long long long)
-@ stub -version=0x600+ SetConsoleScreenBufferInfoEx
+@ stdcall -version=0x600+ SetConsoleScreenBufferInfoEx(ptr ptr)
 @ stdcall SetConsoleScreenBufferSize(long long)
 @ stdcall SetConsoleTextAttribute(long long)
 @ stdcall SetConsoleTitleA(str)
diff --git a/dll/win32/kernel32/kernel32_vista/CMakeLists.txt 
b/dll/win32/kernel32/kernel32_vista/CMakeLists.txt
index 3b2b8e735b7..0ffbadc1ad6 100644
--- a/dll/win32/kernel32/kernel32_vista/CMakeLists.txt
+++ b/dll/win32/kernel32/kernel32_vista/CMakeLists.txt
@@ -3,7 +3,7 @@ remove_definitions(-D_WIN32_WINNT=0x502 -DWINVER=0x502)
 add_definitions(-D_WIN32_WINNT=0x600 -DWINVER=0x600)
 
 add_definitions(-D_KERNEL32_)
-include_directories(${REACTOS_SOURCE_DIR}/sdk/include/reactos/subsys)
+include_directories(${REACTOS_SOURCE_DIR}/sdk/include/reactos/subsys ..)
 spec2def(kernel32_vista.dll kernel32_vista.spec ADD_IMPORTLIB)
 
 list(APPEND SOURCE
@@ -13,7 +13,15 @@ list(APPEND SOURCE
     sync.c
     vista.c)
 
+# These functions are not exported from kernel32_vista (yet).
+# They are only used when NT6 exports in kernel32 are enabled.
+if(DLL_EXPORT_VERSION GREATER_EQUAL 0x600)
+    list(APPEND SOURCE
+        ../client/console/vista.c)
+endif()
+
 add_library(kernel32_vista_static ${SOURCE})
+target_link_libraries(kernel32_vista_static ${PSEH_LIB})
 add_dependencies(kernel32_vista_static psdk)
 add_library(kernel32_vista MODULE DllMain.c 
${CMAKE_CURRENT_BINARY_DIR}/kernel32_vista.def)
 set_module_type(kernel32_vista win32dll ENTRYPOINT DllMain 12)

Reply via email to