DWriteCreateFactory 函数 (dwrite.h)
创建DirectWrite工厂对象,该对象用于后续创建单个DirectWrite对象。
语法
HRESULT DWriteCreateFactory(
[in] DWRITE_FACTORY_TYPE factoryType,
[in] REFIID iid,
[out] IUnknown **factory
);
参数
[in] factoryType
一个 值,该值指定工厂对象是共享还是隔离。
[in] iid
类型: REFIID
标识DirectWrite工厂接口的 GUID 值,例如__uuidof (IDWriteFactory) 。
[out] factory
类型: IUnknown**
指向新创建的DirectWrite工厂对象的指针的地址。
返回值
类型: HRESULT
如果此函数成功,则返回 S_OK。 否则,将返回 HRESULT 错误代码。
注解
此函数创建一个DirectWrite工厂对象,该对象用于后续创建单个DirectWrite对象。 DirectWrite工厂包含内部状态数据,例如字体加载程序注册和缓存的字体数据。 在大多数情况下,建议使用共享工厂对象,因为它允许使用DirectWrite的多个组件共享内部DirectWrite状态数据,从而减少内存使用量。 但是,在某些情况下,需要通过沙盒化组件并将其与进程组件的其余部分隔离,来减少组件(例如来自不受信任源的插件)对进程其余部分的影响。 在这种情况下,建议对沙盒组件使用隔离工厂。
以下示例演示如何创建共享DirectWrite工厂。
if (SUCCEEDED(hr))
{
hr = DWriteCreateFactory(
DWRITE_FACTORY_TYPE_SHARED,
__uuidof(IDWriteFactory),
reinterpret_cast<IUnknown**>(&pDWriteFactory_)
);
}
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 7、带 SP2 的 Windows Vista 和适用于 Windows Vista 的平台更新 [桌面应用 |UWP 应用] |
最低受支持的服务器 | Windows Server 2008 R2、Windows Server 2008 SP2 和适用于 Windows Server 2008 的平台更新 [桌面应用 |UWP 应用] |
目标平台 | Windows |
标头 | dwrite.h |
Library | Dwrite.lib |
DLL | Dwrite.dll |