HdcHandle sealed class HdcHandle : IDisposable, IHandle<HDC> Used when you must keep a handle to an HDC in a field. Avoid keeping HDC handles in fields when possible. Documentation Code public HDC Handle { get; } public HdcHandle(CreateDcScope hdc) Take ownership from a CreateDcScope. public static HDC op_Implicit(ref HdcHandle handle) public static IntPtr op_Implicit(ref HdcHandle handle) public void Dispose()