use windows::core::GUID;
pub type IID = GUID;
pub type CLSID = GUID;
pub type RuntimeClassName = *const u16;
#[repr(i32)]
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum TrustLevel {
BaseTrust = 0,
PartialTrust = 1,
FullTrust = 2,
}
pub mod iids {
use super::IID;
pub const IID_IUNKNOWN: IID = IID::from_u128(0x00000000_0000_0000_C000_000000000046);
pub const IID_IINSPECTABLE: IID = IID::from_u128(0xAF86E2E0_B12D_4C6A_9C5A_D7AA65101E90);
pub const IID_IACTIVATION_FACTORY: IID = IID::from_u128(0x00000035_0000_0000_C000_000000000046);
pub const IID_IAPPLICATION: IID = IID::from_u128(0x74B861A1_7487_46A9_8635_000000000000);
pub const IID_IWINDOW: IID = IID::from_u128(0x00000000_0000_0000_0000_000000000000);
pub const IID_IUIELEMENT: IID = IID::from_u128(0x00000000_0000_0000_0000_000000000000); }
pub const S_OK: i32 = 0;
pub const E_NOINTERFACE: i32 = 0x80004002_u32 as i32;
pub const E_POINTER: i32 = 0x80004003_u32 as i32;
pub const E_FAIL: i32 = 0x80004005_u32 as i32;
pub const E_NOTIMPL: i32 = 0x80004001_u32 as i32;
#[inline]
pub fn succeeded(hr: i32) -> bool {
hr >= 0
}
#[inline]
pub fn failed(hr: i32) -> bool {
hr < 0
}