StorPortPoFxPowerControl 函数 (storport.h)

StorPortPoFxPowerControl 例程将电源控制请求发送到电源管理框架, (PoFx) 转发到电源引擎插件 (PEP) 。

语法

ULONG StorPortPoFxPowerControl(
  [in]            PVOID         HwDeviceExtension,
                  PSTOR_ADDRESS Address,
  [in]            LPCGUID       PowerControlCode,
  [in, optional]  PVOID         InBuffer,
  [in]            SIZE_T        InBufferSize,
  [out, optional] PVOID         OutBuffer,
  [in]            SIZE_T        OutBufferSize,
  [out, optional] PSIZE_T       BytesReturned
);

参数

[in] HwDeviceExtension

指向主机总线适配器的硬件设备扩展的指针 (HBA) 。 这是用于在之前调用 StorPortInitializePoFxPower 时注册设备的设备扩展。

Address

指向电源控制代码的指针。 此代码是指定所请求操作的 GUID 值。

[in] PowerControlCode

指向电源控制代码的指针。 此代码是指定所请求操作的 GUID 值。

[in, optional] InBuffer

指向调用方分配的缓冲区的指针,该缓冲区包含操作的输入数据。 此缓冲区中数据的格式取决于 PowerControlCode 参数指定的电源控制代码。 InBuffer 参数是可选的,如果指定的操作不需要输入数据,则可以指定为 NULL。

[in] InBufferSize

InBuffer 参数指向的输入缓冲区的大小(以字节为单位)。 如果 InBuffer 为 NULL,请将 InBufferSize 设置为零。

[out, optional] OutBuffer

指向调用方分配的缓冲区的指针,该缓冲区包含操作的输出数据。 此缓冲区中数据的格式取决于 PowerControlCode 参数指定的电源控制代码。 OutBuffer 参数是可选的,如果指定的操作不生成任何输出数据,则可以指定为 NULL。

[in] OutBufferSize

OutBuffer 参数指向的输出缓冲区的大小(以字节为单位)。 如果 OutBuffer 为 NULL,请将 OutBufferSize 设置为零。

[out, optional] BytesReturned

指向例程写入到 OutBuffer 指向的缓冲区的数据字节数的位置的指针。 写入的字节数将小于或等于 OutBufferSize。 此参数是可选的,如果调用方不需要知道写入输出缓冲区的字节数,则可以指定为 NULL

返回值

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

返回代码 说明
STOR_STATUS_SUCCESS
已成功执行 PowerControlCode 中指定的电源控制操作。
STOR_STATUS_INVALID_PARAMETER
HwDeviceExtensionDevice 为 NULL。

-或-

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

-或-

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

STOR_STATUS_INVALID_DEVICE_REQUEST
存储设备未注册到 PoFx。
STOR_STATUS_INVALID_IRQL
当前 IRQL > DISPATCH_LEVEL。
STOR_STATUS_UNSUCCESSFUL
电源控制操作失败。

注解

minport 驱动程序调用此例程以将电源控制请求直接发送到 PEP。 电源控制请求类似于 IOCTL) (I/O 控制请求。 但是,与 IOCTL 不同,电源控制请求直接发送到 PEP,设备堆栈中的其他设备驱动程序不会观察到该请求。 在 StorPortPoFxPowerControl 调用期间,PEP 会同步执行请求的操作。

同样,PEP 可以直接将电源控制请求发送到微型端口。 微型端口驱动程序在其 HwStorAdapterControlHwStorUnitControl 例程中处理此请求。 ControlType 参数接收 HwStorAdapterControl 例程中的 ScsiAdapterPoFxPowerControl 类型,以及 HwStorUnitControl 例程中的 ScsiUnitPoFxPowerControl

要求

要求
最低受支持的客户端 从 Windows 8 开始提供。
目标平台 通用
标头 storport.h
Library Storport.lib
IRQL <= DISPATCH_LEVEL

另请参阅

HwStorAdapterControl

HwStorUnitControl