https://git.reactos.org/?p=reactos.git;a=commitdiff;h=49da1cdbebf6293fa5c17…
commit 49da1cdbebf6293fa5c17645d13ba9ad547425d2
Author: Timo Kreuzer <timo.kreuzer(a)reactos.org>
AuthorDate: Sat Aug 5 15:05:20 2023 +0300
Commit: Timo Kreuzer <timo.kreuzer(a)reactos.org>
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