NdisInitializeListHead 宏 (ndis.h)
NdisInitializeListHead 函式會初始化重複連結的驅動程序維護佇列。
語法
void NdisInitializeListHead(
[in] _ListHead
);
參數
[in] _ListHead
已連結佇列或清單前端的驅動程式配置非分頁記憶體指標。
傳回值
無
備註
如果驅動程式在內部佇列要求,可以從MiniportInitializeEx函式或通訊協定驅動程式的 DriverEntry 例程呼叫 NdisInitializeListHead。 不過,迷你埠驅動程式很少會設定內部佇列,因為 NDIS 連結庫會串行化傳送至迷你埠驅動程式的要求和封包。
任何維護內部佇列的 NDIS 驅動程式都會負責同步處理驅動程式函式對佇列專案的存取。 即使驅動程式是在多處理器計算機上執行, NdisInterlockedXxxList 函式仍可確保只有一個驅動程式函式可以存取佇列專案,即使驅動程式是在多處理器計算機上執行,因為佇列受到呼叫端提供的微調鎖定保護。
針對連結佇列,驅動程式也必須為微調鎖定提供非分頁記憶體。 它必須先使用 NdisAllocateSpinLock 函式初始化微調鎖定,再將指標傳遞給該微調鎖定至任何 NdisInterlockedXxxList 函式。
NdisInitializeListHead 的呼叫端可以在任何 IRQL 上執行。 如果在 IRQL >= 呼叫 NdisInitializeListHead,DISPATCH_LEVELListHead 的記憶體必須位於其中。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | 支援 NDIS 6.0 和 NDIS 5.1 驅動程式 (請參閱 Windows Vista 中的 NdisInitializeListHead (NDIS 5.1) ) 。 支援 NDIS 5.1 驅動程式 (請參閱 Windows XP 中的 NdisInitializeListHead (NDIS 5.1) ) 。 |
目標平台 | 桌面 |
標頭 | ndis.h (包括 Ndis.h) |
IRQL | 任何層級 (請參閱一節) |