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_DPM_REGISTER_DEVICE通知に応答して PEP が以前に指定したPEP_DEVICE_REGISTER_V2構造体の Components 配列へのインデックスです。 Components 配列に N 個の要素が含まれている場合、コンポーネントインデックスの範囲は 0 から N ~ 1 です。

[out] Completed

PEP が要求された P 状態の変更を完了したかどうか。 P 状態の変更が同期的に完了したことを示すには、TRUE に設定します。 要求された P 状態の変更が保留中であり、PEP ワーカー スレッドによって非同期的に完了されることを示すには、FALSE に設定します。 詳細については、「解説」を参照してください。

[out] Succeeded

要求された P 状態の変更が正常に完了したかどうか。 PerfRequests 配列で要求されたすべての P 状態変更が PEP によって正常に完了した場合は、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 通知によって使用されます。 構造体の DeviceHandleComponentPerfRequestsCountPerfRequests の各メンバーには、この通知の送信時に PoFx によって提供される入力値が含まれます。 Completed メンバーと Succeeded メンバーには、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通知が送信される前に、要求された P 状態の変更を PerfRequests 配列に書き込みます。 PEP が要求された P 状態の変更を 同期的に処理する場合、 PerfRequests 配列の内容は 、AcceptDeviceNotification コールバック ルーチンから戻るまでのみ有効です。 要求が 非同期的に完了した場合、PEP が CompleteWork ルーチンを呼び出して、PEP が保留中の要求を完了したことを PoFx に通知するまで、配列の内容は有効なままです。

要件

要件
サポートされている最小のクライアント Windows 10 以降でサポートされています。
Header 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