PFND3DDDI_SETDISPLAYPRIVATEDRIVERFORMATCB コールバック関数 (d3dumddi.h)
pfnSetDisplayPrivateDriverFormatCb 関数は、ビデオ存在ソースのプライベート形式属性を変更します。
構文
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 は、ビデオの現在のソースのプライベート形式の属性を変更できませんでした。 |
この関数は、他の HRESULT 値を返す場合もあります。
備考
ビデオの現在のソースのプライベート形式の属性を変更すると、共有 GDI プライマリ サーフェスが全画面表示 DirectX アプリケーションに最適でないプライベート形式である場合に反転の変更を作成する全画面表示 DirectX アプリケーションに対応するのに役立ちます。 たとえば、ディスプレイ ミニポート ドライバーは常に、GDI 共有プライマリ サーフェスを非スウィズルとして作成するとします。 ただし、パフォーマンス上の理由から、ユーザー モード ディスプレイ ドライバーでは、全画面表示の反転チェーン内のすべてのサーフェスがスウィズルされている必要があります。 その後、ユーザー モードのディスプレイ ドライバーは、バック バッファーをスウィズルとして作成し、pfnSetDisplayPrivateDriverFormatCb 呼び出して、共有 GDI プライマリ サーフェスをスウィズルに変更できます。
pfnSetDisplayPrivateDriverFormatCb 呼び出しが失敗した場合、ユーザー モードのディスプレイ ドライバーは、ビデオの現在のソースのプライベート形式属性を変更せずに続行する必要があります。 前の例では、ドライバーは共有プライマリをスウィズル解除のままにして、バック バッファーをスウィズルするか、ドライバーでバック バッファーをスウィズルされていない形式に変更できます。
pfnSetDisplayModeCb 関数の呼び出しからユーザー モード ディスプレイ ドライバーがD3DDDIERR_INCOMPATIBLEPRIVATEFORMAT エラーを受け取った場合、ドライバーは次のいずれかを実行できます。
- プライマリ サーフェスのプライベート形式属性を変更し、pfnSetDisplayModeCb 再度呼び出。
- pfnSetDisplayPrivateDriverFormatCb 呼び出し、ビデオの現在のソースのプライベート形式属性の変更を試みます。 その後、pfnSetDisplayModeCb を再度呼び出すことができます。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows Vista 以降のバージョンの Windows オペレーティング システムで使用できます。 |
ターゲット プラットフォーム の | デスクトップ |
ヘッダー | d3dumddi.h (D3dumddi.h を含む) |
関連項目
CreateDevice の
D3DDDICB_SETDISPLAYPRIVATEDRIVERFORMAT
pfnSetDisplayModeCb の