NDIS Spin Lock Interface (NDIS 5.1)
Note NDIS 5. x has been deprecated and is superseded by NDIS 6. x. For new NDIS driver development, see Network Drivers Starting with Windows Vista. For information about porting NDIS 5. x drivers to NDIS 6. x, see Porting NDIS 5.x Drivers to NDIS 6.0.
This section describes the functions for the NDIS spin lock interface.
NdisAllocateSpinLockinitializes a variable of type NDIS_SPIN_LOCK, used to synchronize access to resources shared among non-ISR driver functions.
NdisFreeSpinLockreleases a spin lock initialized in a preceding call to NdisAllocateSpinLock.
NdisAcquireSpinLockacquires a spin lock to protect access to shared resources between non-ISR driver functions in an SMP-safe way. Miniport drivers that are running at IRQL < DISPATCH_LEVEL call this function to acquire a spin lock.
NdisReleaseSpinLockreleases a spin lock previously acquired by calling NdisAcquireSpinLock.
NdisDprAcquireSpinLockacquires a spin lock at IRQL = DISPATCH_LEVEL. Protects access to shared resources between non-ISR driver functions in an SMP-safe way. Faster than calling NdisAcquireSpinLockfor driver functions running at IRQL = DISPATCH_LEVEL.
NdisDprReleaseSpinLockreleases a spin lock previously acquired by calling NdisDprAcquireSpinLock.
This section includes:
NdisAcquireSpinLock (NDIS 5.1)
NdisAllocateSpinLock (NDIS 5.1)
NdisDprAcquireSpinLock (NDIS 5.1)
NdisDprReleaseSpinLock (NDIS 5.1)
NdisReleaseSpinLock (NDIS 5.1)