Freigeben über


ID2D1EffectImpl::Initialize-Methode (d2d1effectauthor.h)

Der Effekt kann diese Methode verwenden, um einmal Initialisierungsaufgaben auszuführen. Wenn diese Methode nicht benötigt wird, kann die Methode einfach S_OK zurückgeben.

Syntax

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

Parameter

[in] effectContext

Typ: ID2D1EffectContext*

Eine interne Kontextschnittstelle, die effektorientierte Autorentypen erstellt und zurückgibt.

[in] transformGraph

Typ: ID2D1TransformGraph*

Der Effekt kann das Transformationsdiagramm mit einer Topologie auffüllen und später aktualisieren.

Rückgabewert

Typ: HRESULT

Wenn die Methode erfolgreich ist, gibt sie S_OK zurück. Wenn ein Fehler auftritt, wird ein HRESULT-Fehlercode zurückgegeben.

Hinweise

Dadurch werden die Kosten für die Ressourcenerstellung auf den CreateEffect-Aufruf verschoben und nicht während des Renderns.

Wenn bei der Implementierung dieser Aufruf fehlschlägt, schlägt auch der entsprechende ID2D1DeviceContext::CreateEffect-Aufruf fehl.

Das folgende Beispiel zeigt einen Effekt, der eine Initialisierungsmethode implementiert.

Beispiele

Das hier gezeigte Beispiel zeigt einen Effekt, der eine Initialisierungsmethode implementiert.

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;
};

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 8 und Plattformupdate für Windows 7 [Desktop-Apps | UWP-Apps]
Unterstützte Mindestversion (Server) Windows Server 2012 und Plattformupdate für Windows Server 2008 R2 [Desktop-Apps | UWP-Apps]
Zielplattform Windows
Kopfzeile d2d1effectauthor.h
Bibliothek D2D1.lib

Weitere Informationen

ID2D1DeviceContext

ID2D1EffectImpl