IDCompositionDevice2::CreateSurfaceFactory 方法 (dcomp.h)
创建 Microsoft DirectComposition Surface 工厂对象,该对象可用于创建其他 DirectComposition Surface 或虚拟 Surface 对象
语法
HRESULT CreateSurfaceFactory(
[in] IUnknown *renderingDevice,
[out] IDCompositionSurfaceFactory **surfaceFactory
);
参数
[in] renderingDevice
指向要用于创建 DirectComposition 图面对象的 DirectX 设备的指针。 必须是指向实现 IDXGIDevice 或 ID2D1Device 接口的 对象的指针。 此参数不能为 NULL。
[out] surfaceFactory
新建的图面工厂对象。 此参数不能为 NULL。
返回值
如果函数成功,则返回S_OK。 否则,将返回 HRESULT 错误代码。 有关错误代码列表,请参阅 DirectComposition 错误代码。
注解
Surface 工厂允许应用程序同时使用多个具有 DirectComposition 的单个 DXGI 或 Direct2D 设备。 每个表面工厂与一个 DXGI 或 Direct2D 设备具有永久关联,但 DirectComposition 设备可能具有任意数量的 Surface 工厂。
每个表面工厂都独立于其他工厂管理资源。 特别是,DirectComposition 会池表面分配,以减轻表面分配和解除分配成本。 此池基于每个表面工厂完成。
如果使用非 NULL renderingDevice 参数调用 DCompositionCreateDevice2 函数,则返回的 DirectComposition 设备对象在与给定呈现设备关联的封面下具有隐式表面工厂。 此隐式 Surface 工厂用于为 IDCompositionDevice::CreateSurface、 IDCompositionDevice::CreateVirtualSurface、 IDCompositionDevice2::CreateSurface 和 IDCompositionDevice2::CreateVirtualSurface 方法提供服务。
只要它创建的任何表面或虚拟表面保持活动状态,Surface 对象就保持活动状态,要么直接因为应用程序具有直接引用,要么间接因为一个或多个此类表面与一个或多个视觉对象相关联。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 8.1 [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2012 R2 [仅限桌面应用] |
目标平台 | Windows |
标头 | dcomp.h |
Library | Dcomp.lib |
DLL | Dcomp.dll |