ID2D1Factory1::GetRegisteredEffects method (d2d1_1.h)

Returns the class IDs of the currently registered effects and global effects on this factory.


HRESULT GetRegisteredEffects(
  [out]           CLSID  *effects,
                  UINT32 effectsCount,
  [out]           UINT32 *effectsReturned,
  [out, optional] UINT32 *effectsRegistered


[out] effects

Type: CLSID*

When this method returns, contains an array of effects. NULL if no effects are retrieved.


Type: UINT32

The capacity of the effects array.

[out] effectsReturned

Type: UINT32*

When this method returns, contains the number of effects copied into effects.

[out, optional] effectsRegistered

Type: UINT32*

When this method returns, contains the number of effects currently registered in the system.

Return value


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.
HRESULT_FROM_WIN32(ERROR_INSUFFICIENT_BUFFER) effectsRegistered is larger than effectCount.


The set of class IDs will be atomically returned by the API. The set will not be interrupted by other threads registering or unregistering effects.

If effectsRegistered is larger than effectCount, the supplied array will still be filled to capacity with the current set of registered effects. This method returns the CLSIDs for all global effects and all effects registered to this factory.


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
Library D2d1.lib
DLL D2d1.dll

See also