DXGKDDIPOWERRUNTIMECONTROLREQUEST コールバック関数 (d3dkmddi.h)
ディスプレイ ミニポート ドライバーと情報を交換するために、Power Engine プラグイン (PEP) によって呼び出されます。 特定のイベントについてディスプレイ ミニポート ドライバーに通知するために、Microsoft DirectX グラフィックス カーネル サブシステムによっても呼び出されます。
構文
DXGKDDIPOWERRUNTIMECONTROLREQUEST Dxgkddipowerruntimecontrolrequest;
NTSTATUS Dxgkddipowerruntimecontrolrequest(
IN_CONST_HANDLE DriverContext,
IN LPCGUID PowerControlCode,
IN PVOID InBuffer,
IN SIZE_T InBufferSize,
OUT PVOID OutBuffer,
IN SIZE_T OutBufferSize,
OUT PSIZE_T BytesReturned
)
{...}
パラメーター
DriverContext
ディスプレイ アダプターに関連付けられているコンテキスト ブロックへのハンドル。 ディスプレイ ミニポート ドライバーの DxgkDdiAddDevice 関数は、以前は DirectX グラフィックス カーネル サブシステムにこのハンドルを提供しました。
PowerControlCode
PEP の制御要求の意味を定義する GUID へのポインター。 詳細については、「解説」を参照してください。
InBuffer
入力バッファーへの省略可能なポインター。
InBufferSize
InBuffer が指すバッファーのサイズ (バイト単位)。
OutBuffer
出力バッファーへの省略可能なポインター。
OutBufferSize
OutBuffer が指すバッファーのサイズ (バイト単位)。
BytesReturned
ディスプレイ ミニポート ドライバーによって出力バッファーに書き込まれるバイト数を含むバッファーへの省略可能なポインター。
戻り値
成功した場合は、STATUS_SUCCESSを返します。 それ以外の場合は、Ntstatus.h で定義されているエラー コードのいずれかを返します。
注釈
オペレーティング システムは、ディスプレイ ミニポート ドライバーがDXGK_DRIVERCAPSを設定してサポートを示す場合にのみ DxgkDdiPowerRuntimeControlRequestを呼び出します。SupportRuntimePowerManagement から TRUE。
Power Engine プラグイン (PEP) で使用される GUID
PEP では、D3dkmddi.h で定義されている次の GUID を使用して、ディスプレイ ミニポート ドライバーと情報を交換します。 ディスプレイ ポート ドライバーは、これらの GUID を使用して Windows イベント トレーシング (ETW) イベントを発行します。これは、ドライバーのパフォーマンスの問題をプロファイリングするのに役立ちます。- GUID_DXGKDDI_POWER_VOLTAGE_UP
- 電圧を上げます。
- GUID_DXGKDDI_POWER_VOLTAGE_DOWN
- 電圧を下げます。
- GUID_DXGKDDI_POWER_VOLTAGE
- 電圧を変更しますが、ドライバーは変化が増減しているかどうかを認識しません。
- GUID_DXGKDDI_POWER_CLOCK_UP
- クロック設定を大きくします。
- GUID_DXGKDDI_POWER_CLOCK_DOWN
- クロック設定を小さくします。
- GUID_DXGKDDI_POWER_CLOCK
- 時計の設定を変更しますが、ドライバーは変更が増減しているかどうかを認識しません。
- GUID_DXGKDDI_POWER_BANDWIDTH_UP
- 帯域幅を増やします。
- GUID_DXGKDDI_POWER_BANDWIDTH_DOWN
- 帯域幅を減らします。
- GUID_DXGKDDI_POWER_BANDWIDTH
- 帯域幅を変更しますが、ドライバーは変更が増減しているかどうかを認識しません。
DirectX グラフィックス カーネル サブシステムで使用される GUID
DirectX グラフィックス カーネル サブシステムは、D3dkmddi.h で定義されている次の GUID を使用して、特定のイベントについてディスプレイ ミニポート ドライバーに通知します。- GUID_DXGKDDI_POWER_MANAGEMENT_PREPARE_TO_START
- DirectX グラフィックス カーネル サブシステムがランタイム電源管理用にデバイスを登録した後、デバイスが起動する前に使用されます。 この GUID を使用してこの関数が呼び出されると、ディスプレイ ミニポート ドライバーは次の関数を呼び出すことができます。
- GUID_DXGKDDI_POWER_MANAGEMENT_STARTED
- DirectX グラフィックス カーネル サブシステムがランタイム電源管理を開始した後に使用されます。 この GUID を使用してこの関数が呼び出されると、ディスプレイ ミニポート ドライバーは、任意の電源ランタイム関数を呼び出すことができます。
- GUID_DXGKDDI_POWER_MANAGEMENT_STOPPED
- DirectX グラフィックス カーネル サブシステムがランタイム電源管理のためにデバイスの登録を解除する直前に使用されます。 この GUID を使用してこの関数が呼び出された後、ディスプレイ ミニポート ドライバーは電源ランタイム関数を呼び出さないでください。
同期
この関数は、複数の実行スレッドから同時に呼び出すことができます。オペレーティング システムは、この関数がスレッド処理と同期ゼロ レベルで定義されているゼロ レベル の同期モードに従っていることを保証します。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 8 |
サポートされている最小のサーバー | Windows Server 2012 |
対象プラットフォーム | デスクトップ |
Header | d3dkmddi.h (D3dkmddi.h を含む) |
IRQL | <=DISPATCH_LEVEL |
こちらもご覧ください
DxgkCbSetPowerComponentLatency