BitmapEffect.InitializeBitmapEffect(SafeHandle, SafeHandle) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
注意
BitmapEffects are deprecated and no longer function. Consider using Effects where appropriate instead.
使用给定的 IMILBitmapEffectPrimitive 初始化从 CreateBitmapEffectOuter() 获取的 IMILBitmapEffect 句柄。
protected:
static void InitializeBitmapEffect(System::Runtime::InteropServices::SafeHandle ^ outerObject, System::Runtime::InteropServices::SafeHandle ^ innerObject);
[System.Security.SecurityCritical]
[System.Security.SecurityTreatAsSafe]
protected static void InitializeBitmapEffect (System.Runtime.InteropServices.SafeHandle outerObject, System.Runtime.InteropServices.SafeHandle innerObject);
[System.Security.SecurityCritical]
[System.Security.SecurityTreatAsSafe]
[System.Obsolete("BitmapEffects are deprecated and no longer function. Consider using Effects where appropriate instead.")]
protected static void InitializeBitmapEffect (System.Runtime.InteropServices.SafeHandle outerObject, System.Runtime.InteropServices.SafeHandle innerObject);
[System.Obsolete("BitmapEffects are deprecated and no longer function. Consider using Effects where appropriate instead.")]
protected static void InitializeBitmapEffect (System.Runtime.InteropServices.SafeHandle outerObject, System.Runtime.InteropServices.SafeHandle innerObject);
[<System.Security.SecurityCritical>]
[<System.Security.SecurityTreatAsSafe>]
static member InitializeBitmapEffect : System.Runtime.InteropServices.SafeHandle * System.Runtime.InteropServices.SafeHandle -> unit
[<System.Security.SecurityCritical>]
[<System.Security.SecurityTreatAsSafe>]
[<System.Obsolete("BitmapEffects are deprecated and no longer function. Consider using Effects where appropriate instead.")>]
static member InitializeBitmapEffect : System.Runtime.InteropServices.SafeHandle * System.Runtime.InteropServices.SafeHandle -> unit
[<System.Obsolete("BitmapEffects are deprecated and no longer function. Consider using Effects where appropriate instead.")>]
static member InitializeBitmapEffect : System.Runtime.InteropServices.SafeHandle * System.Runtime.InteropServices.SafeHandle -> unit
Protected Shared Sub InitializeBitmapEffect (outerObject As SafeHandle, innerObject As SafeHandle)
参数
- outerObject
- SafeHandle
要初始化的外部 IMILBitmapEffect 包装器。
- innerObject
- SafeHandle
内部 IMILBitmapEffectPrimitive。
- 属性
示例
以下示例演示 的 CreateUnmanagedEffect 实现,该实现使用 InitializeBitmapEffect 方法通过自定义效果初始化包装器对象。
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