指定 DirectWrite 工厂对象的类型。
重要
此 API 作为 directWrite DWriteCore 实现的一部分提供。 有关详细信息和代码示例,请参阅 DWriteCore 概述。
语法
typedef enum DWRITE_FACTORY_TYPE {
DWRITE_FACTORY_TYPE_SHARED,
DWRITE_FACTORY_TYPE_ISOLATED,
DWRITE_FACTORY_TYPE_ISOLATED2
} ;
常量
DWRITE_FACTORY_TYPE_SHARED指示 DirectWrite 工厂是共享工厂,它允许跨多个进程内组件重复使用缓存的字体数据。 此类工厂还利用跨进程字体缓存组件来提高性能。 |
DWRITE_FACTORY_TYPE_ISOLATED指示 DirectWrite 工厂对象是隔离的。 从独立工厂创建的对象不会与其他组件的内部 DirectWrite 状态进行交互。 |
DWRITE_FACTORY_TYPE_ISOLATED2指示 DirectWrite 工厂对象受到限制。 从受限工厂创建的对象不会使用或修改其他工厂使用的内部状态或缓存数据。 此外,系统字体集合仅包含已知字体。 ## 示例 请参阅 DWriteCore 概述 主题和 DWriteCoreGallery 示例应用。 |
注解
DirectWrite 工厂对象包含有关其内部状态的信息,例如字体加载程序注册和缓存的字体数据。 在大多数情况下,应使用共享工厂对象,因为它允许使用 DirectWrite 的多个组件共享内部 DirectWrite 状态信息,从而减少内存使用量。 但是,在某些情况下,需要通过沙盒并将其与进程组件其余部分隔离,从而减少组件对进程其余部分的影响,例如来自不受信任的源的插件。 在这种情况下,应为沙盒组件使用隔离工厂。
受限工厂比隔离工厂更锁定。 它不会以任何方式与跨进程和永久性字体缓存进行交互。 此外,从此工厂返回的系统字体集合仅包含已知的字体。 如果将 DWRITE_FACTORY_TYPE_ISOLATED2 传递给 DWriteCore 之前的 DWrite 版本,则 DWriteCreateFactory 返回 E_INVALIDARG。
要求
| 要求 | 价值 |
|---|---|
| 最低支持的客户端 | Windows 10 版本 1809(使用 Windows 应用 SDK 0.5 或更高版本) |
| 标头 | dwrite.h |