StorPortPoFxIdleComponent 函数 (storport.h)

StorPortPoFxIdleComponent 例程递减存储设备的指定组件的激活引用计数。

语法

ULONG StorPortPoFxIdleComponent(
  [in]           PVOID               HwDeviceExtension,
  [in, optional] PSTOR_ADDRESS       Address,
  [in, optional] PSCSI_REQUEST_BLOCK Srb,
  [in]           ULONG               Component,
  [in]           ULONG               Flags
);

参数

[in] HwDeviceExtension

指向主机总线适配器的硬件设备扩展的指针 (HBA) 。

[in, optional] Address

存储设备单元的地址。 将存储适配器组件闲存时,此参数为 NULL

[in, optional] Srb

触发组件停用的 SRB。 如果微型端口在内部闲移设备组件,则此参数为 NULL

[in] Component

标识组件的索引。 此参数是微型端口驱动程序通过调用 StorPortInitializePoFxPower 为设备注册的 STOR_POFX_DEVICE 结构中 Components 数组的索引。 如果 Components 数组包含 N 个元素,则组件索引的范围为 0 到 N–1。

[in] Flags

未使用。 设置为 0。

返回值

StorPortPoFxIdleComponent 例程返回以下状态代码之一:

返回代码 说明
STOR_STATUS_SUCCESS
存储设备激活引用已成功递减,组件处于空闲状态。
STOR_STATUS_INVALID_PARAMETER
HwDeviceExtensionDevice 为 NULL。

-或-

地址 指向无效的单元地址结构。

-或-

找不到 Address 指定的存储设备。

-或-

存储设备未注册到电源管理框架 (PoFx) 。

-或-

Srb 指向的 SRB 不是从 Storport 发送的。

-或-

Flags 参数为非零值。

STOR_STATUS_INVALID_DEVICE_REQUEST
适配器或单元不支持 PoFx。

-或-

StorPortPoFxIdleComponent 是使用非活动 组件Srb 调用的,以前未对其执行 对 StorPortPoFxActivateComponent 的调用。

STOR_STATUS_INVALID_IRQL
当前 IRQL > DISPATCH_LEVEL。
STOR_STATUS_BUSY
设备组件的活动引用已递减,但组件仍处于活动状态。

注解

目前,适配器设备和单元设备的最大组件计数为 1。 组件中的索引必须始终设置为 0。

每次调用 StorPortPoFxIdleComponent 必须与以前对 StorPortPoFxActivateComponent 的调用匹配。

要求

要求
最低受支持的客户端 从 Windows 8 开始提供。
目标平台 通用
标头 storport.h
IRQL 任意

另请参阅

STOR_POFX_DEVICE

StorPortInitializePoFxPower

StorPortPoFxActivateComponent