PEP_PROCESSOR_IDLE_STATE_V2構造体 (pepfx.h)

PEP_PROCESSOR_IDLE_STATE_V2構造体は、プラットフォーム拡張機能プラグイン (PEP) がサポートするプロセッサのアイドル状態を表します。

構文

typedef struct _PEP_PROCESSOR_IDLE_STATE_V2 {
  union {
    ULONG Ulong;
    struct {
      ULONG Interruptible : 1;
      ULONG CacheCoherent : 1;
      ULONG ThreadContextRetained : 1;
      ULONG CStateType : 4;
      ULONG WakesSpuriously : 1;
      ULONG PlatformOnly : 1;
      ULONG Autonomous : 1;
      ULONG Reserved : 22;
    };
  };
  ULONG Latency;
  ULONG BreakEvenDuration;
} PEP_PROCESSOR_IDLE_STATE_V2, *PPEP_PROCESSOR_IDLE_STATE_V2;

メンバー

Ulong

1 つの 32 ビット符号なし整数値としてアクセスされるビットと状態フィールドにフラグを設定します。

Interruptible

このアイドル状態のときにプロセッサが割り込みに応答できるかどうか。 プロセッサが割り込みに応答できる場合は、このフラグ ビットを 1 に、できない場合は 0 に設定します。

CacheCoherent

プロセッサのローカル キャッシュとキャッシュのどちらが、このプロセッサのアイドル状態の期間を通じて一貫性を保つかどうか。 キャッシュの一貫性がこのアイドル状態で維持されている場合は、このフラグ ビットを 1 に、そうでない場合は 0 に設定します。

ThreadContextRetained

スレッド コンテキストがこのプロセッサのアイドル状態で保持されるかどうか。 プロセッサ ハードウェアがアイドル状態の遷移を通じてスレッド コンテキストを保持する場合は、このフラグ ビットを 1 に設定します。 プロセッサがマルチプロセッサのパーキング プロトコルを使用してアイドル状態を終了し、オペレーティング システムに制御を返す場合は、0 に設定します。 このプロトコルの詳細については、ACPI コンポーネント アーキテクチャ サイト「ARM プラットフォーム用マルチプロセッサ スタートアップ」というタイトルのドキュメントを参照してください。

CStateType

プロセッサのアイドル状態の C 状態の種類。 このアイドル状態が ACPI で定義された C 状態に対応しない場合は、このビット フィールドを 0 に設定します。 それ以外の場合は、このビット フィールドを C 状態番号に設定します。 つまり、C1 に設定 CStateType = 1 し、C2 に設定 CStateType = 2 します。 C 状態の詳細については、 ACPI 5.0 仕様のセクション 8.1「プロセッサの電源状態」を参照してください。

WakesSpuriously

プロセッサがこのアイドル状態で誤ってスリープ解除できるかどうか。 プロセッサがデバイス割り込み、プロセッサ間割り込み (IPI)、またはスリープ解除要求を受信するまで、このアイドル状態を維持することが保証されている場合は、このフラグ ビットを 0 に設定します。 プロセッサが何らかの理由で自律的にスリープ解除される可能性がある場合は、1 に設定します。

PlatformOnly

このプロセッサアイドル状態への遷移を、プラットフォーム全体のアイドル状態への調整された遷移の一部としてのみ実行できるかどうか。 プロセッサのアイドル状態遷移をプラットフォームアイドル状態への遷移の一部としてのみ実行できる場合は、このフラグ ビットを 1 に設定します。 それ以外の場合は、0 に設定します。

Autonomous

このプロセッサアイドル状態への調整された遷移がプロセッサ ハードウェアによって自律的に実行されるかどうか。 これらの遷移が自律的な場合は、このフラグ ビットを 1 に、そうでない場合は 0 に設定します。 フラグ値 1 は、PEP_NOTIFY_PPM_TEST_IDLE_STATE、PEP_NOTIFY_PPM_IDLE_PRE_EXECUTE、またはPEP_NOTIFY_PPM_IDLE_COMPLETE通知を送信せずにアイドル状態入力できることを示します。 このフラグは、 CStateType が 0 以外の場合にのみ 1 に設定できます。

Reserved

将来利用するために予約されています。 0 に設定します。

Latency

プロセッサがスリープ解除イベントに応答してこのアイドル状態からスリープ解除する必要がある、最悪の場合の待機時間 (100 ナノ秒単位)。

BreakEvenDuration

100 ナノ秒単位で指定された、プロセッサがこのアイドル状態に費やす必要がある最小時間は、この状態に移行する価値があります。 Windows 電源管理フレームワーク (PoFx) では、このメンバー値をヒントとして使用して、プロセッサが 少なくとも BreakEvenDuration で指定された時間だけこの状態のままである可能性がない限り、プロセッサをアイドル状態に切り替えないようにします。

注釈

この構造体は、 PEP_NOTIFY_PPM_QUERY_IDLE_STATES_V2 通知と組み合わせて使用されます。 PEP_PPM_QUERY_IDLE_STATES_V2構造体の IdleStates メンバーは、PEP_PROCESSOR_IDLE_STATE_V2構造体の配列の最初の要素です。

名前のない共用体には、フラグ ビットと状態フィールドのコレクションが含まれており、個別にビット フィールドとして、または 32 ビット符号なし整数値として一緒にアクセスできます。

名前のない構造体には、フラグ ビットと、個々のビット フィールドとしてアクセスされる状態フィールドが含まれています。

要件

要件
サポートされている最小のクライアント Windows 10 以降でサポートされています。
Header pepfx.h (Pep_x.h を含む)

こちらもご覧ください