Files
qhmes/yy-admin-master/YY.Admin.Core/Tools/Interop/Handle/WpfSafeHandle.cs

24 lines
598 B
C#

using System.Security;
using Microsoft.Win32.SafeHandles;
namespace YY.Admin.Tools.Interop;
internal abstract class WpfSafeHandle : SafeHandleZeroOrMinusOneIsInvalid
{
private readonly int _collectorId;
[SecurityCritical]
protected WpfSafeHandle(bool ownsHandle, int collectorId) : base(ownsHandle)
{
HandleCollector.Add(collectorId);
_collectorId = collectorId;
}
[SecurityCritical, SecuritySafeCritical]
protected override void Dispose(bool disposing)
{
HandleCollector.Remove(_collectorId);
base.Dispose(disposing);
}
}