BitmapEffect.CreateUnmanagedEffect Method ()

 
obsoleteCodeEntityT:System.Windows.Media.Effects.Effect Note: This API is now obsolete.

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.")]
[SecurityCriticalAttribute]
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
Available since 3.0
Return to top
Show: