From: Pierre Schweitzer Date: Sat, 17 Nov 2018 14:36:08 +0000 (+0100) Subject: [NTOSKRNL] Implement ExfAcquireRundownProtectionCacheAwareEx(), ExfReleaseRundownProt... X-Git-Tag: 0.4.12-dev~195 X-Git-Url: https://git.reactos.org/?p=reactos.git;a=commitdiff_plain;h=36fadc2dca62cc38dc499278e8a3637ec4f4462b [NTOSKRNL] Implement ExfAcquireRundownProtectionCacheAwareEx(), ExfReleaseRundownProtectionCacheAwareEx() --- diff --git a/ntoskrnl/ex/rundown.c b/ntoskrnl/ex/rundown.c index 3b24f5e8bef..da96b08af9e 100644 --- a/ntoskrnl/ex/rundown.c +++ b/ntoskrnl/ex/rundown.c @@ -5,6 +5,7 @@ * PURPOSE: Rundown and Cache-Aware Rundown Protection * PROGRAMMERS: Alex Ionescu (alex@relsoft.net) * Thomas Weidenmueller + * Pierre Schweitzer */ /* INCLUDES *****************************************************************/ @@ -391,17 +392,17 @@ ExfAcquireRundownProtectionCacheAware(IN PEX_RUNDOWN_REF_CACHE_AWARE RunRefCache } /* - * @unimplemented NT5.2 + * @implemented NT5.2 */ BOOLEAN FASTCALL ExfAcquireRundownProtectionCacheAwareEx(IN PEX_RUNDOWN_REF_CACHE_AWARE RunRefCacheAware, IN ULONG Count) { - DBG_UNREFERENCED_PARAMETER(RunRefCacheAware); - DBG_UNREFERENCED_PARAMETER(Count); - UNIMPLEMENTED; - return FALSE; + PEX_RUNDOWN_REF RunRef; + + RunRef = ExGetRunRefForCurrentProcessor(RunRefCacheAware); + return ExfAcquireRundownProtectionEx(RunRef, Count); } /* @@ -418,16 +419,17 @@ ExfReleaseRundownProtectionCacheAware(IN PEX_RUNDOWN_REF_CACHE_AWARE RunRefCache } /* - * @unimplemented NT5.2 + * @implemented NT5.2 */ VOID FASTCALL ExfReleaseRundownProtectionCacheAwareEx(IN PEX_RUNDOWN_REF_CACHE_AWARE RunRefCacheAware, IN ULONG Count) { - DBG_UNREFERENCED_PARAMETER(RunRefCacheAware); - DBG_UNREFERENCED_PARAMETER(Count); - UNIMPLEMENTED; + PEX_RUNDOWN_REF RunRef; + + RunRef = ExGetRunRefForCurrentProcessor(RunRefCacheAware); + return ExfReleaseRundownProtectionEx(RunRef, Count); } /*