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 返回以下状态代码之一:

返回代码 说明
STOR_STATUS_NOT_IMPLEMENTED 此函数未在活动操作系统上实现。
STOR_STATUS_SUCCESS 已成功删除列表项,或者列表已为空。
STOR_STATUS_INVALID_PARAMETER ListHeadResult 中的指针为 NULL

要求

要求
目标平台 通用
标头 storport.h (包括 Storport.h)

另请参阅

InitializeListHead

InsertHeadList

StorPortInitializeSpinLock

StorPortInterlockedInsertHeadList

StorPortInterlockedInsertTailList