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 值。
注解
更改视频呈现源的专用格式属性对于适应全屏 DirectX 应用程序非常有用,当共享的 GDI 主图面采用非最佳专用格式时,将创建翻转更改的全屏 DirectX 应用程序。 例如,假设显示微型端口驱动程序始终将 GDI 共享主图面创建为非重排图面。 但是,出于性能原因,用户模式显示驱动程序要求全屏翻转链中的所有表面都是重排的。 然后,用户模式显示驱动程序可以将后台缓冲区创建为重排缓冲区,并调用 pfnSetDisplayPrivateDriverFormatCb ,将共享的 GDI 主图面更改为重排。
如果对 pfnSetDisplayPrivateDriverFormatCb 的调用失败,用户模式显示驱动程序应继续运行,而不更改视频呈现源的专用格式属性。 在前面的示例中,驱动程序可以将共享主副本保留为未重排并重排后台缓冲区,或者驱动程序可以将后台缓冲区更改为未重排格式。
如果用户模式显示驱动程序从调用 pfnSetDisplayModeCb 函数时收到D3DDDIERR_INCOMPATIBLEPRIVATEFORMAT错误,则驱动程序可以执行以下操作之一:
- 更改主图面的 private-format 属性,并再次调用 pfnSetDisplayModeCb 。
- 调用 pfnSetDisplayPrivateDriverFormatCb 并尝试更改视频呈现源的 private-format 属性。 然后,驱动程序可以再次调用 pfnSetDisplayModeCb 。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | 在 Windows Vista 和更高版本的 Windows 操作系统中可用。 |
目标平台 | 桌面 |
标头 | d3dumddi.h (包括 D3dumddi.h) |