Compartilhar via


BitmapEffect.CreateUnmanagedEffect Método

Definição

Cuidado

BitmapEffects are deprecated and no longer function. Consider using Effects where appropriate instead.

Quando substituído em uma classe derivada, cria um clone do efeito não gerenciado.

protected:
 abstract System::Runtime::InteropServices::SafeHandle ^ CreateUnmanagedEffect();
protected abstract System.Runtime.InteropServices.SafeHandle CreateUnmanagedEffect ();
[System.Obsolete("BitmapEffects are deprecated and no longer function.  Consider using Effects where appropriate instead.")]
[System.Security.SecurityCritical]
protected abstract System.Runtime.InteropServices.SafeHandle CreateUnmanagedEffect ();
[System.Obsolete("BitmapEffects are deprecated and no longer function.  Consider using Effects where appropriate instead.")]
protected abstract System.Runtime.InteropServices.SafeHandle CreateUnmanagedEffect ();
abstract member CreateUnmanagedEffect : unit -> System.Runtime.InteropServices.SafeHandle
[<System.Obsolete("BitmapEffects are deprecated and no longer function.  Consider using Effects where appropriate instead.")>]
[<System.Security.SecurityCritical>]
abstract member CreateUnmanagedEffect : unit -> System.Runtime.InteropServices.SafeHandle
[<System.Obsolete("BitmapEffects are deprecated and no longer function.  Consider using Effects where appropriate instead.")>]
abstract member CreateUnmanagedEffect : unit -> System.Runtime.InteropServices.SafeHandle
Protected MustOverride Function CreateUnmanagedEffect () As SafeHandle

Retornos

SafeHandle

Um identificador para o clone de efeito não gerenciado.

Atributos

Exemplos

O exemplo a seguir demonstra uma substituição do CreateUnmanagedEffect método.

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());
}
<SecurityPermissionAttribute(SecurityAction.Demand, Flags := SecurityPermissionFlag.UnmanagedCode)>
Protected Overrides Function CreateUnmanagedEffect() As SafeHandle
    Const CLSCTX_INPROC_SERVER As UInteger = 1
    Dim IID_IUnknown As New Guid("00000000-0000-0000-C000-000000000046")
    Dim guidEffectCLSID As New Guid("84CF07CC-34C4-460f-B435-3184F5F2FF2A")
    Dim wrapper As SafeHandle = BitmapEffect.CreateBitmapEffectOuter()

    Dim unmanagedEffect As COMSafeHandle
    Dim hresult As UInteger = Ole32Methods.CoCreateInstance(guidEffectCLSID, wrapper.DangerousGetHandle(), CLSCTX_INPROC_SERVER, IID_IUnknown, unmanagedEffect)
    InitializeBitmapEffect(wrapper, unmanagedEffect)
    If 0 = hresult Then
        Return wrapper
    End If
    Throw New Exception("Cannot instantiate effect. HRESULT = " & hresult.ToString())
End Function

Aplica-se a