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

commit 49da1cdbebf6293fa5c17645d13ba9ad547425d2
Author:     Timo Kreuzer <[email protected]>
AuthorDate: Sat Aug 5 15:05:20 2023 +0300
Commit:     Timo Kreuzer <[email protected]>
CommitDate: Fri Aug 11 19:00:42 2023 +0300

    [NTDLL] Fix some vista exports
    
    Make sure RtlRemovePrivileges gets compiled, when DLL_EXPORT_VERSION is 
0x600+
    Enable all existing functions from rtl_vista.
    Hack CsrNewThread export to exist on later versions, too
---
 dll/ntdll/def/ntdll.spec | 30 +++++++++++++++---------------
 sdk/lib/rtl/priv.c       |  2 +-
 2 files changed, 16 insertions(+), 16 deletions(-)

diff --git a/dll/ntdll/def/ntdll.spec b/dll/ntdll/def/ntdll.spec
index 96200db55dc..801feeca335 100644
--- a/dll/ntdll/def/ntdll.spec
+++ b/dll/ntdll/def/ntdll.spec
@@ -38,7 +38,7 @@
 @ stdcall CsrFreeCaptureBuffer(ptr)
 @ stdcall CsrGetProcessId()
 @ stdcall CsrIdentifyAlertableThread()
-@ stdcall -version=0x502 CsrNewThread()
+@ stdcall -version=0x502+ CsrNewThread() # Should be only 0x502, but we need 
it for now
 @ stdcall -version=0x502 CsrProbeForRead(ptr long long)
 @ stdcall -version=0x502 CsrProbeForWrite(ptr long long)
 @ stdcall CsrSetPriorityClass(ptr ptr)
@@ -607,8 +607,8 @@
 @ stdcall RtlAcquirePrivilege(ptr long long ptr)
 @ stdcall RtlAcquireResourceExclusive(ptr long)
 @ stdcall RtlAcquireResourceShared(ptr long)
-@ stdcall -stub -version=0x600+ RtlAcquireSRWLockExclusive(ptr)
-@ stdcall -stub -version=0x600+ RtlAcquireSRWLockShared(ptr)
+@ stdcall -version=0x600+ RtlAcquireSRWLockExclusive(ptr)
+@ stdcall -version=0x600+ RtlAcquireSRWLockShared(ptr)
 @ stdcall RtlActivateActivationContext(long ptr ptr)
 @ stdcall RtlActivateActivationContextEx(long ptr ptr ptr)
 @ stdcall -arch=x86_64,arm RtlActivateActivationContextUnsafeFast(ptr ptr)
@@ -936,7 +936,7 @@
 @ stdcall RtlInitUnicodeStringEx(ptr wstr)
 @ stdcall -stub RtlInitializeAtomPackage(ptr)
 @ stdcall RtlInitializeBitMap(ptr long long)
-@ stdcall -stub -version=0x600+ RtlInitializeConditionVariable(ptr)
+@ stdcall -version=0x600+ RtlInitializeConditionVariable(ptr)
 @ stdcall RtlInitializeContext(ptr ptr ptr ptr ptr)
 @ stdcall RtlInitializeCriticalSection(ptr)
 @ stdcall RtlInitializeCriticalSectionAndSpinCount(ptr long)
@@ -949,7 +949,7 @@
 @ stdcall RtlInitializeRXact(ptr long ptr)
 @ stdcall RtlInitializeResource(ptr)
 @ stdcall RtlInitializeSListHead(ptr)
-@ stdcall -stub -version=0x600+ RtlInitializeSRWLock(ptr)
+@ stdcall -version=0x600+ RtlInitializeSRWLock(ptr)
 @ stdcall RtlInitializeSid(ptr ptr long)
 @ stdcall RtlInsertElementGenericTable(ptr ptr long ptr)
 @ stdcall RtlInsertElementGenericTableAvl(ptr ptr long ptr)
@@ -1108,8 +1108,8 @@
 @ stdcall RtlReleasePrivilege(ptr)
 @ stdcall RtlReleaseRelativeName(ptr)
 @ stdcall RtlReleaseResource(ptr)
