共用方式為


NdisInitializeSListHead 巨集 (ndis.h)

NdisInitializeSListHead 函式會初始化循序、相互鎖定、單選連結清單的前端。

語法

void NdisInitializeSListHead(
  [in]  SListHead
);

參數

[in] SListHead

要初始化之呼叫端提供清單標頭的指標,其必須位於常駐記憶體中。 結構必須在64位平臺上對齊16位元組。

傳回值

沒有

言論

NdisInitializeSListHead 零初始化 SListHead 的不透明清單標頭,並將第一個項目指標設定為 NULL

每次插入或從清單中移除專案時,S-List 中的序號都會遞增。

S-List 中的所有項目都必須是非分頁。

任何使用 S-List 的驅動程式都必須提供微調鎖定給 NdisInterlockedPushEntrySList NdisInterlockedPopEntrySList 函式。 在對上述任一函式進行初始呼叫之前,驅動程式必須使用 NdisAllocateSpinLock 函式初始化微調鎖定。 若要避免死結,驅動程式 在後續呼叫 NdisInterlockedPushEntrySListNdisInterlockedPopEntrySList時,不得保留此微調鎖定

若要從非分頁記憶體管理固定大小的專案集區,請考慮使用外觀清單,而不是 S-List。

重試 I/O 作業的驅動程式應該使用兩倍鏈接的聯結佇列和 NdisInterlockedInsertHeadListNdisInterlockedInsertTailList,以及 NdisInterlockedRemoveHeadList 函式,而不是 S-List。

如果在 IRQL >= DISPATCH_LEVEL 呼叫 NdisInitializeSListHead,則 SListHead 參數的記憶體必須是常駐的。

要求

要求 價值
最低支援的用戶端 支援 Windows Vista 中的 NDIS 6.0 和 NDIS 5.1 驅動程式(請參閱 NdisInitializeSListHead (NDIS 5.1)。 支援 Windows XP 中的 NDIS 5.1 驅動程式(請參閱 NdisInitializeSListHead (NDIS 5.1)。
目標平臺 桌面
標頭 ndis.h (包括 Ndis.h)
IRQL 任何層級

另請參閱

NdisInitializeNPagedLookasideList

NdisInterlockedPopEntrySList

NdisInterlockedPushEntrySList

NdisQueryDepthSList

NdisQueueIoWorkItem