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