プロセッサ電源管理 (PPM) の通知
PEP の AcceptProcessorNotification コールバック ルーチンが受信するプロセッサ電源管理 (PPM) の各通知は、通知の種類を示す Notification パラメーターと、指定した通知の種類に関する情報を含むデータ構造体を指す Data パラメーターを 1 つずつ伴います。
この呼び出しでは、Notification パラメーターは通知の種類を示す PEP_NOTIFY_PPM_XXX 定数値に設定されます。 Data パラメーターは、この通知の種類に関連付けられている PEP_PPM_XXX 構造体型を指します。
次のプロセッサ電源管理 (PPM) 通知 ID は、AcceptProcessorNotification コールバック ルーチンによって使用されます。
PEP_NOTIFY_PPM_QUERY_CAPABILITIES
Handle
ターゲット プロセッサの PEP のデバイス ハンドルを含む PEPHANDLE 構造体。 通知が特定のプロセッサを対象としていない場合、これは NULL になります。
通知
PEP_NOTIFY_PPM_QUERY_CAPABILITIES 値。
Data
PEP_PPM_QUERY_CAPABILITIES 構造体へのポインター。
注釈
PEP の電源管理機能に対してクエリを実行中であることを PEP に通知します。
Windows 電源管理フレームワーク (PoFx) は、PEP に対して電源管理機能のクエリが実行されたときに、この通知を送信します。 これはプロセッサの初期化時に発生し、システム内のプロセッサごとに送信されます。
x86/AMD64 プロセッサを搭載したプラットフォームでは、プロセッサのパフォーマンス制御に ACPI インターフェイスを使用する必要があります。
PEP_NOTIFY_PPM_QUERY_CAPABILITIES 通知を送信するために、PoFx は PEP の AcceptProcessorNotification コールバック ルーチンを呼び出します。 この呼び出しでは、Notification パラメーター値が PEP_NOTIFY_PPM_QUERY_CAPABILITIES であり、Data パラメーターは PEP_PPM_QUERY_CAPABILITIES 構造体を指しています。
PEP_NOTIFY_PPM_QUERY_CAPABILITIES 通知の場合、AcceptProcessorNotification ルーチンは常に IRQL = PASSIVE_LEVEL で呼び出されます。
PEP_NOTIFY_PPM_QUERY_IDLE_STATES
通知
PEP_NOTIFY_PPM_QUERY_IDLE_STATES 値。
Data
PEP_PPM_QUERY_IDLE_STATES 構造体へのポインター。
注釈
アイドル状態について PEP に通知します。
PEP_NOTIFY_PPM_QUERY_IDLE_STATES 通知を送信するために、PoFx は PEP の AcceptProcessorNotification コールバック ルーチンを呼び出します。 この呼び出しでは、Notification パラメーター値が PEP_NOTIFY_PPM_QUERY_IDLE_STATES であり、Data パラメーターは PEP_PPM_QUERY_IDLE_STATES 構造体を指しています。
PEP_NOTIFY_PPM_QUERY_IDLE_STATES 通知の場合、AcceptProcessorNotification ルーチンは常に IRQL = PASSIVE_LEVEL で呼び出されます。
PEP_NOTIFY_PPM_IDLE_SELECT
通知
PEP_NOTIFY_PPM_IDLE_SELECT 値。
Data
PEP_PPM_IDLE_SELECT 構造体へのポインター。
注釈
アイドル状態の選択を PEP に通知します。
PEP_NOTIFY_PPM_IDLE_SELECT 通知を送信するために、PoFx は PEP の AcceptProcessorNotification コールバック ルーチンを呼び出します。 この呼び出しでは、Notification パラメーター値は PEP_NOTIFY_PPM_IDLE_SELECT であり、Data パラメーターは PEP_PPM_IDLE_SELECT 構造体を指しています。
PEP_NOTIFY_PPM_IDLE_SELECT 通知の場合、AcceptProcessorNotification ルーチンは常に IRQL = PASSIVE_LEVEL で呼び出されます。
PEP_NOTIFY_PPM_IDLE_CANCEL
通知
PEP_NOTIFY_PPM_IDLE_CANCEL 値。
Data
PEP_PPM_IDLE_CANCEL 構造体へのポインター。
注釈
キャンセル アクションを PEP に通知します。
PEP_NOTIFY_PPM_IDLE_CANCEL 通知を送信するために、PoFx は PEP の AcceptProcessorNotification コールバック ルーチンを呼び出します。 この呼び出しでは、Notification パラメーター値は PEP_NOTIFY_PPM_IDLE_CANCEL であり、Data パラメーターは PEP_PPM_IDLE_CANCEL 構造体を指しています。
PEP_NOTIFY_PPM_IDLE_CANCEL 通知の場合、AcceptProcessorNotification ルーチンは常に IRQL = PASSIVE_LEVEL で呼び出されます。
PEP_NOTIFY_PPM_IDLE_EXECUTE
Handle
ターゲット プロセッサの PEP のデバイス ハンドルを含む PEPHANDLE 構造体。 通知が特定のプロセッサを対象としていない場合、これは NULL になります。
通知
PEP_NOTIFY_PPM_IDLE_EXECUTE 値。
Data
PEP_PPM_IDLE_EXECUTE または PEP_PPM_IDLE_EXECUTE_V2 構造体へのポインター。
注釈
現在のプロセッサを指定されたアイドル状態に遷移するために PEP に送信されます。
Windows 電源管理フレームワーク (PoFx) は、現在のプロセッサを指定されたアイドル状態に遷移するために、この通知を PEP に送信します。
PEP は、スリープ遷移によって影響を受ける可能性があるコア システム リソースを OS に通知するなど、既に選択されているアイドル状態に入るためにハードウェアを準備できます。 その後、停止命令を実行して、プロセッサをアイドル状態に遷移する必要があります。 アイドル状態から復帰すると、PEP は、スリープ解除時にアクティブになった可能性のあるコア システム リソースを OS に通知するなど、ハードウェアのセットアップを元に戻す必要があります。 PEP がプロセッサ (およびプラットフォーム) のアイドル状態を実行できない場合は、エラー状態を返す必要があります。
調整されたアイドル状態インターフェイスを使用する場合、OS は、CoordinatedStateCount フィールドと CoordinatedState フィールドを含む PEP_PPM_IDLE_EXECUTE_V2 構造体と、アイドル状態遷移によってアイドル状態に入ることになる、調整されたアイドル状態のリストを使用します。 PlatformState フィールドは、アイドル状態に入っている中で、プラットフォームで調整された最も深いアイドル状態があれば、それを指定します。
調整されたアイドル状態インターフェイスを使用しない場合、OS は PEP_PPM_IDLE_EXECUTE 構造体を使用します。
PEP_NOTIFY_PPM_IDLE_EXECUTE 通知の場合、割り込みが無効な状態で AcceptProcessorNotification ルーチンが呼び出されます。
PEP_NOTIFY_PPM_IDLE_COMPLETE
Handle
ターゲット プロセッサの PEP のデバイス ハンドルを含む PEPHANDLE 構造体。
通知
PEP_NOTIFY_PPM_IDLE_COMPLETE 値。
Data
PEP_PPM_IDLE_COMPLETE または PEP_PPM_IDLE_COMPLETE_V2 構造体へのポインター。
注釈
現在のプロセッサが完了したアイドル状態遷移からウェイクアップ中であることを PEP に通知します。
Windows 電源管理フレームワーク (PoFx) は、現在のプロセッサがアイドル状態遷移からウェイクアップしているときに、この通知を送信します。 プラットフォームがプラットフォーム アイドル状態遷移を実行中であった場合、復帰する最初のプロセッサは、プラットフォーム アイドル状態を終了中として示します。 プラットフォーム アイドル状態遷移で使用される同期の種類によっては、プラットフォーム アイドル状態から復帰する最初のプロセッサが、プラットフォーム アイドル状態に入っているプロセッサではない場合もあります。
プロセッサが深いアイドル状態を実行していた場合、PEP は、コア コンテキストを復元するための完全な通知を受信するか、コア リソースが復元されたことを OS に通知するまで待機することはできません。 OS では、実行通知が完了すると、これらのリソースが復元されたと想定します。 ハイパーバイザーが有効になっている場合、PEP は、プラットフォーム アイドル状態の終了時のみこの通知を受信し、ProcessorState フィールドは PEP_PROCESSOR_IDLE_STATE_UNKNOWN に設定されています。
調整されたアイドル状態インターフェイスを使用する場合、OS は、CoordinatedStateCount フィールドと CoordinatedState フィールドを含む PEP_PPM_IDLE_COMPLETE_V2 構造体と、アイドル状態遷移によって終了することになる、調整されたアイドル状態のリストを使用します。 PlatformState フィールドは、アイドル状態を終了している中で、プラットフォーム用に調整された最も深いアイドル状態があれば、それを指定します。 緩やかな同期を使用している場合、このプロセッサが終了した一連の調整されたアイドル状態と、同じプロセッサが開始した一連の調整されたアイドル状態は一致しない場合があることに注意してください。
調整されたアイドル状態インターフェイスを使用しない場合、OS は PEP_PPM_IDLE_COMPLETE 構造体を使用します。
PEP_NOTIFY_PPM_IDLE_COMPLETE 通知の場合、割り込みが無効な状態で AcceptProcessorNotification ルーチンが呼び出され、常にターゲット プロセッサで実行されます。
PEP_NOTIFY_PPM_IS_PROCESSOR_HALTED
Handle
ターゲット プロセッサの PEP のデバイス ハンドルを含む PEPHANDLE 構造体。 通知が特定のプロセッサを対象としていない場合、これは NULL になります。
通知
PEP_NOTIFY_PPM_IS_PROCESSOR_HALTED 値。
Data
PEP_PPM_IS_PROCESSOR_HALTED 構造体へのポインター。
注釈
指定されたプロセッサが現在、選択したアイドル状態で停止しているかどうかを判断するために PEP に送信されます。
Windows 電源管理フレームワーク (PoFx) は、指定されたプロセッサが現在、選択したアイドル状態で停止しているかどうかを判断するために、この通知を PEP に送信します。 OS は、プラットフォーム アイドル状態を調整するときに、セカンダリ プロセッサがアイドル状態遷移を完全に完了したかを確認するために、この通知を使用します。 PEP は、プラットフォーム アイドル状態遷移が安全にできる、ターゲット プロセッサの状態に達していることを保証する必要があります (たとえば、ハードウェア レジスタをチェックしてコアが停止しているかどうかを確認するなど)。 この通知がプロセッサがアイドル状態であることを示すと、OS が明示的に要求しない限り、そのプロセッサはウェイクアップできません。
PEP は、IDLE_SELECT 通知と IDLE_COMPLETE 通知の間にいつでもこの通知を受信できます。 アイドル状態遷移中に、この通知を最大 1 回受信することが保証されています。
PEP_NOTIFY_PPM_IS_PROCESSOR_HALTED 通知の場合、AcceptProcessorNotification ルーチンは、任意の IRQL でかつ割り込みが無効な状態で呼び出されるか、任意の IRQL で呼び出され、ターゲット プロセッサで実行されることはありません。
<= HIGH_LEVEL
PEP_NOTIFY_PPM_INITIATE_WAKE
Handle
ターゲット プロセッサの PEP のデバイス ハンドルを含む PEPHANDLE 構造体。
通知
PEP_NOTIFY_PPM_INITIATE_WAKE 値。
Data
構造体へのポインター。
注釈
割り込み不可能なアイドル状態からウェイクアップを開始するために、指定されたプロセッサの PEP に送信されます。
Windows 電源管理フレームワーク (PoFx) は、割り込み不可能なアイドル状態からのウェイク アップを開始するために、指定されたプロセッサの PEP にこの通知を送信します。 PEP は、NeedInterruptForCompletion を使用してターゲット プロセッサの復帰の状態を返す必要があります。 プロセッサがアイドル状態からのウェイクアップを完了するために割り込みが必要な場合は TRUE を返します。 この場合、PEP は、この通知の処理から戻った時点でターゲット プロセッサが割り込みできるようにする必要があります。 ターゲット プロセッサが既に実行中の場合や、ソフトウェアによって生成された割り込みを必要とせず、最終的にアイドル状態を終了する (およびそのプロセスを実行中の) 場合は、NeedInterruptForCompletion を FALSE に設定する必要があります。
注 PEP は、同じプロセッサに対して同時にこの通知を受信することはありません。
PEP_NOTIFY_PPM_INITIATE_WAKE 通知の場合、AcceptProcessorNotification ルーチンは任意の IRQL で、割り込みが無効な状態で呼び出され、ターゲット プロセッサで実行されることはありません。
<= HIGH_LEVEL
PEP_NOTIFY_PPM_QUERY_FEEDBACK_COUNTERS
Handle
ターゲット プロセッサの PEP のデバイス ハンドルを含む PEPHANDLE 構造体。 通知が特定のプロセッサを対象としていない場合、これは NULL になります。
通知
PEP_NOTIFY_PPM_QUERY_FEEDBACK_COUNTERS 値。
Data
PEP_PPM_QUERY_FEEDBACK_COUNTERS 構造体へのポインター。
注釈
PEP がサポートするフィードバック カウンターのリストがクエリされていることを PEP に通知します。
Windows 電源管理フレームワーク (PoFx) は、プロセッサの初期化時にこの通知を送信して、サポートしているフィードバック カウンターのリストのクエリを PEP に対して実行します。
PEP_NOTIFY_PPM_QUERY_FEEDBACK_COUNTERS 通知の場合、AcceptProcessorNotification ルーチンは常に IRQL = PASSIVE_LEVEL で呼び出されます。
PEP_NOTIFY_PPM_FEEDBACK_READ
Handle
ターゲット プロセッサの PEP のデバイス ハンドルを含む PEPHANDLE 構造体。 通知が特定のプロセッサを対象としていない場合、これは NULL になります。
通知
PEP_NOTIFY_PPM_FEEDBACK_READ の値。
Data
PEP_PPM_FEEDBACK_READ 構造体へのポインター。
注釈
フィードバック カウンターの現在の値がクエリされていることを PEP に通知します。
Windows 電源管理フレームワーク (PoFx) は、フィードバック カウンターの現在の値をクエリするときに、この通知を送信します。
この通知は、割り込みが無効な状態で送信される場合があります。 カウンターの Affinitized フィールドが設定されている場合、この通知はターゲット プロセッサで実行されます。 それ以外の場合、この通知は任意のプロセッサから実行できます。
PEP_NOTIFY_PPM_FEEDBACK_READ 通知の場合、AcceptProcessorNotification ルーチンは IRQL = DISPATCH_LEVEL で呼び出される場合があります。
PEP_NOTIFY_PPM_QUERY_PERF_CAPABILITIES
Handle
ターゲット プロセッサの PEP のデバイス ハンドルを含む PEPHANDLE 構造体。 通知が特定のプロセッサを対象としていない場合、これは NULL になります。
通知
PEP_NOTIFY_PPM_QUERY_PERF_CAPABILITIES 値。
Data
PEP_PPM_QUERY_PERF_CAPABILITIES 構造体へのポインター。
注釈
プラットフォームでサポートされているパフォーマンス範囲がクエリされていることを PEP に通知します。
Windows 電源管理フレームワーク (PoFx) は、プロセッサの初期化時にこの通知を送信して、プラットフォームでサポートされているパフォーマンス範囲をクエリします。 PEP_PPM_QUERY_PERF_CAPABILITIES 構造体の DomainId フィールドと DomainMembers フィールドは、プラットフォームに対してパフォーマンス状態ドメインを表すために使用されます。 各プロセッサは、厳密に 1 つのパフォーマンス状態ドメインのメンバーです。 オペレーティング システムは、パフォーマンス ドメイン内のすべてのプロセッサのパフォーマンスが確実に一緒に変化するようにします。
PEP_NOTIFY_PPM_QUERY_PERF_CAPABILITIES 通知の場合、AcceptProcessorNotification ルーチンは常に IRQL = PASSIVE_LEVEL で呼び出されます。
PEP_NOTIFY_PPM_PERF_CONSTRAINTS
Handle
ターゲット プロセッサの PEP のデバイス ハンドルを含む PEPHANDLE 構造体。
通知
PEP_NOTIFY_PPM_PERF_CONSTRAINTS 値。
Data
PEP_PPM_PERF_CONSTRAINTS 構造体へのポインター。
注釈
プロセッサの現在の動作制約がクエリされていることを PEP に通知します。
Windows 電源管理フレームワーク (PoFx) は、プロセッサの現在の動作制約を調べるときに、この通知を送信します。 PEP は、制御コード GUID_PPM_PERF_CONSTRAINT_CHANGE で電源制御を実行することで、OS に対してプロセッサのパフォーマンス制約を再評価する要求を開始します。 InBuffer と OutBuffer は NULL にする必要があります。
PEP は、プロセッサの電源制御トランザクションを発行する前に、プロセッサの PEP_DPM_DEVICE_STARTED 通知を受信するまで待機する必要があります。
PEP_NOTIFY_PPM_PERF_CONSTRAINTS 通知の場合、AcceptProcessorNotification ルーチンは常に IRQL = PASSIVE_LEVEL で呼び出されます。
PEP_NOTIFY_PPM_PERF_SET
この通知は、プロセッサの現在の動作パフォーマンスを変更する必要があることを PEP に通知します。
次に、AcceptProcessorNotification のパラメーターについて説明します。
Handle
ターゲット プロセッサの PEP のデバイス ハンドルを含む PEPHANDLE 構造体。 通知が特定のプロセッサを対象としていない場合、これは NULL になります。
通知
PEP_NOTIFY_PPM_PERF_SET 値。
Data
PEP_PPM_PERF_SET 構造体へのポインター。
注釈
Windows 電源管理フレームワーク (PoFx) は、プロセッサの現在の動作パフォーマンスを変更するときに、この通知を送信します。 この通知は、任意のプロセッサで実行中に送信される場合があります。
PEP_NOTIFY_PPM_PERF_SET 通知の場合、AcceptProcessorNotification ルーチンは常に IRQL = DISPATCH_LEVEL で呼び出されます。
PEP_NOTIFY_PPM_PARK_SELECTION
Handle
ターゲット プロセッサの PEP のデバイス ハンドルを含む PEPHANDLE 構造体。 通知が特定のプロセッサを対象としていない場合、これは NULL になります。
通知
PEP_NOTIFY_PPM_PARK_SELECTION 値。
Data
PEP_PPM_PARK_SELECTION 構造体へのポインター。
注釈
保留するプロセッサ コアの優先セットを選択するよう OS が PEP に指示していることを PEP に通知します。
Windows 電源管理フレームワーク (PoFx) は、保留するコアの優先セットを選択するよう PEP に指示するために、この通知を送信します。
PEP_NOTIFY_PPM_PARK_SELECTION は、次の 2 つの機能を実行するためにオーバーロードされています。
(システム内のすべてのプロセッサのセットから) どのプロセッサを保留するか、どのプロセッサを保留解除するか PEP に選択させます。 (保留解除されているすべてのプロセッサのセットから) どのプロセッサが割り込みを受信するか、どのプロセッサが割り込みを受信しないか PEP に選択させます。 Windows では、OS が実行している両機能のどちらであるかを PEP が区別する手段は提供されていません。 その結果、PEP は、特定の入力セット (AdditionalUnparkedProcessors カウントと PoPreference) でこの通知を受信したときに、一部の外部イベントによって PEP の基本設定が変更されない限り、一貫性のある出力 (PepPreference) を提供する必要があります。
PEP_NOTIFY_PPM_PARK_SELECTION 通知の場合、AcceptProcessorNotification ルーチンは常に IRQL = DISPATCH_LEVEL で呼び出されます。
PEP_NOTIFY_PPM_CST_STATES
Handle
ターゲット プロセッサの PEP のデバイス ハンドルを含む PEPHANDLE 構造体。 通知が特定のプロセッサを対象としていない場合、これは NULL になります。
通知
PEP_NOTIFY_PPM_CST_STATES 値。
Data
PEP_PPM_CST_STATES 構造体へのポインター。
注釈
プロセッサでサポートされている ACPI で定義された C 状態のセットを示すために PEP に送信されます。
Windows 電源管理フレームワーク (PoFx) は、プロセッサでサポートされている ACPI で定義された C 状態のセットを示すために、PEP にこの通知を送信します。 この通知は、PEP がプロセッサの PEP_NOTIFY_PPM_QUERY_IDLE_STATES_V2 通知を初めて受信する前に 1 回送信されます。また、_CST オブジェクトが変更されたことを示す Notify(0x81) をプロセッサが受信するたびに、この通知が再度送信されます。
PEP_NOTIFY_PPM_CST_STATES 通知の場合、AcceptProcessorNotification ルーチンは常に IRQL = PASSIVE_LEVEL で呼び出されます。
PEP_NOTIFY_PPM_QUERY_PLATFORM_STATES
Handle
ターゲット プロセッサの PEP のデバイス ハンドルを含む PEPHANDLE 構造体。 通知が特定のプロセッサを対象としていない場合、これは NULL になります。
通知
PEP_NOTIFY_PPM_QUERY_PLATFORM_STATES 値。
Data
PEP_PPM_QUERY_PLATFORM_STATES 構造体へのポインター。
注釈
PEP がサポートするプラットフォーム アイドル状態の数をクエリするために、プロセッサの初期化時に送信されます。
Windows 電源管理フレームワーク (PoFx) は、プロセッサの初期化時にこの通知を PEP に送信して、サポートしているプラットフォーム アイドル状態の数をクエリします。 この通知は起動時に 1 回送信されます。 0 以外の数のプラットフォーム状態を返した後、PEP はプロセッサ アイドル状態遷移中にプラットフォーム アイドル状態の選択を開始できます。
PEP_NOTIFY_PPM_QUERY_PLATFORM_STATES 通知の場合、AcceptProcessorNotification ルーチンは常に IRQL = PASSIVE_LEVEL で呼び出されます。
PEP_NOTIFY_PPM_QUERY_LP_SETTINGS
通知
PEP_NOTIFY_PPM_QUERY_LP_SETTINGS 値。
Data
PEP_PPM_QUERY_LP_SETTINGS 構造体へのポインター。
注釈
PEP_NOTIFY_PPM_QUERY_LP_SETTINGS 通知を送信するために、PoFx は PEP の AcceptProcessorNotification コールバック ルーチンを呼び出します。 この呼び出しでは、Notification パラメーター値が PEP_NOTIFY_PPM_QUERY_LP_SETTINGS であり、Data パラメーターは PEP_PPM_QUERY_LP_SETTINGS 構造体を指しています。
PEP_NOTIFY_PPM_QUERY_LP_SETTINGS 通知の場合、AcceptProcessorNotification ルーチンは常に IRQL = PASSIVE_LEVEL で呼び出されます。
PEP_NOTIFY_PPM_QUERY_IDLE_STATES_V2
Handle
ターゲット プロセッサの PEP のデバイス ハンドルを含む PEPHANDLE 構造体。 通知が特定のプロセッサを対象としていない場合、これは NULL になります。
通知
PEP_NOTIFY_PPM_QUERY_IDLE_STATES_V2 値。
Data
PEP_PPM_QUERY_IDLE_STATES_V2 構造体へのポインター。
注釈
PEP がサポートするアイドル状態のリストをクエリするために、プロセッサの初期化時に使用されます。
Windows 電源管理フレームワーク (PoFx) は、プロセッサの初期化時にこの通知を PEP に送信して、サポートするアイドル状態のリストをクエリします。
Count メンバーは、アイドル状態配列のサイズを指定します。 プロセッサ ドライバーは、この通知を送信する前に、PEP_NOTIFY_PPM_QUERY_CAPABILITIES でアイドル状態の数をクエリします。
PEP は IdleStates 配列に、サポートしている各アイドル状態に関する情報を入力します。 アイドル状態は、電力消費量の削減/遷移コストの増加の順に一覧表示する必要があります。 PEP は、プロセッサごとにアイドル状態について同じリストを報告する必要はありません。
PEP_NOTIFY_PPM_QUERY_IDLE_STATES_V2 通知の場合、AcceptProcessorNotification ルーチンは常に IRQL = PASSIVE_LEVEL で呼び出されます。
PEP_NOTIFY_PPM_QUERY_PLATFORM_STATE
Handle
ターゲット プロセッサの PEP のデバイス ハンドルを含む PEPHANDLE 構造体。 通知が特定のプロセッサを対象としていない場合、これは NULL になります。
通知
PEP_NOTIFY_PPM_QUERY_PLATFORM_STATE 値。
Data
PEP_PPM_QUERY_PLATFORM_STATE 構造体へのポインター。
注釈
単一プラットフォーム アイドル状態のプロパティをクエリするために PEP に送信されます。
Windows 電源管理フレームワーク (PoFx) は、プロセッサの初期化時にこの通知を送信して、単一プラットフォーム アイドル状態のプロパティをクエリします。
PEP_PPM_QUERY_PLATFORM_STATE 構造体の StateIndex パラメーターは、クエリされるプラットフォーム アイドル状態のインデックスを指定します。 プロセッサ ドライバーは、この通知を送信する前に、PEP_NOTIFY_PPM_QUERY_PLATFORM_STATES でサポートされているプラットフォーム アイドル状態の数をクエリします。 プロセッサ ドライバーは、プラットフォーム アイドル状態ごとに 1 通ずつ PEP_NOTIFY_PPM_QUERY_PLATFORM_STATE 通知を送信します。 プロセッサ ドライバーは、すべてのプロセッサが PEP に登録されるまで、この通知の送信を待機します。
PEP は、プラットフォーム アイドル状態に関する情報を State 構造体に入力します。 プラットフォーム アイドル状態は、電力消費量の削減/遷移コストの増加の順に一覧表示する必要があります。
PEP_NOTIFY_PPM_QUERY_PLATFORM_STATE 通知の場合、AcceptProcessorNotification ルーチンは常に IRQL = PASSIVE_LEVEL で呼び出されます。
PEP_NOTIFY_PPM_TEST_IDLE_STATE
Handle
ターゲット プロセッサの PEP のデバイス ハンドルを含む PEPHANDLE 構造体。 通知が特定のプロセッサを対象としていない場合、これは NULL になります。
通知
PEP_NOTIFY_PPM_TEST_IDLE_STATE 値。
Data
PEP_PPM_TEST_IDLE_STATE 構造体へのポインター。
注釈
指定したプロセッサで、指定したプロセッサおよびプラットフォーム アイドル状態に入れるかどうかをテストするために使用します。
Windows 電源管理フレームワーク (PoFx) は、指定されたプロセッサで、指定されたプロセッサおよびプラットフォーム アイドル状態に入れるかどうかをテストするために、この通知を送信します。 アイドル状態に入れる場合、PEP は拒否コード PEP_IDLE_VETO_NONE を入力し、アイドル状態遷移を完了します。 何らかの理由でアイドル状態遷移を完了できない場合、PEP は 0 以外の拒否コードを入力します。
0x80000000 ~ 0xffffffff の重要な拒否コードは、OS 用に予約されており、使用できない場合があります。
この通知が送信されたとき、選択されたプロセッサまたはプラットフォーム アイドル状態に関連付けられているすべての制約が、プラットフォーム アイドル状態遷移に対するデバイスおよびプロセッサの制約を含めて、満たされていることを OS が既に検証済みです。
この通知は、OS がプロセッサまたはプラットフォーム アイドル状態に入ろうとする前に送信されます。ただし、常に遷移可能な状態でなければならないインデックス 0 のプロセッサ アイドル状態を除きます。 PEP_IDLE_VETO_NONE でこの通知を完了しても、OS が指示されたアイドル状態に入ることをが保証されるわけではありません。 この通知は、割り込みが無効な状態で送信されます。 この通知は常にターゲット プロセッサで実行されます。
PEP_NOTIFY_PPM_TEST_IDLE_STATE 通知の場合、割り込みが無効な状態で AcceptProcessorNotification ルーチンが呼び出されます。
PEP_NOTIFY_PPM_IDLE_PRE_EXECUTE
Handle
ターゲット プロセッサの PEP のデバイス ハンドルを含む PEPHANDLE 構造体。 通知が特定のプロセッサを対象としていない場合、これは NULL になります。
通知
PEP_NOTIFY_PPM_IDLE_PRE_EXECUTE 値。
Data
PEP_PPM_IDLE_EXECUTE または PEP_PPM_IDLE_EXECUTE_V2 構造体へのポインター。
注釈
指定されたアイドル状態に遷移するようにシステムを準備するために PEP に送信されます。
Windows 電源管理フレームワーク (PoFx) は、指定されたアイドル状態に遷移するようにシステムを準備するために、この通知を PEP に送信します。 この通知が正常に完了すると、OS は関連付けられた C 状態に入ることでプロセッサをアイドル状態に遷移します。 PEP がプロセッサ (およびプラットフォーム) アイドル状態に入るようにシステムを準備できない場合は、エラー状態を返す必要があります。
ハイパーバイザーが有効になっている場合、PEP はプラットフォーム アイドル状態に入ったときのみ、ProcessorState フィールドは PEP_PROCESSOR_IDLE_STATE_UNKNOWN に設定されている、この通知を受信します。
調整されたアイドル状態インターフェイスを使用する場合、OS は、CoordinatedStateCount フィールドと CoordinatedState フィールドを含む PEP_PPM_IDLE_EXECUTE_V2 構造体と、アイドル状態遷移によってアイドル状態に入ることになる、調整されたアイドル状態のリストを使用します。 PlatformState フィールドは、アイドル状態に入っている中で、プラットフォームで調整された最も深いアイドル状態があれば、それを指定します。
調整されたアイドル状態インターフェイスを使用しない場合、OS は PEP_PPM_IDLE_EXECUTE 構造体を使用します。
PEP_NOTIFY_PPM_IDLE_PRE_EXECUTE 通知の場合、AcceptProcessorNotification ルーチンは割り込みが無効な状態で呼び出され、常にターゲット プロセッサで実行されます。
PEP_NOTIFY_PPM_UPDATE_PLATFORM_STATE
Handle
ターゲット プロセッサの PEP のデバイス ハンドルを含む PEPHANDLE 構造体。 通知が特定のプロセッサを対象としていない場合、これは NULL になります。
通知
PEP_NOTIFY_PPM_UPDATE_PLATFORM_STATE 値。
Data
PEP_PPM_QUERY_PLATFORM_STATE 構造体へのポインター。
注釈
プラットフォーム アイドル状態の特性を更新するための Notify(0x81) をプロセッサが受信したことを PEP に通知します。
Windows 電源管理フレームワーク (PoFx) は、プロセッサが Notify(0x81) を受信したときにこの通知を送信して、プラットフォーム アイドル状態の特性を更新します。 この通知は、プラットフォーム アイドル状態ごとに 1 回送信されます。 PEP が通知を受け取っていない (つまり、AcceptProcessorNotification コールバックから FALSE が返された) 場合、直近に受け取った PEP_NOTIFY_PPM_QUERY_PLATFORM_STATE または PEP_NOTIFY_PPM_UPDATE_PLATFORM_STATE 通知から、プラットフォーム アイドル状態の前の定義が保持されます。
この通知では、PEP_NOTIFY_PPM_QUERY_PLATFORM_STATE 通知と同じデータ バッファーが使用されます。
PEP_NOTIFY_PPM_UPDATE_PLATFORM_STATE 通知の場合、AcceptProcessorNotification ルーチンは常に IRQL = PASSIVE_LEVEL で呼び出されます。
PEP_NOTIFY_PPM_QUERY_PLATFORM_STATE_RESIDENCIES
Handle
ターゲット プロセッサの PEP のデバイス ハンドルを含む PEPHANDLE 構造体。 通知が特定のプロセッサを対象としていない場合、これは NULL になります。
通知
PEP_NOTIFY_PPM_QUERY_PLATFORM_STATE_RESIDENCIES 値。
Data
PEP_PPM_PLATFORM_STATE_RESIDENCIES 構造体へのポインター。
注釈
ブート以降、各プラットフォーム アイドル状態で費やした実際の累積時間を取り込む必要があることを PEP に通知します。
Windows 電源管理フレームワーク (PoFx) は、ブート以降に各プラットフォーム アイドル状態で費やした実際の累積時間を取り込むために、この通知を PEP に送信します。 そのため、このクエリは、基になるハードウェアが、OS によって要求された状態とは異なるプラットフォーム アイドル状態に入るように自律的に決定できるプラットフォームにのみ適用されます。 返された値は、診断目的に使用され、プラットフォーム アイドル状態の保存場所に対する OS の認識が、どのタイミングでプラットフォームで実際に実行された処理と大きく異なったかを、この値で特定します。
Count は States 配列内の要素の数を指定します。要素インデックスはプラットフォーム アイドル状態インデックスに対応します。 PEP は、一致する状態の実際の保存場所と遷移回数を各要素に入力します。
注 このクエリによって取り込まれた累積値は、PEP (またはプロセッサ ドライバー) が実際にプラットフォーム アイドル状態遷移を実行した期間にのみ対応している必要があります。 これにより、OS で計算される保存場所と実際の保存場所の比較が意味を持つようになります。
PEP_NOTIFY_PPM_QUERY_PLATFORM_STATE_RESIDENCIES 通知の場合、AcceptProcessorNotification ルーチンは任意の IRQL で呼び出すことができます。
PEP_NOTIFY_PPM_QUERY_VETO_REASONS
Handle
ターゲット プロセッサの PEP のデバイス ハンドルを含む PEPHANDLE 構造体。 通知が特定のプロセッサを対象としていない場合、これは NULL になります。
通知
PEP_NOTIFY_PPM_QUERY_VETO_REASONS の値。
Data
PEP_PPM_QUERY_VETO_REASONS 構造体へのポインター。
注釈
ProcessorIdleVeto コールバックと PlatformIdleVeto コールバックで PEP が使用する一意の拒否理由の数をクエリするために使用されます。
Windows 電源管理フレームワーク (PoFx) は、プロセッサの初期化時にこの通知を送信して、PEP が ProcessorIdleVeto コールバックと PlatformIdleVeto コールバックで使用する一意の拒否理由の数をクエリします。 この通知はオプションであり、PEP によって無視される場合があります。
PEP は、この通知を受け取った場合、1 から VetoReasonCount までの拒否理由を使用して、プロセッサ、プラットフォーム、または調整されたアイドル状態を拒否することができます。 PEP は VetoReasonCount より大きい拒否理由を使用できません。 OS は拒否追跡の構造体を事前に割り当てます。PEP_NOTIFY_PPM_ENUMERATE_BOOT_VETOES で使用すると、すべてのプロセッサ、プラットフォーム、調整された状態の拒否コールバックが確実に成功します。
PEP は、この通知を受け取っていない場合、ProcessorIdleVeto コールバックと PlatformIdleVeto コールバックをいかなる法的な拒否理由でも使用できます。 OS では、割り当てエラーやその他の問題が原因でコールバックが失敗しないことを保証しません。
PEP_NOTIFY_PPM_QUERY_VETO_REASONS 通知の場合、AcceptProcessorNotification ルーチンは常に IRQL = PASSIVE_LEVEL で呼び出されます。
PEP_NOTIFY_PPM_QUERY_VETO_REASON
Handle
ターゲット プロセッサの PEP のデバイス ハンドルを含む PEPHANDLE 構造体。 通知が特定のプロセッサを対象としていない場合、これは NULL になります。
通知
PEP_NOTIFY_PPM_QUERY_VETO_REASON 値。
Data
PEP_PPM_QUERY_VETO_REASON 構造体へのポインター。
注釈
特定の拒否理由に関する情報をクエリするために PEP に送信されます。
Windows 電源管理フレームワーク (PoFx) は、プロセッサの初期化時にこの通知を送信して、特定の拒否理由に関する情報をクエリします。 この通知は、拒否理由ごとに 2 回送信されます。1 回は Name に必要な割り当てサイズを取得する NULLName バッファーを使用し、1 回は Name の内容を入力する NULLName 以外のバッファーを使用します。 この名前は、この拒否理由が表す条件を示す人間が判読できる文字列である必要があります。 WPA やカーネル デバッガーなどのデバッグ ツールでは、アイドル状態に入らなかった理由を診断するときに Name が表示されます。
PEP_NOTIFY_PPM_QUERY_VETO_REASON 通知の場合、AcceptProcessorNotification ルーチンは常に IRQL = PASSIVE_LEVEL で呼び出されます。
PEP_NOTIFY_PPM_ENUMERATE_BOOT_VETOES
Handle
ターゲット プロセッサの PEP のデバイス ハンドルを含む PEPHANDLE 構造体。 通知が特定のプロセッサを対象としていない場合、これは NULL になります。
通知
PEP_NOTIFY_PPM_ENUMERATE_BOOT_VETOES 値。
Data
NULL ポインター値。
注釈
OS が ProcessorIdleVeto または PlatformIdleVeto の呼び出しを受け入れる準備ができていることを PEP に通知します。
Windows 電源管理フレームワーク (PoFx) は、プロセッサの初期化後、最初にアイドル状態に入る前にこの通知を送信し、OS が ProcessorIdleVeto または PlatformIdleVeto の呼び出しを受け入れる準備ができていることを示します。 PEP は、この通知のコンテキストでブート時の拒否を列挙できます。OS では、プロセッサ、プラットフォーム、または調整されたアイドル状態を最初に選択しようとする前に、拒否が有効になることが保証されます。 この通知には、Data パラメーターが関連付けされていません。
PEP_NOTIFY_PPM_ENUMERATE_BOOT_VETOES 通知の場合、AcceptProcessorNotification ルーチンは常に IRQL = PASSIVE_LEVEL で呼び出されます。
PEP_NOTIFY_PPM_PARK_MASK
Handle
ターゲット プロセッサの PEP のデバイス ハンドルを含む PEPHANDLE 構造体。 通知が特定のプロセッサを対象としていない場合、これは NULL になります。
通知
PEP_NOTIFY_PPM_PARK_MASK の値。
Data
PEP_PPM_PARK_MASK 構造体へのポインター。
注釈
現在のコア保留マスクを PEP に通知します。
Windows 電源管理フレームワーク (PoFx) は、実行時にこの通知を送信して、現在のコア保留マスクを PEP に通知します。
PEP_NOTIFY_PPM_PARK_MASK 通知の場合、AcceptProcessorNotification ルーチンは IRQL = DISPATCH_LEVEL で呼び出され、任意のプロセッサで実行中に送信される場合があります。
PEP_NOTIFY_PPM_PARK_SELECTION_V2
Handle
ターゲット プロセッサの PEP のデバイス ハンドルを含む PEPHANDLE 構造体。 通知が特定のプロセッサを対象としていない場合、これは NULL になります。
通知
PEP_NOTIFY_PPM_PARK_SELECTION_V2 の値。
Data
PEP_PPM_PARK_SELECTION_V2 構造体へのポインター。
注釈
割り込みを保留または回避するコアの優先セットを選択するように OS が PEP に指示していることを PEP に通知します。 この通知を受け取っていない場合、OS は PEP_NOTIFY_PPM_PARK_SELECTION 通知の送信にフォールバックします。
パフォーマンス チェック アルゴリズムを実行すると、OS は PEP_NOTIFY_PPM_PARK_SELECTION_V2 通知を複数回送信する場合があります。各保留ドメイン内のコア効率クラスごとに 0 回以上、割り込み操作のために 0 回以上送信します。 パフォーマンス チェックに対する OS への一貫した応答を提供する際に PEP を支援するため、OS は、通知を促したパフォーマンス チェック評価の割り込み時間ベースのタイムスタンプを提供します。 1 回のパフォーマンス チェック評価に起因するすべての保留選択通知のタイムスタンプは同じものになります。 残りのフィールド (Count、AdditionalUnparkedProcessors、EvaluationType、Processors) は、同じパフォーマンス チェック評価中に送信される通知に応じて異なる場合があり、PEP ではそれらのフィールドが同じ状態であると想定することはできません。
PEP_NOTIFY_PPM_PARK_SELECTION 通知の場合、AcceptProcessorNotification ルーチンは常に IRQL = DISPATCH_LEVEL で呼び出されます。
PEP_NOTIFY_PPM_PERF_CHECK_COMPLETE
Handle
ターゲット プロセッサの PEP のデバイス ハンドルを含む PEPHANDLE 構造体。 通知が特定のプロセッサを対象としていない場合、これは NULL になります。
通知
PEP_NOTIFY_PPM_PERF_CHECK_COMPLETE 値。
Data
PEP_PPM_PERF_CHECK_COMPLETE 構造体へのポインター。
注釈
定期的なパフォーマンス チェック評価が完了したことを PEP に通知します。
Windows 電源管理フレームワーク (PoFx) は、実行時にこの通知を送信して、定期的なパフォーマンス チェック評価が完了したことを PEP に通知します。
PEP_NOTIFY_PPM_PERF_CHECK_COMPLETE 通知の場合、AcceptProcessorNotification ルーチンは IRQL = DISPATCH_LEVEL で呼び出され、任意のプロセッサで実行中に送信される場合があります。
PEP_NOTIFY_PPM_QUERY_COORDINATED_DEPENDENCY
Handle
ターゲット プロセッサの PEP のデバイス ハンドルを含む PEPHANDLE 構造体。 通知が特定のプロセッサを対象としていない場合、これは NULL になります。
通知
PEP_NOTIFY_PPM_QUERY_COORDINATED_DEPENDENCY 値。
Data
PEP_PPM_QUERY_COORDINATED_DEPENDENCY 構造体へのポインター。
注釈
調整された各アイドル状態の依存関係をクエリするために PEP に送信されます。
Windows 電源管理フレームワーク (PoFx) は、プロセッサの初期化時にこの通知を送信して、調整された各アイドル状態の依存関係を PEP にクエリします。 OS は、Dependencies 配列の MaximumDependencySize 要素を割り当てます。 PEP は、DependencySizeUsed で使用された配列の要素の数を入力する必要があります。
プロセッサ上に表現されている依存関係がある場合、PEP は TargetProcessor フィールドにターゲット プロセッサの POHANDLE を入力します。 ExpectedState フィールドは、ターゲット プロセッサのプロセッサ アイドル状態のインデックスを参照します。
他の調整されたアイドル状態で表現されている依存関係がある場合、PEP は TargetProcessor に対して NULL を入力します。 ExpectedState フィールドは、調整されたアイドル状態のインデックスを参照します。
各依存関係には、OS が依存関係を満たすために使用できるオプションのメニューが一覧表示されます。 アイドル状態になると、OS は、最大インデックスから最小インデックスまで、それぞれの条件をチェックして依存関係を満たそうとします。 依存関係の条件が満たされている場合、OS は依存関係が満たされていると見なします。 どの条件も満たすことができいない場合、依存関係は満たされず、調整されたアイドル状態に入れない可能性があります。
PEP_NOTIFY_PPM_QUERY_COORDINATED_DEPENDENCY 通知の場合、AcceptProcessorNotification ルーチンは常に IRQL = PASSIVE_LEVEL で呼び出されます。
PEP_NOTIFY_PPM_QUERY_COORDINATED_STATE_NAME
Handle
ターゲット プロセッサの PEP のデバイス ハンドルを含む PEPHANDLE 構造体。 通知が特定のプロセッサを対象としていない場合、これは NULL になります。
通知
PEP_NOTIFY_PPM_QUERY_COORDINATED_STATE_NAME 値。
Data
PEP_PPM_QUERY_STATE_NAME 構造体へのポインター。
注釈
特定の調整済みまたはプラットフォーム アイドル状態に関する情報をクエリするために PEP に送信されます。
Windows 電源管理フレームワーク (PoFx) は、プロセッサの初期化時にこの通知を送信して、特定の調整済みまたはプラットフォーム アイドル状態に関する情報を PEP にクエリします。 この通知は、状態ごとに 2 回送信されます。1 回は、Name に必要な割り当てサイズを取得する NULL の Name バッファーを使用し、1 回は、Name の内容を入力する NULL 以外の Name バッファーを使用します。 この名前は、調整されたアイドル状態の名前を示す人間が判読できる文字列である必要があります。 異なるクラスター上の同等の状態の名前が同じであるマルチクラスター システムを除き、調整されたアイドル状態には一意の名前を付ける必要があります。 WPA やカーネル デバッガーなどのデバッグ ツールでは、この調整された/プラットフォーム アイドル状態を参照する診断に Name が表示されます。
PEP_NOTIFY_PPM_QUERY_COORDINATED_STATE_NAME 通知の場合、AcceptProcessorNotification ルーチンは常に IRQL = PASSIVE_LEVEL で呼び出されます。
PEP_NOTIFY_PPM_QUERY_COORDINATED_STATES
Handle
ターゲット プロセッサの PEP のデバイス ハンドルを含む PEPHANDLE 構造体。 通知が特定のプロセッサを対象としていない場合、これは NULL になります。
通知
PEP_NOTIFY_PPM_QUERY_COORDINATED_STATES 値。
Data
PEP_PPM_QUERY_COORDINATED_STATES 構造体へのポインター。
注釈
プロセッサの初期化時に、すべての調整されたアイドル状態のプロパティをクエリするために使用されます。
Windows 電源管理フレームワーク (PoFx) は、プロセッサの初期化時にこの通知を PEP に送信して、すべての調整されたアイドル状態のプロパティをクエリします。 この通知は、PEP が PEP_NOTIFY_PPM_QUERY_PLATFORM_STATE 通知を送信する直前に送信されます。 PEP は、この通知を受け取った場合、調整されたアイドル状態インターフェイスを使用しています。PEP_NOTIFY_PPM_QUERY_PLATFORM_STATE 通知を受信することはありません。 受け取っていない場合、PEP はプラットフォーム アイドル状態インターフェイスを使用しています。OS は PEP_NOTIFY_PPM_QUERY_PLATFORM_STATE 通知の使用にフォールバックし、調整されたアイドル状態をクエリします。
OS は、すべてのプロセッサが PEP に登録されるまで、この通知の送信を待機します。
PEP は State 構造体に、調整されたアイドル状態に関する情報を入力します。
調整されたアイドル状態の順序は、次のルールに従う必要があります。
同じ機能単位に異なる電源状態を表現する 2 つの調整された状態は、最も軽い (最大電力消費量/最小遷移コスト) から最も深い (最小電力消費量/最大遷移コスト) 順に一覧表示する必要があります。 調整されたアイドル状態は、より小さいインデックスの他の調整されたアイドル状態にのみ依存する場合があります。 2 つの不整合な調整されたアイドル状態 (つまり、プロセッサの不整合なセットに依存する 2 つの調整されたアイドル状態) の間には、必須の順序はありません。
PEP_NOTIFY_PPM_QUERY_COORDINATED_STATES 通知の場合、AcceptProcessorNotification ルーチンは常に IRQL = PASSIVE_LEVEL で呼び出されます。
PEP_NOTIFY_PPM_QUERY_PROCESSOR_STATE_NAME
Handle
ターゲット プロセッサの PEP のデバイス ハンドルを含む PEPHANDLE 構造体。 通知が特定のプロセッサを対象としていない場合、これは NULL になります。
通知
PEP_NOTIFY_PPM_QUERY_PROCESSOR_STATE_NAME 値。
Data
PEP_PPM_QUERY_STATE_NAME 構造体へのポインター。
注釈
特定のプロセッサのアイドル状態に関する情報をクエリするために PEP に送信されます。
Windows 電源管理フレームワーク (PoFx) は、プロセッサの初期化時にこの通知を送信して、特定のプロセッサ アイドル状態に関する情報を PEP にクエリします。 この通知は、状態ごとに 2 回送信されます。1 回は、Name に必要な割り当てサイズを取得する NULL の Name バッファーを使用し、1 回は、Name の内容を入力する NULL 以外の Name バッファーを使用します。 この名前は、調整されたアイドル状態の名前を示す人間が判読できる文字列である必要があります。 異なるクラスター上の同等の状態の名前が同じであるマルチクラスター システムを除き、調整されたアイドル状態には一意の名前を付ける必要があります。 WPA やカーネル デバッガーなどのデバッグ ツールでは、この調整された/プラットフォーム アイドル状態を参照する診断に Name が表示されます。
PEP_NOTIFY_PPM_QUERY_PROCESSOR_STATE_NAME 通知の場合、AcceptProcessorNotification ルーチンは常に IRQL = PASSIVE_LEVEL で呼び出されます。
PEP_NOTIFY_PPM_ENTER_SYSTEM_STATE
Handle
ターゲット プロセッサの PEP のデバイス ハンドルを含む PEPHANDLE 構造体。 通知が特定のプロセッサを対象としていない場合、これは NULL になります。
通知
PEP_NOTIFY_PPM_ENTER_SYSTEM_STATE 値。
Data
PEP_PPM_ENTER_SYSTEM_STATE 構造体へのポインター。
注釈
PEP_NOTIFY_PPM_ENTER_SYSTEM_STATE は、システムがシステム電源状態に入ろうとしていることを PEP に通知するオプションの通知です。 この通知は、システムがプロセッサをシステム電源状態に遷移するすべてのパッシブ レベルの作業を完了した後、すべてのプロセッサに同時に送信されます。
この通知は、すべてのプロセッサでのディスパッチ時に DISPATCH_LEVEL で送信されます。 この通知は常にターゲット プロセッサで実行されます。
注 PEP では、この通知からはどのような作業もキューに入れないでください。 この通知が送信された後、プロセッサは作業項目、DPC などを処理することはありません。
DISPATCH_LEVEL
PEP_NOTIFY_PPM_PERF_SET_STATE
次に、AcceptProcessorNotification のパラメーターについて説明します。
Handle
ターゲット プロセッサの PEP のデバイス ハンドルを含む PEPHANDLE 構造体。 通知が特定のプロセッサを対象としていない場合、これは NULL になります。
通知
PEP_NOTIFY_PPM_PERF_SET_STATE 値。
Data
PEP_PPM_PERF_SET_STATE 構造体へのポインター。
注釈
プロセッサの現在の動作パフォーマンス状態を設定するために実行時に使用されます。 パフォーマンス セット要求がなくても、PEP にパフォーマンスを向上または低減できる自律的なハードウェアの機能がある場合は、最小パフォーマンス状態または最大パフォーマンス状態に基づいて、PEP は、自律的なハードウェアからの要求を制限し、目的のパフォーマンス状態を対象にする必要があります。 それ以外の場合は、厳密に目的のパフォーマンス状態で実行する必要があります。
この通知は、DISPATCH_LEVEL で送信されます。 スケジューラが指示したパフォーマンス状態が使用されている場合、PEP は、この通知を処理するときにセクション 3.3.6 の制限に従う必要があります。 任意のプロセッサで実行中に送信される場合があります。
PEP_NOTIFY_PPM_QUERY_DISCRETE_PERF_STATES
Handle
ターゲット プロセッサの PEP のデバイス ハンドルを含む PEPHANDLE 構造体。 通知が特定のプロセッサを対象としていない場合、これは NULL になります。
通知
PEP_NOTIFY_PPM_QUERY_DISCRETE_PERF_STATES 値。
Data
PEP_PPM_QUERY_DISCRETE_PERF_STATES 構造体へのポインター。 プロセッサの初期化時に、PEP_NOTIFY_PPM_QUERY_CAPABILITIES 通知が個別のパフォーマンス状態のサポートを示している場合に、PEP がサポートする個別のパフォーマンス状態のリストをクエリするために使用されます。
パフォーマンス状態リストは、各パフォーマンス状態が個別のパフォーマンス値にマッピングされている状態で、最も高速から最も低速の順に並べ替える必要があります。 パフォーマンス状態リストには、PEP_NOTIFY_PPM_QUERY_PERF_CAPABILITIES 通知に記載されている各パフォーマンス値に一致するエントリも含める必要があります。 この通知は、PASSIVE_LEVEL で送信されます。 任意のプロセッサで実行中に送信される場合があります。
PEP_NOTIFY_PPM_QUERY_DOMAIN_INFO
Handle
ターゲット プロセッサの PEP のデバイス ハンドルを含む PEPHANDLE 構造体。 通知が特定のプロセッサを対象としていない場合、これは NULL になります。
通知
PEP_NOTIFY_PPM_QUERY_DOMAIN_INFO 値。
Data
PEP_PPM_QUERY_DOMAIN_INFO 構造体へのポインター。
注釈
パフォーマンス ドメインに関する情報をクエリするオプションの通知。 この通知は、PASSIVE_LEVEL で送信されます。 任意のプロセッサで実行中に送信される場合があります。
PEP_NOTIFY_PPM_RESUME_FROM_SYSTEM_STATE
Handle
ターゲット プロセッサの PEP のデバイス ハンドルを含む PEPHANDLE 構造体。 通知が特定のプロセッサを対象としていない場合、これは NULL になります。
通知
PEP_NOTIFY_PPM_RESUME_FROM_SYSTEM_STATE 値。
Data
PEP_PPM_RESUME_FROM_SYSTEM_STATE 構造体へのポインター。
注釈
システムがシステム電源状態から再開したことを PEP に通知するオプションの通知。 この通知は、パッシブ レベルの作業を再開するためにプロセッサが解放される直前に、すべてのプロセッサに同時に送信されます。 この通知は、すべてのプロセッサでのディスパッチ時に DISPATCH_LEVEL で送信されます。 この通知は常にターゲット プロセッサで実行されます。