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 を呼び出します。SupportRuntimePowerManagementTRUE をする。
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 |
ターゲット プラットフォーム の | デスクトップ |
ヘッダー | d3dkmddi.h (D3dkmddi.h を含む) |
IRQL | <=DISPATCH_LEVEL |
関連項目
DxgkCbSetPowerComponentActive の
DxgkCbSetPowerComponentLatency の
DxgkCbSetPowerComponentResidency の
DxgkDdiAddDevice の