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())
}
}