BitmapEffect.CreateBitmapEffectOuter 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
警告
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 物件的控制代碼。
- 屬性
範例
下列範例示範的 CreateUnmanagedEffect 實作,其使用 CreateBitmapEffectOuter 方法來擷取包裝函式效果物件。
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 方法使用自定義效果初始化。