Поделиться через


перечисление DWRITE_FACTORY_TYPE (dwrite.h)

Указывает тип объекта фабрики DirectWrite.

Важно!

Этот API доступен в рамках реализации DWriteCore DirectWrite. Дополнительные сведения и примеры кода см. в статье Обзор 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 в версию DWrite, которая старше DWriteCore, DWriteCreateFactory возвращает E_INVALIDARG.

Требования

Требование Значение
Минимальная версия клиента Windows 10, версия 1809 (с Windows App SDK 0.5 или более поздней версии)
Верхняя часть dwrite.h

См. также раздел

DWriteCore

Пример DWriteCoreGallery