#![allow(
non_snake_case,
clippy::too_many_arguments,
clippy::missing_safety_doc,
dead_code
)]
use core::ffi::c_void;
pub unsafe trait FactoryMethods: Sized {
fn inner(&self) -> *mut c_void;
unsafe fn QueryInterface(
&self,
iid: *const windows::core::GUID,
out: *mut *mut c_void,
) -> windows::core::HRESULT;
unsafe fn AddRef(&self) -> u32;
unsafe fn Release(&self) -> u32;
unsafe fn SetPrivateData(
&self,
a0: *const windows::core::GUID,
a1: u32,
a2: *const core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe { real::SetPrivateData(self.inner(), a0, a1, a2) }
}
unsafe fn SetPrivateDataInterface(
&self,
a0: *const windows::core::GUID,
a1: *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe { real::SetPrivateDataInterface(self.inner(), a0, a1) }
}
unsafe fn GetPrivateData(
&self,
a0: *const windows::core::GUID,
a1: *mut u32,
a2: *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe { real::GetPrivateData(self.inner(), a0, a1, a2) }
}
unsafe fn GetParent(
&self,
a0: *const windows::core::GUID,
a1: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe { real::GetParent(self.inner(), a0, a1) }
}
unsafe fn EnumAdapters(&self, a0: u32, a1: *mut *mut core::ffi::c_void) -> windows::core::HRESULT {
unsafe { real::EnumAdapters(self.inner(), a0, a1) }
}
unsafe fn MakeWindowAssociation(
&self,
a0: windows::Win32::Foundation::HWND,
a1: windows::Win32::Graphics::Dxgi::DXGI_MWA_FLAGS,
) -> windows::core::HRESULT {
unsafe { real::MakeWindowAssociation(self.inner(), a0, a1) }
}
unsafe fn GetWindowAssociation(
&self,
a0: *mut windows::Win32::Foundation::HWND,
) -> windows::core::HRESULT {
unsafe { real::GetWindowAssociation(self.inner(), a0) }
}
unsafe fn CreateSwapChain(
&self,
a0: *mut core::ffi::c_void,
a1: *const windows::Win32::Graphics::Dxgi::DXGI_SWAP_CHAIN_DESC,
a2: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe { real::CreateSwapChain(self.inner(), a0, a1, a2) }
}
unsafe fn CreateSoftwareAdapter(
&self,
a0: windows::Win32::Foundation::HMODULE,
a1: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe { real::CreateSoftwareAdapter(self.inner(), a0, a1) }
}
unsafe fn EnumAdapters1(&self, a0: u32, a1: *mut *mut core::ffi::c_void) -> windows::core::HRESULT {
unsafe { real::EnumAdapters1(self.inner(), a0, a1) }
}
unsafe fn IsCurrent(&self) -> windows::core::BOOL {
unsafe { real::IsCurrent(self.inner()) }
}
unsafe fn IsWindowedStereoEnabled(&self) -> windows::core::BOOL {
unsafe { real::IsWindowedStereoEnabled(self.inner()) }
}
unsafe fn CreateSwapChainForHwnd(
&self,
a0: *mut core::ffi::c_void,
a1: windows::Win32::Foundation::HWND,
a2: *const windows::Win32::Graphics::Dxgi::DXGI_SWAP_CHAIN_DESC1,
a3: *const windows::Win32::Graphics::Dxgi::DXGI_SWAP_CHAIN_FULLSCREEN_DESC,
a4: *mut core::ffi::c_void,
a5: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe { real::CreateSwapChainForHwnd(self.inner(), a0, a1, a2, a3, a4, a5) }
}
unsafe fn CreateSwapChainForCoreWindow(
&self,
a0: *mut core::ffi::c_void,
a1: *mut core::ffi::c_void,
a2: *const windows::Win32::Graphics::Dxgi::DXGI_SWAP_CHAIN_DESC1,
a3: *mut core::ffi::c_void,
a4: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe { real::CreateSwapChainForCoreWindow(self.inner(), a0, a1, a2, a3, a4) }
}
unsafe fn GetSharedResourceAdapterLuid(
&self,
a0: windows::Win32::Foundation::HANDLE,
a1: *mut windows::Win32::Foundation::LUID,
) -> windows::core::HRESULT {
unsafe { real::GetSharedResourceAdapterLuid(self.inner(), a0, a1) }
}
unsafe fn RegisterStereoStatusWindow(
&self,
a0: windows::Win32::Foundation::HWND,
a1: u32,
a2: *mut u32,
) -> windows::core::HRESULT {
unsafe { real::RegisterStereoStatusWindow(self.inner(), a0, a1, a2) }
}
unsafe fn RegisterStereoStatusEvent(
&self,
a0: windows::Win32::Foundation::HANDLE,
a1: *mut u32,
) -> windows::core::HRESULT {
unsafe { real::RegisterStereoStatusEvent(self.inner(), a0, a1) }
}
unsafe fn UnregisterStereoStatus(&self, a0: u32) {
unsafe { real::UnregisterStereoStatus(self.inner(), a0) }
}
unsafe fn RegisterOcclusionStatusWindow(
&self,
a0: windows::Win32::Foundation::HWND,
a1: u32,
a2: *mut u32,
) -> windows::core::HRESULT {
unsafe { real::RegisterOcclusionStatusWindow(self.inner(), a0, a1, a2) }
}
unsafe fn RegisterOcclusionStatusEvent(
&self,
a0: windows::Win32::Foundation::HANDLE,
a1: *mut u32,
) -> windows::core::HRESULT {
unsafe { real::RegisterOcclusionStatusEvent(self.inner(), a0, a1) }
}
unsafe fn UnregisterOcclusionStatus(&self, a0: u32) {
unsafe { real::UnregisterOcclusionStatus(self.inner(), a0) }
}
unsafe fn CreateSwapChainForComposition(
&self,
a0: *mut core::ffi::c_void,
a1: *const windows::Win32::Graphics::Dxgi::DXGI_SWAP_CHAIN_DESC1,
a2: *mut core::ffi::c_void,
a3: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe { real::CreateSwapChainForComposition(self.inner(), a0, a1, a2, a3) }
}
unsafe fn GetCreationFlags(&self) -> windows::Win32::Graphics::Dxgi::DXGI_CREATE_FACTORY_FLAGS {
unsafe { real::GetCreationFlags(self.inner()) }
}
unsafe fn EnumAdapterByLuid(
&self,
a0: windows::Win32::Foundation::LUID,
a1: *const windows::core::GUID,
a2: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe { real::EnumAdapterByLuid(self.inner(), a0, a1, a2) }
}
unsafe fn EnumWarpAdapter(
&self,
a0: *const windows::core::GUID,
a1: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe { real::EnumWarpAdapter(self.inner(), a0, a1) }
}
unsafe fn CheckFeatureSupport(
&self,
a0: windows::Win32::Graphics::Dxgi::DXGI_FEATURE,
a1: *mut core::ffi::c_void,
a2: u32,
) -> windows::core::HRESULT {
unsafe { real::CheckFeatureSupport(self.inner(), a0, a1, a2) }
}
unsafe fn EnumAdapterByGpuPreference(
&self,
a0: u32,
a1: windows::Win32::Graphics::Dxgi::DXGI_GPU_PREFERENCE,
a2: *const windows::core::GUID,
a3: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe { real::EnumAdapterByGpuPreference(self.inner(), a0, a1, a2, a3) }
}
unsafe fn RegisterAdaptersChangedEvent(
&self,
a0: windows::Win32::Foundation::HANDLE,
a1: *mut u32,
) -> windows::core::HRESULT {
unsafe { real::RegisterAdaptersChangedEvent(self.inner(), a0, a1) }
}
unsafe fn UnregisterAdaptersChangedEvent(&self, a0: u32) -> windows::core::HRESULT {
unsafe { real::UnregisterAdaptersChangedEvent(self.inner(), a0) }
}
}
pub mod real {
use core::ffi::c_void;
pub unsafe fn SetPrivateData(
inner: *mut c_void,
a0: *const windows::core::GUID,
a1: u32,
a2: *const core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe {
((*(*(inner as *const *const windows::Win32::Graphics::Dxgi::IDXGIFactory7_Vtbl)))
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.SetPrivateData)(inner, a0, a1, a2)
}
}
pub unsafe fn SetPrivateDataInterface(
inner: *mut c_void,
a0: *const windows::core::GUID,
a1: *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe {
((*(*(inner as *const *const windows::Win32::Graphics::Dxgi::IDXGIFactory7_Vtbl)))
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.SetPrivateDataInterface)(inner, a0, a1)
}
}
pub unsafe fn GetPrivateData(
inner: *mut c_void,
a0: *const windows::core::GUID,
a1: *mut u32,
a2: *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe {
((*(*(inner as *const *const windows::Win32::Graphics::Dxgi::IDXGIFactory7_Vtbl)))
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.GetPrivateData)(inner, a0, a1, a2)
}
}
pub unsafe fn GetParent(
inner: *mut c_void,
a0: *const windows::core::GUID,
a1: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe {
((*(*(inner as *const *const windows::Win32::Graphics::Dxgi::IDXGIFactory7_Vtbl)))
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.GetParent)(inner, a0, a1)
}
}
pub unsafe fn EnumAdapters(
inner: *mut c_void,
a0: u32,
a1: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe {
((*(*(inner as *const *const windows::Win32::Graphics::Dxgi::IDXGIFactory7_Vtbl)))
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.EnumAdapters)(inner, a0, a1)
}
}
pub unsafe fn MakeWindowAssociation(
inner: *mut c_void,
a0: windows::Win32::Foundation::HWND,
a1: windows::Win32::Graphics::Dxgi::DXGI_MWA_FLAGS,
) -> windows::core::HRESULT {
unsafe {
((*(*(inner as *const *const windows::Win32::Graphics::Dxgi::IDXGIFactory7_Vtbl)))
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.MakeWindowAssociation)(inner, a0, a1)
}
}
pub unsafe fn GetWindowAssociation(
inner: *mut c_void,
a0: *mut windows::Win32::Foundation::HWND,
) -> windows::core::HRESULT {
unsafe {
((*(*(inner as *const *const windows::Win32::Graphics::Dxgi::IDXGIFactory7_Vtbl)))
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.GetWindowAssociation)(inner, a0)
}
}
pub unsafe fn CreateSwapChain(
inner: *mut c_void,
a0: *mut core::ffi::c_void,
a1: *const windows::Win32::Graphics::Dxgi::DXGI_SWAP_CHAIN_DESC,
a2: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe {
((*(*(inner as *const *const windows::Win32::Graphics::Dxgi::IDXGIFactory7_Vtbl)))
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.CreateSwapChain)(inner, a0, a1, a2)
}
}
pub unsafe fn CreateSoftwareAdapter(
inner: *mut c_void,
a0: windows::Win32::Foundation::HMODULE,
a1: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe {
((*(*(inner as *const *const windows::Win32::Graphics::Dxgi::IDXGIFactory7_Vtbl)))
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.CreateSoftwareAdapter)(inner, a0, a1)
}
}
pub unsafe fn EnumAdapters1(
inner: *mut c_void,
a0: u32,
a1: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe {
((*(*(inner as *const *const windows::Win32::Graphics::Dxgi::IDXGIFactory7_Vtbl)))
.base__
.base__
.base__
.base__
.base__
.base__
.EnumAdapters1)(inner, a0, a1)
}
}
pub unsafe fn IsCurrent(inner: *mut c_void) -> windows::core::BOOL {
unsafe {
((*(*(inner as *const *const windows::Win32::Graphics::Dxgi::IDXGIFactory7_Vtbl)))
.base__
.base__
.base__
.base__
.base__
.base__
.IsCurrent)(inner)
}
}
pub unsafe fn IsWindowedStereoEnabled(inner: *mut c_void) -> windows::core::BOOL {
unsafe {
((*(*(inner as *const *const windows::Win32::Graphics::Dxgi::IDXGIFactory7_Vtbl)))
.base__
.base__
.base__
.base__
.base__
.IsWindowedStereoEnabled)(inner)
}
}
pub unsafe fn CreateSwapChainForHwnd(
inner: *mut c_void,
a0: *mut core::ffi::c_void,
a1: windows::Win32::Foundation::HWND,
a2: *const windows::Win32::Graphics::Dxgi::DXGI_SWAP_CHAIN_DESC1,
a3: *const windows::Win32::Graphics::Dxgi::DXGI_SWAP_CHAIN_FULLSCREEN_DESC,
a4: *mut core::ffi::c_void,
a5: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe {
((*(*(inner as *const *const windows::Win32::Graphics::Dxgi::IDXGIFactory7_Vtbl)))
.base__
.base__
.base__
.base__
.base__
.CreateSwapChainForHwnd)(inner, a0, a1, a2, a3, a4, a5)
}
}
pub unsafe fn CreateSwapChainForCoreWindow(
inner: *mut c_void,
a0: *mut core::ffi::c_void,
a1: *mut core::ffi::c_void,
a2: *const windows::Win32::Graphics::Dxgi::DXGI_SWAP_CHAIN_DESC1,
a3: *mut core::ffi::c_void,
a4: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe {
((*(*(inner as *const *const windows::Win32::Graphics::Dxgi::IDXGIFactory7_Vtbl)))
.base__
.base__
.base__
.base__
.base__
.CreateSwapChainForCoreWindow)(inner, a0, a1, a2, a3, a4)
}
}
pub unsafe fn GetSharedResourceAdapterLuid(
inner: *mut c_void,
a0: windows::Win32::Foundation::HANDLE,
a1: *mut windows::Win32::Foundation::LUID,
) -> windows::core::HRESULT {
unsafe {
((*(*(inner as *const *const windows::Win32::Graphics::Dxgi::IDXGIFactory7_Vtbl)))
.base__
.base__
.base__
.base__
.base__
.GetSharedResourceAdapterLuid)(inner, a0, a1)
}
}
pub unsafe fn RegisterStereoStatusWindow(
inner: *mut c_void,
a0: windows::Win32::Foundation::HWND,
a1: u32,
a2: *mut u32,
) -> windows::core::HRESULT {
unsafe {
((*(*(inner as *const *const windows::Win32::Graphics::Dxgi::IDXGIFactory7_Vtbl)))
.base__
.base__
.base__
.base__
.base__
.RegisterStereoStatusWindow)(inner, a0, a1, a2)
}
}
pub unsafe fn RegisterStereoStatusEvent(
inner: *mut c_void,
a0: windows::Win32::Foundation::HANDLE,
a1: *mut u32,
) -> windows::core::HRESULT {
unsafe {
((*(*(inner as *const *const windows::Win32::Graphics::Dxgi::IDXGIFactory7_Vtbl)))
.base__
.base__
.base__
.base__
.base__
.RegisterStereoStatusEvent)(inner, a0, a1)
}
}
pub unsafe fn UnregisterStereoStatus(inner: *mut c_void, a0: u32) {
unsafe {
((*(*(inner as *const *const windows::Win32::Graphics::Dxgi::IDXGIFactory7_Vtbl)))
.base__
.base__
.base__
.base__
.base__
.UnregisterStereoStatus)(inner, a0)
}
}
pub unsafe fn RegisterOcclusionStatusWindow(
inner: *mut c_void,
a0: windows::Win32::Foundation::HWND,
a1: u32,
a2: *mut u32,
) -> windows::core::HRESULT {
unsafe {
((*(*(inner as *const *const windows::Win32::Graphics::Dxgi::IDXGIFactory7_Vtbl)))
.base__
.base__
.base__
.base__
.base__
.RegisterOcclusionStatusWindow)(inner, a0, a1, a2)
}
}
pub unsafe fn RegisterOcclusionStatusEvent(
inner: *mut c_void,
a0: windows::Win32::Foundation::HANDLE,
a1: *mut u32,
) -> windows::core::HRESULT {
unsafe {
((*(*(inner as *const *const windows::Win32::Graphics::Dxgi::IDXGIFactory7_Vtbl)))
.base__
.base__
.base__
.base__
.base__
.RegisterOcclusionStatusEvent)(inner, a0, a1)
}
}
pub unsafe fn UnregisterOcclusionStatus(inner: *mut c_void, a0: u32) {
unsafe {
((*(*(inner as *const *const windows::Win32::Graphics::Dxgi::IDXGIFactory7_Vtbl)))
.base__
.base__
.base__
.base__
.base__
.UnregisterOcclusionStatus)(inner, a0)
}
}
pub unsafe fn CreateSwapChainForComposition(
inner: *mut c_void,
a0: *mut core::ffi::c_void,
a1: *const windows::Win32::Graphics::Dxgi::DXGI_SWAP_CHAIN_DESC1,
a2: *mut core::ffi::c_void,
a3: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe {
((*(*(inner as *const *const windows::Win32::Graphics::Dxgi::IDXGIFactory7_Vtbl)))
.base__
.base__
.base__
.base__
.base__
.CreateSwapChainForComposition)(inner, a0, a1, a2, a3)
}
}
pub unsafe fn GetCreationFlags(
inner: *mut c_void,
) -> windows::Win32::Graphics::Dxgi::DXGI_CREATE_FACTORY_FLAGS {
unsafe {
((*(*(inner as *const *const windows::Win32::Graphics::Dxgi::IDXGIFactory7_Vtbl)))
.base__
.base__
.base__
.base__
.GetCreationFlags)(inner)
}
}
pub unsafe fn EnumAdapterByLuid(
inner: *mut c_void,
a0: windows::Win32::Foundation::LUID,
a1: *const windows::core::GUID,
a2: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe {
((*(*(inner as *const *const windows::Win32::Graphics::Dxgi::IDXGIFactory7_Vtbl)))
.base__
.base__
.base__
.EnumAdapterByLuid)(inner, a0, a1, a2)
}
}
pub unsafe fn EnumWarpAdapter(
inner: *mut c_void,
a0: *const windows::core::GUID,
a1: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe {
((*(*(inner as *const *const windows::Win32::Graphics::Dxgi::IDXGIFactory7_Vtbl)))
.base__
.base__
.base__
.EnumWarpAdapter)(inner, a0, a1)
}
}
pub unsafe fn CheckFeatureSupport(
inner: *mut c_void,
a0: windows::Win32::Graphics::Dxgi::DXGI_FEATURE,
a1: *mut core::ffi::c_void,
a2: u32,
) -> windows::core::HRESULT {
unsafe {
((*(*(inner as *const *const windows::Win32::Graphics::Dxgi::IDXGIFactory7_Vtbl)))
.base__
.base__
.CheckFeatureSupport)(inner, a0, a1, a2)
}
}
pub unsafe fn EnumAdapterByGpuPreference(
inner: *mut c_void,
a0: u32,
a1: windows::Win32::Graphics::Dxgi::DXGI_GPU_PREFERENCE,
a2: *const windows::core::GUID,
a3: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe {
((*(*(inner as *const *const windows::Win32::Graphics::Dxgi::IDXGIFactory7_Vtbl)))
.base__
.EnumAdapterByGpuPreference)(inner, a0, a1, a2, a3)
}
}
pub unsafe fn RegisterAdaptersChangedEvent(
inner: *mut c_void,
a0: windows::Win32::Foundation::HANDLE,
a1: *mut u32,
) -> windows::core::HRESULT {
unsafe {
((*(*(inner as *const *const windows::Win32::Graphics::Dxgi::IDXGIFactory7_Vtbl)))
.RegisterAdaptersChangedEvent)(inner, a0, a1)
}
}
pub unsafe fn UnregisterAdaptersChangedEvent(inner: *mut c_void, a0: u32) -> windows::core::HRESULT {
unsafe {
((*(*(inner as *const *const windows::Win32::Graphics::Dxgi::IDXGIFactory7_Vtbl)))
.UnregisterAdaptersChangedEvent)(inner, a0)
}
}
}
unsafe extern "system" fn QueryInterface<T: FactoryMethods>(
this: *mut c_void,
iid: *const windows::core::GUID,
out: *mut *mut c_void,
) -> windows::core::HRESULT {
unsafe { (*(this as *const T)).QueryInterface(iid, out) }
}
unsafe extern "system" fn AddRef<T: FactoryMethods>(this: *mut c_void) -> u32 {
unsafe { (*(this as *const T)).AddRef() }
}
unsafe extern "system" fn Release<T: FactoryMethods>(this: *mut c_void) -> u32 {
unsafe { (*(this as *const T)).Release() }
}
unsafe extern "system" fn SetPrivateData<T: FactoryMethods>(
this: *mut c_void,
a0: *const windows::core::GUID,
a1: u32,
a2: *const core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe { (*(this as *const T)).SetPrivateData(a0, a1, a2) }
}
unsafe extern "system" fn SetPrivateDataInterface<T: FactoryMethods>(
this: *mut c_void,
a0: *const windows::core::GUID,
a1: *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe { (*(this as *const T)).SetPrivateDataInterface(a0, a1) }
}
unsafe extern "system" fn GetPrivateData<T: FactoryMethods>(
this: *mut c_void,
a0: *const windows::core::GUID,
a1: *mut u32,
a2: *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe { (*(this as *const T)).GetPrivateData(a0, a1, a2) }
}
unsafe extern "system" fn GetParent<T: FactoryMethods>(
this: *mut c_void,
a0: *const windows::core::GUID,
a1: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe { (*(this as *const T)).GetParent(a0, a1) }
}
unsafe extern "system" fn EnumAdapters<T: FactoryMethods>(
this: *mut c_void,
a0: u32,
a1: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe { (*(this as *const T)).EnumAdapters(a0, a1) }
}
unsafe extern "system" fn MakeWindowAssociation<T: FactoryMethods>(
this: *mut c_void,
a0: windows::Win32::Foundation::HWND,
a1: windows::Win32::Graphics::Dxgi::DXGI_MWA_FLAGS,
) -> windows::core::HRESULT {
unsafe { (*(this as *const T)).MakeWindowAssociation(a0, a1) }
}
unsafe extern "system" fn GetWindowAssociation<T: FactoryMethods>(
this: *mut c_void,
a0: *mut windows::Win32::Foundation::HWND,
) -> windows::core::HRESULT {
unsafe { (*(this as *const T)).GetWindowAssociation(a0) }
}
unsafe extern "system" fn CreateSwapChain<T: FactoryMethods>(
this: *mut c_void,
a0: *mut core::ffi::c_void,
a1: *const windows::Win32::Graphics::Dxgi::DXGI_SWAP_CHAIN_DESC,
a2: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe { (*(this as *const T)).CreateSwapChain(a0, a1, a2) }
}
unsafe extern "system" fn CreateSoftwareAdapter<T: FactoryMethods>(
this: *mut c_void,
a0: windows::Win32::Foundation::HMODULE,
a1: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe { (*(this as *const T)).CreateSoftwareAdapter(a0, a1) }
}
unsafe extern "system" fn EnumAdapters1<T: FactoryMethods>(
this: *mut c_void,
a0: u32,
a1: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe { (*(this as *const T)).EnumAdapters1(a0, a1) }
}
unsafe extern "system" fn IsCurrent<T: FactoryMethods>(this: *mut c_void) -> windows::core::BOOL {
unsafe { (*(this as *const T)).IsCurrent() }
}
unsafe extern "system" fn IsWindowedStereoEnabled<T: FactoryMethods>(
this: *mut c_void,
) -> windows::core::BOOL {
unsafe { (*(this as *const T)).IsWindowedStereoEnabled() }
}
unsafe extern "system" fn CreateSwapChainForHwnd<T: FactoryMethods>(
this: *mut c_void,
a0: *mut core::ffi::c_void,
a1: windows::Win32::Foundation::HWND,
a2: *const windows::Win32::Graphics::Dxgi::DXGI_SWAP_CHAIN_DESC1,
a3: *const windows::Win32::Graphics::Dxgi::DXGI_SWAP_CHAIN_FULLSCREEN_DESC,
a4: *mut core::ffi::c_void,
a5: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe { (*(this as *const T)).CreateSwapChainForHwnd(a0, a1, a2, a3, a4, a5) }
}
unsafe extern "system" fn CreateSwapChainForCoreWindow<T: FactoryMethods>(
this: *mut c_void,
a0: *mut core::ffi::c_void,
a1: *mut core::ffi::c_void,
a2: *const windows::Win32::Graphics::Dxgi::DXGI_SWAP_CHAIN_DESC1,
a3: *mut core::ffi::c_void,
a4: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe { (*(this as *const T)).CreateSwapChainForCoreWindow(a0, a1, a2, a3, a4) }
}
unsafe extern "system" fn GetSharedResourceAdapterLuid<T: FactoryMethods>(
this: *mut c_void,
a0: windows::Win32::Foundation::HANDLE,
a1: *mut windows::Win32::Foundation::LUID,
) -> windows::core::HRESULT {
unsafe { (*(this as *const T)).GetSharedResourceAdapterLuid(a0, a1) }
}
unsafe extern "system" fn RegisterStereoStatusWindow<T: FactoryMethods>(
this: *mut c_void,
a0: windows::Win32::Foundation::HWND,
a1: u32,
a2: *mut u32,
) -> windows::core::HRESULT {
unsafe { (*(this as *const T)).RegisterStereoStatusWindow(a0, a1, a2) }
}
unsafe extern "system" fn RegisterStereoStatusEvent<T: FactoryMethods>(
this: *mut c_void,
a0: windows::Win32::Foundation::HANDLE,
a1: *mut u32,
) -> windows::core::HRESULT {
unsafe { (*(this as *const T)).RegisterStereoStatusEvent(a0, a1) }
}
unsafe extern "system" fn UnregisterStereoStatus<T: FactoryMethods>(this: *mut c_void, a0: u32) {
unsafe { (*(this as *const T)).UnregisterStereoStatus(a0) }
}
unsafe extern "system" fn RegisterOcclusionStatusWindow<T: FactoryMethods>(
this: *mut c_void,
a0: windows::Win32::Foundation::HWND,
a1: u32,
a2: *mut u32,
) -> windows::core::HRESULT {
unsafe { (*(this as *const T)).RegisterOcclusionStatusWindow(a0, a1, a2) }
}
unsafe extern "system" fn RegisterOcclusionStatusEvent<T: FactoryMethods>(
this: *mut c_void,
a0: windows::Win32::Foundation::HANDLE,
a1: *mut u32,
) -> windows::core::HRESULT {
unsafe { (*(this as *const T)).RegisterOcclusionStatusEvent(a0, a1) }
}
unsafe extern "system" fn UnregisterOcclusionStatus<T: FactoryMethods>(this: *mut c_void, a0: u32) {
unsafe { (*(this as *const T)).UnregisterOcclusionStatus(a0) }
}
unsafe extern "system" fn CreateSwapChainForComposition<T: FactoryMethods>(
this: *mut c_void,
a0: *mut core::ffi::c_void,
a1: *const windows::Win32::Graphics::Dxgi::DXGI_SWAP_CHAIN_DESC1,
a2: *mut core::ffi::c_void,
a3: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe { (*(this as *const T)).CreateSwapChainForComposition(a0, a1, a2, a3) }
}
unsafe extern "system" fn GetCreationFlags<T: FactoryMethods>(
this: *mut c_void,
) -> windows::Win32::Graphics::Dxgi::DXGI_CREATE_FACTORY_FLAGS {
unsafe { (*(this as *const T)).GetCreationFlags() }
}
unsafe extern "system" fn EnumAdapterByLuid<T: FactoryMethods>(
this: *mut c_void,
a0: windows::Win32::Foundation::LUID,
a1: *const windows::core::GUID,
a2: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe { (*(this as *const T)).EnumAdapterByLuid(a0, a1, a2) }
}
unsafe extern "system" fn EnumWarpAdapter<T: FactoryMethods>(
this: *mut c_void,
a0: *const windows::core::GUID,
a1: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe { (*(this as *const T)).EnumWarpAdapter(a0, a1) }
}
unsafe extern "system" fn CheckFeatureSupport<T: FactoryMethods>(
this: *mut c_void,
a0: windows::Win32::Graphics::Dxgi::DXGI_FEATURE,
a1: *mut core::ffi::c_void,
a2: u32,
) -> windows::core::HRESULT {
unsafe { (*(this as *const T)).CheckFeatureSupport(a0, a1, a2) }
}
unsafe extern "system" fn EnumAdapterByGpuPreference<T: FactoryMethods>(
this: *mut c_void,
a0: u32,
a1: windows::Win32::Graphics::Dxgi::DXGI_GPU_PREFERENCE,
a2: *const windows::core::GUID,
a3: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe { (*(this as *const T)).EnumAdapterByGpuPreference(a0, a1, a2, a3) }
}
unsafe extern "system" fn RegisterAdaptersChangedEvent<T: FactoryMethods>(
this: *mut c_void,
a0: windows::Win32::Foundation::HANDLE,
a1: *mut u32,
) -> windows::core::HRESULT {
unsafe { (*(this as *const T)).RegisterAdaptersChangedEvent(a0, a1) }
}
unsafe extern "system" fn UnregisterAdaptersChangedEvent<T: FactoryMethods>(
this: *mut c_void,
a0: u32,
) -> windows::core::HRESULT {
unsafe { (*(this as *const T)).UnregisterAdaptersChangedEvent(a0) }
}
pub const fn vtable<T: FactoryMethods>() -> windows::Win32::Graphics::Dxgi::IDXGIFactory7_Vtbl {
windows::Win32::Graphics::Dxgi::IDXGIFactory7_Vtbl {
base__: windows::Win32::Graphics::Dxgi::IDXGIFactory6_Vtbl {
base__: windows::Win32::Graphics::Dxgi::IDXGIFactory5_Vtbl {
base__: windows::Win32::Graphics::Dxgi::IDXGIFactory4_Vtbl {
base__: windows::Win32::Graphics::Dxgi::IDXGIFactory3_Vtbl {
base__: windows::Win32::Graphics::Dxgi::IDXGIFactory2_Vtbl {
base__: windows::Win32::Graphics::Dxgi::IDXGIFactory1_Vtbl {
base__: windows::Win32::Graphics::Dxgi::IDXGIFactory_Vtbl {
base__: windows::Win32::Graphics::Dxgi::IDXGIObject_Vtbl {
base__: windows::core::IUnknown_Vtbl {
QueryInterface: QueryInterface::<T>,
AddRef: AddRef::<T>,
Release: Release::<T>,
},
SetPrivateData: SetPrivateData::<T>,
SetPrivateDataInterface: SetPrivateDataInterface::<T>,
GetPrivateData: GetPrivateData::<T>,
GetParent: GetParent::<T>,
},
EnumAdapters: EnumAdapters::<T>,
MakeWindowAssociation: MakeWindowAssociation::<T>,
GetWindowAssociation: GetWindowAssociation::<T>,
CreateSwapChain: CreateSwapChain::<T>,
CreateSoftwareAdapter: CreateSoftwareAdapter::<T>,
},
EnumAdapters1: EnumAdapters1::<T>,
IsCurrent: IsCurrent::<T>,
},
IsWindowedStereoEnabled: IsWindowedStereoEnabled::<T>,
CreateSwapChainForHwnd: CreateSwapChainForHwnd::<T>,
CreateSwapChainForCoreWindow: CreateSwapChainForCoreWindow::<T>,
GetSharedResourceAdapterLuid: GetSharedResourceAdapterLuid::<T>,
RegisterStereoStatusWindow: RegisterStereoStatusWindow::<T>,
RegisterStereoStatusEvent: RegisterStereoStatusEvent::<T>,
UnregisterStereoStatus: UnregisterStereoStatus::<T>,
RegisterOcclusionStatusWindow: RegisterOcclusionStatusWindow::<T>,
RegisterOcclusionStatusEvent: RegisterOcclusionStatusEvent::<T>,
UnregisterOcclusionStatus: UnregisterOcclusionStatus::<T>,
CreateSwapChainForComposition: CreateSwapChainForComposition::<T>,
},
GetCreationFlags: GetCreationFlags::<T>,
},
EnumAdapterByLuid: EnumAdapterByLuid::<T>,
EnumWarpAdapter: EnumWarpAdapter::<T>,
},
CheckFeatureSupport: CheckFeatureSupport::<T>,
},
EnumAdapterByGpuPreference: EnumAdapterByGpuPreference::<T>,
},
RegisterAdaptersChangedEvent: RegisterAdaptersChangedEvent::<T>,
UnregisterAdaptersChangedEvent: UnregisterAdaptersChangedEvent::<T>,
}
}