次の方法で共有


DWriteCreateFactory 関数 (dwrite.h)

個々のDirectWrite オブジェクトの後続の作成に使用されるDirectWriteファクトリ オブジェクトを作成します。

構文

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

パラメーター

[in] factoryType

種類: DWRITE_FACTORY_TYPE

ファクトリ オブジェクトを共有するか分離するかを示す 値です。

[in] iid

型: REFIID

__uuidof(IDWriteFactory) など、DirectWriteファクトリ インターフェイスを識別する GUID 値。

[out] factory

種類: IUnknown**

新しく作成されたDirectWriteファクトリ オブジェクトへのポインターのアドレス。

戻り値

型: HRESULT

この関数が成功すると、 S_OKが返されます。 そうでない場合は、HRESULT エラー コードを返します。

注釈

この関数は、個々のDirectWrite オブジェクトの後続の作成に使用されるDirectWriteファクトリ オブジェクトを作成します。 DirectWrite ファクトリには、フォント ローダーの登録やキャッシュされたフォント データなどの内部状態データが含まれています。 ほとんどの場合、共有ファクトリ オブジェクトを使用することをお勧めします。これは、DirectWriteを使用する複数のコンポーネントが内部DirectWrite状態データを共有し、それによってメモリ使用量を削減できるためです。 ただし、プロセスの残りの部分に対する信頼されていないソースからのプラグインなど、コンポーネントの影響を軽減することが望ましい場合は、プロセス コンポーネントの残りの部分からサンドボックス化して分離します。 このような場合は、サンドボックス コンポーネントに分離ファクトリを使用することをお勧めします。

次の例は、共有DirectWrite ファクトリを作成する方法を示しています。


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


要件

要件
サポートされている最小のクライアント Windows 7、Windows Vista SP2 と Windows Vista 用プラットフォーム更新プログラム [デスクトップ アプリ |UWP アプリ]
サポートされている最小のサーバー Windows Server 2008 R2、Windows Server 2008 SP2 および Windows Server 2008 用プラットフォーム更新プログラム [デスクトップ アプリ |UWP アプリ]
対象プラットフォーム Windows
ヘッダー dwrite.h
Library Dwrite.lib
[DLL] Dwrite.dll