次の方法で共有


BitmapEffect.CreateBitmapEffectOuter メソッド

定義

注意事項

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

カスタム効果を初期化するために使用する IMILBitmapEffect オブジェクトへのハンドルを作成します。

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

戻り値

IMILBitmapEffect オブジェクトへのハンドル。

属性

次の例は、 メソッドを使用CreateBitmapEffectOuterしてラッパー効果オブジェクトを取得する の実装CreateUnmanagedEffectを示しています。

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

注釈

フレームワークとカスタム効果の相互作用は、 IMILBitmapEffect オブジェクトを介して処理されます。 外側の効果は、 メソッドを使用してカスタム効果で InitializeBitmapEffect 初期化されます。

適用対象