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 通知によって使用されます。 構造体の DeviceHandle、 Component、 PerfRequestsCount、 PerfRequests の各メンバーには、この通知の送信時に 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 を含む) |
こちらもご覧ください
PEP_COMPONENT_PERF_STATE_REQUEST