OLE_HANDLE
using System;
using System.CodeDom.Compiler;
using System.Diagnostics;
using System.Runtime.CompilerServices;
using Windows.Win32.Graphics.Gdi;
using Windows.Win32.UI.WindowsAndMessaging;
namespace Windows.Win32.System.Ole
{
[DebuggerDisplay("{Value}")]
[GeneratedCode("Microsoft.Windows.CsWin32", "0.3.151+58e949951d.RR")]
internal readonly struct OLE_HANDLE : IEquatable<OLE_HANDLE>
{
internal readonly uint Value;
public static explicit operator HICON(OLE_HANDLE handle)
{
return new HICON((IntPtr)(int)handle.Value);
}
public static explicit operator HBITMAP(OLE_HANDLE handle)
{
return new HBITMAP((IntPtr)(int)handle.Value);
}
public static explicit operator HPALETTE(OLE_HANDLE handle)
{
return new HPALETTE((IntPtr)(int)handle.Value);
}
public static explicit operator HMETAFILE(OLE_HANDLE handle)
{
return new HMETAFILE((IntPtr)(int)handle.Value);
}
public static explicit operator HENHMETAFILE(OLE_HANDLE handle)
{
return new HENHMETAFILE((IntPtr)(int)handle.Value);
}
internal OLE_HANDLE(uint value)
{
Value = value;
}
public static implicit operator uint(OLE_HANDLE value)
{
return value.Value;
}
public static explicit operator OLE_HANDLE(uint value)
{
return new OLE_HANDLE(value);
}
public static bool operator ==(OLE_HANDLE left, OLE_HANDLE right)
{
return left.Value == right.Value;
}
public static bool operator !=(OLE_HANDLE left, OLE_HANDLE right)
{
return !(left == right);
}
public bool Equals(OLE_HANDLE other)
{
return Value == other.Value;
}
public override bool Equals(object obj)
{
if (obj is OLE_HANDLE) {
OLE_HANDLE other = (OLE_HANDLE)obj;
return Equals(other);
}
return false;
}
public override int GetHashCode()
{
return Value.GetHashCode();
}
public override string ToString()
{
DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(2, 1);
defaultInterpolatedStringHandler.AppendLiteral("0x");
defaultInterpolatedStringHandler.AppendFormatted(Value, "x");
return defaultInterpolatedStringHandler.ToStringAndClear();
}
public static implicit operator IntPtr(OLE_HANDLE value)
{
return new IntPtr(value.Value);
}
public static explicit operator OLE_HANDLE(IntPtr value)
{
return new OLE_HANDLE((uint)value.ToInt32());
}
}
}