ID2D1DeviceContext::CreateEffect method (d2d1_1.h)

Creates an effect for the specified class ID.

Syntax

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

Parameters

effectId

Type: REFCLSID

The class ID of the effect to create. 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 a new 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.
E_NOTFOUND Other possible HRESULT for an effect not being registered (like D2DERR_EFFECT_IS_NOT_REGISTERED).
D2DERR_INSUFFICIENT_DEVICE_CAPABILITIES The effect requires capabilities not supported by the D2D device.

Remarks

If the created effect is a custom effect that is implemented in a DLL, this doesn't increment the reference count for that DLL. If the application deletes an effect while that 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 d2d1_1.h
DLL D2d1.dll

See also

Effects

ID2D1DeviceContext

ID2D1Effect

ID2D1Factory1::RegisterEffect