Signed-off-by: Gijs Vermeulen gijsvrm@gmail.com --- dlls/ntoskrnl.exe/ntoskrnl.exe.spec | 3 ++- dlls/ntoskrnl.exe/sync.c | 10 ++++++++++ include/ddk/wdm.h | 1 + 3 files changed, 13 insertions(+), 1 deletion(-)
diff --git a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec index ab952e528b..141c8aa639 100644 --- a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec +++ b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec @@ -4,7 +4,7 @@ @ stub ExInitializeRundownProtection @ stub ExInterlockedAddLargeStatistic @ stub ExInterlockedCompareExchange64 -@ stub ExInterlockedFlushSList +@ stdcall -fastcall -arch=i386 ExInterlockedFlushSList(ptr) NTOSKRNL_ExInterlockedFlushSList @ stdcall -fastcall -arch=i386 ExInterlockedPopEntrySList(ptr ptr) NTOSKRNL_ExInterlockedPopEntrySList @ stdcall -fastcall -arch=i386 ExInterlockedPushEntrySList (ptr ptr ptr) NTOSKRNL_ExInterlockedPushEntrySList @ stub ExReInitializeRundownProtection @@ -27,6 +27,7 @@ @ stub Exfi386InterlockedDecrementLong @ stub Exfi386InterlockedExchangeUlong @ stub Exfi386InterlockedIncrementLong +@ stdcall -arch=win64 ExpInterlockedFlushSList(ptr) RtlInterlockedFlushSList @ stdcall -arch=win64 ExpInterlockedPopEntrySList(ptr) RtlInterlockedPopEntrySList @ stdcall -arch=win64 ExpInterlockedPushEntrySList(ptr ptr) RtlInterlockedPushEntrySList @ stub HalExamineMBR diff --git a/dlls/ntoskrnl.exe/sync.c b/dlls/ntoskrnl.exe/sync.c index fbe9dbe9da..6976b9ef9f 100644 --- a/dlls/ntoskrnl.exe/sync.c +++ b/dlls/ntoskrnl.exe/sync.c @@ -690,6 +690,16 @@ PSLIST_ENTRY WINAPI NTOSKRNL_ExInterlockedPushEntrySList( PSLIST_HEADER list, PS }
+/*********************************************************************** + * ExInterlockedFlushSList (NTOSKRNL.EXE.@) + */ +DEFINE_FASTCALL1_WRAPPER( NTOSKRNL_ExInterlockedFlushSList ) +PSLIST_ENTRY WINAPI NTOSKRNL_ExInterlockedFlushSList( PSLIST_HEADER list ) +{ + return RtlInterlockedFlushSList( list ); +} + + /*********************************************************************** * ExAcquireFastMutexUnsafe (NTOSKRNL.EXE.@) */ diff --git a/include/ddk/wdm.h b/include/ddk/wdm.h index 0faf5ecd47..a66a582977 100644 --- a/include/ddk/wdm.h +++ b/include/ddk/wdm.h @@ -1528,6 +1528,7 @@ ULONG WINAPI ExGetExclusiveWaiterCount(ERESOURCE*); ULONG WINAPI ExGetSharedWaiterCount(ERESOURCE*); void WINAPI ExInitializeNPagedLookasideList(PNPAGED_LOOKASIDE_LIST,PALLOCATE_FUNCTION,PFREE_FUNCTION,ULONG,SIZE_T,ULONG,USHORT); NTSTATUS WINAPI ExInitializeResourceLite(ERESOURCE*); +PSLIST_ENTRY WINAPI ExInterlockedFlushSList(PSLIST_HEADER); PSLIST_ENTRY WINAPI ExInterlockedPopEntrySList(PSLIST_HEADER,PKSPIN_LOCK); PSLIST_ENTRY WINAPI ExInterlockedPushEntrySList(PSLIST_HEADER,PSLIST_ENTRY,PKSPIN_LOCK); LIST_ENTRY * WINAPI ExInterlockedRemoveHeadList(LIST_ENTRY*,KSPIN_LOCK*);