Files
HandyControl/src/Shared/HandyControl_Shared/Tools/Interop/IconHandle.cs
T
2019-04-05 22:23:19 +08:00

33 lines
808 B
C#

using System;
using System.Runtime.ConstrainedExecution;
using System.Security;
namespace HandyControl.Tools.Interop
{
internal sealed class IconHandle : WpfSafeHandle
{
[SecurityCritical]
private IconHandle() : base(true, CommonHandles.Icon)
{
}
[SecurityCritical]
[ReliabilityContract(Consistency.WillNotCorruptState, Cer.MayFail)]
protected override bool ReleaseHandle()
{
return UnsafeNativeMethods.DestroyIcon(handle);
}
[SecurityCritical, SecuritySafeCritical]
internal static IconHandle GetInvalidIcon()
{
return new IconHandle();
}
[SecurityCritical]
internal IntPtr CriticalGetHandle()
{
return handle;
}
}
}