共用方式為


StorPortInterlockedPopEntrySList 函式 (storport.h)

從 Storport Managed 單項連結清單的前面移除專案。 多重處理器系統上會同步處理清單的存取權。

語法

語法

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 會傳回下列其中一個狀態代碼:

傳回碼 描述
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 開始提供。
目標平臺 普遍
標頭 storport.h (包括 Storport.h)
IRQL <= DISPATCH_LEVEL

另請參閱

StorPortInitializeSListHead

StorPortInterlockedFlushSList

StorPortInterlockedPushEntrySList

StorPortQueryDepthSList