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

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

[in, optional] Srb

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

[in] Component

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

[in] Flags

未使用。 设置为 0。

返回值

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

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

-或-

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

-或-

找不到 地址 指定的存储设备。

-或-

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

-或-

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

-或-

Flags 参数为非零。

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

-或-

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

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

言论

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

每次调用 StorPortPoFxIdleComponent 都必须匹配对 StorPortPoFxActivateComponent的上一次调用。

要求

要求 价值
最低支持的客户端 从 Windows 8 开始可用。
目标平台 普遍
标头 storport.h
IRQL 任何

另请参阅

STOR_POFX_DEVICE

StorPortInitializePoFxPower

StorPortPoFxActivateComponent