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 调用也会失败。

以下示例演示了实现 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