ID2D1EffectImpl::Initialize 方法 (d2d1effectauthor.h)

效果可以使用這個方法來執行一次性初始化工作。 如果不需要這個方法,方法可以只傳回 S_OK

語法

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

參數

[in] effectContext

類型: ID2D1EffectContext*

內部內容介面,可建立並傳回效果作者中心型別。

[in] transformGraph

類型: ID2D1TransformGraph*

效果可以使用拓撲填入轉換圖表,並稍後更新它。

傳回值

類型: HRESULT

如果方法成功,它會 傳回S_OK。 如果失敗,則會傳回 HRESULT 錯誤碼。

備註

這會將資源建立成本移至 CreateEffect 呼叫,而不是在轉譯期間。

如果實作失敗此呼叫,對應的 ID2D1DeviceContext::CreateEffect 呼叫也會失敗。

下列範例示範實作初始化方法的效果。

範例

此處的範例顯示實作初始化方法的效果。

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
程式庫 D2D1.lib

另請參閱

ID2D1DeviceContext

ID2D1EffectImpl