共用方式為


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 任何層級 (請參閱一節)

另請參閱

NDIS 通訊協定驅動程式的 DriverEntry

MiniportInitializeEx

NdisAllocateSpinLock

NdisInterlockedInsertHeadList NdisInterlockedInsertTailList NdisInterlockedRemoveHeadList