StorPortInterlockedPopEntrySList 函数 (storport.h)

从 Storport 托管的单独链接列表的前面删除项。 对列表的访问在多处理器系统上同步。

语法

语法

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