mirror of
https://github.com/reactos/reactos.git
synced 2024-12-28 18:15:11 +00:00
[KERNEL32] Export more Vista APIs
Create kernel32_vista_static library and link both kernel32_vista and kernel32 to it. Export some vista functions from kernel32. Export BaseProcessInitPostImport for Vista+, too, because ntdll needs to dynamically link to it.
This commit is contained in:
parent
49da1cdbeb
commit
2549e10c38
5 changed files with 67 additions and 46 deletions
|
@ -125,7 +125,7 @@ set_module_type(kernel32 win32dll ENTRYPOINT DllMain 12)
|
|||
set_subsystem(kernel32 console)
|
||||
################# END HACK #################
|
||||
|
||||
target_link_libraries(kernel32 kernel32_shared wine chkstk ${PSEH_LIB})
|
||||
target_link_libraries(kernel32 kernel32_vista_static kernel32_shared wine chkstk ${PSEH_LIB})
|
||||
add_importlibs(kernel32 ntdll)
|
||||
add_pch(kernel32 k32.h SOURCE)
|
||||
add_dependencies(kernel32 psdk errcodes asm)
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
@ stdcall -stub -version=0x600+ AcquireSRWLockExclusive(ptr) NTDLL.RtlAcquireSRWLockExclusive
|
||||
@ stdcall -stub -version=0x600+ AcquireSRWLockShared(ptr) NTDLL.RtlAcquireSRWLockShared
|
||||
@ stdcall -version=0x600+ AcquireSRWLockExclusive(ptr) NTDLL.RtlAcquireSRWLockExclusive
|
||||
@ stdcall -version=0x600+ AcquireSRWLockShared(ptr) NTDLL.RtlAcquireSRWLockShared
|
||||
@ stdcall ActivateActCtx(ptr ptr)
|
||||
@ stdcall AddAtomA(str)
|
||||
@ stdcall AddAtomW(wstr)
|
||||
|
@ -16,8 +16,8 @@
|
|||
@ stdcall AllocConsole()
|
||||
@ stdcall AllocateUserPhysicalPages(long ptr ptr)
|
||||
@ stdcall -stub -version=0x600+ AllocateUserPhysicalPagesNuma(ptr ptr ptr long)
|
||||
@ stdcall -stub -version=0x600+ ApplicationRecoveryFinished(long)
|
||||
@ stdcall -stub -version=0x600+ ApplicationRecoveryInProgress(ptr)
|
||||
@ stdcall -version=0x600+ ApplicationRecoveryFinished(long)
|
||||
@ stdcall -version=0x600+ ApplicationRecoveryInProgress(ptr)
|
||||
@ stdcall AreFileApisANSI()
|
||||
@ stdcall AssignProcessToJobObject(ptr ptr)
|
||||
@ stdcall AttachConsole(long)
|
||||
|
@ -33,6 +33,7 @@
|
|||
@ stdcall BaseInitAppcompatCacheSupport()
|
||||
@ stdcall BaseIsAppcompatInfrastructureDisabled() IsShimInfrastructureDisabled
|
||||
@ stdcall -version=0x501-0x502 BaseProcessInitPostImport()
|
||||
@ stdcall -version=0x600+ BaseProcessInitPostImport() # HACK: This export is dynamicaly imported by ntdll
|
||||
;@ stdcall -version=0x502 -arch=x86_64 BaseProcessStart()
|
||||
@ stdcall BaseQueryModuleData(str str ptr ptr ptr) ;check
|
||||
@ stub -version=0x600+ BaseThreadInitThunk
|
||||
|
@ -344,7 +345,7 @@
|
|||
@ stdcall FreeUserPhysicalPages(long long long)
|
||||
@ stdcall GenerateConsoleCtrlEvent(long long)
|
||||
@ stdcall GetACP()
|
||||
@ stub -version=0x600+ GetApplicationRecoveryCallback
|
||||
@ stdcall -version=0x600+ GetApplicationRecoveryCallback(ptr ptr ptr ptr ptr)
|
||||
@ stub -version=0x600+ GetApplicationRestartSettings
|
||||
@ stdcall GetAtomNameA(long ptr long)
|
||||
@ stdcall GetAtomNameW(long ptr long)
|
||||
|
@ -423,7 +424,7 @@
|
|||
@ stdcall GetConsoleTitleW(ptr long)
|
||||
@ stdcall GetConsoleWindow()
|
||||
@ stdcall GetCurrencyFormatA(long long str ptr str long)
|
||||
@ stub -version=0x600+ GetCurrencyFormatEx
|
||||
@ stdcall -version=0x600+ GetCurrencyFormatEx(wstr long wstr ptr wstr long)
|
||||
@ stdcall GetCurrencyFormatW(long long wstr ptr wstr long)
|
||||
@ stdcall GetCurrentActCtx(ptr)
|
||||
@ stdcall GetCurrentConsoleFont(long long ptr)
|
||||
|
@ -459,7 +460,7 @@
|
|||
@ stdcall GetEnvironmentStringsW()
|
||||
@ stdcall GetEnvironmentVariableA(str ptr long)
|
||||
@ stdcall GetEnvironmentVariableW(wstr ptr long)
|
||||
@ stub -version=0x600+ GetErrorMode
|
||||
@ stdcall -version=0x600+ GetErrorMode()
|
||||
@ stdcall GetExitCodeProcess(long ptr)
|
||||
@ stdcall GetExitCodeThread(long ptr)
|
||||
@ stdcall GetExpandedNameA(str ptr)
|
||||
|
@ -470,17 +471,17 @@
|
|||
@ stub -version=0x600+ GetFileAttributesTransactedA
|
||||
@ stub -version=0x600+ GetFileAttributesTransactedW
|
||||
@ stdcall GetFileAttributesW(wstr)
|
||||
@ stub -version=0x600+ GetFileBandwidthReservation
|
||||
@ stdcall -version=0x600+ GetFileBandwidthReservation(ptr ptr ptr ptr ptr ptr)
|
||||
@ stdcall GetFileInformationByHandle(long ptr)
|
||||
@ stub -version=0x600+ GetFileInformationByHandleEx
|
||||
@ stub -version=0x600+ GetFileMUIInfo
|
||||
@ stub -version=0x600+ GetFileMUIPath
|
||||
@ stdcall -version=0x600+ GetFileInformationByHandleEx(ptr long ptr long)
|
||||
@ stdcall -version=0x600+ GetFileMUIInfo(long wstr ptr ptr)
|
||||
@ stdcall -version=0x600+ GetFileMUIPath(long wstr wstr ptr wstr ptr ptr)
|
||||
@ stdcall GetFileSize(long ptr)
|
||||
@ stdcall GetFileSizeEx(long ptr)
|
||||
@ stdcall GetFileTime(long ptr ptr ptr)
|
||||
@ stdcall GetFileType(long)
|
||||
@ stub -version=0x600+ GetFinalPathNameByHandleA
|
||||
@ stub -version=0x600+ GetFinalPathNameByHandleW
|
||||
@ stdcall -version=0x600+ GetFinalPathNameByHandleA(ptr str long long)
|
||||
@ stdcall -version=0x600+ GetFinalPathNameByHandleW(ptr wstr long long)
|
||||
@ stdcall GetFirmwareEnvironmentVariableA(str str ptr long)
|
||||
@ stdcall GetFirmwareEnvironmentVariableW(wstr wstr ptr long)
|
||||
@ stdcall GetFullPathNameA(str long ptr ptr)
|
||||
|
@ -600,7 +601,7 @@
|
|||
@ stdcall GetSystemFirmwareTable(long long ptr long)
|
||||
@ stdcall GetSystemInfo(ptr)
|
||||
@ stdcall GetSystemPowerStatus(ptr)
|
||||
@ stub -version=0x600+ GetSystemPreferredUILanguages
|
||||
@ stdcall -version=0x600+ GetSystemPreferredUILanguages(long ptr wstr ptr)
|
||||
@ stdcall GetSystemRegistryQuota(ptr ptr)
|
||||
@ stdcall GetSystemTime(ptr)
|
||||
@ stdcall GetSystemTimeAdjustment(ptr ptr ptr)
|
||||
|
@ -623,26 +624,26 @@
|
|||
@ stdcall GetThreadIOPendingFlag(long ptr)
|
||||
@ stdcall GetThreadId(ptr)
|
||||
@ stdcall GetThreadLocale()
|
||||
@ stub -version=0x600+ GetThreadPreferredUILanguages
|
||||
@ stdcall -version=0x600+ GetThreadPreferredUILanguages(long ptr wstr ptr)
|
||||
@ stdcall GetThreadPriority(long)
|
||||
@ stdcall GetThreadPriorityBoost(long ptr)
|
||||
@ stdcall GetThreadSelectorEntry(long long ptr)
|
||||
@ stdcall GetThreadTimes(long ptr ptr ptr ptr)
|
||||
@ stub -version=0x600+ GetThreadUILanguage
|
||||
@ stdcall -version=0x600+ GetThreadUILanguage()
|
||||
@ stdcall GetTickCount()
|
||||
@ stub -version=0x600+ GetTickCount64
|
||||
@ stdcall -version=0x600+ -ret64 GetTickCount64()
|
||||
@ stdcall GetTimeFormatA(long long ptr str ptr long)
|
||||
@ stdcall -version=0x600+ GetTimeFormatEx(wstr long ptr wstr wstr long)
|
||||
@ stdcall GetTimeFormatW(long long ptr wstr ptr long)
|
||||
@ stdcall GetTimeZoneInformation(ptr)
|
||||
@ stub -version=0x600+ GetTimeZoneInformationForYear
|
||||
@ stub -version=0x600+ GetUILanguageInfo
|
||||
@ stdcall -version=0x600+ GetUILanguageInfo(long wstr wstr ptr ptr)
|
||||
@ stdcall GetUserDefaultLCID()
|
||||
@ stdcall GetUserDefaultLangID()
|
||||
@ stdcall -version=0x600+ GetUserDefaultLocaleName(wstr long)
|
||||
@ stdcall GetUserDefaultUILanguage()
|
||||
@ stdcall GetUserGeoID(long)
|
||||
@ stub -version=0x600+ GetUserPreferredUILanguages
|
||||
@ stdcall -version=0x600+ GetUserPreferredUILanguages(long ptr wstr ptr)
|
||||
@ stdcall GetVDMCurrentDirectories(long long)
|
||||
@ stdcall GetVersion()
|
||||
@ stdcall GetVersionExA(ptr)
|
||||
|
@ -709,15 +710,15 @@
|
|||
@ stdcall InitAtomTable(long)
|
||||
@ stub -version=0x600+ InitOnceBeginInitialize
|
||||
@ stub -version=0x600+ InitOnceComplete
|
||||
@ stub -version=0x600+ InitOnceExecuteOnce
|
||||
@ stdcall -version=0x600+ InitOnceExecuteOnce(ptr ptr ptr ptr)
|
||||
@ stub -version=0x600+ InitOnceInitialize
|
||||
@ stub -version=0x600+ InitializeConditionVariable
|
||||
@ stdcall -version=0x600+ InitializeConditionVariable(ptr) ntdll.RtlInitializeConditionVariable
|
||||
@ stdcall InitializeCriticalSection(ptr)
|
||||
@ stdcall InitializeCriticalSectionAndSpinCount(ptr long)
|
||||
@ stub -version=0x600+ InitializeCriticalSectionEx
|
||||
@ stdcall -version=0x600+ InitializeCriticalSectionEx(ptr long long)
|
||||
@ stub -version=0x600+ InitializeProcThreadAttributeList
|
||||
@ stdcall InitializeSListHead(ptr) ntdll.RtlInitializeSListHead
|
||||
@ stub -version=0x600+ InitializeSRWLock
|
||||
@ stdcall -version=0x600+ InitializeSRWLock(ptr) ntdll.RtlInitializeSRWLock
|
||||
@ stdcall -arch=i386 -ret64 InterlockedCompareExchange64(ptr double double) ntdll.RtlInterlockedCompareExchange64
|
||||
@ stdcall -arch=i386 InterlockedCompareExchange(ptr long long)
|
||||
@ stdcall -arch=i386 InterlockedDecrement(ptr)
|
||||
|
@ -727,7 +728,7 @@
|
|||
@ stdcall -arch=i386 InterlockedIncrement(ptr)
|
||||
@ stdcall InterlockedPopEntrySList(ptr) ntdll.RtlInterlockedPopEntrySList
|
||||
@ stdcall InterlockedPushEntrySList(ptr ptr) ntdll.RtlInterlockedPushEntrySList
|
||||
@ stub -version=0x600+ InterlockedPushListSList
|
||||
@ fastcall -version=0x600+ InterlockedPushListSList(ptr ptr ptr long) ntdll.RtlInterlockedPushListSList
|
||||
@ stdcall InvalidateConsoleDIBits(long long)
|
||||
@ stdcall IsBadCodePtr(ptr)
|
||||
@ stdcall IsBadHugeReadPtr(ptr long)
|
||||
|
@ -747,7 +748,7 @@
|
|||
@ stdcall IsProcessInJob(long long ptr)
|
||||
@ stdcall IsProcessorFeaturePresent(long)
|
||||
@ stdcall IsSystemResumeAutomatic()
|
||||
@ stub -version=0x600+ IsThreadAFiber
|
||||
@ stdcall -version=0x600+ IsThreadAFiber()
|
||||
@ stub -version=0x600+ IsThreadpoolTimerSet
|
||||
@ stdcall IsTimeZoneRedirectionEnabled()
|
||||
@ stub -version=0x600+ IsValidCalDateTime
|
||||
|
@ -756,7 +757,7 @@
|
|||
@ stdcall IsValidLocale(long long)
|
||||
@ stdcall -version=0x501-0x502 IsValidUILanguage(long)
|
||||
@ stdcall IsWow64Process(ptr ptr)
|
||||
@ stub -version=0x600+ LCIDToLocaleName
|
||||
@ stdcall -version=0x600+ LCIDToLocaleName(long wstr long long)
|
||||
@ stdcall LCMapStringA(long long str long ptr long)
|
||||
@ stdcall -version=0x600+ LCMapStringEx(long long wstr long ptr long ptr ptr long)
|
||||
@ stdcall LCMapStringW(long long wstr long ptr long)
|
||||
|
@ -792,7 +793,7 @@
|
|||
@ stdcall LocalShrink(long long)
|
||||
@ stdcall LocalSize(long)
|
||||
@ stdcall LocalUnlock(long)
|
||||
@ stub -version=0x600+ LocaleNameToLCID
|
||||
@ stdcall -version=0x600+ LocaleNameToLCID(wstr long)
|
||||
@ stdcall LockFile(long long long long long)
|
||||
@ stdcall LockFileEx(long long long long long ptr)
|
||||
@ stdcall LockResource(long)
|
||||
|
@ -832,7 +833,7 @@
|
|||
@ stdcall OpenEventA(long long str)
|
||||
@ stdcall OpenEventW(long long wstr)
|
||||
@ stdcall OpenFile(str ptr long)
|
||||
@ stub -version=0x600+ OpenFileById
|
||||
@ stdcall -version=0x600+ OpenFileById(ptr ptr long long ptr long)
|
||||
@ stdcall OpenFileMappingA(long long str)
|
||||
@ stdcall OpenFileMappingW(long long wstr)
|
||||
@ stdcall OpenJobObjectA(long long str)
|
||||
|
@ -869,8 +870,8 @@
|
|||
@ stdcall QueryDepthSList(ptr) ntdll.RtlQueryDepthSList
|
||||
@ stdcall QueryDosDeviceA(str ptr long)
|
||||
@ stdcall QueryDosDeviceW(wstr ptr long)
|
||||
@ stub -version=0x600+ QueryFullProcessImageNameA
|
||||
@ stub -version=0x600+ QueryFullProcessImageNameW
|
||||
@ stdcall -version=0x600+ QueryFullProcessImageNameA(ptr long str ptr)
|
||||
@ stdcall -version=0x600+ QueryFullProcessImageNameW(ptr long wstr ptr)
|
||||
@ stub -version=0x600+ QueryIdleProcessorCycleTime
|
||||
@ stdcall QueryInformationJobObject(long long ptr long ptr)
|
||||
@ stdcall QueryMemoryResourceNotification(ptr ptr)
|
||||
|
@ -899,8 +900,8 @@
|
|||
@ stdcall ReadFileEx(long ptr long ptr ptr)
|
||||
@ stdcall ReadFileScatter(long ptr long ptr ptr)
|
||||
@ stdcall ReadProcessMemory(long ptr ptr long ptr)
|
||||
@ stub -version=0x600+ RegisterApplicationRecoveryCallback
|
||||
@ stub -version=0x600+ RegisterApplicationRestart
|
||||
@ stdcall -version=0x600+ RegisterApplicationRecoveryCallback(ptr ptr long long)
|
||||
@ stdcall -version=0x600+ RegisterApplicationRestart(wstr long)
|
||||
@ stdcall RegisterConsoleIME(ptr ptr)
|
||||
@ stdcall RegisterConsoleOS2(long)
|
||||
@ stdcall RegisterConsoleVDM(long long long long long long long long long long long)
|
||||
|
@ -912,8 +913,8 @@
|
|||
@ stdcall ReleaseActCtx(ptr)
|
||||
@ stdcall ReleaseMutex(long)
|
||||
@ stub -version=0x600+ ReleaseMutexWhenCallbackReturns
|
||||
@ stub -version=0x600+ ReleaseSRWLockExclusive
|
||||
@ stub -version=0x600+ ReleaseSRWLockShared
|
||||
@ stdcall -version=0x600+ ReleaseSRWLockExclusive(ptr) ntdll.RtlReleaseSRWLockExclusive
|
||||
@ stdcall -version=0x600+ ReleaseSRWLockShared(ptr) ntdll.RtlReleaseSRWLockShared
|
||||
@ stdcall ReleaseSemaphore(long long ptr)
|
||||
@ stub -version=0x600+ ReleaseSemaphoreWhenCallbackReturns
|
||||
@ stdcall RemoveDirectoryA(str)
|
||||
|
@ -1025,7 +1026,7 @@
|
|||
@ stub -version=0x600+ SetFileAttributesTransactedA
|
||||
@ stub -version=0x600+ SetFileAttributesTransactedW
|
||||
@ stdcall SetFileAttributesW(wstr long)
|
||||
@ stub -version=0x600+ SetFileBandwidthReservation
|
||||
@ stdcall -version=0x600+ SetFileBandwidthReservation(ptr long long long ptr ptr)
|
||||
@ stdcall SetFileCompletionNotificationModes(ptr long)
|
||||
@ stub -version=0x600+ SetFileInformationByHandle
|
||||
@ stub -version=0x600+ SetFileIoOverlappedRange
|
||||
|
@ -1075,7 +1076,7 @@
|
|||
@ stdcall SetThreadExecutionState(long)
|
||||
@ stdcall SetThreadIdealProcessor(long long)
|
||||
@ stdcall SetThreadLocale(long)
|
||||
@ stub -version=0x600+ SetThreadPreferredUILanguages
|
||||
@ stdcall -version=0x600+ SetThreadPreferredUILanguages(long wstr ptr)
|
||||
@ stdcall SetThreadPriority(long long)
|
||||
@ stdcall SetThreadPriorityBoost(long long)
|
||||
@ stdcall SetThreadStackGuarantee(ptr)
|
||||
|
@ -1099,8 +1100,8 @@
|
|||
@ stdcall SignalObjectAndWait(long long long long)
|
||||
@ stdcall SizeofResource(long long)
|
||||
@ stdcall Sleep(long)
|
||||
@ stub -version=0x600+ SleepConditionVariableCS
|
||||
@ stub -version=0x600+ SleepConditionVariableSRW
|
||||
@ stdcall -version=0x600+ SleepConditionVariableCS(ptr ptr long)
|
||||
@ stdcall -version=0x600+ SleepConditionVariableSRW(ptr ptr long long)
|
||||
@ stdcall SleepEx(long long)
|
||||
@ stub -version=0x600+ StartThreadpoolIo
|
||||
@ stub -version=0x600+ SubmitThreadpoolWork
|
||||
|
@ -1175,8 +1176,8 @@
|
|||
@ stub -version=0x600+ WaitForThreadpoolWorkCallbacks
|
||||
@ stdcall WaitNamedPipeA(str long)
|
||||
@ stdcall WaitNamedPipeW(wstr long)
|
||||
@ stub -version=0x600+ WakeAllConditionVariable
|
||||
@ stub -version=0x600+ WakeConditionVariable
|
||||
@ stdcall -version=0x600+ WakeAllConditionVariable(ptr) ntdll.RtlWakeAllConditionVariable
|
||||
@ stdcall -version=0x600+ WakeConditionVariable(ptr) ntdll.RtlWakeConditionVariable
|
||||
@ stub -version=0x600+ WerGetFlags
|
||||
@ stub -version=0x600+ WerRegisterFile
|
||||
@ stub -version=0x600+ WerRegisterMemoryBlock
|
||||
|
|
|
@ -7,17 +7,17 @@ include_directories(${REACTOS_SOURCE_DIR}/sdk/include/reactos/subsys)
|
|||
spec2def(kernel32_vista.dll kernel32_vista.spec ADD_IMPORTLIB)
|
||||
|
||||
list(APPEND SOURCE
|
||||
DllMain.c
|
||||
GetFileInformationByHandleEx.c
|
||||
GetTickCount64.c
|
||||
InitOnceExecuteOnce.c
|
||||
sync.c
|
||||
vista.c
|
||||
${CMAKE_CURRENT_BINARY_DIR}/kernel32_vista.def)
|
||||
vista.c)
|
||||
|
||||
add_library(kernel32_vista MODULE ${SOURCE})
|
||||
add_library(kernel32_vista_static ${SOURCE})
|
||||
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)
|
||||
target_link_libraries(kernel32_vista kernel32_shared)
|
||||
target_link_libraries(kernel32_vista kernel32_vista_static kernel32_shared)
|
||||
add_importlibs(kernel32_vista kernel32 ntdll_vista ntdll)
|
||||
add_delay_importlibs(kernel32_vista ntdll_vista)
|
||||
add_dependencies(kernel32_vista psdk)
|
||||
|
|
|
@ -32,6 +32,12 @@ DEBUG_CHANNEL(nls);
|
|||
#include "japanese.h"
|
||||
#endif
|
||||
|
||||
#undef WINVER
|
||||
#define WINVER 0x600
|
||||
|
||||
/* From winnls.h */
|
||||
#define LOCALE_NAME_USER_DEFAULT NULL
|
||||
|
||||
#define REG_SZ 1
|
||||
extern int wine_fold_string(int flags, const WCHAR *src, int srclen, WCHAR *dst, int dstlen);
|
||||
extern int wine_get_sortkey(int flags, const WCHAR *src, int srclen, char *dst, int dstlen);
|
||||
|
|
|
@ -31,6 +31,20 @@
|
|||
#include <debug.h>
|
||||
DEBUG_CHANNEL(nls);
|
||||
|
||||
#undef _WIN32_WINNT
|
||||
#undef WINVER
|
||||
#define _WIN32_WINNT DLL_EXPORT_VERSION
|
||||
#define WINVER DLL_EXPORT_VERSION
|
||||
|
||||
LCID WINAPI LocaleNameToLCID(_In_ LPCWSTR, _In_ DWORD);
|
||||
#define LOCALE_SSHORTESTDAYNAME1 96
|
||||
#define LOCALE_SSHORTESTDAYNAME2 97
|
||||
#define LOCALE_SSHORTESTDAYNAME3 98
|
||||
#define LOCALE_SSHORTESTDAYNAME4 99
|
||||
#define LOCALE_SSHORTESTDAYNAME5 100
|
||||
#define LOCALE_SSHORTESTDAYNAME6 101
|
||||
#define LOCALE_SSHORTESTDAYNAME7 102
|
||||
|
||||
#define CRITICAL_SECTION RTL_CRITICAL_SECTION
|
||||
#define CRITICAL_SECTION_DEBUG RTL_CRITICAL_SECTION_DEBUG
|
||||
#define CALINFO_MAX_YEAR 2029
|
||||
|
|
Loading…
Reference in a new issue