ID2D1Factory1::RegisterEffectFromString メソッド (d2d1_1.h)

文字列として指定されたプロパティ XML を使用して、ファクトリ インスタンス内に効果を登録します。

構文

HRESULT RegisterEffectFromString(
  [in]           REFCLSID                    classId,
  [in]           PCWSTR                      propertyXml,
  [in, optional] const D2D1_PROPERTY_BINDING *bindings,
                 UINT32                      bindingsCount,
                 const PD2D1_EFFECT_FACTORY  effectFactory
);

パラメーター

[in] classId

型: REFCLSID

登録する効果の識別子。

[in] propertyXml

種類: PCWSTR

効果のプロパティ、型、およびメタデータの一覧。

[in, optional] bindings

型: const D2D1_PROPERTY_BINDING*

プロパティとメソッドの配列。

これにより、名前によってプロパティが、プロパティを処理するために効果作成者によって実装される特定のメソッドにバインドされます。 名前は、対応する propertyXml に存在する必要があります。

bindingsCount

型: UINT32

バインド配列内のバインドの数。

effectFactory

種類: PD2D1_EFFECT_FACTORY

対応する効果を作成するために使用される静的ファクトリ。

戻り値

型: HRESULT

このメソッドは HRESULT を返します。 有効な値を次の表に示しますが、これ以外にもあります。

HRESULT 説明
S_OK エラーは発生していません。
E_OUTOFMEMORY Direct2D は、呼び出しを完了するのに十分なメモリを割り当てませんでした。
E_INVALIDARG 無効なパラメーターが返される関数に渡されました。

解説

Direct2D 効果では、登録時に登録 XML を使用してプロパティを定義する必要があります。 効果は、必要なシステム プロパティをいくつか宣言し、カスタム プロパティを宣言することもできます。 propertyXml パラメーターの書式設定の詳細については、「カスタム効果」を参照してください。

RegisterEffect はアトミックと参照の両方がカウントされます。 効果の登録を解除するには、効果の classId を使用して UnregisterEffect を呼び出します。

重要RegisterEffect は、効果が含まれている DLL または実行可能ファイルへの参照を保持しません。 アプリケーションは、DLL または実行可能ファイルの有効期間に、登録および作成された各効果のすべてのインスタンスが完全に含まれていることを個別に確認する必要があります。
 
この API は、グローバルに登録されている 組み込みの効果 とは別に、このファクトリおよび派生デバイスおよびデバイス コンテキスト インターフェイスに対してのみ効果を登録します。

要件

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

関連項目

ID2D1Factory1

ID2D1Factory1::UnregisterEffect