Files

30 lines
525 B
C#
Raw Permalink Normal View History

2026-08-27 10:56:38 -06:00
using System;
using System.Runtime.InteropServices;
namespace Microsoft.Win32.SafeHandles;
internal sealed class SafeAllocHHandle : SafeBuffer
{
internal static SafeAllocHHandle InvalidHandle => new SafeAllocHHandle(IntPtr.Zero);
public SafeAllocHHandle()
: base(ownsHandle: true)
{
}
internal SafeAllocHHandle(IntPtr handle)
: base(ownsHandle: true)
{
SetHandle(handle);
}
protected override bool ReleaseHandle()
{
if (handle != IntPtr.Zero)
{
Marshal.FreeHGlobal(handle);
}
return true;
}
}