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
BOOLEAN EXPORT NdisWaitEvent(IN PNDIS_EVENT Event, IN UINT MsToWait)
#define KeRaiseIrql(irql, oldIrql)
#define KeLowerIrql(oldIrql)
VOID EXPORT NdisAllocateSpinLock(IN PNDIS_SPIN_LOCK SpinLock)
#define PsGetCurrentThread()
VOID EXPORT NdisInitializeReadWriteLock(IN PNDIS_RW_LOCK Lock)
VOID EXPORT NdisDprReleaseSpinLock(IN PNDIS_SPIN_LOCK SpinLock)
VOID EXPORT NdisReleaseSpinLock(IN PNDIS_SPIN_LOCK SpinLock)
VOID NTAPI KeAcquireSpinLockAtDpcLevel(IN PKSPIN_LOCK SpinLock)
LONG NTAPI KeSetEvent(IN PKEVENT Event, IN KPRIORITY Increment, IN BOOLEAN Wait)
NTSTATUS NTAPI KeWaitForSingleObject(IN PVOID Object, IN KWAIT_REASON WaitReason, IN KPROCESSOR_MODE WaitMode, IN BOOLEAN Alertable, IN PLARGE_INTEGER Timeout OPTIONAL)
FORCEINLINE ULONG KeGetCurrentProcessorNumber(VOID)
VOID EXPORT NdisReleaseReadWriteLock(IN PNDIS_RW_LOCK Lock, IN PLOCK_STATE LockState)
VOID EXPORT NdisDprAcquireSpinLock(IN PNDIS_SPIN_LOCK SpinLock)
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
_Acquires_exclusive_lock_ Lock _In_ BOOLEAN fWrite
_Must_inspect_result_ _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFSPINLOCK * SpinLock
FORCEINLINE VOID KeInitializeSpinLock(_Out_ PKSPIN_LOCK SpinLock)
VOID EXPORT NdisFreeSpinLock(IN PNDIS_SPIN_LOCK SpinLock)
VOID EXPORT NdisAcquireSpinLock(IN PNDIS_SPIN_LOCK SpinLock)
VOID NTAPI KeReleaseSpinLockFromDpcLevel(IN PKSPIN_LOCK SpinLock)
#define KeAcquireSpinLock(sl, irql)
VOID EXPORT NdisResetEvent(IN PNDIS_EVENT Event)
VOID EXPORT NdisSetEvent(IN PNDIS_EVENT Event)
#define KeInitializeEvent(pEvt, foo, foo2)
#define InterlockedIncrement
VOID EXPORT NdisAcquireReadWriteLock(IN PNDIS_RW_LOCK Lock, IN BOOLEAN fWrite, IN PLOCK_STATE LockState)
#define KeReleaseSpinLock(sl, irql)
_Must_inspect_result_ _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFWAITLOCK * Lock
#define RtlZeroMemory(Destination, Length)
VOID EXPORT NdisInitializeEvent(IN PNDIS_EVENT Event)
VOID NTAPI KeClearEvent(IN PKEVENT Event)
#define Int32x32To64(a, b)