Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
Export (0) Print
Expand All

BitmapEffect.CreateUnmanagedEffect Method

Note: This API is now obsolete. The non-obsolete alternative is Effect.

When overridden in a derived class, creates a clone of the unmanaged effect.

Namespace:  System.Windows.Media.Effects
Assembly:  PresentationCore (in PresentationCore.dll)

[ObsoleteAttribute("BitmapEffects are deprecated and no longer function.  Consider using Effects where appropriate instead.")]
protected abstract SafeHandle CreateUnmanagedEffect()

Return Value

Type: System.Runtime.InteropServices.SafeHandle
A handle to the unmanaged effect clone.

The following example demonstrates an override of the CreateUnmanagedEffect method.

        [SecurityPermissionAttribute(SecurityAction.Demand, Flags = SecurityPermissionFlag.UnmanagedCode)]
        unsafe protected override SafeHandle CreateUnmanagedEffect()
        {
            const uint CLSCTX_INPROC_SERVER = 1;
            Guid IID_IUnknown = new Guid("00000000-0000-0000-C000-000000000046");
            Guid guidEffectCLSID = new Guid("84CF07CC-34C4-460f-B435-3184F5F2FF2A");
            SafeHandle wrapper = BitmapEffect.CreateBitmapEffectOuter();

            COMSafeHandle unmanagedEffect;
            uint hresult = Ole32Methods.CoCreateInstance(
								ref guidEffectCLSID,
								wrapper.DangerousGetHandle(),
								CLSCTX_INPROC_SERVER,
								ref IID_IUnknown,
								out unmanagedEffect);
            InitializeBitmapEffect(wrapper, unmanagedEffect);
            if (0 == hresult) return wrapper;
            throw new Exception("Cannot instantiate effect. HRESULT = " + hresult.ToString());
        }

.NET Framework

Supported in: 3.5, 3.0
Obsolete (compiler warning) in 4.6
Obsolete (compiler warning) in 4.6
Obsolete (compiler warning) in 4.5
Obsolete (compiler warning) in 4.5.1
Obsolete (compiler warning) in 4.5.2
Obsolete (compiler warning) in 4

.NET Framework Client Profile

Supported in: 3.5 SP1
Obsolete (compiler warning) in 4
Show:
© 2015 Microsoft