-@ stdcall -stub -version=0x600+ RtlReleaseSRWLockExclusive(ptr)
-@ stdcall -stub -version=0x600+ RtlReleaseSRWLockShared(ptr)
+@ stdcall -version=0x600+ RtlReleaseSRWLockExclusive(ptr)
+@ stdcall -version=0x600+ RtlReleaseSRWLockShared(ptr)
 @ stdcall RtlRemoteCall(ptr ptr ptr long ptr long long)
 @ stdcall -version=0x600+ RtlRemovePrivileges(ptr ptr long)
 @ stdcall RtlRemoveVectoredContinueHandler(ptr)
@@ -1124,10 +1124,10 @@
 @ stdcall RtlRevertMemoryStream(ptr)
 @ stdcall RtlRunDecodeUnicodeString(long ptr)
 @ stdcall RtlRunEncodeUnicodeString(long ptr)
-@ stdcall -stub -version=0x600+ RtlRunOnceBeginInitialize(ptr long ptr)
-@ stdcall -stub -version=0x600+ RtlRunOnceComplete(ptr long ptr)
-@ stdcall -stub -version=0x600+ RtlRunOnceExecuteOnce(ptr ptr ptr ptr)
-@ stdcall -stub -version=0x600+ RtlRunOnceInitialize(ptr)
+@ stdcall -version=0x600+ RtlRunOnceBeginInitialize(ptr long ptr)
+@ stdcall -version=0x600+ RtlRunOnceComplete(ptr long ptr)
+@ stdcall -version=0x600+ RtlRunOnceExecuteOnce(ptr ptr ptr ptr)
+@ stdcall -version=0x600+ RtlRunOnceInitialize(ptr)
 @ stdcall RtlSecondsSince1970ToTime(long ptr)
 @ stdcall RtlSecondsSince1980ToTime(long ptr)
 @ stdcall RtlSeekMemoryStream(ptr int64 long ptr)
@@ -1177,8 +1177,8 @@
 @ stub -version=0x600+ RtlSidHashLookup
 @ stub -version=0x600+ RtlSidIsHigherLevel
 @ stdcall RtlSizeHeap(long long ptr)
-@ stdcall -stub -version=0x600+ RtlSleepConditionVariableCS(ptr ptr ptr)
-@ stdcall -stub -version=0x600+ RtlSleepConditionVariableSRW(ptr ptr ptr long)
+@ stdcall -version=0x600+ RtlSleepConditionVariableCS(ptr ptr ptr)
+@ stdcall -version=0x600+ RtlSleepConditionVariableSRW(ptr ptr ptr long)
 @ stdcall RtlSplay(ptr)
 @ stdcall RtlStartRXact(ptr)
 @ stdcall RtlStatMemoryStream(ptr ptr long)
@@ -1250,8 +1250,8 @@
 @ stdcall RtlValidateUnicodeString(long ptr)
 @ stdcall RtlVerifyVersionInfo(ptr long double)
 @ stdcall -arch=x86_64 RtlVirtualUnwind(long long long ptr ptr ptr ptr ptr)
-@ stdcall -stub -version=0x600+ RtlWakeAllConditionVariable(ptr)
-@ stdcall -stub -version=0x600+ RtlWakeConditionVariable(ptr)
+@ stdcall -version=0x600+ RtlWakeAllConditionVariable(ptr)
+@ stdcall -version=0x600+ RtlWakeConditionVariable(ptr)
 @ stdcall RtlWalkFrameChain(ptr long long)
 @ stdcall RtlWalkHeap(long ptr)
 @ stub -version=0x600+ RtlWerpReportException
diff --git a/sdk/lib/rtl/priv.c b/sdk/lib/rtl/priv.c
index 0070140103f..d8240265359 100644
--- a/sdk/lib/rtl/priv.c
+++ b/sdk/lib/rtl/priv.c
@@ -487,7 +487,7 @@ RtlAdjustPrivilege(IN ULONG Privilege,
     return STATUS_SUCCESS;
 }
 
-#if (NTDDI_VERSION >= NTDDI_VISTA)
+#if (NTDDI_VERSION >= NTDDI_VISTA) || (DLL_EXPORT_VERSION >= 
_WIN32_WINNT_VISTA)
 
 /**
  * @brief

Reply via email to