次の方法で共有


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_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 通知によって使用されます。 DeviceHandleコンポーネントPerfRequestsCount、および構造体の PerfRequests メンバーには、この通知が送信されたときに PoFx によって提供される入力値が含まれます。 CompletedSucceeded メンバーには、PEP が通知に応答して構造体に書き込む出力値が含まれています。

PEP は、要求された P 状態の変更を同期的または非同期的に完了できます。 PEP は、Completed メンバーを TRUE に設定して、PEP_DPM_REQUEST_COMPONENT_PERF_STATE 通知内のすべての要求が同期的に完了したことを示すことができます。つまり、PEP の AcceptDeviceNotification コールバック ルーチンから戻る前です。 または、PEP Completed を 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 以降でサポートされています。
ヘッダー 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 する