共用方式為


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
STOR_STATUS_NOT_IMPLEMENTED
此函式不會在作用中的操作系統上實作。
STOR_STATUS_SUCCESS
清單專案已成功從清單中移除,或已經是空的。
STOR_STATUS_INVALID_PARAMETER
SListHeadResult 中的指標為 NULL

備註

當清單中沒有專案時, StorPortInterlockedPopEntrySList 也會傳回 STATUS_SUCCESSResult 所參考的指標值必須評估為 NULL,以確認未傳回任何專案。

StorPortInterlockedPopEntrySList 不會釋放它傳回的清單專案。 清單的任何解除分配程式碼都必須小心釋放配置給列表專案之位置的記憶體,然後再調整界限對齊。 Result 所指向的值可能不是因為調整MEMORY_ALLOCATION_ALIGNMENT而配置的原始緩衝區位置。 請參閱 StorPortInterlockedPushEntrySList 的備註。

規格需求

需求
最低支援的用戶端 從 Windows 8 開始提供。
目標平台 Universal
標頭 storport.h (包含 Storport.h)
IRQL <= DISPATCH_LEVEL

另請參閱

StorPortInitializeSListHead

StorPortInterlockedFlushSList

StorPortInterlockedPushEntrySList

StorPortQueryDepthSList