ID2D1DeviceContext::CreateEffect 方法 (d2d1_1.h)

为指定的类 ID 创建效果。

语法

HRESULT CreateEffect(
        REFCLSID    effectId,
  [out] ID2D1Effect **effect
);

参数

effectId

类型: REFCLSID

要创建的效果的类 ID。 有关 效果 ID 的列表,请参阅内置效果。

[out] effect

类型: ID2D1Effect**

此方法返回时,包含指向新效果的指针的地址。

返回值

类型: HRESULT

该方法返回 HRESULT。 可能的值包括(但并不限于)下表中的项。

HRESULT 说明
S_OK 未发生错误。
E_OUTOFMEMORY Direct2D 无法分配足够的内存来完成调用。
E_INVALIDARG 传递给方法的值无效。
D3DERR_OUTOFVIDEOMEMORY Direct3D 没有足够的显示内存来执行该操作。
D2DERR_EFFECT_IS_NOT_REGISTERED 系统未注册指定的效果。
E_NOTFOUND 未注册效果的其他可能 HRESULT (如D2DERR_EFFECT_IS_NOT_REGISTERED) 。
D2DERR_INSUFFICIENT_DEVICE_CAPABILITIES 该效果需要 D2D 设备不支持的功能。

备注

如果创建的效果是在 DLL 中实现的自定义效果,则不会递增该 DLL 的引用计数。 如果应用程序在加载该效果时删除该效果,则结果行为是不可预知的。

要求

   
最低受支持的客户端 适用于 Windows 7 的 Windows 8 和平台更新 [桌面应用 |UWP 应用]
最低受支持的服务器 Windows Server 2012 和适用于 Windows Server 2008 R2 的平台更新 [桌面应用 |UWP 应用]
目标平台 Windows
标头 d2d1_1.h
DLL D2d1.dll

另请参阅

效果

ID2D1DeviceContext

ID2D1Effect

ID2D1Factory1::RegisterEffect