StorPortInterlockedRemoveHeadList 函式 (storport.h)

StorPortInterlockedRemoveHeadList 例程會從 STOR_LIST_ENTRY 結構之多任務連結清單的開頭移除專案。

語法

ULONG StorPortInterlockedRemoveHeadList(
  [in]      PVOID            HwDeviceExtension,
  [in, out] PSTOR_LIST_ENTRY ListHead,
  [in, out] PSTOR_LIST_ENTRY *Result,
  [in, out] PSTOR_KSPIN_LOCK Lock
);

參數

[in] HwDeviceExtension

主機總線適配卡的硬體裝置擴充功能指標, (HBA) 。

[in, out] ListHead

表示清單前端 之STOR_LIST_ENTRY 結構的指標。

[in, out] Result

STOR_LIST_ENTRY 結構的指標,表示從清單中移除的專案。 如果清單是空的,則例程會傳回 NULL

[in, out] Lock

STOR_KSPIN_LOCK 結構的指標,做為同步處理清單存取的微調鎖定。 微調鎖定的記憶體必須是固定的,而且必須藉由呼叫 StorPortInitializeSpinLock 來初始化。

您只能搭配 StorPortInterlockedXxx清單 例程使用此微調鎖定。

傳回值

StorPortInterlockedRemoveHeadList 會傳回下列其中一個狀態代碼:

傳回碼 Description
STOR_STATUS_NOT_IMPLEMENTED 此函式不會在作用中的操作系統上實作。
STOR_STATUS_SUCCESS 已成功移除清單專案,或清單已經是空的。
STOR_STATUS_INVALID_PARAMETER ListHeadResult 中的指標為 NULL

規格需求

需求
目標平台 Universal
標頭 storport.h (包含 Storport.h)

另請參閱

InitializeListHead

InsertHeadList

StorPortInitializeSpinLock

StorPortInterlockedInsertHeadList

StorPortInterlockedInsertTailList