Freigeben über


DWriteCreateFactory-Funktion (dwrite.h)

Erstellt ein DirectWrite Factoryobjekt, das zum späteren Erstellen einzelner DirectWrite-Objekte verwendet wird.

Syntax

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

Parameter

[in] factoryType

Typ: DWRITE_FACTORY_TYPE

Ein -Wert, der angibt, ob das Factoryobjekt freigegeben oder isoliert wird.

[in] iid

Typ: REFIID

Ein GUID-Wert, der die DirectWrite Factoryschnittstelle identifiziert, z. B. __uuidof(IDWriteFactory).

[out] factory

Typ: IUnknown**

Eine Adresse eines Zeigers auf das neu erstellte DirectWrite Factoryobjekt.

Rückgabewert

Typ: HRESULT

Wenn diese Funktion erfolgreich ist, wird S_OK zurückgegeben. Andernfalls wird ein Fehlercode HRESULT zurückgegeben.

Hinweise

Diese Funktion erstellt ein DirectWrite Factoryobjekt, das für die nachfolgende Erstellung einzelner DirectWrite-Objekte verwendet wird. DirectWrite Factory enthält interne Zustandsdaten, z. B. die Registrierung des Schriftartladeprogramms und zwischengespeicherte Schriftdaten. In den meisten Fällen wird empfohlen, das freigegebene Factoryobjekt zu verwenden, da es mehreren Komponenten, die DirectWrite verwenden, ermöglicht, interne DirectWrite Zustandsdaten gemeinsam zu nutzen und dadurch die Speicherauslastung zu reduzieren. Es gibt jedoch Fälle, in denen es wünschenswert ist, die Auswirkungen einer Komponente, z. B. eines Plug-Ins aus einer nicht vertrauenswürdigen Quelle, auf den Rest des Prozesses zu verringern, indem Sie sie vom Rest der Prozesskomponenten sanden und isolieren. In solchen Fällen wird empfohlen, eine isolierte Factory für die Sandkastenkomponente zu verwenden.

Das folgende Beispiel zeigt, wie Sie eine freigegebene DirectWrite Factory erstellen.


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


Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 7, Windows Vista mit SP2 und Plattformupdate für Windows Vista [Desktop-Apps | UWP-Apps]
Unterstützte Mindestversion (Server) Windows Server 2008 R2, Windows Server 2008 mit SP2 und Plattformupdate für Windows Server 2008 [Desktop-Apps | UWP-Apps]
Zielplattform Windows
Kopfzeile dwrite.h
Bibliothek Dwrite.lib
DLL Dwrite.dll