Freigeben über


NdisInterlockedPopEntrySList-Makro (ndis.h)

Die NdisInterlockedPopEntrySList-Funktion entfernt den ersten Eintrag aus einer sequenzierten, singly verknüpften Liste.

Syntax

void NdisInterlockedPopEntrySList(
        SListHead,
  [in]  Lock
);

Parameter

SListHead

Ein Zeiger auf den Kopf der bereits initialisierten sequenzierten, singlich verknüpften Liste, aus der der Eintrag zurückgegeben werden soll.

[in] Lock

Ein Zeiger auf eine vom Aufrufer bereitgestellte Spinsperre, die derzeit nicht vom Aufrufer gehalten wird.

Rückgabewert

Keine

Bemerkungen

Ein Treiber darf die angegebene Sperre nicht halten, wenn er NdisInterlockedPopEntrySList aufruft. Bei Bedarf sollte der Treiber die NdisReleaseSpinLock-Funktion aufrufen, bevor er diesen Aufruf ausgibt. NdisInterlockedPopEntrySList muss diese Spinsperre selbst erwerben, um den ersten Eintrag in der S-Liste zu entfernen, falls vorhanden, auf multiprozessorsichere Weise.

Der Aufrufer muss residenten Speicher für die Sperre bereitstellen, die mit der NdisAllocateSpinLock-Funktion initialisiert werden muss, bevor der erste Aufruf von NdisInterlocked.. SList-Funktion .

Wenn NdisInterlockedPopEntrySList unter IRQL >= DISPATCH_LEVEL aufgerufen wird, muss der Speicher für den ListHead-Parameter resident sein.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Unterstützt für NDIS 6.0- und NDIS 5.1-Treiber (siehe NdisInterlockedPopEntrySList (NDIS 5.1)) in Windows Vista. Unterstützt für NDIS 5.1-Treiber (siehe NdisInterlockedPopEntrySList (NDIS 5.1)) in Windows XP.
Zielplattform Desktop
Kopfzeile ndis.h (einschließlich Ndis.h)
IRQL Beliebige Ebene

Weitere Informationen

NdisAllocateSpinLock

NdisFreeSpinLock

NdisInitializeSListHead

NdisInterlockedPushEntrySList

NdisQueryDepthSList

NdisReleaseSpinLock