diff --git a/dlls/kernelx/Exports.def b/dlls/kernelx/Exports.def index 17adbb8..24f55c8 100644 --- a/dlls/kernelx/Exports.def +++ b/dlls/kernelx/Exports.def @@ -43,6 +43,7 @@ EXPORTS InitializeConditionVariable = NTDDLL.RtlInitializeConditionVariable @269 InitializeCriticalSection = NTDLL.RtlInitializeCriticalSection @271 InitializeCriticalSectionAndSpinCount = InitializeCriticalSectionAndSpinCount_X @272 + InitializeCriticalSectionEx = InitializeCriticalSectionEx_X @273 InitializeSListHead = NTDLL.RtlInitializeSListHead @275 InitializeSRWLock = NTDLL.InitializeSRWLock @276 IsDebuggerPresent = IsDebuggerPresent_X @283 diff --git a/dlls/kernelx/kernelx.cpp b/dlls/kernelx/kernelx.cpp index 8378d1e..8a0b391 100644 --- a/dlls/kernelx/kernelx.cpp +++ b/dlls/kernelx/kernelx.cpp @@ -67,6 +67,11 @@ BOOL XMemFree_X(PVOID P, UINT64 a2) return off_18002B1B0(P, a2);*/ } +BOOL InitializeCriticalSectionEx_X(LPCRITICAL_SECTION lpCriticalSection, DWORD dwSpinCount, DWORD Flags) +{ + return InitializeCriticalSectionEx(lpCriticalSection, dwSpinCount, Flags); +} + LPTOP_LEVEL_EXCEPTION_FILTER SetUnhandledExceptionFilter_X(LPTOP_LEVEL_EXCEPTION_FILTER lpTopLevelExceptionFilter) { return SetUnhandledExceptionFilter(lpTopLevelExceptionFilter); diff --git a/dlls/kernelx/kernelx.h b/dlls/kernelx/kernelx.h index 77336a6..0a6f24e 100644 --- a/dlls/kernelx/kernelx.h +++ b/dlls/kernelx/kernelx.h @@ -90,6 +90,8 @@ extern "C" BOOL IsDebuggerPresent_X(); extern "C" BOOL InitializeCriticalSectionAndSpinCount_X(LPCRITICAL_SECTION lpCriticalSection, DWORD dwSpinCount); +extern "C" BOOL InitializeCriticalSectionEx_X(LPCRITICAL_SECTION lpCriticalSection, DWORD dwSpinCount, DWORD Flags); + extern "C" GEOID GetUserGeoID_X(GEOCLASS GeoClass); extern "C" int GetUserDefaultLocaleName_X(LPWSTR lpLocaleName, int cchLocaleName);