Share via


NdisInterlockedPopEntrySList (Compact 7)

3/12/2014

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

Syntax

PSINGLE_LIST_ENTRY 
  NdisInterlockedPopEntrySList(
    IN PSLIST_HEADER  ListHead,
    IN PKSPIN_LOCK  Lock
    );

Parameters

  • ListHead
    A pointer to the head of the already initialized sequenced, singly linked list from which the entry is to be returned.
  • Lock
    A pointer to a caller-supplied spin lock, currently not held by the caller.

Return Value

This function 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 the NdisReleaseSpinLock function before making this call. NdisInterlockedPopEntrySList itself must obtain 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 the NdisAllocateSpinLock function before the initial call to any NdisInterlocked..SList function.

Requirements

Header

ndis.h

See Also

Reference

NDIS Interlocked Functions Interface
NdisAllocateSpinLock
NdisFreeSpinLock
NdisInitializeSListHead
NdisInterlockedPushEntrySList
NdisReleaseSpinLock
NdisQueryDepthSList