From d5286af2e1edfa9604b00b45d9be0816a5131b2b Mon Sep 17 00:00:00 2001 From: Timo Kreuzer Date: Thu, 8 May 2025 12:39:58 +0300 Subject: [PATCH] [NTDLL_VISTA] Export RtlLcidToLocaleName and RtlLocaleNameToLcid --- dll/ntdll/nt_0600/DllMain.c | 12 ++++++++++++ dll/ntdll/nt_0600/ntdll_vista.spec | 2 ++ sdk/lib/rtl/CMakeLists.txt | 1 + 3 files changed, 15 insertions(+) diff --git a/dll/ntdll/nt_0600/DllMain.c b/dll/ntdll/nt_0600/DllMain.c index 38a0d448916..97b92e61e83 100644 --- a/dll/ntdll/nt_0600/DllMain.c +++ b/dll/ntdll/nt_0600/DllMain.c @@ -1,15 +1,27 @@ #include "ntdll_vista.h" +NTSTATUS +NTAPI +RtlpInitializeLocaleTable(VOID); + BOOL WINAPI DllMain(HANDLE hDll, DWORD dwReason, LPVOID lpReserved) { + NTSTATUS Status; + if (dwReason == DLL_PROCESS_ATTACH) { LdrDisableThreadCalloutsForDll(hDll); RtlpInitializeKeyedEvent(); + Status = RtlpInitializeLocaleTable(); + if (!NT_SUCCESS(Status)) + { + RtlpCloseKeyedEvent(); + return FALSE; + } } else if (dwReason == DLL_PROCESS_DETACH) { diff --git a/dll/ntdll/nt_0600/ntdll_vista.spec b/dll/ntdll/nt_0600/ntdll_vista.spec index 2bf9f747a00..239726eb453 100644 --- a/dll/ntdll/nt_0600/ntdll_vista.spec +++ b/dll/ntdll/nt_0600/ntdll_vista.spec @@ -18,3 +18,5 @@ @ stdcall RtlConnectToSm(ptr ptr long ptr) SmConnectToSm @ stdcall RtlSendMsgToSm(ptr ptr) SmSendMsgToSm +@ stdcall RtlLcidToLocaleName(long ptr long long) +@ stdcall RtlLocaleNameToLcid(wstr ptr long) diff --git a/sdk/lib/rtl/CMakeLists.txt b/sdk/lib/rtl/CMakeLists.txt index 688d9258587..db9a3c66f84 100644 --- a/sdk/lib/rtl/CMakeLists.txt +++ b/sdk/lib/rtl/CMakeLists.txt @@ -132,6 +132,7 @@ add_dependencies(rtl psdk asm) list(APPEND SOURCE_VISTA condvar.c + locale.c runonce.c srw.c utf8.c)