다음을 통해 공유


PEP_REQUEST_COMPONENT_PERF_STATE 구조체(pepfx.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 부터 지원합니다.
머리글 pepfx.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