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가 이 전원 제어 작업의 결과를 쓰는 드라이버 할당 출력 버퍼에 대한 포인터입니다. 이는 요청 드라이버가 PoFxPowerControl 루틴에 OutBuffer 매개 변수로 제공한 값과 동일합니다.
[in] OutBufferSize
OutBuffer가 가리키는 버퍼의 크기(바이트)입니다.
[out] BytesReturned
PEP가 OutBuffer가 가리키는 출력 버퍼에 쓴 바이트 수입니다.
[out] Status
요청된 전원 제어 작업의 상태. 작업이 성공하면 PEP는 이 멤버를 STATUS_SUCCESS 설정합니다. 그렇지 않으면 PEP는 이 멤버를 적절한 오류 상태 코드로 설정합니다.
설명
이 구조체는 PEP_DPM_POWER_CONTROL_REQUEST 알림에서 사용됩니다. 구조체의 처음 6개 멤버에는 Windows PoFx( 전원 관리 프레임워크 )에서 제공하는 입력 값이 포함됩니다. 마지막 두 멤버에는 PEP가 이 알림에 대한 응답으로 구조체에 쓰는 값이 포함됩니다. 또한 PEP는 OutBuffer 멤버가 가리키는 출력 버퍼에 씁니다.
출력 버퍼가 너무 작아서 작업에서 모든 결과 데이터를 수신할 수 없는 경우 PEP는 구조체의 Status 멤버를 STATUS_INSUFFICIENT_RESOURCES 설정하고 , BytesReturned 멤버를 출력 버퍼의 필요한 크기로 설정하고, (일반적으로) 출력 버퍼에 데이터를 쓰지 않습니다.
디바이스용 드라이버는 PoFxPowerControl 루틴을 호출하여 디바이스에서 전원 제어 작업을 요청할 수 있습니다. 이 호출 중에 PoFx는 이 요청의 처리를 디바이스를 소유한 PEP에 위임합니다. PEP_POWER_CONTROL_REQUEST 구조체의 PowerControlCode 멤버에는 디바이스에 대한 드라이버와 PEP 모두에서 의미를 이해하는 사용자 지정 제어 코드가 포함되어 있습니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 10 부터 지원합니다. |
머리글 | pepfx.h(Pep_x.h 포함) |