次の方法で共有


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

DxgkDdiAddDevice

DxgkDdiStopDeviceAndReleasePostDisplayOwnership

DxgkDdiSystemDisplayEnable