DXGKDDI_SYSTEM_DISPLAY_WRITE コールバック関数 (dispmprt.h)
ディスプレイ デバイスにイメージ ブロックを書き込むディスプレイ ミニポート ドライバーを要求するオペレーティング システムによって呼び出されます。
Windows 8以降、オペレーティング システムは、システム停止エラーの後のバグチェック操作中にこの関数を呼び出します。 オペレーティング システムは、ディスプレイ デバイスが DxgkDdiSystemDisplayEnable の呼び出しによって以前にリセットされた場合にのみ、この関数を呼び出します。
構文
DXGKDDI_SYSTEM_DISPLAY_WRITE DxgkddiSystemDisplayWrite;
void DxgkddiSystemDisplayWrite(
[in] PVOID MiniportDeviceContext,
[in] PVOID Source,
[in] UINT SourceWidth,
[in] UINT SourceHeight,
[in] UINT SourceStride,
[in] UINT PositionX,
[in] UINT PositionY
)
{...}
パラメーター
[in] MiniportDeviceContext
ディスプレイ アダプターに関連付けられているコンテキスト ブロックへのハンドル。 ディスプレイ ミニポート ドライバーの DxgkDdiAddDevice 関数は、以前は Microsoft DirectX グラフィックス カーネル サブシステムにこのハンドルを提供しました。
[in] Source
システム停止エラーに関する情報を表示するバグチェック画面に書き込まれるソース イメージの開始アドレスへのポインター。
[in] SourceWidth
指定したソース イメージの幅をピクセル単位で指定する UINT 値。
[in] SourceHeight
指定したソース イメージの高さをピクセル単位で指定する UINT 値。
[in] SourceStride
指定したソース イメージの各行のバイト数を指定する UINT 値。
[in] PositionX
指定したソース イメージを表示装置に書き込む開始 X 座標を指定する UINT 値。
[in] PositionY
指定したソース イメージを表示装置に書き込む開始 Y 座標を指定する UINT 値。
戻り値
なし
解説
ソース イメージの制限
ディスプレイ ミニポート ドライバーは、 DxgkDdiSystemDisplayWrite 関数が呼び出されたときに、次のガイドラインに従う必要があります。- ソース イメージの色形式は、常にD3DDDIFORMAT列挙のD3DDDIFMT_R8G8B8 (ピクセルあたり 24 ビット) またはD3DDDIFMT_A8R8G8B8 (32 bpp) 形式です。 ディスプレイ ミニポート ドライバーは、 DxgkDdiSystemDisplayEnable が呼び出されたときに、この形式で書き込み操作を有効にする表示モードを以前に設定していました。
- ソース イメージが非ページ メモリ内にあります。 ディスプレイ ミニポート ドライバーは、 PostionX パラメーターと PositionY パラメーターで指定された位置から現在のフレーム バッファーにこのソース イメージを書き込む必要があります。
-
ディスプレイ ミニポート ドライバーは、CPU を使用して、フレーム バッファーにイメージ ブロックを書き込む必要があります。 システムで停止エラーが発生した場合は、ディスプレイ デバイスの継続的なタイムアウト検出と回復 (TDR) が原因である可能性があります。 その場合、グラフィックス処理装置 (GPU) が不明な状態になっている可能性があります。
TDR の詳細については、「 タイムアウトの検出と回復 (TDR)」を参照してください。
ページ以外のメモリを使用する
この関数が呼び出されている間は、Windows カーネル モード関数を使用できない場合があります。DxgkDdiSystemDisplayWrite は任意の IRQL で呼び出すことができるため、非ページ メモリに存在する必要があります。 DxgkDdiSystemDisplayWrite は、ページング可能メモリ内のコードを呼び出す必要があり、ページング可能メモリ内のデータを操作してはなりません。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 8 |
サポートされている最小のサーバー | Windows Server 2012 |
対象プラットフォーム | デスクトップ |
Header | dispmprt.h |
IRQL | 任意のレベル (「解説」セクションを参照) |
こちらもご覧ください
DxgkCbAcquirePostDisplayOwnership