PEP_POWER_CONTROL_REQUEST结构(pepfx.h)

PEP_POWER_CONTROL_REQUEST 结构包含来自电源控制作的驱动程序的请求。

语法

typedef struct _PEP_POWER_CONTROL_REQUEST {
  [in]  PEPHANDLE DeviceHandle;
  [in]  LPCGUID   PowerControlCode;
  [in]  PVOID     InBuffer;
  [in]  SIZE_T    InBufferSize;
  [in]  PVOID     OutBuffer;
  [in]  SIZE_T    OutBufferSize;
  [out] SIZE_T    BytesReturned;
  [out] NTSTATUS  Status;
} PEP_POWER_CONTROL_REQUEST, *PPEP_POWER_CONTROL_REQUEST;

成员

[in] DeviceHandle

标识设备的 PEPHANDLE 值。 PEP 提供了此句柄,以响应以前的 PEP_DPM_REGISTER_DEVICE 通知。

[in] PowerControlCode

指向 GUID 值的指针,该值指定要执行的电源控制作。 此值与请求驱动程序提供给 PoFxPowerControl 例程 PowerControlCode 参数的值相同。

[in] InBuffer

指向驱动程序分配的输入缓冲区的指针,其中包含此电源控制作的输入参数。 此值与请求驱动程序提供给 PoFxPowerControl 例程的 InBuffer 参数的值相同。

[in] InBufferSize

InBuffer指向的缓冲区的大小(以字节为单位)。 此值与请求驱动程序提供给 PoFxPowerControl 例程的 InBufferSize 参数的值相同。

[in] OutBuffer

指向驱动程序分配的输出缓冲区的指针,PEP 会将此电源控制作的结果写入其中。 此值与请求驱动程序提供给 OutBuffer 参数的值相同,PoFxPowerControl 例程。

[in] OutBufferSize

OutBuffer指向的缓冲区的大小(以字节为单位)。

[out] BytesReturned

PEP 写入到输出缓冲区的字节数,OutBuffer所指向。

[out] Status

请求的电源控制作的状态。 如果作成功,PEP 会将此成员设置为STATUS_SUCCESS。 否则,PEP 会将此成员设置为适当的错误状态代码。

言论

此结构由 PEP_DPM_POWER_CONTROL_REQUEST 通知使用。 结构的前六个成员包含由 Windows 电源管理框架(PoFx)提供的输入值。 最后两个成员包含 PEP 写入到结构以响应此通知的值。 此外,PEP 将写入由 OutBuffer 成员指向的输出缓冲区。

如果输出缓冲区太小,无法从作接收所有结果数据,PEP 会将结构的 状态 成员设置为STATUS_INSUFFICIENT_RESOURCES,将 BytesReturned 成员设置为输出缓冲区所需的大小,并且(通常)不会将数据写入输出缓冲区。

设备的驱动程序可以调用 PoFxPowerControl 例程来请求设备上的电源控制作。 在此调用期间,PoFx 会将此请求的处理委托给拥有设备的 PEP。 PowerControlCodePEP_POWER_CONTROL_REQUEST 结构的成员包含一个自定义控件代码,其含义由设备的驱动程序和 PEP 理解。

要求

要求 价值
最低支持的客户端 从 Windows 10 开始支持。
标头 pepfx.h (include Pep_x.h)

另请参阅

PEP_DPM_POWER_CONTROL_REQUEST

PEP_DPM_REGISTER_DEVICE

PoFxPowerControl