win64 0.0.25

Hand-crafted, idiomatic Rust wrappers for Win32
Documentation
use {
  crate::declare_handle,
  windows_sys::Win32::System::SystemServices::IMAGE_DOS_HEADER,
};

declare_handle!(
  Instance,
  alias = "HINSTANCE",
  doc = "https://learn.microsoft.com/en-us/windows/win32/winprog/windows-data-types#hinstance"
);

impl Instance {
  pub fn get() -> Self {
    // https://devblogs.microsoft.com/oldnewthing/20041025-00/?p=37483
    unsafe extern "C" {
      static mut __ImageBase: IMAGE_DOS_HEADER;
    }
    Self(std::ptr::addr_of_mut!(__ImageBase).cast())
  }
}