共用方式為


DWriteCreateFactory 函式 (dwrite.h)

建立 DirectWrite Factory 物件,用於後續建立個別 DirectWrite 物件。

語法

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

參數

[in] factoryType

類型: DWRITE_FACTORY_TYPE

值,指定是否要共用或隔離 Factory 物件。

[in] iid

類型: REFIID

識別 DirectWrite 處理站介面的 GUID 值,例如__uuidof (IDWriteFactory) 。

[out] factory

類型: IUnknown**

新建立 DirectWrite Factory 物件的指標位址。

傳回值

類型: HRESULT

如果此函式成功,則會傳回 S_OK。 否則,它會傳回 HRESULT 錯誤碼。

備註

此函式會建立 DirectWrite Factory 物件,用於後續建立個別 DirectWrite 物件。 DirectWrite Factory 包含內部狀態數據,例如字型載入器註冊和快取的字型數據。 在大部分情況下,建議您使用共用處理站對象,因為它允許多個元件使用 DirectWrite 來共用內部 DirectWrite 狀態數據,進而減少記憶體使用量。 不過,有一些情況是想要減少元件的影響,例如來自不受信任來源的外掛程式、進程其餘部分的沙盒化,並將它與進程元件的其餘部分隔離。 在這種情況下,建議您針對沙盒化元件使用隔離處理站。

下列範例示範如何建立共用 DirectWrite 處理站。


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


規格需求

需求
最低支援的用戶端 適用於 Windows Vista 的 Windows 7、Windows Vista SP2 和平臺更新 [傳統型應用程式 |UWP 應用程式]
最低支援的伺服器 Windows Server 2008 R2、Windows Server 2008 SP2 和 Platform Update for Windows Server 2008 [傳統型應用程式 |UWP 應用程式]
目標平台 Windows
標頭 dwrite.h
程式庫 Dwrite.lib
Dll Dwrite.dll