StorPortInterlockedPopEntrySList 函式 (storport.h)
從 Storport 受控 Singly 連結清單的前面移除專案。 多處理器系統上會同步處理清單的存取權。
Syntax
語法
ULONG StorPortInterlockedPopEntrySList(
[in] PVOID HwDeviceExtension,
[in, out] PSTOR_SLIST_HEADER SListHead,
[out] PSTOR_SLIST_ENTRY *Result
);
參數
[in] HwDeviceExtension
主機總線適配卡的硬體裝置擴充功能指標, (HBA) 。
[in, out] SListHead
STOR_SLIST_HEADER 結構的指標 ,代表單一鏈接清單的前端。 此結構被視為不透明,僅供 Storport 驅動程式使用。
[out] Result
清單項目指標的指標。 傳回的值是從清單前端移除之專案的指標。 如果清單是空的,則會在 Result 所指向的值中傳回 NULL。
傳回值
StorPortInterlockedPopEntrySList 會傳回下列其中一個狀態代碼:
傳回碼 | Description |
---|---|
|
此函式不會在作用中的操作系統上實作。 |
|
清單專案已成功從清單中移除,或已經是空的。 |
|
SListHead 或 Result 中的指標為 NULL。 |
備註
當清單中沒有專案時, StorPortInterlockedPopEntrySList 也會傳回 STATUS_SUCCESS 。 Result 所參考的指標值必須評估為 NULL,以確認未傳回任何專案。
StorPortInterlockedPopEntrySList 不會釋放它傳回的清單專案。 清單的任何解除分配程式碼都必須小心釋放配置給列表專案之位置的記憶體,然後再調整界限對齊。 Result 所指向的值可能不是因為調整MEMORY_ALLOCATION_ALIGNMENT而配置的原始緩衝區位置。 請參閱 StorPortInterlockedPushEntrySList 的備註。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | 從 Windows 8 開始提供。 |
目標平台 | Universal |
標頭 | storport.h (包含 Storport.h) |
IRQL | <= DISPATCH_LEVEL |