DWRITE_FACTORY_TYPE枚举 (dwrite.h)

指定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 应用 SDK 0.5 或更高版本的Windows 10 版本 1809 ()
标头 dwrite.h

另请参阅

DWriteCore

DWriteCoreGallery 示例