#![allow(non_camel_case_types, non_snake_case)]
use crate::decl::*;
use crate::dxgi::vts::*;
use crate::kernel::privs::*;
use crate::macros::*;
use crate::ole::privs::*;
use crate::prelude::*;
com_interface! { IDXGIAdapter2: "0aa1ae0a-fa0e-4b84-8644-e05ff8e5acb5";
}
impl dxgi_IDXGIObject for IDXGIAdapter2 {}
impl dxgi_IDXGIAdapter for IDXGIAdapter2 {}
impl dxgi_IDXGIAdapter1 for IDXGIAdapter2 {}
impl dxgi_IDXGIAdapter2 for IDXGIAdapter2 {}
pub trait dxgi_IDXGIAdapter2: dxgi_IDXGIAdapter1 {
#[must_use]
fn GetDesc2(&self) -> HrResult<DXGI_ADAPTER_DESC2> {
let mut desc = DXGI_ADAPTER_DESC2::default();
HrRet(unsafe { (vt::<IDXGIAdapter2VT>(self).GetDesc2)(self.ptr(), pvoid(&mut desc)) })
.to_hrresult()
.map(|_| desc)
}
}