PEP_REQUEST_COMPONENT_PERF_STATE 구조체(pep_x.h)

PEP_REQUEST_COMPONENT_PERF_STATE 구조에는 Windows PoFx(전원 관리 프레임워크)에서 요청한 성능 상태(P 상태) 변경 내용 목록과 PEP(플랫폼 확장 플러그 인)의 이러한 요청 처리에 대한 상태 정보가 포함되어 있습니다.

구문

typedef struct _PEP_REQUEST_COMPONENT_PERF_STATE {
  [in]  PEPHANDLE                         DeviceHandle;
  [in]  ULONG                             Component;
  [out] BOOLEAN                           Completed;
  [out] BOOLEAN                           Succeeded;
  [in]  ULONG                             PerfRequestsCount;
  [in]  PPEP_COMPONENT_PERF_STATE_REQUEST PerfRequests;
} PEP_REQUEST_COMPONENT_PERF_STATE, *PPEP_REQUEST_COMPONENT_PERF_STATE;

멤버

[in] DeviceHandle

디바이스를 식별하는 PEPHANDLE 값입니다. PEP는 이전 PEP_DPM_REGISTER_DEVICE 알림에 대한 응답으로 이 핸들을 제공했습니다.

[in] Component

구성 요소를 식별하는 인덱스입니다. 이 멤버는 PEP가 이 디바이스에 대한 PEP_DPM_REGISTER_DEVICE 알림에 대한 응답으로 이전에 제공한 PEP_DEVICE_REGISTER_V2 구조의 Components 배열에 대한 인덱스입니다. Components 배열에 N 요소가 포함된 경우 구성 요소 인덱스의 범위는 0에서 N-1까지입니다.

[out] Completed

PEP가 요청된 P 상태 변경을 완료했는지 여부입니다. P 상태 변경이 동기적으로 완료되었음을 나타내려면 TRUE로 설정합니다. 요청된 P 상태 변경 내용이 보류 중이며 PEP 작업자 스레드에 의해 비동기적으로 완료됨을 나타내려면 FALSE로 설정합니다. 자세한 내용은 설명 부분을 참조하세요.

[out] Succeeded

요청된 P 상태 변경이 성공적으로 완료되었는지 여부입니다. PEP가 PerfRequests 배열에서 요청된 모든 P 상태 변경 내용을 성공적으로 완료한 경우 TRUE로 설정합니다. PEP가 요청된 모든 P 상태 변경을 수행할 수 없는 경우 FALSE로 설정합니다. 이 경우 하드웨어의 P 상태는 변경되지 않은 상태로 유지됩니다. Succeeded 멤버는 동기 P 상태 변경에만 사용됩니다. PEP가 Completed 를 FALSE로 설정하면 PoFx는 Succeeded 멤버의 값을 무시합니다.

[in] PerfRequestsCount

PerfRequests 멤버가 가리키는 배열에서 요청된 P 상태 변경 횟수입니다.

[in] PerfRequests

PEP_COMPONENT_PERF_STATE_REQUEST 구조체 배열에 대한 포인터입니다. 배열의 각 요소는 P 상태 집합에 할당할 새 성능 수준을 지정합니다. 배열 요소의 수는 PerfRequestsCount 멤버에 의해 지정됩니다.

설명

이 구조는 PEP_DPM_REQUEST_COMPONENT_PERF_STATE 알림에서 사용됩니다. 구조체의 DeviceHandle, Component, PerfRequestsCountPerfRequests 멤버에는 이 알림을 보낼 때 PoFx에서 제공하는 입력 값이 포함됩니다. CompletedSucceeded 멤버에는 PEP가 알림에 대한 응답으로 구조체에 쓰는 출력 값이 포함됩니다.

PEP는 요청된 P 상태 변경을 동기적으로 또는 비동기적으로 완료할 수 있습니다. PEP는 완료된 멤버를 TRUE로 설정하여 PEP_DPM_REQUEST_COMPONENT_PERF_STATE 알림의 모든 요청이 동기적으로 완료되었음을 나타낼 수 있습니다. 즉, PEP의 AcceptDeviceNotification 콜백 루틴에서 반환되기 전입니다. 또는 PEP가 완료됨 을 FALSE로 설정하여 요청이 비동기적으로 완료됨을 나타낼 수 있습니다. 요청을 비동기적으로 완료하려면 PEP가 RequestWorker 루틴을 호출하여 PEP에 제출할 작업 요청이 있음을 PoFx에 알리고 PoFx는 PEP에 PEP_DPM_WORK 알림을 전송하여 응답해야 합니다.

PoFx는 PEP_DPM_REQUEST_COMPONENT_PERF_STATE 알림이 전송되기 전에 PerfRequests 배열에 요청된 P 상태 변경 내용을 씁니다. PEP가 요청된 P 상태 변경 내용을 동기적으로 처리하는 경우 PerfRequests 배열의 내용은 AcceptDeviceNotification 콜백 루틴에서 반환될 때까지만 유효한 상태로 유지됩니다. 요청이 비동기적으로 완료되면 PEP가 CompleteWork 루틴을 호출하여 PEP가 보류 중인 요청을 완료했음을 PoFx에 알릴 때까지 배열 내용이 유효한 상태로 유지됩니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 10 부터 지원합니다.
머리글 pep_x.h(Pep_x.h 포함)

추가 정보

AcceptDeviceNotification

PEP_COMPONENT_PERF_STATE_REQUEST

PEP_DEVICE_REGISTER_V2

PEP_DPM_REGISTER_DEVICE

PEP_DPM_REQUEST_COMPONENT_PERF_STATE

PEP_DPM_WORK

RequestWorker