NdisInterlockedPopEntrySList マクロ (ndis.h)
NdisInterlockedPopEntrySList 関数は、シーケンスされた 1 つのリンクリストから最初のエントリを削除します。
構文
void NdisInterlockedPopEntrySList(
SListHead,
[in] Lock
);
パラメーター
SListHead
エントリが返される、既に初期化されたシーケンスされた、1 つのリンクされたリストの先頭へのポインター。
[in] Lock
呼び出し元が現在保持していない、呼び出し元が指定したスピン ロックへのポインター。
戻り値
何一つ
備考
ドライバー は、NdisInterlockedPopEntrySList を呼び出すときに、特定の ロック保持 できません。 必要に応じて、ドライバーは、この呼び出しを行う前に、NdisReleaseSpinLock 関数を呼び出す必要があります。 NdisInterlockedPopEntrySList 自体、マルチプロセッサ セーフな方法で、S-List 内の最初のエントリ (存在する場合) を削除するには、このスピン ロックを取得する必要があります。
呼び出し元は、Lockの常駐ストレージを提供する必要があります。これは、NdisInterlocked への最初の呼び出しの前に、NdisAllocateSpinLock 関数で初期化する必要があります。SList 関数。
IRQL >= DISPATCH_LEVEL で NdisInterlockedPopEntrySList 呼び出される場合は、ListHead パラメーターのストレージが常駐している必要があります。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows Vista の NDIS 6.0 および NDIS 5.1 ドライバー (NdisInterlockedPopEntrySList (NDIS 5.1) を参照) でサポートされています。 Windows XP の NDIS 5.1 ドライバー (NdisInterlockedPopEntrySList (NDIS 5.1) を参照) でサポートされています。 |
ターゲット プラットフォーム の | デスクトップ |
ヘッダー | ndis.h (Ndis.h を含む) |
IRQL | 任意のレベル |
関連項目
NdisAllocateSpinLock の
NdisInitializeSListHead の
NdisInterlockedPushEntrySList のNdisQueryDepthSList の
NdisReleaseSpinLock の