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) |