ID2D1EffectImpl::Initialize メソッド (d2d1effectauthor.h)

この効果では、このメソッドを使用して、1 回限りの初期化タスクを実行できます。 このメソッドが必要ない場合、メソッドは 単に S_OKを返すことができます。

構文

HRESULT Initialize(
  [in] ID2D1EffectContext  *effectContext,
  [in] ID2D1TransformGraph *transformGraph
);

パラメーター

[in] effectContext

型: ID2D1EffectContext*

エフェクト作成者中心の型を作成して返す内部コンテキスト インターフェイス。

[in] transformGraph

種類: ID2D1TransformGraph*

この効果により、変換グラフにトポロジが設定され、後で更新できます。

戻り値

型: HRESULT

メソッドが成功すると、 S_OKが返されます。 失敗した場合は、 HRESULT エラー コードが返されます。

注釈

これにより、レンダリング中ではなく、リソース作成コストが CreateEffect 呼び出しに移動されます。

実装がこの呼び出しに失敗した場合、対応する ID2D1DeviceContext::CreateEffect 呼び出しも失敗します。

次の例は、initialize メソッドを実装する効果を示しています。

次の例は、initialize メソッドを実装する効果を示しています。

class CEffectImplementation : public ID2D1EffectImpl
{
public:

    virtual ~CEffectImplementation()
    {
        if (_pContextInternal != NULL)
        {
            _pContextInternal->Release();
        }
    }

    IFACEMETHODIMP Initialize(__in ID2D1DeviceContextInternal *pContextInternal, __in ID2D1TransformGraph *pTransformGraph)
    {
        HRESULT hr = S_OK;

        _pContextInternal = pContextInternal;
        _pContextInternal->AddRef();

								_pTransformGraph = pTransformGraph;
        _pTransformGraph>AddRef();

								// Populate the transform graph.					    

        return S_OK;
    }

private:

    ID2D1EffectContext *_pContextInternal;
    ID2D1TransformGraph *_pTransformGraph;
};

要件

要件
サポートされている最小のクライアント Windows 7 のWindows 8とプラットフォーム更新プログラム [デスクトップ アプリ |UWP アプリ]
サポートされている最小のサーバー Windows Server 2008 R2 のWindows Server 2012とプラットフォーム更新プログラム [デスクトップ アプリ |UWP アプリ]
対象プラットフォーム Windows
ヘッダー d2d1effectauthor.h
Library D2D1.lib

こちらもご覧ください

ID2D1DeviceContext

ID2D1EffectImpl