Partager via


Fonction DWriteCreateFactory (dwrite.h)

Crée un objet de fabrique DirectWrite qui est utilisé pour la création ultérieure d’objets DirectWrite individuels.

Syntaxe

HRESULT DWriteCreateFactory(
  [in]  DWRITE_FACTORY_TYPE factoryType,
  [in]  REFIID              iid,
  [out] IUnknown            **factory
);

Paramètres

[in] factoryType

Type : DWRITE_FACTORY_TYPE

Valeur qui spécifie si l’objet de fabrique sera partagé ou isolé.

[in] iid

Type : REFIID

Valeur GUID qui identifie l’interface de fabrique DirectWrite, telle que __uuidof(IDWriteFactory).

[out] factory

Type : IUnknown**

Adresse d’un pointeur vers l’objet de fabrique DirectWrite nouvellement créé.

Valeur retournée

Type : HRESULT

Si cette fonction réussit, elle retourne S_OK. Sinon, elle retourne un code d’erreur HRESULT.

Remarques

Cette fonction crée un objet de fabrique DirectWrite qui est utilisé pour la création ultérieure d’objets DirectWrite individuels. DirectWrite fabrique contient des données d’état internes telles que l’inscription du chargeur de polices et les données de police mises en cache. Dans la plupart des cas, il est recommandé d’utiliser l’objet fabrique partagé, car il permet à plusieurs composants qui utilisent DirectWrite de partager des données d’état de DirectWrite internes, ce qui réduit l’utilisation de la mémoire. Toutefois, il existe des cas où il est souhaitable de réduire l’impact d’un composant, tel qu’un plug-in à partir d’une source non approuvée, sur le reste du processus, en le mettant en bac à sable et en l’isolant du reste des composants de processus. Dans ce cas, il est recommandé d’utiliser une fabrique isolée pour le composant bac à sable (sandbox).

L’exemple suivant montre comment créer une fabrique de DirectWrite partagée.


if (SUCCEEDED(hr))
{
    hr = DWriteCreateFactory(
        DWRITE_FACTORY_TYPE_SHARED,
        __uuidof(IDWriteFactory),
        reinterpret_cast<IUnknown**>(&pDWriteFactory_)
        );
}


Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 7, Windows Vista avec SP2 et Mise à jour de plateforme pour Windows Vista [applications de bureau | Applications UWP]
Serveur minimal pris en charge Windows Server 2008 R2, Windows Server 2008 avec SP2 et Mise à jour de plateforme pour Windows Server 2008 [applications de bureau | Applications UWP]
Plateforme cible Windows
En-tête dwrite.h
Bibliothèque Dwrite.lib
DLL Dwrite.dll