次の方法で共有


PFND3DDDI_SETDISPLAYPRIVATEDRIVERFORMATCB コールバック関数 (d3dumddi.h)

pfnSetDisplayPrivateDriverFormatCb 関数は、ビデオの現在のソースの private-format 属性を変更します。

構文

PFND3DDDI_SETDISPLAYPRIVATEDRIVERFORMATCB Pfnd3dddiSetdisplayprivatedriverformatcb;

HRESULT Pfnd3dddiSetdisplayprivatedriverformatcb(
  HANDLE hDevice,
  const D3DDDICB_SETDISPLAYPRIVATEDRIVERFORMAT *unnamedParam2
)
{...}

パラメーター

hDevice

ディスプレイ デバイス (グラフィックス コンテキスト) へのハンドル。

unnamedParam2

pData [in]

ビデオの現在のソースを書式設定する方法を説明する D3DDDICB_SETDISPLAYPRIVATEDRIVERFORMAT 構造体へのポインター。

戻り値

pfnSetDisplayPrivateDriverFormatCb は、次のいずれかの値を返します。

リターン コード 説明
S_OK ビデオの現在のソースが正常に変更されました。
E_INVALIDARG パラメーターが検証され、正しくないと判断されました。
E_FAIL pfnSetDisplayPrivateDriverFormatCb は、ビデオの現在のソースの private-format 属性を変更できませんでした。

この関数は、他の HRESULT 値も返す場合があります。

注釈

ビデオの現在のソースのプライベート形式属性を変更すると、共有 GDI プライマリ サーフェスが全画面表示 DirectX アプリケーションに最適でないプライベート形式である場合に反転の変更を作成する全画面表示 DirectX アプリケーションに対応するのに役立ちます。 たとえば、ディスプレイ ミニポート ドライバーが常に GDI 共有プライマリ サーフェスを非スウィズルとして作成するとします。 ただし、パフォーマンス上の理由から、ユーザー モード ディスプレイ ドライバーでは、全画面表示の反転チェーン内のすべてのサーフェスがスウィズルされている必要があります。 その後、ユーザー モード ディスプレイ ドライバーは、バック バッファーを swizzled として作成し、 pfnSetDisplayPrivateDriverFormatCb を 呼び出して、共有 GDI プライマリ サーフェスを swizzled に変更できます。

pfnSetDisplayPrivateDriverFormatCb の呼び出しが失敗した場合、ユーザー モード ディスプレイ ドライバーは、ビデオの現在のソースのプライベート形式属性を変更せずに続行する必要があります。 前の例では、ドライバーは共有プライマリを非スウィズルのままにして、バック バッファーをスウィズルするか、ドライバーでバック バッファーをスウィズルされていない形式に変更できます。

ユーザー モード ディスプレイ ドライバーが pfnSetDisplayModeCb 関数の呼び出しからD3DDDIERR_INCOMPATIBLEPRIVATEFORMAT エラーを受け取った場合、ドライバーは次のいずれかを実行できます。

  • プライマリ サーフェスの private-format 属性を変更し、 pfnSetDisplayModeCb を再度呼び出します。
  • pfnSetDisplayPrivateDriverFormatCb を呼び出し、ビデオ の現在のソースの private-format 属性の変更を試みます。 その後、ドライバーは pfnSetDisplayModeCb を再度呼び出すことができます。
ユーザー モードディスプレイ ドライバーは、ドライバーの CreateDevice 関数の呼び出しで (hDevice パラメーターで指定された) ディスプレイ デバイスが作成されたときに、D3DDDIARG_CREATEDEVICE構造体の Version メンバーが 7 より大きいに設定されている場合にのみ、pfnSetDisplayPrivateDriverFormatCb を呼び出すことができます。

要件

要件
サポートされている最小のクライアント Windows Vista 以降のバージョンの Windows オペレーティング システムで使用できます。
対象プラットフォーム デスクトップ
Header d3dumddi.h (D3dumddi.h を含む)

こちらもご覧ください

CreateDevice

D3DDDIARG_CREATEDEVICE

D3DDDICB_SETDISPLAYPRIVATEDRIVERFORMAT

D3DDDI_DEVICECALLBACKS

pfnSetDisplayModeCb