winsafe\dxgi/
funcs.rs

1#![allow(non_snake_case)]
2
3use crate::decl::*;
4use crate::dxgi::ffi;
5use crate::kernel::privs::*;
6use crate::ole::privs::*;
7use crate::prelude::*;
8
9/// [`CreateDXGIFactory`](https://learn.microsoft.com/en-us/windows/win32/api/dxgi/nf-dxgi-createdxgifactory)
10/// function.
11#[must_use]
12pub fn CreateDXGIFactory() -> HrResult<IDXGIFactory> {
13	let mut queried = unsafe { IDXGIFactory::null() };
14	ok_to_hrresult(unsafe { ffi::CreateDXGIFactory(pcvoid(&IDXGIFactory::IID), queried.as_mut()) })
15		.map(|_| queried)
16}
17
18/// [`CreateDXGIFactory1`](https://learn.microsoft.com/en-us/windows/win32/api/dxgi/nf-dxgi-createdxgifactory1)
19/// function.
20#[must_use]
21pub fn CreateDXGIFactory1() -> HrResult<IDXGIFactory1> {
22	let mut queried = unsafe { IDXGIFactory1::null() };
23	ok_to_hrresult(unsafe {
24		ffi::CreateDXGIFactory1(pcvoid(&IDXGIFactory1::IID), queried.as_mut())
25	})
26	.map(|_| queried)
27}