52 UCHAR ProcessorNumber;
53 volatile UCHAR BusyLoop;
66 while (
Lock->RefCount[ProcessorNumber].RefCount != 0) {
67 for (BusyLoop = 32; BusyLoop--; )
79 if (
Lock->SpinLock != 0) {
132#undef NdisAcquireSpinLock
149#undef NdisAllocateSpinLock
166#undef NdisDprAcquireSpinLock
184#undef NdisDprReleaseSpinLock
201#undef NdisFreeSpinLock
236#undef NdisReleaseSpinLock
#define InterlockedIncrement
BOOLEAN EXPORT NdisWaitEvent(IN PNDIS_EVENT Event, IN UINT MsToWait)
VOID EXPORT NdisAcquireReadWriteLock(IN PNDIS_RW_LOCK Lock, IN BOOLEAN fWrite, IN PLOCK_STATE LockState)
VOID EXPORT NdisResetEvent(IN PNDIS_EVENT Event)
VOID EXPORT NdisSetEvent(IN PNDIS_EVENT Event)
VOID EXPORT NdisInitializeEvent(IN PNDIS_EVENT Event)
#define PsGetCurrentThread()
#define KeRaiseIrql(irql, oldIrql)
#define KeWaitForSingleObject(pEvt, foo, a, b, c)
#define KeInitializeEvent(pEvt, foo, foo2)
#define KeReleaseSpinLock(sl, irql)
#define KeLowerIrql(oldIrql)
#define KeSetEvent(pEvt, foo, foo2)
#define KeAcquireSpinLock(sl, irql)
#define KeInitializeSpinLock(sl)
VOID NTAPI KeClearEvent(IN PKEVENT Event)
IN OUT PLONG IN OUT PLONG Addend IN OUT PLONG IN LONG IN OUT PLONG IN LONG Increment NdisInitializeReadWriteLock
IN OUT PLONG IN OUT PLONG Addend IN OUT PLONG IN LONG IN OUT PLONG IN LONG Increment IN PNDIS_RW_LOCK Lock IN PNDIS_RW_LOCK IN PLOCK_STATE LockState
IN OUT PLONG IN OUT PLONG Addend IN OUT PLONG IN LONG IN OUT PLONG IN LONG Increment IN PNDIS_RW_LOCK Lock NdisReleaseReadWriteLock
#define NdisReleaseSpinLock(_SpinLock)
#define NdisDprReleaseSpinLock(_SpinLock)
#define NdisAllocateSpinLock(_SpinLock)
#define NdisDprAcquireSpinLock(_SpinLock)
_Acquires_exclusive_lock_ Lock _In_ BOOLEAN fWrite
#define NdisFreeSpinLock(_SpinLock)
#define NdisAcquireSpinLock(_SpinLock)
#define Int32x32To64(a, b)
FORCEINLINE ULONG KeGetCurrentProcessorNumber(VOID)
#define KeAcquireSpinLockAtDpcLevel(SpinLock)
#define KeReleaseSpinLockFromDpcLevel(SpinLock)
NDIS_RW_LOCK_REFCOUNT RefCount[MAXIMUM_PROCESSORS]
#define RtlZeroMemory(Destination, Length)
_Must_inspect_result_ _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFSPINLOCK * SpinLock
_Must_inspect_result_ _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFWAITLOCK * Lock