ID2D1EffectContext::CreateEffect method (d2d1effectauthor.h)

Creates a Direct2D effect for the specified class ID. This is the same as ID2D1DeviceContext::CreateEffect so custom effects can create other effects and wrap them in a transform.

Syntax

HRESULT CreateEffect(
        REFCLSID    effectId,
  [out] ID2D1Effect **effect
);

Parameters

effectId

Type: REFCLSID

The built-in or registered effect ID to create the effect. See Built-in Effects for a list of effect IDs.

[out] effect

Type: ID2D1Effect**

When this method returns, contains the address of a pointer to the effect.

Return value

Type: HRESULT

The method returns an HRESULT. Possible values include, but are not limited to, those in the following table.

HRESULT Description
S_OK No error occurred.
E_OUTOFMEMORY Direct2D could not allocate sufficient memory to complete the call.
E_INVALIDARG An invalid value was passed to the method.
D3DERR_OUTOFVIDEOMEMORY Direct3D does not have enough display memory to perform the operation.
D2DERR_EFFECT_IS_NOT_REGISTERED The specified effect is not registered by the system.

Remarks

The created effect does not reference count the DLL from which the effect was created. If the caller unregisters an effect while this effect is loaded, the resulting behavior is unpredictable.

Requirements

Requirement Value
Minimum supported client Windows 8 and Platform Update for Windows 7 [desktop apps | UWP apps]
Minimum supported server Windows Server 2012 and Platform Update for Windows Server 2008 R2 [desktop apps | UWP apps]
Target Platform Windows
Header d2d1effectauthor.h
Library D2D1.lib

See also

D2D1_BLEND_DESCRIPTION

Effects

ID2D1BlendTransform

ID2D1EffectContext