Share via


NdisInterlockedPopEntrySList (NDIS 5.1) function

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.

NdisInterlockedPopEntrySList removes the first entry from a sequenced, singly linked list.

Syntax

PSINGLE_LIST_ENTRY NdisInterlockedPopEntrySList(
  _In_ PSLIST_HEADER   ListHead,
  _In_ PNDIS_SPIN_LOCK Lock
);

Parameters

  • ListHead [in]
    Pointer to the head of the already initialized sequenced, singly linked list from which the entry is to be returned.

  • Lock [in]
    Pointer to a caller-supplied spin lock, not currently held by the caller.

Return value

NdisInterlockedPopEntrySList returns a pointer to the first entry in the list. If the list was empty, this routine returns NULL.

Remarks

A driver must not be holding the given Lock when it calls NdisInterlockedPopEntrySList. If necessary, the driver should call NdisReleaseSpinLock before making this call. NdisInterlockedPopEntrySList itself must acquire this spin lock to remove the first entry in the S-List, if any, in a multiprocessor-safe way.

The caller must provide resident storage for the Lock, which must be initialized with NdisAllocateSpinLock before the initial call to any NdisInterlocked..SList routine.

Requirements

Target platform

Desktop

Version

See NdisInterlockedPopEntrySList.

Header

Ndis.h (include Ndis.h)

IRQL

<= DISPATCH_LEVEL

See also

NdisAllocateSpinLock

NdisFreeSpinLock

NdisInitializeSListHead

NdisInterlockedPushEntrySList

NdisReleaseSpinLock

NdisQueryDepthSList

 

 

Send comments about this topic to Microsoft