ntoskrnl.exe: Implement ExGetSharedWaiterCount().

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Zebediah Figura 2019-04-09 23:41:08 -05:00 committed by Alexandre Julliard
parent 631473ffd9
commit 01566351fa
3 changed files with 21 additions and 1 deletions

View File

@ -148,7 +148,7 @@
@ stub ExGetCurrentProcessorCpuUsage @ stub ExGetCurrentProcessorCpuUsage
@ stdcall ExGetExclusiveWaiterCount(ptr) @ stdcall ExGetExclusiveWaiterCount(ptr)
@ stub ExGetPreviousMode @ stub ExGetPreviousMode
@ stub ExGetSharedWaiterCount @ stdcall ExGetSharedWaiterCount(ptr)
@ stdcall ExInitializeNPagedLookasideList(ptr ptr ptr long long long long) @ stdcall ExInitializeNPagedLookasideList(ptr ptr ptr long long long long)
@ stdcall ExInitializePagedLookasideList(ptr ptr ptr long long long long) @ stdcall ExInitializePagedLookasideList(ptr ptr ptr long long long long)
@ stdcall ExInitializeResourceLite(ptr) @ stdcall ExInitializeResourceLite(ptr)

View File

@ -1106,3 +1106,22 @@ ULONG WINAPI ExGetExclusiveWaiterCount( ERESOURCE *resource )
return count; return count;
} }
/***********************************************************************
* ExGetSharedWaiterCount (NTOSKRNL.EXE.@)
*/
ULONG WINAPI ExGetSharedWaiterCount( ERESOURCE *resource )
{
ULONG count;
KIRQL irql;
TRACE("resource %p.\n", resource);
KeAcquireSpinLock( &resource->SpinLock, &irql );
count = resource->NumberOfSharedWaiters;
KeReleaseSpinLock( &resource->SpinLock, irql );
return count;
}

View File

@ -1525,6 +1525,7 @@ NTSTATUS WINAPI ExDeleteResourceLite(ERESOURCE*);
void WINAPI ExFreePool(PVOID); void WINAPI ExFreePool(PVOID);
void WINAPI ExFreePoolWithTag(PVOID,ULONG); void WINAPI ExFreePoolWithTag(PVOID,ULONG);
ULONG WINAPI ExGetExclusiveWaiterCount(ERESOURCE*); ULONG WINAPI ExGetExclusiveWaiterCount(ERESOURCE*);
ULONG WINAPI ExGetSharedWaiterCount(ERESOURCE*);
void WINAPI ExInitializeNPagedLookasideList(PNPAGED_LOOKASIDE_LIST,PALLOCATE_FUNCTION,PFREE_FUNCTION,ULONG,SIZE_T,ULONG,USHORT); void WINAPI ExInitializeNPagedLookasideList(PNPAGED_LOOKASIDE_LIST,PALLOCATE_FUNCTION,PFREE_FUNCTION,ULONG,SIZE_T,ULONG,USHORT);
NTSTATUS WINAPI ExInitializeResourceLite(ERESOURCE*); NTSTATUS WINAPI ExInitializeResourceLite(ERESOURCE*);
PSLIST_ENTRY WINAPI ExInterlockedPopEntrySList(PSLIST_HEADER,PKSPIN_LOCK); PSLIST_ENTRY WINAPI ExInterlockedPopEntrySList(PSLIST_HEADER,PKSPIN_LOCK);