1 #![allow(unused_variables, non_upper_case_globals, non_snake_case, unused_unsafe, non_camel_case_types, dead_code, clippy::all)]
2 #[inline]
CreateDXGIFactory<T: ::windows::runtime::Interface>() -> ::windows::runtime::Result<T>3 pub unsafe fn CreateDXGIFactory<T: ::windows::runtime::Interface>() -> ::windows::runtime::Result<T> {
4 #[cfg(windows)]
5 {
6 #[link(name = "windows")]
7 extern "system" {
8 fn CreateDXGIFactory(riid: *const ::windows::runtime::GUID, ppfactory: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT;
9 }
10 let mut result__ = ::std::option::Option::None;
11 CreateDXGIFactory(&<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
12 }
13 #[cfg(not(windows))]
14 unimplemented!("Unsupported target OS");
15 }
16 #[inline]
CreateDXGIFactory1<T: ::windows::runtime::Interface>() -> ::windows::runtime::Result<T>17 pub unsafe fn CreateDXGIFactory1<T: ::windows::runtime::Interface>() -> ::windows::runtime::Result<T> {
18 #[cfg(windows)]
19 {
20 #[link(name = "windows")]
21 extern "system" {
22 fn CreateDXGIFactory1(riid: *const ::windows::runtime::GUID, ppfactory: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT;
23 }
24 let mut result__ = ::std::option::Option::None;
25 CreateDXGIFactory1(&<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
26 }
27 #[cfg(not(windows))]
28 unimplemented!("Unsupported target OS");
29 }
30 #[inline]
CreateDXGIFactory2<T: ::windows::runtime::Interface>(flags: u32) -> ::windows::runtime::Result<T>31 pub unsafe fn CreateDXGIFactory2<T: ::windows::runtime::Interface>(flags: u32) -> ::windows::runtime::Result<T> {
32 #[cfg(windows)]
33 {
34 #[link(name = "windows")]
35 extern "system" {
36 fn CreateDXGIFactory2(flags: u32, riid: *const ::windows::runtime::GUID, ppfactory: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT;
37 }
38 let mut result__ = ::std::option::Option::None;
39 CreateDXGIFactory2(::std::mem::transmute(flags), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
40 }
41 #[cfg(not(windows))]
42 unimplemented!("Unsupported target OS");
43 }
44 #[inline]
DXGIDeclareAdapterRemovalSupport() -> ::windows::runtime::Result<()>45 pub unsafe fn DXGIDeclareAdapterRemovalSupport() -> ::windows::runtime::Result<()> {
46 #[cfg(windows)]
47 {
48 #[link(name = "windows")]
49 extern "system" {
50 fn DXGIDeclareAdapterRemovalSupport() -> ::windows::runtime::HRESULT;
51 }
52 DXGIDeclareAdapterRemovalSupport().ok()
53 }
54 #[cfg(not(windows))]
55 unimplemented!("Unsupported target OS");
56 }
57 #[inline]
DXGIGetDebugInterface1<T: ::windows::runtime::Interface>(flags: u32) -> ::windows::runtime::Result<T>58 pub unsafe fn DXGIGetDebugInterface1<T: ::windows::runtime::Interface>(flags: u32) -> ::windows::runtime::Result<T> {
59 #[cfg(windows)]
60 {
61 #[link(name = "windows")]
62 extern "system" {
63 fn DXGIGetDebugInterface1(flags: u32, riid: *const ::windows::runtime::GUID, pdebug: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT;
64 }
65 let mut result__ = ::std::option::Option::None;
66 DXGIGetDebugInterface1(::std::mem::transmute(flags), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
67 }
68 #[cfg(not(windows))]
69 unimplemented!("Unsupported target OS");
70 }
71 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
72 #[repr(C)]
73 #[cfg(feature = "Win32_Foundation")]
74 pub struct DXGI_ADAPTER_DESC {
75 pub Description: [u16; 128],
76 pub VendorId: u32,
77 pub DeviceId: u32,
78 pub SubSysId: u32,
79 pub Revision: u32,
80 pub DedicatedVideoMemory: usize,
81 pub DedicatedSystemMemory: usize,
82 pub SharedSystemMemory: usize,
83 pub AdapterLuid: super::super::Foundation::LUID,
84 }
85 #[cfg(feature = "Win32_Foundation")]
86 impl DXGI_ADAPTER_DESC {}
87 #[cfg(feature = "Win32_Foundation")]
88 impl ::std::default::Default for DXGI_ADAPTER_DESC {
default() -> Self89 fn default() -> Self {
90 unsafe { ::std::mem::zeroed() }
91 }
92 }
93 #[cfg(feature = "Win32_Foundation")]
94 impl ::std::fmt::Debug for DXGI_ADAPTER_DESC {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result95 fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
96 fmt.debug_struct("DXGI_ADAPTER_DESC")
97 .field("Description", &self.Description)
98 .field("VendorId", &self.VendorId)
99 .field("DeviceId", &self.DeviceId)
100 .field("SubSysId", &self.SubSysId)
101 .field("Revision", &self.Revision)
102 .field("DedicatedVideoMemory", &self.DedicatedVideoMemory)
103 .field("DedicatedSystemMemory", &self.DedicatedSystemMemory)
104 .field("SharedSystemMemory", &self.SharedSystemMemory)
105 .field("AdapterLuid", &self.AdapterLuid)
106 .finish()
107 }
108 }
109 #[cfg(feature = "Win32_Foundation")]
110 impl ::std::cmp::PartialEq for DXGI_ADAPTER_DESC {
eq(&self, other: &Self) -> bool111 fn eq(&self, other: &Self) -> bool {
112 self.Description == other.Description && self.VendorId == other.VendorId && self.DeviceId == other.DeviceId && self.SubSysId == other.SubSysId && self.Revision == other.Revision && self.DedicatedVideoMemory == other.DedicatedVideoMemory && self.DedicatedSystemMemory == other.DedicatedSystemMemory && self.SharedSystemMemory == other.SharedSystemMemory && self.AdapterLuid == other.AdapterLuid
113 }
114 }
115 #[cfg(feature = "Win32_Foundation")]
116 impl ::std::cmp::Eq for DXGI_ADAPTER_DESC {}
117 #[cfg(feature = "Win32_Foundation")]
118 unsafe impl ::windows::runtime::Abi for DXGI_ADAPTER_DESC {
119 type Abi = Self;
120 type DefaultType = Self;
121 }
122 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
123 #[repr(C)]
124 #[cfg(feature = "Win32_Foundation")]
125 pub struct DXGI_ADAPTER_DESC1 {
126 pub Description: [u16; 128],
127 pub VendorId: u32,
128 pub DeviceId: u32,
129 pub SubSysId: u32,
130 pub Revision: u32,
131 pub DedicatedVideoMemory: usize,
132 pub DedicatedSystemMemory: usize,
133 pub SharedSystemMemory: usize,
134 pub AdapterLuid: super::super::Foundation::LUID,
135 pub Flags: u32,
136 }
137 #[cfg(feature = "Win32_Foundation")]
138 impl DXGI_ADAPTER_DESC1 {}
139 #[cfg(feature = "Win32_Foundation")]
140 impl ::std::default::Default for DXGI_ADAPTER_DESC1 {
default() -> Self141 fn default() -> Self {
142 unsafe { ::std::mem::zeroed() }
143 }
144 }
145 #[cfg(feature = "Win32_Foundation")]
146 impl ::std::fmt::Debug for DXGI_ADAPTER_DESC1 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result147 fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
148 fmt.debug_struct("DXGI_ADAPTER_DESC1")
149 .field("Description", &self.Description)
150 .field("VendorId", &self.VendorId)
151 .field("DeviceId", &self.DeviceId)
152 .field("SubSysId", &self.SubSysId)
153 .field("Revision", &self.Revision)
154 .field("DedicatedVideoMemory", &self.DedicatedVideoMemory)
155 .field("DedicatedSystemMemory", &self.DedicatedSystemMemory)
156 .field("SharedSystemMemory", &self.SharedSystemMemory)
157 .field("AdapterLuid", &self.AdapterLuid)
158 .field("Flags", &self.Flags)
159 .finish()
160 }
161 }
162 #[cfg(feature = "Win32_Foundation")]
163 impl ::std::cmp::PartialEq for DXGI_ADAPTER_DESC1 {
eq(&self, other: &Self) -> bool164 fn eq(&self, other: &Self) -> bool {
165 self.Description == other.Description && self.VendorId == other.VendorId && self.DeviceId == other.DeviceId && self.SubSysId == other.SubSysId && self.Revision == other.Revision && self.DedicatedVideoMemory == other.DedicatedVideoMemory && self.DedicatedSystemMemory == other.DedicatedSystemMemory && self.SharedSystemMemory == other.SharedSystemMemory && self.AdapterLuid == other.AdapterLuid && self.Flags == other.Flags
166 }
167 }
168 #[cfg(feature = "Win32_Foundation")]
169 impl ::std::cmp::Eq for DXGI_ADAPTER_DESC1 {}
170 #[cfg(feature = "Win32_Foundation")]
171 unsafe impl ::windows::runtime::Abi for DXGI_ADAPTER_DESC1 {
172 type Abi = Self;
173 type DefaultType = Self;
174 }
175 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
176 #[repr(C)]
177 #[cfg(feature = "Win32_Foundation")]
178 pub struct DXGI_ADAPTER_DESC2 {
179 pub Description: [u16; 128],
180 pub VendorId: u32,
181 pub DeviceId: u32,
182 pub SubSysId: u32,
183 pub Revision: u32,
184 pub DedicatedVideoMemory: usize,
185 pub DedicatedSystemMemory: usize,
186 pub SharedSystemMemory: usize,
187 pub AdapterLuid: super::super::Foundation::LUID,
188 pub Flags: u32,
189 pub GraphicsPreemptionGranularity: DXGI_GRAPHICS_PREEMPTION_GRANULARITY,
190 pub ComputePreemptionGranularity: DXGI_COMPUTE_PREEMPTION_GRANULARITY,
191 }
192 #[cfg(feature = "Win32_Foundation")]
193 impl DXGI_ADAPTER_DESC2 {}
194 #[cfg(feature = "Win32_Foundation")]
195 impl ::std::default::Default for DXGI_ADAPTER_DESC2 {
default() -> Self196 fn default() -> Self {
197 unsafe { ::std::mem::zeroed() }
198 }
199 }
200 #[cfg(feature = "Win32_Foundation")]
201 impl ::std::fmt::Debug for DXGI_ADAPTER_DESC2 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result202 fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
203 fmt.debug_struct("DXGI_ADAPTER_DESC2")
204 .field("Description", &self.Description)
205 .field("VendorId", &self.VendorId)
206 .field("DeviceId", &self.DeviceId)
207 .field("SubSysId", &self.SubSysId)
208 .field("Revision", &self.Revision)
209 .field("DedicatedVideoMemory", &self.DedicatedVideoMemory)
210 .field("DedicatedSystemMemory", &self.DedicatedSystemMemory)
211 .field("SharedSystemMemory", &self.SharedSystemMemory)
212 .field("AdapterLuid", &self.AdapterLuid)
213 .field("Flags", &self.Flags)
214 .field("GraphicsPreemptionGranularity", &self.GraphicsPreemptionGranularity)
215 .field("ComputePreemptionGranularity", &self.ComputePreemptionGranularity)
216 .finish()
217 }
218 }
219 #[cfg(feature = "Win32_Foundation")]
220 impl ::std::cmp::PartialEq for DXGI_ADAPTER_DESC2 {
eq(&self, other: &Self) -> bool221 fn eq(&self, other: &Self) -> bool {
222 self.Description == other.Description
223 && self.VendorId == other.VendorId
224 && self.DeviceId == other.DeviceId
225 && self.SubSysId == other.SubSysId
226 && self.Revision == other.Revision
227 && self.DedicatedVideoMemory == other.DedicatedVideoMemory
228 && self.DedicatedSystemMemory == other.DedicatedSystemMemory
229 && self.SharedSystemMemory == other.SharedSystemMemory
230 && self.AdapterLuid == other.AdapterLuid
231 && self.Flags == other.Flags
232 && self.GraphicsPreemptionGranularity == other.GraphicsPreemptionGranularity
233 && self.ComputePreemptionGranularity == other.ComputePreemptionGranularity
234 }
235 }
236 #[cfg(feature = "Win32_Foundation")]
237 impl ::std::cmp::Eq for DXGI_ADAPTER_DESC2 {}
238 #[cfg(feature = "Win32_Foundation")]
239 unsafe impl ::windows::runtime::Abi for DXGI_ADAPTER_DESC2 {
240 type Abi = Self;
241 type DefaultType = Self;
242 }
243 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
244 #[repr(C)]
245 #[cfg(feature = "Win32_Foundation")]
246 pub struct DXGI_ADAPTER_DESC3 {
247 pub Description: [u16; 128],
248 pub VendorId: u32,
249 pub DeviceId: u32,
250 pub SubSysId: u32,
251 pub Revision: u32,
252 pub DedicatedVideoMemory: usize,
253 pub DedicatedSystemMemory: usize,
254 pub SharedSystemMemory: usize,
255 pub AdapterLuid: super::super::Foundation::LUID,
256 pub Flags: DXGI_ADAPTER_FLAG3,
257 pub GraphicsPreemptionGranularity: DXGI_GRAPHICS_PREEMPTION_GRANULARITY,
258 pub ComputePreemptionGranularity: DXGI_COMPUTE_PREEMPTION_GRANULARITY,
259 }
260 #[cfg(feature = "Win32_Foundation")]
261 impl DXGI_ADAPTER_DESC3 {}
262 #[cfg(feature = "Win32_Foundation")]
263 impl ::std::default::Default for DXGI_ADAPTER_DESC3 {
default() -> Self264 fn default() -> Self {
265 unsafe { ::std::mem::zeroed() }
266 }
267 }
268 #[cfg(feature = "Win32_Foundation")]
269 impl ::std::fmt::Debug for DXGI_ADAPTER_DESC3 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result270 fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
271 fmt.debug_struct("DXGI_ADAPTER_DESC3")
272 .field("Description", &self.Description)
273 .field("VendorId", &self.VendorId)
274 .field("DeviceId", &self.DeviceId)
275 .field("SubSysId", &self.SubSysId)
276 .field("Revision", &self.Revision)
277 .field("DedicatedVideoMemory", &self.DedicatedVideoMemory)
278 .field("DedicatedSystemMemory", &self.DedicatedSystemMemory)
279 .field("SharedSystemMemory", &self.SharedSystemMemory)
280 .field("AdapterLuid", &self.AdapterLuid)
281 .field("Flags", &self.Flags)
282 .field("GraphicsPreemptionGranularity", &self.GraphicsPreemptionGranularity)
283 .field("ComputePreemptionGranularity", &self.ComputePreemptionGranularity)
284 .finish()
285 }
286 }
287 #[cfg(feature = "Win32_Foundation")]
288 impl ::std::cmp::PartialEq for DXGI_ADAPTER_DESC3 {
eq(&self, other: &Self) -> bool289 fn eq(&self, other: &Self) -> bool {
290 self.Description == other.Description
291 && self.VendorId == other.VendorId
292 && self.DeviceId == other.DeviceId
293 && self.SubSysId == other.SubSysId
294 && self.Revision == other.Revision
295 && self.DedicatedVideoMemory == other.DedicatedVideoMemory
296 && self.DedicatedSystemMemory == other.DedicatedSystemMemory
297 && self.SharedSystemMemory == other.SharedSystemMemory
298 && self.AdapterLuid == other.AdapterLuid
299 && self.Flags == other.Flags
300 && self.GraphicsPreemptionGranularity == other.GraphicsPreemptionGranularity
301 && self.ComputePreemptionGranularity == other.ComputePreemptionGranularity
302 }
303 }
304 #[cfg(feature = "Win32_Foundation")]
305 impl ::std::cmp::Eq for DXGI_ADAPTER_DESC3 {}
306 #[cfg(feature = "Win32_Foundation")]
307 unsafe impl ::windows::runtime::Abi for DXGI_ADAPTER_DESC3 {
308 type Abi = Self;
309 type DefaultType = Self;
310 }
311 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
312 #[repr(transparent)]
313 pub struct DXGI_ADAPTER_FLAG(pub u32);
314 pub const DXGI_ADAPTER_FLAG_NONE: DXGI_ADAPTER_FLAG = DXGI_ADAPTER_FLAG(0u32);
315 pub const DXGI_ADAPTER_FLAG_REMOTE: DXGI_ADAPTER_FLAG = DXGI_ADAPTER_FLAG(1u32);
316 pub const DXGI_ADAPTER_FLAG_SOFTWARE: DXGI_ADAPTER_FLAG = DXGI_ADAPTER_FLAG(2u32);
317 impl ::std::convert::From<u32> for DXGI_ADAPTER_FLAG {
from(value: u32) -> Self318 fn from(value: u32) -> Self {
319 Self(value)
320 }
321 }
322 unsafe impl ::windows::runtime::Abi for DXGI_ADAPTER_FLAG {
323 type Abi = Self;
324 type DefaultType = Self;
325 }
326 impl ::std::ops::BitOr for DXGI_ADAPTER_FLAG {
327 type Output = Self;
bitor(self, rhs: Self) -> Self328 fn bitor(self, rhs: Self) -> Self {
329 Self(self.0 | rhs.0)
330 }
331 }
332 impl ::std::ops::BitAnd for DXGI_ADAPTER_FLAG {
333 type Output = Self;
bitand(self, rhs: Self) -> Self334 fn bitand(self, rhs: Self) -> Self {
335 Self(self.0 & rhs.0)
336 }
337 }
338 impl ::std::ops::BitOrAssign for DXGI_ADAPTER_FLAG {
bitor_assign(&mut self, rhs: Self)339 fn bitor_assign(&mut self, rhs: Self) {
340 self.0.bitor_assign(rhs.0)
341 }
342 }
343 impl ::std::ops::BitAndAssign for DXGI_ADAPTER_FLAG {
bitand_assign(&mut self, rhs: Self)344 fn bitand_assign(&mut self, rhs: Self) {
345 self.0.bitand_assign(rhs.0)
346 }
347 }
348 impl ::std::ops::Not for DXGI_ADAPTER_FLAG {
349 type Output = Self;
not(self) -> Self350 fn not(self) -> Self {
351 Self(self.0.not())
352 }
353 }
354 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
355 #[repr(transparent)]
356 pub struct DXGI_ADAPTER_FLAG3(pub u32);
357 pub const DXGI_ADAPTER_FLAG3_NONE: DXGI_ADAPTER_FLAG3 = DXGI_ADAPTER_FLAG3(0u32);
358 pub const DXGI_ADAPTER_FLAG3_REMOTE: DXGI_ADAPTER_FLAG3 = DXGI_ADAPTER_FLAG3(1u32);
359 pub const DXGI_ADAPTER_FLAG3_SOFTWARE: DXGI_ADAPTER_FLAG3 = DXGI_ADAPTER_FLAG3(2u32);
360 pub const DXGI_ADAPTER_FLAG3_ACG_COMPATIBLE: DXGI_ADAPTER_FLAG3 = DXGI_ADAPTER_FLAG3(4u32);
361 pub const DXGI_ADAPTER_FLAG3_SUPPORT_MONITORED_FENCES: DXGI_ADAPTER_FLAG3 = DXGI_ADAPTER_FLAG3(8u32);
362 pub const DXGI_ADAPTER_FLAG3_SUPPORT_NON_MONITORED_FENCES: DXGI_ADAPTER_FLAG3 = DXGI_ADAPTER_FLAG3(16u32);
363 pub const DXGI_ADAPTER_FLAG3_KEYED_MUTEX_CONFORMANCE: DXGI_ADAPTER_FLAG3 = DXGI_ADAPTER_FLAG3(32u32);
364 pub const DXGI_ADAPTER_FLAG3_FORCE_DWORD: DXGI_ADAPTER_FLAG3 = DXGI_ADAPTER_FLAG3(4294967295u32);
365 impl ::std::convert::From<u32> for DXGI_ADAPTER_FLAG3 {
from(value: u32) -> Self366 fn from(value: u32) -> Self {
367 Self(value)
368 }
369 }
370 unsafe impl ::windows::runtime::Abi for DXGI_ADAPTER_FLAG3 {
371 type Abi = Self;
372 type DefaultType = Self;
373 }
374 impl ::std::ops::BitOr for DXGI_ADAPTER_FLAG3 {
375 type Output = Self;
bitor(self, rhs: Self) -> Self376 fn bitor(self, rhs: Self) -> Self {
377 Self(self.0 | rhs.0)
378 }
379 }
380 impl ::std::ops::BitAnd for DXGI_ADAPTER_FLAG3 {
381 type Output = Self;
bitand(self, rhs: Self) -> Self382 fn bitand(self, rhs: Self) -> Self {
383 Self(self.0 & rhs.0)
384 }
385 }
386 impl ::std::ops::BitOrAssign for DXGI_ADAPTER_FLAG3 {
bitor_assign(&mut self, rhs: Self)387 fn bitor_assign(&mut self, rhs: Self) {
388 self.0.bitor_assign(rhs.0)
389 }
390 }
391 impl ::std::ops::BitAndAssign for DXGI_ADAPTER_FLAG3 {
bitand_assign(&mut self, rhs: Self)392 fn bitand_assign(&mut self, rhs: Self) {
393 self.0.bitand_assign(rhs.0)
394 }
395 }
396 impl ::std::ops::Not for DXGI_ADAPTER_FLAG3 {
397 type Output = Self;
not(self) -> Self398 fn not(self) -> Self {
399 Self(self.0.not())
400 }
401 }
402 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
403 #[repr(transparent)]
404 pub struct DXGI_ALPHA_MODE(pub u32);
405 pub const DXGI_ALPHA_MODE_UNSPECIFIED: DXGI_ALPHA_MODE = DXGI_ALPHA_MODE(0u32);
406 pub const DXGI_ALPHA_MODE_PREMULTIPLIED: DXGI_ALPHA_MODE = DXGI_ALPHA_MODE(1u32);
407 pub const DXGI_ALPHA_MODE_STRAIGHT: DXGI_ALPHA_MODE = DXGI_ALPHA_MODE(2u32);
408 pub const DXGI_ALPHA_MODE_IGNORE: DXGI_ALPHA_MODE = DXGI_ALPHA_MODE(3u32);
409 pub const DXGI_ALPHA_MODE_FORCE_DWORD: DXGI_ALPHA_MODE = DXGI_ALPHA_MODE(4294967295u32);
410 impl ::std::convert::From<u32> for DXGI_ALPHA_MODE {
from(value: u32) -> Self411 fn from(value: u32) -> Self {
412 Self(value)
413 }
414 }
415 unsafe impl ::windows::runtime::Abi for DXGI_ALPHA_MODE {
416 type Abi = Self;
417 type DefaultType = Self;
418 }
419 impl ::std::ops::BitOr for DXGI_ALPHA_MODE {
420 type Output = Self;
bitor(self, rhs: Self) -> Self421 fn bitor(self, rhs: Self) -> Self {
422 Self(self.0 | rhs.0)
423 }
424 }
425 impl ::std::ops::BitAnd for DXGI_ALPHA_MODE {
426 type Output = Self;
bitand(self, rhs: Self) -> Self427 fn bitand(self, rhs: Self) -> Self {
428 Self(self.0 & rhs.0)
429 }
430 }
431 impl ::std::ops::BitOrAssign for DXGI_ALPHA_MODE {
bitor_assign(&mut self, rhs: Self)432 fn bitor_assign(&mut self, rhs: Self) {
433 self.0.bitor_assign(rhs.0)
434 }
435 }
436 impl ::std::ops::BitAndAssign for DXGI_ALPHA_MODE {
bitand_assign(&mut self, rhs: Self)437 fn bitand_assign(&mut self, rhs: Self) {
438 self.0.bitand_assign(rhs.0)
439 }
440 }
441 impl ::std::ops::Not for DXGI_ALPHA_MODE {
442 type Output = Self;
not(self) -> Self443 fn not(self) -> Self {
444 Self(self.0.not())
445 }
446 }
447 pub const DXGI_CENTER_MULTISAMPLE_QUALITY_PATTERN: u32 = 4294967294u32;
448 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
449 #[repr(transparent)]
450 pub struct DXGI_COLOR_SPACE_TYPE(pub i32);
451 pub const DXGI_COLOR_SPACE_RGB_FULL_G22_NONE_P709: DXGI_COLOR_SPACE_TYPE = DXGI_COLOR_SPACE_TYPE(0i32);
452 pub const DXGI_COLOR_SPACE_RGB_FULL_G10_NONE_P709: DXGI_COLOR_SPACE_TYPE = DXGI_COLOR_SPACE_TYPE(1i32);
453 pub const DXGI_COLOR_SPACE_RGB_STUDIO_G22_NONE_P709: DXGI_COLOR_SPACE_TYPE = DXGI_COLOR_SPACE_TYPE(2i32);
454 pub const DXGI_COLOR_SPACE_RGB_STUDIO_G22_NONE_P2020: DXGI_COLOR_SPACE_TYPE = DXGI_COLOR_SPACE_TYPE(3i32);
455 pub const DXGI_COLOR_SPACE_RESERVED: DXGI_COLOR_SPACE_TYPE = DXGI_COLOR_SPACE_TYPE(4i32);
456 pub const DXGI_COLOR_SPACE_YCBCR_FULL_G22_NONE_P709_X601: DXGI_COLOR_SPACE_TYPE = DXGI_COLOR_SPACE_TYPE(5i32);
457 pub const DXGI_COLOR_SPACE_YCBCR_STUDIO_G22_LEFT_P601: DXGI_COLOR_SPACE_TYPE = DXGI_COLOR_SPACE_TYPE(6i32);
458 pub const DXGI_COLOR_SPACE_YCBCR_FULL_G22_LEFT_P601: DXGI_COLOR_SPACE_TYPE = DXGI_COLOR_SPACE_TYPE(7i32);
459 pub const DXGI_COLOR_SPACE_YCBCR_STUDIO_G22_LEFT_P709: DXGI_COLOR_SPACE_TYPE = DXGI_COLOR_SPACE_TYPE(8i32);
460 pub const DXGI_COLOR_SPACE_YCBCR_FULL_G22_LEFT_P709: DXGI_COLOR_SPACE_TYPE = DXGI_COLOR_SPACE_TYPE(9i32);
461 pub const DXGI_COLOR_SPACE_YCBCR_STUDIO_G22_LEFT_P2020: DXGI_COLOR_SPACE_TYPE = DXGI_COLOR_SPACE_TYPE(10i32);
462 pub const DXGI_COLOR_SPACE_YCBCR_FULL_G22_LEFT_P2020: DXGI_COLOR_SPACE_TYPE = DXGI_COLOR_SPACE_TYPE(11i32);
463 pub const DXGI_COLOR_SPACE_RGB_FULL_G2084_NONE_P2020: DXGI_COLOR_SPACE_TYPE = DXGI_COLOR_SPACE_TYPE(12i32);
464 pub const DXGI_COLOR_SPACE_YCBCR_STUDIO_G2084_LEFT_P2020: DXGI_COLOR_SPACE_TYPE = DXGI_COLOR_SPACE_TYPE(13i32);
465 pub const DXGI_COLOR_SPACE_RGB_STUDIO_G2084_NONE_P2020: DXGI_COLOR_SPACE_TYPE = DXGI_COLOR_SPACE_TYPE(14i32);
466 pub const DXGI_COLOR_SPACE_YCBCR_STUDIO_G22_TOPLEFT_P2020: DXGI_COLOR_SPACE_TYPE = DXGI_COLOR_SPACE_TYPE(15i32);
467 pub const DXGI_COLOR_SPACE_YCBCR_STUDIO_G2084_TOPLEFT_P2020: DXGI_COLOR_SPACE_TYPE = DXGI_COLOR_SPACE_TYPE(16i32);
468 pub const DXGI_COLOR_SPACE_RGB_FULL_G22_NONE_P2020: DXGI_COLOR_SPACE_TYPE = DXGI_COLOR_SPACE_TYPE(17i32);
469 pub const DXGI_COLOR_SPACE_YCBCR_STUDIO_GHLG_TOPLEFT_P2020: DXGI_COLOR_SPACE_TYPE = DXGI_COLOR_SPACE_TYPE(18i32);
470 pub const DXGI_COLOR_SPACE_YCBCR_FULL_GHLG_TOPLEFT_P2020: DXGI_COLOR_SPACE_TYPE = DXGI_COLOR_SPACE_TYPE(19i32);
471 pub const DXGI_COLOR_SPACE_RGB_STUDIO_G24_NONE_P709: DXGI_COLOR_SPACE_TYPE = DXGI_COLOR_SPACE_TYPE(20i32);
472 pub const DXGI_COLOR_SPACE_RGB_STUDIO_G24_NONE_P2020: DXGI_COLOR_SPACE_TYPE = DXGI_COLOR_SPACE_TYPE(21i32);
473 pub const DXGI_COLOR_SPACE_YCBCR_STUDIO_G24_LEFT_P709: DXGI_COLOR_SPACE_TYPE = DXGI_COLOR_SPACE_TYPE(22i32);
474 pub const DXGI_COLOR_SPACE_YCBCR_STUDIO_G24_LEFT_P2020: DXGI_COLOR_SPACE_TYPE = DXGI_COLOR_SPACE_TYPE(23i32);
475 pub const DXGI_COLOR_SPACE_YCBCR_STUDIO_G24_TOPLEFT_P2020: DXGI_COLOR_SPACE_TYPE = DXGI_COLOR_SPACE_TYPE(24i32);
476 pub const DXGI_COLOR_SPACE_CUSTOM: DXGI_COLOR_SPACE_TYPE = DXGI_COLOR_SPACE_TYPE(-1i32);
477 impl ::std::convert::From<i32> for DXGI_COLOR_SPACE_TYPE {
from(value: i32) -> Self478 fn from(value: i32) -> Self {
479 Self(value)
480 }
481 }
482 unsafe impl ::windows::runtime::Abi for DXGI_COLOR_SPACE_TYPE {
483 type Abi = Self;
484 type DefaultType = Self;
485 }
486 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
487 #[repr(transparent)]
488 pub struct DXGI_COMPUTE_PREEMPTION_GRANULARITY(pub i32);
489 pub const DXGI_COMPUTE_PREEMPTION_DMA_BUFFER_BOUNDARY: DXGI_COMPUTE_PREEMPTION_GRANULARITY = DXGI_COMPUTE_PREEMPTION_GRANULARITY(0i32);
490 pub const DXGI_COMPUTE_PREEMPTION_DISPATCH_BOUNDARY: DXGI_COMPUTE_PREEMPTION_GRANULARITY = DXGI_COMPUTE_PREEMPTION_GRANULARITY(1i32);
491 pub const DXGI_COMPUTE_PREEMPTION_THREAD_GROUP_BOUNDARY: DXGI_COMPUTE_PREEMPTION_GRANULARITY = DXGI_COMPUTE_PREEMPTION_GRANULARITY(2i32);
492 pub const DXGI_COMPUTE_PREEMPTION_THREAD_BOUNDARY: DXGI_COMPUTE_PREEMPTION_GRANULARITY = DXGI_COMPUTE_PREEMPTION_GRANULARITY(3i32);
493 pub const DXGI_COMPUTE_PREEMPTION_INSTRUCTION_BOUNDARY: DXGI_COMPUTE_PREEMPTION_GRANULARITY = DXGI_COMPUTE_PREEMPTION_GRANULARITY(4i32);
494 impl ::std::convert::From<i32> for DXGI_COMPUTE_PREEMPTION_GRANULARITY {
from(value: i32) -> Self495 fn from(value: i32) -> Self {
496 Self(value)
497 }
498 }
499 unsafe impl ::windows::runtime::Abi for DXGI_COMPUTE_PREEMPTION_GRANULARITY {
500 type Abi = Self;
501 type DefaultType = Self;
502 }
503 pub const DXGI_CPU_ACCESS_DYNAMIC: u32 = 1u32;
504 pub const DXGI_CPU_ACCESS_FIELD: u32 = 15u32;
505 pub const DXGI_CPU_ACCESS_NONE: u32 = 0u32;
506 pub const DXGI_CPU_ACCESS_READ_WRITE: u32 = 2u32;
507 pub const DXGI_CPU_ACCESS_SCRATCH: u32 = 3u32;
508 pub const DXGI_CREATE_FACTORY_DEBUG: u32 = 1u32;
509 pub const DXGI_DEBUG_ALL: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3834307203, 55936, 18699, [135, 230, 67, 233, 169, 207, 218, 8]);
510 pub const DXGI_DEBUG_APP: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(114126337, 16921, 20157, [135, 9, 39, 237, 35, 54, 12, 98]);
511 pub const DXGI_DEBUG_BINARY_VERSION: u32 = 1u32;
512 pub const DXGI_DEBUG_DX: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(902682620, 5042, 16925, [165, 215, 126, 68, 81, 40, 125, 100]);
513 pub const DXGI_DEBUG_DXGI: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(634247844, 45510, 18401, [172, 62, 152, 135, 91, 90, 46, 42]);
514 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
515 #[repr(transparent)]
516 pub struct DXGI_DEBUG_RLO_FLAGS(pub u32);
517 pub const DXGI_DEBUG_RLO_SUMMARY: DXGI_DEBUG_RLO_FLAGS = DXGI_DEBUG_RLO_FLAGS(1u32);
518 pub const DXGI_DEBUG_RLO_DETAIL: DXGI_DEBUG_RLO_FLAGS = DXGI_DEBUG_RLO_FLAGS(2u32);
519 pub const DXGI_DEBUG_RLO_IGNORE_INTERNAL: DXGI_DEBUG_RLO_FLAGS = DXGI_DEBUG_RLO_FLAGS(4u32);
520 pub const DXGI_DEBUG_RLO_ALL: DXGI_DEBUG_RLO_FLAGS = DXGI_DEBUG_RLO_FLAGS(7u32);
521 impl ::std::convert::From<u32> for DXGI_DEBUG_RLO_FLAGS {
from(value: u32) -> Self522 fn from(value: u32) -> Self {
523 Self(value)
524 }
525 }
526 unsafe impl ::windows::runtime::Abi for DXGI_DEBUG_RLO_FLAGS {
527 type Abi = Self;
528 type DefaultType = Self;
529 }
530 impl ::std::ops::BitOr for DXGI_DEBUG_RLO_FLAGS {
531 type Output = Self;
bitor(self, rhs: Self) -> Self532 fn bitor(self, rhs: Self) -> Self {
533 Self(self.0 | rhs.0)
534 }
535 }
536 impl ::std::ops::BitAnd for DXGI_DEBUG_RLO_FLAGS {
537 type Output = Self;
bitand(self, rhs: Self) -> Self538 fn bitand(self, rhs: Self) -> Self {
539 Self(self.0 & rhs.0)
540 }
541 }
542 impl ::std::ops::BitOrAssign for DXGI_DEBUG_RLO_FLAGS {
bitor_assign(&mut self, rhs: Self)543 fn bitor_assign(&mut self, rhs: Self) {
544 self.0.bitor_assign(rhs.0)
545 }
546 }
547 impl ::std::ops::BitAndAssign for DXGI_DEBUG_RLO_FLAGS {
bitand_assign(&mut self, rhs: Self)548 fn bitand_assign(&mut self, rhs: Self) {
549 self.0.bitand_assign(rhs.0)
550 }
551 }
552 impl ::std::ops::Not for DXGI_DEBUG_RLO_FLAGS {
553 type Output = Self;
not(self) -> Self554 fn not(self) -> Self {
555 Self(self.0.not())
556 }
557 }
558 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
559 #[repr(C)]
560 pub struct DXGI_DECODE_SWAP_CHAIN_DESC {
561 pub Flags: u32,
562 }
563 impl DXGI_DECODE_SWAP_CHAIN_DESC {}
564 impl ::std::default::Default for DXGI_DECODE_SWAP_CHAIN_DESC {
default() -> Self565 fn default() -> Self {
566 unsafe { ::std::mem::zeroed() }
567 }
568 }
569 impl ::std::fmt::Debug for DXGI_DECODE_SWAP_CHAIN_DESC {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result570 fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
571 fmt.debug_struct("DXGI_DECODE_SWAP_CHAIN_DESC").field("Flags", &self.Flags).finish()
572 }
573 }
574 impl ::std::cmp::PartialEq for DXGI_DECODE_SWAP_CHAIN_DESC {
eq(&self, other: &Self) -> bool575 fn eq(&self, other: &Self) -> bool {
576 self.Flags == other.Flags
577 }
578 }
579 impl ::std::cmp::Eq for DXGI_DECODE_SWAP_CHAIN_DESC {}
580 unsafe impl ::windows::runtime::Abi for DXGI_DECODE_SWAP_CHAIN_DESC {
581 type Abi = Self;
582 type DefaultType = Self;
583 }
584 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
585 #[repr(C)]
586 pub struct DXGI_DISPLAY_COLOR_SPACE {
587 pub PrimaryCoordinates: [f32; 16],
588 pub WhitePoints: [f32; 32],
589 }
590 impl DXGI_DISPLAY_COLOR_SPACE {}
591 impl ::std::default::Default for DXGI_DISPLAY_COLOR_SPACE {
default() -> Self592 fn default() -> Self {
593 unsafe { ::std::mem::zeroed() }
594 }
595 }
596 impl ::std::fmt::Debug for DXGI_DISPLAY_COLOR_SPACE {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result597 fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
598 fmt.debug_struct("DXGI_DISPLAY_COLOR_SPACE").field("PrimaryCoordinates", &self.PrimaryCoordinates).field("WhitePoints", &self.WhitePoints).finish()
599 }
600 }
601 impl ::std::cmp::PartialEq for DXGI_DISPLAY_COLOR_SPACE {
eq(&self, other: &Self) -> bool602 fn eq(&self, other: &Self) -> bool {
603 self.PrimaryCoordinates == other.PrimaryCoordinates && self.WhitePoints == other.WhitePoints
604 }
605 }
606 impl ::std::cmp::Eq for DXGI_DISPLAY_COLOR_SPACE {}
607 unsafe impl ::windows::runtime::Abi for DXGI_DISPLAY_COLOR_SPACE {
608 type Abi = Self;
609 type DefaultType = Self;
610 }
611 pub const DXGI_ENUM_MODES_DISABLED_STEREO: u32 = 8u32;
612 pub const DXGI_ENUM_MODES_INTERLACED: u32 = 1u32;
613 pub const DXGI_ENUM_MODES_SCALING: u32 = 2u32;
614 pub const DXGI_ENUM_MODES_STEREO: u32 = 4u32;
615 pub const DXGI_ERROR_ACCESS_DENIED: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2005270485i32 as _);
616 pub const DXGI_ERROR_ACCESS_LOST: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2005270490i32 as _);
617 pub const DXGI_ERROR_ALREADY_EXISTS: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2005270474i32 as _);
618 pub const DXGI_ERROR_CACHE_CORRUPT: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2005270477i32 as _);
619 pub const DXGI_ERROR_CACHE_FULL: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2005270476i32 as _);
620 pub const DXGI_ERROR_CACHE_HASH_COLLISION: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2005270475i32 as _);
621 pub const DXGI_ERROR_CANNOT_PROTECT_CONTENT: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2005270486i32 as _);
622 pub const DXGI_ERROR_DEVICE_HUNG: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2005270522i32 as _);
623 pub const DXGI_ERROR_DEVICE_REMOVED: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2005270523i32 as _);
624 pub const DXGI_ERROR_DEVICE_RESET: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2005270521i32 as _);
625 pub const DXGI_ERROR_DRIVER_INTERNAL_ERROR: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2005270496i32 as _);
626 pub const DXGI_ERROR_DYNAMIC_CODE_POLICY_VIOLATION: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2005270479i32 as _);
627 pub const DXGI_ERROR_FRAME_STATISTICS_DISJOINT: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2005270517i32 as _);
628 pub const DXGI_ERROR_GRAPHICS_VIDPN_SOURCE_IN_USE: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2005270516i32 as _);
629 pub const DXGI_ERROR_HW_PROTECTION_OUTOFMEMORY: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2005270480i32 as _);
630 pub const DXGI_ERROR_INVALID_CALL: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2005270527i32 as _);
631 pub const DXGI_ERROR_MODE_CHANGE_IN_PROGRESS: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2005270491i32 as _);
632 pub const DXGI_ERROR_MORE_DATA: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2005270525i32 as _);
633 pub const DXGI_ERROR_NAME_ALREADY_EXISTS: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2005270484i32 as _);
634 pub const DXGI_ERROR_NONEXCLUSIVE: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2005270495i32 as _);
635 pub const DXGI_ERROR_NON_COMPOSITED_UI: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2005270478i32 as _);
636 pub const DXGI_ERROR_NOT_CURRENT: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2005270482i32 as _);
637 pub const DXGI_ERROR_NOT_CURRENTLY_AVAILABLE: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2005270494i32 as _);
638 pub const DXGI_ERROR_NOT_FOUND: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2005270526i32 as _);
639 pub const DXGI_ERROR_REMOTE_CLIENT_DISCONNECTED: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2005270493i32 as _);
640 pub const DXGI_ERROR_REMOTE_OUTOFMEMORY: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2005270492i32 as _);
641 pub const DXGI_ERROR_RESTRICT_TO_OUTPUT_STALE: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2005270487i32 as _);
642 pub const DXGI_ERROR_SDK_COMPONENT_MISSING: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2005270483i32 as _);
643 pub const DXGI_ERROR_SESSION_DISCONNECTED: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2005270488i32 as _);
644 pub const DXGI_ERROR_UNSUPPORTED: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2005270524i32 as _);
645 pub const DXGI_ERROR_WAIT_TIMEOUT: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2005270489i32 as _);
646 pub const DXGI_ERROR_WAS_STILL_DRAWING: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2005270518i32 as _);
647 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
648 #[repr(transparent)]
649 pub struct DXGI_FEATURE(pub i32);
650 pub const DXGI_FEATURE_PRESENT_ALLOW_TEARING: DXGI_FEATURE = DXGI_FEATURE(0i32);
651 impl ::std::convert::From<i32> for DXGI_FEATURE {
from(value: i32) -> Self652 fn from(value: i32) -> Self {
653 Self(value)
654 }
655 }
656 unsafe impl ::windows::runtime::Abi for DXGI_FEATURE {
657 type Abi = Self;
658 type DefaultType = Self;
659 }
660 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
661 #[repr(transparent)]
662 pub struct DXGI_FORMAT(pub u32);
663 pub const DXGI_FORMAT_UNKNOWN: DXGI_FORMAT = DXGI_FORMAT(0u32);
664 pub const DXGI_FORMAT_R32G32B32A32_TYPELESS: DXGI_FORMAT = DXGI_FORMAT(1u32);
665 pub const DXGI_FORMAT_R32G32B32A32_FLOAT: DXGI_FORMAT = DXGI_FORMAT(2u32);
666 pub const DXGI_FORMAT_R32G32B32A32_UINT: DXGI_FORMAT = DXGI_FORMAT(3u32);
667 pub const DXGI_FORMAT_R32G32B32A32_SINT: DXGI_FORMAT = DXGI_FORMAT(4u32);
668 pub const DXGI_FORMAT_R32G32B32_TYPELESS: DXGI_FORMAT = DXGI_FORMAT(5u32);
669 pub const DXGI_FORMAT_R32G32B32_FLOAT: DXGI_FORMAT = DXGI_FORMAT(6u32);
670 pub const DXGI_FORMAT_R32G32B32_UINT: DXGI_FORMAT = DXGI_FORMAT(7u32);
671 pub const DXGI_FORMAT_R32G32B32_SINT: DXGI_FORMAT = DXGI_FORMAT(8u32);
672 pub const DXGI_FORMAT_R16G16B16A16_TYPELESS: DXGI_FORMAT = DXGI_FORMAT(9u32);
673 pub const DXGI_FORMAT_R16G16B16A16_FLOAT: DXGI_FORMAT = DXGI_FORMAT(10u32);
674 pub const DXGI_FORMAT_R16G16B16A16_UNORM: DXGI_FORMAT = DXGI_FORMAT(11u32);
675 pub const DXGI_FORMAT_R16G16B16A16_UINT: DXGI_FORMAT = DXGI_FORMAT(12u32);
676 pub const DXGI_FORMAT_R16G16B16A16_SNORM: DXGI_FORMAT = DXGI_FORMAT(13u32);
677 pub const DXGI_FORMAT_R16G16B16A16_SINT: DXGI_FORMAT = DXGI_FORMAT(14u32);
678 pub const DXGI_FORMAT_R32G32_TYPELESS: DXGI_FORMAT = DXGI_FORMAT(15u32);
679 pub const DXGI_FORMAT_R32G32_FLOAT: DXGI_FORMAT = DXGI_FORMAT(16u32);
680 pub const DXGI_FORMAT_R32G32_UINT: DXGI_FORMAT = DXGI_FORMAT(17u32);
681 pub const DXGI_FORMAT_R32G32_SINT: DXGI_FORMAT = DXGI_FORMAT(18u32);
682 pub const DXGI_FORMAT_R32G8X24_TYPELESS: DXGI_FORMAT = DXGI_FORMAT(19u32);
683 pub const DXGI_FORMAT_D32_FLOAT_S8X24_UINT: DXGI_FORMAT = DXGI_FORMAT(20u32);
684 pub const DXGI_FORMAT_R32_FLOAT_X8X24_TYPELESS: DXGI_FORMAT = DXGI_FORMAT(21u32);
685 pub const DXGI_FORMAT_X32_TYPELESS_G8X24_UINT: DXGI_FORMAT = DXGI_FORMAT(22u32);
686 pub const DXGI_FORMAT_R10G10B10A2_TYPELESS: DXGI_FORMAT = DXGI_FORMAT(23u32);
687 pub const DXGI_FORMAT_R10G10B10A2_UNORM: DXGI_FORMAT = DXGI_FORMAT(24u32);
688 pub const DXGI_FORMAT_R10G10B10A2_UINT: DXGI_FORMAT = DXGI_FORMAT(25u32);
689 pub const DXGI_FORMAT_R11G11B10_FLOAT: DXGI_FORMAT = DXGI_FORMAT(26u32);
690 pub const DXGI_FORMAT_R8G8B8A8_TYPELESS: DXGI_FORMAT = DXGI_FORMAT(27u32);
691 pub const DXGI_FORMAT_R8G8B8A8_UNORM: DXGI_FORMAT = DXGI_FORMAT(28u32);
692 pub const DXGI_FORMAT_R8G8B8A8_UNORM_SRGB: DXGI_FORMAT = DXGI_FORMAT(29u32);
693 pub const DXGI_FORMAT_R8G8B8A8_UINT: DXGI_FORMAT = DXGI_FORMAT(30u32);
694 pub const DXGI_FORMAT_R8G8B8A8_SNORM: DXGI_FORMAT = DXGI_FORMAT(31u32);
695 pub const DXGI_FORMAT_R8G8B8A8_SINT: DXGI_FORMAT = DXGI_FORMAT(32u32);
696 pub const DXGI_FORMAT_R16G16_TYPELESS: DXGI_FORMAT = DXGI_FORMAT(33u32);
697 pub const DXGI_FORMAT_R16G16_FLOAT: DXGI_FORMAT = DXGI_FORMAT(34u32);
698 pub const DXGI_FORMAT_R16G16_UNORM: DXGI_FORMAT = DXGI_FORMAT(35u32);
699 pub const DXGI_FORMAT_R16G16_UINT: DXGI_FORMAT = DXGI_FORMAT(36u32);
700 pub const DXGI_FORMAT_R16G16_SNORM: DXGI_FORMAT = DXGI_FORMAT(37u32);
701 pub const DXGI_FORMAT_R16G16_SINT: DXGI_FORMAT = DXGI_FORMAT(38u32);
702 pub const DXGI_FORMAT_R32_TYPELESS: DXGI_FORMAT = DXGI_FORMAT(39u32);
703 pub const DXGI_FORMAT_D32_FLOAT: DXGI_FORMAT = DXGI_FORMAT(40u32);
704 pub const DXGI_FORMAT_R32_FLOAT: DXGI_FORMAT = DXGI_FORMAT(41u32);
705 pub const DXGI_FORMAT_R32_UINT: DXGI_FORMAT = DXGI_FORMAT(42u32);
706 pub const DXGI_FORMAT_R32_SINT: DXGI_FORMAT = DXGI_FORMAT(43u32);
707 pub const DXGI_FORMAT_R24G8_TYPELESS: DXGI_FORMAT = DXGI_FORMAT(44u32);
708 pub const DXGI_FORMAT_D24_UNORM_S8_UINT: DXGI_FORMAT = DXGI_FORMAT(45u32);
709 pub const DXGI_FORMAT_R24_UNORM_X8_TYPELESS: DXGI_FORMAT = DXGI_FORMAT(46u32);
710 pub const DXGI_FORMAT_X24_TYPELESS_G8_UINT: DXGI_FORMAT = DXGI_FORMAT(47u32);
711 pub const DXGI_FORMAT_R8G8_TYPELESS: DXGI_FORMAT = DXGI_FORMAT(48u32);
712 pub const DXGI_FORMAT_R8G8_UNORM: DXGI_FORMAT = DXGI_FORMAT(49u32);
713 pub const DXGI_FORMAT_R8G8_UINT: DXGI_FORMAT = DXGI_FORMAT(50u32);
714 pub const DXGI_FORMAT_R8G8_SNORM: DXGI_FORMAT = DXGI_FORMAT(51u32);
715 pub const DXGI_FORMAT_R8G8_SINT: DXGI_FORMAT = DXGI_FORMAT(52u32);
716 pub const DXGI_FORMAT_R16_TYPELESS: DXGI_FORMAT = DXGI_FORMAT(53u32);
717 pub const DXGI_FORMAT_R16_FLOAT: DXGI_FORMAT = DXGI_FORMAT(54u32);
718 pub const DXGI_FORMAT_D16_UNORM: DXGI_FORMAT = DXGI_FORMAT(55u32);
719 pub const DXGI_FORMAT_R16_UNORM: DXGI_FORMAT = DXGI_FORMAT(56u32);
720 pub const DXGI_FORMAT_R16_UINT: DXGI_FORMAT = DXGI_FORMAT(57u32);
721 pub const DXGI_FORMAT_R16_SNORM: DXGI_FORMAT = DXGI_FORMAT(58u32);
722 pub const DXGI_FORMAT_R16_SINT: DXGI_FORMAT = DXGI_FORMAT(59u32);
723 pub const DXGI_FORMAT_R8_TYPELESS: DXGI_FORMAT = DXGI_FORMAT(60u32);
724 pub const DXGI_FORMAT_R8_UNORM: DXGI_FORMAT = DXGI_FORMAT(61u32);
725 pub const DXGI_FORMAT_R8_UINT: DXGI_FORMAT = DXGI_FORMAT(62u32);
726 pub const DXGI_FORMAT_R8_SNORM: DXGI_FORMAT = DXGI_FORMAT(63u32);
727 pub const DXGI_FORMAT_R8_SINT: DXGI_FORMAT = DXGI_FORMAT(64u32);
728 pub const DXGI_FORMAT_A8_UNORM: DXGI_FORMAT = DXGI_FORMAT(65u32);
729 pub const DXGI_FORMAT_R1_UNORM: DXGI_FORMAT = DXGI_FORMAT(66u32);
730 pub const DXGI_FORMAT_R9G9B9E5_SHAREDEXP: DXGI_FORMAT = DXGI_FORMAT(67u32);
731 pub const DXGI_FORMAT_R8G8_B8G8_UNORM: DXGI_FORMAT = DXGI_FORMAT(68u32);
732 pub const DXGI_FORMAT_G8R8_G8B8_UNORM: DXGI_FORMAT = DXGI_FORMAT(69u32);
733 pub const DXGI_FORMAT_BC1_TYPELESS: DXGI_FORMAT = DXGI_FORMAT(70u32);
734 pub const DXGI_FORMAT_BC1_UNORM: DXGI_FORMAT = DXGI_FORMAT(71u32);
735 pub const DXGI_FORMAT_BC1_UNORM_SRGB: DXGI_FORMAT = DXGI_FORMAT(72u32);
736 pub const DXGI_FORMAT_BC2_TYPELESS: DXGI_FORMAT = DXGI_FORMAT(73u32);
737 pub const DXGI_FORMAT_BC2_UNORM: DXGI_FORMAT = DXGI_FORMAT(74u32);
738 pub const DXGI_FORMAT_BC2_UNORM_SRGB: DXGI_FORMAT = DXGI_FORMAT(75u32);
739 pub const DXGI_FORMAT_BC3_TYPELESS: DXGI_FORMAT = DXGI_FORMAT(76u32);
740 pub const DXGI_FORMAT_BC3_UNORM: DXGI_FORMAT = DXGI_FORMAT(77u32);
741 pub const DXGI_FORMAT_BC3_UNORM_SRGB: DXGI_FORMAT = DXGI_FORMAT(78u32);
742 pub const DXGI_FORMAT_BC4_TYPELESS: DXGI_FORMAT = DXGI_FORMAT(79u32);
743 pub const DXGI_FORMAT_BC4_UNORM: DXGI_FORMAT = DXGI_FORMAT(80u32);
744 pub const DXGI_FORMAT_BC4_SNORM: DXGI_FORMAT = DXGI_FORMAT(81u32);
745 pub const DXGI_FORMAT_BC5_TYPELESS: DXGI_FORMAT = DXGI_FORMAT(82u32);
746 pub const DXGI_FORMAT_BC5_UNORM: DXGI_FORMAT = DXGI_FORMAT(83u32);
747 pub const DXGI_FORMAT_BC5_SNORM: DXGI_FORMAT = DXGI_FORMAT(84u32);
748 pub const DXGI_FORMAT_B5G6R5_UNORM: DXGI_FORMAT = DXGI_FORMAT(85u32);
749 pub const DXGI_FORMAT_B5G5R5A1_UNORM: DXGI_FORMAT = DXGI_FORMAT(86u32);
750 pub const DXGI_FORMAT_B8G8R8A8_UNORM: DXGI_FORMAT = DXGI_FORMAT(87u32);
751 pub const DXGI_FORMAT_B8G8R8X8_UNORM: DXGI_FORMAT = DXGI_FORMAT(88u32);
752 pub const DXGI_FORMAT_R10G10B10_XR_BIAS_A2_UNORM: DXGI_FORMAT = DXGI_FORMAT(89u32);
753 pub const DXGI_FORMAT_B8G8R8A8_TYPELESS: DXGI_FORMAT = DXGI_FORMAT(90u32);
754 pub const DXGI_FORMAT_B8G8R8A8_UNORM_SRGB: DXGI_FORMAT = DXGI_FORMAT(91u32);
755 pub const DXGI_FORMAT_B8G8R8X8_TYPELESS: DXGI_FORMAT = DXGI_FORMAT(92u32);
756 pub const DXGI_FORMAT_B8G8R8X8_UNORM_SRGB: DXGI_FORMAT = DXGI_FORMAT(93u32);
757 pub const DXGI_FORMAT_BC6H_TYPELESS: DXGI_FORMAT = DXGI_FORMAT(94u32);
758 pub const DXGI_FORMAT_BC6H_UF16: DXGI_FORMAT = DXGI_FORMAT(95u32);
759 pub const DXGI_FORMAT_BC6H_SF16: DXGI_FORMAT = DXGI_FORMAT(96u32);
760 pub const DXGI_FORMAT_BC7_TYPELESS: DXGI_FORMAT = DXGI_FORMAT(97u32);
761 pub const DXGI_FORMAT_BC7_UNORM: DXGI_FORMAT = DXGI_FORMAT(98u32);
762 pub const DXGI_FORMAT_BC7_UNORM_SRGB: DXGI_FORMAT = DXGI_FORMAT(99u32);
763 pub const DXGI_FORMAT_AYUV: DXGI_FORMAT = DXGI_FORMAT(100u32);
764 pub const DXGI_FORMAT_Y410: DXGI_FORMAT = DXGI_FORMAT(101u32);
765 pub const DXGI_FORMAT_Y416: DXGI_FORMAT = DXGI_FORMAT(102u32);
766 pub const DXGI_FORMAT_NV12: DXGI_FORMAT = DXGI_FORMAT(103u32);
767 pub const DXGI_FORMAT_P010: DXGI_FORMAT = DXGI_FORMAT(104u32);
768 pub const DXGI_FORMAT_P016: DXGI_FORMAT = DXGI_FORMAT(105u32);
769 pub const DXGI_FORMAT_420_OPAQUE: DXGI_FORMAT = DXGI_FORMAT(106u32);
770 pub const DXGI_FORMAT_YUY2: DXGI_FORMAT = DXGI_FORMAT(107u32);
771 pub const DXGI_FORMAT_Y210: DXGI_FORMAT = DXGI_FORMAT(108u32);
772 pub const DXGI_FORMAT_Y216: DXGI_FORMAT = DXGI_FORMAT(109u32);
773 pub const DXGI_FORMAT_NV11: DXGI_FORMAT = DXGI_FORMAT(110u32);
774 pub const DXGI_FORMAT_AI44: DXGI_FORMAT = DXGI_FORMAT(111u32);
775 pub const DXGI_FORMAT_IA44: DXGI_FORMAT = DXGI_FORMAT(112u32);
776 pub const DXGI_FORMAT_P8: DXGI_FORMAT = DXGI_FORMAT(113u32);
777 pub const DXGI_FORMAT_A8P8: DXGI_FORMAT = DXGI_FORMAT(114u32);
778 pub const DXGI_FORMAT_B4G4R4A4_UNORM: DXGI_FORMAT = DXGI_FORMAT(115u32);
779 pub const DXGI_FORMAT_P208: DXGI_FORMAT = DXGI_FORMAT(130u32);
780 pub const DXGI_FORMAT_V208: DXGI_FORMAT = DXGI_FORMAT(131u32);
781 pub const DXGI_FORMAT_V408: DXGI_FORMAT = DXGI_FORMAT(132u32);
782 pub const DXGI_FORMAT_SAMPLER_FEEDBACK_MIN_MIP_OPAQUE: DXGI_FORMAT = DXGI_FORMAT(189u32);
783 pub const DXGI_FORMAT_SAMPLER_FEEDBACK_MIP_REGION_USED_OPAQUE: DXGI_FORMAT = DXGI_FORMAT(190u32);
784 pub const DXGI_FORMAT_FORCE_UINT: DXGI_FORMAT = DXGI_FORMAT(4294967295u32);
785 impl ::std::convert::From<u32> for DXGI_FORMAT {
from(value: u32) -> Self786 fn from(value: u32) -> Self {
787 Self(value)
788 }
789 }
790 unsafe impl ::windows::runtime::Abi for DXGI_FORMAT {
791 type Abi = Self;
792 type DefaultType = Self;
793 }
794 impl ::std::ops::BitOr for DXGI_FORMAT {
795 type Output = Self;
bitor(self, rhs: Self) -> Self796 fn bitor(self, rhs: Self) -> Self {
797 Self(self.0 | rhs.0)
798 }
799 }
800 impl ::std::ops::BitAnd for DXGI_FORMAT {
801 type Output = Self;
bitand(self, rhs: Self) -> Self802 fn bitand(self, rhs: Self) -> Self {
803 Self(self.0 & rhs.0)
804 }
805 }
806 impl ::std::ops::BitOrAssign for DXGI_FORMAT {
bitor_assign(&mut self, rhs: Self)807 fn bitor_assign(&mut self, rhs: Self) {
808 self.0.bitor_assign(rhs.0)
809 }
810 }
811 impl ::std::ops::BitAndAssign for DXGI_FORMAT {
bitand_assign(&mut self, rhs: Self)812 fn bitand_assign(&mut self, rhs: Self) {
813 self.0.bitand_assign(rhs.0)
814 }
815 }
816 impl ::std::ops::Not for DXGI_FORMAT {
817 type Output = Self;
not(self) -> Self818 fn not(self) -> Self {
819 Self(self.0.not())
820 }
821 }
822 pub const DXGI_FORMAT_DEFINED: u32 = 1u32;
823 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
824 #[repr(transparent)]
825 pub struct DXGI_FRAME_PRESENTATION_MODE(pub i32);
826 pub const DXGI_FRAME_PRESENTATION_MODE_COMPOSED: DXGI_FRAME_PRESENTATION_MODE = DXGI_FRAME_PRESENTATION_MODE(0i32);
827 pub const DXGI_FRAME_PRESENTATION_MODE_OVERLAY: DXGI_FRAME_PRESENTATION_MODE = DXGI_FRAME_PRESENTATION_MODE(1i32);
828 pub const DXGI_FRAME_PRESENTATION_MODE_NONE: DXGI_FRAME_PRESENTATION_MODE = DXGI_FRAME_PRESENTATION_MODE(2i32);
829 pub const DXGI_FRAME_PRESENTATION_MODE_COMPOSITION_FAILURE: DXGI_FRAME_PRESENTATION_MODE = DXGI_FRAME_PRESENTATION_MODE(3i32);
830 impl ::std::convert::From<i32> for DXGI_FRAME_PRESENTATION_MODE {
from(value: i32) -> Self831 fn from(value: i32) -> Self {
832 Self(value)
833 }
834 }
835 unsafe impl ::windows::runtime::Abi for DXGI_FRAME_PRESENTATION_MODE {
836 type Abi = Self;
837 type DefaultType = Self;
838 }
839 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
840 #[repr(C)]
841 pub struct DXGI_FRAME_STATISTICS {
842 pub PresentCount: u32,
843 pub PresentRefreshCount: u32,
844 pub SyncRefreshCount: u32,
845 pub SyncQPCTime: i64,
846 pub SyncGPUTime: i64,
847 }
848 impl DXGI_FRAME_STATISTICS {}
849 impl ::std::default::Default for DXGI_FRAME_STATISTICS {
default() -> Self850 fn default() -> Self {
851 unsafe { ::std::mem::zeroed() }
852 }
853 }
854 impl ::std::fmt::Debug for DXGI_FRAME_STATISTICS {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result855 fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
856 fmt.debug_struct("DXGI_FRAME_STATISTICS").field("PresentCount", &self.PresentCount).field("PresentRefreshCount", &self.PresentRefreshCount).field("SyncRefreshCount", &self.SyncRefreshCount).field("SyncQPCTime", &self.SyncQPCTime).field("SyncGPUTime", &self.SyncGPUTime).finish()
857 }
858 }
859 impl ::std::cmp::PartialEq for DXGI_FRAME_STATISTICS {
eq(&self, other: &Self) -> bool860 fn eq(&self, other: &Self) -> bool {
861 self.PresentCount == other.PresentCount && self.PresentRefreshCount == other.PresentRefreshCount && self.SyncRefreshCount == other.SyncRefreshCount && self.SyncQPCTime == other.SyncQPCTime && self.SyncGPUTime == other.SyncGPUTime
862 }
863 }
864 impl ::std::cmp::Eq for DXGI_FRAME_STATISTICS {}
865 unsafe impl ::windows::runtime::Abi for DXGI_FRAME_STATISTICS {
866 type Abi = Self;
867 type DefaultType = Self;
868 }
869 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
870 #[repr(C)]
871 pub struct DXGI_FRAME_STATISTICS_MEDIA {
872 pub PresentCount: u32,
873 pub PresentRefreshCount: u32,
874 pub SyncRefreshCount: u32,
875 pub SyncQPCTime: i64,
876 pub SyncGPUTime: i64,
877 pub CompositionMode: DXGI_FRAME_PRESENTATION_MODE,
878 pub ApprovedPresentDuration: u32,
879 }
880 impl DXGI_FRAME_STATISTICS_MEDIA {}
881 impl ::std::default::Default for DXGI_FRAME_STATISTICS_MEDIA {
default() -> Self882 fn default() -> Self {
883 unsafe { ::std::mem::zeroed() }
884 }
885 }
886 impl ::std::fmt::Debug for DXGI_FRAME_STATISTICS_MEDIA {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result887 fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
888 fmt.debug_struct("DXGI_FRAME_STATISTICS_MEDIA")
889 .field("PresentCount", &self.PresentCount)
890 .field("PresentRefreshCount", &self.PresentRefreshCount)
891 .field("SyncRefreshCount", &self.SyncRefreshCount)
892 .field("SyncQPCTime", &self.SyncQPCTime)
893 .field("SyncGPUTime", &self.SyncGPUTime)
894 .field("CompositionMode", &self.CompositionMode)
895 .field("ApprovedPresentDuration", &self.ApprovedPresentDuration)
896 .finish()
897 }
898 }
899 impl ::std::cmp::PartialEq for DXGI_FRAME_STATISTICS_MEDIA {
eq(&self, other: &Self) -> bool900 fn eq(&self, other: &Self) -> bool {
901 self.PresentCount == other.PresentCount && self.PresentRefreshCount == other.PresentRefreshCount && self.SyncRefreshCount == other.SyncRefreshCount && self.SyncQPCTime == other.SyncQPCTime && self.SyncGPUTime == other.SyncGPUTime && self.CompositionMode == other.CompositionMode && self.ApprovedPresentDuration == other.ApprovedPresentDuration
902 }
903 }
904 impl ::std::cmp::Eq for DXGI_FRAME_STATISTICS_MEDIA {}
905 unsafe impl ::windows::runtime::Abi for DXGI_FRAME_STATISTICS_MEDIA {
906 type Abi = Self;
907 type DefaultType = Self;
908 }
909 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
910 #[repr(C)]
911 pub struct DXGI_GAMMA_CONTROL {
912 pub Scale: DXGI_RGB,
913 pub Offset: DXGI_RGB,
914 pub GammaCurve: [DXGI_RGB; 1025],
915 }
916 impl DXGI_GAMMA_CONTROL {}
917 impl ::std::default::Default for DXGI_GAMMA_CONTROL {
default() -> Self918 fn default() -> Self {
919 unsafe { ::std::mem::zeroed() }
920 }
921 }
922 impl ::std::fmt::Debug for DXGI_GAMMA_CONTROL {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result923 fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
924 fmt.debug_struct("DXGI_GAMMA_CONTROL").field("Scale", &self.Scale).field("Offset", &self.Offset).field("GammaCurve", &self.GammaCurve).finish()
925 }
926 }
927 impl ::std::cmp::PartialEq for DXGI_GAMMA_CONTROL {
eq(&self, other: &Self) -> bool928 fn eq(&self, other: &Self) -> bool {
929 self.Scale == other.Scale && self.Offset == other.Offset && self.GammaCurve == other.GammaCurve
930 }
931 }
932 impl ::std::cmp::Eq for DXGI_GAMMA_CONTROL {}
933 unsafe impl ::windows::runtime::Abi for DXGI_GAMMA_CONTROL {
934 type Abi = Self;
935 type DefaultType = Self;
936 }
937 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
938 #[repr(C)]
939 #[cfg(feature = "Win32_Foundation")]
940 pub struct DXGI_GAMMA_CONTROL_CAPABILITIES {
941 pub ScaleAndOffsetSupported: super::super::Foundation::BOOL,
942 pub MaxConvertedValue: f32,
943 pub MinConvertedValue: f32,
944 pub NumGammaControlPoints: u32,
945 pub ControlPointPositions: [f32; 1025],
946 }
947 #[cfg(feature = "Win32_Foundation")]
948 impl DXGI_GAMMA_CONTROL_CAPABILITIES {}
949 #[cfg(feature = "Win32_Foundation")]
950 impl ::std::default::Default for DXGI_GAMMA_CONTROL_CAPABILITIES {
default() -> Self951 fn default() -> Self {
952 unsafe { ::std::mem::zeroed() }
953 }
954 }
955 #[cfg(feature = "Win32_Foundation")]
956 impl ::std::fmt::Debug for DXGI_GAMMA_CONTROL_CAPABILITIES {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result957 fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
958 fmt.debug_struct("DXGI_GAMMA_CONTROL_CAPABILITIES")
959 .field("ScaleAndOffsetSupported", &self.ScaleAndOffsetSupported)
960 .field("MaxConvertedValue", &self.MaxConvertedValue)
961 .field("MinConvertedValue", &self.MinConvertedValue)
962 .field("NumGammaControlPoints", &self.NumGammaControlPoints)
963 .field("ControlPointPositions", &self.ControlPointPositions)
964 .finish()
965 }
966 }
967 #[cfg(feature = "Win32_Foundation")]
968 impl ::std::cmp::PartialEq for DXGI_GAMMA_CONTROL_CAPABILITIES {
eq(&self, other: &Self) -> bool969 fn eq(&self, other: &Self) -> bool {
970 self.ScaleAndOffsetSupported == other.ScaleAndOffsetSupported && self.MaxConvertedValue == other.MaxConvertedValue && self.MinConvertedValue == other.MinConvertedValue && self.NumGammaControlPoints == other.NumGammaControlPoints && self.ControlPointPositions == other.ControlPointPositions
971 }
972 }
973 #[cfg(feature = "Win32_Foundation")]
974 impl ::std::cmp::Eq for DXGI_GAMMA_CONTROL_CAPABILITIES {}
975 #[cfg(feature = "Win32_Foundation")]
976 unsafe impl ::windows::runtime::Abi for DXGI_GAMMA_CONTROL_CAPABILITIES {
977 type Abi = Self;
978 type DefaultType = Self;
979 }
980 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
981 #[repr(transparent)]
982 pub struct DXGI_GPU_PREFERENCE(pub i32);
983 pub const DXGI_GPU_PREFERENCE_UNSPECIFIED: DXGI_GPU_PREFERENCE = DXGI_GPU_PREFERENCE(0i32);
984 pub const DXGI_GPU_PREFERENCE_MINIMUM_POWER: DXGI_GPU_PREFERENCE = DXGI_GPU_PREFERENCE(1i32);
985 pub const DXGI_GPU_PREFERENCE_HIGH_PERFORMANCE: DXGI_GPU_PREFERENCE = DXGI_GPU_PREFERENCE(2i32);
986 impl ::std::convert::From<i32> for DXGI_GPU_PREFERENCE {
from(value: i32) -> Self987 fn from(value: i32) -> Self {
988 Self(value)
989 }
990 }
991 unsafe impl ::windows::runtime::Abi for DXGI_GPU_PREFERENCE {
992 type Abi = Self;
993 type DefaultType = Self;
994 }
995 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
996 #[repr(transparent)]
997 pub struct DXGI_GRAPHICS_PREEMPTION_GRANULARITY(pub i32);
998 pub const DXGI_GRAPHICS_PREEMPTION_DMA_BUFFER_BOUNDARY: DXGI_GRAPHICS_PREEMPTION_GRANULARITY = DXGI_GRAPHICS_PREEMPTION_GRANULARITY(0i32);
999 pub const DXGI_GRAPHICS_PREEMPTION_PRIMITIVE_BOUNDARY: DXGI_GRAPHICS_PREEMPTION_GRANULARITY = DXGI_GRAPHICS_PREEMPTION_GRANULARITY(1i32);
1000 pub const DXGI_GRAPHICS_PREEMPTION_TRIANGLE_BOUNDARY: DXGI_GRAPHICS_PREEMPTION_GRANULARITY = DXGI_GRAPHICS_PREEMPTION_GRANULARITY(2i32);
1001 pub const DXGI_GRAPHICS_PREEMPTION_PIXEL_BOUNDARY: DXGI_GRAPHICS_PREEMPTION_GRANULARITY = DXGI_GRAPHICS_PREEMPTION_GRANULARITY(3i32);
1002 pub const DXGI_GRAPHICS_PREEMPTION_INSTRUCTION_BOUNDARY: DXGI_GRAPHICS_PREEMPTION_GRANULARITY = DXGI_GRAPHICS_PREEMPTION_GRANULARITY(4i32);
1003 impl ::std::convert::From<i32> for DXGI_GRAPHICS_PREEMPTION_GRANULARITY {
from(value: i32) -> Self1004 fn from(value: i32) -> Self {
1005 Self(value)
1006 }
1007 }
1008 unsafe impl ::windows::runtime::Abi for DXGI_GRAPHICS_PREEMPTION_GRANULARITY {
1009 type Abi = Self;
1010 type DefaultType = Self;
1011 }
1012 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
1013 #[repr(transparent)]
1014 pub struct DXGI_HARDWARE_COMPOSITION_SUPPORT_FLAGS(pub u32);
1015 pub const DXGI_HARDWARE_COMPOSITION_SUPPORT_FLAG_FULLSCREEN: DXGI_HARDWARE_COMPOSITION_SUPPORT_FLAGS = DXGI_HARDWARE_COMPOSITION_SUPPORT_FLAGS(1u32);
1016 pub const DXGI_HARDWARE_COMPOSITION_SUPPORT_FLAG_WINDOWED: DXGI_HARDWARE_COMPOSITION_SUPPORT_FLAGS = DXGI_HARDWARE_COMPOSITION_SUPPORT_FLAGS(2u32);
1017 pub const DXGI_HARDWARE_COMPOSITION_SUPPORT_FLAG_CURSOR_STRETCHED: DXGI_HARDWARE_COMPOSITION_SUPPORT_FLAGS = DXGI_HARDWARE_COMPOSITION_SUPPORT_FLAGS(4u32);
1018 impl ::std::convert::From<u32> for DXGI_HARDWARE_COMPOSITION_SUPPORT_FLAGS {
from(value: u32) -> Self1019 fn from(value: u32) -> Self {
1020 Self(value)
1021 }
1022 }
1023 unsafe impl ::windows::runtime::Abi for DXGI_HARDWARE_COMPOSITION_SUPPORT_FLAGS {
1024 type Abi = Self;
1025 type DefaultType = Self;
1026 }
1027 impl ::std::ops::BitOr for DXGI_HARDWARE_COMPOSITION_SUPPORT_FLAGS {
1028 type Output = Self;
bitor(self, rhs: Self) -> Self1029 fn bitor(self, rhs: Self) -> Self {
1030 Self(self.0 | rhs.0)
1031 }
1032 }
1033 impl ::std::ops::BitAnd for DXGI_HARDWARE_COMPOSITION_SUPPORT_FLAGS {
1034 type Output = Self;
bitand(self, rhs: Self) -> Self1035 fn bitand(self, rhs: Self) -> Self {
1036 Self(self.0 & rhs.0)
1037 }
1038 }
1039 impl ::std::ops::BitOrAssign for DXGI_HARDWARE_COMPOSITION_SUPPORT_FLAGS {
bitor_assign(&mut self, rhs: Self)1040 fn bitor_assign(&mut self, rhs: Self) {
1041 self.0.bitor_assign(rhs.0)
1042 }
1043 }
1044 impl ::std::ops::BitAndAssign for DXGI_HARDWARE_COMPOSITION_SUPPORT_FLAGS {
bitand_assign(&mut self, rhs: Self)1045 fn bitand_assign(&mut self, rhs: Self) {
1046 self.0.bitand_assign(rhs.0)
1047 }
1048 }
1049 impl ::std::ops::Not for DXGI_HARDWARE_COMPOSITION_SUPPORT_FLAGS {
1050 type Output = Self;
not(self) -> Self1051 fn not(self) -> Self {
1052 Self(self.0.not())
1053 }
1054 }
1055 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
1056 #[repr(C)]
1057 pub struct DXGI_HDR_METADATA_HDR10 {
1058 pub RedPrimary: [u16; 2],
1059 pub GreenPrimary: [u16; 2],
1060 pub BluePrimary: [u16; 2],
1061 pub WhitePoint: [u16; 2],
1062 pub MaxMasteringLuminance: u32,
1063 pub MinMasteringLuminance: u32,
1064 pub MaxContentLightLevel: u16,
1065 pub MaxFrameAverageLightLevel: u16,
1066 }
1067 impl DXGI_HDR_METADATA_HDR10 {}
1068 impl ::std::default::Default for DXGI_HDR_METADATA_HDR10 {
default() -> Self1069 fn default() -> Self {
1070 unsafe { ::std::mem::zeroed() }
1071 }
1072 }
1073 impl ::std::fmt::Debug for DXGI_HDR_METADATA_HDR10 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result1074 fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
1075 fmt.debug_struct("DXGI_HDR_METADATA_HDR10")
1076 .field("RedPrimary", &self.RedPrimary)
1077 .field("GreenPrimary", &self.GreenPrimary)
1078 .field("BluePrimary", &self.BluePrimary)
1079 .field("WhitePoint", &self.WhitePoint)
1080 .field("MaxMasteringLuminance", &self.MaxMasteringLuminance)
1081 .field("MinMasteringLuminance", &self.MinMasteringLuminance)
1082 .field("MaxContentLightLevel", &self.MaxContentLightLevel)
1083 .field("MaxFrameAverageLightLevel", &self.MaxFrameAverageLightLevel)
1084 .finish()
1085 }
1086 }
1087 impl ::std::cmp::PartialEq for DXGI_HDR_METADATA_HDR10 {
eq(&self, other: &Self) -> bool1088 fn eq(&self, other: &Self) -> bool {
1089 self.RedPrimary == other.RedPrimary && self.GreenPrimary == other.GreenPrimary && self.BluePrimary == other.BluePrimary && self.WhitePoint == other.WhitePoint && self.MaxMasteringLuminance == other.MaxMasteringLuminance && self.MinMasteringLuminance == other.MinMasteringLuminance && self.MaxContentLightLevel == other.MaxContentLightLevel && self.MaxFrameAverageLightLevel == other.MaxFrameAverageLightLevel
1090 }
1091 }
1092 impl ::std::cmp::Eq for DXGI_HDR_METADATA_HDR10 {}
1093 unsafe impl ::windows::runtime::Abi for DXGI_HDR_METADATA_HDR10 {
1094 type Abi = Self;
1095 type DefaultType = Self;
1096 }
1097 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
1098 #[repr(C)]
1099 pub struct DXGI_HDR_METADATA_HDR10PLUS {
1100 pub Data: [u8; 72],
1101 }
1102 impl DXGI_HDR_METADATA_HDR10PLUS {}
1103 impl ::std::default::Default for DXGI_HDR_METADATA_HDR10PLUS {
default() -> Self1104 fn default() -> Self {
1105 unsafe { ::std::mem::zeroed() }
1106 }
1107 }
1108 impl ::std::fmt::Debug for DXGI_HDR_METADATA_HDR10PLUS {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result1109 fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
1110 fmt.debug_struct("DXGI_HDR_METADATA_HDR10PLUS").field("Data", &self.Data).finish()
1111 }
1112 }
1113 impl ::std::cmp::PartialEq for DXGI_HDR_METADATA_HDR10PLUS {
eq(&self, other: &Self) -> bool1114 fn eq(&self, other: &Self) -> bool {
1115 self.Data == other.Data
1116 }
1117 }
1118 impl ::std::cmp::Eq for DXGI_HDR_METADATA_HDR10PLUS {}
1119 unsafe impl ::windows::runtime::Abi for DXGI_HDR_METADATA_HDR10PLUS {
1120 type Abi = Self;
1121 type DefaultType = Self;
1122 }
1123 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
1124 #[repr(transparent)]
1125 pub struct DXGI_HDR_METADATA_TYPE(pub i32);
1126 pub const DXGI_HDR_METADATA_TYPE_NONE: DXGI_HDR_METADATA_TYPE = DXGI_HDR_METADATA_TYPE(0i32);
1127 pub const DXGI_HDR_METADATA_TYPE_HDR10: DXGI_HDR_METADATA_TYPE = DXGI_HDR_METADATA_TYPE(1i32);
1128 pub const DXGI_HDR_METADATA_TYPE_HDR10PLUS: DXGI_HDR_METADATA_TYPE = DXGI_HDR_METADATA_TYPE(2i32);
1129 impl ::std::convert::From<i32> for DXGI_HDR_METADATA_TYPE {
from(value: i32) -> Self1130 fn from(value: i32) -> Self {
1131 Self(value)
1132 }
1133 }
1134 unsafe impl ::windows::runtime::Abi for DXGI_HDR_METADATA_TYPE {
1135 type Abi = Self;
1136 type DefaultType = Self;
1137 }
1138 pub const DXGI_INFO_QUEUE_DEFAULT_MESSAGE_COUNT_LIMIT: u32 = 1024u32;
1139 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
1140 #[repr(C)]
1141 pub struct DXGI_INFO_QUEUE_FILTER {
1142 pub AllowList: DXGI_INFO_QUEUE_FILTER_DESC,
1143 pub DenyList: DXGI_INFO_QUEUE_FILTER_DESC,
1144 }
1145 impl DXGI_INFO_QUEUE_FILTER {}
1146 impl ::std::default::Default for DXGI_INFO_QUEUE_FILTER {
default() -> Self1147 fn default() -> Self {
1148 unsafe { ::std::mem::zeroed() }
1149 }
1150 }
1151 impl ::std::fmt::Debug for DXGI_INFO_QUEUE_FILTER {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result1152 fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
1153 fmt.debug_struct("DXGI_INFO_QUEUE_FILTER").field("AllowList", &self.AllowList).field("DenyList", &self.DenyList).finish()
1154 }
1155 }
1156 impl ::std::cmp::PartialEq for DXGI_INFO_QUEUE_FILTER {
eq(&self, other: &Self) -> bool1157 fn eq(&self, other: &Self) -> bool {
1158 self.AllowList == other.AllowList && self.DenyList == other.DenyList
1159 }
1160 }
1161 impl ::std::cmp::Eq for DXGI_INFO_QUEUE_FILTER {}
1162 unsafe impl ::windows::runtime::Abi for DXGI_INFO_QUEUE_FILTER {
1163 type Abi = Self;
1164 type DefaultType = Self;
1165 }
1166 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
1167 #[repr(C)]
1168 pub struct DXGI_INFO_QUEUE_FILTER_DESC {
1169 pub NumCategories: u32,
1170 pub pCategoryList: *mut DXGI_INFO_QUEUE_MESSAGE_CATEGORY,
1171 pub NumSeverities: u32,
1172 pub pSeverityList: *mut DXGI_INFO_QUEUE_MESSAGE_SEVERITY,
1173 pub NumIDs: u32,
1174 pub pIDList: *mut i32,
1175 }
1176 impl DXGI_INFO_QUEUE_FILTER_DESC {}
1177 impl ::std::default::Default for DXGI_INFO_QUEUE_FILTER_DESC {
default() -> Self1178 fn default() -> Self {
1179 unsafe { ::std::mem::zeroed() }
1180 }
1181 }
1182 impl ::std::fmt::Debug for DXGI_INFO_QUEUE_FILTER_DESC {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result1183 fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
1184 fmt.debug_struct("DXGI_INFO_QUEUE_FILTER_DESC").field("NumCategories", &self.NumCategories).field("pCategoryList", &self.pCategoryList).field("NumSeverities", &self.NumSeverities).field("pSeverityList", &self.pSeverityList).field("NumIDs", &self.NumIDs).field("pIDList", &self.pIDList).finish()
1185 }
1186 }
1187 impl ::std::cmp::PartialEq for DXGI_INFO_QUEUE_FILTER_DESC {
eq(&self, other: &Self) -> bool1188 fn eq(&self, other: &Self) -> bool {
1189 self.NumCategories == other.NumCategories && self.pCategoryList == other.pCategoryList && self.NumSeverities == other.NumSeverities && self.pSeverityList == other.pSeverityList && self.NumIDs == other.NumIDs && self.pIDList == other.pIDList
1190 }
1191 }
1192 impl ::std::cmp::Eq for DXGI_INFO_QUEUE_FILTER_DESC {}
1193 unsafe impl ::windows::runtime::Abi for DXGI_INFO_QUEUE_FILTER_DESC {
1194 type Abi = Self;
1195 type DefaultType = Self;
1196 }
1197 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
1198 #[repr(C)]
1199 pub struct DXGI_INFO_QUEUE_MESSAGE {
1200 pub Producer: ::windows::runtime::GUID,
1201 pub Category: DXGI_INFO_QUEUE_MESSAGE_CATEGORY,
1202 pub Severity: DXGI_INFO_QUEUE_MESSAGE_SEVERITY,
1203 pub ID: i32,
1204 pub pDescription: *mut u8,
1205 pub DescriptionByteLength: usize,
1206 }
1207 impl DXGI_INFO_QUEUE_MESSAGE {}
1208 impl ::std::default::Default for DXGI_INFO_QUEUE_MESSAGE {
default() -> Self1209 fn default() -> Self {
1210 unsafe { ::std::mem::zeroed() }
1211 }
1212 }
1213 impl ::std::fmt::Debug for DXGI_INFO_QUEUE_MESSAGE {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result1214 fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
1215 fmt.debug_struct("DXGI_INFO_QUEUE_MESSAGE").field("Producer", &self.Producer).field("Category", &self.Category).field("Severity", &self.Severity).field("ID", &self.ID).field("pDescription", &self.pDescription).field("DescriptionByteLength", &self.DescriptionByteLength).finish()
1216 }
1217 }
1218 impl ::std::cmp::PartialEq for DXGI_INFO_QUEUE_MESSAGE {
eq(&self, other: &Self) -> bool1219 fn eq(&self, other: &Self) -> bool {
1220 self.Producer == other.Producer && self.Category == other.Category && self.Severity == other.Severity && self.ID == other.ID && self.pDescription == other.pDescription && self.DescriptionByteLength == other.DescriptionByteLength
1221 }
1222 }
1223 impl ::std::cmp::Eq for DXGI_INFO_QUEUE_MESSAGE {}
1224 unsafe impl ::windows::runtime::Abi for DXGI_INFO_QUEUE_MESSAGE {
1225 type Abi = Self;
1226 type DefaultType = Self;
1227 }
1228 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
1229 #[repr(transparent)]
1230 pub struct DXGI_INFO_QUEUE_MESSAGE_CATEGORY(pub i32);
1231 pub const DXGI_INFO_QUEUE_MESSAGE_CATEGORY_UNKNOWN: DXGI_INFO_QUEUE_MESSAGE_CATEGORY = DXGI_INFO_QUEUE_MESSAGE_CATEGORY(0i32);
1232 pub const DXGI_INFO_QUEUE_MESSAGE_CATEGORY_MISCELLANEOUS: DXGI_INFO_QUEUE_MESSAGE_CATEGORY = DXGI_INFO_QUEUE_MESSAGE_CATEGORY(1i32);
1233 pub const DXGI_INFO_QUEUE_MESSAGE_CATEGORY_INITIALIZATION: DXGI_INFO_QUEUE_MESSAGE_CATEGORY = DXGI_INFO_QUEUE_MESSAGE_CATEGORY(2i32);
1234 pub const DXGI_INFO_QUEUE_MESSAGE_CATEGORY_CLEANUP: DXGI_INFO_QUEUE_MESSAGE_CATEGORY = DXGI_INFO_QUEUE_MESSAGE_CATEGORY(3i32);
1235 pub const DXGI_INFO_QUEUE_MESSAGE_CATEGORY_COMPILATION: DXGI_INFO_QUEUE_MESSAGE_CATEGORY = DXGI_INFO_QUEUE_MESSAGE_CATEGORY(4i32);
1236 pub const DXGI_INFO_QUEUE_MESSAGE_CATEGORY_STATE_CREATION: DXGI_INFO_QUEUE_MESSAGE_CATEGORY = DXGI_INFO_QUEUE_MESSAGE_CATEGORY(5i32);
1237 pub const DXGI_INFO_QUEUE_MESSAGE_CATEGORY_STATE_SETTING: DXGI_INFO_QUEUE_MESSAGE_CATEGORY = DXGI_INFO_QUEUE_MESSAGE_CATEGORY(6i32);
1238 pub const DXGI_INFO_QUEUE_MESSAGE_CATEGORY_STATE_GETTING: DXGI_INFO_QUEUE_MESSAGE_CATEGORY = DXGI_INFO_QUEUE_MESSAGE_CATEGORY(7i32);
1239 pub const DXGI_INFO_QUEUE_MESSAGE_CATEGORY_RESOURCE_MANIPULATION: DXGI_INFO_QUEUE_MESSAGE_CATEGORY = DXGI_INFO_QUEUE_MESSAGE_CATEGORY(8i32);
1240 pub const DXGI_INFO_QUEUE_MESSAGE_CATEGORY_EXECUTION: DXGI_INFO_QUEUE_MESSAGE_CATEGORY = DXGI_INFO_QUEUE_MESSAGE_CATEGORY(9i32);
1241 pub const DXGI_INFO_QUEUE_MESSAGE_CATEGORY_SHADER: DXGI_INFO_QUEUE_MESSAGE_CATEGORY = DXGI_INFO_QUEUE_MESSAGE_CATEGORY(10i32);
1242 impl ::std::convert::From<i32> for DXGI_INFO_QUEUE_MESSAGE_CATEGORY {
from(value: i32) -> Self1243 fn from(value: i32) -> Self {
1244 Self(value)
1245 }
1246 }
1247 unsafe impl ::windows::runtime::Abi for DXGI_INFO_QUEUE_MESSAGE_CATEGORY {
1248 type Abi = Self;
1249 type DefaultType = Self;
1250 }
1251 pub const DXGI_INFO_QUEUE_MESSAGE_ID_STRING_FROM_APPLICATION: u32 = 0u32;
1252 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
1253 #[repr(transparent)]
1254 pub struct DXGI_INFO_QUEUE_MESSAGE_SEVERITY(pub i32);
1255 pub const DXGI_INFO_QUEUE_MESSAGE_SEVERITY_CORRUPTION: DXGI_INFO_QUEUE_MESSAGE_SEVERITY = DXGI_INFO_QUEUE_MESSAGE_SEVERITY(0i32);
1256 pub const DXGI_INFO_QUEUE_MESSAGE_SEVERITY_ERROR: DXGI_INFO_QUEUE_MESSAGE_SEVERITY = DXGI_INFO_QUEUE_MESSAGE_SEVERITY(1i32);
1257 pub const DXGI_INFO_QUEUE_MESSAGE_SEVERITY_WARNING: DXGI_INFO_QUEUE_MESSAGE_SEVERITY = DXGI_INFO_QUEUE_MESSAGE_SEVERITY(2i32);
1258 pub const DXGI_INFO_QUEUE_MESSAGE_SEVERITY_INFO: DXGI_INFO_QUEUE_MESSAGE_SEVERITY = DXGI_INFO_QUEUE_MESSAGE_SEVERITY(3i32);
1259 pub const DXGI_INFO_QUEUE_MESSAGE_SEVERITY_MESSAGE: DXGI_INFO_QUEUE_MESSAGE_SEVERITY = DXGI_INFO_QUEUE_MESSAGE_SEVERITY(4i32);
1260 impl ::std::convert::From<i32> for DXGI_INFO_QUEUE_MESSAGE_SEVERITY {
from(value: i32) -> Self1261 fn from(value: i32) -> Self {
1262 Self(value)
1263 }
1264 }
1265 unsafe impl ::windows::runtime::Abi for DXGI_INFO_QUEUE_MESSAGE_SEVERITY {
1266 type Abi = Self;
1267 type DefaultType = Self;
1268 }
1269 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
1270 #[repr(C)]
1271 pub struct DXGI_JPEG_AC_HUFFMAN_TABLE {
1272 pub CodeCounts: [u8; 16],
1273 pub CodeValues: [u8; 162],
1274 }
1275 impl DXGI_JPEG_AC_HUFFMAN_TABLE {}
1276 impl ::std::default::Default for DXGI_JPEG_AC_HUFFMAN_TABLE {
default() -> Self1277 fn default() -> Self {
1278 unsafe { ::std::mem::zeroed() }
1279 }
1280 }
1281 impl ::std::fmt::Debug for DXGI_JPEG_AC_HUFFMAN_TABLE {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result1282 fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
1283 fmt.debug_struct("DXGI_JPEG_AC_HUFFMAN_TABLE").field("CodeCounts", &self.CodeCounts).field("CodeValues", &self.CodeValues).finish()
1284 }
1285 }
1286 impl ::std::cmp::PartialEq for DXGI_JPEG_AC_HUFFMAN_TABLE {
eq(&self, other: &Self) -> bool1287 fn eq(&self, other: &Self) -> bool {
1288 self.CodeCounts == other.CodeCounts && self.CodeValues == other.CodeValues
1289 }
1290 }
1291 impl ::std::cmp::Eq for DXGI_JPEG_AC_HUFFMAN_TABLE {}
1292 unsafe impl ::windows::runtime::Abi for DXGI_JPEG_AC_HUFFMAN_TABLE {
1293 type Abi = Self;
1294 type DefaultType = Self;
1295 }
1296 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
1297 #[repr(C)]
1298 pub struct DXGI_JPEG_DC_HUFFMAN_TABLE {
1299 pub CodeCounts: [u8; 12],
1300 pub CodeValues: [u8; 12],
1301 }
1302 impl DXGI_JPEG_DC_HUFFMAN_TABLE {}
1303 impl ::std::default::Default for DXGI_JPEG_DC_HUFFMAN_TABLE {
default() -> Self1304 fn default() -> Self {
1305 unsafe { ::std::mem::zeroed() }
1306 }
1307 }
1308 impl ::std::fmt::Debug for DXGI_JPEG_DC_HUFFMAN_TABLE {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result1309 fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
1310 fmt.debug_struct("DXGI_JPEG_DC_HUFFMAN_TABLE").field("CodeCounts", &self.CodeCounts).field("CodeValues", &self.CodeValues).finish()
1311 }
1312 }
1313 impl ::std::cmp::PartialEq for DXGI_JPEG_DC_HUFFMAN_TABLE {
eq(&self, other: &Self) -> bool1314 fn eq(&self, other: &Self) -> bool {
1315 self.CodeCounts == other.CodeCounts && self.CodeValues == other.CodeValues
1316 }
1317 }
1318 impl ::std::cmp::Eq for DXGI_JPEG_DC_HUFFMAN_TABLE {}
1319 unsafe impl ::windows::runtime::Abi for DXGI_JPEG_DC_HUFFMAN_TABLE {
1320 type Abi = Self;
1321 type DefaultType = Self;
1322 }
1323 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
1324 #[repr(C)]
1325 pub struct DXGI_JPEG_QUANTIZATION_TABLE {
1326 pub Elements: [u8; 64],
1327 }
1328 impl DXGI_JPEG_QUANTIZATION_TABLE {}
1329 impl ::std::default::Default for DXGI_JPEG_QUANTIZATION_TABLE {
default() -> Self1330 fn default() -> Self {
1331 unsafe { ::std::mem::zeroed() }
1332 }
1333 }
1334 impl ::std::fmt::Debug for DXGI_JPEG_QUANTIZATION_TABLE {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result1335 fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
1336 fmt.debug_struct("DXGI_JPEG_QUANTIZATION_TABLE").field("Elements", &self.Elements).finish()
1337 }
1338 }
1339 impl ::std::cmp::PartialEq for DXGI_JPEG_QUANTIZATION_TABLE {
eq(&self, other: &Self) -> bool1340 fn eq(&self, other: &Self) -> bool {
1341 self.Elements == other.Elements
1342 }
1343 }
1344 impl ::std::cmp::Eq for DXGI_JPEG_QUANTIZATION_TABLE {}
1345 unsafe impl ::windows::runtime::Abi for DXGI_JPEG_QUANTIZATION_TABLE {
1346 type Abi = Self;
1347 type DefaultType = Self;
1348 }
1349 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
1350 #[repr(C)]
1351 pub struct DXGI_MAPPED_RECT {
1352 pub Pitch: i32,
1353 pub pBits: *mut u8,
1354 }
1355 impl DXGI_MAPPED_RECT {}
1356 impl ::std::default::Default for DXGI_MAPPED_RECT {
default() -> Self1357 fn default() -> Self {
1358 unsafe { ::std::mem::zeroed() }
1359 }
1360 }
1361 impl ::std::fmt::Debug for DXGI_MAPPED_RECT {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result1362 fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
1363 fmt.debug_struct("DXGI_MAPPED_RECT").field("Pitch", &self.Pitch).field("pBits", &self.pBits).finish()
1364 }
1365 }
1366 impl ::std::cmp::PartialEq for DXGI_MAPPED_RECT {
eq(&self, other: &Self) -> bool1367 fn eq(&self, other: &Self) -> bool {
1368 self.Pitch == other.Pitch && self.pBits == other.pBits
1369 }
1370 }
1371 impl ::std::cmp::Eq for DXGI_MAPPED_RECT {}
1372 unsafe impl ::windows::runtime::Abi for DXGI_MAPPED_RECT {
1373 type Abi = Self;
1374 type DefaultType = Self;
1375 }
1376 pub const DXGI_MAP_DISCARD: u32 = 4u32;
1377 pub const DXGI_MAP_READ: u32 = 1u32;
1378 pub const DXGI_MAP_WRITE: u32 = 2u32;
1379 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
1380 #[repr(C)]
1381 pub struct DXGI_MATRIX_3X2_F {
1382 pub _11: f32,
1383 pub _12: f32,
1384 pub _21: f32,
1385 pub _22: f32,
1386 pub _31: f32,
1387 pub _32: f32,
1388 }
1389 impl DXGI_MATRIX_3X2_F {}
1390 impl ::std::default::Default for DXGI_MATRIX_3X2_F {
default() -> Self1391 fn default() -> Self {
1392 unsafe { ::std::mem::zeroed() }
1393 }
1394 }
1395 impl ::std::fmt::Debug for DXGI_MATRIX_3X2_F {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result1396 fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
1397 fmt.debug_struct("DXGI_MATRIX_3X2_F").field("_11", &self._11).field("_12", &self._12).field("_21", &self._21).field("_22", &self._22).field("_31", &self._31).field("_32", &self._32).finish()
1398 }
1399 }
1400 impl ::std::cmp::PartialEq for DXGI_MATRIX_3X2_F {
eq(&self, other: &Self) -> bool1401 fn eq(&self, other: &Self) -> bool {
1402 self._11 == other._11 && self._12 == other._12 && self._21 == other._21 && self._22 == other._22 && self._31 == other._31 && self._32 == other._32
1403 }
1404 }
1405 impl ::std::cmp::Eq for DXGI_MATRIX_3X2_F {}
1406 unsafe impl ::windows::runtime::Abi for DXGI_MATRIX_3X2_F {
1407 type Abi = Self;
1408 type DefaultType = Self;
1409 }
1410 pub const DXGI_MAX_SWAP_CHAIN_BUFFERS: u32 = 16u32;
1411 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
1412 #[repr(transparent)]
1413 pub struct DXGI_MEMORY_SEGMENT_GROUP(pub i32);
1414 pub const DXGI_MEMORY_SEGMENT_GROUP_LOCAL: DXGI_MEMORY_SEGMENT_GROUP = DXGI_MEMORY_SEGMENT_GROUP(0i32);
1415 pub const DXGI_MEMORY_SEGMENT_GROUP_NON_LOCAL: DXGI_MEMORY_SEGMENT_GROUP = DXGI_MEMORY_SEGMENT_GROUP(1i32);
1416 impl ::std::convert::From<i32> for DXGI_MEMORY_SEGMENT_GROUP {
from(value: i32) -> Self1417 fn from(value: i32) -> Self {
1418 Self(value)
1419 }
1420 }
1421 unsafe impl ::windows::runtime::Abi for DXGI_MEMORY_SEGMENT_GROUP {
1422 type Abi = Self;
1423 type DefaultType = Self;
1424 }
1425 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
1426 #[repr(C)]
1427 pub struct DXGI_MODE_DESC {
1428 pub Width: u32,
1429 pub Height: u32,
1430 pub RefreshRate: DXGI_RATIONAL,
1431 pub Format: DXGI_FORMAT,
1432 pub ScanlineOrdering: DXGI_MODE_SCANLINE_ORDER,
1433 pub Scaling: DXGI_MODE_SCALING,
1434 }
1435 impl DXGI_MODE_DESC {}
1436 impl ::std::default::Default for DXGI_MODE_DESC {
default() -> Self1437 fn default() -> Self {
1438 unsafe { ::std::mem::zeroed() }
1439 }
1440 }
1441 impl ::std::fmt::Debug for DXGI_MODE_DESC {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result1442 fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
1443 fmt.debug_struct("DXGI_MODE_DESC").field("Width", &self.Width).field("Height", &self.Height).field("RefreshRate", &self.RefreshRate).field("Format", &self.Format).field("ScanlineOrdering", &self.ScanlineOrdering).field("Scaling", &self.Scaling).finish()
1444 }
1445 }
1446 impl ::std::cmp::PartialEq for DXGI_MODE_DESC {
eq(&self, other: &Self) -> bool1447 fn eq(&self, other: &Self) -> bool {
1448 self.Width == other.Width && self.Height == other.Height && self.RefreshRate == other.RefreshRate && self.Format == other.Format && self.ScanlineOrdering == other.ScanlineOrdering && self.Scaling == other.Scaling
1449 }
1450 }
1451 impl ::std::cmp::Eq for DXGI_MODE_DESC {}
1452 unsafe impl ::windows::runtime::Abi for DXGI_MODE_DESC {
1453 type Abi = Self;
1454 type DefaultType = Self;
1455 }
1456 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
1457 #[repr(C)]
1458 #[cfg(feature = "Win32_Foundation")]
1459 pub struct DXGI_MODE_DESC1 {
1460 pub Width: u32,
1461 pub Height: u32,
1462 pub RefreshRate: DXGI_RATIONAL,
1463 pub Format: DXGI_FORMAT,
1464 pub ScanlineOrdering: DXGI_MODE_SCANLINE_ORDER,
1465 pub Scaling: DXGI_MODE_SCALING,
1466 pub Stereo: super::super::Foundation::BOOL,
1467 }
1468 #[cfg(feature = "Win32_Foundation")]
1469 impl DXGI_MODE_DESC1 {}
1470 #[cfg(feature = "Win32_Foundation")]
1471 impl ::std::default::Default for DXGI_MODE_DESC1 {
default() -> Self1472 fn default() -> Self {
1473 unsafe { ::std::mem::zeroed() }
1474 }
1475 }
1476 #[cfg(feature = "Win32_Foundation")]
1477 impl ::std::fmt::Debug for DXGI_MODE_DESC1 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result1478 fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
1479 fmt.debug_struct("DXGI_MODE_DESC1").field("Width", &self.Width).field("Height", &self.Height).field("RefreshRate", &self.RefreshRate).field("Format", &self.Format).field("ScanlineOrdering", &self.ScanlineOrdering).field("Scaling", &self.Scaling).field("Stereo", &self.Stereo).finish()
1480 }
1481 }
1482 #[cfg(feature = "Win32_Foundation")]
1483 impl ::std::cmp::PartialEq for DXGI_MODE_DESC1 {
eq(&self, other: &Self) -> bool1484 fn eq(&self, other: &Self) -> bool {
1485 self.Width == other.Width && self.Height == other.Height && self.RefreshRate == other.RefreshRate && self.Format == other.Format && self.ScanlineOrdering == other.ScanlineOrdering && self.Scaling == other.Scaling && self.Stereo == other.Stereo
1486 }
1487 }
1488 #[cfg(feature = "Win32_Foundation")]
1489 impl ::std::cmp::Eq for DXGI_MODE_DESC1 {}
1490 #[cfg(feature = "Win32_Foundation")]
1491 unsafe impl ::windows::runtime::Abi for DXGI_MODE_DESC1 {
1492 type Abi = Self;
1493 type DefaultType = Self;
1494 }
1495 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
1496 #[repr(transparent)]
1497 pub struct DXGI_MODE_ROTATION(pub i32);
1498 pub const DXGI_MODE_ROTATION_UNSPECIFIED: DXGI_MODE_ROTATION = DXGI_MODE_ROTATION(0i32);
1499 pub const DXGI_MODE_ROTATION_IDENTITY: DXGI_MODE_ROTATION = DXGI_MODE_ROTATION(1i32);
1500 pub const DXGI_MODE_ROTATION_ROTATE90: DXGI_MODE_ROTATION = DXGI_MODE_ROTATION(2i32);
1501 pub const DXGI_MODE_ROTATION_ROTATE180: DXGI_MODE_ROTATION = DXGI_MODE_ROTATION(3i32);
1502 pub const DXGI_MODE_ROTATION_ROTATE270: DXGI_MODE_ROTATION = DXGI_MODE_ROTATION(4i32);
1503 impl ::std::convert::From<i32> for DXGI_MODE_ROTATION {
from(value: i32) -> Self1504 fn from(value: i32) -> Self {
1505 Self(value)
1506 }
1507 }
1508 unsafe impl ::windows::runtime::Abi for DXGI_MODE_ROTATION {
1509 type Abi = Self;
1510 type DefaultType = Self;
1511 }
1512 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
1513 #[repr(transparent)]
1514 pub struct DXGI_MODE_SCALING(pub i32);
1515 pub const DXGI_MODE_SCALING_UNSPECIFIED: DXGI_MODE_SCALING = DXGI_MODE_SCALING(0i32);
1516 pub const DXGI_MODE_SCALING_CENTERED: DXGI_MODE_SCALING = DXGI_MODE_SCALING(1i32);
1517 pub const DXGI_MODE_SCALING_STRETCHED: DXGI_MODE_SCALING = DXGI_MODE_SCALING(2i32);
1518 impl ::std::convert::From<i32> for DXGI_MODE_SCALING {
from(value: i32) -> Self1519 fn from(value: i32) -> Self {
1520 Self(value)
1521 }
1522 }
1523 unsafe impl ::windows::runtime::Abi for DXGI_MODE_SCALING {
1524 type Abi = Self;
1525 type DefaultType = Self;
1526 }
1527 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
1528 #[repr(transparent)]
1529 pub struct DXGI_MODE_SCANLINE_ORDER(pub i32);
1530 pub const DXGI_MODE_SCANLINE_ORDER_UNSPECIFIED: DXGI_MODE_SCANLINE_ORDER = DXGI_MODE_SCANLINE_ORDER(0i32);
1531 pub const DXGI_MODE_SCANLINE_ORDER_PROGRESSIVE: DXGI_MODE_SCANLINE_ORDER = DXGI_MODE_SCANLINE_ORDER(1i32);
1532 pub const DXGI_MODE_SCANLINE_ORDER_UPPER_FIELD_FIRST: DXGI_MODE_SCANLINE_ORDER = DXGI_MODE_SCANLINE_ORDER(2i32);
1533 pub const DXGI_MODE_SCANLINE_ORDER_LOWER_FIELD_FIRST: DXGI_MODE_SCANLINE_ORDER = DXGI_MODE_SCANLINE_ORDER(3i32);
1534 impl ::std::convert::From<i32> for DXGI_MODE_SCANLINE_ORDER {
from(value: i32) -> Self1535 fn from(value: i32) -> Self {
1536 Self(value)
1537 }
1538 }
1539 unsafe impl ::windows::runtime::Abi for DXGI_MODE_SCANLINE_ORDER {
1540 type Abi = Self;
1541 type DefaultType = Self;
1542 }
1543 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
1544 #[repr(transparent)]
1545 pub struct DXGI_MULTIPLANE_OVERLAY_YCbCr_FLAGS(pub i32);
1546 pub const DXGI_MULTIPLANE_OVERLAY_YCbCr_FLAG_NOMINAL_RANGE: DXGI_MULTIPLANE_OVERLAY_YCbCr_FLAGS = DXGI_MULTIPLANE_OVERLAY_YCbCr_FLAGS(1i32);
1547 pub const DXGI_MULTIPLANE_OVERLAY_YCbCr_FLAG_BT709: DXGI_MULTIPLANE_OVERLAY_YCbCr_FLAGS = DXGI_MULTIPLANE_OVERLAY_YCbCr_FLAGS(2i32);
1548 pub const DXGI_MULTIPLANE_OVERLAY_YCbCr_FLAG_xvYCC: DXGI_MULTIPLANE_OVERLAY_YCbCr_FLAGS = DXGI_MULTIPLANE_OVERLAY_YCbCr_FLAGS(4i32);
1549 impl ::std::convert::From<i32> for DXGI_MULTIPLANE_OVERLAY_YCbCr_FLAGS {
from(value: i32) -> Self1550 fn from(value: i32) -> Self {
1551 Self(value)
1552 }
1553 }
1554 unsafe impl ::windows::runtime::Abi for DXGI_MULTIPLANE_OVERLAY_YCbCr_FLAGS {
1555 type Abi = Self;
1556 type DefaultType = Self;
1557 }
1558 pub const DXGI_MWA_NO_ALT_ENTER: u32 = 2u32;
1559 pub const DXGI_MWA_NO_PRINT_SCREEN: u32 = 4u32;
1560 pub const DXGI_MWA_NO_WINDOW_CHANGES: u32 = 1u32;
1561 pub const DXGI_MWA_VALID: u32 = 7u32;
1562 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
1563 #[repr(transparent)]
1564 pub struct DXGI_Message_Id(pub i32);
1565 pub const DXGI_MSG_IDXGISwapChain_CreationOrResizeBuffers_InvalidOutputWindow: DXGI_Message_Id = DXGI_Message_Id(0i32);
1566 pub const DXGI_MSG_IDXGISwapChain_CreationOrResizeBuffers_BufferWidthInferred: DXGI_Message_Id = DXGI_Message_Id(1i32);
1567 pub const DXGI_MSG_IDXGISwapChain_CreationOrResizeBuffers_BufferHeightInferred: DXGI_Message_Id = DXGI_Message_Id(2i32);
1568 pub const DXGI_MSG_IDXGISwapChain_CreationOrResizeBuffers_NoScanoutFlagChanged: DXGI_Message_Id = DXGI_Message_Id(3i32);
1569 pub const DXGI_MSG_IDXGISwapChain_Creation_MaxBufferCountExceeded: DXGI_Message_Id = DXGI_Message_Id(4i32);
1570 pub const DXGI_MSG_IDXGISwapChain_Creation_TooFewBuffers: DXGI_Message_Id = DXGI_Message_Id(5i32);
1571 pub const DXGI_MSG_IDXGISwapChain_Creation_NoOutputWindow: DXGI_Message_Id = DXGI_Message_Id(6i32);
1572 pub const DXGI_MSG_IDXGISwapChain_Destruction_OtherMethodsCalled: DXGI_Message_Id = DXGI_Message_Id(7i32);
1573 pub const DXGI_MSG_IDXGISwapChain_GetDesc_pDescIsNULL: DXGI_Message_Id = DXGI_Message_Id(8i32);
1574 pub const DXGI_MSG_IDXGISwapChain_GetBuffer_ppSurfaceIsNULL: DXGI_Message_Id = DXGI_Message_Id(9i32);
1575 pub const DXGI_MSG_IDXGISwapChain_GetBuffer_NoAllocatedBuffers: DXGI_Message_Id = DXGI_Message_Id(10i32);
1576 pub const DXGI_MSG_IDXGISwapChain_GetBuffer_iBufferMustBeZero: DXGI_Message_Id = DXGI_Message_Id(11i32);
1577 pub const DXGI_MSG_IDXGISwapChain_GetBuffer_iBufferOOB: DXGI_Message_Id = DXGI_Message_Id(12i32);
1578 pub const DXGI_MSG_IDXGISwapChain_GetContainingOutput_ppOutputIsNULL: DXGI_Message_Id = DXGI_Message_Id(13i32);
1579 pub const DXGI_MSG_IDXGISwapChain_Present_SyncIntervalOOB: DXGI_Message_Id = DXGI_Message_Id(14i32);
1580 pub const DXGI_MSG_IDXGISwapChain_Present_InvalidNonPreRotatedFlag: DXGI_Message_Id = DXGI_Message_Id(15i32);
1581 pub const DXGI_MSG_IDXGISwapChain_Present_NoAllocatedBuffers: DXGI_Message_Id = DXGI_Message_Id(16i32);
1582 pub const DXGI_MSG_IDXGISwapChain_Present_GetDXGIAdapterFailed: DXGI_Message_Id = DXGI_Message_Id(17i32);
1583 pub const DXGI_MSG_IDXGISwapChain_ResizeBuffers_BufferCountOOB: DXGI_Message_Id = DXGI_Message_Id(18i32);
1584 pub const DXGI_MSG_IDXGISwapChain_ResizeBuffers_UnreleasedReferences: DXGI_Message_Id = DXGI_Message_Id(19i32);
1585 pub const DXGI_MSG_IDXGISwapChain_ResizeBuffers_InvalidSwapChainFlag: DXGI_Message_Id = DXGI_Message_Id(20i32);
1586 pub const DXGI_MSG_IDXGISwapChain_ResizeBuffers_InvalidNonPreRotatedFlag: DXGI_Message_Id = DXGI_Message_Id(21i32);
1587 pub const DXGI_MSG_IDXGISwapChain_ResizeTarget_RefreshRateDivideByZero: DXGI_Message_Id = DXGI_Message_Id(22i32);
1588 pub const DXGI_MSG_IDXGISwapChain_SetFullscreenState_InvalidTarget: DXGI_Message_Id = DXGI_Message_Id(23i32);
1589 pub const DXGI_MSG_IDXGISwapChain_GetFrameStatistics_pStatsIsNULL: DXGI_Message_Id = DXGI_Message_Id(24i32);
1590 pub const DXGI_MSG_IDXGISwapChain_GetLastPresentCount_pLastPresentCountIsNULL: DXGI_Message_Id = DXGI_Message_Id(25i32);
1591 pub const DXGI_MSG_IDXGISwapChain_SetFullscreenState_RemoteNotSupported: DXGI_Message_Id = DXGI_Message_Id(26i32);
1592 pub const DXGI_MSG_IDXGIOutput_TakeOwnership_FailedToAcquireFullscreenMutex: DXGI_Message_Id = DXGI_Message_Id(27i32);
1593 pub const DXGI_MSG_IDXGIFactory_CreateSoftwareAdapter_ppAdapterInterfaceIsNULL: DXGI_Message_Id = DXGI_Message_Id(28i32);
1594 pub const DXGI_MSG_IDXGIFactory_EnumAdapters_ppAdapterInterfaceIsNULL: DXGI_Message_Id = DXGI_Message_Id(29i32);
1595 pub const DXGI_MSG_IDXGIFactory_CreateSwapChain_ppSwapChainIsNULL: DXGI_Message_Id = DXGI_Message_Id(30i32);
1596 pub const DXGI_MSG_IDXGIFactory_CreateSwapChain_pDescIsNULL: DXGI_Message_Id = DXGI_Message_Id(31i32);
1597 pub const DXGI_MSG_IDXGIFactory_CreateSwapChain_UnknownSwapEffect: DXGI_Message_Id = DXGI_Message_Id(32i32);
1598 pub const DXGI_MSG_IDXGIFactory_CreateSwapChain_InvalidFlags: DXGI_Message_Id = DXGI_Message_Id(33i32);
1599 pub const DXGI_MSG_IDXGIFactory_CreateSwapChain_NonPreRotatedFlagAndWindowed: DXGI_Message_Id = DXGI_Message_Id(34i32);
1600 pub const DXGI_MSG_IDXGIFactory_CreateSwapChain_NullDeviceInterface: DXGI_Message_Id = DXGI_Message_Id(35i32);
1601 pub const DXGI_MSG_IDXGIFactory_GetWindowAssociation_phWndIsNULL: DXGI_Message_Id = DXGI_Message_Id(36i32);
1602 pub const DXGI_MSG_IDXGIFactory_MakeWindowAssociation_InvalidFlags: DXGI_Message_Id = DXGI_Message_Id(37i32);
1603 pub const DXGI_MSG_IDXGISurface_Map_InvalidSurface: DXGI_Message_Id = DXGI_Message_Id(38i32);
1604 pub const DXGI_MSG_IDXGISurface_Map_FlagsSetToZero: DXGI_Message_Id = DXGI_Message_Id(39i32);
1605 pub const DXGI_MSG_IDXGISurface_Map_DiscardAndReadFlagSet: DXGI_Message_Id = DXGI_Message_Id(40i32);
1606 pub const DXGI_MSG_IDXGISurface_Map_DiscardButNotWriteFlagSet: DXGI_Message_Id = DXGI_Message_Id(41i32);
1607 pub const DXGI_MSG_IDXGISurface_Map_NoCPUAccess: DXGI_Message_Id = DXGI_Message_Id(42i32);
1608 pub const DXGI_MSG_IDXGISurface_Map_ReadFlagSetButCPUAccessIsDynamic: DXGI_Message_Id = DXGI_Message_Id(43i32);
1609 pub const DXGI_MSG_IDXGISurface_Map_DiscardFlagSetButCPUAccessIsNotDynamic: DXGI_Message_Id = DXGI_Message_Id(44i32);
1610 pub const DXGI_MSG_IDXGIOutput_GetDisplayModeList_pNumModesIsNULL: DXGI_Message_Id = DXGI_Message_Id(45i32);
1611 pub const DXGI_MSG_IDXGIOutput_FindClosestMatchingMode_ModeHasInvalidWidthOrHeight: DXGI_Message_Id = DXGI_Message_Id(46i32);
1612 pub const DXGI_MSG_IDXGIOutput_GetCammaControlCapabilities_NoOwnerDevice: DXGI_Message_Id = DXGI_Message_Id(47i32);
1613 pub const DXGI_MSG_IDXGIOutput_TakeOwnership_pDeviceIsNULL: DXGI_Message_Id = DXGI_Message_Id(48i32);
1614 pub const DXGI_MSG_IDXGIOutput_GetDisplaySurfaceData_NoOwnerDevice: DXGI_Message_Id = DXGI_Message_Id(49i32);
1615 pub const DXGI_MSG_IDXGIOutput_GetDisplaySurfaceData_pDestinationIsNULL: DXGI_Message_Id = DXGI_Message_Id(50i32);
1616 pub const DXGI_MSG_IDXGIOutput_GetDisplaySurfaceData_MapOfDestinationFailed: DXGI_Message_Id = DXGI_Message_Id(51i32);
1617 pub const DXGI_MSG_IDXGIOutput_GetFrameStatistics_NoOwnerDevice: DXGI_Message_Id = DXGI_Message_Id(52i32);
1618 pub const DXGI_MSG_IDXGIOutput_GetFrameStatistics_pStatsIsNULL: DXGI_Message_Id = DXGI_Message_Id(53i32);
1619 pub const DXGI_MSG_IDXGIOutput_SetGammaControl_NoOwnerDevice: DXGI_Message_Id = DXGI_Message_Id(54i32);
1620 pub const DXGI_MSG_IDXGIOutput_GetGammaControl_NoOwnerDevice: DXGI_Message_Id = DXGI_Message_Id(55i32);
1621 pub const DXGI_MSG_IDXGIOutput_GetGammaControl_NoGammaControls: DXGI_Message_Id = DXGI_Message_Id(56i32);
1622 pub const DXGI_MSG_IDXGIOutput_SetDisplaySurface_IDXGIResourceNotSupportedBypPrimary: DXGI_Message_Id = DXGI_Message_Id(57i32);
1623 pub const DXGI_MSG_IDXGIOutput_SetDisplaySurface_pPrimaryIsInvalid: DXGI_Message_Id = DXGI_Message_Id(58i32);
1624 pub const DXGI_MSG_IDXGIOutput_SetDisplaySurface_NoOwnerDevice: DXGI_Message_Id = DXGI_Message_Id(59i32);
1625 pub const DXGI_MSG_IDXGIOutput_TakeOwnership_RemoteDeviceNotSupported: DXGI_Message_Id = DXGI_Message_Id(60i32);
1626 pub const DXGI_MSG_IDXGIOutput_GetDisplayModeList_RemoteDeviceNotSupported: DXGI_Message_Id = DXGI_Message_Id(61i32);
1627 pub const DXGI_MSG_IDXGIOutput_FindClosestMatchingMode_RemoteDeviceNotSupported: DXGI_Message_Id = DXGI_Message_Id(62i32);
1628 pub const DXGI_MSG_IDXGIDevice_CreateSurface_InvalidParametersWithpSharedResource: DXGI_Message_Id = DXGI_Message_Id(63i32);
1629 pub const DXGI_MSG_IDXGIObject_GetPrivateData_puiDataSizeIsNULL: DXGI_Message_Id = DXGI_Message_Id(64i32);
1630 pub const DXGI_MSG_IDXGISwapChain_Creation_InvalidOutputWindow: DXGI_Message_Id = DXGI_Message_Id(65i32);
1631 pub const DXGI_MSG_IDXGISwapChain_Release_SwapChainIsFullscreen: DXGI_Message_Id = DXGI_Message_Id(66i32);
1632 pub const DXGI_MSG_IDXGIOutput_GetDisplaySurfaceData_InvalidTargetSurfaceFormat: DXGI_Message_Id = DXGI_Message_Id(67i32);
1633 pub const DXGI_MSG_IDXGIFactory_CreateSoftwareAdapter_ModuleIsNULL: DXGI_Message_Id = DXGI_Message_Id(68i32);
1634 pub const DXGI_MSG_IDXGIOutput_FindClosestMatchingMode_IDXGIDeviceNotSupportedBypConcernedDevice: DXGI_Message_Id = DXGI_Message_Id(69i32);
1635 pub const DXGI_MSG_IDXGIOutput_FindClosestMatchingMode_pModeToMatchOrpClosestMatchIsNULL: DXGI_Message_Id = DXGI_Message_Id(70i32);
1636 pub const DXGI_MSG_IDXGIOutput_FindClosestMatchingMode_ModeHasRefreshRateDenominatorZero: DXGI_Message_Id = DXGI_Message_Id(71i32);
1637 pub const DXGI_MSG_IDXGIOutput_FindClosestMatchingMode_UnknownFormatIsInvalidForConfiguration: DXGI_Message_Id = DXGI_Message_Id(72i32);
1638 pub const DXGI_MSG_IDXGIOutput_FindClosestMatchingMode_InvalidDisplayModeScanlineOrdering: DXGI_Message_Id = DXGI_Message_Id(73i32);
1639 pub const DXGI_MSG_IDXGIOutput_FindClosestMatchingMode_InvalidDisplayModeScaling: DXGI_Message_Id = DXGI_Message_Id(74i32);
1640 pub const DXGI_MSG_IDXGIOutput_FindClosestMatchingMode_InvalidDisplayModeFormatAndDeviceCombination: DXGI_Message_Id = DXGI_Message_Id(75i32);
1641 pub const DXGI_MSG_IDXGIFactory_Creation_CalledFromDllMain: DXGI_Message_Id = DXGI_Message_Id(76i32);
1642 pub const DXGI_MSG_IDXGISwapChain_SetFullscreenState_OutputNotOwnedBySwapChainDevice: DXGI_Message_Id = DXGI_Message_Id(77i32);
1643 pub const DXGI_MSG_IDXGISwapChain_Creation_InvalidWindowStyle: DXGI_Message_Id = DXGI_Message_Id(78i32);
1644 pub const DXGI_MSG_IDXGISwapChain_GetFrameStatistics_UnsupportedStatistics: DXGI_Message_Id = DXGI_Message_Id(79i32);
1645 pub const DXGI_MSG_IDXGISwapChain_GetContainingOutput_SwapchainAdapterDoesNotControlOutput: DXGI_Message_Id = DXGI_Message_Id(80i32);
1646 pub const DXGI_MSG_IDXGIOutput_SetOrGetGammaControl_pArrayIsNULL: DXGI_Message_Id = DXGI_Message_Id(81i32);
1647 pub const DXGI_MSG_IDXGISwapChain_SetFullscreenState_FullscreenInvalidForChildWindows: DXGI_Message_Id = DXGI_Message_Id(82i32);
1648 pub const DXGI_MSG_IDXGIFactory_Release_CalledFromDllMain: DXGI_Message_Id = DXGI_Message_Id(83i32);
1649 pub const DXGI_MSG_IDXGISwapChain_Present_UnreleasedHDC: DXGI_Message_Id = DXGI_Message_Id(84i32);
1650 pub const DXGI_MSG_IDXGISwapChain_ResizeBuffers_NonPreRotatedAndGDICompatibleFlags: DXGI_Message_Id = DXGI_Message_Id(85i32);
1651 pub const DXGI_MSG_IDXGIFactory_CreateSwapChain_NonPreRotatedAndGDICompatibleFlags: DXGI_Message_Id = DXGI_Message_Id(86i32);
1652 pub const DXGI_MSG_IDXGISurface1_GetDC_pHdcIsNULL: DXGI_Message_Id = DXGI_Message_Id(87i32);
1653 pub const DXGI_MSG_IDXGISurface1_GetDC_SurfaceNotTexture2D: DXGI_Message_Id = DXGI_Message_Id(88i32);
1654 pub const DXGI_MSG_IDXGISurface1_GetDC_GDICompatibleFlagNotSet: DXGI_Message_Id = DXGI_Message_Id(89i32);
1655 pub const DXGI_MSG_IDXGISurface1_GetDC_UnreleasedHDC: DXGI_Message_Id = DXGI_Message_Id(90i32);
1656 pub const DXGI_MSG_IDXGISurface_Map_NoCPUAccess2: DXGI_Message_Id = DXGI_Message_Id(91i32);
1657 pub const DXGI_MSG_IDXGISurface1_ReleaseDC_GetDCNotCalled: DXGI_Message_Id = DXGI_Message_Id(92i32);
1658 pub const DXGI_MSG_IDXGISurface1_ReleaseDC_InvalidRectangleDimensions: DXGI_Message_Id = DXGI_Message_Id(93i32);
1659 pub const DXGI_MSG_IDXGIOutput_TakeOwnership_RemoteOutputNotSupported: DXGI_Message_Id = DXGI_Message_Id(94i32);
1660 pub const DXGI_MSG_IDXGIOutput_FindClosestMatchingMode_RemoteOutputNotSupported: DXGI_Message_Id = DXGI_Message_Id(95i32);
1661 pub const DXGI_MSG_IDXGIOutput_GetDisplayModeList_RemoteOutputNotSupported: DXGI_Message_Id = DXGI_Message_Id(96i32);
1662 pub const DXGI_MSG_IDXGIFactory_CreateSwapChain_pDeviceHasMismatchedDXGIFactory: DXGI_Message_Id = DXGI_Message_Id(97i32);
1663 pub const DXGI_MSG_IDXGISwapChain_Present_NonOptimalFSConfiguration: DXGI_Message_Id = DXGI_Message_Id(98i32);
1664 pub const DXGI_MSG_IDXGIFactory_CreateSwapChain_FlipSequentialNotSupportedOnD3D10: DXGI_Message_Id = DXGI_Message_Id(99i32);
1665 pub const DXGI_MSG_IDXGIFactory_CreateSwapChain_BufferCountOOBForFlipSequential: DXGI_Message_Id = DXGI_Message_Id(100i32);
1666 pub const DXGI_MSG_IDXGIFactory_CreateSwapChain_InvalidFormatForFlipSequential: DXGI_Message_Id = DXGI_Message_Id(101i32);
1667 pub const DXGI_MSG_IDXGIFactory_CreateSwapChain_MultiSamplingNotSupportedForFlipSequential: DXGI_Message_Id = DXGI_Message_Id(102i32);
1668 pub const DXGI_MSG_IDXGISwapChain_ResizeBuffers_BufferCountOOBForFlipSequential: DXGI_Message_Id = DXGI_Message_Id(103i32);
1669 pub const DXGI_MSG_IDXGISwapChain_ResizeBuffers_InvalidFormatForFlipSequential: DXGI_Message_Id = DXGI_Message_Id(104i32);
1670 pub const DXGI_MSG_IDXGISwapChain_Present_PartialPresentationBeforeStandardPresentation: DXGI_Message_Id = DXGI_Message_Id(105i32);
1671 pub const DXGI_MSG_IDXGISwapChain_Present_FullscreenPartialPresentIsInvalid: DXGI_Message_Id = DXGI_Message_Id(106i32);
1672 pub const DXGI_MSG_IDXGISwapChain_Present_InvalidPresentTestOrDoNotSequenceFlag: DXGI_Message_Id = DXGI_Message_Id(107i32);
1673 pub const DXGI_MSG_IDXGISwapChain_Present_ScrollInfoWithNoDirtyRectsSpecified: DXGI_Message_Id = DXGI_Message_Id(108i32);
1674 pub const DXGI_MSG_IDXGISwapChain_Present_EmptyScrollRect: DXGI_Message_Id = DXGI_Message_Id(109i32);
1675 pub const DXGI_MSG_IDXGISwapChain_Present_ScrollRectOutOfBackbufferBounds: DXGI_Message_Id = DXGI_Message_Id(110i32);
1676 pub const DXGI_MSG_IDXGISwapChain_Present_ScrollRectOutOfBackbufferBoundsWithOffset: DXGI_Message_Id = DXGI_Message_Id(111i32);
1677 pub const DXGI_MSG_IDXGISwapChain_Present_EmptyDirtyRect: DXGI_Message_Id = DXGI_Message_Id(112i32);
1678 pub const DXGI_MSG_IDXGISwapChain_Present_DirtyRectOutOfBackbufferBounds: DXGI_Message_Id = DXGI_Message_Id(113i32);
1679 pub const DXGI_MSG_IDXGIFactory_CreateSwapChain_UnsupportedBufferUsageFlags: DXGI_Message_Id = DXGI_Message_Id(114i32);
1680 pub const DXGI_MSG_IDXGISwapChain_Present_DoNotSequenceFlagSetButPreviousBufferIsUndefined: DXGI_Message_Id = DXGI_Message_Id(115i32);
1681 pub const DXGI_MSG_IDXGISwapChain_Present_UnsupportedFlags: DXGI_Message_Id = DXGI_Message_Id(116i32);
1682 pub const DXGI_MSG_IDXGISwapChain_Present_FlipModelChainMustResizeOrCreateOnFSTransition: DXGI_Message_Id = DXGI_Message_Id(117i32);
1683 pub const DXGI_MSG_IDXGIFactory_CreateSwapChain_pRestrictToOutputFromOtherIDXGIFactory: DXGI_Message_Id = DXGI_Message_Id(118i32);
1684 pub const DXGI_MSG_IDXGIFactory_CreateSwapChain_RestrictOutputNotSupportedOnAdapter: DXGI_Message_Id = DXGI_Message_Id(119i32);
1685 pub const DXGI_MSG_IDXGISwapChain_Present_RestrictToOutputFlagSetButInvalidpRestrictToOutput: DXGI_Message_Id = DXGI_Message_Id(120i32);
1686 pub const DXGI_MSG_IDXGISwapChain_Present_RestrictToOutputFlagdWithFullscreen: DXGI_Message_Id = DXGI_Message_Id(121i32);
1687 pub const DXGI_MSG_IDXGISwapChain_Present_RestrictOutputFlagWithStaleSwapChain: DXGI_Message_Id = DXGI_Message_Id(122i32);
1688 pub const DXGI_MSG_IDXGISwapChain_Present_OtherFlagsCausingInvalidPresentTestFlag: DXGI_Message_Id = DXGI_Message_Id(123i32);
1689 pub const DXGI_MSG_IDXGIFactory_CreateSwapChain_UnavailableInSession0: DXGI_Message_Id = DXGI_Message_Id(124i32);
1690 pub const DXGI_MSG_IDXGIFactory_MakeWindowAssociation_UnavailableInSession0: DXGI_Message_Id = DXGI_Message_Id(125i32);
1691 pub const DXGI_MSG_IDXGIFactory_GetWindowAssociation_UnavailableInSession0: DXGI_Message_Id = DXGI_Message_Id(126i32);
1692 pub const DXGI_MSG_IDXGIAdapter_EnumOutputs_UnavailableInSession0: DXGI_Message_Id = DXGI_Message_Id(127i32);
1693 pub const DXGI_MSG_IDXGISwapChain_CreationOrSetFullscreenState_StereoDisabled: DXGI_Message_Id = DXGI_Message_Id(128i32);
1694 pub const DXGI_MSG_IDXGIFactory2_UnregisterStatus_CookieNotFound: DXGI_Message_Id = DXGI_Message_Id(129i32);
1695 pub const DXGI_MSG_IDXGISwapChain_Present_ProtectedContentInWindowedModeWithoutFSOrOverlay: DXGI_Message_Id = DXGI_Message_Id(130i32);
1696 pub const DXGI_MSG_IDXGISwapChain_Present_ProtectedContentInWindowedModeWithoutFlipSequential: DXGI_Message_Id = DXGI_Message_Id(131i32);
1697 pub const DXGI_MSG_IDXGISwapChain_Present_ProtectedContentWithRDPDriver: DXGI_Message_Id = DXGI_Message_Id(132i32);
1698 pub const DXGI_MSG_IDXGISwapChain_Present_ProtectedContentInWindowedModeWithDWMOffOrInvalidDisplayAffinity: DXGI_Message_Id = DXGI_Message_Id(133i32);
1699 pub const DXGI_MSG_IDXGIFactory_CreateSwapChainForComposition_WidthOrHeightIsZero: DXGI_Message_Id = DXGI_Message_Id(134i32);
1700 pub const DXGI_MSG_IDXGIFactory_CreateSwapChainForComposition_OnlyFlipSequentialSupported: DXGI_Message_Id = DXGI_Message_Id(135i32);
1701 pub const DXGI_MSG_IDXGIFactory_CreateSwapChainForComposition_UnsupportedOnAdapter: DXGI_Message_Id = DXGI_Message_Id(136i32);
1702 pub const DXGI_MSG_IDXGIFactory_CreateSwapChainForComposition_UnsupportedOnWindows7: DXGI_Message_Id = DXGI_Message_Id(137i32);
1703 pub const DXGI_MSG_IDXGISwapChain_SetFullscreenState_FSTransitionWithCompositionSwapChain: DXGI_Message_Id = DXGI_Message_Id(138i32);
1704 pub const DXGI_MSG_IDXGISwapChain_ResizeTarget_InvalidWithCompositionSwapChain: DXGI_Message_Id = DXGI_Message_Id(139i32);
1705 pub const DXGI_MSG_IDXGISwapChain_ResizeBuffers_WidthOrHeightIsZero: DXGI_Message_Id = DXGI_Message_Id(140i32);
1706 pub const DXGI_MSG_IDXGIFactory_CreateSwapChain_ScalingNoneIsFlipModelOnly: DXGI_Message_Id = DXGI_Message_Id(141i32);
1707 pub const DXGI_MSG_IDXGIFactory_CreateSwapChain_ScalingUnrecognized: DXGI_Message_Id = DXGI_Message_Id(142i32);
1708 pub const DXGI_MSG_IDXGIFactory_CreateSwapChain_DisplayOnlyFullscreenUnsupported: DXGI_Message_Id = DXGI_Message_Id(143i32);
1709 pub const DXGI_MSG_IDXGIFactory_CreateSwapChain_DisplayOnlyUnsupported: DXGI_Message_Id = DXGI_Message_Id(144i32);
1710 pub const DXGI_MSG_IDXGISwapChain_Present_RestartIsFullscreenOnly: DXGI_Message_Id = DXGI_Message_Id(145i32);
1711 pub const DXGI_MSG_IDXGISwapChain_Present_ProtectedWindowlessPresentationRequiresDisplayOnly: DXGI_Message_Id = DXGI_Message_Id(146i32);
1712 pub const DXGI_MSG_IDXGISwapChain_SetFullscreenState_DisplayOnlyUnsupported: DXGI_Message_Id = DXGI_Message_Id(147i32);
1713 pub const DXGI_MSG_IDXGISwapChain1_SetBackgroundColor_OutOfRange: DXGI_Message_Id = DXGI_Message_Id(148i32);
1714 pub const DXGI_MSG_IDXGISwapChain_ResizeBuffers_DisplayOnlyFullscreenUnsupported: DXGI_Message_Id = DXGI_Message_Id(149i32);
1715 pub const DXGI_MSG_IDXGISwapChain_ResizeBuffers_DisplayOnlyUnsupported: DXGI_Message_Id = DXGI_Message_Id(150i32);
1716 pub const DXGI_MSG_IDXGISwapchain_Present_ScrollUnsupported: DXGI_Message_Id = DXGI_Message_Id(151i32);
1717 pub const DXGI_MSG_IDXGISwapChain1_SetRotation_UnsupportedOS: DXGI_Message_Id = DXGI_Message_Id(152i32);
1718 pub const DXGI_MSG_IDXGISwapChain1_GetRotation_UnsupportedOS: DXGI_Message_Id = DXGI_Message_Id(153i32);
1719 pub const DXGI_MSG_IDXGISwapchain_Present_FullscreenRotation: DXGI_Message_Id = DXGI_Message_Id(154i32);
1720 pub const DXGI_MSG_IDXGISwapChain_Present_PartialPresentationWithMSAABuffers: DXGI_Message_Id = DXGI_Message_Id(155i32);
1721 pub const DXGI_MSG_IDXGISwapChain1_SetRotation_FlipSequentialRequired: DXGI_Message_Id = DXGI_Message_Id(156i32);
1722 pub const DXGI_MSG_IDXGISwapChain1_SetRotation_InvalidRotation: DXGI_Message_Id = DXGI_Message_Id(157i32);
1723 pub const DXGI_MSG_IDXGISwapChain1_GetRotation_FlipSequentialRequired: DXGI_Message_Id = DXGI_Message_Id(158i32);
1724 pub const DXGI_MSG_IDXGISwapChain_GetHwnd_WrongType: DXGI_Message_Id = DXGI_Message_Id(159i32);
1725 pub const DXGI_MSG_IDXGISwapChain_GetCompositionSurface_WrongType: DXGI_Message_Id = DXGI_Message_Id(160i32);
1726 pub const DXGI_MSG_IDXGISwapChain_GetCoreWindow_WrongType: DXGI_Message_Id = DXGI_Message_Id(161i32);
1727 pub const DXGI_MSG_IDXGISwapChain_GetFullscreenDesc_NonHwnd: DXGI_Message_Id = DXGI_Message_Id(162i32);
1728 pub const DXGI_MSG_IDXGISwapChain_SetFullscreenState_CoreWindow: DXGI_Message_Id = DXGI_Message_Id(163i32);
1729 pub const DXGI_MSG_IDXGIFactory2_CreateSwapChainForCoreWindow_UnsupportedOnWindows7: DXGI_Message_Id = DXGI_Message_Id(164i32);
1730 pub const DXGI_MSG_IDXGIFactory2_CreateSwapChainForCoreWindow_pWindowIsNULL: DXGI_Message_Id = DXGI_Message_Id(165i32);
1731 pub const DXGI_MSG_IDXGIFactory_CreateSwapChain_FSUnsupportedForModernApps: DXGI_Message_Id = DXGI_Message_Id(166i32);
1732 pub const DXGI_MSG_IDXGIFactory_MakeWindowAssociation_ModernApp: DXGI_Message_Id = DXGI_Message_Id(167i32);
1733 pub const DXGI_MSG_IDXGISwapChain_ResizeTarget_ModernApp: DXGI_Message_Id = DXGI_Message_Id(168i32);
1734 pub const DXGI_MSG_IDXGISwapChain_ResizeTarget_pNewTargetParametersIsNULL: DXGI_Message_Id = DXGI_Message_Id(169i32);
1735 pub const DXGI_MSG_IDXGIOutput_SetDisplaySurface_ModernApp: DXGI_Message_Id = DXGI_Message_Id(170i32);
1736 pub const DXGI_MSG_IDXGIOutput_TakeOwnership_ModernApp: DXGI_Message_Id = DXGI_Message_Id(171i32);
1737 pub const DXGI_MSG_IDXGIFactory2_CreateSwapChainForCoreWindow_pWindowIsInvalid: DXGI_Message_Id = DXGI_Message_Id(172i32);
1738 pub const DXGI_MSG_IDXGIFactory2_CreateSwapChainForCompositionSurface_InvalidHandle: DXGI_Message_Id = DXGI_Message_Id(173i32);
1739 pub const DXGI_MSG_IDXGISurface1_GetDC_ModernApp: DXGI_Message_Id = DXGI_Message_Id(174i32);
1740 pub const DXGI_MSG_IDXGIFactory_CreateSwapChain_ScalingNoneRequiresWindows8OrNewer: DXGI_Message_Id = DXGI_Message_Id(175i32);
1741 pub const DXGI_MSG_IDXGISwapChain_Present_TemporaryMonoAndPreferRight: DXGI_Message_Id = DXGI_Message_Id(176i32);
1742 pub const DXGI_MSG_IDXGISwapChain_Present_TemporaryMonoOrPreferRightWithDoNotSequence: DXGI_Message_Id = DXGI_Message_Id(177i32);
1743 pub const DXGI_MSG_IDXGISwapChain_Present_TemporaryMonoOrPreferRightWithoutStereo: DXGI_Message_Id = DXGI_Message_Id(178i32);
1744 pub const DXGI_MSG_IDXGISwapChain_Present_TemporaryMonoUnsupported: DXGI_Message_Id = DXGI_Message_Id(179i32);
1745 pub const DXGI_MSG_IDXGIOutput_GetDisplaySurfaceData_ArraySizeMismatch: DXGI_Message_Id = DXGI_Message_Id(180i32);
1746 pub const DXGI_MSG_IDXGISwapChain_Present_PartialPresentationWithSwapEffectDiscard: DXGI_Message_Id = DXGI_Message_Id(181i32);
1747 pub const DXGI_MSG_IDXGIFactory_CreateSwapChain_AlphaUnrecognized: DXGI_Message_Id = DXGI_Message_Id(182i32);
1748 pub const DXGI_MSG_IDXGIFactory_CreateSwapChain_AlphaIsWindowlessOnly: DXGI_Message_Id = DXGI_Message_Id(183i32);
1749 pub const DXGI_MSG_IDXGIFactory_CreateSwapChain_AlphaIsFlipModelOnly: DXGI_Message_Id = DXGI_Message_Id(184i32);
1750 pub const DXGI_MSG_IDXGIFactory_CreateSwapChain_RestrictToOutputAdapterMismatch: DXGI_Message_Id = DXGI_Message_Id(185i32);
1751 pub const DXGI_MSG_IDXGIFactory_CreateSwapChain_DisplayOnlyOnLegacy: DXGI_Message_Id = DXGI_Message_Id(186i32);
1752 pub const DXGI_MSG_IDXGISwapChain_ResizeBuffers_DisplayOnlyOnLegacy: DXGI_Message_Id = DXGI_Message_Id(187i32);
1753 pub const DXGI_MSG_IDXGIResource1_CreateSubresourceSurface_InvalidIndex: DXGI_Message_Id = DXGI_Message_Id(188i32);
1754 pub const DXGI_MSG_IDXGIFactory_CreateSwapChainForComposition_InvalidScaling: DXGI_Message_Id = DXGI_Message_Id(189i32);
1755 pub const DXGI_MSG_IDXGIFactory_CreateSwapChainForCoreWindow_InvalidSwapEffect: DXGI_Message_Id = DXGI_Message_Id(190i32);
1756 pub const DXGI_MSG_IDXGIResource1_CreateSharedHandle_UnsupportedOS: DXGI_Message_Id = DXGI_Message_Id(191i32);
1757 pub const DXGI_MSG_IDXGIFactory2_RegisterOcclusionStatusWindow_UnsupportedOS: DXGI_Message_Id = DXGI_Message_Id(192i32);
1758 pub const DXGI_MSG_IDXGIFactory2_RegisterOcclusionStatusEvent_UnsupportedOS: DXGI_Message_Id = DXGI_Message_Id(193i32);
1759 pub const DXGI_MSG_IDXGIOutput1_DuplicateOutput_UnsupportedOS: DXGI_Message_Id = DXGI_Message_Id(194i32);
1760 pub const DXGI_MSG_IDXGIDisplayControl_IsStereoEnabled_UnsupportedOS: DXGI_Message_Id = DXGI_Message_Id(195i32);
1761 pub const DXGI_MSG_IDXGIFactory_CreateSwapChainForComposition_InvalidAlphaMode: DXGI_Message_Id = DXGI_Message_Id(196i32);
1762 pub const DXGI_MSG_IDXGIFactory_GetSharedResourceAdapterLuid_InvalidResource: DXGI_Message_Id = DXGI_Message_Id(197i32);
1763 pub const DXGI_MSG_IDXGIFactory_GetSharedResourceAdapterLuid_InvalidLUID: DXGI_Message_Id = DXGI_Message_Id(198i32);
1764 pub const DXGI_MSG_IDXGIFactory_GetSharedResourceAdapterLuid_UnsupportedOS: DXGI_Message_Id = DXGI_Message_Id(199i32);
1765 pub const DXGI_MSG_IDXGIOutput1_GetDisplaySurfaceData1_2DOnly: DXGI_Message_Id = DXGI_Message_Id(200i32);
1766 pub const DXGI_MSG_IDXGIOutput1_GetDisplaySurfaceData1_StagingOnly: DXGI_Message_Id = DXGI_Message_Id(201i32);
1767 pub const DXGI_MSG_IDXGIOutput1_GetDisplaySurfaceData1_NeedCPUAccessWrite: DXGI_Message_Id = DXGI_Message_Id(202i32);
1768 pub const DXGI_MSG_IDXGIOutput1_GetDisplaySurfaceData1_NoShared: DXGI_Message_Id = DXGI_Message_Id(203i32);
1769 pub const DXGI_MSG_IDXGIOutput1_GetDisplaySurfaceData1_OnlyMipLevels1: DXGI_Message_Id = DXGI_Message_Id(204i32);
1770 pub const DXGI_MSG_IDXGIOutput1_GetDisplaySurfaceData1_MappedOrOfferedResource: DXGI_Message_Id = DXGI_Message_Id(205i32);
1771 pub const DXGI_MSG_IDXGISwapChain_SetFullscreenState_FSUnsupportedForModernApps: DXGI_Message_Id = DXGI_Message_Id(206i32);
1772 pub const DXGI_MSG_IDXGIFactory_CreateSwapChain_FailedToGoFSButNonPreRotated: DXGI_Message_Id = DXGI_Message_Id(207i32);
1773 pub const DXGI_MSG_IDXGIFactory_CreateSwapChainOrRegisterOcclusionStatus_BlitModelUsedWhileRegisteredForOcclusionStatusEvents: DXGI_Message_Id = DXGI_Message_Id(208i32);
1774 pub const DXGI_MSG_IDXGISwapChain_Present_BlitModelUsedWhileRegisteredForOcclusionStatusEvents: DXGI_Message_Id = DXGI_Message_Id(209i32);
1775 pub const DXGI_MSG_IDXGIFactory_CreateSwapChain_WaitableSwapChainsAreFlipModelOnly: DXGI_Message_Id = DXGI_Message_Id(210i32);
1776 pub const DXGI_MSG_IDXGIFactory_CreateSwapChain_WaitableSwapChainsAreNotFullscreen: DXGI_Message_Id = DXGI_Message_Id(211i32);
1777 pub const DXGI_MSG_IDXGISwapChain_SetFullscreenState_Waitable: DXGI_Message_Id = DXGI_Message_Id(212i32);
1778 pub const DXGI_MSG_IDXGISwapChain_ResizeBuffers_CannotAddOrRemoveWaitableFlag: DXGI_Message_Id = DXGI_Message_Id(213i32);
1779 pub const DXGI_MSG_IDXGISwapChain_GetFrameLatencyWaitableObject_OnlyWaitable: DXGI_Message_Id = DXGI_Message_Id(214i32);
1780 pub const DXGI_MSG_IDXGISwapChain_GetMaximumFrameLatency_OnlyWaitable: DXGI_Message_Id = DXGI_Message_Id(215i32);
1781 pub const DXGI_MSG_IDXGISwapChain_GetMaximumFrameLatency_pMaxLatencyIsNULL: DXGI_Message_Id = DXGI_Message_Id(216i32);
1782 pub const DXGI_MSG_IDXGISwapChain_SetMaximumFrameLatency_OnlyWaitable: DXGI_Message_Id = DXGI_Message_Id(217i32);
1783 pub const DXGI_MSG_IDXGISwapChain_SetMaximumFrameLatency_MaxLatencyIsOutOfBounds: DXGI_Message_Id = DXGI_Message_Id(218i32);
1784 pub const DXGI_MSG_IDXGIFactory_CreateSwapChain_ForegroundIsCoreWindowOnly: DXGI_Message_Id = DXGI_Message_Id(219i32);
1785 pub const DXGI_MSG_IDXGIFactory2_CreateSwapChainForCoreWindow_ForegroundUnsupportedOnAdapter: DXGI_Message_Id = DXGI_Message_Id(220i32);
1786 pub const DXGI_MSG_IDXGIFactory2_CreateSwapChainForCoreWindow_InvalidScaling: DXGI_Message_Id = DXGI_Message_Id(221i32);
1787 pub const DXGI_MSG_IDXGIFactory2_CreateSwapChainForCoreWindow_InvalidAlphaMode: DXGI_Message_Id = DXGI_Message_Id(222i32);
1788 pub const DXGI_MSG_IDXGISwapChain_ResizeBuffers_CannotAddOrRemoveForegroundFlag: DXGI_Message_Id = DXGI_Message_Id(223i32);
1789 pub const DXGI_MSG_IDXGISwapChain_SetMatrixTransform_MatrixPointerCannotBeNull: DXGI_Message_Id = DXGI_Message_Id(224i32);
1790 pub const DXGI_MSG_IDXGISwapChain_SetMatrixTransform_RequiresCompositionSwapChain: DXGI_Message_Id = DXGI_Message_Id(225i32);
1791 pub const DXGI_MSG_IDXGISwapChain_SetMatrixTransform_MatrixMustBeFinite: DXGI_Message_Id = DXGI_Message_Id(226i32);
1792 pub const DXGI_MSG_IDXGISwapChain_SetMatrixTransform_MatrixMustBeTranslateAndOrScale: DXGI_Message_Id = DXGI_Message_Id(227i32);
1793 pub const DXGI_MSG_IDXGISwapChain_GetMatrixTransform_MatrixPointerCannotBeNull: DXGI_Message_Id = DXGI_Message_Id(228i32);
1794 pub const DXGI_MSG_IDXGISwapChain_GetMatrixTransform_RequiresCompositionSwapChain: DXGI_Message_Id = DXGI_Message_Id(229i32);
1795 pub const DXGI_MSG_DXGIGetDebugInterface1_NULL_ppDebug: DXGI_Message_Id = DXGI_Message_Id(230i32);
1796 pub const DXGI_MSG_DXGIGetDebugInterface1_InvalidFlags: DXGI_Message_Id = DXGI_Message_Id(231i32);
1797 pub const DXGI_MSG_IDXGISwapChain_Present_Decode: DXGI_Message_Id = DXGI_Message_Id(232i32);
1798 pub const DXGI_MSG_IDXGISwapChain_ResizeBuffers_Decode: DXGI_Message_Id = DXGI_Message_Id(233i32);
1799 pub const DXGI_MSG_IDXGISwapChain_SetSourceSize_FlipModel: DXGI_Message_Id = DXGI_Message_Id(234i32);
1800 pub const DXGI_MSG_IDXGISwapChain_SetSourceSize_Decode: DXGI_Message_Id = DXGI_Message_Id(235i32);
1801 pub const DXGI_MSG_IDXGISwapChain_SetSourceSize_WidthHeight: DXGI_Message_Id = DXGI_Message_Id(236i32);
1802 pub const DXGI_MSG_IDXGISwapChain_GetSourceSize_NullPointers: DXGI_Message_Id = DXGI_Message_Id(237i32);
1803 pub const DXGI_MSG_IDXGISwapChain_GetSourceSize_Decode: DXGI_Message_Id = DXGI_Message_Id(238i32);
1804 pub const DXGI_MSG_IDXGIDecodeSwapChain_SetColorSpace_InvalidFlags: DXGI_Message_Id = DXGI_Message_Id(239i32);
1805 pub const DXGI_MSG_IDXGIDecodeSwapChain_SetSourceRect_InvalidRect: DXGI_Message_Id = DXGI_Message_Id(240i32);
1806 pub const DXGI_MSG_IDXGIDecodeSwapChain_SetTargetRect_InvalidRect: DXGI_Message_Id = DXGI_Message_Id(241i32);
1807 pub const DXGI_MSG_IDXGIDecodeSwapChain_SetDestSize_InvalidSize: DXGI_Message_Id = DXGI_Message_Id(242i32);
1808 pub const DXGI_MSG_IDXGIDecodeSwapChain_GetSourceRect_InvalidPointer: DXGI_Message_Id = DXGI_Message_Id(243i32);
1809 pub const DXGI_MSG_IDXGIDecodeSwapChain_GetTargetRect_InvalidPointer: DXGI_Message_Id = DXGI_Message_Id(244i32);
1810 pub const DXGI_MSG_IDXGIDecodeSwapChain_GetDestSize_InvalidPointer: DXGI_Message_Id = DXGI_Message_Id(245i32);
1811 pub const DXGI_MSG_IDXGISwapChain_PresentBuffer_YUV: DXGI_Message_Id = DXGI_Message_Id(246i32);
1812 pub const DXGI_MSG_IDXGISwapChain_SetSourceSize_YUV: DXGI_Message_Id = DXGI_Message_Id(247i32);
1813 pub const DXGI_MSG_IDXGISwapChain_GetSourceSize_YUV: DXGI_Message_Id = DXGI_Message_Id(248i32);
1814 pub const DXGI_MSG_IDXGISwapChain_SetMatrixTransform_YUV: DXGI_Message_Id = DXGI_Message_Id(249i32);
1815 pub const DXGI_MSG_IDXGISwapChain_GetMatrixTransform_YUV: DXGI_Message_Id = DXGI_Message_Id(250i32);
1816 pub const DXGI_MSG_IDXGISwapChain_Present_PartialPresentation_YUV: DXGI_Message_Id = DXGI_Message_Id(251i32);
1817 pub const DXGI_MSG_IDXGISwapChain_ResizeBuffers_CannotAddOrRemoveFlag_YUV: DXGI_Message_Id = DXGI_Message_Id(252i32);
1818 pub const DXGI_MSG_IDXGISwapChain_ResizeBuffers_Alignment_YUV: DXGI_Message_Id = DXGI_Message_Id(253i32);
1819 pub const DXGI_MSG_IDXGIFactory_CreateSwapChain_ShaderInputUnsupported_YUV: DXGI_Message_Id = DXGI_Message_Id(254i32);
1820 pub const DXGI_MSG_IDXGIOutput3_CheckOverlaySupport_NullPointers: DXGI_Message_Id = DXGI_Message_Id(255i32);
1821 pub const DXGI_MSG_IDXGIOutput3_CheckOverlaySupport_IDXGIDeviceNotSupportedBypConcernedDevice: DXGI_Message_Id = DXGI_Message_Id(256i32);
1822 pub const DXGI_MSG_IDXGIAdapter_EnumOutputs2_InvalidEnumOutputs2Flag: DXGI_Message_Id = DXGI_Message_Id(257i32);
1823 pub const DXGI_MSG_IDXGISwapChain_CreationOrSetFullscreenState_FSUnsupportedForFlipDiscard: DXGI_Message_Id = DXGI_Message_Id(258i32);
1824 pub const DXGI_MSG_IDXGIOutput4_CheckOverlayColorSpaceSupport_NullPointers: DXGI_Message_Id = DXGI_Message_Id(259i32);
1825 pub const DXGI_MSG_IDXGIOutput4_CheckOverlayColorSpaceSupport_IDXGIDeviceNotSupportedBypConcernedDevice: DXGI_Message_Id = DXGI_Message_Id(260i32);
1826 pub const DXGI_MSG_IDXGISwapChain3_CheckColorSpaceSupport_NullPointers: DXGI_Message_Id = DXGI_Message_Id(261i32);
1827 pub const DXGI_MSG_IDXGISwapChain3_SetColorSpace1_InvalidColorSpace: DXGI_Message_Id = DXGI_Message_Id(262i32);
1828 pub const DXGI_MSG_IDXGIFactory_CreateSwapChain_InvalidHwProtect: DXGI_Message_Id = DXGI_Message_Id(263i32);
1829 pub const DXGI_MSG_IDXGIFactory_CreateSwapChain_HwProtectUnsupported: DXGI_Message_Id = DXGI_Message_Id(264i32);
1830 pub const DXGI_MSG_IDXGISwapChain_ResizeBuffers_InvalidHwProtect: DXGI_Message_Id = DXGI_Message_Id(265i32);
1831 pub const DXGI_MSG_IDXGISwapChain_ResizeBuffers_HwProtectUnsupported: DXGI_Message_Id = DXGI_Message_Id(266i32);
1832 pub const DXGI_MSG_IDXGISwapChain_ResizeBuffers1_D3D12Only: DXGI_Message_Id = DXGI_Message_Id(267i32);
1833 pub const DXGI_MSG_IDXGISwapChain_ResizeBuffers1_FlipModel: DXGI_Message_Id = DXGI_Message_Id(268i32);
1834 pub const DXGI_MSG_IDXGISwapChain_ResizeBuffers1_NodeMaskAndQueueRequired: DXGI_Message_Id = DXGI_Message_Id(269i32);
1835 pub const DXGI_MSG_IDXGISwapChain_CreateSwapChain_InvalidHwProtectGdiFlag: DXGI_Message_Id = DXGI_Message_Id(270i32);
1836 pub const DXGI_MSG_IDXGISwapChain_ResizeBuffers_InvalidHwProtectGdiFlag: DXGI_Message_Id = DXGI_Message_Id(271i32);
1837 pub const DXGI_MSG_IDXGIFactory_CreateSwapChain_10BitFormatNotSupported: DXGI_Message_Id = DXGI_Message_Id(272i32);
1838 pub const DXGI_MSG_IDXGIFactory_CreateSwapChain_FlipSwapEffectRequired: DXGI_Message_Id = DXGI_Message_Id(273i32);
1839 pub const DXGI_MSG_IDXGIFactory_CreateSwapChain_InvalidDevice: DXGI_Message_Id = DXGI_Message_Id(274i32);
1840 pub const DXGI_MSG_IDXGIOutput_TakeOwnership_Unsupported: DXGI_Message_Id = DXGI_Message_Id(275i32);
1841 pub const DXGI_MSG_IDXGIFactory_CreateSwapChain_InvalidQueue: DXGI_Message_Id = DXGI_Message_Id(276i32);
1842 pub const DXGI_MSG_IDXGISwapChain3_ResizeBuffers1_InvalidQueue: DXGI_Message_Id = DXGI_Message_Id(277i32);
1843 pub const DXGI_MSG_IDXGIFactory_CreateSwapChainForHwnd_InvalidScaling: DXGI_Message_Id = DXGI_Message_Id(278i32);
1844 pub const DXGI_MSG_IDXGISwapChain3_SetHDRMetaData_InvalidSize: DXGI_Message_Id = DXGI_Message_Id(279i32);
1845 pub const DXGI_MSG_IDXGISwapChain3_SetHDRMetaData_InvalidPointer: DXGI_Message_Id = DXGI_Message_Id(280i32);
1846 pub const DXGI_MSG_IDXGISwapChain3_SetHDRMetaData_InvalidType: DXGI_Message_Id = DXGI_Message_Id(281i32);
1847 pub const DXGI_MSG_IDXGISwapChain_Present_FullscreenAllowTearingIsInvalid: DXGI_Message_Id = DXGI_Message_Id(282i32);
1848 pub const DXGI_MSG_IDXGISwapChain_Present_AllowTearingRequiresPresentIntervalZero: DXGI_Message_Id = DXGI_Message_Id(283i32);
1849 pub const DXGI_MSG_IDXGISwapChain_Present_AllowTearingRequiresCreationFlag: DXGI_Message_Id = DXGI_Message_Id(284i32);
1850 pub const DXGI_MSG_IDXGISwapChain_ResizeBuffers_CannotAddOrRemoveAllowTearingFlag: DXGI_Message_Id = DXGI_Message_Id(285i32);
1851 pub const DXGI_MSG_IDXGIFactory_CreateSwapChain_AllowTearingFlagIsFlipModelOnly: DXGI_Message_Id = DXGI_Message_Id(286i32);
1852 pub const DXGI_MSG_IDXGIFactory_CheckFeatureSupport_InvalidFeature: DXGI_Message_Id = DXGI_Message_Id(287i32);
1853 pub const DXGI_MSG_IDXGIFactory_CheckFeatureSupport_InvalidSize: DXGI_Message_Id = DXGI_Message_Id(288i32);
1854 pub const DXGI_MSG_IDXGIOutput6_CheckHardwareCompositionSupport_NullPointer: DXGI_Message_Id = DXGI_Message_Id(289i32);
1855 pub const DXGI_MSG_IDXGISwapChain_SetFullscreenState_PerMonitorDpiShimApplied: DXGI_Message_Id = DXGI_Message_Id(290i32);
1856 pub const DXGI_MSG_IDXGIOutput_DuplicateOutput_PerMonitorDpiShimApplied: DXGI_Message_Id = DXGI_Message_Id(291i32);
1857 pub const DXGI_MSG_IDXGIOutput_DuplicateOutput1_PerMonitorDpiRequired: DXGI_Message_Id = DXGI_Message_Id(292i32);
1858 pub const DXGI_MSG_IDXGIFactory7_UnregisterAdaptersChangedEvent_CookieNotFound: DXGI_Message_Id = DXGI_Message_Id(293i32);
1859 pub const DXGI_MSG_IDXGIFactory_CreateSwapChain_LegacyBltModelSwapEffect: DXGI_Message_Id = DXGI_Message_Id(294i32);
1860 pub const DXGI_MSG_IDXGISwapChain4_SetHDRMetaData_MetadataUnchanged: DXGI_Message_Id = DXGI_Message_Id(295i32);
1861 pub const DXGI_MSG_IDXGISwapChain_Present_11On12_Released_Resource: DXGI_Message_Id = DXGI_Message_Id(296i32);
1862 pub const DXGI_MSG_IDXGIFactory_CreateSwapChain_MultipleSwapchainRefToSurface_DeferredDtr: DXGI_Message_Id = DXGI_Message_Id(297i32);
1863 pub const DXGI_MSG_IDXGIFactory_MakeWindowAssociation_NoOpBehavior: DXGI_Message_Id = DXGI_Message_Id(298i32);
1864 pub const DXGI_MSG_Phone_IDXGIFactory_CreateSwapChain_NotForegroundWindow: DXGI_Message_Id = DXGI_Message_Id(1000i32);
1865 pub const DXGI_MSG_Phone_IDXGIFactory_CreateSwapChain_DISCARD_BufferCount: DXGI_Message_Id = DXGI_Message_Id(1001i32);
1866 pub const DXGI_MSG_Phone_IDXGISwapChain_SetFullscreenState_NotAvailable: DXGI_Message_Id = DXGI_Message_Id(1002i32);
1867 pub const DXGI_MSG_Phone_IDXGISwapChain_ResizeBuffers_NotAvailable: DXGI_Message_Id = DXGI_Message_Id(1003i32);
1868 pub const DXGI_MSG_Phone_IDXGISwapChain_ResizeTarget_NotAvailable: DXGI_Message_Id = DXGI_Message_Id(1004i32);
1869 pub const DXGI_MSG_Phone_IDXGISwapChain_Present_InvalidLayerIndex: DXGI_Message_Id = DXGI_Message_Id(1005i32);
1870 pub const DXGI_MSG_Phone_IDXGISwapChain_Present_MultipleLayerIndex: DXGI_Message_Id = DXGI_Message_Id(1006i32);
1871 pub const DXGI_MSG_Phone_IDXGISwapChain_Present_InvalidLayerFlag: DXGI_Message_Id = DXGI_Message_Id(1007i32);
1872 pub const DXGI_MSG_Phone_IDXGISwapChain_Present_InvalidRotation: DXGI_Message_Id = DXGI_Message_Id(1008i32);
1873 pub const DXGI_MSG_Phone_IDXGISwapChain_Present_InvalidBlend: DXGI_Message_Id = DXGI_Message_Id(1009i32);
1874 pub const DXGI_MSG_Phone_IDXGISwapChain_Present_InvalidResource: DXGI_Message_Id = DXGI_Message_Id(1010i32);
1875 pub const DXGI_MSG_Phone_IDXGISwapChain_Present_InvalidMultiPlaneOverlayResource: DXGI_Message_Id = DXGI_Message_Id(1011i32);
1876 pub const DXGI_MSG_Phone_IDXGISwapChain_Present_InvalidIndexForPrimary: DXGI_Message_Id = DXGI_Message_Id(1012i32);
1877 pub const DXGI_MSG_Phone_IDXGISwapChain_Present_InvalidIndexForOverlay: DXGI_Message_Id = DXGI_Message_Id(1013i32);
1878 pub const DXGI_MSG_Phone_IDXGISwapChain_Present_InvalidSubResourceIndex: DXGI_Message_Id = DXGI_Message_Id(1014i32);
1879 pub const DXGI_MSG_Phone_IDXGISwapChain_Present_InvalidSourceRect: DXGI_Message_Id = DXGI_Message_Id(1015i32);
1880 pub const DXGI_MSG_Phone_IDXGISwapChain_Present_InvalidDestinationRect: DXGI_Message_Id = DXGI_Message_Id(1016i32);
1881 pub const DXGI_MSG_Phone_IDXGISwapChain_Present_MultipleResource: DXGI_Message_Id = DXGI_Message_Id(1017i32);
1882 pub const DXGI_MSG_Phone_IDXGISwapChain_Present_NotSharedResource: DXGI_Message_Id = DXGI_Message_Id(1018i32);
1883 pub const DXGI_MSG_Phone_IDXGISwapChain_Present_InvalidFlag: DXGI_Message_Id = DXGI_Message_Id(1019i32);
1884 pub const DXGI_MSG_Phone_IDXGISwapChain_Present_InvalidInterval: DXGI_Message_Id = DXGI_Message_Id(1020i32);
1885 pub const DXGI_MSG_Phone_IDXGIFactory_CreateSwapChain_MSAA_NotSupported: DXGI_Message_Id = DXGI_Message_Id(1021i32);
1886 pub const DXGI_MSG_Phone_IDXGIFactory_CreateSwapChain_ScalingAspectRatioStretch_Supported_ModernApp: DXGI_Message_Id = DXGI_Message_Id(1022i32);
1887 pub const DXGI_MSG_Phone_IDXGISwapChain_GetFrameStatistics_NotAvailable_ModernApp: DXGI_Message_Id = DXGI_Message_Id(1023i32);
1888 pub const DXGI_MSG_Phone_IDXGISwapChain_Present_ReplaceInterval0With1: DXGI_Message_Id = DXGI_Message_Id(1024i32);
1889 pub const DXGI_MSG_Phone_IDXGIFactory_CreateSwapChain_FailedRegisterWithCompositor: DXGI_Message_Id = DXGI_Message_Id(1025i32);
1890 pub const DXGI_MSG_Phone_IDXGIFactory_CreateSwapChain_NotForegroundWindow_AtRendering: DXGI_Message_Id = DXGI_Message_Id(1026i32);
1891 pub const DXGI_MSG_Phone_IDXGIFactory_CreateSwapChain_FLIP_SEQUENTIAL_BufferCount: DXGI_Message_Id = DXGI_Message_Id(1027i32);
1892 pub const DXGI_MSG_Phone_IDXGIFactory_CreateSwapChain_FLIP_Modern_CoreWindow_Only: DXGI_Message_Id = DXGI_Message_Id(1028i32);
1893 pub const DXGI_MSG_Phone_IDXGISwapChain_Present1_RequiresOverlays: DXGI_Message_Id = DXGI_Message_Id(1029i32);
1894 pub const DXGI_MSG_Phone_IDXGISwapChain_SetBackgroundColor_FlipSequentialRequired: DXGI_Message_Id = DXGI_Message_Id(1030i32);
1895 pub const DXGI_MSG_Phone_IDXGISwapChain_GetBackgroundColor_FlipSequentialRequired: DXGI_Message_Id = DXGI_Message_Id(1031i32);
1896 impl ::std::convert::From<i32> for DXGI_Message_Id {
from(value: i32) -> Self1897 fn from(value: i32) -> Self {
1898 Self(value)
1899 }
1900 }
1901 unsafe impl ::windows::runtime::Abi for DXGI_Message_Id {
1902 type Abi = Self;
1903 type DefaultType = Self;
1904 }
1905 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
1906 #[repr(transparent)]
1907 pub struct DXGI_OFFER_RESOURCE_FLAGS(pub i32);
1908 pub const DXGI_OFFER_RESOURCE_FLAG_ALLOW_DECOMMIT: DXGI_OFFER_RESOURCE_FLAGS = DXGI_OFFER_RESOURCE_FLAGS(1i32);
1909 impl ::std::convert::From<i32> for DXGI_OFFER_RESOURCE_FLAGS {
from(value: i32) -> Self1910 fn from(value: i32) -> Self {
1911 Self(value)
1912 }
1913 }
1914 unsafe impl ::windows::runtime::Abi for DXGI_OFFER_RESOURCE_FLAGS {
1915 type Abi = Self;
1916 type DefaultType = Self;
1917 }
1918 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
1919 #[repr(transparent)]
1920 pub struct DXGI_OFFER_RESOURCE_PRIORITY(pub i32);
1921 pub const DXGI_OFFER_RESOURCE_PRIORITY_LOW: DXGI_OFFER_RESOURCE_PRIORITY = DXGI_OFFER_RESOURCE_PRIORITY(1i32);
1922 pub const DXGI_OFFER_RESOURCE_PRIORITY_NORMAL: DXGI_OFFER_RESOURCE_PRIORITY = DXGI_OFFER_RESOURCE_PRIORITY(2i32);
1923 pub const DXGI_OFFER_RESOURCE_PRIORITY_HIGH: DXGI_OFFER_RESOURCE_PRIORITY = DXGI_OFFER_RESOURCE_PRIORITY(3i32);
1924 impl ::std::convert::From<i32> for DXGI_OFFER_RESOURCE_PRIORITY {
from(value: i32) -> Self1925 fn from(value: i32) -> Self {
1926 Self(value)
1927 }
1928 }
1929 unsafe impl ::windows::runtime::Abi for DXGI_OFFER_RESOURCE_PRIORITY {
1930 type Abi = Self;
1931 type DefaultType = Self;
1932 }
1933 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
1934 #[repr(C)]
1935 #[cfg(feature = "Win32_Foundation")]
1936 pub struct DXGI_OUTDUPL_DESC {
1937 pub ModeDesc: DXGI_MODE_DESC,
1938 pub Rotation: DXGI_MODE_ROTATION,
1939 pub DesktopImageInSystemMemory: super::super::Foundation::BOOL,
1940 }
1941 #[cfg(feature = "Win32_Foundation")]
1942 impl DXGI_OUTDUPL_DESC {}
1943 #[cfg(feature = "Win32_Foundation")]
1944 impl ::std::default::Default for DXGI_OUTDUPL_DESC {
default() -> Self1945 fn default() -> Self {
1946 unsafe { ::std::mem::zeroed() }
1947 }
1948 }
1949 #[cfg(feature = "Win32_Foundation")]
1950 impl ::std::fmt::Debug for DXGI_OUTDUPL_DESC {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result1951 fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
1952 fmt.debug_struct("DXGI_OUTDUPL_DESC").field("ModeDesc", &self.ModeDesc).field("Rotation", &self.Rotation).field("DesktopImageInSystemMemory", &self.DesktopImageInSystemMemory).finish()
1953 }
1954 }
1955 #[cfg(feature = "Win32_Foundation")]
1956 impl ::std::cmp::PartialEq for DXGI_OUTDUPL_DESC {
eq(&self, other: &Self) -> bool1957 fn eq(&self, other: &Self) -> bool {
1958 self.ModeDesc == other.ModeDesc && self.Rotation == other.Rotation && self.DesktopImageInSystemMemory == other.DesktopImageInSystemMemory
1959 }
1960 }
1961 #[cfg(feature = "Win32_Foundation")]
1962 impl ::std::cmp::Eq for DXGI_OUTDUPL_DESC {}
1963 #[cfg(feature = "Win32_Foundation")]
1964 unsafe impl ::windows::runtime::Abi for DXGI_OUTDUPL_DESC {
1965 type Abi = Self;
1966 type DefaultType = Self;
1967 }
1968 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
1969 #[repr(transparent)]
1970 pub struct DXGI_OUTDUPL_FLAG(pub i32);
1971 pub const DXGI_OUTDUPL_COMPOSITED_UI_CAPTURE_ONLY: DXGI_OUTDUPL_FLAG = DXGI_OUTDUPL_FLAG(1i32);
1972 impl ::std::convert::From<i32> for DXGI_OUTDUPL_FLAG {
from(value: i32) -> Self1973 fn from(value: i32) -> Self {
1974 Self(value)
1975 }
1976 }
1977 unsafe impl ::windows::runtime::Abi for DXGI_OUTDUPL_FLAG {
1978 type Abi = Self;
1979 type DefaultType = Self;
1980 }
1981 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
1982 #[repr(C)]
1983 #[cfg(feature = "Win32_Foundation")]
1984 pub struct DXGI_OUTDUPL_FRAME_INFO {
1985 pub LastPresentTime: i64,
1986 pub LastMouseUpdateTime: i64,
1987 pub AccumulatedFrames: u32,
1988 pub RectsCoalesced: super::super::Foundation::BOOL,
1989 pub ProtectedContentMaskedOut: super::super::Foundation::BOOL,
1990 pub PointerPosition: DXGI_OUTDUPL_POINTER_POSITION,
1991 pub TotalMetadataBufferSize: u32,
1992 pub PointerShapeBufferSize: u32,
1993 }
1994 #[cfg(feature = "Win32_Foundation")]
1995 impl DXGI_OUTDUPL_FRAME_INFO {}
1996 #[cfg(feature = "Win32_Foundation")]
1997 impl ::std::default::Default for DXGI_OUTDUPL_FRAME_INFO {
default() -> Self1998 fn default() -> Self {
1999 unsafe { ::std::mem::zeroed() }
2000 }
2001 }
2002 #[cfg(feature = "Win32_Foundation")]
2003 impl ::std::fmt::Debug for DXGI_OUTDUPL_FRAME_INFO {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result2004 fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
2005 fmt.debug_struct("DXGI_OUTDUPL_FRAME_INFO")
2006 .field("LastPresentTime", &self.LastPresentTime)
2007 .field("LastMouseUpdateTime", &self.LastMouseUpdateTime)
2008 .field("AccumulatedFrames", &self.AccumulatedFrames)
2009 .field("RectsCoalesced", &self.RectsCoalesced)
2010 .field("ProtectedContentMaskedOut", &self.ProtectedContentMaskedOut)
2011 .field("PointerPosition", &self.PointerPosition)
2012 .field("TotalMetadataBufferSize", &self.TotalMetadataBufferSize)
2013 .field("PointerShapeBufferSize", &self.PointerShapeBufferSize)
2014 .finish()
2015 }
2016 }
2017 #[cfg(feature = "Win32_Foundation")]
2018 impl ::std::cmp::PartialEq for DXGI_OUTDUPL_FRAME_INFO {
eq(&self, other: &Self) -> bool2019 fn eq(&self, other: &Self) -> bool {
2020 self.LastPresentTime == other.LastPresentTime && self.LastMouseUpdateTime == other.LastMouseUpdateTime && self.AccumulatedFrames == other.AccumulatedFrames && self.RectsCoalesced == other.RectsCoalesced && self.ProtectedContentMaskedOut == other.ProtectedContentMaskedOut && self.PointerPosition == other.PointerPosition && self.TotalMetadataBufferSize == other.TotalMetadataBufferSize && self.PointerShapeBufferSize == other.PointerShapeBufferSize
2021 }
2022 }
2023 #[cfg(feature = "Win32_Foundation")]
2024 impl ::std::cmp::Eq for DXGI_OUTDUPL_FRAME_INFO {}
2025 #[cfg(feature = "Win32_Foundation")]
2026 unsafe impl ::windows::runtime::Abi for DXGI_OUTDUPL_FRAME_INFO {
2027 type Abi = Self;
2028 type DefaultType = Self;
2029 }
2030 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
2031 #[repr(C)]
2032 #[cfg(feature = "Win32_Foundation")]
2033 pub struct DXGI_OUTDUPL_MOVE_RECT {
2034 pub SourcePoint: super::super::Foundation::POINT,
2035 pub DestinationRect: super::super::Foundation::RECT,
2036 }
2037 #[cfg(feature = "Win32_Foundation")]
2038 impl DXGI_OUTDUPL_MOVE_RECT {}
2039 #[cfg(feature = "Win32_Foundation")]
2040 impl ::std::default::Default for DXGI_OUTDUPL_MOVE_RECT {
default() -> Self2041 fn default() -> Self {
2042 unsafe { ::std::mem::zeroed() }
2043 }
2044 }
2045 #[cfg(feature = "Win32_Foundation")]
2046 impl ::std::fmt::Debug for DXGI_OUTDUPL_MOVE_RECT {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result2047 fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
2048 fmt.debug_struct("DXGI_OUTDUPL_MOVE_RECT").field("SourcePoint", &self.SourcePoint).field("DestinationRect", &self.DestinationRect).finish()
2049 }
2050 }
2051 #[cfg(feature = "Win32_Foundation")]
2052 impl ::std::cmp::PartialEq for DXGI_OUTDUPL_MOVE_RECT {
eq(&self, other: &Self) -> bool2053 fn eq(&self, other: &Self) -> bool {
2054 self.SourcePoint == other.SourcePoint && self.DestinationRect == other.DestinationRect
2055 }
2056 }
2057 #[cfg(feature = "Win32_Foundation")]
2058 impl ::std::cmp::Eq for DXGI_OUTDUPL_MOVE_RECT {}
2059 #[cfg(feature = "Win32_Foundation")]
2060 unsafe impl ::windows::runtime::Abi for DXGI_OUTDUPL_MOVE_RECT {
2061 type Abi = Self;
2062 type DefaultType = Self;
2063 }
2064 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
2065 #[repr(C)]
2066 #[cfg(feature = "Win32_Foundation")]
2067 pub struct DXGI_OUTDUPL_POINTER_POSITION {
2068 pub Position: super::super::Foundation::POINT,
2069 pub Visible: super::super::Foundation::BOOL,
2070 }
2071 #[cfg(feature = "Win32_Foundation")]
2072 impl DXGI_OUTDUPL_POINTER_POSITION {}
2073 #[cfg(feature = "Win32_Foundation")]
2074 impl ::std::default::Default for DXGI_OUTDUPL_POINTER_POSITION {
default() -> Self2075 fn default() -> Self {
2076 unsafe { ::std::mem::zeroed() }
2077 }
2078 }
2079 #[cfg(feature = "Win32_Foundation")]
2080 impl ::std::fmt::Debug for DXGI_OUTDUPL_POINTER_POSITION {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result2081 fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
2082 fmt.debug_struct("DXGI_OUTDUPL_POINTER_POSITION").field("Position", &self.Position).field("Visible", &self.Visible).finish()
2083 }
2084 }
2085 #[cfg(feature = "Win32_Foundation")]
2086 impl ::std::cmp::PartialEq for DXGI_OUTDUPL_POINTER_POSITION {
eq(&self, other: &Self) -> bool2087 fn eq(&self, other: &Self) -> bool {
2088 self.Position == other.Position && self.Visible == other.Visible
2089 }
2090 }
2091 #[cfg(feature = "Win32_Foundation")]
2092 impl ::std::cmp::Eq for DXGI_OUTDUPL_POINTER_POSITION {}
2093 #[cfg(feature = "Win32_Foundation")]
2094 unsafe impl ::windows::runtime::Abi for DXGI_OUTDUPL_POINTER_POSITION {
2095 type Abi = Self;
2096 type DefaultType = Self;
2097 }
2098 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
2099 #[repr(C)]
2100 #[cfg(feature = "Win32_Foundation")]
2101 pub struct DXGI_OUTDUPL_POINTER_SHAPE_INFO {
2102 pub Type: u32,
2103 pub Width: u32,
2104 pub Height: u32,
2105 pub Pitch: u32,
2106 pub HotSpot: super::super::Foundation::POINT,
2107 }
2108 #[cfg(feature = "Win32_Foundation")]
2109 impl DXGI_OUTDUPL_POINTER_SHAPE_INFO {}
2110 #[cfg(feature = "Win32_Foundation")]
2111 impl ::std::default::Default for DXGI_OUTDUPL_POINTER_SHAPE_INFO {
default() -> Self2112 fn default() -> Self {
2113 unsafe { ::std::mem::zeroed() }
2114 }
2115 }
2116 #[cfg(feature = "Win32_Foundation")]
2117 impl ::std::fmt::Debug for DXGI_OUTDUPL_POINTER_SHAPE_INFO {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result2118 fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
2119 fmt.debug_struct("DXGI_OUTDUPL_POINTER_SHAPE_INFO").field("Type", &self.Type).field("Width", &self.Width).field("Height", &self.Height).field("Pitch", &self.Pitch).field("HotSpot", &self.HotSpot).finish()
2120 }
2121 }
2122 #[cfg(feature = "Win32_Foundation")]
2123 impl ::std::cmp::PartialEq for DXGI_OUTDUPL_POINTER_SHAPE_INFO {
eq(&self, other: &Self) -> bool2124 fn eq(&self, other: &Self) -> bool {
2125 self.Type == other.Type && self.Width == other.Width && self.Height == other.Height && self.Pitch == other.Pitch && self.HotSpot == other.HotSpot
2126 }
2127 }
2128 #[cfg(feature = "Win32_Foundation")]
2129 impl ::std::cmp::Eq for DXGI_OUTDUPL_POINTER_SHAPE_INFO {}
2130 #[cfg(feature = "Win32_Foundation")]
2131 unsafe impl ::windows::runtime::Abi for DXGI_OUTDUPL_POINTER_SHAPE_INFO {
2132 type Abi = Self;
2133 type DefaultType = Self;
2134 }
2135 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
2136 #[repr(transparent)]
2137 pub struct DXGI_OUTDUPL_POINTER_SHAPE_TYPE(pub i32);
2138 pub const DXGI_OUTDUPL_POINTER_SHAPE_TYPE_MONOCHROME: DXGI_OUTDUPL_POINTER_SHAPE_TYPE = DXGI_OUTDUPL_POINTER_SHAPE_TYPE(1i32);
2139 pub const DXGI_OUTDUPL_POINTER_SHAPE_TYPE_COLOR: DXGI_OUTDUPL_POINTER_SHAPE_TYPE = DXGI_OUTDUPL_POINTER_SHAPE_TYPE(2i32);
2140 pub const DXGI_OUTDUPL_POINTER_SHAPE_TYPE_MASKED_COLOR: DXGI_OUTDUPL_POINTER_SHAPE_TYPE = DXGI_OUTDUPL_POINTER_SHAPE_TYPE(4i32);
2141 impl ::std::convert::From<i32> for DXGI_OUTDUPL_POINTER_SHAPE_TYPE {
from(value: i32) -> Self2142 fn from(value: i32) -> Self {
2143 Self(value)
2144 }
2145 }
2146 unsafe impl ::windows::runtime::Abi for DXGI_OUTDUPL_POINTER_SHAPE_TYPE {
2147 type Abi = Self;
2148 type DefaultType = Self;
2149 }
2150 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
2151 #[repr(C)]
2152 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
2153 pub struct DXGI_OUTPUT_DESC {
2154 pub DeviceName: [u16; 32],
2155 pub DesktopCoordinates: super::super::Foundation::RECT,
2156 pub AttachedToDesktop: super::super::Foundation::BOOL,
2157 pub Rotation: DXGI_MODE_ROTATION,
2158 pub Monitor: super::Gdi::HMONITOR,
2159 }
2160 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
2161 impl DXGI_OUTPUT_DESC {}
2162 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
2163 impl ::std::default::Default for DXGI_OUTPUT_DESC {
default() -> Self2164 fn default() -> Self {
2165 unsafe { ::std::mem::zeroed() }
2166 }
2167 }
2168 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
2169 impl ::std::fmt::Debug for DXGI_OUTPUT_DESC {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result2170 fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
2171 fmt.debug_struct("DXGI_OUTPUT_DESC").field("DeviceName", &self.DeviceName).field("DesktopCoordinates", &self.DesktopCoordinates).field("AttachedToDesktop", &self.AttachedToDesktop).field("Rotation", &self.Rotation).field("Monitor", &self.Monitor).finish()
2172 }
2173 }
2174 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
2175 impl ::std::cmp::PartialEq for DXGI_OUTPUT_DESC {
eq(&self, other: &Self) -> bool2176 fn eq(&self, other: &Self) -> bool {
2177 self.DeviceName == other.DeviceName && self.DesktopCoordinates == other.DesktopCoordinates && self.AttachedToDesktop == other.AttachedToDesktop && self.Rotation == other.Rotation && self.Monitor == other.Monitor
2178 }
2179 }
2180 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
2181 impl ::std::cmp::Eq for DXGI_OUTPUT_DESC {}
2182 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
2183 unsafe impl ::windows::runtime::Abi for DXGI_OUTPUT_DESC {
2184 type Abi = Self;
2185 type DefaultType = Self;
2186 }
2187 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
2188 #[repr(C)]
2189 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
2190 pub struct DXGI_OUTPUT_DESC1 {
2191 pub DeviceName: [u16; 32],
2192 pub DesktopCoordinates: super::super::Foundation::RECT,
2193 pub AttachedToDesktop: super::super::Foundation::BOOL,
2194 pub Rotation: DXGI_MODE_ROTATION,
2195 pub Monitor: super::Gdi::HMONITOR,
2196 pub BitsPerColor: u32,
2197 pub ColorSpace: DXGI_COLOR_SPACE_TYPE,
2198 pub RedPrimary: [f32; 2],
2199 pub GreenPrimary: [f32; 2],
2200 pub BluePrimary: [f32; 2],
2201 pub WhitePoint: [f32; 2],
2202 pub MinLuminance: f32,
2203 pub MaxLuminance: f32,
2204 pub MaxFullFrameLuminance: f32,
2205 }
2206 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
2207 impl DXGI_OUTPUT_DESC1 {}
2208 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
2209 impl ::std::default::Default for DXGI_OUTPUT_DESC1 {
default() -> Self2210 fn default() -> Self {
2211 unsafe { ::std::mem::zeroed() }
2212 }
2213 }
2214 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
2215 impl ::std::fmt::Debug for DXGI_OUTPUT_DESC1 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result2216 fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
2217 fmt.debug_struct("DXGI_OUTPUT_DESC1")
2218 .field("DeviceName", &self.DeviceName)
2219 .field("DesktopCoordinates", &self.DesktopCoordinates)
2220 .field("AttachedToDesktop", &self.AttachedToDesktop)
2221 .field("Rotation", &self.Rotation)
2222 .field("Monitor", &self.Monitor)
2223 .field("BitsPerColor", &self.BitsPerColor)
2224 .field("ColorSpace", &self.ColorSpace)
2225 .field("RedPrimary", &self.RedPrimary)
2226 .field("GreenPrimary", &self.GreenPrimary)
2227 .field("BluePrimary", &self.BluePrimary)
2228 .field("WhitePoint", &self.WhitePoint)
2229 .field("MinLuminance", &self.MinLuminance)
2230 .field("MaxLuminance", &self.MaxLuminance)
2231 .field("MaxFullFrameLuminance", &self.MaxFullFrameLuminance)
2232 .finish()
2233 }
2234 }
2235 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
2236 impl ::std::cmp::PartialEq for DXGI_OUTPUT_DESC1 {
eq(&self, other: &Self) -> bool2237 fn eq(&self, other: &Self) -> bool {
2238 self.DeviceName == other.DeviceName
2239 && self.DesktopCoordinates == other.DesktopCoordinates
2240 && self.AttachedToDesktop == other.AttachedToDesktop
2241 && self.Rotation == other.Rotation
2242 && self.Monitor == other.Monitor
2243 && self.BitsPerColor == other.BitsPerColor
2244 && self.ColorSpace == other.ColorSpace
2245 && self.RedPrimary == other.RedPrimary
2246 && self.GreenPrimary == other.GreenPrimary
2247 && self.BluePrimary == other.BluePrimary
2248 && self.WhitePoint == other.WhitePoint
2249 && self.MinLuminance == other.MinLuminance
2250 && self.MaxLuminance == other.MaxLuminance
2251 && self.MaxFullFrameLuminance == other.MaxFullFrameLuminance
2252 }
2253 }
2254 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
2255 impl ::std::cmp::Eq for DXGI_OUTPUT_DESC1 {}
2256 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
2257 unsafe impl ::windows::runtime::Abi for DXGI_OUTPUT_DESC1 {
2258 type Abi = Self;
2259 type DefaultType = Self;
2260 }
2261 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
2262 #[repr(transparent)]
2263 pub struct DXGI_OVERLAY_COLOR_SPACE_SUPPORT_FLAG(pub i32);
2264 pub const DXGI_OVERLAY_COLOR_SPACE_SUPPORT_FLAG_PRESENT: DXGI_OVERLAY_COLOR_SPACE_SUPPORT_FLAG = DXGI_OVERLAY_COLOR_SPACE_SUPPORT_FLAG(1i32);
2265 impl ::std::convert::From<i32> for DXGI_OVERLAY_COLOR_SPACE_SUPPORT_FLAG {
from(value: i32) -> Self2266 fn from(value: i32) -> Self {
2267 Self(value)
2268 }
2269 }
2270 unsafe impl ::windows::runtime::Abi for DXGI_OVERLAY_COLOR_SPACE_SUPPORT_FLAG {
2271 type Abi = Self;
2272 type DefaultType = Self;
2273 }
2274 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
2275 #[repr(transparent)]
2276 pub struct DXGI_OVERLAY_SUPPORT_FLAG(pub i32);
2277 pub const DXGI_OVERLAY_SUPPORT_FLAG_DIRECT: DXGI_OVERLAY_SUPPORT_FLAG = DXGI_OVERLAY_SUPPORT_FLAG(1i32);
2278 pub const DXGI_OVERLAY_SUPPORT_FLAG_SCALING: DXGI_OVERLAY_SUPPORT_FLAG = DXGI_OVERLAY_SUPPORT_FLAG(2i32);
2279 impl ::std::convert::From<i32> for DXGI_OVERLAY_SUPPORT_FLAG {
from(value: i32) -> Self2280 fn from(value: i32) -> Self {
2281 Self(value)
2282 }
2283 }
2284 unsafe impl ::windows::runtime::Abi for DXGI_OVERLAY_SUPPORT_FLAG {
2285 type Abi = Self;
2286 type DefaultType = Self;
2287 }
2288 pub const DXGI_PRESENT_ALLOW_TEARING: u32 = 512u32;
2289 pub const DXGI_PRESENT_DO_NOT_SEQUENCE: u32 = 2u32;
2290 pub const DXGI_PRESENT_DO_NOT_WAIT: u32 = 8u32;
2291 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
2292 #[repr(C)]
2293 #[cfg(feature = "Win32_Foundation")]
2294 pub struct DXGI_PRESENT_PARAMETERS {
2295 pub DirtyRectsCount: u32,
2296 pub pDirtyRects: *mut super::super::Foundation::RECT,
2297 pub pScrollRect: *mut super::super::Foundation::RECT,
2298 pub pScrollOffset: *mut super::super::Foundation::POINT,
2299 }
2300 #[cfg(feature = "Win32_Foundation")]
2301 impl DXGI_PRESENT_PARAMETERS {}
2302 #[cfg(feature = "Win32_Foundation")]
2303 impl ::std::default::Default for DXGI_PRESENT_PARAMETERS {
default() -> Self2304 fn default() -> Self {
2305 unsafe { ::std::mem::zeroed() }
2306 }
2307 }
2308 #[cfg(feature = "Win32_Foundation")]
2309 impl ::std::fmt::Debug for DXGI_PRESENT_PARAMETERS {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result2310 fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
2311 fmt.debug_struct("DXGI_PRESENT_PARAMETERS").field("DirtyRectsCount", &self.DirtyRectsCount).field("pDirtyRects", &self.pDirtyRects).field("pScrollRect", &self.pScrollRect).field("pScrollOffset", &self.pScrollOffset).finish()
2312 }
2313 }
2314 #[cfg(feature = "Win32_Foundation")]
2315 impl ::std::cmp::PartialEq for DXGI_PRESENT_PARAMETERS {
eq(&self, other: &Self) -> bool2316 fn eq(&self, other: &Self) -> bool {
2317 self.DirtyRectsCount == other.DirtyRectsCount && self.pDirtyRects == other.pDirtyRects && self.pScrollRect == other.pScrollRect && self.pScrollOffset == other.pScrollOffset
2318 }
2319 }
2320 #[cfg(feature = "Win32_Foundation")]
2321 impl ::std::cmp::Eq for DXGI_PRESENT_PARAMETERS {}
2322 #[cfg(feature = "Win32_Foundation")]
2323 unsafe impl ::windows::runtime::Abi for DXGI_PRESENT_PARAMETERS {
2324 type Abi = Self;
2325 type DefaultType = Self;
2326 }
2327 pub const DXGI_PRESENT_RESTART: u32 = 4u32;
2328 pub const DXGI_PRESENT_RESTRICT_TO_OUTPUT: u32 = 64u32;
2329 pub const DXGI_PRESENT_STEREO_PREFER_RIGHT: u32 = 16u32;
2330 pub const DXGI_PRESENT_STEREO_TEMPORARY_MONO: u32 = 32u32;
2331 pub const DXGI_PRESENT_TEST: u32 = 1u32;
2332 pub const DXGI_PRESENT_USE_DURATION: u32 = 256u32;
2333 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
2334 #[repr(C)]
2335 pub struct DXGI_QUERY_VIDEO_MEMORY_INFO {
2336 pub Budget: u64,
2337 pub CurrentUsage: u64,
2338 pub AvailableForReservation: u64,
2339 pub CurrentReservation: u64,
2340 }
2341 impl DXGI_QUERY_VIDEO_MEMORY_INFO {}
2342 impl ::std::default::Default for DXGI_QUERY_VIDEO_MEMORY_INFO {
default() -> Self2343 fn default() -> Self {
2344 unsafe { ::std::mem::zeroed() }
2345 }
2346 }
2347 impl ::std::fmt::Debug for DXGI_QUERY_VIDEO_MEMORY_INFO {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result2348 fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
2349 fmt.debug_struct("DXGI_QUERY_VIDEO_MEMORY_INFO").field("Budget", &self.Budget).field("CurrentUsage", &self.CurrentUsage).field("AvailableForReservation", &self.AvailableForReservation).field("CurrentReservation", &self.CurrentReservation).finish()
2350 }
2351 }
2352 impl ::std::cmp::PartialEq for DXGI_QUERY_VIDEO_MEMORY_INFO {
eq(&self, other: &Self) -> bool2353 fn eq(&self, other: &Self) -> bool {
2354 self.Budget == other.Budget && self.CurrentUsage == other.CurrentUsage && self.AvailableForReservation == other.AvailableForReservation && self.CurrentReservation == other.CurrentReservation
2355 }
2356 }
2357 impl ::std::cmp::Eq for DXGI_QUERY_VIDEO_MEMORY_INFO {}
2358 unsafe impl ::windows::runtime::Abi for DXGI_QUERY_VIDEO_MEMORY_INFO {
2359 type Abi = Self;
2360 type DefaultType = Self;
2361 }
2362 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
2363 #[repr(C)]
2364 pub struct DXGI_RATIONAL {
2365 pub Numerator: u32,
2366 pub Denominator: u32,
2367 }
2368 impl DXGI_RATIONAL {}
2369 impl ::std::default::Default for DXGI_RATIONAL {
default() -> Self2370 fn default() -> Self {
2371 unsafe { ::std::mem::zeroed() }
2372 }
2373 }
2374 impl ::std::fmt::Debug for DXGI_RATIONAL {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result2375 fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
2376 fmt.debug_struct("DXGI_RATIONAL").field("Numerator", &self.Numerator).field("Denominator", &self.Denominator).finish()
2377 }
2378 }
2379 impl ::std::cmp::PartialEq for DXGI_RATIONAL {
eq(&self, other: &Self) -> bool2380 fn eq(&self, other: &Self) -> bool {
2381 self.Numerator == other.Numerator && self.Denominator == other.Denominator
2382 }
2383 }
2384 impl ::std::cmp::Eq for DXGI_RATIONAL {}
2385 unsafe impl ::windows::runtime::Abi for DXGI_RATIONAL {
2386 type Abi = Self;
2387 type DefaultType = Self;
2388 }
2389 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
2390 #[repr(transparent)]
2391 pub struct DXGI_RECLAIM_RESOURCE_RESULTS(pub i32);
2392 pub const DXGI_RECLAIM_RESOURCE_RESULT_OK: DXGI_RECLAIM_RESOURCE_RESULTS = DXGI_RECLAIM_RESOURCE_RESULTS(0i32);
2393 pub const DXGI_RECLAIM_RESOURCE_RESULT_DISCARDED: DXGI_RECLAIM_RESOURCE_RESULTS = DXGI_RECLAIM_RESOURCE_RESULTS(1i32);
2394 pub const DXGI_RECLAIM_RESOURCE_RESULT_NOT_COMMITTED: DXGI_RECLAIM_RESOURCE_RESULTS = DXGI_RECLAIM_RESOURCE_RESULTS(2i32);
2395 impl ::std::convert::From<i32> for DXGI_RECLAIM_RESOURCE_RESULTS {
from(value: i32) -> Self2396 fn from(value: i32) -> Self {
2397 Self(value)
2398 }
2399 }
2400 unsafe impl ::windows::runtime::Abi for DXGI_RECLAIM_RESOURCE_RESULTS {
2401 type Abi = Self;
2402 type DefaultType = Self;
2403 }
2404 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
2405 #[repr(transparent)]
2406 pub struct DXGI_RESIDENCY(pub i32);
2407 pub const DXGI_RESIDENCY_FULLY_RESIDENT: DXGI_RESIDENCY = DXGI_RESIDENCY(1i32);
2408 pub const DXGI_RESIDENCY_RESIDENT_IN_SHARED_MEMORY: DXGI_RESIDENCY = DXGI_RESIDENCY(2i32);
2409 pub const DXGI_RESIDENCY_EVICTED_TO_DISK: DXGI_RESIDENCY = DXGI_RESIDENCY(3i32);
2410 impl ::std::convert::From<i32> for DXGI_RESIDENCY {
from(value: i32) -> Self2411 fn from(value: i32) -> Self {
2412 Self(value)
2413 }
2414 }
2415 unsafe impl ::windows::runtime::Abi for DXGI_RESIDENCY {
2416 type Abi = Self;
2417 type DefaultType = Self;
2418 }
2419 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
2420 #[repr(transparent)]
2421 pub struct DXGI_RESOURCE_PRIORITY(pub u32);
2422 pub const DXGI_RESOURCE_PRIORITY_MINIMUM: DXGI_RESOURCE_PRIORITY = DXGI_RESOURCE_PRIORITY(671088640u32);
2423 pub const DXGI_RESOURCE_PRIORITY_LOW: DXGI_RESOURCE_PRIORITY = DXGI_RESOURCE_PRIORITY(1342177280u32);
2424 pub const DXGI_RESOURCE_PRIORITY_NORMAL: DXGI_RESOURCE_PRIORITY = DXGI_RESOURCE_PRIORITY(2013265920u32);
2425 pub const DXGI_RESOURCE_PRIORITY_HIGH: DXGI_RESOURCE_PRIORITY = DXGI_RESOURCE_PRIORITY(2684354560u32);
2426 pub const DXGI_RESOURCE_PRIORITY_MAXIMUM: DXGI_RESOURCE_PRIORITY = DXGI_RESOURCE_PRIORITY(3355443200u32);
2427 impl ::std::convert::From<u32> for DXGI_RESOURCE_PRIORITY {
from(value: u32) -> Self2428 fn from(value: u32) -> Self {
2429 Self(value)
2430 }
2431 }
2432 unsafe impl ::windows::runtime::Abi for DXGI_RESOURCE_PRIORITY {
2433 type Abi = Self;
2434 type DefaultType = Self;
2435 }
2436 impl ::std::ops::BitOr for DXGI_RESOURCE_PRIORITY {
2437 type Output = Self;
bitor(self, rhs: Self) -> Self2438 fn bitor(self, rhs: Self) -> Self {
2439 Self(self.0 | rhs.0)
2440 }
2441 }
2442 impl ::std::ops::BitAnd for DXGI_RESOURCE_PRIORITY {
2443 type Output = Self;
bitand(self, rhs: Self) -> Self2444 fn bitand(self, rhs: Self) -> Self {
2445 Self(self.0 & rhs.0)
2446 }
2447 }
2448 impl ::std::ops::BitOrAssign for DXGI_RESOURCE_PRIORITY {
bitor_assign(&mut self, rhs: Self)2449 fn bitor_assign(&mut self, rhs: Self) {
2450 self.0.bitor_assign(rhs.0)
2451 }
2452 }
2453 impl ::std::ops::BitAndAssign for DXGI_RESOURCE_PRIORITY {
bitand_assign(&mut self, rhs: Self)2454 fn bitand_assign(&mut self, rhs: Self) {
2455 self.0.bitand_assign(rhs.0)
2456 }
2457 }
2458 impl ::std::ops::Not for DXGI_RESOURCE_PRIORITY {
2459 type Output = Self;
not(self) -> Self2460 fn not(self) -> Self {
2461 Self(self.0.not())
2462 }
2463 }
2464 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
2465 #[repr(C)]
2466 pub struct DXGI_RGB {
2467 pub Red: f32,
2468 pub Green: f32,
2469 pub Blue: f32,
2470 }
2471 impl DXGI_RGB {}
2472 impl ::std::default::Default for DXGI_RGB {
default() -> Self2473 fn default() -> Self {
2474 unsafe { ::std::mem::zeroed() }
2475 }
2476 }
2477 impl ::std::fmt::Debug for DXGI_RGB {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result2478 fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
2479 fmt.debug_struct("DXGI_RGB").field("Red", &self.Red).field("Green", &self.Green).field("Blue", &self.Blue).finish()
2480 }
2481 }
2482 impl ::std::cmp::PartialEq for DXGI_RGB {
eq(&self, other: &Self) -> bool2483 fn eq(&self, other: &Self) -> bool {
2484 self.Red == other.Red && self.Green == other.Green && self.Blue == other.Blue
2485 }
2486 }
2487 impl ::std::cmp::Eq for DXGI_RGB {}
2488 unsafe impl ::windows::runtime::Abi for DXGI_RGB {
2489 type Abi = Self;
2490 type DefaultType = Self;
2491 }
2492 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
2493 #[repr(C)]
2494 pub struct DXGI_RGBA {
2495 pub r: f32,
2496 pub g: f32,
2497 pub b: f32,
2498 pub a: f32,
2499 }
2500 impl DXGI_RGBA {}
2501 impl ::std::default::Default for DXGI_RGBA {
default() -> Self2502 fn default() -> Self {
2503 unsafe { ::std::mem::zeroed() }
2504 }
2505 }
2506 impl ::std::fmt::Debug for DXGI_RGBA {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result2507 fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
2508 fmt.debug_struct("DXGI_RGBA").field("r", &self.r).field("g", &self.g).field("b", &self.b).field("a", &self.a).finish()
2509 }
2510 }
2511 impl ::std::cmp::PartialEq for DXGI_RGBA {
eq(&self, other: &Self) -> bool2512 fn eq(&self, other: &Self) -> bool {
2513 self.r == other.r && self.g == other.g && self.b == other.b && self.a == other.a
2514 }
2515 }
2516 impl ::std::cmp::Eq for DXGI_RGBA {}
2517 unsafe impl ::windows::runtime::Abi for DXGI_RGBA {
2518 type Abi = Self;
2519 type DefaultType = Self;
2520 }
2521 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
2522 #[repr(C)]
2523 pub struct DXGI_SAMPLE_DESC {
2524 pub Count: u32,
2525 pub Quality: u32,
2526 }
2527 impl DXGI_SAMPLE_DESC {}
2528 impl ::std::default::Default for DXGI_SAMPLE_DESC {
default() -> Self2529 fn default() -> Self {
2530 unsafe { ::std::mem::zeroed() }
2531 }
2532 }
2533 impl ::std::fmt::Debug for DXGI_SAMPLE_DESC {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result2534 fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
2535 fmt.debug_struct("DXGI_SAMPLE_DESC").field("Count", &self.Count).field("Quality", &self.Quality).finish()
2536 }
2537 }
2538 impl ::std::cmp::PartialEq for DXGI_SAMPLE_DESC {
eq(&self, other: &Self) -> bool2539 fn eq(&self, other: &Self) -> bool {
2540 self.Count == other.Count && self.Quality == other.Quality
2541 }
2542 }
2543 impl ::std::cmp::Eq for DXGI_SAMPLE_DESC {}
2544 unsafe impl ::windows::runtime::Abi for DXGI_SAMPLE_DESC {
2545 type Abi = Self;
2546 type DefaultType = Self;
2547 }
2548 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
2549 #[repr(transparent)]
2550 pub struct DXGI_SCALING(pub i32);
2551 pub const DXGI_SCALING_STRETCH: DXGI_SCALING = DXGI_SCALING(0i32);
2552 pub const DXGI_SCALING_NONE: DXGI_SCALING = DXGI_SCALING(1i32);
2553 pub const DXGI_SCALING_ASPECT_RATIO_STRETCH: DXGI_SCALING = DXGI_SCALING(2i32);
2554 impl ::std::convert::From<i32> for DXGI_SCALING {
from(value: i32) -> Self2555 fn from(value: i32) -> Self {
2556 Self(value)
2557 }
2558 }
2559 unsafe impl ::windows::runtime::Abi for DXGI_SCALING {
2560 type Abi = Self;
2561 type DefaultType = Self;
2562 }
2563 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
2564 #[repr(C)]
2565 #[cfg(feature = "Win32_Foundation")]
2566 pub struct DXGI_SHARED_RESOURCE {
2567 pub Handle: super::super::Foundation::HANDLE,
2568 }
2569 #[cfg(feature = "Win32_Foundation")]
2570 impl DXGI_SHARED_RESOURCE {}
2571 #[cfg(feature = "Win32_Foundation")]
2572 impl ::std::default::Default for DXGI_SHARED_RESOURCE {
default() -> Self2573 fn default() -> Self {
2574 unsafe { ::std::mem::zeroed() }
2575 }
2576 }
2577 #[cfg(feature = "Win32_Foundation")]
2578 impl ::std::fmt::Debug for DXGI_SHARED_RESOURCE {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result2579 fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
2580 fmt.debug_struct("DXGI_SHARED_RESOURCE").field("Handle", &self.Handle).finish()
2581 }
2582 }
2583 #[cfg(feature = "Win32_Foundation")]
2584 impl ::std::cmp::PartialEq for DXGI_SHARED_RESOURCE {
eq(&self, other: &Self) -> bool2585 fn eq(&self, other: &Self) -> bool {
2586 self.Handle == other.Handle
2587 }
2588 }
2589 #[cfg(feature = "Win32_Foundation")]
2590 impl ::std::cmp::Eq for DXGI_SHARED_RESOURCE {}
2591 #[cfg(feature = "Win32_Foundation")]
2592 unsafe impl ::windows::runtime::Abi for DXGI_SHARED_RESOURCE {
2593 type Abi = Self;
2594 type DefaultType = Self;
2595 }
2596 pub const DXGI_SHARED_RESOURCE_READ: u32 = 2147483648u32;
2597 pub const DXGI_SHARED_RESOURCE_WRITE: u32 = 1u32;
2598 pub const DXGI_STANDARD_MULTISAMPLE_QUALITY_PATTERN: u32 = 4294967295u32;
2599 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
2600 #[repr(C)]
2601 pub struct DXGI_SURFACE_DESC {
2602 pub Width: u32,
2603 pub Height: u32,
2604 pub Format: DXGI_FORMAT,
2605 pub SampleDesc: DXGI_SAMPLE_DESC,
2606 }
2607 impl DXGI_SURFACE_DESC {}
2608 impl ::std::default::Default for DXGI_SURFACE_DESC {
default() -> Self2609 fn default() -> Self {
2610 unsafe { ::std::mem::zeroed() }
2611 }
2612 }
2613 impl ::std::fmt::Debug for DXGI_SURFACE_DESC {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result2614 fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
2615 fmt.debug_struct("DXGI_SURFACE_DESC").field("Width", &self.Width).field("Height", &self.Height).field("Format", &self.Format).field("SampleDesc", &self.SampleDesc).finish()
2616 }
2617 }
2618 impl ::std::cmp::PartialEq for DXGI_SURFACE_DESC {
eq(&self, other: &Self) -> bool2619 fn eq(&self, other: &Self) -> bool {
2620 self.Width == other.Width && self.Height == other.Height && self.Format == other.Format && self.SampleDesc == other.SampleDesc
2621 }
2622 }
2623 impl ::std::cmp::Eq for DXGI_SURFACE_DESC {}
2624 unsafe impl ::windows::runtime::Abi for DXGI_SURFACE_DESC {
2625 type Abi = Self;
2626 type DefaultType = Self;
2627 }
2628 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
2629 #[repr(transparent)]
2630 pub struct DXGI_SWAP_CHAIN_COLOR_SPACE_SUPPORT_FLAG(pub i32);
2631 pub const DXGI_SWAP_CHAIN_COLOR_SPACE_SUPPORT_FLAG_PRESENT: DXGI_SWAP_CHAIN_COLOR_SPACE_SUPPORT_FLAG = DXGI_SWAP_CHAIN_COLOR_SPACE_SUPPORT_FLAG(1i32);
2632 pub const DXGI_SWAP_CHAIN_COLOR_SPACE_SUPPORT_FLAG_OVERLAY_PRESENT: DXGI_SWAP_CHAIN_COLOR_SPACE_SUPPORT_FLAG = DXGI_SWAP_CHAIN_COLOR_SPACE_SUPPORT_FLAG(2i32);
2633 impl ::std::convert::From<i32> for DXGI_SWAP_CHAIN_COLOR_SPACE_SUPPORT_FLAG {
from(value: i32) -> Self2634 fn from(value: i32) -> Self {
2635 Self(value)
2636 }
2637 }
2638 unsafe impl ::windows::runtime::Abi for DXGI_SWAP_CHAIN_COLOR_SPACE_SUPPORT_FLAG {
2639 type Abi = Self;
2640 type DefaultType = Self;
2641 }
2642 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
2643 #[repr(C)]
2644 #[cfg(feature = "Win32_Foundation")]
2645 pub struct DXGI_SWAP_CHAIN_DESC {
2646 pub BufferDesc: DXGI_MODE_DESC,
2647 pub SampleDesc: DXGI_SAMPLE_DESC,
2648 pub BufferUsage: u32,
2649 pub BufferCount: u32,
2650 pub OutputWindow: super::super::Foundation::HWND,
2651 pub Windowed: super::super::Foundation::BOOL,
2652 pub SwapEffect: DXGI_SWAP_EFFECT,
2653 pub Flags: u32,
2654 }
2655 #[cfg(feature = "Win32_Foundation")]
2656 impl DXGI_SWAP_CHAIN_DESC {}
2657 #[cfg(feature = "Win32_Foundation")]
2658 impl ::std::default::Default for DXGI_SWAP_CHAIN_DESC {
default() -> Self2659 fn default() -> Self {
2660 unsafe { ::std::mem::zeroed() }
2661 }
2662 }
2663 #[cfg(feature = "Win32_Foundation")]
2664 impl ::std::fmt::Debug for DXGI_SWAP_CHAIN_DESC {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result2665 fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
2666 fmt.debug_struct("DXGI_SWAP_CHAIN_DESC")
2667 .field("BufferDesc", &self.BufferDesc)
2668 .field("SampleDesc", &self.SampleDesc)
2669 .field("BufferUsage", &self.BufferUsage)
2670 .field("BufferCount", &self.BufferCount)
2671 .field("OutputWindow", &self.OutputWindow)
2672 .field("Windowed", &self.Windowed)
2673 .field("SwapEffect", &self.SwapEffect)
2674 .field("Flags", &self.Flags)
2675 .finish()
2676 }
2677 }
2678 #[cfg(feature = "Win32_Foundation")]
2679 impl ::std::cmp::PartialEq for DXGI_SWAP_CHAIN_DESC {
eq(&self, other: &Self) -> bool2680 fn eq(&self, other: &Self) -> bool {
2681 self.BufferDesc == other.BufferDesc && self.SampleDesc == other.SampleDesc && self.BufferUsage == other.BufferUsage && self.BufferCount == other.BufferCount && self.OutputWindow == other.OutputWindow && self.Windowed == other.Windowed && self.SwapEffect == other.SwapEffect && self.Flags == other.Flags
2682 }
2683 }
2684 #[cfg(feature = "Win32_Foundation")]
2685 impl ::std::cmp::Eq for DXGI_SWAP_CHAIN_DESC {}
2686 #[cfg(feature = "Win32_Foundation")]
2687 unsafe impl ::windows::runtime::Abi for DXGI_SWAP_CHAIN_DESC {
2688 type Abi = Self;
2689 type DefaultType = Self;
2690 }
2691 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
2692 #[repr(C)]
2693 #[cfg(feature = "Win32_Foundation")]
2694 pub struct DXGI_SWAP_CHAIN_DESC1 {
2695 pub Width: u32,
2696 pub Height: u32,
2697 pub Format: DXGI_FORMAT,
2698 pub Stereo: super::super::Foundation::BOOL,
2699 pub SampleDesc: DXGI_SAMPLE_DESC,
2700 pub BufferUsage: u32,
2701 pub BufferCount: u32,
2702 pub Scaling: DXGI_SCALING,
2703 pub SwapEffect: DXGI_SWAP_EFFECT,
2704 pub AlphaMode: DXGI_ALPHA_MODE,
2705 pub Flags: u32,
2706 }
2707 #[cfg(feature = "Win32_Foundation")]
2708 impl DXGI_SWAP_CHAIN_DESC1 {}
2709 #[cfg(feature = "Win32_Foundation")]
2710 impl ::std::default::Default for DXGI_SWAP_CHAIN_DESC1 {
default() -> Self2711 fn default() -> Self {
2712 unsafe { ::std::mem::zeroed() }
2713 }
2714 }
2715 #[cfg(feature = "Win32_Foundation")]
2716 impl ::std::fmt::Debug for DXGI_SWAP_CHAIN_DESC1 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result2717 fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
2718 fmt.debug_struct("DXGI_SWAP_CHAIN_DESC1")
2719 .field("Width", &self.Width)
2720 .field("Height", &self.Height)
2721 .field("Format", &self.Format)
2722 .field("Stereo", &self.Stereo)
2723 .field("SampleDesc", &self.SampleDesc)
2724 .field("BufferUsage", &self.BufferUsage)
2725 .field("BufferCount", &self.BufferCount)
2726 .field("Scaling", &self.Scaling)
2727 .field("SwapEffect", &self.SwapEffect)
2728 .field("AlphaMode", &self.AlphaMode)
2729 .field("Flags", &self.Flags)
2730 .finish()
2731 }
2732 }
2733 #[cfg(feature = "Win32_Foundation")]
2734 impl ::std::cmp::PartialEq for DXGI_SWAP_CHAIN_DESC1 {
eq(&self, other: &Self) -> bool2735 fn eq(&self, other: &Self) -> bool {
2736 self.Width == other.Width && self.Height == other.Height && self.Format == other.Format && self.Stereo == other.Stereo && self.SampleDesc == other.SampleDesc && self.BufferUsage == other.BufferUsage && self.BufferCount == other.BufferCount && self.Scaling == other.Scaling && self.SwapEffect == other.SwapEffect && self.AlphaMode == other.AlphaMode && self.Flags == other.Flags
2737 }
2738 }
2739 #[cfg(feature = "Win32_Foundation")]
2740 impl ::std::cmp::Eq for DXGI_SWAP_CHAIN_DESC1 {}
2741 #[cfg(feature = "Win32_Foundation")]
2742 unsafe impl ::windows::runtime::Abi for DXGI_SWAP_CHAIN_DESC1 {
2743 type Abi = Self;
2744 type DefaultType = Self;
2745 }
2746 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
2747 #[repr(transparent)]
2748 pub struct DXGI_SWAP_CHAIN_FLAG(pub i32);
2749 pub const DXGI_SWAP_CHAIN_FLAG_NONPREROTATED: DXGI_SWAP_CHAIN_FLAG = DXGI_SWAP_CHAIN_FLAG(1i32);
2750 pub const DXGI_SWAP_CHAIN_FLAG_ALLOW_MODE_SWITCH: DXGI_SWAP_CHAIN_FLAG = DXGI_SWAP_CHAIN_FLAG(2i32);
2751 pub const DXGI_SWAP_CHAIN_FLAG_GDI_COMPATIBLE: DXGI_SWAP_CHAIN_FLAG = DXGI_SWAP_CHAIN_FLAG(4i32);
2752 pub const DXGI_SWAP_CHAIN_FLAG_RESTRICTED_CONTENT: DXGI_SWAP_CHAIN_FLAG = DXGI_SWAP_CHAIN_FLAG(8i32);
2753 pub const DXGI_SWAP_CHAIN_FLAG_RESTRICT_SHARED_RESOURCE_DRIVER: DXGI_SWAP_CHAIN_FLAG = DXGI_SWAP_CHAIN_FLAG(16i32);
2754 pub const DXGI_SWAP_CHAIN_FLAG_DISPLAY_ONLY: DXGI_SWAP_CHAIN_FLAG = DXGI_SWAP_CHAIN_FLAG(32i32);
2755 pub const DXGI_SWAP_CHAIN_FLAG_FRAME_LATENCY_WAITABLE_OBJECT: DXGI_SWAP_CHAIN_FLAG = DXGI_SWAP_CHAIN_FLAG(64i32);
2756 pub const DXGI_SWAP_CHAIN_FLAG_FOREGROUND_LAYER: DXGI_SWAP_CHAIN_FLAG = DXGI_SWAP_CHAIN_FLAG(128i32);
2757 pub const DXGI_SWAP_CHAIN_FLAG_FULLSCREEN_VIDEO: DXGI_SWAP_CHAIN_FLAG = DXGI_SWAP_CHAIN_FLAG(256i32);
2758 pub const DXGI_SWAP_CHAIN_FLAG_YUV_VIDEO: DXGI_SWAP_CHAIN_FLAG = DXGI_SWAP_CHAIN_FLAG(512i32);
2759 pub const DXGI_SWAP_CHAIN_FLAG_HW_PROTECTED: DXGI_SWAP_CHAIN_FLAG = DXGI_SWAP_CHAIN_FLAG(1024i32);
2760 pub const DXGI_SWAP_CHAIN_FLAG_ALLOW_TEARING: DXGI_SWAP_CHAIN_FLAG = DXGI_SWAP_CHAIN_FLAG(2048i32);
2761 pub const DXGI_SWAP_CHAIN_FLAG_RESTRICTED_TO_ALL_HOLOGRAPHIC_DISPLAYS: DXGI_SWAP_CHAIN_FLAG = DXGI_SWAP_CHAIN_FLAG(4096i32);
2762 impl ::std::convert::From<i32> for DXGI_SWAP_CHAIN_FLAG {
from(value: i32) -> Self2763 fn from(value: i32) -> Self {
2764 Self(value)
2765 }
2766 }
2767 unsafe impl ::windows::runtime::Abi for DXGI_SWAP_CHAIN_FLAG {
2768 type Abi = Self;
2769 type DefaultType = Self;
2770 }
2771 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
2772 #[repr(C)]
2773 #[cfg(feature = "Win32_Foundation")]
2774 pub struct DXGI_SWAP_CHAIN_FULLSCREEN_DESC {
2775 pub RefreshRate: DXGI_RATIONAL,
2776 pub ScanlineOrdering: DXGI_MODE_SCANLINE_ORDER,
2777 pub Scaling: DXGI_MODE_SCALING,
2778 pub Windowed: super::super::Foundation::BOOL,
2779 }
2780 #[cfg(feature = "Win32_Foundation")]
2781 impl DXGI_SWAP_CHAIN_FULLSCREEN_DESC {}
2782 #[cfg(feature = "Win32_Foundation")]
2783 impl ::std::default::Default for DXGI_SWAP_CHAIN_FULLSCREEN_DESC {
default() -> Self2784 fn default() -> Self {
2785 unsafe { ::std::mem::zeroed() }
2786 }
2787 }
2788 #[cfg(feature = "Win32_Foundation")]
2789 impl ::std::fmt::Debug for DXGI_SWAP_CHAIN_FULLSCREEN_DESC {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result2790 fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
2791 fmt.debug_struct("DXGI_SWAP_CHAIN_FULLSCREEN_DESC").field("RefreshRate", &self.RefreshRate).field("ScanlineOrdering", &self.ScanlineOrdering).field("Scaling", &self.Scaling).field("Windowed", &self.Windowed).finish()
2792 }
2793 }
2794 #[cfg(feature = "Win32_Foundation")]
2795 impl ::std::cmp::PartialEq for DXGI_SWAP_CHAIN_FULLSCREEN_DESC {
eq(&self, other: &Self) -> bool2796 fn eq(&self, other: &Self) -> bool {
2797 self.RefreshRate == other.RefreshRate && self.ScanlineOrdering == other.ScanlineOrdering && self.Scaling == other.Scaling && self.Windowed == other.Windowed
2798 }
2799 }
2800 #[cfg(feature = "Win32_Foundation")]
2801 impl ::std::cmp::Eq for DXGI_SWAP_CHAIN_FULLSCREEN_DESC {}
2802 #[cfg(feature = "Win32_Foundation")]
2803 unsafe impl ::windows::runtime::Abi for DXGI_SWAP_CHAIN_FULLSCREEN_DESC {
2804 type Abi = Self;
2805 type DefaultType = Self;
2806 }
2807 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
2808 #[repr(transparent)]
2809 pub struct DXGI_SWAP_EFFECT(pub i32);
2810 pub const DXGI_SWAP_EFFECT_DISCARD: DXGI_SWAP_EFFECT = DXGI_SWAP_EFFECT(0i32);
2811 pub const DXGI_SWAP_EFFECT_SEQUENTIAL: DXGI_SWAP_EFFECT = DXGI_SWAP_EFFECT(1i32);
2812 pub const DXGI_SWAP_EFFECT_FLIP_SEQUENTIAL: DXGI_SWAP_EFFECT = DXGI_SWAP_EFFECT(3i32);
2813 pub const DXGI_SWAP_EFFECT_FLIP_DISCARD: DXGI_SWAP_EFFECT = DXGI_SWAP_EFFECT(4i32);
2814 impl ::std::convert::From<i32> for DXGI_SWAP_EFFECT {
from(value: i32) -> Self2815 fn from(value: i32) -> Self {
2816 Self(value)
2817 }
2818 }
2819 unsafe impl ::windows::runtime::Abi for DXGI_SWAP_EFFECT {
2820 type Abi = Self;
2821 type DefaultType = Self;
2822 }
2823 pub const DXGI_USAGE_BACK_BUFFER: u32 = 64u32;
2824 pub const DXGI_USAGE_DISCARD_ON_PRESENT: u32 = 512u32;
2825 pub const DXGI_USAGE_READ_ONLY: u32 = 256u32;
2826 pub const DXGI_USAGE_RENDER_TARGET_OUTPUT: u32 = 32u32;
2827 pub const DXGI_USAGE_SHADER_INPUT: u32 = 16u32;
2828 pub const DXGI_USAGE_SHARED: u32 = 128u32;
2829 pub const DXGI_USAGE_UNORDERED_ACCESS: u32 = 1024u32;
2830 #[repr(transparent)]
2831 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2832 pub struct IDXGIAdapter(::windows::runtime::IUnknown);
2833 impl IDXGIAdapter {
SetPrivateData(&self, name: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::Result<()>2834 pub unsafe fn SetPrivateData(&self, name: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
2835 (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(name), ::std::mem::transmute(datasize), ::std::mem::transmute(pdata)).ok()
2836 }
SetPrivateDataInterface<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, name: *const ::windows::runtime::GUID, punknown: Param1) -> ::windows::runtime::Result<()>2837 pub unsafe fn SetPrivateDataInterface<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, name: *const ::windows::runtime::GUID, punknown: Param1) -> ::windows::runtime::Result<()> {
2838 (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(name), punknown.into_param().abi()).ok()
2839 }
GetPrivateData(&self, name: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()>2840 pub unsafe fn GetPrivateData(&self, name: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
2841 (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(name), ::std::mem::transmute(pdatasize), ::std::mem::transmute(pdata)).ok()
2842 }
GetParent<T: ::windows::runtime::Interface>(&self) -> ::windows::runtime::Result<T>2843 pub unsafe fn GetParent<T: ::windows::runtime::Interface>(&self) -> ::windows::runtime::Result<T> {
2844 let mut result__ = ::std::option::Option::None;
2845 (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
2846 }
EnumOutputs(&self, output: u32) -> ::windows::runtime::Result<IDXGIOutput>2847 pub unsafe fn EnumOutputs(&self, output: u32) -> ::windows::runtime::Result<IDXGIOutput> {
2848 let mut result__: <IDXGIOutput as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2849 (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(output), &mut result__).from_abi::<IDXGIOutput>(result__)
2850 }
2851 #[cfg(feature = "Win32_Foundation")]
GetDesc(&self) -> ::windows::runtime::Result<DXGI_ADAPTER_DESC>2852 pub unsafe fn GetDesc(&self) -> ::windows::runtime::Result<DXGI_ADAPTER_DESC> {
2853 let mut result__: <DXGI_ADAPTER_DESC as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2854 (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<DXGI_ADAPTER_DESC>(result__)
2855 }
CheckInterfaceSupport(&self, interfacename: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<i64>2856 pub unsafe fn CheckInterfaceSupport(&self, interfacename: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<i64> {
2857 let mut result__: <i64 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2858 (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(interfacename), &mut result__).from_abi::<i64>(result__)
2859 }
2860 }
2861 unsafe impl ::windows::runtime::Interface for IDXGIAdapter {
2862 type Vtable = IDXGIAdapter_abi;
2863 const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(605153249, 4780, 19663, [189, 20, 151, 152, 232, 83, 77, 192]);
2864 }
2865 impl ::std::convert::From<IDXGIAdapter> for ::windows::runtime::IUnknown {
from(value: IDXGIAdapter) -> Self2866 fn from(value: IDXGIAdapter) -> Self {
2867 unsafe { ::std::mem::transmute(value) }
2868 }
2869 }
2870 impl ::std::convert::From<&IDXGIAdapter> for ::windows::runtime::IUnknown {
from(value: &IDXGIAdapter) -> Self2871 fn from(value: &IDXGIAdapter) -> Self {
2872 ::std::convert::From::from(::std::clone::Clone::clone(value))
2873 }
2874 }
2875 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IDXGIAdapter {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2876 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2877 ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2878 }
2879 }
2880 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IDXGIAdapter {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2881 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2882 ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2883 }
2884 }
2885 impl ::std::convert::From<IDXGIAdapter> for IDXGIObject {
from(value: IDXGIAdapter) -> Self2886 fn from(value: IDXGIAdapter) -> Self {
2887 unsafe { ::std::mem::transmute(value) }
2888 }
2889 }
2890 impl ::std::convert::From<&IDXGIAdapter> for IDXGIObject {
from(value: &IDXGIAdapter) -> Self2891 fn from(value: &IDXGIAdapter) -> Self {
2892 ::std::convert::From::from(::std::clone::Clone::clone(value))
2893 }
2894 }
2895 impl<'a> ::windows::runtime::IntoParam<'a, IDXGIObject> for IDXGIAdapter {
into_param(self) -> ::windows::runtime::Param<'a, IDXGIObject>2896 fn into_param(self) -> ::windows::runtime::Param<'a, IDXGIObject> {
2897 ::windows::runtime::Param::Owned(::std::convert::Into::<IDXGIObject>::into(self))
2898 }
2899 }
2900 impl<'a> ::windows::runtime::IntoParam<'a, IDXGIObject> for &IDXGIAdapter {
into_param(self) -> ::windows::runtime::Param<'a, IDXGIObject>2901 fn into_param(self) -> ::windows::runtime::Param<'a, IDXGIObject> {
2902 ::windows::runtime::Param::Owned(::std::convert::Into::<IDXGIObject>::into(::std::clone::Clone::clone(self)))
2903 }
2904 }
2905 #[repr(C)]
2906 #[doc(hidden)]
2907 pub struct IDXGIAdapter_abi(
2908 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2909 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2910 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2911 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
2912 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: *const ::windows::runtime::GUID, punknown: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2913 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
2914 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, ppparent: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
2915 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, output: u32, ppoutput: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2916 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *mut DXGI_ADAPTER_DESC) -> ::windows::runtime::HRESULT,
2917 #[cfg(not(feature = "Win32_Foundation"))] usize,
2918 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, interfacename: *const ::windows::runtime::GUID, pumdversion: *mut i64) -> ::windows::runtime::HRESULT,
2919 );
2920 #[repr(transparent)]
2921 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2922 pub struct IDXGIAdapter1(::windows::runtime::IUnknown);
2923 impl IDXGIAdapter1 {
SetPrivateData(&self, name: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::Result<()>2924 pub unsafe fn SetPrivateData(&self, name: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
2925 (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(name), ::std::mem::transmute(datasize), ::std::mem::transmute(pdata)).ok()
2926 }
SetPrivateDataInterface<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, name: *const ::windows::runtime::GUID, punknown: Param1) -> ::windows::runtime::Result<()>2927 pub unsafe fn SetPrivateDataInterface<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, name: *const ::windows::runtime::GUID, punknown: Param1) -> ::windows::runtime::Result<()> {
2928 (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(name), punknown.into_param().abi()).ok()
2929 }
GetPrivateData(&self, name: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()>2930 pub unsafe fn GetPrivateData(&self, name: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
2931 (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(name), ::std::mem::transmute(pdatasize), ::std::mem::transmute(pdata)).ok()
2932 }
GetParent<T: ::windows::runtime::Interface>(&self) -> ::windows::runtime::Result<T>2933 pub unsafe fn GetParent<T: ::windows::runtime::Interface>(&self) -> ::windows::runtime::Result<T> {
2934 let mut result__ = ::std::option::Option::None;
2935 (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
2936 }
EnumOutputs(&self, output: u32) -> ::windows::runtime::Result<IDXGIOutput>2937 pub unsafe fn EnumOutputs(&self, output: u32) -> ::windows::runtime::Result<IDXGIOutput> {
2938 let mut result__: <IDXGIOutput as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2939 (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(output), &mut result__).from_abi::<IDXGIOutput>(result__)
2940 }
2941 #[cfg(feature = "Win32_Foundation")]
GetDesc(&self) -> ::windows::runtime::Result<DXGI_ADAPTER_DESC>2942 pub unsafe fn GetDesc(&self) -> ::windows::runtime::Result<DXGI_ADAPTER_DESC> {
2943 let mut result__: <DXGI_ADAPTER_DESC as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2944 (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<DXGI_ADAPTER_DESC>(result__)
2945 }
CheckInterfaceSupport(&self, interfacename: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<i64>2946 pub unsafe fn CheckInterfaceSupport(&self, interfacename: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<i64> {
2947 let mut result__: <i64 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2948 (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(interfacename), &mut result__).from_abi::<i64>(result__)
2949 }
2950 #[cfg(feature = "Win32_Foundation")]
GetDesc1(&self) -> ::windows::runtime::Result<DXGI_ADAPTER_DESC1>2951 pub unsafe fn GetDesc1(&self) -> ::windows::runtime::Result<DXGI_ADAPTER_DESC1> {
2952 let mut result__: <DXGI_ADAPTER_DESC1 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2953 (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<DXGI_ADAPTER_DESC1>(result__)
2954 }
2955 }
2956 unsafe impl ::windows::runtime::Interface for IDXGIAdapter1 {
2957 type Vtable = IDXGIAdapter1_abi;
2958 const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(688099169, 14393, 17958, [145, 253, 8, 104, 121, 1, 26, 5]);
2959 }
2960 impl ::std::convert::From<IDXGIAdapter1> for ::windows::runtime::IUnknown {
from(value: IDXGIAdapter1) -> Self2961 fn from(value: IDXGIAdapter1) -> Self {
2962 unsafe { ::std::mem::transmute(value) }
2963 }
2964 }
2965 impl ::std::convert::From<&IDXGIAdapter1> for ::windows::runtime::IUnknown {
from(value: &IDXGIAdapter1) -> Self2966 fn from(value: &IDXGIAdapter1) -> Self {
2967 ::std::convert::From::from(::std::clone::Clone::clone(value))
2968 }
2969 }
2970 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IDXGIAdapter1 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2971 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2972 ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2973 }
2974 }
2975 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IDXGIAdapter1 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2976 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2977 ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2978 }
2979 }
2980 impl ::std::convert::From<IDXGIAdapter1> for IDXGIAdapter {
from(value: IDXGIAdapter1) -> Self2981 fn from(value: IDXGIAdapter1) -> Self {
2982 unsafe { ::std::mem::transmute(value) }
2983 }
2984 }
2985 impl ::std::convert::From<&IDXGIAdapter1> for IDXGIAdapter {
from(value: &IDXGIAdapter1) -> Self2986 fn from(value: &IDXGIAdapter1) -> Self {
2987 ::std::convert::From::from(::std::clone::Clone::clone(value))
2988 }
2989 }
2990 impl<'a> ::windows::runtime::IntoParam<'a, IDXGIAdapter> for IDXGIAdapter1 {
into_param(self) -> ::windows::runtime::Param<'a, IDXGIAdapter>2991 fn into_param(self) -> ::windows::runtime::Param<'a, IDXGIAdapter> {
2992 ::windows::runtime::Param::Owned(::std::convert::Into::<IDXGIAdapter>::into(self))
2993 }
2994 }
2995 impl<'a> ::windows::runtime::IntoParam<'a, IDXGIAdapter> for &IDXGIAdapter1 {
into_param(self) -> ::windows::runtime::Param<'a, IDXGIAdapter>2996 fn into_param(self) -> ::windows::runtime::Param<'a, IDXGIAdapter> {
2997 ::windows::runtime::Param::Owned(::std::convert::Into::<IDXGIAdapter>::into(::std::clone::Clone::clone(self)))
2998 }
2999 }
3000 impl ::std::convert::From<IDXGIAdapter1> for IDXGIObject {
from(value: IDXGIAdapter1) -> Self3001 fn from(value: IDXGIAdapter1) -> Self {
3002 unsafe { ::std::mem::transmute(value) }
3003 }
3004 }
3005 impl ::std::convert::From<&IDXGIAdapter1> for IDXGIObject {
from(value: &IDXGIAdapter1) -> Self3006 fn from(value: &IDXGIAdapter1) -> Self {
3007 ::std::convert::From::from(::std::clone::Clone::clone(value))
3008 }
3009 }
3010 impl<'a> ::windows::runtime::IntoParam<'a, IDXGIObject> for IDXGIAdapter1 {
into_param(self) -> ::windows::runtime::Param<'a, IDXGIObject>3011 fn into_param(self) -> ::windows::runtime::Param<'a, IDXGIObject> {
3012 ::windows::runtime::Param::Owned(::std::convert::Into::<IDXGIObject>::into(self))
3013 }
3014 }
3015 impl<'a> ::windows::runtime::IntoParam<'a, IDXGIObject> for &IDXGIAdapter1 {
into_param(self) -> ::windows::runtime::Param<'a, IDXGIObject>3016 fn into_param(self) -> ::windows::runtime::Param<'a, IDXGIObject> {
3017 ::windows::runtime::Param::Owned(::std::convert::Into::<IDXGIObject>::into(::std::clone::Clone::clone(self)))
3018 }
3019 }
3020 #[repr(C)]
3021 #[doc(hidden)]
3022 pub struct IDXGIAdapter1_abi(
3023 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3024 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3025 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3026 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
3027 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: *const ::windows::runtime::GUID, punknown: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3028 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
3029 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, ppparent: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
3030 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, output: u32, ppoutput: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3031 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *mut DXGI_ADAPTER_DESC) -> ::windows::runtime::HRESULT,
3032 #[cfg(not(feature = "Win32_Foundation"))] usize,
3033 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, interfacename: *const ::windows::runtime::GUID, pumdversion: *mut i64) -> ::windows::runtime::HRESULT,
3034 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *mut DXGI_ADAPTER_DESC1) -> ::windows::runtime::HRESULT,
3035 #[cfg(not(feature = "Win32_Foundation"))] usize,
3036 );
3037 #[repr(transparent)]
3038 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3039 pub struct IDXGIAdapter2(::windows::runtime::IUnknown);
3040 impl IDXGIAdapter2 {
SetPrivateData(&self, name: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::Result<()>3041 pub unsafe fn SetPrivateData(&self, name: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
3042 (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(name), ::std::mem::transmute(datasize), ::std::mem::transmute(pdata)).ok()
3043 }
SetPrivateDataInterface<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, name: *const ::windows::runtime::GUID, punknown: Param1) -> ::windows::runtime::Result<()>3044 pub unsafe fn SetPrivateDataInterface<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, name: *const ::windows::runtime::GUID, punknown: Param1) -> ::windows::runtime::Result<()> {
3045 (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(name), punknown.into_param().abi()).ok()
3046 }
GetPrivateData(&self, name: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()>3047 pub unsafe fn GetPrivateData(&self, name: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
3048 (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(name), ::std::mem::transmute(pdatasize), ::std::mem::transmute(pdata)).ok()
3049 }
GetParent<T: ::windows::runtime::Interface>(&self) -> ::windows::runtime::Result<T>3050 pub unsafe fn GetParent<T: ::windows::runtime::Interface>(&self) -> ::windows::runtime::Result<T> {
3051 let mut result__ = ::std::option::Option::None;
3052 (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
3053 }
EnumOutputs(&self, output: u32) -> ::windows::runtime::Result<IDXGIOutput>3054 pub unsafe fn EnumOutputs(&self, output: u32) -> ::windows::runtime::Result<IDXGIOutput> {
3055 let mut result__: <IDXGIOutput as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3056 (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(output), &mut result__).from_abi::<IDXGIOutput>(result__)
3057 }
3058 #[cfg(feature = "Win32_Foundation")]
GetDesc(&self) -> ::windows::runtime::Result<DXGI_ADAPTER_DESC>3059 pub unsafe fn GetDesc(&self) -> ::windows::runtime::Result<DXGI_ADAPTER_DESC> {
3060 let mut result__: <DXGI_ADAPTER_DESC as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3061 (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<DXGI_ADAPTER_DESC>(result__)
3062 }
CheckInterfaceSupport(&self, interfacename: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<i64>3063 pub unsafe fn CheckInterfaceSupport(&self, interfacename: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<i64> {
3064 let mut result__: <i64 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3065 (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(interfacename), &mut result__).from_abi::<i64>(result__)
3066 }
3067 #[cfg(feature = "Win32_Foundation")]
GetDesc1(&self) -> ::windows::runtime::Result<DXGI_ADAPTER_DESC1>3068 pub unsafe fn GetDesc1(&self) -> ::windows::runtime::Result<DXGI_ADAPTER_DESC1> {
3069 let mut result__: <DXGI_ADAPTER_DESC1 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3070 (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<DXGI_ADAPTER_DESC1>(result__)
3071 }
3072 #[cfg(feature = "Win32_Foundation")]
GetDesc2(&self) -> ::windows::runtime::Result<DXGI_ADAPTER_DESC2>3073 pub unsafe fn GetDesc2(&self) -> ::windows::runtime::Result<DXGI_ADAPTER_DESC2> {
3074 let mut result__: <DXGI_ADAPTER_DESC2 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3075 (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), &mut result__).from_abi::<DXGI_ADAPTER_DESC2>(result__)
3076 }
3077 }
3078 unsafe impl ::windows::runtime::Interface for IDXGIAdapter2 {
3079 type Vtable = IDXGIAdapter2_abi;
3080 const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(178368010, 64014, 19332, [134, 68, 224, 95, 248, 229, 172, 181]);
3081 }
3082 impl ::std::convert::From<IDXGIAdapter2> for ::windows::runtime::IUnknown {
from(value: IDXGIAdapter2) -> Self3083 fn from(value: IDXGIAdapter2) -> Self {
3084 unsafe { ::std::mem::transmute(value) }
3085 }
3086 }
3087 impl ::std::convert::From<&IDXGIAdapter2> for ::windows::runtime::IUnknown {
from(value: &IDXGIAdapter2) -> Self3088 fn from(value: &IDXGIAdapter2) -> Self {
3089 ::std::convert::From::from(::std::clone::Clone::clone(value))
3090 }
3091 }
3092 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IDXGIAdapter2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3093 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3094 ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3095 }
3096 }
3097 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IDXGIAdapter2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3098 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3099 ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3100 }
3101 }
3102 impl ::std::convert::From<IDXGIAdapter2> for IDXGIAdapter1 {
from(value: IDXGIAdapter2) -> Self3103 fn from(value: IDXGIAdapter2) -> Self {
3104 unsafe { ::std::mem::transmute(value) }
3105 }
3106 }
3107 impl ::std::convert::From<&IDXGIAdapter2> for IDXGIAdapter1 {
from(value: &IDXGIAdapter2) -> Self3108 fn from(value: &IDXGIAdapter2) -> Self {
3109 ::std::convert::From::from(::std::clone::Clone::clone(value))
3110 }
3111 }
3112 impl<'a> ::windows::runtime::IntoParam<'a, IDXGIAdapter1> for IDXGIAdapter2 {
into_param(self) -> ::windows::runtime::Param<'a, IDXGIAdapter1>3113 fn into_param(self) -> ::windows::runtime::Param<'a, IDXGIAdapter1> {
3114 ::windows::runtime::Param::Owned(::std::convert::Into::<IDXGIAdapter1>::into(self))
3115 }
3116 }
3117 impl<'a> ::windows::runtime::IntoParam<'a, IDXGIAdapter1> for &IDXGIAdapter2 {
into_param(self) -> ::windows::runtime::Param<'a, IDXGIAdapter1>3118 fn into_param(self) -> ::windows::runtime::Param<'a, IDXGIAdapter1> {
3119 ::windows::runtime::Param::Owned(::std::convert::Into::<IDXGIAdapter1>::into(::std::clone::Clone::clone(self)))
3120 }
3121 }
3122 impl ::std::convert::From<IDXGIAdapter2> for IDXGIAdapter {
from(value: IDXGIAdapter2) -> Self3123 fn from(value: IDXGIAdapter2) -> Self {
3124 unsafe { ::std::mem::transmute(value) }
3125 }
3126 }
3127 impl ::std::convert::From<&IDXGIAdapter2> for IDXGIAdapter {
from(value: &IDXGIAdapter2) -> Self3128 fn from(value: &IDXGIAdapter2) -> Self {
3129 ::std::convert::From::from(::std::clone::Clone::clone(value))
3130 }
3131 }
3132 impl<'a> ::windows::runtime::IntoParam<'a, IDXGIAdapter> for IDXGIAdapter2 {
into_param(self) -> ::windows::runtime::Param<'a, IDXGIAdapter>3133 fn into_param(self) -> ::windows::runtime::Param<'a, IDXGIAdapter> {
3134 ::windows::runtime::Param::Owned(::std::convert::Into::<IDXGIAdapter>::into(self))
3135 }
3136 }
3137 impl<'a> ::windows::runtime::IntoParam<'a, IDXGIAdapter> for &IDXGIAdapter2 {
into_param(self) -> ::windows::runtime::Param<'a, IDXGIAdapter>3138 fn into_param(self) -> ::windows::runtime::Param<'a, IDXGIAdapter> {
3139 ::windows::runtime::Param::Owned(::std::convert::Into::<IDXGIAdapter>::into(::std::clone::Clone::clone(self)))
3140 }
3141 }
3142 impl ::std::convert::From<IDXGIAdapter2> for IDXGIObject {
from(value: IDXGIAdapter2) -> Self3143 fn from(value: IDXGIAdapter2) -> Self {
3144 unsafe { ::std::mem::transmute(value) }
3145 }
3146 }
3147 impl ::std::convert::From<&IDXGIAdapter2> for IDXGIObject {
from(value: &IDXGIAdapter2) -> Self3148 fn from(value: &IDXGIAdapter2) -> Self {
3149 ::std::convert::From::from(::std::clone::Clone::clone(value))
3150 }
3151 }
3152 impl<'a> ::windows::runtime::IntoParam<'a, IDXGIObject> for IDXGIAdapter2 {
into_param(self) -> ::windows::runtime::Param<'a, IDXGIObject>3153 fn into_param(self) -> ::windows::runtime::Param<'a, IDXGIObject> {
3154 ::windows::runtime::Param::Owned(::std::convert::Into::<IDXGIObject>::into(self))
3155 }
3156 }
3157 impl<'a> ::windows::runtime::IntoParam<'a, IDXGIObject> for &IDXGIAdapter2 {
into_param(self) -> ::windows::runtime::Param<'a, IDXGIObject>3158 fn into_param(self) -> ::windows::runtime::Param<'a, IDXGIObject> {
3159 ::windows::runtime::Param::Owned(::std::convert::Into::<IDXGIObject>::into(::std::clone::Clone::clone(self)))
3160 }
3161 }
3162 #[repr(C)]
3163 #[doc(hidden)]
3164 pub struct IDXGIAdapter2_abi(
3165 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3166 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3167 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3168 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
3169 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: *const ::windows::runtime::GUID, punknown: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3170 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
3171 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, ppparent: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
3172 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, output: u32, ppoutput: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3173 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *mut DXGI_ADAPTER_DESC) -> ::windows::runtime::HRESULT,
3174 #[cfg(not(feature = "Win32_Foundation"))] usize,
3175 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, interfacename: *const ::windows::runtime::GUID, pumdversion: *mut i64) -> ::windows::runtime::HRESULT,
3176 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *mut DXGI_ADAPTER_DESC1) -> ::windows::runtime::HRESULT,
3177 #[cfg(not(feature = "Win32_Foundation"))] usize,
3178 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *mut DXGI_ADAPTER_DESC2) -> ::windows::runtime::HRESULT,
3179 #[cfg(not(feature = "Win32_Foundation"))] usize,
3180 );
3181 #[repr(transparent)]
3182 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3183 pub struct IDXGIAdapter3(::windows::runtime::IUnknown);
3184 impl IDXGIAdapter3 {
SetPrivateData(&self, name: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::Result<()>3185 pub unsafe fn SetPrivateData(&self, name: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
3186 (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(name), ::std::mem::transmute(datasize), ::std::mem::transmute(pdata)).ok()
3187 }
SetPrivateDataInterface<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, name: *const ::windows::runtime::GUID, punknown: Param1) -> ::windows::runtime::Result<()>3188 pub unsafe fn SetPrivateDataInterface<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, name: *const ::windows::runtime::GUID, punknown: Param1) -> ::windows::runtime::Result<()> {
3189 (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(name), punknown.into_param().abi()).ok()
3190 }
GetPrivateData(&self, name: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()>3191 pub unsafe fn GetPrivateData(&self, name: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
3192 (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(name), ::std::mem::transmute(pdatasize), ::std::mem::transmute(pdata)).ok()
3193 }
GetParent<T: ::windows::runtime::Interface>(&self) -> ::windows::runtime::Result<T>3194 pub unsafe fn GetParent<T: ::windows::runtime::Interface>(&self) -> ::windows::runtime::Result<T> {
3195 let mut result__ = ::std::option::Option::None;
3196 (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
3197 }
EnumOutputs(&self, output: u32) -> ::windows::runtime::Result<IDXGIOutput>3198 pub unsafe fn EnumOutputs(&self, output: u32) -> ::windows::runtime::Result<IDXGIOutput> {
3199 let mut result__: <IDXGIOutput as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3200 (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(output), &mut result__).from_abi::<IDXGIOutput>(result__)
3201 }
3202 #[cfg(feature = "Win32_Foundation")]
GetDesc(&self) -> ::windows::runtime::Result<DXGI_ADAPTER_DESC>3203 pub unsafe fn GetDesc(&self) -> ::windows::runtime::Result<DXGI_ADAPTER_DESC> {
3204 let mut result__: <DXGI_ADAPTER_DESC as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3205 (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<DXGI_ADAPTER_DESC>(result__)
3206 }
CheckInterfaceSupport(&self, interfacename: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<i64>3207 pub unsafe fn CheckInterfaceSupport(&self, interfacename: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<i64> {
3208 let mut result__: <i64 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3209 (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(interfacename), &mut result__).from_abi::<i64>(result__)
3210 }
3211 #[cfg(feature = "Win32_Foundation")]
GetDesc1(&self) -> ::windows::runtime::Result<DXGI_ADAPTER_DESC1>3212 pub unsafe fn GetDesc1(&self) -> ::windows::runtime::Result<DXGI_ADAPTER_DESC1> {
3213 let mut result__: <DXGI_ADAPTER_DESC1 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3214 (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<DXGI_ADAPTER_DESC1>(result__)
3215 }
3216 #[cfg(feature = "Win32_Foundation")]
GetDesc2(&self) -> ::windows::runtime::Result<DXGI_ADAPTER_DESC2>3217 pub unsafe fn GetDesc2(&self) -> ::windows::runtime::Result<DXGI_ADAPTER_DESC2> {
3218 let mut result__: <DXGI_ADAPTER_DESC2 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3219 (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), &mut result__).from_abi::<DXGI_ADAPTER_DESC2>(result__)
3220 }
3221 #[cfg(feature = "Win32_Foundation")]
RegisterHardwareContentProtectionTeardownStatusEvent<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(&self, hevent: Param0) -> ::windows::runtime::Result<u32>3222 pub unsafe fn RegisterHardwareContentProtectionTeardownStatusEvent<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(&self, hevent: Param0) -> ::windows::runtime::Result<u32> {
3223 let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3224 (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), hevent.into_param().abi(), &mut result__).from_abi::<u32>(result__)
3225 }
UnregisterHardwareContentProtectionTeardownStatus(&self, dwcookie: u32)3226 pub unsafe fn UnregisterHardwareContentProtectionTeardownStatus(&self, dwcookie: u32) {
3227 ::std::mem::transmute((::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), ::std::mem::transmute(dwcookie)))
3228 }
QueryVideoMemoryInfo(&self, nodeindex: u32, memorysegmentgroup: DXGI_MEMORY_SEGMENT_GROUP) -> ::windows::runtime::Result<DXGI_QUERY_VIDEO_MEMORY_INFO>3229 pub unsafe fn QueryVideoMemoryInfo(&self, nodeindex: u32, memorysegmentgroup: DXGI_MEMORY_SEGMENT_GROUP) -> ::windows::runtime::Result<DXGI_QUERY_VIDEO_MEMORY_INFO> {
3230 let mut result__: <DXGI_QUERY_VIDEO_MEMORY_INFO as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3231 (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), ::std::mem::transmute(nodeindex), ::std::mem::transmute(memorysegmentgroup), &mut result__).from_abi::<DXGI_QUERY_VIDEO_MEMORY_INFO>(result__)
3232 }
SetVideoMemoryReservation(&self, nodeindex: u32, memorysegmentgroup: DXGI_MEMORY_SEGMENT_GROUP, reservation: u64) -> ::windows::runtime::Result<()>3233 pub unsafe fn SetVideoMemoryReservation(&self, nodeindex: u32, memorysegmentgroup: DXGI_MEMORY_SEGMENT_GROUP, reservation: u64) -> ::windows::runtime::Result<()> {
3234 (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), ::std::mem::transmute(nodeindex), ::std::mem::transmute(memorysegmentgroup), ::std::mem::transmute(reservation)).ok()
3235 }
3236 #[cfg(feature = "Win32_Foundation")]
RegisterVideoMemoryBudgetChangeNotificationEvent<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(&self, hevent: Param0) -> ::windows::runtime::Result<u32>3237 pub unsafe fn RegisterVideoMemoryBudgetChangeNotificationEvent<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(&self, hevent: Param0) -> ::windows::runtime::Result<u32> {
3238 let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3239 (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), hevent.into_param().abi(), &mut result__).from_abi::<u32>(result__)
3240 }
UnregisterVideoMemoryBudgetChangeNotification(&self, dwcookie: u32)3241 pub unsafe fn UnregisterVideoMemoryBudgetChangeNotification(&self, dwcookie: u32) {
3242 ::std::mem::transmute((::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), ::std::mem::transmute(dwcookie)))
3243 }
3244 }
3245 unsafe impl ::windows::runtime::Interface for IDXGIAdapter3 {
3246 type Vtable = IDXGIAdapter3_abi;
3247 const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1683580836, 5010, 17168, [167, 152, 128, 83, 206, 62, 147, 253]);
3248 }
3249 impl ::std::convert::From<IDXGIAdapter3> for ::windows::runtime::IUnknown {
from(value: IDXGIAdapter3) -> Self3250 fn from(value: IDXGIAdapter3) -> Self {
3251 unsafe { ::std::mem::transmute(value) }
3252 }
3253 }
3254 impl ::std::convert::From<&IDXGIAdapter3> for ::windows::runtime::IUnknown {
from(value: &IDXGIAdapter3) -> Self3255 fn from(value: &IDXGIAdapter3) -> Self {
3256 ::std::convert::From::from(::std::clone::Clone::clone(value))
3257 }
3258 }
3259 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IDXGIAdapter3 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3260 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3261 ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3262 }
3263 }
3264 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IDXGIAdapter3 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3265 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3266 ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3267 }
3268 }
3269 impl ::std::convert::From<IDXGIAdapter3> for IDXGIAdapter2 {
from(value: IDXGIAdapter3) -> Self3270 fn from(value: IDXGIAdapter3) -> Self {
3271 unsafe { ::std::mem::transmute(value) }
3272 }
3273 }
3274 impl ::std::convert::From<&IDXGIAdapter3> for IDXGIAdapter2 {
from(value: &IDXGIAdapter3) -> Self3275 fn from(value: &IDXGIAdapter3) -> Self {
3276 ::std::convert::From::from(::std::clone::Clone::clone(value))
3277 }
3278 }
3279 impl<'a> ::windows::runtime::IntoParam<'a, IDXGIAdapter2> for IDXGIAdapter3 {
into_param(self) -> ::windows::runtime::Param<'a, IDXGIAdapter2>3280 fn into_param(self) -> ::windows::runtime::Param<'a, IDXGIAdapter2> {
3281 ::windows::runtime::Param::Owned(::std::convert::Into::<IDXGIAdapter2>::into(self))
3282 }
3283 }
3284 impl<'a> ::windows::runtime::IntoParam<'a, IDXGIAdapter2> for &IDXGIAdapter3 {
into_param(self) -> ::windows::runtime::Param<'a, IDXGIAdapter2>3285 fn into_param(self) -> ::windows::runtime::Param<'a, IDXGIAdapter2> {
3286 ::windows::runtime::Param::Owned(::std::convert::Into::<IDXGIAdapter2>::into(::std::clone::Clone::clone(self)))
3287 }
3288 }
3289 impl ::std::convert::From<IDXGIAdapter3> for IDXGIAdapter1 {
from(value: IDXGIAdapter3) -> Self3290 fn from(value: IDXGIAdapter3) -> Self {
3291 unsafe { ::std::mem::transmute(value) }
3292 }
3293 }
3294 impl ::std::convert::From<&IDXGIAdapter3> for IDXGIAdapter1 {
from(value: &IDXGIAdapter3) -> Self3295 fn from(value: &IDXGIAdapter3) -> Self {
3296 ::std::convert::From::from(::std::clone::Clone::clone(value))
3297 }
3298 }
3299 impl<'a> ::windows::runtime::IntoParam<'a, IDXGIAdapter1> for IDXGIAdapter3 {
into_param(self) -> ::windows::runtime::Param<'a, IDXGIAdapter1>3300 fn into_param(self) -> ::windows::runtime::Param<'a, IDXGIAdapter1> {
3301 ::windows::runtime::Param::Owned(::std::convert::Into::<IDXGIAdapter1>::into(self))
3302 }
3303 }
3304 impl<'a> ::windows::runtime::IntoParam<'a, IDXGIAdapter1> for &IDXGIAdapter3 {
into_param(self) -> ::windows::runtime::Param<'a, IDXGIAdapter1>3305 fn into_param(self) -> ::windows::runtime::Param<'a, IDXGIAdapter1> {
3306 ::windows::runtime::Param::Owned(::std::convert::Into::<IDXGIAdapter1>::into(::std::clone::Clone::clone(self)))
3307 }
3308 }
3309 impl ::std::convert::From<IDXGIAdapter3> for IDXGIAdapter {
from(value: IDXGIAdapter3) -> Self3310 fn from(value: IDXGIAdapter3) -> Self {
3311 unsafe { ::std::mem::transmute(value) }
3312 }
3313 }
3314 impl ::std::convert::From<&IDXGIAdapter3> for IDXGIAdapter {
from(value: &IDXGIAdapter3) -> Self3315 fn from(value: &IDXGIAdapter3) -> Self {
3316 ::std::convert::From::from(::std::clone::Clone::clone(value))
3317 }
3318 }
3319 impl<'a> ::windows::runtime::IntoParam<'a, IDXGIAdapter> for IDXGIAdapter3 {
into_param(self) -> ::windows::runtime::Param<'a, IDXGIAdapter>3320 fn into_param(self) -> ::windows::runtime::Param<'a, IDXGIAdapter> {
3321 ::windows::runtime::Param::Owned(::std::convert::Into::<IDXGIAdapter>::into(self))
3322 }
3323 }
3324 impl<'a> ::windows::runtime::IntoParam<'a, IDXGIAdapter> for &IDXGIAdapter3 {
into_param(self) -> ::windows::runtime::Param<'a, IDXGIAdapter>3325 fn into_param(self) -> ::windows::runtime::Param<'a, IDXGIAdapter> {
3326 ::windows::runtime::Param::Owned(::std::convert::Into::<IDXGIAdapter>::into(::std::clone::Clone::clone(self)))
3327 }
3328 }
3329 impl ::std::convert::From<IDXGIAdapter3> for IDXGIObject {
from(value: IDXGIAdapter3) -> Self3330 fn from(value: IDXGIAdapter3) -> Self {
3331 unsafe { ::std::mem::transmute(value) }
3332 }
3333 }
3334 impl ::std::convert::From<&IDXGIAdapter3> for IDXGIObject {
from(value: &IDXGIAdapter3) -> Self3335 fn from(value: &IDXGIAdapter3) -> Self {
3336 ::std::convert::From::from(::std::clone::Clone::clone(value))
3337 }
3338 }
3339 impl<'a> ::windows::runtime::IntoParam<'a, IDXGIObject> for IDXGIAdapter3 {
into_param(self) -> ::windows::runtime::Param<'a, IDXGIObject>3340 fn into_param(self) -> ::windows::runtime::Param<'a, IDXGIObject> {
3341 ::windows::runtime::Param::Owned(::std::convert::Into::<IDXGIObject>::into(self))
3342 }
3343 }
3344 impl<'a> ::windows::runtime::IntoParam<'a, IDXGIObject> for &IDXGIAdapter3 {
into_param(self) -> ::windows::runtime::Param<'a, IDXGIObject>3345 fn into_param(self) -> ::windows::runtime::Param<'a, IDXGIObject> {
3346 ::windows::runtime::Param::Owned(::std::convert::Into::<IDXGIObject>::into(::std::clone::Clone::clone(self)))
3347 }
3348 }
3349 #[repr(C)]
3350 #[doc(hidden)]
3351 pub struct IDXGIAdapter3_abi(
3352 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3353 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3354 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3355 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
3356 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: *const ::windows::runtime::GUID, punknown: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3357 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
3358 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, ppparent: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
3359 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, output: u32, ppoutput: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3360 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *mut DXGI_ADAPTER_DESC) -> ::windows::runtime::HRESULT,
3361 #[cfg(not(feature = "Win32_Foundation"))] usize,
3362 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, interfacename: *const ::windows::runtime::GUID, pumdversion: *mut i64) -> ::windows::runtime::HRESULT,
3363 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *mut DXGI_ADAPTER_DESC1) -> ::windows::runtime::HRESULT,
3364 #[cfg(not(feature = "Win32_Foundation"))] usize,
3365 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *mut DXGI_ADAPTER_DESC2) -> ::windows::runtime::HRESULT,
3366 #[cfg(not(feature = "Win32_Foundation"))] usize,
3367 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, hevent: super::super::Foundation::HANDLE, pdwcookie: *mut u32) -> ::windows::runtime::HRESULT,
3368 #[cfg(not(feature = "Win32_Foundation"))] usize,
3369 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dwcookie: u32),
3370 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, nodeindex: u32, memorysegmentgroup: DXGI_MEMORY_SEGMENT_GROUP, pvideomemoryinfo: *mut DXGI_QUERY_VIDEO_MEMORY_INFO) -> ::windows::runtime::HRESULT,
3371 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, nodeindex: u32, memorysegmentgroup: DXGI_MEMORY_SEGMENT_GROUP, reservation: u64) -> ::windows::runtime::HRESULT,
3372 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, hevent: super::super::Foundation::HANDLE, pdwcookie: *mut u32) -> ::windows::runtime::HRESULT,
3373 #[cfg(not(feature = "Win32_Foundation"))] usize,
3374 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dwcookie: u32),
3375 );
3376 #[repr(transparent)]
3377 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3378 pub struct IDXGIAdapter4(::windows::runtime::IUnknown);
3379 impl IDXGIAdapter4 {
SetPrivateData(&self, name: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::Result<()>3380 pub unsafe fn SetPrivateData(&self, name: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
3381 (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(name), ::std::mem::transmute(datasize), ::std::mem::transmute(pdata)).ok()
3382 }
SetPrivateDataInterface<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, name: *const ::windows::runtime::GUID, punknown: Param1) -> ::windows::runtime::Result<()>3383 pub unsafe fn SetPrivateDataInterface<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, name: *const ::windows::runtime::GUID, punknown: Param1) -> ::windows::runtime::Result<()> {
3384 (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(name), punknown.into_param().abi()).ok()
3385 }
GetPrivateData(&self, name: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()>3386 pub unsafe fn GetPrivateData(&self, name: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
3387 (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(name), ::std::mem::transmute(pdatasize), ::std::mem::transmute(pdata)).ok()
3388 }
GetParent<T: ::windows::runtime::Interface>(&self) -> ::windows::runtime::Result<T>3389 pub unsafe fn GetParent<T: ::windows::runtime::Interface>(&self) -> ::windows::runtime::Result<T> {
3390 let mut result__ = ::std::option::Option::None;
3391 (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
3392 }
EnumOutputs(&self, output: u32) -> ::windows::runtime::Result<IDXGIOutput>3393 pub unsafe fn EnumOutputs(&self, output: u32) -> ::windows::runtime::Result<IDXGIOutput> {
3394 let mut result__: <IDXGIOutput as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3395 (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(output), &mut result__).from_abi::<IDXGIOutput>(result__)
3396 }
3397 #[cfg(feature = "Win32_Foundation")]
GetDesc(&self) -> ::windows::runtime::Result<DXGI_ADAPTER_DESC>3398 pub unsafe fn GetDesc(&self) -> ::windows::runtime::Result<DXGI_ADAPTER_DESC> {
3399 let mut result__: <DXGI_ADAPTER_DESC as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3400 (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<DXGI_ADAPTER_DESC>(result__)
3401 }
CheckInterfaceSupport(&self, interfacename: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<i64>3402 pub unsafe fn CheckInterfaceSupport(&self, interfacename: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<i64> {
3403 let mut result__: <i64 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3404 (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(interfacename), &mut result__).from_abi::<i64>(result__)
3405 }
3406 #[cfg(feature = "Win32_Foundation")]
GetDesc1(&self) -> ::windows::runtime::Result<DXGI_ADAPTER_DESC1>3407 pub unsafe fn GetDesc1(&self) -> ::windows::runtime::Result<DXGI_ADAPTER_DESC1> {
3408 let mut result__: <DXGI_ADAPTER_DESC1 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3409 (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<DXGI_ADAPTER_DESC1>(result__)
3410 }
3411 #[cfg(feature = "Win32_Foundation")]
GetDesc2(&self) -> ::windows::runtime::Result<DXGI_ADAPTER_DESC2>3412 pub unsafe fn GetDesc2(&self) -> ::windows::runtime::Result<DXGI_ADAPTER_DESC2> {
3413 let mut result__: <DXGI_ADAPTER_DESC2 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3414 (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), &mut result__).from_abi::<DXGI_ADAPTER_DESC2>(result__)
3415 }
3416 #[cfg(feature = "Win32_Foundation")]
RegisterHardwareContentProtectionTeardownStatusEvent<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(&self, hevent: Param0) -> ::windows::runtime::Result<u32>3417 pub unsafe fn RegisterHardwareContentProtectionTeardownStatusEvent<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(&self, hevent: Param0) -> ::windows::runtime::Result<u32> {
3418 let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3419 (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), hevent.into_param().abi(), &mut result__).from_abi::<u32>(result__)
3420 }
UnregisterHardwareContentProtectionTeardownStatus(&self, dwcookie: u32)3421 pub unsafe fn UnregisterHardwareContentProtectionTeardownStatus(&self, dwcookie: u32) {
3422 ::std::mem::transmute((::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), ::std::mem::transmute(dwcookie)))
3423 }
QueryVideoMemoryInfo(&self, nodeindex: u32, memorysegmentgroup: DXGI_MEMORY_SEGMENT_GROUP) -> ::windows::runtime::Result<DXGI_QUERY_VIDEO_MEMORY_INFO>3424 pub unsafe fn QueryVideoMemoryInfo(&self, nodeindex: u32, memorysegmentgroup: DXGI_MEMORY_SEGMENT_GROUP) -> ::windows::runtime::Result<DXGI_QUERY_VIDEO_MEMORY_INFO> {
3425 let mut result__: <DXGI_QUERY_VIDEO_MEMORY_INFO as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3426 (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), ::std::mem::transmute(nodeindex), ::std::mem::transmute(memorysegmentgroup), &mut result__).from_abi::<DXGI_QUERY_VIDEO_MEMORY_INFO>(result__)
3427 }
SetVideoMemoryReservation(&self, nodeindex: u32, memorysegmentgroup: DXGI_MEMORY_SEGMENT_GROUP, reservation: u64) -> ::windows::runtime::Result<()>3428 pub unsafe fn SetVideoMemoryReservation(&self, nodeindex: u32, memorysegmentgroup: DXGI_MEMORY_SEGMENT_GROUP, reservation: u64) -> ::windows::runtime::Result<()> {
3429 (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), ::std::mem::transmute(nodeindex), ::std::mem::transmute(memorysegmentgroup), ::std::mem::transmute(reservation)).ok()
3430 }
3431 #[cfg(feature = "Win32_Foundation")]
RegisterVideoMemoryBudgetChangeNotificationEvent<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(&self, hevent: Param0) -> ::windows::runtime::Result<u32>3432 pub unsafe fn RegisterVideoMemoryBudgetChangeNotificationEvent<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(&self, hevent: Param0) -> ::windows::runtime::Result<u32> {
3433 let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3434 (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), hevent.into_param().abi(), &mut result__).from_abi::<u32>(result__)
3435 }
UnregisterVideoMemoryBudgetChangeNotification(&self, dwcookie: u32)3436 pub unsafe fn UnregisterVideoMemoryBudgetChangeNotification(&self, dwcookie: u32) {
3437 ::std::mem::transmute((::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), ::std::mem::transmute(dwcookie)))
3438 }
3439 #[cfg(feature = "Win32_Foundation")]
GetDesc3(&self) -> ::windows::runtime::Result<DXGI_ADAPTER_DESC3>3440 pub unsafe fn GetDesc3(&self) -> ::windows::runtime::Result<DXGI_ADAPTER_DESC3> {
3441 let mut result__: <DXGI_ADAPTER_DESC3 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3442 (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), &mut result__).from_abi::<DXGI_ADAPTER_DESC3>(result__)
3443 }
3444 }
3445 unsafe impl ::windows::runtime::Interface for IDXGIAdapter4 {
3446 type Vtable = IDXGIAdapter4_abi;
3447 const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1015912913, 20415, 16769, [168, 44, 175, 102, 191, 123, 210, 78]);
3448 }
3449 impl ::std::convert::From<IDXGIAdapter4> for ::windows::runtime::IUnknown {
from(value: IDXGIAdapter4) -> Self3450 fn from(value: IDXGIAdapter4) -> Self {
3451 unsafe { ::std::mem::transmute(value) }
3452 }
3453 }
3454 impl ::std::convert::From<&IDXGIAdapter4> for ::windows::runtime::IUnknown {
from(value: &IDXGIAdapter4) -> Self3455 fn from(value: &IDXGIAdapter4) -> Self {
3456 ::std::convert::From::from(::std::clone::Clone::clone(value))
3457 }
3458 }
3459 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IDXGIAdapter4 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3460 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3461 ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3462 }
3463 }
3464 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IDXGIAdapter4 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3465 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3466 ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3467 }
3468 }
3469 impl ::std::convert::From<IDXGIAdapter4> for IDXGIAdapter3 {
from(value: IDXGIAdapter4) -> Self3470 fn from(value: IDXGIAdapter4) -> Self {
3471 unsafe { ::std::mem::transmute(value) }
3472 }
3473 }
3474 impl ::std::convert::From<&IDXGIAdapter4> for IDXGIAdapter3 {
from(value: &IDXGIAdapter4) -> Self3475 fn from(value: &IDXGIAdapter4) -> Self {
3476 ::std::convert::From::from(::std::clone::Clone::clone(value))
3477 }
3478 }
3479 impl<'a> ::windows::runtime::IntoParam<'a, IDXGIAdapter3> for IDXGIAdapter4 {
into_param(self) -> ::windows::runtime::Param<'a, IDXGIAdapter3>3480 fn into_param(self) -> ::windows::runtime::Param<'a, IDXGIAdapter3> {
3481 ::windows::runtime::Param::Owned(::std::convert::Into::<IDXGIAdapter3>::into(self))
3482 }
3483 }
3484 impl<'a> ::windows::runtime::IntoParam<'a, IDXGIAdapter3> for &IDXGIAdapter4 {
into_param(self) -> ::windows::runtime::Param<'a, IDXGIAdapter3>3485 fn into_param(self) -> ::windows::runtime::Param<'a, IDXGIAdapter3> {
3486 ::windows::runtime::Param::Owned(::std::convert::Into::<IDXGIAdapter3>::into(::std::clone::Clone::clone(self)))
3487 }
3488 }
3489 impl ::std::convert::From<IDXGIAdapter4> for IDXGIAdapter2 {
from(value: IDXGIAdapter4) -> Self3490 fn from(value: IDXGIAdapter4) -> Self {
3491 unsafe { ::std::mem::transmute(value) }
3492 }
3493 }
3494 impl ::std::convert::From<&IDXGIAdapter4> for IDXGIAdapter2 {
from(value: &IDXGIAdapter4) -> Self3495 fn from(value: &IDXGIAdapter4) -> Self {
3496 ::std::convert::From::from(::std::clone::Clone::clone(value))
3497 }
3498 }
3499 impl<'a> ::windows::runtime::IntoParam<'a, IDXGIAdapter2> for IDXGIAdapter4 {
into_param(self) -> ::windows::runtime::Param<'a, IDXGIAdapter2>3500 fn into_param(self) -> ::windows::runtime::Param<'a, IDXGIAdapter2> {
3501 ::windows::runtime::Param::Owned(::std::convert::Into::<IDXGIAdapter2>::into(self))
3502 }
3503 }
3504 impl<'a> ::windows::runtime::IntoParam<'a, IDXGIAdapter2> for &IDXGIAdapter4 {
into_param(self) -> ::windows::runtime::Param<'a, IDXGIAdapter2>3505 fn into_param(self) -> ::windows::runtime::Param<'a, IDXGIAdapter2> {
3506 ::windows::runtime::Param::Owned(::std::convert::Into::<IDXGIAdapter2>::into(::std::clone::Clone::clone(self)))
3507 }
3508 }
3509 impl ::std::convert::From<IDXGIAdapter4> for IDXGIAdapter1 {
from(value: IDXGIAdapter4) -> Self3510 fn from(value: IDXGIAdapter4) -> Self {
3511 unsafe { ::std::mem::transmute(value) }
3512 }
3513 }
3514 impl ::std::convert::From<&IDXGIAdapter4> for IDXGIAdapter1 {
from(value: &IDXGIAdapter4) -> Self3515 fn from(value: &IDXGIAdapter4) -> Self {
3516 ::std::convert::From::from(::std::clone::Clone::clone(value))
3517 }
3518 }
3519 impl<'a> ::windows::runtime::IntoParam<'a, IDXGIAdapter1> for IDXGIAdapter4 {
into_param(self) -> ::windows::runtime::Param<'a, IDXGIAdapter1>3520 fn into_param(self) -> ::windows::runtime::Param<'a, IDXGIAdapter1> {
3521 ::windows::runtime::Param::Owned(::std::convert::Into::<IDXGIAdapter1>::into(self))
3522 }
3523 }
3524 impl<'a> ::windows::runtime::IntoParam<'a, IDXGIAdapter1> for &IDXGIAdapter4 {
into_param(self) -> ::windows::runtime::Param<'a, IDXGIAdapter1>3525 fn into_param(self) -> ::windows::runtime::Param<'a, IDXGIAdapter1> {
3526 ::windows::runtime::Param::Owned(::std::convert::Into::<IDXGIAdapter1>::into(::std::clone::Clone::clone(self)))
3527 }
3528 }
3529 impl ::std::convert::From<IDXGIAdapter4> for IDXGIAdapter {
from(value: IDXGIAdapter4) -> Self3530 fn from(value: IDXGIAdapter4) -> Self {
3531 unsafe { ::std::mem::transmute(value) }
3532 }
3533 }
3534 impl ::std::convert::From<&IDXGIAdapter4> for IDXGIAdapter {
from(value: &IDXGIAdapter4) -> Self3535 fn from(value: &IDXGIAdapter4) -> Self {
3536 ::std::convert::From::from(::std::clone::Clone::clone(value))
3537 }
3538 }
3539 impl<'a> ::windows::runtime::IntoParam<'a, IDXGIAdapter> for IDXGIAdapter4 {
into_param(self) -> ::windows::runtime::Param<'a, IDXGIAdapter>3540 fn into_param(self) -> ::windows::runtime::Param<'a, IDXGIAdapter> {
3541 ::windows::runtime::Param::Owned(::std::convert::Into::<IDXGIAdapter>::into(self))
3542 }
3543 }
3544 impl<'a> ::windows::runtime::IntoParam<'a, IDXGIAdapter> for &IDXGIAdapter4 {
into_param(self) -> ::windows::runtime::Param<'a, IDXGIAdapter>3545 fn into_param(self) -> ::windows::runtime::Param<'a, IDXGIAdapter> {
3546 ::windows::runtime::Param::Owned(::std::convert::Into::<IDXGIAdapter>::into(::std::clone::Clone::clone(self)))
3547 }
3548 }
3549 impl ::std::convert::From<IDXGIAdapter4> for IDXGIObject {
from(value: IDXGIAdapter4) -> Self3550 fn from(value: IDXGIAdapter4) -> Self {
3551 unsafe { ::std::mem::transmute(value) }
3552 }
3553 }
3554 impl ::std::convert::From<&IDXGIAdapter4> for IDXGIObject {
from(value: &IDXGIAdapter4) -> Self3555 fn from(value: &IDXGIAdapter4) -> Self {
3556 ::std::convert::From::from(::std::clone::Clone::clone(value))
3557 }
3558 }
3559 impl<'a> ::windows::runtime::IntoParam<'a, IDXGIObject> for IDXGIAdapter4 {
into_param(self) -> ::windows::runtime::Param<'a, IDXGIObject>3560 fn into_param(self) -> ::windows::runtime::Param<'a, IDXGIObject> {
3561 ::windows::runtime::Param::Owned(::std::convert::Into::<IDXGIObject>::into(self))
3562 }
3563 }
3564 impl<'a> ::windows::runtime::IntoParam<'a, IDXGIObject> for &IDXGIAdapter4 {
into_param(self) -> ::windows::runtime::Param<'a, IDXGIObject>3565 fn into_param(self) -> ::windows::runtime::Param<'a, IDXGIObject> {
3566 ::windows::runtime::Param::Owned(::std::convert::Into::<IDXGIObject>::into(::std::clone::Clone::clone(self)))
3567 }
3568 }
3569 #[repr(C)]
3570 #[doc(hidden)]
3571 pub struct IDXGIAdapter4_abi(
3572 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3573 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3574 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3575 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
3576 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: *const ::windows::runtime::GUID, punknown: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3577 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
3578 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, ppparent: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
3579 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, output: u32, ppoutput: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3580 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *mut DXGI_ADAPTER_DESC) -> ::windows::runtime::HRESULT,
3581 #[cfg(not(feature = "Win32_Foundation"))] usize,
3582 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, interfacename: *const ::windows::runtime::GUID, pumdversion: *mut i64) -> ::windows::runtime::HRESULT,
3583 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *mut DXGI_ADAPTER_DESC1) -> ::windows::runtime::HRESULT,
3584 #[cfg(not(feature = "Win32_Foundation"))] usize,
3585 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *mut DXGI_ADAPTER_DESC2) -> ::windows::runtime::HRESULT,
3586 #[cfg(not(feature = "Win32_Foundation"))] usize,
3587 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, hevent: super::super::Foundation::HANDLE, pdwcookie: *mut u32) -> ::windows::runtime::HRESULT,
3588 #[cfg(not(feature = "Win32_Foundation"))] usize,
3589 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dwcookie: u32),
3590 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, nodeindex: u32, memorysegmentgroup: DXGI_MEMORY_SEGMENT_GROUP, pvideomemoryinfo: *mut DXGI_QUERY_VIDEO_MEMORY_INFO) -> ::windows::runtime::HRESULT,
3591 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, nodeindex: u32, memorysegmentgroup: DXGI_MEMORY_SEGMENT_GROUP, reservation: u64) -> ::windows::runtime::HRESULT,
3592 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, hevent: super::super::Foundation::HANDLE, pdwcookie: *mut u32) -> ::windows::runtime::HRESULT,
3593 #[cfg(not(feature = "Win32_Foundation"))] usize,
3594 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dwcookie: u32),
3595 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *mut DXGI_ADAPTER_DESC3) -> ::windows::runtime::HRESULT,
3596 #[cfg(not(feature = "Win32_Foundation"))] usize,
3597 );
3598 #[repr(transparent)]
3599 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3600 pub struct IDXGIDebug(::windows::runtime::IUnknown);
3601 impl IDXGIDebug {
ReportLiveObjects<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>>(&self, apiid: Param0, flags: DXGI_DEBUG_RLO_FLAGS) -> ::windows::runtime::Result<()>3602 pub unsafe fn ReportLiveObjects<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>>(&self, apiid: Param0, flags: DXGI_DEBUG_RLO_FLAGS) -> ::windows::runtime::Result<()> {
3603 (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), apiid.into_param().abi(), ::std::mem::transmute(flags)).ok()
3604 }
3605 }
3606 unsafe impl ::windows::runtime::Interface for IDXGIDebug {
3607 type Vtable = IDXGIDebug_abi;
3608 const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(295597138, 56990, 16638, [136, 6, 136, 249, 12, 18, 180, 65]);
3609 }
3610 impl ::std::convert::From<IDXGIDebug> for ::windows::runtime::IUnknown {
from(value: IDXGIDebug) -> Self3611 fn from(value: IDXGIDebug) -> Self {
3612 unsafe { ::std::mem::transmute(value) }
3613 }
3614 }
3615 impl ::std::convert::From<&IDXGIDebug> for ::windows::runtime::IUnknown {
from(value: &IDXGIDebug) -> Self3616 fn from(value: &IDXGIDebug) -> Self {
3617 ::std::convert::From::from(::std::clone::Clone::clone(value))
3618 }
3619 }
3620 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IDXGIDebug {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3621 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3622 ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3623 }
3624 }
3625 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IDXGIDebug {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3626 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3627 ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3628 }
3629 }
3630 #[repr(C)]
3631 #[doc(hidden)]
3632 pub struct IDXGIDebug_abi(
3633 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3634 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3635 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3636 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, apiid: ::windows::runtime::GUID, flags: DXGI_DEBUG_RLO_FLAGS) -> ::windows::runtime::HRESULT,
3637 );
3638 #[repr(transparent)]
3639 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3640 pub struct IDXGIDebug1(::windows::runtime::IUnknown);
3641 impl IDXGIDebug1 {
ReportLiveObjects<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>>(&self, apiid: Param0, flags: DXGI_DEBUG_RLO_FLAGS) -> ::windows::runtime::Result<()>3642 pub unsafe fn ReportLiveObjects<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>>(&self, apiid: Param0, flags: DXGI_DEBUG_RLO_FLAGS) -> ::windows::runtime::Result<()> {
3643 (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), apiid.into_param().abi(), ::std::mem::transmute(flags)).ok()
3644 }
EnableLeakTrackingForThread(&self)3645 pub unsafe fn EnableLeakTrackingForThread(&self) {
3646 ::std::mem::transmute((::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self)))
3647 }
DisableLeakTrackingForThread(&self)3648 pub unsafe fn DisableLeakTrackingForThread(&self) {
3649 ::std::mem::transmute((::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self)))
3650 }
3651 #[cfg(feature = "Win32_Foundation")]
IsLeakTrackingEnabledForThread(&self) -> super::super::Foundation::BOOL3652 pub unsafe fn IsLeakTrackingEnabledForThread(&self) -> super::super::Foundation::BOOL {
3653 ::std::mem::transmute((::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self)))
3654 }
3655 }
3656 unsafe impl ::windows::runtime::Interface for IDXGIDebug1 {
3657 type Vtable = IDXGIDebug1_abi;
3658 const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3315621644, 5874, 19167, [159, 77, 168, 196, 213, 138, 197, 80]);
3659 }
3660 impl ::std::convert::From<IDXGIDebug1> for ::windows::runtime::IUnknown {
from(value: IDXGIDebug1) -> Self3661 fn from(value: IDXGIDebug1) -> Self {
3662 unsafe { ::std::mem::transmute(value) }
3663 }
3664 }
3665 impl ::std::convert::From<&IDXGIDebug1> for ::windows::runtime::IUnknown {
from(value: &IDXGIDebug1) -> Self3666 fn from(value: &IDXGIDebug1) -> Self {
3667 ::std::convert::From::from(::std::clone::Clone::clone(value))
3668 }
3669 }
3670 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IDXGIDebug1 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3671 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3672 ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3673 }
3674 }
3675 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IDXGIDebug1 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3676 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3677 ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3678 }
3679 }
3680 impl ::std::convert::From<IDXGIDebug1> for IDXGIDebug {
from(value: IDXGIDebug1) -> Self3681 fn from(value: IDXGIDebug1) -> Self {
3682 unsafe { ::std::mem::transmute(value) }
3683 }
3684 }
3685 impl ::std::convert::From<&IDXGIDebug1> for IDXGIDebug {
from(value: &IDXGIDebug1) -> Self3686 fn from(value: &IDXGIDebug1) -> Self {
3687 ::std::convert::From::from(::std::clone::Clone::clone(value))
3688 }
3689 }
3690 impl<'a> ::windows::runtime::IntoParam<'a, IDXGIDebug> for IDXGIDebug1 {
into_param(self) -> ::windows::runtime::Param<'a, IDXGIDebug>3691 fn into_param(self) -> ::windows::runtime::Param<'a, IDXGIDebug> {
3692 ::windows::runtime::Param::Owned(::std::convert::Into::<IDXGIDebug>::into(self))
3693 }
3694 }
3695 impl<'a> ::windows::runtime::IntoParam<'a, IDXGIDebug> for &IDXGIDebug1 {
into_param(self) -> ::windows::runtime::Param<'a, IDXGIDebug>3696 fn into_param(self) -> ::windows::runtime::Param<'a, IDXGIDebug> {
3697 ::windows::runtime::Param::Owned(::std::convert::Into::<IDXGIDebug>::into(::std::clone::Clone::clone(self)))
3698 }
3699 }
3700 #[repr(C)]
3701 #[doc(hidden)]
3702 pub struct IDXGIDebug1_abi(
3703 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3704 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3705 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3706 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, apiid: ::windows::runtime::GUID, flags: DXGI_DEBUG_RLO_FLAGS) -> ::windows::runtime::HRESULT,
3707 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr),
3708 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr),
3709 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> super::super::Foundation::BOOL,
3710 #[cfg(not(feature = "Win32_Foundation"))] usize,
3711 );
3712 #[repr(transparent)]
3713 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3714 pub struct IDXGIDecodeSwapChain(::windows::runtime::IUnknown);
3715 impl IDXGIDecodeSwapChain {
PresentBuffer(&self, buffertopresent: u32, syncinterval: u32, flags: u32) -> ::windows::runtime::Result<()>3716 pub unsafe fn PresentBuffer(&self, buffertopresent: u32, syncinterval: u32, flags: u32) -> ::windows::runtime::Result<()> {
3717 (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(buffertopresent), ::std::mem::transmute(syncinterval), ::std::mem::transmute(flags)).ok()
3718 }
3719 #[cfg(feature = "Win32_Foundation")]
SetSourceRect(&self, prect: *const super::super::Foundation::RECT) -> ::windows::runtime::Result<()>3720 pub unsafe fn SetSourceRect(&self, prect: *const super::super::Foundation::RECT) -> ::windows::runtime::Result<()> {
3721 (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(prect)).ok()
3722 }
3723 #[cfg(feature = "Win32_Foundation")]
SetTargetRect(&self, prect: *const super::super::Foundation::RECT) -> ::windows::runtime::Result<()>3724 pub unsafe fn SetTargetRect(&self, prect: *const super::super::Foundation::RECT) -> ::windows::runtime::Result<()> {
3725 (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(prect)).ok()
3726 }
SetDestSize(&self, width: u32, height: u32) -> ::windows::runtime::Result<()>3727 pub unsafe fn SetDestSize(&self, width: u32, height: u32) -> ::windows::runtime::Result<()> {
3728 (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(width), ::std::mem::transmute(height)).ok()
3729 }
3730 #[cfg(feature = "Win32_Foundation")]
GetSourceRect(&self) -> ::windows::runtime::Result<super::super::Foundation::RECT>3731 pub unsafe fn GetSourceRect(&self) -> ::windows::runtime::Result<super::super::Foundation::RECT> {
3732 let mut result__: <super::super::Foundation::RECT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3733 (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::RECT>(result__)
3734 }
3735 #[cfg(feature = "Win32_Foundation")]
GetTargetRect(&self) -> ::windows::runtime::Result<super::super::Foundation::RECT>3736 pub unsafe fn GetTargetRect(&self) -> ::windows::runtime::Result<super::super::Foundation::RECT> {
3737 let mut result__: <super::super::Foundation::RECT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3738 (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::RECT>(result__)
3739 }
GetDestSize(&self, pwidth: *mut u32, pheight: *mut u32) -> ::windows::runtime::Result<()>3740 pub unsafe fn GetDestSize(&self, pwidth: *mut u32, pheight: *mut u32) -> ::windows::runtime::Result<()> {
3741 (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(pwidth), ::std::mem::transmute(pheight)).ok()
3742 }
SetColorSpace(&self, colorspace: DXGI_MULTIPLANE_OVERLAY_YCbCr_FLAGS) -> ::windows::runtime::Result<()>3743 pub unsafe fn SetColorSpace(&self, colorspace: DXGI_MULTIPLANE_OVERLAY_YCbCr_FLAGS) -> ::windows::runtime::Result<()> {
3744 (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), ::std::mem::transmute(colorspace)).ok()
3745 }
GetColorSpace(&self) -> DXGI_MULTIPLANE_OVERLAY_YCbCr_FLAGS3746 pub unsafe fn GetColorSpace(&self) -> DXGI_MULTIPLANE_OVERLAY_YCbCr_FLAGS {
3747 ::std::mem::transmute((::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self)))
3748 }
3749 }
3750 unsafe impl ::windows::runtime::Interface for IDXGIDecodeSwapChain {
3751 type Vtable = IDXGIDecodeSwapChain_abi;
3752 const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(640878187, 17684, 19578, [143, 216, 18, 234, 152, 5, 157, 24]);
3753 }
3754 impl ::std::convert::From<IDXGIDecodeSwapChain> for ::windows::runtime::IUnknown {
from(value: IDXGIDecodeSwapChain) -> Self3755 fn from(value: IDXGIDecodeSwapChain) -> Self {
3756 unsafe { ::std::mem::transmute(value) }
3757 }
3758 }
3759 impl ::std::convert::From<&IDXGIDecodeSwapChain> for ::windows::runtime::IUnknown {
from(value: &IDXGIDecodeSwapChain) -> Self3760 fn from(value: &IDXGIDecodeSwapChain) -> Self {
3761 ::std::convert::From::from(::std::clone::Clone::clone(value))
3762 }
3763 }
3764 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IDXGIDecodeSwapChain {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3765 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3766 ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3767 }
3768 }
3769 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IDXGIDecodeSwapChain {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3770 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3771 ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3772 }
3773 }
3774 #[repr(C)]
3775 #[doc(hidden)]
3776 pub struct IDXGIDecodeSwapChain_abi(
3777 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3778 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3779 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3780 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, buffertopresent: u32, syncinterval: u32, flags: u32) -> ::windows::runtime::HRESULT,
3781 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, prect: *const super::super::Foundation::RECT) -> ::windows::runtime::HRESULT,
3782 #[cfg(not(feature = "Win32_Foundation"))] usize,
3783 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, prect: *const super::super::Foundation::RECT) -> ::windows::runtime::HRESULT,
3784 #[cfg(not(feature = "Win32_Foundation"))] usize,
3785 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, width: u32, height: u32) -> ::windows::runtime::HRESULT,
3786 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, prect: *mut super::super::Foundation::RECT) -> ::windows::runtime::HRESULT,
3787 #[cfg(not(feature = "Win32_Foundation"))] usize,
3788 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, prect: *mut super::super::Foundation::RECT) -> ::windows::runtime::HRESULT,
3789 #[cfg(not(feature = "Win32_Foundation"))] usize,
3790 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pwidth: *mut u32, pheight: *mut u32) -> ::windows::runtime::HRESULT,
3791 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, colorspace: DXGI_MULTIPLANE_OVERLAY_YCbCr_FLAGS) -> ::windows::runtime::HRESULT,
3792 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> DXGI_MULTIPLANE_OVERLAY_YCbCr_FLAGS,
3793 );
3794 #[repr(transparent)]
3795 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3796 pub struct IDXGIDevice(::windows::runtime::IUnknown);
3797 impl IDXGIDevice {
SetPrivateData(&self, name: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::Result<()>3798 pub unsafe fn SetPrivateData(&self, name: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
3799 (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(name), ::std::mem::transmute(datasize), ::std::mem::transmute(pdata)).ok()
3800 }
SetPrivateDataInterface<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, name: *const ::windows::runtime::GUID, punknown: Param1) -> ::windows::runtime::Result<()>3801 pub unsafe fn SetPrivateDataInterface<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, name: *const ::windows::runtime::GUID, punknown: Param1) -> ::windows::runtime::Result<()> {
3802 (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(name), punknown.into_param().abi()).ok()
3803 }
GetPrivateData(&self, name: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()>3804 pub unsafe fn GetPrivateData(&self, name: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
3805 (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(name), ::std::mem::transmute(pdatasize), ::std::mem::transmute(pdata)).ok()
3806 }
GetParent<T: ::windows::runtime::Interface>(&self) -> ::windows::runtime::Result<T>3807 pub unsafe fn GetParent<T: ::windows::runtime::Interface>(&self) -> ::windows::runtime::Result<T> {
3808 let mut result__ = ::std::option::Option::None;
3809 (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
3810 }
GetAdapter(&self) -> ::windows::runtime::Result<IDXGIAdapter>3811 pub unsafe fn GetAdapter(&self) -> ::windows::runtime::Result<IDXGIAdapter> {
3812 let mut result__: <IDXGIAdapter as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3813 (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IDXGIAdapter>(result__)
3814 }
3815 #[cfg(feature = "Win32_Foundation")]
CreateSurface(&self, pdesc: *const DXGI_SURFACE_DESC, numsurfaces: u32, usage: u32, psharedresource: *const DXGI_SHARED_RESOURCE, ppsurface: *mut ::std::option::Option<IDXGISurface>) -> ::windows::runtime::Result<()>3816 pub unsafe fn CreateSurface(&self, pdesc: *const DXGI_SURFACE_DESC, numsurfaces: u32, usage: u32, psharedresource: *const DXGI_SHARED_RESOURCE, ppsurface: *mut ::std::option::Option<IDXGISurface>) -> ::windows::runtime::Result<()> {
3817 (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdesc), ::std::mem::transmute(numsurfaces), ::std::mem::transmute(usage), ::std::mem::transmute(psharedresource), ::std::mem::transmute(ppsurface)).ok()
3818 }
QueryResourceResidency(&self, ppresources: *const ::std::option::Option<::windows::runtime::IUnknown>, presidencystatus: *mut DXGI_RESIDENCY, numresources: u32) -> ::windows::runtime::Result<()>3819 pub unsafe fn QueryResourceResidency(&self, ppresources: *const ::std::option::Option<::windows::runtime::IUnknown>, presidencystatus: *mut DXGI_RESIDENCY, numresources: u32) -> ::windows::runtime::Result<()> {
3820 (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(ppresources), ::std::mem::transmute(presidencystatus), ::std::mem::transmute(numresources)).ok()
3821 }
SetGPUThreadPriority(&self, priority: i32) -> ::windows::runtime::Result<()>3822 pub unsafe fn SetGPUThreadPriority(&self, priority: i32) -> ::windows::runtime::Result<()> {
3823 (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), ::std::mem::transmute(priority)).ok()
3824 }
GetGPUThreadPriority(&self) -> ::windows::runtime::Result<i32>3825 pub unsafe fn GetGPUThreadPriority(&self) -> ::windows::runtime::Result<i32> {
3826 let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3827 (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
3828 }
3829 }
3830 unsafe impl ::windows::runtime::Interface for IDXGIDevice {
3831 type Vtable = IDXGIDevice_abi;
3832 const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1424783354, 4983, 17638, [140, 50, 136, 253, 95, 68, 200, 76]);
3833 }
3834 impl ::std::convert::From<IDXGIDevice> for ::windows::runtime::IUnknown {
from(value: IDXGIDevice) -> Self3835 fn from(value: IDXGIDevice) -> Self {
3836 unsafe { ::std::mem::transmute(value) }
3837 }
3838 }
3839 impl ::std::convert::From<&IDXGIDevice> for ::windows::runtime::IUnknown {
from(value: &IDXGIDevice) -> Self3840 fn from(value: &IDXGIDevice) -> Self {
3841 ::std::convert::From::from(::std::clone::Clone::clone(value))
3842 }
3843 }
3844 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IDXGIDevice {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3845 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3846 ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3847 }
3848 }
3849 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IDXGIDevice {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3850 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3851 ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3852 }
3853 }
3854 impl ::std::convert::From<IDXGIDevice> for IDXGIObject {
from(value: IDXGIDevice) -> Self3855 fn from(value: IDXGIDevice) -> Self {
3856 unsafe { ::std::mem::transmute(value) }
3857 }
3858 }
3859 impl ::std::convert::From<&IDXGIDevice> for IDXGIObject {
from(value: &IDXGIDevice) -> Self3860 fn from(value: &IDXGIDevice) -> Self {
3861 ::std::convert::From::from(::std::clone::Clone::clone(value))
3862 }
3863 }
3864 impl<'a> ::windows::runtime::IntoParam<'a, IDXGIObject> for IDXGIDevice {
into_param(self) -> ::windows::runtime::Param<'a, IDXGIObject>3865 fn into_param(self) -> ::windows::runtime::Param<'a, IDXGIObject> {
3866 ::windows::runtime::Param::Owned(::std::convert::Into::<IDXGIObject>::into(self))
3867 }
3868 }
3869 impl<'a> ::windows::runtime::IntoParam<'a, IDXGIObject> for &IDXGIDevice {
into_param(self) -> ::windows::runtime::Param<'a, IDXGIObject>3870 fn into_param(self) -> ::windows::runtime::Param<'a, IDXGIObject> {
3871 ::windows::runtime::Param::Owned(::std::convert::Into::<IDXGIObject>::into(::std::clone::Clone::clone(self)))
3872 }
3873 }
3874 #[repr(C)]
3875 #[doc(hidden)]
3876 pub struct IDXGIDevice_abi(
3877 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3878 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3879 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3880 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
3881 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: *const ::windows::runtime::GUID, punknown: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3882 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
3883 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, ppparent: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
3884 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, padapter: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3885 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *const DXGI_SURFACE_DESC, numsurfaces: u32, usage: u32, psharedresource: *const DXGI_SHARED_RESOURCE, ppsurface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3886 #[cfg(not(feature = "Win32_Foundation"))] usize,
3887 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppresources: *const ::windows::runtime::RawPtr, presidencystatus: *mut DXGI_RESIDENCY, numresources: u32) -> ::windows::runtime::HRESULT,
3888 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, priority: i32) -> ::windows::runtime::HRESULT,
3889 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppriority: *mut i32) -> ::windows::runtime::HRESULT,
3890 );
3891 #[repr(transparent)]
3892 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3893 pub struct IDXGIDevice1(::windows::runtime::IUnknown);
3894 impl IDXGIDevice1 {
SetPrivateData(&self, name: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::Result<()>3895 pub unsafe fn SetPrivateData(&self, name: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
3896 (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(name), ::std::mem::transmute(datasize), ::std::mem::transmute(pdata)).ok()
3897 }
SetPrivateDataInterface<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, name: *const ::windows::runtime::GUID, punknown: Param1) -> ::windows::runtime::Result<()>3898 pub unsafe fn SetPrivateDataInterface<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, name: *const ::windows::runtime::GUID, punknown: Param1) -> ::windows::runtime::Result<()> {
3899 (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(name), punknown.into_param().abi()).ok()
3900 }
GetPrivateData(&self, name: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()>3901 pub unsafe fn GetPrivateData(&self, name: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
3902 (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(name), ::std::mem::transmute(pdatasize), ::std::mem::transmute(pdata)).ok()
3903 }
GetParent<T: ::windows::runtime::Interface>(&self) -> ::windows::runtime::Result<T>3904 pub unsafe fn GetParent<T: ::windows::runtime::Interface>(&self) -> ::windows::runtime::Result<T> {
3905 let mut result__ = ::std::option::Option::None;
3906 (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
3907 }
GetAdapter(&self) -> ::windows::runtime::Result<IDXGIAdapter>3908 pub unsafe fn GetAdapter(&self) -> ::windows::runtime::Result<IDXGIAdapter> {
3909 let mut result__: <IDXGIAdapter as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3910 (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IDXGIAdapter>(result__)
3911 }
3912 #[cfg(feature = "Win32_Foundation")]
CreateSurface(&self, pdesc: *const DXGI_SURFACE_DESC, numsurfaces: u32, usage: u32, psharedresource: *const DXGI_SHARED_RESOURCE, ppsurface: *mut ::std::option::Option<IDXGISurface>) -> ::windows::runtime::Result<()>3913 pub unsafe fn CreateSurface(&self, pdesc: *const DXGI_SURFACE_DESC, numsurfaces: u32, usage: u32, psharedresource: *const DXGI_SHARED_RESOURCE, ppsurface: *mut ::std::option::Option<IDXGISurface>) -> ::windows::runtime::Result<()> {
3914 (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdesc), ::std::mem::transmute(numsurfaces), ::std::mem::transmute(usage), ::std::mem::transmute(psharedresource), ::std::mem::transmute(ppsurface)).ok()
3915 }
QueryResourceResidency(&self, ppresources: *const ::std::option::Option<::windows::runtime::IUnknown>, presidencystatus: *mut DXGI_RESIDENCY, numresources: u32) -> ::windows::runtime::Result<()>3916 pub unsafe fn QueryResourceResidency(&self, ppresources: *const ::std::option::Option<::windows::runtime::IUnknown>, presidencystatus: *mut DXGI_RESIDENCY, numresources: u32) -> ::windows::runtime::Result<()> {
3917 (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(ppresources), ::std::mem::transmute(presidencystatus), ::std::mem::transmute(numresources)).ok()
3918 }
SetGPUThreadPriority(&self, priority: i32) -> ::windows::runtime::Result<()>3919 pub unsafe fn SetGPUThreadPriority(&self, priority: i32) -> ::windows::runtime::Result<()> {
3920 (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), ::std::mem::transmute(priority)).ok()
3921 }
GetGPUThreadPriority(&self) -> ::windows::runtime::Result<i32>3922 pub unsafe fn GetGPUThreadPriority(&self) -> ::windows::runtime::Result<i32> {
3923 let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3924 (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
3925 }
SetMaximumFrameLatency(&self, maxlatency: u32) -> ::windows::runtime::Result<()>3926 pub unsafe fn SetMaximumFrameLatency(&self, maxlatency: u32) -> ::windows::runtime::Result<()> {
3927 (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ::std::mem::transmute(maxlatency)).ok()
3928 }
GetMaximumFrameLatency(&self) -> ::windows::runtime::Result<u32>3929 pub unsafe fn GetMaximumFrameLatency(&self) -> ::windows::runtime::Result<u32> {
3930 let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3931 (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
3932 }
3933 }
3934 unsafe impl ::windows::runtime::Interface for IDXGIDevice1 {
3935 type Vtable = IDXGIDevice1_abi;
3936 const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2010879759, 25206, 18618, [186, 40, 7, 1, 67, 180, 57, 44]);
3937 }
3938 impl ::std::convert::From<IDXGIDevice1> for ::windows::runtime::IUnknown {
from(value: IDXGIDevice1) -> Self3939 fn from(value: IDXGIDevice1) -> Self {
3940 unsafe { ::std::mem::transmute(value) }
3941 }
3942 }
3943 impl ::std::convert::From<&IDXGIDevice1> for ::windows::runtime::IUnknown {
from(value: &IDXGIDevice1) -> Self3944 fn from(value: &IDXGIDevice1) -> Self {
3945 ::std::convert::From::from(::std::clone::Clone::clone(value))
3946 }
3947 }
3948 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IDXGIDevice1 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3949 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3950 ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3951 }
3952 }
3953 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IDXGIDevice1 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3954 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3955 ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3956 }
3957 }
3958 impl ::std::convert::From<IDXGIDevice1> for IDXGIDevice {
from(value: IDXGIDevice1) -> Self3959 fn from(value: IDXGIDevice1) -> Self {
3960 unsafe { ::std::mem::transmute(value) }
3961 }
3962 }
3963 impl ::std::convert::From<&IDXGIDevice1> for IDXGIDevice {
from(value: &IDXGIDevice1) -> Self3964 fn from(value: &IDXGIDevice1) -> Self {
3965 ::std::convert::From::from(::std::clone::Clone::clone(value))
3966 }
3967 }
3968 impl<'a> ::windows::runtime::IntoParam<'a, IDXGIDevice> for IDXGIDevice1 {
into_param(self) -> ::windows::runtime::Param<'a, IDXGIDevice>3969 fn into_param(self) -> ::windows::runtime::Param<'a, IDXGIDevice> {
3970 ::windows::runtime::Param::Owned(::std::convert::Into::<IDXGIDevice>::into(self))
3971 }
3972 }
3973 impl<'a> ::windows::runtime::IntoParam<'a, IDXGIDevice> for &IDXGIDevice1 {
into_param(self) -> ::windows::runtime::Param<'a, IDXGIDevice>3974 fn into_param(self) -> ::windows::runtime::Param<'a, IDXGIDevice> {
3975 ::windows::runtime::Param::Owned(::std::convert::Into::<IDXGIDevice>::into(::std::clone::Clone::clone(self)))
3976 }
3977 }
3978 impl ::std::convert::From<IDXGIDevice1> for IDXGIObject {
from(value: IDXGIDevice1) -> Self3979 fn from(value: IDXGIDevice1) -> Self {
3980 unsafe { ::std::mem::transmute(value) }
3981 }
3982 }
3983 impl ::std::convert::From<&IDXGIDevice1> for IDXGIObject {
from(value: &IDXGIDevice1) -> Self3984 fn from(value: &IDXGIDevice1) -> Self {
3985 ::std::convert::From::from(::std::clone::Clone::clone(value))
3986 }
3987 }
3988 impl<'a> ::windows::runtime::IntoParam<'a, IDXGIObject> for IDXGIDevice1 {
into_param(self) -> ::windows::runtime::Param<'a, IDXGIObject>3989 fn into_param(self) -> ::windows::runtime::Param<'a, IDXGIObject> {
3990 ::windows::runtime::Param::Owned(::std::convert::Into::<IDXGIObject>::into(self))
3991 }
3992 }
3993 impl<'a> ::windows::runtime::IntoParam<'a, IDXGIObject> for &IDXGIDevice1 {
into_param(self) -> ::windows::runtime::Param<'a, IDXGIObject>3994 fn into_param(self) -> ::windows::runtime::Param<'a, IDXGIObject> {
3995 ::windows::runtime::Param::Owned(::std::convert::Into::<IDXGIObject>::into(::std::clone::Clone::clone(self)))
3996 }
3997 }
3998 #[repr(C)]
3999 #[doc(hidden)]
4000 pub struct IDXGIDevice1_abi(
4001 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4002 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4003 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4004 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
4005 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: *const ::windows::runtime::GUID, punknown: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4006 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
4007 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, ppparent: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
4008 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, padapter: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4009 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *const DXGI_SURFACE_DESC, numsurfaces: u32, usage: u32, psharedresource: *const DXGI_SHARED_RESOURCE, ppsurface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4010 #[cfg(not(feature = "Win32_Foundation"))] usize,
4011 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppresources: *const ::windows::runtime::RawPtr, presidencystatus: *mut DXGI_RESIDENCY, numresources: u32) -> ::windows::runtime::HRESULT,
4012 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, priority: i32) -> ::windows::runtime::HRESULT,
4013 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppriority: *mut i32) -> ::windows::runtime::HRESULT,
4014 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, maxlatency: u32) -> ::windows::runtime::HRESULT,
4015 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pmaxlatency: *mut u32) -> ::windows::runtime::HRESULT,
4016 );
4017 #[repr(transparent)]
4018 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4019 pub struct IDXGIDevice2(::windows::runtime::IUnknown);
4020 impl IDXGIDevice2 {
SetPrivateData(&self, name: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::Result<()>4021 pub unsafe fn SetPrivateData(&self, name: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
4022 (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(name), ::std::mem::transmute(datasize), ::std::mem::transmute(pdata)).ok()
4023 }
SetPrivateDataInterface<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, name: *const ::windows::runtime::GUID, punknown: Param1) -> ::windows::runtime::Result<()>4024 pub unsafe fn SetPrivateDataInterface<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, name: *const ::windows::runtime::GUID, punknown: Param1) -> ::windows::runtime::Result<()> {
4025 (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(name), punknown.into_param().abi()).ok()
4026 }
GetPrivateData(&self, name: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()>4027 pub unsafe fn GetPrivateData(&self, name: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
4028 (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(name), ::std::mem::transmute(pdatasize), ::std::mem::transmute(pdata)).ok()
4029 }
GetParent<T: ::windows::runtime::Interface>(&self) -> ::windows::runtime::Result<T>4030 pub unsafe fn GetParent<T: ::windows::runtime::Interface>(&self) -> ::windows::runtime::Result<T> {
4031 let mut result__ = ::std::option::Option::None;
4032 (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
4033 }
GetAdapter(&self) -> ::windows::runtime::Result<IDXGIAdapter>4034 pub unsafe fn GetAdapter(&self) -> ::windows::runtime::Result<IDXGIAdapter> {
4035 let mut result__: <IDXGIAdapter as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4036 (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IDXGIAdapter>(result__)
4037 }
4038 #[cfg(feature = "Win32_Foundation")]
CreateSurface(&self, pdesc: *const DXGI_SURFACE_DESC, numsurfaces: u32, usage: u32, psharedresource: *const DXGI_SHARED_RESOURCE, ppsurface: *mut ::std::option::Option<IDXGISurface>) -> ::windows::runtime::Result<()>4039 pub unsafe fn CreateSurface(&self, pdesc: *const DXGI_SURFACE_DESC, numsurfaces: u32, usage: u32, psharedresource: *const DXGI_SHARED_RESOURCE, ppsurface: *mut ::std::option::Option<IDXGISurface>) -> ::windows::runtime::Result<()> {
4040 (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdesc), ::std::mem::transmute(numsurfaces), ::std::mem::transmute(usage), ::std::mem::transmute(psharedresource), ::std::mem::transmute(ppsurface)).ok()
4041 }
QueryResourceResidency(&self, ppresources: *const ::std::option::Option<::windows::runtime::IUnknown>, presidencystatus: *mut DXGI_RESIDENCY, numresources: u32) -> ::windows::runtime::Result<()>4042 pub unsafe fn QueryResourceResidency(&self, ppresources: *const ::std::option::Option<::windows::runtime::IUnknown>, presidencystatus: *mut DXGI_RESIDENCY, numresources: u32) -> ::windows::runtime::Result<()> {
4043 (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(ppresources), ::std::mem::transmute(presidencystatus), ::std::mem::transmute(numresources)).ok()
4044 }
SetGPUThreadPriority(&self, priority: i32) -> ::windows::runtime::Result<()>4045 pub unsafe fn SetGPUThreadPriority(&self, priority: i32) -> ::windows::runtime::Result<()> {
4046 (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), ::std::mem::transmute(priority)).ok()
4047 }
GetGPUThreadPriority(&self) -> ::windows::runtime::Result<i32>4048 pub unsafe fn GetGPUThreadPriority(&self) -> ::windows::runtime::Result<i32> {
4049 let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4050 (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
4051 }
SetMaximumFrameLatency(&self, maxlatency: u32) -> ::windows::runtime::Result<()>4052 pub unsafe fn SetMaximumFrameLatency(&self, maxlatency: u32) -> ::windows::runtime::Result<()> {
4053 (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ::std::mem::transmute(maxlatency)).ok()
4054 }
GetMaximumFrameLatency(&self) -> ::windows::runtime::Result<u32>4055 pub unsafe fn GetMaximumFrameLatency(&self) -> ::windows::runtime::Result<u32> {
4056 let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4057 (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
4058 }
OfferResources(&self, numresources: u32, ppresources: *const ::std::option::Option<IDXGIResource>, priority: DXGI_OFFER_RESOURCE_PRIORITY) -> ::windows::runtime::Result<()>4059 pub unsafe fn OfferResources(&self, numresources: u32, ppresources: *const ::std::option::Option<IDXGIResource>, priority: DXGI_OFFER_RESOURCE_PRIORITY) -> ::windows::runtime::Result<()> {
4060 (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), ::std::mem::transmute(numresources), ::std::mem::transmute(ppresources), ::std::mem::transmute(priority)).ok()
4061 }
4062 #[cfg(feature = "Win32_Foundation")]
ReclaimResources(&self, numresources: u32, ppresources: *const ::std::option::Option<IDXGIResource>) -> ::windows::runtime::Result<super::super::Foundation::BOOL>4063 pub unsafe fn ReclaimResources(&self, numresources: u32, ppresources: *const ::std::option::Option<IDXGIResource>) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
4064 let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4065 (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), ::std::mem::transmute(numresources), ::std::mem::transmute(ppresources), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
4066 }
4067 #[cfg(feature = "Win32_Foundation")]
EnqueueSetEvent<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(&self, hevent: Param0) -> ::windows::runtime::Result<()>4068 pub unsafe fn EnqueueSetEvent<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(&self, hevent: Param0) -> ::windows::runtime::Result<()> {
4069 (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), hevent.into_param().abi()).ok()
4070 }
4071 }
4072 unsafe impl ::windows::runtime::Interface for IDXGIDevice2 {
4073 type Vtable = IDXGIDevice2_abi;
4074 const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(83920407, 64509, 16465, [167, 144, 20, 72, 132, 180, 246, 169]);
4075 }
4076 impl ::std::convert::From<IDXGIDevice2> for ::windows::runtime::IUnknown {
from(value: IDXGIDevice2) -> Self4077 fn from(value: IDXGIDevice2) -> Self {
4078 unsafe { ::std::mem::transmute(value) }
4079 }
4080 }
4081 impl ::std::convert::From<&IDXGIDevice2> for ::windows::runtime::IUnknown {
from(value: &IDXGIDevice2) -> Self4082 fn from(value: &IDXGIDevice2) -> Self {
4083 ::std::convert::From::from(::std::clone::Clone::clone(value))
4084 }
4085 }
4086 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IDXGIDevice2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4087 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4088 ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4089 }
4090 }
4091 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IDXGIDevice2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4092 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4093 ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4094 }
4095 }
4096 impl ::std::convert::From<IDXGIDevice2> for IDXGIDevice1 {
from(value: IDXGIDevice2) -> Self4097 fn from(value: IDXGIDevice2) -> Self {
4098 unsafe { ::std::mem::transmute(value) }
4099 }
4100 }
4101 impl ::std::convert::From<&IDXGIDevice2> for IDXGIDevice1 {
from(value: &IDXGIDevice2) -> Self4102 fn from(value: &IDXGIDevice2) -> Self {
4103 ::std::convert::From::from(::std::clone::Clone::clone(value))
4104 }
4105 }
4106 impl<'a> ::windows::runtime::IntoParam<'a, IDXGIDevice1> for IDXGIDevice2 {
into_param(self) -> ::windows::runtime::Param<'a, IDXGIDevice1>4107 fn into_param(self) -> ::windows::runtime::Param<'a, IDXGIDevice1> {
4108 ::windows::runtime::Param::Owned(::std::convert::Into::<IDXGIDevice1>::into(self))
4109 }
4110 }
4111 impl<'a> ::windows::runtime::IntoParam<'a, IDXGIDevice1> for &IDXGIDevice2 {
into_param(self) -> ::windows::runtime::Param<'a, IDXGIDevice1>4112 fn into_param(self) -> ::windows::runtime::Param<'a, IDXGIDevice1> {
4113 ::windows::runtime::Param::Owned(::std::convert::Into::<IDXGIDevice1>::into(::std::clone::Clone::clone(self)))
4114 }
4115 }
4116 impl ::std::convert::From<IDXGIDevice2> for IDXGIDevice {
from(value: IDXGIDevice2) -> Self4117 fn from(value: IDXGIDevice2) -> Self {
4118 unsafe { ::std::mem::transmute(value) }
4119 }
4120 }
4121 impl ::std::convert::From<&IDXGIDevice2> for IDXGIDevice {
from(value: &IDXGIDevice2) -> Self4122 fn from(value: &IDXGIDevice2) -> Self {
4123 ::std::convert::From::from(::std::clone::Clone::clone(value))
4124 }
4125 }
4126 impl<'a> ::windows::runtime::IntoParam<'a, IDXGIDevice> for IDXGIDevice2 {
into_param(self) -> ::windows::runtime::Param<'a, IDXGIDevice>4127 fn into_param(self) -> ::windows::runtime::Param<'a, IDXGIDevice> {
4128 ::windows::runtime::Param::Owned(::std::convert::Into::<IDXGIDevice>::into(self))
4129 }
4130 }
4131 impl<'a> ::windows::runtime::IntoParam<'a, IDXGIDevice> for &IDXGIDevice2 {
into_param(self) -> ::windows::runtime::Param<'a, IDXGIDevice>4132 fn into_param(self) -> ::windows::runtime::Param<'a, IDXGIDevice> {
4133 ::windows::runtime::Param::Owned(::std::convert::Into::<IDXGIDevice>::into(::std::clone::Clone::clone(self)))
4134 }
4135 }
4136 impl ::std::convert::From<IDXGIDevice2> for IDXGIObject {
from(value: IDXGIDevice2) -> Self4137 fn from(value: IDXGIDevice2) -> Self {
4138 unsafe { ::std::mem::transmute(value) }
4139 }
4140 }
4141 impl ::std::convert::From<&IDXGIDevice2> for IDXGIObject {
from(value: &IDXGIDevice2) -> Self4142 fn from(value: &IDXGIDevice2) -> Self {
4143 ::std::convert::From::from(::std::clone::Clone::clone(value))
4144 }
4145 }
4146 impl<'a> ::windows::runtime::IntoParam<'a, IDXGIObject> for IDXGIDevice2 {
into_param(self) -> ::windows::runtime::Param<'a, IDXGIObject>4147 fn into_param(self) -> ::windows::runtime::Param<'a, IDXGIObject> {
4148 ::windows::runtime::Param::Owned(::std::convert::Into::<IDXGIObject>::into(self))
4149 }
4150 }
4151 impl<'a> ::windows::runtime::IntoParam<'a, IDXGIObject> for &IDXGIDevice2 {
into_param(self) -> ::windows::runtime::Param<'a, IDXGIObject>4152 fn into_param(self) -> ::windows::runtime::Param<'a, IDXGIObject> {
4153 ::windows::runtime::Param::Owned(::std::convert::Into::<IDXGIObject>::into(::std::clone::Clone::clone(self)))
4154 }
4155 }
4156 #[repr(C)]
4157 #[doc(hidden)]
4158 pub struct IDXGIDevice2_abi(
4159 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4160 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4161 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4162 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
4163 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: *const ::windows::runtime::GUID, punknown: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4164 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
4165 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, ppparent: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
4166 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, padapter: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4167 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *const DXGI_SURFACE_DESC, numsurfaces: u32, usage: u32, psharedresource: *const DXGI_SHARED_RESOURCE, ppsurface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4168 #[cfg(not(feature = "Win32_Foundation"))] usize,
4169 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppresources: *const ::windows::runtime::RawPtr, presidencystatus: *mut DXGI_RESIDENCY, numresources: u32) -> ::windows::runtime::HRESULT,
4170 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, priority: i32) -> ::windows::runtime::HRESULT,
4171 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppriority: *mut i32) -> ::windows::runtime::HRESULT,
4172 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, maxlatency: u32) -> ::windows::runtime::HRESULT,
4173 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pmaxlatency: *mut u32) -> ::windows::runtime::HRESULT,
4174 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, numresources: u32, ppresources: *const ::windows::runtime::RawPtr, priority: DXGI_OFFER_RESOURCE_PRIORITY) -> ::windows::runtime::HRESULT,
4175 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, numresources: u32, ppresources: *const ::windows::runtime::RawPtr, pdiscarded: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
4176 #[cfg(not(feature = "Win32_Foundation"))] usize,
4177 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, hevent: super::super::Foundation::HANDLE) -> ::windows::runtime::HRESULT,
4178 #[cfg(not(feature = "Win32_Foundation"))] usize,
4179 );
4180 #[repr(transparent)]
4181 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4182 pub struct IDXGIDevice3(::windows::runtime::IUnknown);
4183 impl IDXGIDevice3 {
SetPrivateData(&self, name: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::Result<()>4184 pub unsafe fn SetPrivateData(&self, name: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
4185 (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(name), ::std::mem::transmute(datasize), ::std::mem::transmute(pdata)).ok()
4186 }
SetPrivateDataInterface<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, name: *const ::windows::runtime::GUID, punknown: Param1) -> ::windows::runtime::Result<()>4187 pub unsafe fn SetPrivateDataInterface<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, name: *const ::windows::runtime::GUID, punknown: Param1) -> ::windows::runtime::Result<()> {
4188 (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(name), punknown.into_param().abi()).ok()
4189 }
GetPrivateData(&self, name: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()>4190 pub unsafe fn GetPrivateData(&self, name: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
4191 (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(name), ::std::mem::transmute(pdatasize), ::std::mem::transmute(pdata)).ok()
4192 }
GetParent<T: ::windows::runtime::Interface>(&self) -> ::windows::runtime::Result<T>4193 pub unsafe fn GetParent<T: ::windows::runtime::Interface>(&self) -> ::windows::runtime::Result<T> {
4194 let mut result__ = ::std::option::Option::None;
4195 (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
4196 }
GetAdapter(&self) -> ::windows::runtime::Result<IDXGIAdapter>4197 pub unsafe fn GetAdapter(&self) -> ::windows::runtime::Result<IDXGIAdapter> {
4198 let mut result__: <IDXGIAdapter as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4199 (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IDXGIAdapter>(result__)
4200 }
4201 #[cfg(feature = "Win32_Foundation")]
CreateSurface(&self, pdesc: *const DXGI_SURFACE_DESC, numsurfaces: u32, usage: u32, psharedresource: *const DXGI_SHARED_RESOURCE, ppsurface: *mut ::std::option::Option<IDXGISurface>) -> ::windows::runtime::Result<()>4202 pub unsafe fn CreateSurface(&self, pdesc: *const DXGI_SURFACE_DESC, numsurfaces: u32, usage: u32, psharedresource: *const DXGI_SHARED_RESOURCE, ppsurface: *mut ::std::option::Option<IDXGISurface>) -> ::windows::runtime::Result<()> {
4203 (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdesc), ::std::mem::transmute(numsurfaces), ::std::mem::transmute(usage), ::std::mem::transmute(psharedresource), ::std::mem::transmute(ppsurface)).ok()
4204 }
QueryResourceResidency(&self, ppresources: *const ::std::option::Option<::windows::runtime::IUnknown>, presidencystatus: *mut DXGI_RESIDENCY, numresources: u32) -> ::windows::runtime::Result<()>4205 pub unsafe fn QueryResourceResidency(&self, ppresources: *const ::std::option::Option<::windows::runtime::IUnknown>, presidencystatus: *mut DXGI_RESIDENCY, numresources: u32) -> ::windows::runtime::Result<()> {
4206 (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(ppresources), ::std::mem::transmute(presidencystatus), ::std::mem::transmute(numresources)).ok()
4207 }
SetGPUThreadPriority(&self, priority: i32) -> ::windows::runtime::Result<()>4208 pub unsafe fn SetGPUThreadPriority(&self, priority: i32) -> ::windows::runtime::Result<()> {
4209 (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), ::std::mem::transmute(priority)).ok()
4210 }
GetGPUThreadPriority(&self) -> ::windows::runtime::Result<i32>4211 pub unsafe fn GetGPUThreadPriority(&self) -> ::windows::runtime::Result<i32> {
4212 let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4213 (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
4214 }
SetMaximumFrameLatency(&self, maxlatency: u32) -> ::windows::runtime::Result<()>4215 pub unsafe fn SetMaximumFrameLatency(&self, maxlatency: u32) -> ::windows::runtime::Result<()> {
4216 (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ::std::mem::transmute(maxlatency)).ok()
4217 }
GetMaximumFrameLatency(&self) -> ::windows::runtime::Result<u32>4218 pub unsafe fn GetMaximumFrameLatency(&self) -> ::windows::runtime::Result<u32> {
4219 let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4220 (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
4221 }
OfferResources(&self, numresources: u32, ppresources: *const ::std::option::Option<IDXGIResource>, priority: DXGI_OFFER_RESOURCE_PRIORITY) -> ::windows::runtime::Result<()>4222 pub unsafe fn OfferResources(&self, numresources: u32, ppresources: *const ::std::option::Option<IDXGIResource>, priority: DXGI_OFFER_RESOURCE_PRIORITY) -> ::windows::runtime::Result<()> {
4223 (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), ::std::mem::transmute(numresources), ::std::mem::transmute(ppresources), ::std::mem::transmute(priority)).ok()
4224 }
4225 #[cfg(feature = "Win32_Foundation")]
ReclaimResources(&self, numresources: u32, ppresources: *const ::std::option::Option<IDXGIResource>) -> ::windows::runtime::Result<super::super::Foundation::BOOL>4226 pub unsafe fn ReclaimResources(&self, numresources: u32, ppresources: *const ::std::option::Option<IDXGIResource>) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
4227 let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4228 (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), ::std::mem::transmute(numresources), ::std::mem::transmute(ppresources), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
4229 }
4230 #[cfg(feature = "Win32_Foundation")]
EnqueueSetEvent<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(&self, hevent: Param0) -> ::windows::runtime::Result<()>4231 pub unsafe fn EnqueueSetEvent<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(&self, hevent: Param0) -> ::windows::runtime::Result<()> {
4232 (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), hevent.into_param().abi()).ok()
4233 }
Trim(&self)4234 pub unsafe fn Trim(&self) {
4235 ::std::mem::transmute((::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self)))
4236 }
4237 }
4238 unsafe impl ::windows::runtime::Interface for IDXGIDevice3 {
4239 type Vtable = IDXGIDevice3_abi;
4240 const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1611106668, 12868, 19197, [191, 24, 166, 211, 190, 218, 80, 35]);
4241 }
4242 impl ::std::convert::From<IDXGIDevice3> for ::windows::runtime::IUnknown {
from(value: IDXGIDevice3) -> Self4243 fn from(value: IDXGIDevice3) -> Self {
4244 unsafe { ::std::mem::transmute(value) }
4245 }
4246 }
4247 impl ::std::convert::From<&IDXGIDevice3> for ::windows::runtime::IUnknown {
from(value: &IDXGIDevice3) -> Self4248 fn from(value: &IDXGIDevice3) -> Self {
4249 ::std::convert::From::from(::std::clone::Clone::clone(value))
4250 }
4251 }
4252 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IDXGIDevice3 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4253 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4254 ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4255 }
4256 }
4257 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IDXGIDevice3 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4258 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4259 ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4260 }
4261 }
4262 impl ::std::convert::From<IDXGIDevice3> for IDXGIDevice2 {
from(value: IDXGIDevice3) -> Self4263 fn from(value: IDXGIDevice3) -> Self {
4264 unsafe { ::std::mem::transmute(value) }
4265 }
4266 }
4267 impl ::std::convert::From<&IDXGIDevice3> for IDXGIDevice2 {
from(value: &IDXGIDevice3) -> Self4268 fn from(value: &IDXGIDevice3) -> Self {
4269 ::std::convert::From::from(::std::clone::Clone::clone(value))
4270 }
4271 }
4272 impl<'a> ::windows::runtime::IntoParam<'a, IDXGIDevice2> for IDXGIDevice3 {
into_param(self) -> ::windows::runtime::Param<'a, IDXGIDevice2>4273 fn into_param(self) -> ::windows::runtime::Param<'a, IDXGIDevice2> {
4274 ::windows::runtime::Param::Owned(::std::convert::Into::<IDXGIDevice2>::into(self))
4275 }
4276 }
4277 impl<'a> ::windows::runtime::IntoParam<'a, IDXGIDevice2> for &IDXGIDevice3 {
into_param(self) -> ::windows::runtime::Param<'a, IDXGIDevice2>4278 fn into_param(self) -> ::windows::runtime::Param<'a, IDXGIDevice2> {
4279 ::windows::runtime::Param::Owned(::std::convert::Into::<IDXGIDevice2>::into(::std::clone::Clone::clone(self)))
4280 }
4281 }
4282 impl ::std::convert::From<IDXGIDevice3> for IDXGIDevice1 {
from(value: IDXGIDevice3) -> Self4283 fn from(value: IDXGIDevice3) -> Self {
4284 unsafe { ::std::mem::transmute(value) }
4285 }
4286 }
4287 impl ::std::convert::From<&IDXGIDevice3> for IDXGIDevice1 {
from(value: &IDXGIDevice3) -> Self4288 fn from(value: &IDXGIDevice3) -> Self {
4289 ::std::convert::From::from(::std::clone::Clone::clone(value))
4290 }
4291 }
4292 impl<'a> ::windows::runtime::IntoParam<'a, IDXGIDevice1> for IDXGIDevice3 {
into_param(self) -> ::windows::runtime::Param<'a, IDXGIDevice1>4293 fn into_param(self) -> ::windows::runtime::Param<'a, IDXGIDevice1> {
4294 ::windows::runtime::Param::Owned(::std::convert::Into::<IDXGIDevice1>::into(self))
4295 }
4296 }
4297 impl<'a> ::windows::runtime::IntoParam<'a, IDXGIDevice1> for &IDXGIDevice3 {
into_param(self) -> ::windows::runtime::Param<'a, IDXGIDevice1>4298 fn into_param(self) -> ::windows::runtime::Param<'a, IDXGIDevice1> {
4299 ::windows::runtime::Param::Owned(::std::convert::Into::<IDXGIDevice1>::into(::std::clone::Clone::clone(self)))
4300 }
4301 }
4302 impl ::std::convert::From<IDXGIDevice3> for IDXGIDevice {
from(value: IDXGIDevice3) -> Self4303 fn from(value: IDXGIDevice3) -> Self {
4304 unsafe { ::std::mem::transmute(value) }
4305 }
4306 }
4307 impl ::std::convert::From<&IDXGIDevice3> for IDXGIDevice {
from(value: &IDXGIDevice3) -> Self4308 fn from(value: &IDXGIDevice3) -> Self {
4309 ::std::convert::From::from(::std::clone::Clone::clone(value))
4310 }
4311 }
4312 impl<'a> ::windows::runtime::IntoParam<'a, IDXGIDevice> for IDXGIDevice3 {
into_param(self) -> ::windows::runtime::Param<'a, IDXGIDevice>4313 fn into_param(self) -> ::windows::runtime::Param<'a, IDXGIDevice> {
4314 ::windows::runtime::Param::Owned(::std::convert::Into::<IDXGIDevice>::into(self))
4315 }
4316 }
4317 impl<'a> ::windows::runtime::IntoParam<'a, IDXGIDevice> for &IDXGIDevice3 {
into_param(self) -> ::windows::runtime::Param<'a, IDXGIDevice>4318 fn into_param(self) -> ::windows::runtime::Param<'a, IDXGIDevice> {
4319 ::windows::runtime::Param::Owned(::std::convert::Into::<IDXGIDevice>::into(::std::clone::Clone::clone(self)))
4320 }
4321 }
4322 impl ::std::convert::From<IDXGIDevice3> for IDXGIObject {
from(value: IDXGIDevice3) -> Self4323 fn from(value: IDXGIDevice3) -> Self {
4324 unsafe { ::std::mem::transmute(value) }
4325 }
4326 }
4327 impl ::std::convert::From<&IDXGIDevice3> for IDXGIObject {
from(value: &IDXGIDevice3) -> Self4328 fn from(value: &IDXGIDevice3) -> Self {
4329 ::std::convert::From::from(::std::clone::Clone::clone(value))
4330 }
4331 }
4332 impl<'a> ::windows::runtime::IntoParam<'a, IDXGIObject> for IDXGIDevice3 {
into_param(self) -> ::windows::runtime::Param<'a, IDXGIObject>4333 fn into_param(self) -> ::windows::runtime::Param<'a, IDXGIObject> {
4334 ::windows::runtime::Param::Owned(::std::convert::Into::<IDXGIObject>::into(self))
4335 }
4336 }
4337 impl<'a> ::windows::runtime::IntoParam<'a, IDXGIObject> for &IDXGIDevice3 {
into_param(self) -> ::windows::runtime::Param<'a, IDXGIObject>4338 fn into_param(self) -> ::windows::runtime::Param<'a, IDXGIObject> {
4339 ::windows::runtime::Param::Owned(::std::convert::Into::<IDXGIObject>::into(::std::clone::Clone::clone(self)))
4340 }
4341 }
4342 #[repr(C)]
4343 #[doc(hidden)]
4344 pub struct IDXGIDevice3_abi(
4345 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4346 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4347 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4348 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
4349 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: *const ::windows::runtime::GUID, punknown: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4350 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
4351 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, ppparent: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
4352 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, padapter: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4353 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *const DXGI_SURFACE_DESC, numsurfaces: u32, usage: u32, psharedresource: *const DXGI_SHARED_RESOURCE, ppsurface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4354 #[cfg(not(feature = "Win32_Foundation"))] usize,
4355 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppresources: *const ::windows::runtime::RawPtr, presidencystatus: *mut DXGI_RESIDENCY, numresources: u32) -> ::windows::runtime::HRESULT,
4356 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, priority: i32) -> ::windows::runtime::HRESULT,
4357 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppriority: *mut i32) -> ::windows::runtime::HRESULT,
4358 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, maxlatency: u32) -> ::windows::runtime::HRESULT,
4359 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pmaxlatency: *mut u32) -> ::windows::runtime::HRESULT,
4360 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, numresources: u32, ppresources: *const ::windows::runtime::RawPtr, priority: DXGI_OFFER_RESOURCE_PRIORITY) -> ::windows::runtime::HRESULT,
4361 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, numresources: u32, ppresources: *const ::windows::runtime::RawPtr, pdiscarded: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
4362 #[cfg(not(feature = "Win32_Foundation"))] usize,
4363 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, hevent: super::super::Foundation::HANDLE) -> ::windows::runtime::HRESULT,
4364 #[cfg(not(feature = "Win32_Foundation"))] usize,
4365 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr),
4366 );
4367 #[repr(transparent)]
4368 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4369 pub struct IDXGIDevice4(::windows::runtime::IUnknown);
4370 impl IDXGIDevice4 {
SetPrivateData(&self, name: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::Result<()>4371 pub unsafe fn SetPrivateData(&self, name: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
4372 (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(name), ::std::mem::transmute(datasize), ::std::mem::transmute(pdata)).ok()
4373 }
SetPrivateDataInterface<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, name: *const ::windows::runtime::GUID, punknown: Param1) -> ::windows::runtime::Result<()>4374 pub unsafe fn SetPrivateDataInterface<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, name: *const ::windows::runtime::GUID, punknown: Param1) -> ::windows::runtime::Result<()> {
4375 (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(name), punknown.into_param().abi()).ok()
4376 }
GetPrivateData(&self, name: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()>4377 pub unsafe fn GetPrivateData(&self, name: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
4378 (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(name), ::std::mem::transmute(pdatasize), ::std::mem::transmute(pdata)).ok()
4379 }
GetParent<T: ::windows::runtime::Interface>(&self) -> ::windows::runtime::Result<T>4380 pub unsafe fn GetParent<T: ::windows::runtime::Interface>(&self) -> ::windows::runtime::Result<T> {
4381 let mut result__ = ::std::option::Option::None;
4382 (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
4383 }
GetAdapter(&self) -> ::windows::runtime::Result<IDXGIAdapter>4384 pub unsafe fn GetAdapter(&self) -> ::windows::runtime::Result<IDXGIAdapter> {
4385 let mut result__: <IDXGIAdapter as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4386 (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IDXGIAdapter>(result__)
4387 }
4388 #[cfg(feature = "Win32_Foundation")]
CreateSurface(&self, pdesc: *const DXGI_SURFACE_DESC, numsurfaces: u32, usage: u32, psharedresource: *const DXGI_SHARED_RESOURCE, ppsurface: *mut ::std::option::Option<IDXGISurface>) -> ::windows::runtime::Result<()>4389 pub unsafe fn CreateSurface(&self, pdesc: *const DXGI_SURFACE_DESC, numsurfaces: u32, usage: u32, psharedresource: *const DXGI_SHARED_RESOURCE, ppsurface: *mut ::std::option::Option<IDXGISurface>) -> ::windows::runtime::Result<()> {
4390 (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdesc), ::std::mem::transmute(numsurfaces), ::std::mem::transmute(usage), ::std::mem::transmute(psharedresource), ::std::mem::transmute(ppsurface)).ok()
4391 }
QueryResourceResidency(&self, ppresources: *const ::std::option::Option<::windows::runtime::IUnknown>, presidencystatus: *mut DXGI_RESIDENCY, numresources: u32) -> ::windows::runtime::Result<()>4392 pub unsafe fn QueryResourceResidency(&self, ppresources: *const ::std::option::Option<::windows::runtime::IUnknown>, presidencystatus: *mut DXGI_RESIDENCY, numresources: u32) -> ::windows::runtime::Result<()> {
4393 (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(ppresources), ::std::mem::transmute(presidencystatus), ::std::mem::transmute(numresources)).ok()
4394 }
SetGPUThreadPriority(&self, priority: i32) -> ::windows::runtime::Result<()>4395 pub unsafe fn SetGPUThreadPriority(&self, priority: i32) -> ::windows::runtime::Result<()> {
4396 (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), ::std::mem::transmute(priority)).ok()
4397 }
GetGPUThreadPriority(&self) -> ::windows::runtime::Result<i32>4398 pub unsafe fn GetGPUThreadPriority(&self) -> ::windows::runtime::Result<i32> {
4399 let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4400 (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
4401 }
SetMaximumFrameLatency(&self, maxlatency: u32) -> ::windows::runtime::Result<()>4402 pub unsafe fn SetMaximumFrameLatency(&self, maxlatency: u32) -> ::windows::runtime::Result<()> {
4403 (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ::std::mem::transmute(maxlatency)).ok()
4404 }
GetMaximumFrameLatency(&self) -> ::windows::runtime::Result<u32>4405 pub unsafe fn GetMaximumFrameLatency(&self) -> ::windows::runtime::Result<u32> {
4406 let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4407 (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
4408 }
OfferResources(&self, numresources: u32, ppresources: *const ::std::option::Option<IDXGIResource>, priority: DXGI_OFFER_RESOURCE_PRIORITY) -> ::windows::runtime::Result<()>4409 pub unsafe fn OfferResources(&self, numresources: u32, ppresources: *const ::std::option::Option<IDXGIResource>, priority: DXGI_OFFER_RESOURCE_PRIORITY) -> ::windows::runtime::Result<()> {
4410 (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), ::std::mem::transmute(numresources), ::std::mem::transmute(ppresources), ::std::mem::transmute(priority)).ok()
4411 }
4412 #[cfg(feature = "Win32_Foundation")]
ReclaimResources(&self, numresources: u32, ppresources: *const ::std::option::Option<IDXGIResource>) -> ::windows::runtime::Result<super::super::Foundation::BOOL>4413 pub unsafe fn ReclaimResources(&self, numresources: u32, ppresources: *const ::std::option::Option<IDXGIResource>) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
4414 let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4415 (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), ::std::mem::transmute(numresources), ::std::mem::transmute(ppresources), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
4416 }
4417 #[cfg(feature = "Win32_Foundation")]
EnqueueSetEvent<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(&self, hevent: Param0) -> ::windows::runtime::Result<()>4418 pub unsafe fn EnqueueSetEvent<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(&self, hevent: Param0) -> ::windows::runtime::Result<()> {
4419 (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), hevent.into_param().abi()).ok()
4420 }
Trim(&self)4421 pub unsafe fn Trim(&self) {
4422 ::std::mem::transmute((::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self)))
4423 }
OfferResources1(&self, numresources: u32, ppresources: *const ::std::option::Option<IDXGIResource>, priority: DXGI_OFFER_RESOURCE_PRIORITY, flags: u32) -> ::windows::runtime::Result<()>4424 pub unsafe fn OfferResources1(&self, numresources: u32, ppresources: *const ::std::option::Option<IDXGIResource>, priority: DXGI_OFFER_RESOURCE_PRIORITY, flags: u32) -> ::windows::runtime::Result<()> {
4425 (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), ::std::mem::transmute(numresources), ::std::mem::transmute(ppresources), ::std::mem::transmute(priority), ::std::mem::transmute(flags)).ok()
4426 }
ReclaimResources1(&self, numresources: u32, ppresources: *const ::std::option::Option<IDXGIResource>) -> ::windows::runtime::Result<DXGI_RECLAIM_RESOURCE_RESULTS>4427 pub unsafe fn ReclaimResources1(&self, numresources: u32, ppresources: *const ::std::option::Option<IDXGIResource>) -> ::windows::runtime::Result<DXGI_RECLAIM_RESOURCE_RESULTS> {
4428 let mut result__: <DXGI_RECLAIM_RESOURCE_RESULTS as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4429 (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), ::std::mem::transmute(numresources), ::std::mem::transmute(ppresources), &mut result__).from_abi::<DXGI_RECLAIM_RESOURCE_RESULTS>(result__)
4430 }
4431 }
4432 unsafe impl ::windows::runtime::Interface for IDXGIDevice4 {
4433 type Vtable = IDXGIDevice4_abi;
4434 const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2511665503, 55514, 19620, [158, 230, 59, 118, 213, 150, 138, 16]);
4435 }
4436 impl ::std::convert::From<IDXGIDevice4> for ::windows::runtime::IUnknown {
from(value: IDXGIDevice4) -> Self4437 fn from(value: IDXGIDevice4) -> Self {
4438 unsafe { ::std::mem::transmute(value) }
4439 }
4440 }
4441 impl ::std::convert::From<&IDXGIDevice4> for ::windows::runtime::IUnknown {
from(value: &IDXGIDevice4) -> Self4442 fn from(value: &IDXGIDevice4) -> Self {
4443 ::std::convert::From::from(::std::clone::Clone::clone(value))
4444 }
4445 }
4446 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IDXGIDevice4 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4447 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4448 ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4449 }
4450 }
4451 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IDXGIDevice4 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4452 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4453 ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4454 }
4455 }
4456 impl ::std::convert::From<IDXGIDevice4> for IDXGIDevice3 {
from(value: IDXGIDevice4) -> Self4457 fn from(value: IDXGIDevice4) -> Self {
4458 unsafe { ::std::mem::transmute(value) }
4459 }
4460 }
4461 impl ::std::convert::From<&IDXGIDevice4> for IDXGIDevice3 {
from(value: &IDXGIDevice4) -> Self4462 fn from(value: &IDXGIDevice4) -> Self {
4463 ::std::convert::From::from(::std::clone::Clone::clone(value))
4464 }
4465 }
4466 impl<'a> ::windows::runtime::IntoParam<'a, IDXGIDevice3> for IDXGIDevice4 {
into_param(self) -> ::windows::runtime::Param<'a, IDXGIDevice3>4467 fn into_param(self) -> ::windows::runtime::Param<'a, IDXGIDevice3> {
4468 ::windows::runtime::Param::Owned(::std::convert::Into::<IDXGIDevice3>::into(self))
4469 }
4470 }
4471 impl<'a> ::windows::runtime::IntoParam<'a, IDXGIDevice3> for &IDXGIDevice4 {
into_param(self) -> ::windows::runtime::Param<'a, IDXGIDevice3>4472 fn into_param(self) -> ::windows::runtime::Param<'a, IDXGIDevice3> {
4473 ::windows::runtime::Param::Owned(::std::convert::Into::<IDXGIDevice3>::into(::std::clone::Clone::clone(self)))
4474 }
4475 }
4476 impl ::std::convert::From<IDXGIDevice4> for IDXGIDevice2 {
from(value: IDXGIDevice4) -> Self4477 fn from(value: IDXGIDevice4) -> Self {
4478 unsafe { ::std::mem::transmute(value) }
4479 }
4480 }
4481 impl ::std::convert::From<&IDXGIDevice4> for IDXGIDevice2 {
from(value: &IDXGIDevice4) -> Self4482 fn from(value: &IDXGIDevice4) -> Self {
4483 ::std::convert::From::from(::std::clone::Clone::clone(value))
4484 }
4485 }
4486 impl<'a> ::windows::runtime::IntoParam<'a, IDXGIDevice2> for IDXGIDevice4 {
into_param(self) -> ::windows::runtime::Param<'a, IDXGIDevice2>4487 fn into_param(self) -> ::windows::runtime::Param<'a, IDXGIDevice2> {
4488 ::windows::runtime::Param::Owned(::std::convert::Into::<IDXGIDevice2>::into(self))
4489 }
4490 }
4491 impl<'a> ::windows::runtime::IntoParam<'a, IDXGIDevice2> for &IDXGIDevice4 {
into_param(self) -> ::windows::runtime::Param<'a, IDXGIDevice2>4492 fn into_param(self) -> ::windows::runtime::Param<'a, IDXGIDevice2> {
4493 ::windows::runtime::Param::Owned(::std::convert::Into::<IDXGIDevice2>::into(::std::clone::Clone::clone(self)))
4494 }
4495 }
4496 impl ::std::convert::From<IDXGIDevice4> for IDXGIDevice1 {
from(value: IDXGIDevice4) -> Self4497 fn from(value: IDXGIDevice4) -> Self {
4498 unsafe { ::std::mem::transmute(value) }
4499 }
4500 }
4501 impl ::std::convert::From<&IDXGIDevice4> for IDXGIDevice1 {
from(value: &IDXGIDevice4) -> Self4502 fn from(value: &IDXGIDevice4) -> Self {
4503 ::std::convert::From::from(::std::clone::Clone::clone(value))
4504 }
4505 }
4506 impl<'a> ::windows::runtime::IntoParam<'a, IDXGIDevice1> for IDXGIDevice4 {
into_param(self) -> ::windows::runtime::Param<'a, IDXGIDevice1>4507 fn into_param(self) -> ::windows::runtime::Param<'a, IDXGIDevice1> {
4508 ::windows::runtime::Param::Owned(::std::convert::Into::<IDXGIDevice1>::into(self))
4509 }
4510 }
4511 impl<'a> ::windows::runtime::IntoParam<'a, IDXGIDevice1> for &IDXGIDevice4 {
into_param(self) -> ::windows::runtime::Param<'a, IDXGIDevice1>4512 fn into_param(self) -> ::windows::runtime::Param<'a, IDXGIDevice1> {
4513 ::windows::runtime::Param::Owned(::std::convert::Into::<IDXGIDevice1>::into(::std::clone::Clone::clone(self)))
4514 }
4515 }
4516 impl ::std::convert::From<IDXGIDevice4> for IDXGIDevice {
from(value: IDXGIDevice4) -> Self4517 fn from(value: IDXGIDevice4) -> Self {
4518 unsafe { ::std::mem::transmute(value) }
4519 }
4520 }
4521 impl ::std::convert::From<&IDXGIDevice4> for IDXGIDevice {
from(value: &IDXGIDevice4) -> Self4522 fn from(value: &IDXGIDevice4) -> Self {
4523 ::std::convert::From::from(::std::clone::Clone::clone(value))
4524 }
4525 }
4526 impl<'a> ::windows::runtime::IntoParam<'a, IDXGIDevice> for IDXGIDevice4 {
into_param(self) -> ::windows::runtime::Param<'a, IDXGIDevice>4527 fn into_param(self) -> ::windows::runtime::Param<'a, IDXGIDevice> {
4528 ::windows::runtime::Param::Owned(::std::convert::Into::<IDXGIDevice>::into(self))
4529 }
4530 }
4531 impl<'a> ::windows::runtime::IntoParam<'a, IDXGIDevice> for &IDXGIDevice4 {
into_param(self) -> ::windows::runtime::Param<'a, IDXGIDevice>4532 fn into_param(self) -> ::windows::runtime::Param<'a, IDXGIDevice> {
4533 ::windows::runtime::Param::Owned(::std::convert::Into::<IDXGIDevice>::into(::std::clone::Clone::clone(self)))
4534 }
4535 }
4536 impl ::std::convert::From<IDXGIDevice4> for IDXGIObject {
from(value: IDXGIDevice4) -> Self4537 fn from(value: IDXGIDevice4) -> Self {
4538 unsafe { ::std::mem::transmute(value) }
4539 }
4540 }
4541 impl ::std::convert::From<&IDXGIDevice4> for IDXGIObject {
from(value: &IDXGIDevice4) -> Self4542 fn from(value: &IDXGIDevice4) -> Self {
4543 ::std::convert::From::from(::std::clone::Clone::clone(value))
4544 }
4545 }
4546 impl<'a> ::windows::runtime::IntoParam<'a, IDXGIObject> for IDXGIDevice4 {
into_param(self) -> ::windows::runtime::Param<'a, IDXGIObject>4547 fn into_param(self) -> ::windows::runtime::Param<'a, IDXGIObject> {
4548 ::windows::runtime::Param::Owned(::std::convert::Into::<IDXGIObject>::into(self))
4549 }
4550 }
4551 impl<'a> ::windows::runtime::IntoParam<'a, IDXGIObject> for &IDXGIDevice4 {
into_param(self) -> ::windows::runtime::Param<'a, IDXGIObject>4552 fn into_param(self) -> ::windows::runtime::Param<'a, IDXGIObject> {
4553 ::windows::runtime::Param::Owned(::std::convert::Into::<IDXGIObject>::into(::std::clone::Clone::clone(self)))
4554 }
4555 }
4556 #[repr(C)]
4557 #[doc(hidden)]
4558 pub struct IDXGIDevice4_abi(
4559 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4560 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4561 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4562 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
4563 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: *const ::windows::runtime::GUID, punknown: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4564 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
4565 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, ppparent: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
4566 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, padapter: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4567 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *const DXGI_SURFACE_DESC, numsurfaces: u32, usage: u32, psharedresource: *const DXGI_SHARED_RESOURCE, ppsurface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4568 #[cfg(not(feature = "Win32_Foundation"))] usize,
4569 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppresources: *const ::windows::runtime::RawPtr, presidencystatus: *mut DXGI_RESIDENCY, numresources: u32) -> ::windows::runtime::HRESULT,
4570 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, priority: i32) -> ::windows::runtime::HRESULT,
4571 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppriority: *mut i32) -> ::windows::runtime::HRESULT,
4572 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, maxlatency: u32) -> ::windows::runtime::HRESULT,
4573 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pmaxlatency: *mut u32) -> ::windows::runtime::HRESULT,
4574 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, numresources: u32, ppresources: *const ::windows::runtime::RawPtr, priority: DXGI_OFFER_RESOURCE_PRIORITY) -> ::windows::runtime::HRESULT,
4575 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, numresources: u32, ppresources: *const ::windows::runtime::RawPtr, pdiscarded: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
4576 #[cfg(not(feature = "Win32_Foundation"))] usize,
4577 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, hevent: super::super::Foundation::HANDLE) -> ::windows::runtime::HRESULT,
4578 #[cfg(not(feature = "Win32_Foundation"))] usize,
4579 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr),
4580 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, numresources: u32, ppresources: *const ::windows::runtime::RawPtr, priority: DXGI_OFFER_RESOURCE_PRIORITY, flags: u32) -> ::windows::runtime::HRESULT,
4581 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, numresources: u32, ppresources: *const ::windows::runtime::RawPtr, presults: *mut DXGI_RECLAIM_RESOURCE_RESULTS) -> ::windows::runtime::HRESULT,
4582 );
4583 #[repr(transparent)]
4584 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4585 pub struct IDXGIDeviceSubObject(::windows::runtime::IUnknown);
4586 impl IDXGIDeviceSubObject {
SetPrivateData(&self, name: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::Result<()>4587 pub unsafe fn SetPrivateData(&self, name: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
4588 (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(name), ::std::mem::transmute(datasize), ::std::mem::transmute(pdata)).ok()
4589 }
SetPrivateDataInterface<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, name: *const ::windows::runtime::GUID, punknown: Param1) -> ::windows::runtime::Result<()>4590 pub unsafe fn SetPrivateDataInterface<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, name: *const ::windows::runtime::GUID, punknown: Param1) -> ::windows::runtime::Result<()> {
4591 (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(name), punknown.into_param().abi()).ok()
4592 }
GetPrivateData(&self, name: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()>4593 pub unsafe fn GetPrivateData(&self, name: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
4594 (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(name), ::std::mem::transmute(pdatasize), ::std::mem::transmute(pdata)).ok()
4595 }
GetParent<T: ::windows::runtime::Interface>(&self) -> ::windows::runtime::Result<T>4596 pub unsafe fn GetParent<T: ::windows::runtime::Interface>(&self) -> ::windows::runtime::Result<T> {
4597 let mut result__ = ::std::option::Option::None;
4598 (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
4599 }
GetDevice<T: ::windows::runtime::Interface>(&self) -> ::windows::runtime::Result<T>4600 pub unsafe fn GetDevice<T: ::windows::runtime::Interface>(&self) -> ::windows::runtime::Result<T> {
4601 let mut result__ = ::std::option::Option::None;
4602 (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
4603 }
4604 }
4605 unsafe impl ::windows::runtime::Interface for IDXGIDeviceSubObject {
4606 type Vtable = IDXGIDeviceSubObject_abi;
4607 const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1027474297, 63966, 19800, [187, 108, 24, 214, 41, 146, 241, 166]);
4608 }
4609 impl ::std::convert::From<IDXGIDeviceSubObject> for ::windows::runtime::IUnknown {
from(value: IDXGIDeviceSubObject) -> Self4610 fn from(value: IDXGIDeviceSubObject) -> Self {
4611 unsafe { ::std::mem::transmute(value) }
4612 }
4613 }
4614 impl ::std::convert::From<&IDXGIDeviceSubObject> for ::windows::runtime::IUnknown {
from(value: &IDXGIDeviceSubObject) -> Self4615 fn from(value: &IDXGIDeviceSubObject) -> Self {
4616 ::std::convert::From::from(::std::clone::Clone::clone(value))
4617 }
4618 }
4619 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IDXGIDeviceSubObject {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4620 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4621 ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4622 }
4623 }
4624 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IDXGIDeviceSubObject {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4625 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4626 ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4627 }
4628 }
4629 impl ::std::convert::From<IDXGIDeviceSubObject> for IDXGIObject {
from(value: IDXGIDeviceSubObject) -> Self4630 fn from(value: IDXGIDeviceSubObject) -> Self {
4631 unsafe { ::std::mem::transmute(value) }
4632 }
4633 }
4634 impl ::std::convert::From<&IDXGIDeviceSubObject> for IDXGIObject {
from(value: &IDXGIDeviceSubObject) -> Self4635 fn from(value: &IDXGIDeviceSubObject) -> Self {
4636 ::std::convert::From::from(::std::clone::Clone::clone(value))
4637 }
4638 }
4639 impl<'a> ::windows::runtime::IntoParam<'a, IDXGIObject> for IDXGIDeviceSubObject {
into_param(self) -> ::windows::runtime::Param<'a, IDXGIObject>4640 fn into_param(self) -> ::windows::runtime::Param<'a, IDXGIObject> {
4641 ::windows::runtime::Param::Owned(::std::convert::Into::<IDXGIObject>::into(self))
4642 }
4643 }
4644 impl<'a> ::windows::runtime::IntoParam<'a, IDXGIObject> for &IDXGIDeviceSubObject {
into_param(self) -> ::windows::runtime::Param<'a, IDXGIObject>4645 fn into_param(self) -> ::windows::runtime::Param<'a, IDXGIObject> {
4646 ::windows::runtime::Param::Owned(::std::convert::Into::<IDXGIObject>::into(::std::clone::Clone::clone(self)))
4647 }
4648 }
4649 #[repr(C)]
4650 #[doc(hidden)]
4651 pub struct IDXGIDeviceSubObject_abi(
4652 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4653 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4654 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4655 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
4656 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: *const ::windows::runtime::GUID, punknown: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4657 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
4658 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, ppparent: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
4659 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, ppdevice: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
4660 );
4661 #[repr(transparent)]
4662 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4663 pub struct IDXGIDisplayControl(::windows::runtime::IUnknown);
4664 impl IDXGIDisplayControl {
4665 #[cfg(feature = "Win32_Foundation")]
IsStereoEnabled(&self) -> super::super::Foundation::BOOL4666 pub unsafe fn IsStereoEnabled(&self) -> super::super::Foundation::BOOL {
4667 ::std::mem::transmute((::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self)))
4668 }
4669 #[cfg(feature = "Win32_Foundation")]
SetStereoEnabled<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, enabled: Param0)4670 pub unsafe fn SetStereoEnabled<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, enabled: Param0) {
4671 ::std::mem::transmute((::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), enabled.into_param().abi()))
4672 }
4673 }
4674 unsafe impl ::windows::runtime::Interface for IDXGIDisplayControl {
4675 type Vtable = IDXGIDisplayControl_abi;
4676 const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3936206618, 51342, 17542, [133, 74, 152, 170, 1, 56, 243, 12]);
4677 }
4678 impl ::std::convert::From<IDXGIDisplayControl> for ::windows::runtime::IUnknown {
from(value: IDXGIDisplayControl) -> Self4679 fn from(value: IDXGIDisplayControl) -> Self {
4680 unsafe { ::std::mem::transmute(value) }
4681 }
4682 }
4683 impl ::std::convert::From<&IDXGIDisplayControl> for ::windows::runtime::IUnknown {
from(value: &IDXGIDisplayControl) -> Self4684 fn from(value: &IDXGIDisplayControl) -> Self {
4685 ::std::convert::From::from(::std::clone::Clone::clone(value))
4686 }
4687 }
4688 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IDXGIDisplayControl {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4689 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4690 ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4691 }
4692 }
4693 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IDXGIDisplayControl {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4694 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4695 ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4696 }
4697 }
4698 #[repr(C)]
4699 #[doc(hidden)]
4700 pub struct IDXGIDisplayControl_abi(
4701 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4702 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4703 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4704 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> super::super::Foundation::BOOL,
4705 #[cfg(not(feature = "Win32_Foundation"))] usize,
4706 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, enabled: super::super::Foundation::BOOL),
4707 #[cfg(not(feature = "Win32_Foundation"))] usize,
4708 );
4709 #[repr(transparent)]
4710 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4711 pub struct IDXGIFactory(::windows::runtime::IUnknown);
4712 impl IDXGIFactory {
SetPrivateData(&self, name: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::Result<()>4713 pub unsafe fn SetPrivateData(&self, name: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
4714 (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(name), ::std::mem::transmute(datasize), ::std::mem::transmute(pdata)).ok()
4715 }
SetPrivateDataInterface<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, name: *const ::windows::runtime::GUID, punknown: Param1) -> ::windows::runtime::Result<()>4716 pub unsafe fn SetPrivateDataInterface<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, name: *const ::windows::runtime::GUID, punknown: Param1) -> ::windows::runtime::Result<()> {
4717 (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(name), punknown.into_param().abi()).ok()
4718 }
GetPrivateData(&self, name: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()>4719 pub unsafe fn GetPrivateData(&self, name: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
4720 (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(name), ::std::mem::transmute(pdatasize), ::std::mem::transmute(pdata)).ok()
4721 }
GetParent<T: ::windows::runtime::Interface>(&self) -> ::windows::runtime::Result<T>4722 pub unsafe fn GetParent<T: ::windows::runtime::Interface>(&self) -> ::windows::runtime::Result<T> {
4723 let mut result__ = ::std::option::Option::None;
4724 (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
4725 }
EnumAdapters(&self, adapter: u32) -> ::windows::runtime::Result<IDXGIAdapter>4726 pub unsafe fn EnumAdapters(&self, adapter: u32) -> ::windows::runtime::Result<IDXGIAdapter> {
4727 let mut result__: <IDXGIAdapter as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4728 (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(adapter), &mut result__).from_abi::<IDXGIAdapter>(result__)
4729 }
4730 #[cfg(feature = "Win32_Foundation")]
MakeWindowAssociation<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>>(&self, windowhandle: Param0, flags: u32) -> ::windows::runtime::Result<()>4731 pub unsafe fn MakeWindowAssociation<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>>(&self, windowhandle: Param0, flags: u32) -> ::windows::runtime::Result<()> {
4732 (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), windowhandle.into_param().abi(), ::std::mem::transmute(flags)).ok()
4733 }
4734 #[cfg(feature = "Win32_Foundation")]
GetWindowAssociation(&self) -> ::windows::runtime::Result<super::super::Foundation::HWND>4735 pub unsafe fn GetWindowAssociation(&self) -> ::windows::runtime::Result<super::super::Foundation::HWND> {
4736 let mut result__: <super::super::Foundation::HWND as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4737 (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::HWND>(result__)
4738 }
4739 #[cfg(feature = "Win32_Foundation")]
CreateSwapChain<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, pdevice: Param0, pdesc: *const DXGI_SWAP_CHAIN_DESC) -> ::windows::runtime::Result<IDXGISwapChain>4740 pub unsafe fn CreateSwapChain<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, pdevice: Param0, pdesc: *const DXGI_SWAP_CHAIN_DESC) -> ::windows::runtime::Result<IDXGISwapChain> {
4741 let mut result__: <IDXGISwapChain as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4742 (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), pdevice.into_param().abi(), ::std::mem::transmute(pdesc), &mut result__).from_abi::<IDXGISwapChain>(result__)
4743 }
4744 #[cfg(feature = "Win32_Foundation")]
CreateSoftwareAdapter<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HINSTANCE>>(&self, module: Param0) -> ::windows::runtime::Result<IDXGIAdapter>4745 pub unsafe fn CreateSoftwareAdapter<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HINSTANCE>>(&self, module: Param0) -> ::windows::runtime::Result<IDXGIAdapter> {
4746 let mut result__: <IDXGIAdapter as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4747 (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), module.into_param().abi(), &mut result__).from_abi::<IDXGIAdapter>(result__)
4748 }
4749 }
4750 unsafe impl ::windows::runtime::Interface for IDXGIFactory {
4751 type Vtable = IDXGIFactory_abi;
4752 const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2071029484, 8647, 17582, [178, 26, 201, 174, 50, 26, 227, 105]);
4753 }
4754 impl ::std::convert::From<IDXGIFactory> for ::windows::runtime::IUnknown {
from(value: IDXGIFactory) -> Self4755 fn from(value: IDXGIFactory) -> Self {
4756 unsafe { ::std::mem::transmute(value) }
4757 }
4758 }
4759 impl ::std::convert::From<&IDXGIFactory> for ::windows::runtime::IUnknown {
from(value: &IDXGIFactory) -> Self4760 fn from(value: &IDXGIFactory) -> Self {
4761 ::std::convert::From::from(::std::clone::Clone::clone(value))
4762 }
4763 }
4764 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IDXGIFactory {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4765 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4766 ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4767 }
4768 }
4769 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IDXGIFactory {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4770 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4771 ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4772 }
4773 }
4774 impl ::std::convert::From<IDXGIFactory> for IDXGIObject {
from(value: IDXGIFactory) -> Self4775 fn from(value: IDXGIFactory) -> Self {
4776 unsafe { ::std::mem::transmute(value) }
4777 }
4778 }
4779 impl ::std::convert::From<&IDXGIFactory> for IDXGIObject {
from(value: &IDXGIFactory) -> Self4780 fn from(value: &IDXGIFactory) -> Self {
4781 ::std::convert::From::from(::std::clone::Clone::clone(value))
4782 }
4783 }
4784 impl<'a> ::windows::runtime::IntoParam<'a, IDXGIObject> for IDXGIFactory {
into_param(self) -> ::windows::runtime::Param<'a, IDXGIObject>4785 fn into_param(self) -> ::windows::runtime::Param<'a, IDXGIObject> {
4786 ::windows::runtime::Param::Owned(::std::convert::Into::<IDXGIObject>::into(self))
4787 }
4788 }
4789 impl<'a> ::windows::runtime::IntoParam<'a, IDXGIObject> for &IDXGIFactory {
into_param(self) -> ::windows::runtime::Param<'a, IDXGIObject>4790 fn into_param(self) -> ::windows::runtime::Param<'a, IDXGIObject> {
4791 ::windows::runtime::Param::Owned(::std::convert::Into::<IDXGIObject>::into(::std::clone::Clone::clone(self)))
4792 }
4793 }
4794 #[repr(C)]
4795 #[doc(hidden)]
4796 pub struct IDXGIFactory_abi(
4797 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4798 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4799 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4800 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
4801 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: *const ::windows::runtime::GUID, punknown: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4802 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
4803 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, ppparent: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
4804 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, adapter: u32, ppadapter: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4805 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, windowhandle: super::super::Foundation::HWND, flags: u32) -> ::windows::runtime::HRESULT,
4806 #[cfg(not(feature = "Win32_Foundation"))] usize,
4807 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pwindowhandle: *mut super::super::Foundation::HWND) -> ::windows::runtime::HRESULT,
4808 #[cfg(not(feature = "Win32_Foundation"))] usize,
4809 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdevice: ::windows::runtime::RawPtr, pdesc: *const DXGI_SWAP_CHAIN_DESC, ppswapchain: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4810 #[cfg(not(feature = "Win32_Foundation"))] usize,
4811 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, module: super::super::Foundation::HINSTANCE, ppadapter: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4812 #[cfg(not(feature = "Win32_Foundation"))] usize,
4813 );
4814 #[repr(transparent)]
4815 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4816 pub struct IDXGIFactory1(::windows::runtime::IUnknown);
4817 impl IDXGIFactory1 {
SetPrivateData(&self, name: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::Result<()>4818 pub unsafe fn SetPrivateData(&self, name: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
4819 (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(name), ::std::mem::transmute(datasize), ::std::mem::transmute(pdata)).ok()
4820 }
SetPrivateDataInterface<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, name: *const ::windows::runtime::GUID, punknown: Param1) -> ::windows::runtime::Result<()>4821 pub unsafe fn SetPrivateDataInterface<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, name: *const ::windows::runtime::GUID, punknown: Param1) -> ::windows::runtime::Result<()> {
4822 (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(name), punknown.into_param().abi()).ok()
4823 }
GetPrivateData(&self, name: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()>4824 pub unsafe fn GetPrivateData(&self, name: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
4825 (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(name), ::std::mem::transmute(pdatasize), ::std::mem::transmute(pdata)).ok()
4826 }
GetParent<T: ::windows::runtime::Interface>(&self) -> ::windows::runtime::Result<T>4827 pub unsafe fn GetParent<T: ::windows::runtime::Interface>(&self) -> ::windows::runtime::Result<T> {
4828 let mut result__ = ::std::option::Option::None;
4829 (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
4830 }
EnumAdapters(&self, adapter: u32) -> ::windows::runtime::Result<IDXGIAdapter>4831 pub unsafe fn EnumAdapters(&self, adapter: u32) -> ::windows::runtime::Result<IDXGIAdapter> {
4832 let mut result__: <IDXGIAdapter as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4833 (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(adapter), &mut result__).from_abi::<IDXGIAdapter>(result__)
4834 }
4835 #[cfg(feature = "Win32_Foundation")]
MakeWindowAssociation<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>>(&self, windowhandle: Param0, flags: u32) -> ::windows::runtime::Result<()>4836 pub unsafe fn MakeWindowAssociation<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>>(&self, windowhandle: Param0, flags: u32) -> ::windows::runtime::Result<()> {
4837 (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), windowhandle.into_param().abi(), ::std::mem::transmute(flags)).ok()
4838 }
4839 #[cfg(feature = "Win32_Foundation")]
GetWindowAssociation(&self) -> ::windows::runtime::Result<super::super::Foundation::HWND>4840 pub unsafe fn GetWindowAssociation(&self) -> ::windows::runtime::Result<super::super::Foundation::HWND> {
4841 let mut result__: <super::super::Foundation::HWND as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4842 (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::HWND>(result__)
4843 }
4844 #[cfg(feature = "Win32_Foundation")]
CreateSwapChain<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, pdevice: Param0, pdesc: *const DXGI_SWAP_CHAIN_DESC) -> ::windows::runtime::Result<IDXGISwapChain>4845 pub unsafe fn CreateSwapChain<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, pdevice: Param0, pdesc: *const DXGI_SWAP_CHAIN_DESC) -> ::windows::runtime::Result<IDXGISwapChain> {
4846 let mut result__: <IDXGISwapChain as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4847 (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), pdevice.into_param().abi(), ::std::mem::transmute(pdesc), &mut result__).from_abi::<IDXGISwapChain>(result__)
4848 }
4849 #[cfg(feature = "Win32_Foundation")]
CreateSoftwareAdapter<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HINSTANCE>>(&self, module: Param0) -> ::windows::runtime::Result<IDXGIAdapter>4850 pub unsafe fn CreateSoftwareAdapter<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HINSTANCE>>(&self, module: Param0) -> ::windows::runtime::Result<IDXGIAdapter> {
4851 let mut result__: <IDXGIAdapter as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4852 (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), module.into_param().abi(), &mut result__).from_abi::<IDXGIAdapter>(result__)
4853 }
EnumAdapters1(&self, adapter: u32) -> ::windows::runtime::Result<IDXGIAdapter1>4854 pub unsafe fn EnumAdapters1(&self, adapter: u32) -> ::windows::runtime::Result<IDXGIAdapter1> {
4855 let mut result__: <IDXGIAdapter1 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4856 (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ::std::mem::transmute(adapter), &mut result__).from_abi::<IDXGIAdapter1>(result__)
4857 }
4858 #[cfg(feature = "Win32_Foundation")]
IsCurrent(&self) -> super::super::Foundation::BOOL4859 pub unsafe fn IsCurrent(&self) -> super::super::Foundation::BOOL {
4860 ::std::mem::transmute((::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self)))
4861 }
4862 }
4863 unsafe impl ::windows::runtime::Interface for IDXGIFactory1 {
4864 type Vtable = IDXGIFactory1_abi;
4865 const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1997188728, 62063, 19898, [168, 41, 37, 60, 131, 209, 179, 135]);
4866 }
4867 impl ::std::convert::From<IDXGIFactory1> for ::windows::runtime::IUnknown {
from(value: IDXGIFactory1) -> Self4868 fn from(value: IDXGIFactory1) -> Self {
4869 unsafe { ::std::mem::transmute(value) }
4870 }
4871 }
4872 impl ::std::convert::From<&IDXGIFactory1> for ::windows::runtime::IUnknown {
from(value: &IDXGIFactory1) -> Self4873 fn from(value: &IDXGIFactory1) -> Self {
4874 ::std::convert::From::from(::std::clone::Clone::clone(value))
4875 }
4876 }
4877 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IDXGIFactory1 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4878 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4879 ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4880 }
4881 }
4882 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IDXGIFactory1 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4883 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4884 ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4885 }
4886 }
4887 impl ::std::convert::From<IDXGIFactory1> for IDXGIFactory {
from(value: IDXGIFactory1) -> Self4888 fn from(value: IDXGIFactory1) -> Self {
4889 unsafe { ::std::mem::transmute(value) }
4890 }
4891 }
4892 impl ::std::convert::From<&IDXGIFactory1> for IDXGIFactory {
from(value: &IDXGIFactory1) -> Self4893 fn from(value: &IDXGIFactory1) -> Self {
4894 ::std::convert::From::from(::std::clone::Clone::clone(value))
4895 }
4896 }
4897 impl<'a> ::windows::runtime::IntoParam<'a, IDXGIFactory> for IDXGIFactory1 {
into_param(self) -> ::windows::runtime::Param<'a, IDXGIFactory>4898 fn into_param(self) -> ::windows::runtime::Param<'a, IDXGIFactory> {
4899 ::windows::runtime::Param::Owned(::std::convert::Into::<IDXGIFactory>::into(self))
4900 }
4901 }
4902 impl<'a> ::windows::runtime::IntoParam<'a, IDXGIFactory> for &IDXGIFactory1 {
into_param(self) -> ::windows::runtime::Param<'a, IDXGIFactory>4903 fn into_param(self) -> ::windows::runtime::Param<'a, IDXGIFactory> {
4904 ::windows::runtime::Param::Owned(::std::convert::Into::<IDXGIFactory>::into(::std::clone::Clone::clone(self)))
4905 }
4906 }
4907 impl ::std::convert::From<IDXGIFactory1> for IDXGIObject {
from(value: IDXGIFactory1) -> Self4908 fn from(value: IDXGIFactory1) -> Self {
4909 unsafe { ::std::mem::transmute(value) }
4910 }
4911 }
4912 impl ::std::convert::From<&IDXGIFactory1> for IDXGIObject {
from(value: &IDXGIFactory1) -> Self4913 fn from(value: &IDXGIFactory1) -> Self {
4914 ::std::convert::From::from(::std::clone::Clone::clone(value))
4915 }
4916 }
4917 impl<'a> ::windows::runtime::IntoParam<'a, IDXGIObject> for IDXGIFactory1 {
into_param(self) -> ::windows::runtime::Param<'a, IDXGIObject>4918 fn into_param(self) -> ::windows::runtime::Param<'a, IDXGIObject> {
4919 ::windows::runtime::Param::Owned(::std::convert::Into::<IDXGIObject>::into(self))
4920 }
4921 }
4922 impl<'a> ::windows::runtime::IntoParam<'a, IDXGIObject> for &IDXGIFactory1 {
into_param(self) -> ::windows::runtime::Param<'a, IDXGIObject>4923 fn into_param(self) -> ::windows::runtime::Param<'a, IDXGIObject> {
4924 ::windows::runtime::Param::Owned(::std::convert::Into::<IDXGIObject>::into(::std::clone::Clone::clone(self)))
4925 }
4926 }
4927 #[repr(C)]
4928 #[doc(hidden)]
4929 pub struct IDXGIFactory1_abi(
4930 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4931 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4932 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4933 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
4934 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: *const ::windows::runtime::GUID, punknown: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4935 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
4936 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, ppparent: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
4937 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, adapter: u32, ppadapter: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4938 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, windowhandle: super::super::Foundation::HWND, flags: u32) -> ::windows::runtime::HRESULT,
4939 #[cfg(not(feature = "Win32_Foundation"))] usize,
4940 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pwindowhandle: *mut super::super::Foundation::HWND) -> ::windows::runtime::HRESULT,
4941 #[cfg(not(feature = "Win32_Foundation"))] usize,
4942 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdevice: ::windows::runtime::RawPtr, pdesc: *const DXGI_SWAP_CHAIN_DESC, ppswapchain: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4943 #[cfg(not(feature = "Win32_Foundation"))] usize,
4944 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, module: super::super::Foundation::HINSTANCE, ppadapter: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4945 #[cfg(not(feature = "Win32_Foundation"))] usize,
4946 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, adapter: u32, ppadapter: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4947 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> super::super::Foundation::BOOL,
4948 #[cfg(not(feature = "Win32_Foundation"))] usize,
4949 );
4950 #[repr(transparent)]
4951 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4952 pub struct IDXGIFactory2(::windows::runtime::IUnknown);
4953 impl IDXGIFactory2 {
SetPrivateData(&self, name: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::Result<()>4954 pub unsafe fn SetPrivateData(&self, name: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
4955 (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(name), ::std::mem::transmute(datasize), ::std::mem::transmute(pdata)).ok()
4956 }
SetPrivateDataInterface<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, name: *const ::windows::runtime::GUID, punknown: Param1) -> ::windows::runtime::Result<()>4957 pub unsafe fn SetPrivateDataInterface<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, name: *const ::windows::runtime::GUID, punknown: Param1) -> ::windows::runtime::Result<()> {
4958 (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(name), punknown.into_param().abi()).ok()
4959 }
GetPrivateData(&self, name: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()>4960 pub unsafe fn GetPrivateData(&self, name: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
4961 (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(name), ::std::mem::transmute(pdatasize), ::std::mem::transmute(pdata)).ok()
4962 }
GetParent<T: ::windows::runtime::Interface>(&self) -> ::windows::runtime::Result<T>4963 pub unsafe fn GetParent<T: ::windows::runtime::Interface>(&self) -> ::windows::runtime::Result<T> {
4964 let mut result__ = ::std::option::Option::None;
4965 (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
4966 }
EnumAdapters(&self, adapter: u32) -> ::windows::runtime::Result<IDXGIAdapter>4967 pub unsafe fn EnumAdapters(&self, adapter: u32) -> ::windows::runtime::Result<IDXGIAdapter> {
4968 let mut result__: <IDXGIAdapter as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4969 (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(adapter), &mut result__).from_abi::<IDXGIAdapter>(result__)
4970 }
4971 #[cfg(feature = "Win32_Foundation")]
MakeWindowAssociation<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>>(&self, windowhandle: Param0, flags: u32) -> ::windows::runtime::Result<()>4972 pub unsafe fn MakeWindowAssociation<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>>(&self, windowhandle: Param0, flags: u32) -> ::windows::runtime::Result<()> {
4973 (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), windowhandle.into_param().abi(), ::std::mem::transmute(flags)).ok()
4974 }
4975 #[cfg(feature = "Win32_Foundation")]
GetWindowAssociation(&self) -> ::windows::runtime::Result<super::super::Foundation::HWND>4976 pub unsafe fn GetWindowAssociation(&self) -> ::windows::runtime::Result<super::super::Foundation::HWND> {
4977 let mut result__: <super::super::Foundation::HWND as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4978 (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::HWND>(result__)
4979 }
4980 #[cfg(feature = "Win32_Foundation")]
CreateSwapChain<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, pdevice: Param0, pdesc: *const DXGI_SWAP_CHAIN_DESC) -> ::windows::runtime::Result<IDXGISwapChain>4981 pub unsafe fn CreateSwapChain<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, pdevice: Param0, pdesc: *const DXGI_SWAP_CHAIN_DESC) -> ::windows::runtime::Result<IDXGISwapChain> {
4982 let mut result__: <IDXGISwapChain as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4983 (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), pdevice.into_param().abi(), ::std::mem::transmute(pdesc), &mut result__).from_abi::<IDXGISwapChain>(result__)
4984 }
4985 #[cfg(feature = "Win32_Foundation")]
CreateSoftwareAdapter<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HINSTANCE>>(&self, module: Param0) -> ::windows::runtime::Result<IDXGIAdapter>4986 pub unsafe fn CreateSoftwareAdapter<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HINSTANCE>>(&self, module: Param0) -> ::windows::runtime::Result<IDXGIAdapter> {
4987 let mut result__: <IDXGIAdapter as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4988 (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), module.into_param().abi(), &mut result__).from_abi::<IDXGIAdapter>(result__)
4989 }
EnumAdapters1(&self, adapter: u32) -> ::windows::runtime::Result<IDXGIAdapter1>4990 pub unsafe fn EnumAdapters1(&self, adapter: u32) -> ::windows::runtime::Result<IDXGIAdapter1> {
4991 let mut result__: <IDXGIAdapter1 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4992 (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ::std::mem::transmute(adapter), &mut result__).from_abi::<IDXGIAdapter1>(result__)
4993 }
4994 #[cfg(feature = "Win32_Foundation")]
IsCurrent(&self) -> super::super::Foundation::BOOL4995 pub unsafe fn IsCurrent(&self) -> super::super::Foundation::BOOL {
4996 ::std::mem::transmute((::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self)))
4997 }
4998 #[cfg(feature = "Win32_Foundation")]
IsWindowedStereoEnabled(&self) -> super::super::Foundation::BOOL4999 pub unsafe fn IsWindowedStereoEnabled(&self) -> super::super::Foundation::BOOL {
5000 ::std::mem::transmute((::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self)))
5001 }
5002 #[cfg(feature = "Win32_Foundation")]
CreateSwapChainForHwnd<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>, Param4: ::windows::runtime::IntoParam<'a, IDXGIOutput>>(&self, pdevice: Param0, hwnd: Param1, pdesc: *const DXGI_SWAP_CHAIN_DESC1, pfullscreendesc: *const DXGI_SWAP_CHAIN_FULLSCREEN_DESC, prestricttooutput: Param4) -> ::windows::runtime::Result<IDXGISwapChain1>5003 pub unsafe fn CreateSwapChainForHwnd<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>, Param4: ::windows::runtime::IntoParam<'a, IDXGIOutput>>(&self, pdevice: Param0, hwnd: Param1, pdesc: *const DXGI_SWAP_CHAIN_DESC1, pfullscreendesc: *const DXGI_SWAP_CHAIN_FULLSCREEN_DESC, prestricttooutput: Param4) -> ::windows::runtime::Result<IDXGISwapChain1> {
5004 let mut result__: <IDXGISwapChain1 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5005 (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), pdevice.into_param().abi(), hwnd.into_param().abi(), ::std::mem::transmute(pdesc), ::std::mem::transmute(pfullscreendesc), prestricttooutput.into_param().abi(), &mut result__).from_abi::<IDXGISwapChain1>(result__)
5006 }
5007 #[cfg(feature = "Win32_Foundation")]
CreateSwapChainForCoreWindow<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>, Param3: ::windows::runtime::IntoParam<'a, IDXGIOutput>>(&self, pdevice: Param0, pwindow: Param1, pdesc: *const DXGI_SWAP_CHAIN_DESC1, prestricttooutput: Param3) -> ::windows::runtime::Result<IDXGISwapChain1>5008 pub unsafe fn CreateSwapChainForCoreWindow<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>, Param3: ::windows::runtime::IntoParam<'a, IDXGIOutput>>(&self, pdevice: Param0, pwindow: Param1, pdesc: *const DXGI_SWAP_CHAIN_DESC1, prestricttooutput: Param3) -> ::windows::runtime::Result<IDXGISwapChain1> {
5009 let mut result__: <IDXGISwapChain1 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5010 (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), pdevice.into_param().abi(), pwindow.into_param().abi(), ::std::mem::transmute(pdesc), prestricttooutput.into_param().abi(), &mut result__).from_abi::<IDXGISwapChain1>(result__)
5011 }
5012 #[cfg(feature = "Win32_Foundation")]
GetSharedResourceAdapterLuid<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(&self, hresource: Param0) -> ::windows::runtime::Result<super::super::Foundation::LUID>5013 pub unsafe fn GetSharedResourceAdapterLuid<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(&self, hresource: Param0) -> ::windows::runtime::Result<super::super::Foundation::LUID> {
5014 let mut result__: <super::super::Foundation::LUID as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5015 (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), hresource.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::LUID>(result__)
5016 }
5017 #[cfg(feature = "Win32_Foundation")]
RegisterStereoStatusWindow<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>>(&self, windowhandle: Param0, wmsg: u32) -> ::windows::runtime::Result<u32>5018 pub unsafe fn RegisterStereoStatusWindow<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>>(&self, windowhandle: Param0, wmsg: u32) -> ::windows::runtime::Result<u32> {
5019 let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5020 (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), windowhandle.into_param().abi(), ::std::mem::transmute(wmsg), &mut result__).from_abi::<u32>(result__)
5021 }
5022 #[cfg(feature = "Win32_Foundation")]
RegisterStereoStatusEvent<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(&self, hevent: Param0) -> ::windows::runtime::Result<u32>5023 pub unsafe fn RegisterStereoStatusEvent<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(&self, hevent: Param0) -> ::windows::runtime::Result<u32> {
5024 let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5025 (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), hevent.into_param().abi(), &mut result__).from_abi::<u32>(result__)
5026 }
UnregisterStereoStatus(&self, dwcookie: u32)5027 pub unsafe fn UnregisterStereoStatus(&self, dwcookie: u32) {
5028 ::std::mem::transmute((::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), ::std::mem::transmute(dwcookie)))
5029 }
5030 #[cfg(feature = "Win32_Foundation")]
RegisterOcclusionStatusWindow<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>>(&self, windowhandle: Param0, wmsg: u32) -> ::windows::runtime::Result<u32>5031 pub unsafe fn RegisterOcclusionStatusWindow<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>>(&self, windowhandle: Param0, wmsg: u32) -> ::windows::runtime::Result<u32> {
5032 let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5033 (::windows::runtime::Interface::vtable(self).21)(::std::mem::transmute_copy(self), windowhandle.into_param().abi(), ::std::mem::transmute(wmsg), &mut result__).from_abi::<u32>(result__)
5034 }
5035 #[cfg(feature = "Win32_Foundation")]
RegisterOcclusionStatusEvent<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(&self, hevent: Param0) -> ::windows::runtime::Result<u32>5036 pub unsafe fn RegisterOcclusionStatusEvent<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(&self, hevent: Param0) -> ::windows::runtime::Result<u32> {
5037 let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5038 (::windows::runtime::Interface::vtable(self).22)(::std::mem::transmute_copy(self), hevent.into_param().abi(), &mut result__).from_abi::<u32>(result__)
5039 }
UnregisterOcclusionStatus(&self, dwcookie: u32)5040 pub unsafe fn UnregisterOcclusionStatus(&self, dwcookie: u32) {
5041 ::std::mem::transmute((::windows::runtime::Interface::vtable(self).23)(::std::mem::transmute_copy(self), ::std::mem::transmute(dwcookie)))
5042 }
5043 #[cfg(feature = "Win32_Foundation")]
CreateSwapChainForComposition<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>, Param2: ::windows::runtime::IntoParam<'a, IDXGIOutput>>(&self, pdevice: Param0, pdesc: *const DXGI_SWAP_CHAIN_DESC1, prestricttooutput: Param2) -> ::windows::runtime::Result<IDXGISwapChain1>5044 pub unsafe fn CreateSwapChainForComposition<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>, Param2: ::windows::runtime::IntoParam<'a, IDXGIOutput>>(&self, pdevice: Param0, pdesc: *const DXGI_SWAP_CHAIN_DESC1, prestricttooutput: Param2) -> ::windows::runtime::Result<IDXGISwapChain1> {
5045 let mut result__: <IDXGISwapChain1 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5046 (::windows::runtime::Interface::vtable(self).24)(::std::mem::transmute_copy(self), pdevice.into_param().abi(), ::std::mem::transmute(pdesc), prestricttooutput.into_param().abi(), &mut result__).from_abi::<IDXGISwapChain1>(result__)
5047 }
5048 }
5049 unsafe impl ::windows::runtime::Interface for IDXGIFactory2 {
5050 type Vtable = IDXGIFactory2_abi;
5051 const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1355299356, 57458, 19528, [135, 176, 54, 48, 250, 54, 166, 208]);
5052 }
5053 impl ::std::convert::From<IDXGIFactory2> for ::windows::runtime::IUnknown {
from(value: IDXGIFactory2) -> Self5054 fn from(value: IDXGIFactory2) -> Self {
5055 unsafe { ::std::mem::transmute(value) }
5056 }
5057 }
5058 impl ::std::convert::From<&IDXGIFactory2> for ::windows::runtime::IUnknown {
from(value: &IDXGIFactory2) -> Self5059 fn from(value: &IDXGIFactory2) -> Self {
5060 ::std::convert::From::from(::std::clone::Clone::clone(value))
5061 }
5062 }
5063 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IDXGIFactory2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5064 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5065 ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
5066 }
5067 }
5068 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IDXGIFactory2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5069 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5070 ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
5071 }
5072 }
5073 impl ::std::convert::From<IDXGIFactory2> for IDXGIFactory1 {
from(value: IDXGIFactory2) -> Self5074 fn from(value: IDXGIFactory2) -> Self {
5075 unsafe { ::std::mem::transmute(value) }
5076 }
5077 }
5078 impl ::std::convert::From<&IDXGIFactory2> for IDXGIFactory1 {
from(value: &IDXGIFactory2) -> Self5079 fn from(value: &IDXGIFactory2) -> Self {
5080 ::std::convert::From::from(::std::clone::Clone::clone(value))
5081 }
5082 }
5083 impl<'a> ::windows::runtime::IntoParam<'a, IDXGIFactory1> for IDXGIFactory2 {
into_param(self) -> ::windows::runtime::Param<'a, IDXGIFactory1>5084 fn into_param(self) -> ::windows::runtime::Param<'a, IDXGIFactory1> {
5085 ::windows::runtime::Param::Owned(::std::convert::Into::<IDXGIFactory1>::into(self))
5086 }
5087 }
5088 impl<'a> ::windows::runtime::IntoParam<'a, IDXGIFactory1> for &IDXGIFactory2 {
into_param(self) -> ::windows::runtime::Param<'a, IDXGIFactory1>5089 fn into_param(self) -> ::windows::runtime::Param<'a, IDXGIFactory1> {
5090 ::windows::runtime::Param::Owned(::std::convert::Into::<IDXGIFactory1>::into(::std::clone::Clone::clone(self)))
5091 }
5092 }
5093 impl ::std::convert::From<IDXGIFactory2> for IDXGIFactory {
from(value: IDXGIFactory2) -> Self5094 fn from(value: IDXGIFactory2) -> Self {
5095 unsafe { ::std::mem::transmute(value) }
5096 }
5097 }
5098 impl ::std::convert::From<&IDXGIFactory2> for IDXGIFactory {
from(value: &IDXGIFactory2) -> Self5099 fn from(value: &IDXGIFactory2) -> Self {
5100 ::std::convert::From::from(::std::clone::Clone::clone(value))
5101 }
5102 }
5103 impl<'a> ::windows::runtime::IntoParam<'a, IDXGIFactory> for IDXGIFactory2 {
into_param(self) -> ::windows::runtime::Param<'a, IDXGIFactory>5104 fn into_param(self) -> ::windows::runtime::Param<'a, IDXGIFactory> {
5105 ::windows::runtime::Param::Owned(::std::convert::Into::<IDXGIFactory>::into(self))
5106 }
5107 }
5108 impl<'a> ::windows::runtime::IntoParam<'a, IDXGIFactory> for &IDXGIFactory2 {
into_param(self) -> ::windows::runtime::Param<'a, IDXGIFactory>5109 fn into_param(self) -> ::windows::runtime::Param<'a, IDXGIFactory> {
5110 ::windows::runtime::Param::Owned(::std::convert::Into::<IDXGIFactory>::into(::std::clone::Clone::clone(self)))
5111 }
5112 }
5113 impl ::std::convert::From<IDXGIFactory2> for IDXGIObject {
from(value: IDXGIFactory2) -> Self5114 fn from(value: IDXGIFactory2) -> Self {
5115 unsafe { ::std::mem::transmute(value) }
5116 }
5117 }
5118 impl ::std::convert::From<&IDXGIFactory2> for IDXGIObject {
from(value: &IDXGIFactory2) -> Self5119 fn from(value: &IDXGIFactory2) -> Self {
5120 ::std::convert::From::from(::std::clone::Clone::clone(value))
5121 }
5122 }
5123 impl<'a> ::windows::runtime::IntoParam<'a, IDXGIObject> for IDXGIFactory2 {
into_param(self) -> ::windows::runtime::Param<'a, IDXGIObject>5124 fn into_param(self) -> ::windows::runtime::Param<'a, IDXGIObject> {
5125 ::windows::runtime::Param::Owned(::std::convert::Into::<IDXGIObject>::into(self))
5126 }
5127 }
5128 impl<'a> ::windows::runtime::IntoParam<'a, IDXGIObject> for &IDXGIFactory2 {
into_param(self) -> ::windows::runtime::Param<'a, IDXGIObject>5129 fn into_param(self) -> ::windows::runtime::Param<'a, IDXGIObject> {
5130 ::windows::runtime::Param::Owned(::std::convert::Into::<IDXGIObject>::into(::std::clone::Clone::clone(self)))
5131 }
5132 }
5133 #[repr(C)]
5134 #[doc(hidden)]
5135 pub struct IDXGIFactory2_abi(
5136 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5137 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5138 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5139 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
5140 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: *const ::windows::runtime::GUID, punknown: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5141 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
5142 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, ppparent: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
5143 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, adapter: u32, ppadapter: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5144 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, windowhandle: super::super::Foundation::HWND, flags: u32) -> ::windows::runtime::HRESULT,
5145 #[cfg(not(feature = "Win32_Foundation"))] usize,
5146 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pwindowhandle: *mut super::super::Foundation::HWND) -> ::windows::runtime::HRESULT,
5147 #[cfg(not(feature = "Win32_Foundation"))] usize,
5148 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdevice: ::windows::runtime::RawPtr, pdesc: *const DXGI_SWAP_CHAIN_DESC, ppswapchain: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5149 #[cfg(not(feature = "Win32_Foundation"))] usize,
5150 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, module: super::super::Foundation::HINSTANCE, ppadapter: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5151 #[cfg(not(feature = "Win32_Foundation"))] usize,
5152 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, adapter: u32, ppadapter: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5153 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> super::super::Foundation::BOOL,
5154 #[cfg(not(feature = "Win32_Foundation"))] usize,
5155 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> super::super::Foundation::BOOL,
5156 #[cfg(not(feature = "Win32_Foundation"))] usize,
5157 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdevice: ::windows::runtime::RawPtr, hwnd: super::super::Foundation::HWND, pdesc: *const DXGI_SWAP_CHAIN_DESC1, pfullscreendesc: *const DXGI_SWAP_CHAIN_FULLSCREEN_DESC, prestricttooutput: ::windows::runtime::RawPtr, ppswapchain: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5158 #[cfg(not(feature = "Win32_Foundation"))] usize,
5159 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdevice: ::windows::runtime::RawPtr, pwindow: ::windows::runtime::RawPtr, pdesc: *const DXGI_SWAP_CHAIN_DESC1, prestricttooutput: ::windows::runtime::RawPtr, ppswapchain: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5160 #[cfg(not(feature = "Win32_Foundation"))] usize,
5161 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, hresource: super::super::Foundation::HANDLE, pluid: *mut super::super::Foundation::LUID) -> ::windows::runtime::HRESULT,
5162 #[cfg(not(feature = "Win32_Foundation"))] usize,
5163 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, windowhandle: super::super::Foundation::HWND, wmsg: u32, pdwcookie: *mut u32) -> ::windows::runtime::HRESULT,
5164 #[cfg(not(feature = "Win32_Foundation"))] usize,
5165 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, hevent: super::super::Foundation::HANDLE, pdwcookie: *mut u32) -> ::windows::runtime::HRESULT,
5166 #[cfg(not(feature = "Win32_Foundation"))] usize,
5167 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dwcookie: u32),
5168 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, windowhandle: super::super::Foundation::HWND, wmsg: u32, pdwcookie: *mut u32) -> ::windows::runtime::HRESULT,
5169 #[cfg(not(feature = "Win32_Foundation"))] usize,
5170 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, hevent: super::super::Foundation::HANDLE, pdwcookie: *mut u32) -> ::windows::runtime::HRESULT,
5171 #[cfg(not(feature = "Win32_Foundation"))] usize,
5172 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dwcookie: u32),
5173 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdevice: ::windows::runtime::RawPtr, pdesc: *const DXGI_SWAP_CHAIN_DESC1, prestricttooutput: ::windows::runtime::RawPtr, ppswapchain: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5174 #[cfg(not(feature = "Win32_Foundation"))] usize,
5175 );
5176 #[repr(transparent)]
5177 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
5178 pub struct IDXGIFactory3(::windows::runtime::IUnknown);
5179 impl IDXGIFactory3 {
SetPrivateData(&self, name: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::Result<()>5180 pub unsafe fn SetPrivateData(&self, name: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
5181 (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(name), ::std::mem::transmute(datasize), ::std::mem::transmute(pdata)).ok()
5182 }
SetPrivateDataInterface<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, name: *const ::windows::runtime::GUID, punknown: Param1) -> ::windows::runtime::Result<()>5183 pub unsafe fn SetPrivateDataInterface<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, name: *const ::windows::runtime::GUID, punknown: Param1) -> ::windows::runtime::Result<()> {
5184 (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(name), punknown.into_param().abi()).ok()
5185 }
GetPrivateData(&self, name: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()>5186 pub unsafe fn GetPrivateData(&self, name: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
5187 (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(name), ::std::mem::transmute(pdatasize), ::std::mem::transmute(pdata)).ok()
5188 }
GetParent<T: ::windows::runtime::Interface>(&self) -> ::windows::runtime::Result<T>5189 pub unsafe fn GetParent<T: ::windows::runtime::Interface>(&self) -> ::windows::runtime::Result<T> {
5190 let mut result__ = ::std::option::Option::None;
5191 (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
5192 }
EnumAdapters(&self, adapter: u32) -> ::windows::runtime::Result<IDXGIAdapter>5193 pub unsafe fn EnumAdapters(&self, adapter: u32) -> ::windows::runtime::Result<IDXGIAdapter> {
5194 let mut result__: <IDXGIAdapter as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5195 (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(adapter), &mut result__).from_abi::<IDXGIAdapter>(result__)
5196 }
5197 #[cfg(feature = "Win32_Foundation")]
MakeWindowAssociation<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>>(&self, windowhandle: Param0, flags: u32) -> ::windows::runtime::Result<()>5198 pub unsafe fn MakeWindowAssociation<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>>(&self, windowhandle: Param0, flags: u32) -> ::windows::runtime::Result<()> {
5199 (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), windowhandle.into_param().abi(), ::std::mem::transmute(flags)).ok()
5200 }
5201 #[cfg(feature = "Win32_Foundation")]
GetWindowAssociation(&self) -> ::windows::runtime::Result<super::super::Foundation::HWND>5202 pub unsafe fn GetWindowAssociation(&self) -> ::windows::runtime::Result<super::super::Foundation::HWND> {
5203 let mut result__: <super::super::Foundation::HWND as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5204 (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::HWND>(result__)
5205 }
5206 #[cfg(feature = "Win32_Foundation")]
CreateSwapChain<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, pdevice: Param0, pdesc: *const DXGI_SWAP_CHAIN_DESC) -> ::windows::runtime::Result<IDXGISwapChain>5207 pub unsafe fn CreateSwapChain<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, pdevice: Param0, pdesc: *const DXGI_SWAP_CHAIN_DESC) -> ::windows::runtime::Result<IDXGISwapChain> {
5208 let mut result__: <IDXGISwapChain as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5209 (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), pdevice.into_param().abi(), ::std::mem::transmute(pdesc), &mut result__).from_abi::<IDXGISwapChain>(result__)
5210 }
5211 #[cfg(feature = "Win32_Foundation")]
CreateSoftwareAdapter<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HINSTANCE>>(&self, module: Param0) -> ::windows::runtime::Result<IDXGIAdapter>5212 pub unsafe fn CreateSoftwareAdapter<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HINSTANCE>>(&self, module: Param0) -> ::windows::runtime::Result<IDXGIAdapter> {
5213 let mut result__: <IDXGIAdapter as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5214 (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), module.into_param().abi(), &mut result__).from_abi::<IDXGIAdapter>(result__)
5215 }
EnumAdapters1(&self, adapter: u32) -> ::windows::runtime::Result<IDXGIAdapter1>5216 pub unsafe fn EnumAdapters1(&self, adapter: u32) -> ::windows::runtime::Result<IDXGIAdapter1> {
5217 let mut result__: <IDXGIAdapter1 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5218 (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ::std::mem::transmute(adapter), &mut result__).from_abi::<IDXGIAdapter1>(result__)
5219 }
5220 #[cfg(feature = "Win32_Foundation")]
IsCurrent(&self) -> super::super::Foundation::BOOL5221 pub unsafe fn IsCurrent(&self) -> super::super::Foundation::BOOL {
5222 ::std::mem::transmute((::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self)))
5223 }
5224 #[cfg(feature = "Win32_Foundation")]
IsWindowedStereoEnabled(&self) -> super::super::Foundation::BOOL5225 pub unsafe fn IsWindowedStereoEnabled(&self) -> super::super::Foundation::BOOL {
5226 ::std::mem::transmute((::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self)))
5227 }
5228 #[cfg(feature = "Win32_Foundation")]
CreateSwapChainForHwnd<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>, Param4: ::windows::runtime::IntoParam<'a, IDXGIOutput>>(&self, pdevice: Param0, hwnd: Param1, pdesc: *const DXGI_SWAP_CHAIN_DESC1, pfullscreendesc: *const DXGI_SWAP_CHAIN_FULLSCREEN_DESC, prestricttooutput: Param4) -> ::windows::runtime::Result<IDXGISwapChain1>5229 pub unsafe fn CreateSwapChainForHwnd<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>, Param4: ::windows::runtime::IntoParam<'a, IDXGIOutput>>(&self, pdevice: Param0, hwnd: Param1, pdesc: *const DXGI_SWAP_CHAIN_DESC1, pfullscreendesc: *const DXGI_SWAP_CHAIN_FULLSCREEN_DESC, prestricttooutput: Param4) -> ::windows::runtime::Result<IDXGISwapChain1> {
5230 let mut result__: <IDXGISwapChain1 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5231 (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), pdevice.into_param().abi(), hwnd.into_param().abi(), ::std::mem::transmute(pdesc), ::std::mem::transmute(pfullscreendesc), prestricttooutput.into_param().abi(), &mut result__).from_abi::<IDXGISwapChain1>(result__)
5232 }
5233 #[cfg(feature = "Win32_Foundation")]
CreateSwapChainForCoreWindow<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>, Param3: ::windows::runtime::IntoParam<'a, IDXGIOutput>>(&self, pdevice: Param0, pwindow: Param1, pdesc: *const DXGI_SWAP_CHAIN_DESC1, prestricttooutput: Param3) -> ::windows::runtime::Result<IDXGISwapChain1>5234 pub unsafe fn CreateSwapChainForCoreWindow<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>, Param3: ::windows::runtime::IntoParam<'a, IDXGIOutput>>(&self, pdevice: Param0, pwindow: Param1, pdesc: *const DXGI_SWAP_CHAIN_DESC1, prestricttooutput: Param3) -> ::windows::runtime::Result<IDXGISwapChain1> {
5235 let mut result__: <IDXGISwapChain1 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5236 (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), pdevice.into_param().abi(), pwindow.into_param().abi(), ::std::mem::transmute(pdesc), prestricttooutput.into_param().abi(), &mut result__).from_abi::<IDXGISwapChain1>(result__)
5237 }
5238 #[cfg(feature = "Win32_Foundation")]
GetSharedResourceAdapterLuid<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(&self, hresource: Param0) -> ::windows::runtime::Result<super::super::Foundation::LUID>5239 pub unsafe fn GetSharedResourceAdapterLuid<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(&self, hresource: Param0) -> ::windows::runtime::Result<super::super::Foundation::LUID> {
5240 let mut result__: <super::super::Foundation::LUID as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5241 (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), hresource.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::LUID>(result__)
5242 }
5243 #[cfg(feature = "Win32_Foundation")]
RegisterStereoStatusWindow<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>>(&self, windowhandle: Param0, wmsg: u32) -> ::windows::runtime::Result<u32>5244 pub unsafe fn RegisterStereoStatusWindow<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>>(&self, windowhandle: Param0, wmsg: u32) -> ::windows::runtime::Result<u32> {
5245 let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5246 (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), windowhandle.into_param().abi(), ::std::mem::transmute(wmsg), &mut result__).from_abi::<u32>(result__)
5247 }
5248 #[cfg(feature = "Win32_Foundation")]
RegisterStereoStatusEvent<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(&self, hevent: Param0) -> ::windows::runtime::Result<u32>5249 pub unsafe fn RegisterStereoStatusEvent<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(&self, hevent: Param0) -> ::windows::runtime::Result<u32> {
5250 let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5251 (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), hevent.into_param().abi(), &mut result__).from_abi::<u32>(result__)
5252 }
UnregisterStereoStatus(&self, dwcookie: u32)5253 pub unsafe fn UnregisterStereoStatus(&self, dwcookie: u32) {
5254 ::std::mem::transmute((::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), ::std::mem::transmute(dwcookie)))
5255 }
5256 #[cfg(feature = "Win32_Foundation")]
RegisterOcclusionStatusWindow<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>>(&self, windowhandle: Param0, wmsg: u32) -> ::windows::runtime::Result<u32>5257 pub unsafe fn RegisterOcclusionStatusWindow<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>>(&self, windowhandle: Param0, wmsg: u32) -> ::windows::runtime::Result<u32> {
5258 let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5259 (::windows::runtime::Interface::vtable(self).21)(::std::mem::transmute_copy(self), windowhandle.into_param().abi(), ::std::mem::transmute(wmsg), &mut result__).from_abi::<u32>(result__)
5260 }
5261 #[cfg(feature = "Win32_Foundation")]
RegisterOcclusionStatusEvent<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(&self, hevent: Param0) -> ::windows::runtime::Result<u32>5262 pub unsafe fn RegisterOcclusionStatusEvent<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(&self, hevent: Param0) -> ::windows::runtime::Result<u32> {
5263 let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5264 (::windows::runtime::Interface::vtable(self).22)(::std::mem::transmute_copy(self), hevent.into_param().abi(), &mut result__).from_abi::<u32>(result__)
5265 }
UnregisterOcclusionStatus(&self, dwcookie: u32)5266 pub unsafe fn UnregisterOcclusionStatus(&self, dwcookie: u32) {
5267 ::std::mem::transmute((::windows::runtime::Interface::vtable(self).23)(::std::mem::transmute_copy(self), ::std::mem::transmute(dwcookie)))
5268 }
5269 #[cfg(feature = "Win32_Foundation")]
CreateSwapChainForComposition<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>, Param2: ::windows::runtime::IntoParam<'a, IDXGIOutput>>(&self, pdevice: Param0, pdesc: *const DXGI_SWAP_CHAIN_DESC1, prestricttooutput: Param2) -> ::windows::runtime::Result<IDXGISwapChain1>5270 pub unsafe fn CreateSwapChainForComposition<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>, Param2: ::windows::runtime::IntoParam<'a, IDXGIOutput>>(&self, pdevice: Param0, pdesc: *const DXGI_SWAP_CHAIN_DESC1, prestricttooutput: Param2) -> ::windows::runtime::Result<IDXGISwapChain1> {
5271 let mut result__: <IDXGISwapChain1 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5272 (::windows::runtime::Interface::vtable(self).24)(::std::mem::transmute_copy(self), pdevice.into_param().abi(), ::std::mem::transmute(pdesc), prestricttooutput.into_param().abi(), &mut result__).from_abi::<IDXGISwapChain1>(result__)
5273 }
GetCreationFlags(&self) -> u325274 pub unsafe fn GetCreationFlags(&self) -> u32 {
5275 ::std::mem::transmute((::windows::runtime::Interface::vtable(self).25)(::std::mem::transmute_copy(self)))
5276 }
5277 }
5278 unsafe impl ::windows::runtime::Interface for IDXGIFactory3 {
5279 type Vtable = IDXGIFactory3_abi;
5280 const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(625489955, 52550, 19581, [134, 202, 71, 170, 149, 184, 55, 189]);
5281 }
5282 impl ::std::convert::From<IDXGIFactory3> for ::windows::runtime::IUnknown {
from(value: IDXGIFactory3) -> Self5283 fn from(value: IDXGIFactory3) -> Self {
5284 unsafe { ::std::mem::transmute(value) }
5285 }
5286 }
5287 impl ::std::convert::From<&IDXGIFactory3> for ::windows::runtime::IUnknown {
from(value: &IDXGIFactory3) -> Self5288 fn from(value: &IDXGIFactory3) -> Self {
5289 ::std::convert::From::from(::std::clone::Clone::clone(value))
5290 }
5291 }
5292 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IDXGIFactory3 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5293 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5294 ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
5295 }
5296 }
5297 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IDXGIFactory3 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5298 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5299 ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
5300 }
5301 }
5302 impl ::std::convert::From<IDXGIFactory3> for IDXGIFactory2 {
from(value: IDXGIFactory3) -> Self5303 fn from(value: IDXGIFactory3) -> Self {
5304 unsafe { ::std::mem::transmute(value) }
5305 }
5306 }
5307 impl ::std::convert::From<&IDXGIFactory3> for IDXGIFactory2 {
from(value: &IDXGIFactory3) -> Self5308 fn from(value: &IDXGIFactory3) -> Self {
5309 ::std::convert::From::from(::std::clone::Clone::clone(value))
5310 }
5311 }
5312 impl<'a> ::windows::runtime::IntoParam<'a, IDXGIFactory2> for IDXGIFactory3 {
into_param(self) -> ::windows::runtime::Param<'a, IDXGIFactory2>5313 fn into_param(self) -> ::windows::runtime::Param<'a, IDXGIFactory2> {
5314 ::windows::runtime::Param::Owned(::std::convert::Into::<IDXGIFactory2>::into(self))
5315 }
5316 }
5317 impl<'a> ::windows::runtime::IntoParam<'a, IDXGIFactory2> for &IDXGIFactory3 {
into_param(self) -> ::windows::runtime::Param<'a, IDXGIFactory2>5318 fn into_param(self) -> ::windows::runtime::Param<'a, IDXGIFactory2> {
5319 ::windows::runtime::Param::Owned(::std::convert::Into::<IDXGIFactory2>::into(::std::clone::Clone::clone(self)))
5320 }
5321 }
5322 impl ::std::convert::From<IDXGIFactory3> for IDXGIFactory1 {
from(value: IDXGIFactory3) -> Self5323 fn from(value: IDXGIFactory3) -> Self {
5324 unsafe { ::std::mem::transmute(value) }
5325 }
5326 }
5327 impl ::std::convert::From<&IDXGIFactory3> for IDXGIFactory1 {
from(value: &IDXGIFactory3) -> Self5328 fn from(value: &IDXGIFactory3) -> Self {
5329 ::std::convert::From::from(::std::clone::Clone::clone(value))
5330 }
5331 }
5332 impl<'a> ::windows::runtime::IntoParam<'a, IDXGIFactory1> for IDXGIFactory3 {
into_param(self) -> ::windows::runtime::Param<'a, IDXGIFactory1>5333 fn into_param(self) -> ::windows::runtime::Param<'a, IDXGIFactory1> {
5334 ::windows::runtime::Param::Owned(::std::convert::Into::<IDXGIFactory1>::into(self))
5335 }
5336 }
5337 impl<'a> ::windows::runtime::IntoParam<'a, IDXGIFactory1> for &IDXGIFactory3 {
into_param(self) -> ::windows::runtime::Param<'a, IDXGIFactory1>5338 fn into_param(self) -> ::windows::runtime::Param<'a, IDXGIFactory1> {
5339 ::windows::runtime::Param::Owned(::std::convert::Into::<IDXGIFactory1>::into(::std::clone::Clone::clone(self)))
5340 }
5341 }
5342 impl ::std::convert::From<IDXGIFactory3> for IDXGIFactory {
from(value: IDXGIFactory3) -> Self5343 fn from(value: IDXGIFactory3) -> Self {
5344 unsafe { ::std::mem::transmute(value) }
5345 }
5346 }
5347 impl ::std::convert::From<&IDXGIFactory3> for IDXGIFactory {
from(value: &IDXGIFactory3) -> Self5348 fn from(value: &IDXGIFactory3) -> Self {
5349 ::std::convert::From::from(::std::clone::Clone::clone(value))
5350 }
5351 }
5352 impl<'a> ::windows::runtime::IntoParam<'a, IDXGIFactory> for IDXGIFactory3 {
into_param(self) -> ::windows::runtime::Param<'a, IDXGIFactory>5353 fn into_param(self) -> ::windows::runtime::Param<'a, IDXGIFactory> {
5354 ::windows::runtime::Param::Owned(::std::convert::Into::<IDXGIFactory>::into(self))
5355 }
5356 }
5357 impl<'a> ::windows::runtime::IntoParam<'a, IDXGIFactory> for &IDXGIFactory3 {
into_param(self) -> ::windows::runtime::Param<'a, IDXGIFactory>5358 fn into_param(self) -> ::windows::runtime::Param<'a, IDXGIFactory> {
5359 ::windows::runtime::Param::Owned(::std::convert::Into::<IDXGIFactory>::into(::std::clone::Clone::clone(self)))
5360 }
5361 }
5362 impl ::std::convert::From<IDXGIFactory3> for IDXGIObject {
from(value: IDXGIFactory3) -> Self5363 fn from(value: IDXGIFactory3) -> Self {
5364 unsafe { ::std::mem::transmute(value) }
5365 }
5366 }
5367 impl ::std::convert::From<&IDXGIFactory3> for IDXGIObject {
from(value: &IDXGIFactory3) -> Self5368 fn from(value: &IDXGIFactory3) -> Self {
5369 ::std::convert::From::from(::std::clone::Clone::clone(value))
5370 }
5371 }
5372 impl<'a> ::windows::runtime::IntoParam<'a, IDXGIObject> for IDXGIFactory3 {
into_param(self) -> ::windows::runtime::Param<'a, IDXGIObject>5373 fn into_param(self) -> ::windows::runtime::Param<'a, IDXGIObject> {
5374 ::windows::runtime::Param::Owned(::std::convert::Into::<IDXGIObject>::into(self))
5375 }
5376 }
5377 impl<'a> ::windows::runtime::IntoParam<'a, IDXGIObject> for &IDXGIFactory3 {
into_param(self) -> ::windows::runtime::Param<'a, IDXGIObject>5378 fn into_param(self) -> ::windows::runtime::Param<'a, IDXGIObject> {
5379 ::windows::runtime::Param::Owned(::std::convert::Into::<IDXGIObject>::into(::std::clone::Clone::clone(self)))
5380 }
5381 }
5382 #[repr(C)]
5383 #[doc(hidden)]
5384 pub struct IDXGIFactory3_abi(
5385 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5386 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5387 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5388 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
5389 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: *const ::windows::runtime::GUID, punknown: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5390 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
5391 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, ppparent: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
5392 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, adapter: u32, ppadapter: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5393 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, windowhandle: super::super::Foundation::HWND, flags: u32) -> ::windows::runtime::HRESULT,
5394 #[cfg(not(feature = "Win32_Foundation"))] usize,
5395 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pwindowhandle: *mut super::super::Foundation::HWND) -> ::windows::runtime::HRESULT,
5396 #[cfg(not(feature = "Win32_Foundation"))] usize,
5397 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdevice: ::windows::runtime::RawPtr, pdesc: *const DXGI_SWAP_CHAIN_DESC, ppswapchain: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5398 #[cfg(not(feature = "Win32_Foundation"))] usize,
5399 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, module: super::super::Foundation::HINSTANCE, ppadapter: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5400 #[cfg(not(feature = "Win32_Foundation"))] usize,
5401 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, adapter: u32, ppadapter: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5402 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> super::super::Foundation::BOOL,
5403 #[cfg(not(feature = "Win32_Foundation"))] usize,
5404 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> super::super::Foundation::BOOL,
5405 #[cfg(not(feature = "Win32_Foundation"))] usize,
5406 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdevice: ::windows::runtime::RawPtr, hwnd: super::super::Foundation::HWND, pdesc: *const DXGI_SWAP_CHAIN_DESC1, pfullscreendesc: *const DXGI_SWAP_CHAIN_FULLSCREEN_DESC, prestricttooutput: ::windows::runtime::RawPtr, ppswapchain: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5407 #[cfg(not(feature = "Win32_Foundation"))] usize,
5408 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdevice: ::windows::runtime::RawPtr, pwindow: ::windows::runtime::RawPtr, pdesc: *const DXGI_SWAP_CHAIN_DESC1, prestricttooutput: ::windows::runtime::RawPtr, ppswapchain: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5409 #[cfg(not(feature = "Win32_Foundation"))] usize,
5410 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, hresource: super::super::Foundation::HANDLE, pluid: *mut super::super::Foundation::LUID) -> ::windows::runtime::HRESULT,
5411 #[cfg(not(feature = "Win32_Foundation"))] usize,
5412 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, windowhandle: super::super::Foundation::HWND, wmsg: u32, pdwcookie: *mut u32) -> ::windows::runtime::HRESULT,
5413 #[cfg(not(feature = "Win32_Foundation"))] usize,
5414 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, hevent: super::super::Foundation::HANDLE, pdwcookie: *mut u32) -> ::windows::runtime::HRESULT,
5415 #[cfg(not(feature = "Win32_Foundation"))] usize,
5416 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dwcookie: u32),
5417 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, windowhandle: super::super::Foundation::HWND, wmsg: u32, pdwcookie: *mut u32) -> ::windows::runtime::HRESULT,
5418 #[cfg(not(feature = "Win32_Foundation"))] usize,
5419 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, hevent: super::super::Foundation::HANDLE, pdwcookie: *mut u32) -> ::windows::runtime::HRESULT,
5420 #[cfg(not(feature = "Win32_Foundation"))] usize,
5421 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dwcookie: u32),
5422 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdevice: ::windows::runtime::RawPtr, pdesc: *const DXGI_SWAP_CHAIN_DESC1, prestricttooutput: ::windows::runtime::RawPtr, ppswapchain: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5423 #[cfg(not(feature = "Win32_Foundation"))] usize,
5424 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5425 );
5426 #[repr(transparent)]
5427 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
5428 pub struct IDXGIFactory4(::windows::runtime::IUnknown);
5429 impl IDXGIFactory4 {
SetPrivateData(&self, name: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::Result<()>5430 pub unsafe fn SetPrivateData(&self, name: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
5431 (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(name), ::std::mem::transmute(datasize), ::std::mem::transmute(pdata)).ok()
5432 }
SetPrivateDataInterface<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, name: *const ::windows::runtime::GUID, punknown: Param1) -> ::windows::runtime::Result<()>5433 pub unsafe fn SetPrivateDataInterface<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, name: *const ::windows::runtime::GUID, punknown: Param1) -> ::windows::runtime::Result<()> {
5434 (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(name), punknown.into_param().abi()).ok()
5435 }
GetPrivateData(&self, name: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()>5436 pub unsafe fn GetPrivateData(&self, name: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
5437 (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(name), ::std::mem::transmute(pdatasize), ::std::mem::transmute(pdata)).ok()
5438 }
GetParent<T: ::windows::runtime::Interface>(&self) -> ::windows::runtime::Result<T>5439 pub unsafe fn GetParent<T: ::windows::runtime::Interface>(&self) -> ::windows::runtime::Result<T> {
5440 let mut result__ = ::std::option::Option::None;
5441 (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
5442 }
EnumAdapters(&self, adapter: u32) -> ::windows::runtime::Result<IDXGIAdapter>5443 pub unsafe fn EnumAdapters(&self, adapter: u32) -> ::windows::runtime::Result<IDXGIAdapter> {
5444 let mut result__: <IDXGIAdapter as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5445 (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(adapter), &mut result__).from_abi::<IDXGIAdapter>(result__)
5446 }
5447 #[cfg(feature = "Win32_Foundation")]
MakeWindowAssociation<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>>(&self, windowhandle: Param0, flags: u32) -> ::windows::runtime::Result<()>5448 pub unsafe fn MakeWindowAssociation<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>>(&self, windowhandle: Param0, flags: u32) -> ::windows::runtime::Result<()> {
5449 (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), windowhandle.into_param().abi(), ::std::mem::transmute(flags)).ok()
5450 }
5451 #[cfg(feature = "Win32_Foundation")]
GetWindowAssociation(&self) -> ::windows::runtime::Result<super::super::Foundation::HWND>5452 pub unsafe fn GetWindowAssociation(&self) -> ::windows::runtime::Result<super::super::Foundation::HWND> {
5453 let mut result__: <super::super::Foundation::HWND as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5454 (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::HWND>(result__)
5455 }
5456 #[cfg(feature = "Win32_Foundation")]
CreateSwapChain<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, pdevice: Param0, pdesc: *const DXGI_SWAP_CHAIN_DESC) -> ::windows::runtime::Result<IDXGISwapChain>5457 pub unsafe fn CreateSwapChain<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, pdevice: Param0, pdesc: *const DXGI_SWAP_CHAIN_DESC) -> ::windows::runtime::Result<IDXGISwapChain> {
5458 let mut result__: <IDXGISwapChain as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5459 (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), pdevice.into_param().abi(), ::std::mem::transmute(pdesc), &mut result__).from_abi::<IDXGISwapChain>(result__)
5460 }
5461 #[cfg(feature = "Win32_Foundation")]
CreateSoftwareAdapter<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HINSTANCE>>(&self, module: Param0) -> ::windows::runtime::Result<IDXGIAdapter>5462 pub unsafe fn CreateSoftwareAdapter<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HINSTANCE>>(&self, module: Param0) -> ::windows::runtime::Result<IDXGIAdapter> {
5463 let mut result__: <IDXGIAdapter as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5464 (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), module.into_param().abi(), &mut result__).from_abi::<IDXGIAdapter>(result__)
5465 }
EnumAdapters1(&self, adapter: u32) -> ::windows::runtime::Result<IDXGIAdapter1>5466 pub unsafe fn EnumAdapters1(&self, adapter: u32) -> ::windows::runtime::Result<IDXGIAdapter1> {
5467 let mut result__: <IDXGIAdapter1 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5468 (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ::std::mem::transmute(adapter), &mut result__).from_abi::<IDXGIAdapter1>(result__)
5469 }
5470 #[cfg(feature = "Win32_Foundation")]
IsCurrent(&self) -> super::super::Foundation::BOOL5471 pub unsafe fn IsCurrent(&self) -> super::super::Foundation::BOOL {
5472 ::std::mem::transmute((::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self)))
5473 }
5474 #[cfg(feature = "Win32_Foundation")]
IsWindowedStereoEnabled(&self) -> super::super::Foundation::BOOL5475 pub unsafe fn IsWindowedStereoEnabled(&self) -> super::super::Foundation::BOOL {
5476 ::std::mem::transmute((::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self)))
5477 }
5478 #[cfg(feature = "Win32_Foundation")]
CreateSwapChainForHwnd<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>, Param4: ::windows::runtime::IntoParam<'a, IDXGIOutput>>(&self, pdevice: Param0, hwnd: Param1, pdesc: *const DXGI_SWAP_CHAIN_DESC1, pfullscreendesc: *const DXGI_SWAP_CHAIN_FULLSCREEN_DESC, prestricttooutput: Param4) -> ::windows::runtime::Result<IDXGISwapChain1>5479 pub unsafe fn CreateSwapChainForHwnd<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>, Param4: ::windows::runtime::IntoParam<'a, IDXGIOutput>>(&self, pdevice: Param0, hwnd: Param1, pdesc: *const DXGI_SWAP_CHAIN_DESC1, pfullscreendesc: *const DXGI_SWAP_CHAIN_FULLSCREEN_DESC, prestricttooutput: Param4) -> ::windows::runtime::Result<IDXGISwapChain1> {
5480 let mut result__: <IDXGISwapChain1 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5481 (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), pdevice.into_param().abi(), hwnd.into_param().abi(), ::std::mem::transmute(pdesc), ::std::mem::transmute(pfullscreendesc), prestricttooutput.into_param().abi(), &mut result__).from_abi::<IDXGISwapChain1>(result__)
5482 }
5483 #[cfg(feature = "Win32_Foundation")]
CreateSwapChainForCoreWindow<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>, Param3: ::windows::runtime::IntoParam<'a, IDXGIOutput>>(&self, pdevice: Param0, pwindow: Param1, pdesc: *const DXGI_SWAP_CHAIN_DESC1, prestricttooutput: Param3) -> ::windows::runtime::Result<IDXGISwapChain1>5484 pub unsafe fn CreateSwapChainForCoreWindow<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>, Param3: ::windows::runtime::IntoParam<'a, IDXGIOutput>>(&self, pdevice: Param0, pwindow: Param1, pdesc: *const DXGI_SWAP_CHAIN_DESC1, prestricttooutput: Param3) -> ::windows::runtime::Result<IDXGISwapChain1> {
5485 let mut result__: <IDXGISwapChain1 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5486 (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), pdevice.into_param().abi(), pwindow.into_param().abi(), ::std::mem::transmute(pdesc), prestricttooutput.into_param().abi(), &mut result__).from_abi::<IDXGISwapChain1>(result__)
5487 }
5488 #[cfg(feature = "Win32_Foundation")]
GetSharedResourceAdapterLuid<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(&self, hresource: Param0) -> ::windows::runtime::Result<super::super::Foundation::LUID>5489 pub unsafe fn GetSharedResourceAdapterLuid<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(&self, hresource: Param0) -> ::windows::runtime::Result<super::super::Foundation::LUID> {
5490 let mut result__: <super::super::Foundation::LUID as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5491 (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), hresource.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::LUID>(result__)
5492 }
5493 #[cfg(feature = "Win32_Foundation")]
RegisterStereoStatusWindow<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>>(&self, windowhandle: Param0, wmsg: u32) -> ::windows::runtime::Result<u32>5494 pub unsafe fn RegisterStereoStatusWindow<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>>(&self, windowhandle: Param0, wmsg: u32) -> ::windows::runtime::Result<u32> {
5495 let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5496 (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), windowhandle.into_param().abi(), ::std::mem::transmute(wmsg), &mut result__).from_abi::<u32>(result__)
5497 }
5498 #[cfg(feature = "Win32_Foundation")]
RegisterStereoStatusEvent<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(&self, hevent: Param0) -> ::windows::runtime::Result<u32>5499 pub unsafe fn RegisterStereoStatusEvent<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(&self, hevent: Param0) -> ::windows::runtime::Result<u32> {
5500 let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5501 (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), hevent.into_param().abi(), &mut result__).from_abi::<u32>(result__)
5502 }
UnregisterStereoStatus(&self, dwcookie: u32)5503 pub unsafe fn UnregisterStereoStatus(&self, dwcookie: u32) {
5504 ::std::mem::transmute((::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), ::std::mem::transmute(dwcookie)))
5505 }
5506 #[cfg(feature = "Win32_Foundation")]
RegisterOcclusionStatusWindow<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>>(&self, windowhandle: Param0, wmsg: u32) -> ::windows::runtime::Result<u32>5507 pub unsafe fn RegisterOcclusionStatusWindow<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>>(&self, windowhandle: Param0, wmsg: u32) -> ::windows::runtime::Result<u32> {
5508 let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5509 (::windows::runtime::Interface::vtable(self).21)(::std::mem::transmute_copy(self), windowhandle.into_param().abi(), ::std::mem::transmute(wmsg), &mut result__).from_abi::<u32>(result__)
5510 }
5511 #[cfg(feature = "Win32_Foundation")]
RegisterOcclusionStatusEvent<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(&self, hevent: Param0) -> ::windows::runtime::Result<u32>5512 pub unsafe fn RegisterOcclusionStatusEvent<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(&self, hevent: Param0) -> ::windows::runtime::Result<u32> {
5513 let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5514 (::windows::runtime::Interface::vtable(self).22)(::std::mem::transmute_copy(self), hevent.into_param().abi(), &mut result__).from_abi::<u32>(result__)
5515 }
UnregisterOcclusionStatus(&self, dwcookie: u32)5516 pub unsafe fn UnregisterOcclusionStatus(&self, dwcookie: u32) {
5517 ::std::mem::transmute((::windows::runtime::Interface::vtable(self).23)(::std::mem::transmute_copy(self), ::std::mem::transmute(dwcookie)))
5518 }
5519 #[cfg(feature = "Win32_Foundation")]
CreateSwapChainForComposition<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>, Param2: ::windows::runtime::IntoParam<'a, IDXGIOutput>>(&self, pdevice: Param0, pdesc: *const DXGI_SWAP_CHAIN_DESC1, prestricttooutput: Param2) -> ::windows::runtime::Result<IDXGISwapChain1>5520 pub unsafe fn CreateSwapChainForComposition<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>, Param2: ::windows::runtime::IntoParam<'a, IDXGIOutput>>(&self, pdevice: Param0, pdesc: *const DXGI_SWAP_CHAIN_DESC1, prestricttooutput: Param2) -> ::windows::runtime::Result<IDXGISwapChain1> {
5521 let mut result__: <IDXGISwapChain1 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5522 (::windows::runtime::Interface::vtable(self).24)(::std::mem::transmute_copy(self), pdevice.into_param().abi(), ::std::mem::transmute(pdesc), prestricttooutput.into_param().abi(), &mut result__).from_abi::<IDXGISwapChain1>(result__)
5523 }
GetCreationFlags(&self) -> u325524 pub unsafe fn GetCreationFlags(&self) -> u32 {
5525 ::std::mem::transmute((::windows::runtime::Interface::vtable(self).25)(::std::mem::transmute_copy(self)))
5526 }
5527 #[cfg(feature = "Win32_Foundation")]
EnumAdapterByLuid<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::LUID>, T: ::windows::runtime::Interface>(&self, adapterluid: Param0) -> ::windows::runtime::Result<T>5528 pub unsafe fn EnumAdapterByLuid<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::LUID>, T: ::windows::runtime::Interface>(&self, adapterluid: Param0) -> ::windows::runtime::Result<T> {
5529 let mut result__ = ::std::option::Option::None;
5530 (::windows::runtime::Interface::vtable(self).26)(::std::mem::transmute_copy(self), adapterluid.into_param().abi(), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
5531 }
EnumWarpAdapter<T: ::windows::runtime::Interface>(&self) -> ::windows::runtime::Result<T>5532 pub unsafe fn EnumWarpAdapter<T: ::windows::runtime::Interface>(&self) -> ::windows::runtime::Result<T> {
5533 let mut result__ = ::std::option::Option::None;
5534 (::windows::runtime::Interface::vtable(self).27)(::std::mem::transmute_copy(self), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
5535 }
5536 }
5537 unsafe impl ::windows::runtime::Interface for IDXGIFactory4 {
5538 type Vtable = IDXGIFactory4_abi;
5539 const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(466020866, 61238, 17999, [191, 12, 33, 202, 57, 229, 22, 138]);
5540 }
5541 impl ::std::convert::From<IDXGIFactory4> for ::windows::runtime::IUnknown {
from(value: IDXGIFactory4) -> Self5542 fn from(value: IDXGIFactory4) -> Self {
5543 unsafe { ::std::mem::transmute(value) }
5544 }
5545 }
5546 impl ::std::convert::From<&IDXGIFactory4> for ::windows::runtime::IUnknown {
from(value: &IDXGIFactory4) -> Self5547 fn from(value: &IDXGIFactory4) -> Self {
5548 ::std::convert::From::from(::std::clone::Clone::clone(value))
5549 }
5550 }
5551 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IDXGIFactory4 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5552 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5553 ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
5554 }
5555 }
5556 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IDXGIFactory4 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5557 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5558 ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
5559 }
5560 }
5561 impl ::std::convert::From<IDXGIFactory4> for IDXGIFactory3 {
from(value: IDXGIFactory4) -> Self5562 fn from(value: IDXGIFactory4) -> Self {
5563 unsafe { ::std::mem::transmute(value) }
5564 }
5565 }
5566 impl ::std::convert::From<&IDXGIFactory4> for IDXGIFactory3 {
from(value: &IDXGIFactory4) -> Self5567 fn from(value: &IDXGIFactory4) -> Self {
5568 ::std::convert::From::from(::std::clone::Clone::clone(value))
5569 }
5570 }
5571 impl<'a> ::windows::runtime::IntoParam<'a, IDXGIFactory3> for IDXGIFactory4 {
into_param(self) -> ::windows::runtime::Param<'a, IDXGIFactory3>5572 fn into_param(self) -> ::windows::runtime::Param<'a, IDXGIFactory3> {
5573 ::windows::runtime::Param::Owned(::std::convert::Into::<IDXGIFactory3>::into(self))
5574 }
5575 }
5576 impl<'a> ::windows::runtime::IntoParam<'a, IDXGIFactory3> for &IDXGIFactory4 {
into_param(self) -> ::windows::runtime::Param<'a, IDXGIFactory3>5577 fn into_param(self) -> ::windows::runtime::Param<'a, IDXGIFactory3> {
5578 ::windows::runtime::Param::Owned(::std::convert::Into::<IDXGIFactory3>::into(::std::clone::Clone::clone(self)))
5579 }
5580 }
5581 impl ::std::convert::From<IDXGIFactory4> for IDXGIFactory2 {
from(value: IDXGIFactory4) -> Self5582 fn from(value: IDXGIFactory4) -> Self {
5583 unsafe { ::std::mem::transmute(value) }
5584 }
5585 }
5586 impl ::std::convert::From<&IDXGIFactory4> for IDXGIFactory2 {
from(value: &IDXGIFactory4) -> Self5587 fn from(value: &IDXGIFactory4) -> Self {
5588 ::std::convert::From::from(::std::clone::Clone::clone(value))
5589 }
5590 }
5591 impl<'a> ::windows::runtime::IntoParam<'a, IDXGIFactory2> for IDXGIFactory4 {
into_param(self) -> ::windows::runtime::Param<'a, IDXGIFactory2>5592 fn into_param(self) -> ::windows::runtime::Param<'a, IDXGIFactory2> {
5593 ::windows::runtime::Param::Owned(::std::convert::Into::<IDXGIFactory2>::into(self))
5594 }
5595 }
5596 impl<'a> ::windows::runtime::IntoParam<'a, IDXGIFactory2> for &IDXGIFactory4 {
into_param(self) -> ::windows::runtime::Param<'a, IDXGIFactory2>5597 fn into_param(self) -> ::windows::runtime::Param<'a, IDXGIFactory2> {
5598 ::windows::runtime::Param::Owned(::std::convert::Into::<IDXGIFactory2>::into(::std::clone::Clone::clone(self)))
5599 }
5600 }
5601 impl ::std::convert::From<IDXGIFactory4> for IDXGIFactory1 {
from(value: IDXGIFactory4) -> Self5602 fn from(value: IDXGIFactory4) -> Self {
5603 unsafe { ::std::mem::transmute(value) }
5604 }
5605 }
5606 impl ::std::convert::From<&IDXGIFactory4> for IDXGIFactory1 {
from(value: &IDXGIFactory4) -> Self5607 fn from(value: &IDXGIFactory4) -> Self {
5608 ::std::convert::From::from(::std::clone::Clone::clone(value))
5609 }
5610 }
5611 impl<'a> ::windows::runtime::IntoParam<'a, IDXGIFactory1> for IDXGIFactory4 {
into_param(self) -> ::windows::runtime::Param<'a, IDXGIFactory1>5612 fn into_param(self) -> ::windows::runtime::Param<'a, IDXGIFactory1> {
5613 ::windows::runtime::Param::Owned(::std::convert::Into::<IDXGIFactory1>::into(self))
5614 }
5615 }
5616 impl<'a> ::windows::runtime::IntoParam<'a, IDXGIFactory1> for &IDXGIFactory4 {
into_param(self) -> ::windows::runtime::Param<'a, IDXGIFactory1>5617 fn into_param(self) -> ::windows::runtime::Param<'a, IDXGIFactory1> {
5618 ::windows::runtime::Param::Owned(::std::convert::Into::<IDXGIFactory1>::into(::std::clone::Clone::clone(self)))
5619 }
5620 }
5621 impl ::std::convert::From<IDXGIFactory4> for IDXGIFactory {
from(value: IDXGIFactory4) -> Self5622 fn from(value: IDXGIFactory4) -> Self {
5623 unsafe { ::std::mem::transmute(value) }
5624 }
5625 }
5626 impl ::std::convert::From<&IDXGIFactory4> for IDXGIFactory {
from(value: &IDXGIFactory4) -> Self5627 fn from(value: &IDXGIFactory4) -> Self {
5628 ::std::convert::From::from(::std::clone::Clone::clone(value))
5629 }
5630 }
5631 impl<'a> ::windows::runtime::IntoParam<'a, IDXGIFactory> for IDXGIFactory4 {
into_param(self) -> ::windows::runtime::Param<'a, IDXGIFactory>5632 fn into_param(self) -> ::windows::runtime::Param<'a, IDXGIFactory> {
5633 ::windows::runtime::Param::Owned(::std::convert::Into::<IDXGIFactory>::into(self))
5634 }
5635 }
5636 impl<'a> ::windows::runtime::IntoParam<'a, IDXGIFactory> for &IDXGIFactory4 {
into_param(self) -> ::windows::runtime::Param<'a, IDXGIFactory>5637 fn into_param(self) -> ::windows::runtime::Param<'a, IDXGIFactory> {
5638 ::windows::runtime::Param::Owned(::std::convert::Into::<IDXGIFactory>::into(::std::clone::Clone::clone(self)))
5639 }
5640 }
5641 impl ::std::convert::From<IDXGIFactory4> for IDXGIObject {
from(value: IDXGIFactory4) -> Self5642 fn from(value: IDXGIFactory4) -> Self {
5643 unsafe { ::std::mem::transmute(value) }
5644 }
5645 }
5646 impl ::std::convert::From<&IDXGIFactory4> for IDXGIObject {
from(value: &IDXGIFactory4) -> Self5647 fn from(value: &IDXGIFactory4) -> Self {
5648 ::std::convert::From::from(::std::clone::Clone::clone(value))
5649 }
5650 }
5651 impl<'a> ::windows::runtime::IntoParam<'a, IDXGIObject> for IDXGIFactory4 {
into_param(self) -> ::windows::runtime::Param<'a, IDXGIObject>5652 fn into_param(self) -> ::windows::runtime::Param<'a, IDXGIObject> {
5653 ::windows::runtime::Param::Owned(::std::convert::Into::<IDXGIObject>::into(self))
5654 }
5655 }
5656 impl<'a> ::windows::runtime::IntoParam<'a, IDXGIObject> for &IDXGIFactory4 {
into_param(self) -> ::windows::runtime::Param<'a, IDXGIObject>5657 fn into_param(self) -> ::windows::runtime::Param<'a, IDXGIObject> {
5658 ::windows::runtime::Param::Owned(::std::convert::Into::<IDXGIObject>::into(::std::clone::Clone::clone(self)))
5659 }
5660 }
5661 #[repr(C)]
5662 #[doc(hidden)]
5663 pub struct IDXGIFactory4_abi(
5664 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5665 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5666 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5667 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
5668 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: *const ::windows::runtime::GUID, punknown: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5669 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
5670 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, ppparent: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
5671 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, adapter: u32, ppadapter: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5672 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, windowhandle: super::super::Foundation::HWND, flags: u32) -> ::windows::runtime::HRESULT,
5673 #[cfg(not(feature = "Win32_Foundation"))] usize,
5674 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pwindowhandle: *mut super::super::Foundation::HWND) -> ::windows::runtime::HRESULT,
5675 #[cfg(not(feature = "Win32_Foundation"))] usize,
5676 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdevice: ::windows::runtime::RawPtr, pdesc: *const DXGI_SWAP_CHAIN_DESC, ppswapchain: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5677 #[cfg(not(feature = "Win32_Foundation"))] usize,
5678 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, module: super::super::Foundation::HINSTANCE, ppadapter: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5679 #[cfg(not(feature = "Win32_Foundation"))] usize,
5680 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, adapter: u32, ppadapter: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5681 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> super::super::Foundation::BOOL,
5682 #[cfg(not(feature = "Win32_Foundation"))] usize,
5683 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> super::super::Foundation::BOOL,
5684 #[cfg(not(feature = "Win32_Foundation"))] usize,
5685 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdevice: ::windows::runtime::RawPtr, hwnd: super::super::Foundation::HWND, pdesc: *const DXGI_SWAP_CHAIN_DESC1, pfullscreendesc: *const DXGI_SWAP_CHAIN_FULLSCREEN_DESC, prestricttooutput: ::windows::runtime::RawPtr, ppswapchain: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5686 #[cfg(not(feature = "Win32_Foundation"))] usize,
5687 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdevice: ::windows::runtime::RawPtr, pwindow: ::windows::runtime::RawPtr, pdesc: *const DXGI_SWAP_CHAIN_DESC1, prestricttooutput: ::windows::runtime::RawPtr, ppswapchain: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5688 #[cfg(not(feature = "Win32_Foundation"))] usize,
5689 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, hresource: super::super::Foundation::HANDLE, pluid: *mut super::super::Foundation::LUID) -> ::windows::runtime::HRESULT,
5690 #[cfg(not(feature = "Win32_Foundation"))] usize,
5691 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, windowhandle: super::super::Foundation::HWND, wmsg: u32, pdwcookie: *mut u32) -> ::windows::runtime::HRESULT,
5692 #[cfg(not(feature = "Win32_Foundation"))] usize,
5693 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, hevent: super::super::Foundation::HANDLE, pdwcookie: *mut u32) -> ::windows::runtime::HRESULT,
5694 #[cfg(not(feature = "Win32_Foundation"))] usize,
5695 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dwcookie: u32),
5696 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, windowhandle: super::super::Foundation::HWND, wmsg: u32, pdwcookie: *mut u32) -> ::windows::runtime::HRESULT,
5697 #[cfg(not(feature = "Win32_Foundation"))] usize,
5698 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, hevent: super::super::Foundation::HANDLE, pdwcookie: *mut u32) -> ::windows::runtime::HRESULT,
5699 #[cfg(not(feature = "Win32_Foundation"))] usize,
5700 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dwcookie: u32),
5701 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdevice: ::windows::runtime::RawPtr, pdesc: *const DXGI_SWAP_CHAIN_DESC1, prestricttooutput: ::windows::runtime::RawPtr, ppswapchain: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5702 #[cfg(not(feature = "Win32_Foundation"))] usize,
5703 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5704 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, adapterluid: super::super::Foundation::LUID, riid: *const ::windows::runtime::GUID, ppvadapter: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
5705 #[cfg(not(feature = "Win32_Foundation"))] usize,
5706 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, ppvadapter: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
5707 );
5708 #[repr(transparent)]
5709 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
5710 pub struct IDXGIFactory5(::windows::runtime::IUnknown);
5711 impl IDXGIFactory5 {
SetPrivateData(&self, name: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::Result<()>5712 pub unsafe fn SetPrivateData(&self, name: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
5713 (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(name), ::std::mem::transmute(datasize), ::std::mem::transmute(pdata)).ok()
5714 }
SetPrivateDataInterface<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, name: *const ::windows::runtime::GUID, punknown: Param1) -> ::windows::runtime::Result<()>5715 pub unsafe fn SetPrivateDataInterface<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, name: *const ::windows::runtime::GUID, punknown: Param1) -> ::windows::runtime::Result<()> {
5716 (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(name), punknown.into_param().abi()).ok()
5717 }
GetPrivateData(&self, name: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()>5718 pub unsafe fn GetPrivateData(&self, name: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
5719 (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(name), ::std::mem::transmute(pdatasize), ::std::mem::transmute(pdata)).ok()
5720 }
GetParent<T: ::windows::runtime::Interface>(&self) -> ::windows::runtime::Result<T>5721 pub unsafe fn GetParent<T: ::windows::runtime::Interface>(&self) -> ::windows::runtime::Result<T> {
5722 let mut result__ = ::std::option::Option::None;
5723 (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
5724 }
EnumAdapters(&self, adapter: u32) -> ::windows::runtime::Result<IDXGIAdapter>5725 pub unsafe fn EnumAdapters(&self, adapter: u32) -> ::windows::runtime::Result<IDXGIAdapter> {
5726 let mut result__: <IDXGIAdapter as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5727 (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(adapter), &mut result__).from_abi::<IDXGIAdapter>(result__)
5728 }
5729 #[cfg(feature = "Win32_Foundation")]
MakeWindowAssociation<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>>(&self, windowhandle: Param0, flags: u32) -> ::windows::runtime::Result<()>5730 pub unsafe fn MakeWindowAssociation<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>>(&self, windowhandle: Param0, flags: u32) -> ::windows::runtime::Result<()> {
5731 (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), windowhandle.into_param().abi(), ::std::mem::transmute(flags)).ok()
5732 }
5733 #[cfg(feature = "Win32_Foundation")]
GetWindowAssociation(&self) -> ::windows::runtime::Result<super::super::Foundation::HWND>5734 pub unsafe fn GetWindowAssociation(&self) -> ::windows::runtime::Result<super::super::Foundation::HWND> {
5735 let mut result__: <super::super::Foundation::HWND as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5736 (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::HWND>(result__)
5737 }
5738 #[cfg(feature = "Win32_Foundation")]
CreateSwapChain<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, pdevice: Param0, pdesc: *const DXGI_SWAP_CHAIN_DESC) -> ::windows::runtime::Result<IDXGISwapChain>5739 pub unsafe fn CreateSwapChain<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, pdevice: Param0, pdesc: *const DXGI_SWAP_CHAIN_DESC) -> ::windows::runtime::Result<IDXGISwapChain> {
5740 let mut result__: <IDXGISwapChain as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5741 (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), pdevice.into_param().abi(), ::std::mem::transmute(pdesc), &mut result__).from_abi::<IDXGISwapChain>(result__)
5742 }
5743 #[cfg(feature = "Win32_Foundation")]
CreateSoftwareAdapter<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HINSTANCE>>(&self, module: Param0) -> ::windows::runtime::Result<IDXGIAdapter>5744 pub unsafe fn CreateSoftwareAdapter<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HINSTANCE>>(&self, module: Param0) -> ::windows::runtime::Result<IDXGIAdapter> {
5745 let mut result__: <IDXGIAdapter as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5746 (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), module.into_param().abi(), &mut result__).from_abi::<IDXGIAdapter>(result__)
5747 }
EnumAdapters1(&self, adapter: u32) -> ::windows::runtime::Result<IDXGIAdapter1>5748 pub unsafe fn EnumAdapters1(&self, adapter: u32) -> ::windows::runtime::Result<IDXGIAdapter1> {
5749 let mut result__: <IDXGIAdapter1 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5750 (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ::std::mem::transmute(adapter), &mut result__).from_abi::<IDXGIAdapter1>(result__)
5751 }
5752 #[cfg(feature = "Win32_Foundation")]
IsCurrent(&self) -> super::super::Foundation::BOOL5753 pub unsafe fn IsCurrent(&self) -> super::super::Foundation::BOOL {
5754 ::std::mem::transmute((::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self)))
5755 }
5756 #[cfg(feature = "Win32_Foundation")]
IsWindowedStereoEnabled(&self) -> super::super::Foundation::BOOL5757 pub unsafe fn IsWindowedStereoEnabled(&self) -> super::super::Foundation::BOOL {
5758 ::std::mem::transmute((::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self)))
5759 }
5760 #[cfg(feature = "Win32_Foundation")]
CreateSwapChainForHwnd<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>, Param4: ::windows::runtime::IntoParam<'a, IDXGIOutput>>(&self, pdevice: Param0, hwnd: Param1, pdesc: *const DXGI_SWAP_CHAIN_DESC1, pfullscreendesc: *const DXGI_SWAP_CHAIN_FULLSCREEN_DESC, prestricttooutput: Param4) -> ::windows::runtime::Result<IDXGISwapChain1>5761 pub unsafe fn CreateSwapChainForHwnd<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>, Param4: ::windows::runtime::IntoParam<'a, IDXGIOutput>>(&self, pdevice: Param0, hwnd: Param1, pdesc: *const DXGI_SWAP_CHAIN_DESC1, pfullscreendesc: *const DXGI_SWAP_CHAIN_FULLSCREEN_DESC, prestricttooutput: Param4) -> ::windows::runtime::Result<IDXGISwapChain1> {
5762 let mut result__: <IDXGISwapChain1 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5763 (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), pdevice.into_param().abi(), hwnd.into_param().abi(), ::std::mem::transmute(pdesc), ::std::mem::transmute(pfullscreendesc), prestricttooutput.into_param().abi(), &mut result__).from_abi::<IDXGISwapChain1>(result__)
5764 }
5765 #[cfg(feature = "Win32_Foundation")]
CreateSwapChainForCoreWindow<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>, Param3: ::windows::runtime::IntoParam<'a, IDXGIOutput>>(&self, pdevice: Param0, pwindow: Param1, pdesc: *const DXGI_SWAP_CHAIN_DESC1, prestricttooutput: Param3) -> ::windows::runtime::Result<IDXGISwapChain1>5766 pub unsafe fn CreateSwapChainForCoreWindow<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>, Param3: ::windows::runtime::IntoParam<'a, IDXGIOutput>>(&self, pdevice: Param0, pwindow: Param1, pdesc: *const DXGI_SWAP_CHAIN_DESC1, prestricttooutput: Param3) -> ::windows::runtime::Result<IDXGISwapChain1> {
5767 let mut result__: <IDXGISwapChain1 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5768 (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), pdevice.into_param().abi(), pwindow.into_param().abi(), ::std::mem::transmute(pdesc), prestricttooutput.into_param().abi(), &mut result__).from_abi::<IDXGISwapChain1>(result__)
5769 }
5770 #[cfg(feature = "Win32_Foundation")]
GetSharedResourceAdapterLuid<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(&self, hresource: Param0) -> ::windows::runtime::Result<super::super::Foundation::LUID>5771 pub unsafe fn GetSharedResourceAdapterLuid<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(&self, hresource: Param0) -> ::windows::runtime::Result<super::super::Foundation::LUID> {
5772 let mut result__: <super::super::Foundation::LUID as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5773 (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), hresource.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::LUID>(result__)
5774 }
5775 #[cfg(feature = "Win32_Foundation")]
RegisterStereoStatusWindow<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>>(&self, windowhandle: Param0, wmsg: u32) -> ::windows::runtime::Result<u32>5776 pub unsafe fn RegisterStereoStatusWindow<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>>(&self, windowhandle: Param0, wmsg: u32) -> ::windows::runtime::Result<u32> {
5777 let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5778 (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), windowhandle.into_param().abi(), ::std::mem::transmute(wmsg), &mut result__).from_abi::<u32>(result__)
5779 }
5780 #[cfg(feature = "Win32_Foundation")]
RegisterStereoStatusEvent<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(&self, hevent: Param0) -> ::windows::runtime::Result<u32>5781 pub unsafe fn RegisterStereoStatusEvent<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(&self, hevent: Param0) -> ::windows::runtime::Result<u32> {
5782 let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5783 (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), hevent.into_param().abi(), &mut result__).from_abi::<u32>(result__)
5784 }
UnregisterStereoStatus(&self, dwcookie: u32)5785 pub unsafe fn UnregisterStereoStatus(&self, dwcookie: u32) {
5786 ::std::mem::transmute((::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), ::std::mem::transmute(dwcookie)))
5787 }
5788 #[cfg(feature = "Win32_Foundation")]
RegisterOcclusionStatusWindow<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>>(&self, windowhandle: Param0, wmsg: u32) -> ::windows::runtime::Result<u32>5789 pub unsafe fn RegisterOcclusionStatusWindow<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>>(&self, windowhandle: Param0, wmsg: u32) -> ::windows::runtime::Result<u32> {
5790 let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5791 (::windows::runtime::Interface::vtable(self).21)(::std::mem::transmute_copy(self), windowhandle.into_param().abi(), ::std::mem::transmute(wmsg), &mut result__).from_abi::<u32>(result__)
5792 }
5793 #[cfg(feature = "Win32_Foundation")]
RegisterOcclusionStatusEvent<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(&self, hevent: Param0) -> ::windows::runtime::Result<u32>5794 pub unsafe fn RegisterOcclusionStatusEvent<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(&self, hevent: Param0) -> ::windows::runtime::Result<u32> {
5795 let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5796 (::windows::runtime::Interface::vtable(self).22)(::std::mem::transmute_copy(self), hevent.into_param().abi(), &mut result__).from_abi::<u32>(result__)
5797 }
UnregisterOcclusionStatus(&self, dwcookie: u32)5798 pub unsafe fn UnregisterOcclusionStatus(&self, dwcookie: u32) {
5799 ::std::mem::transmute((::windows::runtime::Interface::vtable(self).23)(::std::mem::transmute_copy(self), ::std::mem::transmute(dwcookie)))
5800 }
5801 #[cfg(feature = "Win32_Foundation")]
CreateSwapChainForComposition<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>, Param2: ::windows::runtime::IntoParam<'a, IDXGIOutput>>(&self, pdevice: Param0, pdesc: *const DXGI_SWAP_CHAIN_DESC1, prestricttooutput: Param2) -> ::windows::runtime::Result<IDXGISwapChain1>5802 pub unsafe fn CreateSwapChainForComposition<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>, Param2: ::windows::runtime::IntoParam<'a, IDXGIOutput>>(&self, pdevice: Param0, pdesc: *const DXGI_SWAP_CHAIN_DESC1, prestricttooutput: Param2) -> ::windows::runtime::Result<IDXGISwapChain1> {
5803 let mut result__: <IDXGISwapChain1 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5804 (::windows::runtime::Interface::vtable(self).24)(::std::mem::transmute_copy(self), pdevice.into_param().abi(), ::std::mem::transmute(pdesc), prestricttooutput.into_param().abi(), &mut result__).from_abi::<IDXGISwapChain1>(result__)
5805 }
GetCreationFlags(&self) -> u325806 pub unsafe fn GetCreationFlags(&self) -> u32 {
5807 ::std::mem::transmute((::windows::runtime::Interface::vtable(self).25)(::std::mem::transmute_copy(self)))
5808 }
5809 #[cfg(feature = "Win32_Foundation")]
EnumAdapterByLuid<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::LUID>, T: ::windows::runtime::Interface>(&self, adapterluid: Param0) -> ::windows::runtime::Result<T>5810 pub unsafe fn EnumAdapterByLuid<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::LUID>, T: ::windows::runtime::Interface>(&self, adapterluid: Param0) -> ::windows::runtime::Result<T> {
5811 let mut result__ = ::std::option::Option::None;
5812 (::windows::runtime::Interface::vtable(self).26)(::std::mem::transmute_copy(self), adapterluid.into_param().abi(), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
5813 }
EnumWarpAdapter<T: ::windows::runtime::Interface>(&self) -> ::windows::runtime::Result<T>5814 pub unsafe fn EnumWarpAdapter<T: ::windows::runtime::Interface>(&self) -> ::windows::runtime::Result<T> {
5815 let mut result__ = ::std::option::Option::None;
5816 (::windows::runtime::Interface::vtable(self).27)(::std::mem::transmute_copy(self), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
5817 }
CheckFeatureSupport(&self, feature: DXGI_FEATURE, pfeaturesupportdata: *mut ::std::ffi::c_void, featuresupportdatasize: u32) -> ::windows::runtime::Result<()>5818 pub unsafe fn CheckFeatureSupport(&self, feature: DXGI_FEATURE, pfeaturesupportdata: *mut ::std::ffi::c_void, featuresupportdatasize: u32) -> ::windows::runtime::Result<()> {
5819 (::windows::runtime::Interface::vtable(self).28)(::std::mem::transmute_copy(self), ::std::mem::transmute(feature), ::std::mem::transmute(pfeaturesupportdata), ::std::mem::transmute(featuresupportdatasize)).ok()
5820 }
5821 }
5822 unsafe impl ::windows::runtime::Interface for IDXGIFactory5 {
5823 type Vtable = IDXGIFactory5_abi;
5824 const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1983046133, 61029, 19914, [135, 253, 132, 205, 117, 248, 131, 141]);
5825 }
5826 impl ::std::convert::From<IDXGIFactory5> for ::windows::runtime::IUnknown {
from(value: IDXGIFactory5) -> Self5827 fn from(value: IDXGIFactory5) -> Self {
5828 unsafe { ::std::mem::transmute(value) }
5829 }
5830 }
5831 impl ::std::convert::From<&IDXGIFactory5> for ::windows::runtime::IUnknown {
from(value: &IDXGIFactory5) -> Self5832 fn from(value: &IDXGIFactory5) -> Self {
5833 ::std::convert::From::from(::std::clone::Clone::clone(value))
5834 }
5835 }
5836 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IDXGIFactory5 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5837 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5838 ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
5839 }
5840 }
5841 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IDXGIFactory5 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5842 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5843 ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
5844 }
5845 }
5846 impl ::std::convert::From<IDXGIFactory5> for IDXGIFactory4 {
from(value: IDXGIFactory5) -> Self5847 fn from(value: IDXGIFactory5) -> Self {
5848 unsafe { ::std::mem::transmute(value) }
5849 }
5850 }
5851 impl ::std::convert::From<&IDXGIFactory5> for IDXGIFactory4 {
from(value: &IDXGIFactory5) -> Self5852 fn from(value: &IDXGIFactory5) -> Self {
5853 ::std::convert::From::from(::std::clone::Clone::clone(value))
5854 }
5855 }
5856 impl<'a> ::windows::runtime::IntoParam<'a, IDXGIFactory4> for IDXGIFactory5 {
into_param(self) -> ::windows::runtime::Param<'a, IDXGIFactory4>5857 fn into_param(self) -> ::windows::runtime::Param<'a, IDXGIFactory4> {
5858 ::windows::runtime::Param::Owned(::std::convert::Into::<IDXGIFactory4>::into(self))
5859 }
5860 }
5861 impl<'a> ::windows::runtime::IntoParam<'a, IDXGIFactory4> for &IDXGIFactory5 {
into_param(self) -> ::windows::runtime::Param<'a, IDXGIFactory4>5862 fn into_param(self) -> ::windows::runtime::Param<'a, IDXGIFactory4> {
5863 ::windows::runtime::Param::Owned(::std::convert::Into::<IDXGIFactory4>::into(::std::clone::Clone::clone(self)))
5864 }
5865 }
5866 impl ::std::convert::From<IDXGIFactory5> for IDXGIFactory3 {
from(value: IDXGIFactory5) -> Self5867 fn from(value: IDXGIFactory5) -> Self {
5868 unsafe { ::std::mem::transmute(value) }
5869 }
5870 }
5871 impl ::std::convert::From<&IDXGIFactory5> for IDXGIFactory3 {
from(value: &IDXGIFactory5) -> Self5872 fn from(value: &IDXGIFactory5) -> Self {
5873 ::std::convert::From::from(::std::clone::Clone::clone(value))
5874 }
5875 }
5876 impl<'a> ::windows::runtime::IntoParam<'a, IDXGIFactory3> for IDXGIFactory5 {
into_param(self) -> ::windows::runtime::Param<'a, IDXGIFactory3>5877 fn into_param(self) -> ::windows::runtime::Param<'a, IDXGIFactory3> {
5878 ::windows::runtime::Param::Owned(::std::convert::Into::<IDXGIFactory3>::into(self))
5879 }
5880 }
5881 impl<'a> ::windows::runtime::IntoParam<'a, IDXGIFactory3> for &IDXGIFactory5 {
into_param(self) -> ::windows::runtime::Param<'a, IDXGIFactory3>5882 fn into_param(self) -> ::windows::runtime::Param<'a, IDXGIFactory3> {
5883 ::windows::runtime::Param::Owned(::std::convert::Into::<IDXGIFactory3>::into(::std::clone::Clone::clone(self)))
5884 }
5885 }
5886 impl ::std::convert::From<IDXGIFactory5> for IDXGIFactory2 {
from(value: IDXGIFactory5) -> Self5887 fn from(value: IDXGIFactory5) -> Self {
5888 unsafe { ::std::mem::transmute(value) }
5889 }
5890 }
5891 impl ::std::convert::From<&IDXGIFactory5> for IDXGIFactory2 {
from(value: &IDXGIFactory5) -> Self5892 fn from(value: &IDXGIFactory5) -> Self {
5893 ::std::convert::From::from(::std::clone::Clone::clone(value))
5894 }
5895 }
5896 impl<'a> ::windows::runtime::IntoParam<'a, IDXGIFactory2> for IDXGIFactory5 {
into_param(self) -> ::windows::runtime::Param<'a, IDXGIFactory2>5897 fn into_param(self) -> ::windows::runtime::Param<'a, IDXGIFactory2> {
5898 ::windows::runtime::Param::Owned(::std::convert::Into::<IDXGIFactory2>::into(self))
5899 }
5900 }
5901 impl<'a> ::windows::runtime::IntoParam<'a, IDXGIFactory2> for &IDXGIFactory5 {
into_param(self) -> ::windows::runtime::Param<'a, IDXGIFactory2>5902 fn into_param(self) -> ::windows::runtime::Param<'a, IDXGIFactory2> {
5903 ::windows::runtime::Param::Owned(::std::convert::Into::<IDXGIFactory2>::into(::std::clone::Clone::clone(self)))
5904 }
5905 }
5906 impl ::std::convert::From<IDXGIFactory5> for IDXGIFactory1 {
from(value: IDXGIFactory5) -> Self5907 fn from(value: IDXGIFactory5) -> Self {
5908 unsafe { ::std::mem::transmute(value) }
5909 }
5910 }
5911 impl ::std::convert::From<&IDXGIFactory5> for IDXGIFactory1 {
from(value: &IDXGIFactory5) -> Self5912 fn from(value: &IDXGIFactory5) -> Self {
5913 ::std::convert::From::from(::std::clone::Clone::clone(value))
5914 }
5915 }
5916 impl<'a> ::windows::runtime::IntoParam<'a, IDXGIFactory1> for IDXGIFactory5 {
into_param(self) -> ::windows::runtime::Param<'a, IDXGIFactory1>5917 fn into_param(self) -> ::windows::runtime::Param<'a, IDXGIFactory1> {
5918 ::windows::runtime::Param::Owned(::std::convert::Into::<IDXGIFactory1>::into(self))
5919 }
5920 }
5921 impl<'a> ::windows::runtime::IntoParam<'a, IDXGIFactory1> for &IDXGIFactory5 {
into_param(self) -> ::windows::runtime::Param<'a, IDXGIFactory1>5922 fn into_param(self) -> ::windows::runtime::Param<'a, IDXGIFactory1> {
5923 ::windows::runtime::Param::Owned(::std::convert::Into::<IDXGIFactory1>::into(::std::clone::Clone::clone(self)))
5924 }
5925 }
5926 impl ::std::convert::From<IDXGIFactory5> for IDXGIFactory {
from(value: IDXGIFactory5) -> Self5927 fn from(value: IDXGIFactory5) -> Self {
5928 unsafe { ::std::mem::transmute(value) }
5929 }
5930 }
5931 impl ::std::convert::From<&IDXGIFactory5> for IDXGIFactory {
from(value: &IDXGIFactory5) -> Self5932 fn from(value: &IDXGIFactory5) -> Self {
5933 ::std::convert::From::from(::std::clone::Clone::clone(value))
5934 }
5935 }
5936 impl<'a> ::windows::runtime::IntoParam<'a, IDXGIFactory> for IDXGIFactory5 {
into_param(self) -> ::windows::runtime::Param<'a, IDXGIFactory>5937 fn into_param(self) -> ::windows::runtime::Param<'a, IDXGIFactory> {
5938 ::windows::runtime::Param::Owned(::std::convert::Into::<IDXGIFactory>::into(self))
5939 }
5940 }
5941 impl<'a> ::windows::runtime::IntoParam<'a, IDXGIFactory> for &IDXGIFactory5 {
into_param(self) -> ::windows::runtime::Param<'a, IDXGIFactory>5942 fn into_param(self) -> ::windows::runtime::Param<'a, IDXGIFactory> {
5943 ::windows::runtime::Param::Owned(::std::convert::Into::<IDXGIFactory>::into(::std::clone::Clone::clone(self)))
5944 }
5945 }
5946 impl ::std::convert::From<IDXGIFactory5> for IDXGIObject {
from(value: IDXGIFactory5) -> Self5947 fn from(value: IDXGIFactory5) -> Self {
5948 unsafe { ::std::mem::transmute(value) }
5949 }
5950 }
5951 impl ::std::convert::From<&IDXGIFactory5> for IDXGIObject {
from(value: &IDXGIFactory5) -> Self5952 fn from(value: &IDXGIFactory5) -> Self {
5953 ::std::convert::From::from(::std::clone::Clone::clone(value))
5954 }
5955 }
5956 impl<'a> ::windows::runtime::IntoParam<'a, IDXGIObject> for IDXGIFactory5 {
into_param(self) -> ::windows::runtime::Param<'a, IDXGIObject>5957 fn into_param(self) -> ::windows::runtime::Param<'a, IDXGIObject> {
5958 ::windows::runtime::Param::Owned(::std::convert::Into::<IDXGIObject>::into(self))
5959 }
5960 }
5961 impl<'a> ::windows::runtime::IntoParam<'a, IDXGIObject> for &IDXGIFactory5 {
into_param(self) -> ::windows::runtime::Param<'a, IDXGIObject>5962 fn into_param(self) -> ::windows::runtime::Param<'a, IDXGIObject> {
5963 ::windows::runtime::Param::Owned(::std::convert::Into::<IDXGIObject>::into(::std::clone::Clone::clone(self)))
5964 }
5965 }
5966 #[repr(C)]
5967 #[doc(hidden)]
5968 pub struct IDXGIFactory5_abi(
5969 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5970 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5971 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5972 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
5973 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: *const ::windows::runtime::GUID, punknown: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5974 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
5975 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, ppparent: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
5976 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, adapter: u32, ppadapter: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5977 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, windowhandle: super::super::Foundation::HWND, flags: u32) -> ::windows::runtime::HRESULT,
5978 #[cfg(not(feature = "Win32_Foundation"))] usize,
5979 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pwindowhandle: *mut super::super::Foundation::HWND) -> ::windows::runtime::HRESULT,
5980 #[cfg(not(feature = "Win32_Foundation"))] usize,
5981 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdevice: ::windows::runtime::RawPtr, pdesc: *const DXGI_SWAP_CHAIN_DESC, ppswapchain: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5982 #[cfg(not(feature = "Win32_Foundation"))] usize,
5983 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, module: super::super::Foundation::HINSTANCE, ppadapter: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5984 #[cfg(not(feature = "Win32_Foundation"))] usize,
5985 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, adapter: u32, ppadapter: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5986 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> super::super::Foundation::BOOL,
5987 #[cfg(not(feature = "Win32_Foundation"))] usize,
5988 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> super::super::Foundation::BOOL,
5989 #[cfg(not(feature = "Win32_Foundation"))] usize,
5990 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdevice: ::windows::runtime::RawPtr, hwnd: super::super::Foundation::HWND, pdesc: *const DXGI_SWAP_CHAIN_DESC1, pfullscreendesc: *const DXGI_SWAP_CHAIN_FULLSCREEN_DESC, prestricttooutput: ::windows::runtime::RawPtr, ppswapchain: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5991 #[cfg(not(feature = "Win32_Foundation"))] usize,
5992 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdevice: ::windows::runtime::RawPtr, pwindow: ::windows::runtime::RawPtr, pdesc: *const DXGI_SWAP_CHAIN_DESC1, prestricttooutput: ::windows::runtime::RawPtr, ppswapchain: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5993 #[cfg(not(feature = "Win32_Foundation"))] usize,
5994 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, hresource: super::super::Foundation::HANDLE, pluid: *mut super::super::Foundation::LUID) -> ::windows::runtime::HRESULT,
5995 #[cfg(not(feature = "Win32_Foundation"))] usize,
5996 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, windowhandle: super::super::Foundation::HWND, wmsg: u32, pdwcookie: *mut u32) -> ::windows::runtime::HRESULT,
5997 #[cfg(not(feature = "Win32_Foundation"))] usize,
5998 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, hevent: super::super::Foundation::HANDLE, pdwcookie: *mut u32) -> ::windows::runtime::HRESULT,
5999 #[cfg(not(feature = "Win32_Foundation"))] usize,
6000 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dwcookie: u32),
6001 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, windowhandle: super::super::Foundation::HWND, wmsg: u32, pdwcookie: *mut u32) -> ::windows::runtime::HRESULT,
6002 #[cfg(not(feature = "Win32_Foundation"))] usize,
6003 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, hevent: super::super::Foundation::HANDLE, pdwcookie: *mut u32) -> ::windows::runtime::HRESULT,
6004 #[cfg(not(feature = "Win32_Foundation"))] usize,
6005 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dwcookie: u32),
6006 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdevice: ::windows::runtime::RawPtr, pdesc: *const DXGI_SWAP_CHAIN_DESC1, prestricttooutput: ::windows::runtime::RawPtr, ppswapchain: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6007 #[cfg(not(feature = "Win32_Foundation"))] usize,
6008 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6009 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, adapterluid: super::super::Foundation::LUID, riid: *const ::windows::runtime::GUID, ppvadapter: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
6010 #[cfg(not(feature = "Win32_Foundation"))] usize,
6011 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, ppvadapter: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
6012 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, feature: DXGI_FEATURE, pfeaturesupportdata: *mut ::std::ffi::c_void, featuresupportdatasize: u32) -> ::windows::runtime::HRESULT,
6013 );
6014 #[repr(transparent)]
6015 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
6016 pub struct IDXGIFactory6(::windows::runtime::IUnknown);
6017 impl IDXGIFactory6 {
SetPrivateData(&self, name: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::Result<()>6018 pub unsafe fn SetPrivateData(&self, name: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
6019 (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(name), ::std::mem::transmute(datasize), ::std::mem::transmute(pdata)).ok()
6020 }
SetPrivateDataInterface<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, name: *const ::windows::runtime::GUID, punknown: Param1) -> ::windows::runtime::Result<()>6021 pub unsafe fn SetPrivateDataInterface<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, name: *const ::windows::runtime::GUID, punknown: Param1) -> ::windows::runtime::Result<()> {
6022 (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(name), punknown.into_param().abi()).ok()
6023 }
GetPrivateData(&self, name: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()>6024 pub unsafe fn GetPrivateData(&self, name: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
6025 (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(name), ::std::mem::transmute(pdatasize), ::std::mem::transmute(pdata)).ok()
6026 }
GetParent<T: ::windows::runtime::Interface>(&self) -> ::windows::runtime::Result<T>6027 pub unsafe fn GetParent<T: ::windows::runtime::Interface>(&self) -> ::windows::runtime::Result<T> {
6028 let mut result__ = ::std::option::Option::None;
6029 (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
6030 }
EnumAdapters(&self, adapter: u32) -> ::windows::runtime::Result<IDXGIAdapter>6031 pub unsafe fn EnumAdapters(&self, adapter: u32) -> ::windows::runtime::Result<IDXGIAdapter> {
6032 let mut result__: <IDXGIAdapter as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6033 (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(adapter), &mut result__).from_abi::<IDXGIAdapter>(result__)
6034 }
6035 #[cfg(feature = "Win32_Foundation")]
MakeWindowAssociation<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>>(&self, windowhandle: Param0, flags: u32) -> ::windows::runtime::Result<()>6036 pub unsafe fn MakeWindowAssociation<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>>(&self, windowhandle: Param0, flags: u32) -> ::windows::runtime::Result<()> {
6037 (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), windowhandle.into_param().abi(), ::std::mem::transmute(flags)).ok()
6038 }
6039 #[cfg(feature = "Win32_Foundation")]
GetWindowAssociation(&self) -> ::windows::runtime::Result<super::super::Foundation::HWND>6040 pub unsafe fn GetWindowAssociation(&self) -> ::windows::runtime::Result<super::super::Foundation::HWND> {
6041 let mut result__: <super::super::Foundation::HWND as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6042 (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::HWND>(result__)
6043 }
6044 #[cfg(feature = "Win32_Foundation")]
CreateSwapChain<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, pdevice: Param0, pdesc: *const DXGI_SWAP_CHAIN_DESC) -> ::windows::runtime::Result<IDXGISwapChain>6045 pub unsafe fn CreateSwapChain<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, pdevice: Param0, pdesc: *const DXGI_SWAP_CHAIN_DESC) -> ::windows::runtime::Result<IDXGISwapChain> {
6046 let mut result__: <IDXGISwapChain as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6047 (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), pdevice.into_param().abi(), ::std::mem::transmute(pdesc), &mut result__).from_abi::<IDXGISwapChain>(result__)
6048 }
6049 #[cfg(feature = "Win32_Foundation")]
CreateSoftwareAdapter<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HINSTANCE>>(&self, module: Param0) -> ::windows::runtime::Result<IDXGIAdapter>6050 pub unsafe fn CreateSoftwareAdapter<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HINSTANCE>>(&self, module: Param0) -> ::windows::runtime::Result<IDXGIAdapter> {
6051 let mut result__: <IDXGIAdapter as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6052 (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), module.into_param().abi(), &mut result__).from_abi::<IDXGIAdapter>(result__)
6053 }
EnumAdapters1(&self, adapter: u32) -> ::windows::runtime::Result<IDXGIAdapter1>6054 pub unsafe fn EnumAdapters1(&self, adapter: u32) -> ::windows::runtime::Result<IDXGIAdapter1> {
6055 let mut result__: <IDXGIAdapter1 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6056 (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ::std::mem::transmute(adapter), &mut result__).from_abi::<IDXGIAdapter1>(result__)
6057 }
6058 #[cfg(feature = "Win32_Foundation")]
IsCurrent(&self) -> super::super::Foundation::BOOL6059 pub unsafe fn IsCurrent(&self) -> super::super::Foundation::BOOL {
6060 ::std::mem::transmute((::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self)))
6061 }
6062 #[cfg(feature = "Win32_Foundation")]
IsWindowedStereoEnabled(&self) -> super::super::Foundation::BOOL6063 pub unsafe fn IsWindowedStereoEnabled(&self) -> super::super::Foundation::BOOL {
6064 ::std::mem::transmute((::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self)))
6065 }
6066 #[cfg(feature = "Win32_Foundation")]
CreateSwapChainForHwnd<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>, Param4: ::windows::runtime::IntoParam<'a, IDXGIOutput>>(&self, pdevice: Param0, hwnd: Param1, pdesc: *const DXGI_SWAP_CHAIN_DESC1, pfullscreendesc: *const DXGI_SWAP_CHAIN_FULLSCREEN_DESC, prestricttooutput: Param4) -> ::windows::runtime::Result<IDXGISwapChain1>6067 pub unsafe fn CreateSwapChainForHwnd<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>, Param4: ::windows::runtime::IntoParam<'a, IDXGIOutput>>(&self, pdevice: Param0, hwnd: Param1, pdesc: *const DXGI_SWAP_CHAIN_DESC1, pfullscreendesc: *const DXGI_SWAP_CHAIN_FULLSCREEN_DESC, prestricttooutput: Param4) -> ::windows::runtime::Result<IDXGISwapChain1> {
6068 let mut result__: <IDXGISwapChain1 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6069 (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), pdevice.into_param().abi(), hwnd.into_param().abi(), ::std::mem::transmute(pdesc), ::std::mem::transmute(pfullscreendesc), prestricttooutput.into_param().abi(), &mut result__).from_abi::<IDXGISwapChain1>(result__)
6070 }
6071 #[cfg(feature = "Win32_Foundation")]
CreateSwapChainForCoreWindow<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>, Param3: ::windows::runtime::IntoParam<'a, IDXGIOutput>>(&self, pdevice: Param0, pwindow: Param1, pdesc: *const DXGI_SWAP_CHAIN_DESC1, prestricttooutput: Param3) -> ::windows::runtime::Result<IDXGISwapChain1>6072 pub unsafe fn CreateSwapChainForCoreWindow<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>, Param3: ::windows::runtime::IntoParam<'a, IDXGIOutput>>(&self, pdevice: Param0, pwindow: Param1, pdesc: *const DXGI_SWAP_CHAIN_DESC1, prestricttooutput: Param3) -> ::windows::runtime::Result<IDXGISwapChain1> {
6073 let mut result__: <IDXGISwapChain1 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6074 (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), pdevice.into_param().abi(), pwindow.into_param().abi(), ::std::mem::transmute(pdesc), prestricttooutput.into_param().abi(), &mut result__).from_abi::<IDXGISwapChain1>(result__)
6075 }
6076 #[cfg(feature = "Win32_Foundation")]
GetSharedResourceAdapterLuid<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(&self, hresource: Param0) -> ::windows::runtime::Result<super::super::Foundation::LUID>6077 pub unsafe fn GetSharedResourceAdapterLuid<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(&self, hresource: Param0) -> ::windows::runtime::Result<super::super::Foundation::LUID> {
6078 let mut result__: <super::super::Foundation::LUID as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6079 (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), hresource.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::LUID>(result__)
6080 }
6081 #[cfg(feature = "Win32_Foundation")]
RegisterStereoStatusWindow<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>>(&self, windowhandle: Param0, wmsg: u32) -> ::windows::runtime::Result<u32>6082 pub unsafe fn RegisterStereoStatusWindow<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>>(&self, windowhandle: Param0, wmsg: u32) -> ::windows::runtime::Result<u32> {
6083 let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6084 (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), windowhandle.into_param().abi(), ::std::mem::transmute(wmsg), &mut result__).from_abi::<u32>(result__)
6085 }
6086 #[cfg(feature = "Win32_Foundation")]
RegisterStereoStatusEvent<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(&self, hevent: Param0) -> ::windows::runtime::Result<u32>6087 pub unsafe fn RegisterStereoStatusEvent<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(&self, hevent: Param0) -> ::windows::runtime::Result<u32> {
6088 let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6089 (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), hevent.into_param().abi(), &mut result__).from_abi::<u32>(result__)
6090 }
UnregisterStereoStatus(&self, dwcookie: u32)6091 pub unsafe fn UnregisterStereoStatus(&self, dwcookie: u32) {
6092 ::std::mem::transmute((::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), ::std::mem::transmute(dwcookie)))
6093 }
6094 #[cfg(feature = "Win32_Foundation")]
RegisterOcclusionStatusWindow<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>>(&self, windowhandle: Param0, wmsg: u32) -> ::windows::runtime::Result<u32>6095 pub unsafe fn RegisterOcclusionStatusWindow<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>>(&self, windowhandle: Param0, wmsg: u32) -> ::windows::runtime::Result<u32> {
6096 let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6097 (::windows::runtime::Interface::vtable(self).21)(::std::mem::transmute_copy(self), windowhandle.into_param().abi(), ::std::mem::transmute(wmsg), &mut result__).from_abi::<u32>(result__)
6098 }
6099 #[cfg(feature = "Win32_Foundation")]
RegisterOcclusionStatusEvent<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(&self, hevent: Param0) -> ::windows::runtime::Result<u32>6100 pub unsafe fn RegisterOcclusionStatusEvent<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(&self, hevent: Param0) -> ::windows::runtime::Result<u32> {
6101 let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6102 (::windows::runtime::Interface::vtable(self).22)(::std::mem::transmute_copy(self), hevent.into_param().abi(), &mut result__).from_abi::<u32>(result__)
6103 }
UnregisterOcclusionStatus(&self, dwcookie: u32)6104 pub unsafe fn UnregisterOcclusionStatus(&self, dwcookie: u32) {
6105 ::std::mem::transmute((::windows::runtime::Interface::vtable(self).23)(::std::mem::transmute_copy(self), ::std::mem::transmute(dwcookie)))
6106 }
6107 #[cfg(feature = "Win32_Foundation")]
CreateSwapChainForComposition<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>, Param2: ::windows::runtime::IntoParam<'a, IDXGIOutput>>(&self, pdevice: Param0, pdesc: *const DXGI_SWAP_CHAIN_DESC1, prestricttooutput: Param2) -> ::windows::runtime::Result<IDXGISwapChain1>6108 pub unsafe fn CreateSwapChainForComposition<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>, Param2: ::windows::runtime::IntoParam<'a, IDXGIOutput>>(&self, pdevice: Param0, pdesc: *const DXGI_SWAP_CHAIN_DESC1, prestricttooutput: Param2) -> ::windows::runtime::Result<IDXGISwapChain1> {
6109 let mut result__: <IDXGISwapChain1 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6110 (::windows::runtime::Interface::vtable(self).24)(::std::mem::transmute_copy(self), pdevice.into_param().abi(), ::std::mem::transmute(pdesc), prestricttooutput.into_param().abi(), &mut result__).from_abi::<IDXGISwapChain1>(result__)
6111 }
GetCreationFlags(&self) -> u326112 pub unsafe fn GetCreationFlags(&self) -> u32 {
6113 ::std::mem::transmute((::windows::runtime::Interface::vtable(self).25)(::std::mem::transmute_copy(self)))
6114 }
6115 #[cfg(feature = "Win32_Foundation")]
EnumAdapterByLuid<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::LUID>, T: ::windows::runtime::Interface>(&self, adapterluid: Param0) -> ::windows::runtime::Result<T>6116 pub unsafe fn EnumAdapterByLuid<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::LUID>, T: ::windows::runtime::Interface>(&self, adapterluid: Param0) -> ::windows::runtime::Result<T> {
6117 let mut result__ = ::std::option::Option::None;
6118 (::windows::runtime::Interface::vtable(self).26)(::std::mem::transmute_copy(self), adapterluid.into_param().abi(), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
6119 }
EnumWarpAdapter<T: ::windows::runtime::Interface>(&self) -> ::windows::runtime::Result<T>6120 pub unsafe fn EnumWarpAdapter<T: ::windows::runtime::Interface>(&self) -> ::windows::runtime::Result<T> {
6121 let mut result__ = ::std::option::Option::None;
6122 (::windows::runtime::Interface::vtable(self).27)(::std::mem::transmute_copy(self), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
6123 }
CheckFeatureSupport(&self, feature: DXGI_FEATURE, pfeaturesupportdata: *mut ::std::ffi::c_void, featuresupportdatasize: u32) -> ::windows::runtime::Result<()>6124 pub unsafe fn CheckFeatureSupport(&self, feature: DXGI_FEATURE, pfeaturesupportdata: *mut ::std::ffi::c_void, featuresupportdatasize: u32) -> ::windows::runtime::Result<()> {
6125 (::windows::runtime::Interface::vtable(self).28)(::std::mem::transmute_copy(self), ::std::mem::transmute(feature), ::std::mem::transmute(pfeaturesupportdata), ::std::mem::transmute(featuresupportdatasize)).ok()
6126 }
EnumAdapterByGpuPreference<T: ::windows::runtime::Interface>(&self, adapter: u32, gpupreference: DXGI_GPU_PREFERENCE) -> ::windows::runtime::Result<T>6127 pub unsafe fn EnumAdapterByGpuPreference<T: ::windows::runtime::Interface>(&self, adapter: u32, gpupreference: DXGI_GPU_PREFERENCE) -> ::windows::runtime::Result<T> {
6128 let mut result__ = ::std::option::Option::None;
6129 (::windows::runtime::Interface::vtable(self).29)(::std::mem::transmute_copy(self), ::std::mem::transmute(adapter), ::std::mem::transmute(gpupreference), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
6130 }
6131 }
6132 unsafe impl ::windows::runtime::Interface for IDXGIFactory6 {
6133 type Vtable = IDXGIFactory6_abi;
6134 const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3249957199, 65289, 17577, [176, 60, 119, 144, 10, 10, 29, 23]);
6135 }
6136 impl ::std::convert::From<IDXGIFactory6> for ::windows::runtime::IUnknown {
from(value: IDXGIFactory6) -> Self6137 fn from(value: IDXGIFactory6) -> Self {
6138 unsafe { ::std::mem::transmute(value) }
6139 }
6140 }
6141 impl ::std::convert::From<&IDXGIFactory6> for ::windows::runtime::IUnknown {
from(value: &IDXGIFactory6) -> Self6142 fn from(value: &IDXGIFactory6) -> Self {
6143 ::std::convert::From::from(::std::clone::Clone::clone(value))
6144 }
6145 }
6146 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IDXGIFactory6 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6147 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6148 ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
6149 }
6150 }
6151 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IDXGIFactory6 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6152 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6153 ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
6154 }
6155 }
6156 impl ::std::convert::From<IDXGIFactory6> for IDXGIFactory5 {
from(value: IDXGIFactory6) -> Self6157 fn from(value: IDXGIFactory6) -> Self {
6158 unsafe { ::std::mem::transmute(value) }
6159 }
6160 }
6161 impl ::std::convert::From<&IDXGIFactory6> for IDXGIFactory5 {
from(value: &IDXGIFactory6) -> Self6162 fn from(value: &IDXGIFactory6) -> Self {
6163 ::std::convert::From::from(::std::clone::Clone::clone(value))
6164 }
6165 }
6166 impl<'a> ::windows::runtime::IntoParam<'a, IDXGIFactory5> for IDXGIFactory6 {
into_param(self) -> ::windows::runtime::Param<'a, IDXGIFactory5>6167 fn into_param(self) -> ::windows::runtime::Param<'a, IDXGIFactory5> {
6168 ::windows::runtime::Param::Owned(::std::convert::Into::<IDXGIFactory5>::into(self))
6169 }
6170 }
6171 impl<'a> ::windows::runtime::IntoParam<'a, IDXGIFactory5> for &IDXGIFactory6 {
into_param(self) -> ::windows::runtime::Param<'a, IDXGIFactory5>6172 fn into_param(self) -> ::windows::runtime::Param<'a, IDXGIFactory5> {
6173 ::windows::runtime::Param::Owned(::std::convert::Into::<IDXGIFactory5>::into(::std::clone::Clone::clone(self)))
6174 }
6175 }
6176 impl ::std::convert::From<IDXGIFactory6> for IDXGIFactory4 {
from(value: IDXGIFactory6) -> Self6177 fn from(value: IDXGIFactory6) -> Self {
6178 unsafe { ::std::mem::transmute(value) }
6179 }
6180 }
6181 impl ::std::convert::From<&IDXGIFactory6> for IDXGIFactory4 {
from(value: &IDXGIFactory6) -> Self6182 fn from(value: &IDXGIFactory6) -> Self {
6183 ::std::convert::From::from(::std::clone::Clone::clone(value))
6184 }
6185 }
6186 impl<'a> ::windows::runtime::IntoParam<'a, IDXGIFactory4> for IDXGIFactory6 {
into_param(self) -> ::windows::runtime::Param<'a, IDXGIFactory4>6187 fn into_param(self) -> ::windows::runtime::Param<'a, IDXGIFactory4> {
6188 ::windows::runtime::Param::Owned(::std::convert::Into::<IDXGIFactory4>::into(self))
6189 }
6190 }
6191 impl<'a> ::windows::runtime::IntoParam<'a, IDXGIFactory4> for &IDXGIFactory6 {
into_param(self) -> ::windows::runtime::Param<'a, IDXGIFactory4>6192 fn into_param(self) -> ::windows::runtime::Param<'a, IDXGIFactory4> {
6193 ::windows::runtime::Param::Owned(::std::convert::Into::<IDXGIFactory4>::into(::std::clone::Clone::clone(self)))
6194 }
6195 }
6196 impl ::std::convert::From<IDXGIFactory6> for IDXGIFactory3 {
from(value: IDXGIFactory6) -> Self6197 fn from(value: IDXGIFactory6) -> Self {
6198 unsafe { ::std::mem::transmute(value) }
6199 }
6200 }
6201 impl ::std::convert::From<&IDXGIFactory6> for IDXGIFactory3 {
from(value: &IDXGIFactory6) -> Self6202 fn from(value: &IDXGIFactory6) -> Self {
6203 ::std::convert::From::from(::std::clone::Clone::clone(value))
6204 }
6205 }
6206 impl<'a> ::windows::runtime::IntoParam<'a, IDXGIFactory3> for IDXGIFactory6 {
into_param(self) -> ::windows::runtime::Param<'a, IDXGIFactory3>6207 fn into_param(self) -> ::windows::runtime::Param<'a, IDXGIFactory3> {
6208 ::windows::runtime::Param::Owned(::std::convert::Into::<IDXGIFactory3>::into(self))
6209 }
6210 }
6211 impl<'a> ::windows::runtime::IntoParam<'a, IDXGIFactory3> for &IDXGIFactory6 {
into_param(self) -> ::windows::runtime::Param<'a, IDXGIFactory3>6212 fn into_param(self) -> ::windows::runtime::Param<'a, IDXGIFactory3> {
6213 ::windows::runtime::Param::Owned(::std::convert::Into::<IDXGIFactory3>::into(::std::clone::Clone::clone(self)))
6214 }
6215 }
6216 impl ::std::convert::From<IDXGIFactory6> for IDXGIFactory2 {
from(value: IDXGIFactory6) -> Self6217 fn from(value: IDXGIFactory6) -> Self {
6218 unsafe { ::std::mem::transmute(value) }
6219 }
6220 }
6221 impl ::std::convert::From<&IDXGIFactory6> for IDXGIFactory2 {
from(value: &IDXGIFactory6) -> Self6222 fn from(value: &IDXGIFactory6) -> Self {
6223 ::std::convert::From::from(::std::clone::Clone::clone(value))
6224 }
6225 }
6226 impl<'a> ::windows::runtime::IntoParam<'a, IDXGIFactory2> for IDXGIFactory6 {
into_param(self) -> ::windows::runtime::Param<'a, IDXGIFactory2>6227 fn into_param(self) -> ::windows::runtime::Param<'a, IDXGIFactory2> {
6228 ::windows::runtime::Param::Owned(::std::convert::Into::<IDXGIFactory2>::into(self))
6229 }
6230 }
6231 impl<'a> ::windows::runtime::IntoParam<'a, IDXGIFactory2> for &IDXGIFactory6 {
into_param(self) -> ::windows::runtime::Param<'a, IDXGIFactory2>6232 fn into_param(self) -> ::windows::runtime::Param<'a, IDXGIFactory2> {
6233 ::windows::runtime::Param::Owned(::std::convert::Into::<IDXGIFactory2>::into(::std::clone::Clone::clone(self)))
6234 }
6235 }
6236 impl ::std::convert::From<IDXGIFactory6> for IDXGIFactory1 {
from(value: IDXGIFactory6) -> Self6237 fn from(value: IDXGIFactory6) -> Self {
6238 unsafe { ::std::mem::transmute(value) }
6239 }
6240 }
6241 impl ::std::convert::From<&IDXGIFactory6> for IDXGIFactory1 {
from(value: &IDXGIFactory6) -> Self6242 fn from(value: &IDXGIFactory6) -> Self {
6243 ::std::convert::From::from(::std::clone::Clone::clone(value))
6244 }
6245 }
6246 impl<'a> ::windows::runtime::IntoParam<'a, IDXGIFactory1> for IDXGIFactory6 {
into_param(self) -> ::windows::runtime::Param<'a, IDXGIFactory1>6247 fn into_param(self) -> ::windows::runtime::Param<'a, IDXGIFactory1> {
6248 ::windows::runtime::Param::Owned(::std::convert::Into::<IDXGIFactory1>::into(self))
6249 }
6250 }
6251 impl<'a> ::windows::runtime::IntoParam<'a, IDXGIFactory1> for &IDXGIFactory6 {
into_param(self) -> ::windows::runtime::Param<'a, IDXGIFactory1>6252 fn into_param(self) -> ::windows::runtime::Param<'a, IDXGIFactory1> {
6253 ::windows::runtime::Param::Owned(::std::convert::Into::<IDXGIFactory1>::into(::std::clone::Clone::clone(self)))
6254 }
6255 }
6256 impl ::std::convert::From<IDXGIFactory6> for IDXGIFactory {
from(value: IDXGIFactory6) -> Self6257 fn from(value: IDXGIFactory6) -> Self {
6258 unsafe { ::std::mem::transmute(value) }
6259 }
6260 }
6261 impl ::std::convert::From<&IDXGIFactory6> for IDXGIFactory {
from(value: &IDXGIFactory6) -> Self6262 fn from(value: &IDXGIFactory6) -> Self {
6263 ::std::convert::From::from(::std::clone::Clone::clone(value))
6264 }
6265 }
6266 impl<'a> ::windows::runtime::IntoParam<'a, IDXGIFactory> for IDXGIFactory6 {
into_param(self) -> ::windows::runtime::Param<'a, IDXGIFactory>6267 fn into_param(self) -> ::windows::runtime::Param<'a, IDXGIFactory> {
6268 ::windows::runtime::Param::Owned(::std::convert::Into::<IDXGIFactory>::into(self))
6269 }
6270 }
6271 impl<'a> ::windows::runtime::IntoParam<'a, IDXGIFactory> for &IDXGIFactory6 {
into_param(self) -> ::windows::runtime::Param<'a, IDXGIFactory>6272 fn into_param(self) -> ::windows::runtime::Param<'a, IDXGIFactory> {
6273 ::windows::runtime::Param::Owned(::std::convert::Into::<IDXGIFactory>::into(::std::clone::Clone::clone(self)))
6274 }
6275 }
6276 impl ::std::convert::From<IDXGIFactory6> for IDXGIObject {
from(value: IDXGIFactory6) -> Self6277 fn from(value: IDXGIFactory6) -> Self {
6278 unsafe { ::std::mem::transmute(value) }
6279 }
6280 }
6281 impl ::std::convert::From<&IDXGIFactory6> for IDXGIObject {
from(value: &IDXGIFactory6) -> Self6282 fn from(value: &IDXGIFactory6) -> Self {
6283 ::std::convert::From::from(::std::clone::Clone::clone(value))
6284 }
6285 }
6286 impl<'a> ::windows::runtime::IntoParam<'a, IDXGIObject> for IDXGIFactory6 {
into_param(self) -> ::windows::runtime::Param<'a, IDXGIObject>6287 fn into_param(self) -> ::windows::runtime::Param<'a, IDXGIObject> {
6288 ::windows::runtime::Param::Owned(::std::convert::Into::<IDXGIObject>::into(self))
6289 }
6290 }
6291 impl<'a> ::windows::runtime::IntoParam<'a, IDXGIObject> for &IDXGIFactory6 {
into_param(self) -> ::windows::runtime::Param<'a, IDXGIObject>6292 fn into_param(self) -> ::windows::runtime::Param<'a, IDXGIObject> {
6293 ::windows::runtime::Param::Owned(::std::convert::Into::<IDXGIObject>::into(::std::clone::Clone::clone(self)))
6294 }
6295 }
6296 #[repr(C)]
6297 #[doc(hidden)]
6298 pub struct IDXGIFactory6_abi(
6299 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6300 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6301 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6302 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
6303 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: *const ::windows::runtime::GUID, punknown: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6304 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
6305 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, ppparent: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
6306 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, adapter: u32, ppadapter: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6307 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, windowhandle: super::super::Foundation::HWND, flags: u32) -> ::windows::runtime::HRESULT,
6308 #[cfg(not(feature = "Win32_Foundation"))] usize,
6309 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pwindowhandle: *mut super::super::Foundation::HWND) -> ::windows::runtime::HRESULT,
6310 #[cfg(not(feature = "Win32_Foundation"))] usize,
6311 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdevice: ::windows::runtime::RawPtr, pdesc: *const DXGI_SWAP_CHAIN_DESC, ppswapchain: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6312 #[cfg(not(feature = "Win32_Foundation"))] usize,
6313 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, module: super::super::Foundation::HINSTANCE, ppadapter: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6314 #[cfg(not(feature = "Win32_Foundation"))] usize,
6315 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, adapter: u32, ppadapter: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6316 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> super::super::Foundation::BOOL,
6317 #[cfg(not(feature = "Win32_Foundation"))] usize,
6318 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> super::super::Foundation::BOOL,
6319 #[cfg(not(feature = "Win32_Foundation"))] usize,
6320 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdevice: ::windows::runtime::RawPtr, hwnd: super::super::Foundation::HWND, pdesc: *const DXGI_SWAP_CHAIN_DESC1, pfullscreendesc: *const DXGI_SWAP_CHAIN_FULLSCREEN_DESC, prestricttooutput: ::windows::runtime::RawPtr, ppswapchain: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6321 #[cfg(not(feature = "Win32_Foundation"))] usize,
6322 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdevice: ::windows::runtime::RawPtr, pwindow: ::windows::runtime::RawPtr, pdesc: *const DXGI_SWAP_CHAIN_DESC1, prestricttooutput: ::windows::runtime::RawPtr, ppswapchain: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6323 #[cfg(not(feature = "Win32_Foundation"))] usize,
6324 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, hresource: super::super::Foundation::HANDLE, pluid: *mut super::super::Foundation::LUID) -> ::windows::runtime::HRESULT,
6325 #[cfg(not(feature = "Win32_Foundation"))] usize,
6326 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, windowhandle: super::super::Foundation::HWND, wmsg: u32, pdwcookie: *mut u32) -> ::windows::runtime::HRESULT,
6327 #[cfg(not(feature = "Win32_Foundation"))] usize,
6328 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, hevent: super::super::Foundation::HANDLE, pdwcookie: *mut u32) -> ::windows::runtime::HRESULT,
6329 #[cfg(not(feature = "Win32_Foundation"))] usize,
6330 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dwcookie: u32),
6331 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, windowhandle: super::super::Foundation::HWND, wmsg: u32, pdwcookie: *mut u32) -> ::windows::runtime::HRESULT,
6332 #[cfg(not(feature = "Win32_Foundation"))] usize,
6333 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, hevent: super::super::Foundation::HANDLE, pdwcookie: *mut u32) -> ::windows::runtime::HRESULT,
6334 #[cfg(not(feature = "Win32_Foundation"))] usize,
6335 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dwcookie: u32),
6336 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdevice: ::windows::runtime::RawPtr, pdesc: *const DXGI_SWAP_CHAIN_DESC1, prestricttooutput: ::windows::runtime::RawPtr, ppswapchain: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6337 #[cfg(not(feature = "Win32_Foundation"))] usize,
6338 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6339 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, adapterluid: super::super::Foundation::LUID, riid: *const ::windows::runtime::GUID, ppvadapter: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
6340 #[cfg(not(feature = "Win32_Foundation"))] usize,
6341 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, ppvadapter: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
6342 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, feature: DXGI_FEATURE, pfeaturesupportdata: *mut ::std::ffi::c_void, featuresupportdatasize: u32) -> ::windows::runtime::HRESULT,
6343 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, adapter: u32, gpupreference: DXGI_GPU_PREFERENCE, riid: *const ::windows::runtime::GUID, ppvadapter: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
6344 );
6345 #[repr(transparent)]
6346 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
6347 pub struct IDXGIFactory7(::windows::runtime::IUnknown);
6348 impl IDXGIFactory7 {
SetPrivateData(&self, name: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::Result<()>6349 pub unsafe fn SetPrivateData(&self, name: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
6350 (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(name), ::std::mem::transmute(datasize), ::std::mem::transmute(pdata)).ok()
6351 }
SetPrivateDataInterface<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, name: *const ::windows::runtime::GUID, punknown: Param1) -> ::windows::runtime::Result<()>6352 pub unsafe fn SetPrivateDataInterface<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, name: *const ::windows::runtime::GUID, punknown: Param1) -> ::windows::runtime::Result<()> {
6353 (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(name), punknown.into_param().abi()).ok()
6354 }
GetPrivateData(&self, name: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()>6355 pub unsafe fn GetPrivateData(&self, name: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
6356 (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(name), ::std::mem::transmute(pdatasize), ::std::mem::transmute(pdata)).ok()
6357 }
GetParent<T: ::windows::runtime::Interface>(&self) -> ::windows::runtime::Result<T>6358 pub unsafe fn GetParent<T: ::windows::runtime::Interface>(&self) -> ::windows::runtime::Result<T> {
6359 let mut result__ = ::std::option::Option::None;
6360 (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
6361 }
EnumAdapters(&self, adapter: u32) -> ::windows::runtime::Result<IDXGIAdapter>6362 pub unsafe fn EnumAdapters(&self, adapter: u32) -> ::windows::runtime::Result<IDXGIAdapter> {
6363 let mut result__: <IDXGIAdapter as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6364 (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(adapter), &mut result__).from_abi::<IDXGIAdapter>(result__)
6365 }
6366 #[cfg(feature = "Win32_Foundation")]
MakeWindowAssociation<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>>(&self, windowhandle: Param0, flags: u32) -> ::windows::runtime::Result<()>6367 pub unsafe fn MakeWindowAssociation<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>>(&self, windowhandle: Param0, flags: u32) -> ::windows::runtime::Result<()> {
6368 (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), windowhandle.into_param().abi(), ::std::mem::transmute(flags)).ok()
6369 }
6370 #[cfg(feature = "Win32_Foundation")]
GetWindowAssociation(&self) -> ::windows::runtime::Result<super::super::Foundation::HWND>6371 pub unsafe fn GetWindowAssociation(&self) -> ::windows::runtime::Result<super::super::Foundation::HWND> {
6372 let mut result__: <super::super::Foundation::HWND as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6373 (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::HWND>(result__)
6374 }
6375 #[cfg(feature = "Win32_Foundation")]
CreateSwapChain<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, pdevice: Param0, pdesc: *const DXGI_SWAP_CHAIN_DESC) -> ::windows::runtime::Result<IDXGISwapChain>6376 pub unsafe fn CreateSwapChain<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, pdevice: Param0, pdesc: *const DXGI_SWAP_CHAIN_DESC) -> ::windows::runtime::Result<IDXGISwapChain> {
6377 let mut result__: <IDXGISwapChain as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6378 (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), pdevice.into_param().abi(), ::std::mem::transmute(pdesc), &mut result__).from_abi::<IDXGISwapChain>(result__)
6379 }
6380 #[cfg(feature = "Win32_Foundation")]
CreateSoftwareAdapter<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HINSTANCE>>(&self, module: Param0) -> ::windows::runtime::Result<IDXGIAdapter>6381 pub unsafe fn CreateSoftwareAdapter<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HINSTANCE>>(&self, module: Param0) -> ::windows::runtime::Result<IDXGIAdapter> {
6382 let mut result__: <IDXGIAdapter as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6383 (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), module.into_param().abi(), &mut result__).from_abi::<IDXGIAdapter>(result__)
6384 }
EnumAdapters1(&self, adapter: u32) -> ::windows::runtime::Result<IDXGIAdapter1>6385 pub unsafe fn EnumAdapters1(&self, adapter: u32) -> ::windows::runtime::Result<IDXGIAdapter1> {
6386 let mut result__: <IDXGIAdapter1 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6387 (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ::std::mem::transmute(adapter), &mut result__).from_abi::<IDXGIAdapter1>(result__)
6388 }
6389 #[cfg(feature = "Win32_Foundation")]
IsCurrent(&self) -> super::super::Foundation::BOOL6390 pub unsafe fn IsCurrent(&self) -> super::super::Foundation::BOOL {
6391 ::std::mem::transmute((::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self)))
6392 }
6393 #[cfg(feature = "Win32_Foundation")]
IsWindowedStereoEnabled(&self) -> super::super::Foundation::BOOL6394 pub unsafe fn IsWindowedStereoEnabled(&self) -> super::super::Foundation::BOOL {
6395 ::std::mem::transmute((::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self)))
6396 }
6397 #[cfg(feature = "Win32_Foundation")]
CreateSwapChainForHwnd<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>, Param4: ::windows::runtime::IntoParam<'a, IDXGIOutput>>(&self, pdevice: Param0, hwnd: Param1, pdesc: *const DXGI_SWAP_CHAIN_DESC1, pfullscreendesc: *const DXGI_SWAP_CHAIN_FULLSCREEN_DESC, prestricttooutput: Param4) -> ::windows::runtime::Result<IDXGISwapChain1>6398 pub unsafe fn CreateSwapChainForHwnd<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>, Param4: ::windows::runtime::IntoParam<'a, IDXGIOutput>>(&self, pdevice: Param0, hwnd: Param1, pdesc: *const DXGI_SWAP_CHAIN_DESC1, pfullscreendesc: *const DXGI_SWAP_CHAIN_FULLSCREEN_DESC, prestricttooutput: Param4) -> ::windows::runtime::Result<IDXGISwapChain1> {
6399 let mut result__: <IDXGISwapChain1 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6400 (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), pdevice.into_param().abi(), hwnd.into_param().abi(), ::std::mem::transmute(pdesc), ::std::mem::transmute(pfullscreendesc), prestricttooutput.into_param().abi(), &mut result__).from_abi::<IDXGISwapChain1>(result__)
6401 }
6402 #[cfg(feature = "Win32_Foundation")]
CreateSwapChainForCoreWindow<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>, Param3: ::windows::runtime::IntoParam<'a, IDXGIOutput>>(&self, pdevice: Param0, pwindow: Param1, pdesc: *const DXGI_SWAP_CHAIN_DESC1, prestricttooutput: Param3) -> ::windows::runtime::Result<IDXGISwapChain1>6403 pub unsafe fn CreateSwapChainForCoreWindow<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>, Param3: ::windows::runtime::IntoParam<'a, IDXGIOutput>>(&self, pdevice: Param0, pwindow: Param1, pdesc: *const DXGI_SWAP_CHAIN_DESC1, prestricttooutput: Param3) -> ::windows::runtime::Result<IDXGISwapChain1> {
6404 let mut result__: <IDXGISwapChain1 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6405 (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), pdevice.into_param().abi(), pwindow.into_param().abi(), ::std::mem::transmute(pdesc), prestricttooutput.into_param().abi(), &mut result__).from_abi::<IDXGISwapChain1>(result__)
6406 }
6407 #[cfg(feature = "Win32_Foundation")]
GetSharedResourceAdapterLuid<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(&self, hresource: Param0) -> ::windows::runtime::Result<super::super::Foundation::LUID>6408 pub unsafe fn GetSharedResourceAdapterLuid<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(&self, hresource: Param0) -> ::windows::runtime::Result<super::super::Foundation::LUID> {
6409 let mut result__: <super::super::Foundation::LUID as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6410 (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), hresource.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::LUID>(result__)
6411 }
6412 #[cfg(feature = "Win32_Foundation")]
RegisterStereoStatusWindow<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>>(&self, windowhandle: Param0, wmsg: u32) -> ::windows::runtime::Result<u32>6413 pub unsafe fn RegisterStereoStatusWindow<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>>(&self, windowhandle: Param0, wmsg: u32) -> ::windows::runtime::Result<u32> {
6414 let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6415 (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), windowhandle.into_param().abi(), ::std::mem::transmute(wmsg), &mut result__).from_abi::<u32>(result__)
6416 }
6417 #[cfg(feature = "Win32_Foundation")]
RegisterStereoStatusEvent<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(&self, hevent: Param0) -> ::windows::runtime::Result<u32>6418 pub unsafe fn RegisterStereoStatusEvent<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(&self, hevent: Param0) -> ::windows::runtime::Result<u32> {
6419 let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6420 (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), hevent.into_param().abi(), &mut result__).from_abi::<u32>(result__)
6421 }
UnregisterStereoStatus(&self, dwcookie: u32)6422 pub unsafe fn UnregisterStereoStatus(&self, dwcookie: u32) {
6423 ::std::mem::transmute((::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), ::std::mem::transmute(dwcookie)))
6424 }
6425 #[cfg(feature = "Win32_Foundation")]
RegisterOcclusionStatusWindow<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>>(&self, windowhandle: Param0, wmsg: u32) -> ::windows::runtime::Result<u32>6426 pub unsafe fn RegisterOcclusionStatusWindow<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>>(&self, windowhandle: Param0, wmsg: u32) -> ::windows::runtime::Result<u32> {
6427 let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6428 (::windows::runtime::Interface::vtable(self).21)(::std::mem::transmute_copy(self), windowhandle.into_param().abi(), ::std::mem::transmute(wmsg), &mut result__).from_abi::<u32>(result__)
6429 }
6430 #[cfg(feature = "Win32_Foundation")]
RegisterOcclusionStatusEvent<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(&self, hevent: Param0) -> ::windows::runtime::Result<u32>6431 pub unsafe fn RegisterOcclusionStatusEvent<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(&self, hevent: Param0) -> ::windows::runtime::Result<u32> {
6432 let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6433 (::windows::runtime::Interface::vtable(self).22)(::std::mem::transmute_copy(self), hevent.into_param().abi(), &mut result__).from_abi::<u32>(result__)
6434 }
UnregisterOcclusionStatus(&self, dwcookie: u32)6435 pub unsafe fn UnregisterOcclusionStatus(&self, dwcookie: u32) {
6436 ::std::mem::transmute((::windows::runtime::Interface::vtable(self).23)(::std::mem::transmute_copy(self), ::std::mem::transmute(dwcookie)))
6437 }
6438 #[cfg(feature = "Win32_Foundation")]
CreateSwapChainForComposition<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>, Param2: ::windows::runtime::IntoParam<'a, IDXGIOutput>>(&self, pdevice: Param0, pdesc: *const DXGI_SWAP_CHAIN_DESC1, prestricttooutput: Param2) -> ::windows::runtime::Result<IDXGISwapChain1>6439 pub unsafe fn CreateSwapChainForComposition<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>, Param2: ::windows::runtime::IntoParam<'a, IDXGIOutput>>(&self, pdevice: Param0, pdesc: *const DXGI_SWAP_CHAIN_DESC1, prestricttooutput: Param2) -> ::windows::runtime::Result<IDXGISwapChain1> {
6440 let mut result__: <IDXGISwapChain1 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6441 (::windows::runtime::Interface::vtable(self).24)(::std::mem::transmute_copy(self), pdevice.into_param().abi(), ::std::mem::transmute(pdesc), prestricttooutput.into_param().abi(), &mut result__).from_abi::<IDXGISwapChain1>(result__)
6442 }
GetCreationFlags(&self) -> u326443 pub unsafe fn GetCreationFlags(&self) -> u32 {
6444 ::std::mem::transmute((::windows::runtime::Interface::vtable(self).25)(::std::mem::transmute_copy(self)))
6445 }
6446 #[cfg(feature = "Win32_Foundation")]
EnumAdapterByLuid<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::LUID>, T: ::windows::runtime::Interface>(&self, adapterluid: Param0) -> ::windows::runtime::Result<T>6447 pub unsafe fn EnumAdapterByLuid<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::LUID>, T: ::windows::runtime::Interface>(&self, adapterluid: Param0) -> ::windows::runtime::Result<T> {
6448 let mut result__ = ::std::option::Option::None;
6449 (::windows::runtime::Interface::vtable(self).26)(::std::mem::transmute_copy(self), adapterluid.into_param().abi(), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
6450 }
EnumWarpAdapter<T: ::windows::runtime::Interface>(&self) -> ::windows::runtime::Result<T>6451 pub unsafe fn EnumWarpAdapter<T: ::windows::runtime::Interface>(&self) -> ::windows::runtime::Result<T> {
6452 let mut result__ = ::std::option::Option::None;
6453 (::windows::runtime::Interface::vtable(self).27)(::std::mem::transmute_copy(self), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
6454 }
CheckFeatureSupport(&self, feature: DXGI_FEATURE, pfeaturesupportdata: *mut ::std::ffi::c_void, featuresupportdatasize: u32) -> ::windows::runtime::Result<()>6455 pub unsafe fn CheckFeatureSupport(&self, feature: DXGI_FEATURE, pfeaturesupportdata: *mut ::std::ffi::c_void, featuresupportdatasize: u32) -> ::windows::runtime::Result<()> {
6456 (::windows::runtime::Interface::vtable(self).28)(::std::mem::transmute_copy(self), ::std::mem::transmute(feature), ::std::mem::transmute(pfeaturesupportdata), ::std::mem::transmute(featuresupportdatasize)).ok()
6457 }
EnumAdapterByGpuPreference<T: ::windows::runtime::Interface>(&self, adapter: u32, gpupreference: DXGI_GPU_PREFERENCE) -> ::windows::runtime::Result<T>6458 pub unsafe fn EnumAdapterByGpuPreference<T: ::windows::runtime::Interface>(&self, adapter: u32, gpupreference: DXGI_GPU_PREFERENCE) -> ::windows::runtime::Result<T> {
6459 let mut result__ = ::std::option::Option::None;
6460 (::windows::runtime::Interface::vtable(self).29)(::std::mem::transmute_copy(self), ::std::mem::transmute(adapter), ::std::mem::transmute(gpupreference), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
6461 }
6462 #[cfg(feature = "Win32_Foundation")]
RegisterAdaptersChangedEvent<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(&self, hevent: Param0) -> ::windows::runtime::Result<u32>6463 pub unsafe fn RegisterAdaptersChangedEvent<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(&self, hevent: Param0) -> ::windows::runtime::Result<u32> {
6464 let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6465 (::windows::runtime::Interface::vtable(self).30)(::std::mem::transmute_copy(self), hevent.into_param().abi(), &mut result__).from_abi::<u32>(result__)
6466 }
UnregisterAdaptersChangedEvent(&self, dwcookie: u32) -> ::windows::runtime::Result<()>6467 pub unsafe fn UnregisterAdaptersChangedEvent(&self, dwcookie: u32) -> ::windows::runtime::Result<()> {
6468 (::windows::runtime::Interface::vtable(self).31)(::std::mem::transmute_copy(self), ::std::mem::transmute(dwcookie)).ok()
6469 }
6470 }
6471 unsafe impl ::windows::runtime::Interface for IDXGIFactory7 {
6472 type Vtable = IDXGIFactory7_abi;
6473 const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2761322221, 30427, 17626, [132, 193, 238, 154, 122, 251, 32, 168]);
6474 }
6475 impl ::std::convert::From<IDXGIFactory7> for ::windows::runtime::IUnknown {
from(value: IDXGIFactory7) -> Self6476 fn from(value: IDXGIFactory7) -> Self {
6477 unsafe { ::std::mem::transmute(value) }
6478 }
6479 }
6480 impl ::std::convert::From<&IDXGIFactory7> for ::windows::runtime::IUnknown {
from(value: &IDXGIFactory7) -> Self6481 fn from(value: &IDXGIFactory7) -> Self {
6482 ::std::convert::From::from(::std::clone::Clone::clone(value))
6483 }
6484 }
6485 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IDXGIFactory7 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6486 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6487 ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
6488 }
6489 }
6490 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IDXGIFactory7 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6491 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6492 ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
6493 }
6494 }
6495 impl ::std::convert::From<IDXGIFactory7> for IDXGIFactory6 {
from(value: IDXGIFactory7) -> Self6496 fn from(value: IDXGIFactory7) -> Self {
6497 unsafe { ::std::mem::transmute(value) }
6498 }
6499 }
6500 impl ::std::convert::From<&IDXGIFactory7> for IDXGIFactory6 {
from(value: &IDXGIFactory7) -> Self6501 fn from(value: &IDXGIFactory7) -> Self {
6502 ::std::convert::From::from(::std::clone::Clone::clone(value))
6503 }
6504 }
6505 impl<'a> ::windows::runtime::IntoParam<'a, IDXGIFactory6> for IDXGIFactory7 {
into_param(self) -> ::windows::runtime::Param<'a, IDXGIFactory6>6506 fn into_param(self) -> ::windows::runtime::Param<'a, IDXGIFactory6> {
6507 ::windows::runtime::Param::Owned(::std::convert::Into::<IDXGIFactory6>::into(self))
6508 }
6509 }
6510 impl<'a> ::windows::runtime::IntoParam<'a, IDXGIFactory6> for &IDXGIFactory7 {
into_param(self) -> ::windows::runtime::Param<'a, IDXGIFactory6>6511 fn into_param(self) -> ::windows::runtime::Param<'a, IDXGIFactory6> {
6512 ::windows::runtime::Param::Owned(::std::convert::Into::<IDXGIFactory6>::into(::std::clone::Clone::clone(self)))
6513 }
6514 }
6515 impl ::std::convert::From<IDXGIFactory7> for IDXGIFactory5 {
from(value: IDXGIFactory7) -> Self6516 fn from(value: IDXGIFactory7) -> Self {
6517 unsafe { ::std::mem::transmute(value) }
6518 }
6519 }
6520 impl ::std::convert::From<&IDXGIFactory7> for IDXGIFactory5 {
from(value: &IDXGIFactory7) -> Self6521 fn from(value: &IDXGIFactory7) -> Self {
6522 ::std::convert::From::from(::std::clone::Clone::clone(value))
6523 }
6524 }
6525 impl<'a> ::windows::runtime::IntoParam<'a, IDXGIFactory5> for IDXGIFactory7 {
into_param(self) -> ::windows::runtime::Param<'a, IDXGIFactory5>6526 fn into_param(self) -> ::windows::runtime::Param<'a, IDXGIFactory5> {
6527 ::windows::runtime::Param::Owned(::std::convert::Into::<IDXGIFactory5>::into(self))
6528 }
6529 }
6530 impl<'a> ::windows::runtime::IntoParam<'a, IDXGIFactory5> for &IDXGIFactory7 {
into_param(self) -> ::windows::runtime::Param<'a, IDXGIFactory5>6531 fn into_param(self) -> ::windows::runtime::Param<'a, IDXGIFactory5> {
6532 ::windows::runtime::Param::Owned(::std::convert::Into::<IDXGIFactory5>::into(::std::clone::Clone::clone(self)))
6533 }
6534 }
6535 impl ::std::convert::From<IDXGIFactory7> for IDXGIFactory4 {
from(value: IDXGIFactory7) -> Self6536 fn from(value: IDXGIFactory7) -> Self {
6537 unsafe { ::std::mem::transmute(value) }
6538 }
6539 }
6540 impl ::std::convert::From<&IDXGIFactory7> for IDXGIFactory4 {
from(value: &IDXGIFactory7) -> Self6541 fn from(value: &IDXGIFactory7) -> Self {
6542 ::std::convert::From::from(::std::clone::Clone::clone(value))
6543 }
6544 }
6545 impl<'a> ::windows::runtime::IntoParam<'a, IDXGIFactory4> for IDXGIFactory7 {
into_param(self) -> ::windows::runtime::Param<'a, IDXGIFactory4>6546 fn into_param(self) -> ::windows::runtime::Param<'a, IDXGIFactory4> {
6547 ::windows::runtime::Param::Owned(::std::convert::Into::<IDXGIFactory4>::into(self))
6548 }
6549 }
6550 impl<'a> ::windows::runtime::IntoParam<'a, IDXGIFactory4> for &IDXGIFactory7 {
into_param(self) -> ::windows::runtime::Param<'a, IDXGIFactory4>6551 fn into_param(self) -> ::windows::runtime::Param<'a, IDXGIFactory4> {
6552 ::windows::runtime::Param::Owned(::std::convert::Into::<IDXGIFactory4>::into(::std::clone::Clone::clone(self)))
6553 }
6554 }
6555 impl ::std::convert::From<IDXGIFactory7> for IDXGIFactory3 {
from(value: IDXGIFactory7) -> Self6556 fn from(value: IDXGIFactory7) -> Self {
6557 unsafe { ::std::mem::transmute(value) }
6558 }
6559 }
6560 impl ::std::convert::From<&IDXGIFactory7> for IDXGIFactory3 {
from(value: &IDXGIFactory7) -> Self6561 fn from(value: &IDXGIFactory7) -> Self {
6562 ::std::convert::From::from(::std::clone::Clone::clone(value))
6563 }
6564 }
6565 impl<'a> ::windows::runtime::IntoParam<'a, IDXGIFactory3> for IDXGIFactory7 {
into_param(self) -> ::windows::runtime::Param<'a, IDXGIFactory3>6566 fn into_param(self) -> ::windows::runtime::Param<'a, IDXGIFactory3> {
6567 ::windows::runtime::Param::Owned(::std::convert::Into::<IDXGIFactory3>::into(self))
6568 }
6569 }
6570 impl<'a> ::windows::runtime::IntoParam<'a, IDXGIFactory3> for &IDXGIFactory7 {
into_param(self) -> ::windows::runtime::Param<'a, IDXGIFactory3>6571 fn into_param(self) -> ::windows::runtime::Param<'a, IDXGIFactory3> {
6572 ::windows::runtime::Param::Owned(::std::convert::Into::<IDXGIFactory3>::into(::std::clone::Clone::clone(self)))
6573 }
6574 }
6575 impl ::std::convert::From<IDXGIFactory7> for IDXGIFactory2 {
from(value: IDXGIFactory7) -> Self6576 fn from(value: IDXGIFactory7) -> Self {
6577 unsafe { ::std::mem::transmute(value) }
6578 }
6579 }
6580 impl ::std::convert::From<&IDXGIFactory7> for IDXGIFactory2 {
from(value: &IDXGIFactory7) -> Self6581 fn from(value: &IDXGIFactory7) -> Self {
6582 ::std::convert::From::from(::std::clone::Clone::clone(value))
6583 }
6584 }
6585 impl<'a> ::windows::runtime::IntoParam<'a, IDXGIFactory2> for IDXGIFactory7 {
into_param(self) -> ::windows::runtime::Param<'a, IDXGIFactory2>6586 fn into_param(self) -> ::windows::runtime::Param<'a, IDXGIFactory2> {
6587 ::windows::runtime::Param::Owned(::std::convert::Into::<IDXGIFactory2>::into(self))
6588 }
6589 }
6590 impl<'a> ::windows::runtime::IntoParam<'a, IDXGIFactory2> for &IDXGIFactory7 {
into_param(self) -> ::windows::runtime::Param<'a, IDXGIFactory2>6591 fn into_param(self) -> ::windows::runtime::Param<'a, IDXGIFactory2> {
6592 ::windows::runtime::Param::Owned(::std::convert::Into::<IDXGIFactory2>::into(::std::clone::Clone::clone(self)))
6593 }
6594 }
6595 impl ::std::convert::From<IDXGIFactory7> for IDXGIFactory1 {
from(value: IDXGIFactory7) -> Self6596 fn from(value: IDXGIFactory7) -> Self {
6597 unsafe { ::std::mem::transmute(value) }
6598 }
6599 }
6600 impl ::std::convert::From<&IDXGIFactory7> for IDXGIFactory1 {
from(value: &IDXGIFactory7) -> Self6601 fn from(value: &IDXGIFactory7) -> Self {
6602 ::std::convert::From::from(::std::clone::Clone::clone(value))
6603 }
6604 }
6605 impl<'a> ::windows::runtime::IntoParam<'a, IDXGIFactory1> for IDXGIFactory7 {
into_param(self) -> ::windows::runtime::Param<'a, IDXGIFactory1>6606 fn into_param(self) -> ::windows::runtime::Param<'a, IDXGIFactory1> {
6607 ::windows::runtime::Param::Owned(::std::convert::Into::<IDXGIFactory1>::into(self))
6608 }
6609 }
6610 impl<'a> ::windows::runtime::IntoParam<'a, IDXGIFactory1> for &IDXGIFactory7 {
into_param(self) -> ::windows::runtime::Param<'a, IDXGIFactory1>6611 fn into_param(self) -> ::windows::runtime::Param<'a, IDXGIFactory1> {
6612 ::windows::runtime::Param::Owned(::std::convert::Into::<IDXGIFactory1>::into(::std::clone::Clone::clone(self)))
6613 }
6614 }
6615 impl ::std::convert::From<IDXGIFactory7> for IDXGIFactory {
from(value: IDXGIFactory7) -> Self6616 fn from(value: IDXGIFactory7) -> Self {
6617 unsafe { ::std::mem::transmute(value) }
6618 }
6619 }
6620 impl ::std::convert::From<&IDXGIFactory7> for IDXGIFactory {
from(value: &IDXGIFactory7) -> Self6621 fn from(value: &IDXGIFactory7) -> Self {
6622 ::std::convert::From::from(::std::clone::Clone::clone(value))
6623 }
6624 }
6625 impl<'a> ::windows::runtime::IntoParam<'a, IDXGIFactory> for IDXGIFactory7 {
into_param(self) -> ::windows::runtime::Param<'a, IDXGIFactory>6626 fn into_param(self) -> ::windows::runtime::Param<'a, IDXGIFactory> {
6627 ::windows::runtime::Param::Owned(::std::convert::Into::<IDXGIFactory>::into(self))
6628 }
6629 }
6630 impl<'a> ::windows::runtime::IntoParam<'a, IDXGIFactory> for &IDXGIFactory7 {
into_param(self) -> ::windows::runtime::Param<'a, IDXGIFactory>6631 fn into_param(self) -> ::windows::runtime::Param<'a, IDXGIFactory> {
6632 ::windows::runtime::Param::Owned(::std::convert::Into::<IDXGIFactory>::into(::std::clone::Clone::clone(self)))
6633 }
6634 }
6635 impl ::std::convert::From<IDXGIFactory7> for IDXGIObject {
from(value: IDXGIFactory7) -> Self6636 fn from(value: IDXGIFactory7) -> Self {
6637 unsafe { ::std::mem::transmute(value) }
6638 }
6639 }
6640 impl ::std::convert::From<&IDXGIFactory7> for IDXGIObject {
from(value: &IDXGIFactory7) -> Self6641 fn from(value: &IDXGIFactory7) -> Self {
6642 ::std::convert::From::from(::std::clone::Clone::clone(value))
6643 }
6644 }
6645 impl<'a> ::windows::runtime::IntoParam<'a, IDXGIObject> for IDXGIFactory7 {
into_param(self) -> ::windows::runtime::Param<'a, IDXGIObject>6646 fn into_param(self) -> ::windows::runtime::Param<'a, IDXGIObject> {
6647 ::windows::runtime::Param::Owned(::std::convert::Into::<IDXGIObject>::into(self))
6648 }
6649 }
6650 impl<'a> ::windows::runtime::IntoParam<'a, IDXGIObject> for &IDXGIFactory7 {
into_param(self) -> ::windows::runtime::Param<'a, IDXGIObject>6651 fn into_param(self) -> ::windows::runtime::Param<'a, IDXGIObject> {
6652 ::windows::runtime::Param::Owned(::std::convert::Into::<IDXGIObject>::into(::std::clone::Clone::clone(self)))
6653 }
6654 }
6655 #[repr(C)]
6656 #[doc(hidden)]
6657 pub struct IDXGIFactory7_abi(
6658 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6659 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6660 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6661 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
6662 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: *const ::windows::runtime::GUID, punknown: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6663 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
6664 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, ppparent: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
6665 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, adapter: u32, ppadapter: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6666 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, windowhandle: super::super::Foundation::HWND, flags: u32) -> ::windows::runtime::HRESULT,
6667 #[cfg(not(feature = "Win32_Foundation"))] usize,
6668 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pwindowhandle: *mut super::super::Foundation::HWND) -> ::windows::runtime::HRESULT,
6669 #[cfg(not(feature = "Win32_Foundation"))] usize,
6670 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdevice: ::windows::runtime::RawPtr, pdesc: *const DXGI_SWAP_CHAIN_DESC, ppswapchain: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6671 #[cfg(not(feature = "Win32_Foundation"))] usize,
6672 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, module: super::super::Foundation::HINSTANCE, ppadapter: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6673 #[cfg(not(feature = "Win32_Foundation"))] usize,
6674 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, adapter: u32, ppadapter: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6675 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> super::super::Foundation::BOOL,
6676 #[cfg(not(feature = "Win32_Foundation"))] usize,
6677 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> super::super::Foundation::BOOL,
6678 #[cfg(not(feature = "Win32_Foundation"))] usize,
6679 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdevice: ::windows::runtime::RawPtr, hwnd: super::super::Foundation::HWND, pdesc: *const DXGI_SWAP_CHAIN_DESC1, pfullscreendesc: *const DXGI_SWAP_CHAIN_FULLSCREEN_DESC, prestricttooutput: ::windows::runtime::RawPtr, ppswapchain: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6680 #[cfg(not(feature = "Win32_Foundation"))] usize,
6681 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdevice: ::windows::runtime::RawPtr, pwindow: ::windows::runtime::RawPtr, pdesc: *const DXGI_SWAP_CHAIN_DESC1, prestricttooutput: ::windows::runtime::RawPtr, ppswapchain: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6682 #[cfg(not(feature = "Win32_Foundation"))] usize,
6683 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, hresource: super::super::Foundation::HANDLE, pluid: *mut super::super::Foundation::LUID) -> ::windows::runtime::HRESULT,
6684 #[cfg(not(feature = "Win32_Foundation"))] usize,
6685 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, windowhandle: super::super::Foundation::HWND, wmsg: u32, pdwcookie: *mut u32) -> ::windows::runtime::HRESULT,
6686 #[cfg(not(feature = "Win32_Foundation"))] usize,
6687 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, hevent: super::super::Foundation::HANDLE, pdwcookie: *mut u32) -> ::windows::runtime::HRESULT,
6688 #[cfg(not(feature = "Win32_Foundation"))] usize,
6689 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dwcookie: u32),
6690 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, windowhandle: super::super::Foundation::HWND, wmsg: u32, pdwcookie: *mut u32) -> ::windows::runtime::HRESULT,
6691 #[cfg(not(feature = "Win32_Foundation"))] usize,
6692 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, hevent: super::super::Foundation::HANDLE, pdwcookie: *mut u32) -> ::windows::runtime::HRESULT,
6693 #[cfg(not(feature = "Win32_Foundation"))] usize,
6694 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dwcookie: u32),
6695 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdevice: ::windows::runtime::RawPtr, pdesc: *const DXGI_SWAP_CHAIN_DESC1, prestricttooutput: ::windows::runtime::RawPtr, ppswapchain: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6696 #[cfg(not(feature = "Win32_Foundation"))] usize,
6697 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6698 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, adapterluid: super::super::Foundation::LUID, riid: *const ::windows::runtime::GUID, ppvadapter: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
6699 #[cfg(not(feature = "Win32_Foundation"))] usize,
6700 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, ppvadapter: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
6701 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, feature: DXGI_FEATURE, pfeaturesupportdata: *mut ::std::ffi::c_void, featuresupportdatasize: u32) -> ::windows::runtime::HRESULT,
6702 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, adapter: u32, gpupreference: DXGI_GPU_PREFERENCE, riid: *const ::windows::runtime::GUID, ppvadapter: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
6703 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, hevent: super::super::Foundation::HANDLE, pdwcookie: *mut u32) -> ::windows::runtime::HRESULT,
6704 #[cfg(not(feature = "Win32_Foundation"))] usize,
6705 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dwcookie: u32) -> ::windows::runtime::HRESULT,
6706 );
6707 #[repr(transparent)]
6708 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
6709 pub struct IDXGIFactoryMedia(::windows::runtime::IUnknown);
6710 impl IDXGIFactoryMedia {
6711 #[cfg(feature = "Win32_Foundation")]
CreateSwapChainForCompositionSurfaceHandle<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, Param3: ::windows::runtime::IntoParam<'a, IDXGIOutput>>(&self, pdevice: Param0, hsurface: Param1, pdesc: *const DXGI_SWAP_CHAIN_DESC1, prestricttooutput: Param3) -> ::windows::runtime::Result<IDXGISwapChain1>6712 pub unsafe fn CreateSwapChainForCompositionSurfaceHandle<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, Param3: ::windows::runtime::IntoParam<'a, IDXGIOutput>>(&self, pdevice: Param0, hsurface: Param1, pdesc: *const DXGI_SWAP_CHAIN_DESC1, prestricttooutput: Param3) -> ::windows::runtime::Result<IDXGISwapChain1> {
6713 let mut result__: <IDXGISwapChain1 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6714 (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), pdevice.into_param().abi(), hsurface.into_param().abi(), ::std::mem::transmute(pdesc), prestricttooutput.into_param().abi(), &mut result__).from_abi::<IDXGISwapChain1>(result__)
6715 }
6716 #[cfg(feature = "Win32_Foundation")]
CreateDecodeSwapChainForCompositionSurfaceHandle<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, Param3: ::windows::runtime::IntoParam<'a, IDXGIResource>, Param4: ::windows::runtime::IntoParam<'a, IDXGIOutput>>( &self, pdevice: Param0, hsurface: Param1, pdesc: *const DXGI_DECODE_SWAP_CHAIN_DESC, pyuvdecodebuffers: Param3, prestricttooutput: Param4, ) -> ::windows::runtime::Result<IDXGIDecodeSwapChain>6717 pub unsafe fn CreateDecodeSwapChainForCompositionSurfaceHandle<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, Param3: ::windows::runtime::IntoParam<'a, IDXGIResource>, Param4: ::windows::runtime::IntoParam<'a, IDXGIOutput>>(
6718 &self,
6719 pdevice: Param0,
6720 hsurface: Param1,
6721 pdesc: *const DXGI_DECODE_SWAP_CHAIN_DESC,
6722 pyuvdecodebuffers: Param3,
6723 prestricttooutput: Param4,
6724 ) -> ::windows::runtime::Result<IDXGIDecodeSwapChain> {
6725 let mut result__: <IDXGIDecodeSwapChain as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6726 (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), pdevice.into_param().abi(), hsurface.into_param().abi(), ::std::mem::transmute(pdesc), pyuvdecodebuffers.into_param().abi(), prestricttooutput.into_param().abi(), &mut result__).from_abi::<IDXGIDecodeSwapChain>(result__)
6727 }
6728 }
6729 unsafe impl ::windows::runtime::Interface for IDXGIFactoryMedia {
6730 type Vtable = IDXGIFactoryMedia_abi;
6731 const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1105711602, 42385, 20347, [162, 229, 250, 156, 132, 62, 28, 18]);
6732 }
6733 impl ::std::convert::From<IDXGIFactoryMedia> for ::windows::runtime::IUnknown {
from(value: IDXGIFactoryMedia) -> Self6734 fn from(value: IDXGIFactoryMedia) -> Self {
6735 unsafe { ::std::mem::transmute(value) }
6736 }
6737 }
6738 impl ::std::convert::From<&IDXGIFactoryMedia> for ::windows::runtime::IUnknown {
from(value: &IDXGIFactoryMedia) -> Self6739 fn from(value: &IDXGIFactoryMedia) -> Self {
6740 ::std::convert::From::from(::std::clone::Clone::clone(value))
6741 }
6742 }
6743 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IDXGIFactoryMedia {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6744 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6745 ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
6746 }
6747 }
6748 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IDXGIFactoryMedia {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6749 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6750 ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
6751 }
6752 }
6753 #[repr(C)]
6754 #[doc(hidden)]
6755 pub struct IDXGIFactoryMedia_abi(
6756 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6757 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6758 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6759 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdevice: ::windows::runtime::RawPtr, hsurface: super::super::Foundation::HANDLE, pdesc: *const DXGI_SWAP_CHAIN_DESC1, prestricttooutput: ::windows::runtime::RawPtr, ppswapchain: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6760 #[cfg(not(feature = "Win32_Foundation"))] usize,
6761 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdevice: ::windows::runtime::RawPtr, hsurface: super::super::Foundation::HANDLE, pdesc: *const DXGI_DECODE_SWAP_CHAIN_DESC, pyuvdecodebuffers: ::windows::runtime::RawPtr, prestricttooutput: ::windows::runtime::RawPtr, ppswapchain: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6762 #[cfg(not(feature = "Win32_Foundation"))] usize,
6763 );
6764 #[repr(transparent)]
6765 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
6766 pub struct IDXGIInfoQueue(::windows::runtime::IUnknown);
6767 impl IDXGIInfoQueue {
SetMessageCountLimit<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>>(&self, producer: Param0, messagecountlimit: u64) -> ::windows::runtime::Result<()>6768 pub unsafe fn SetMessageCountLimit<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>>(&self, producer: Param0, messagecountlimit: u64) -> ::windows::runtime::Result<()> {
6769 (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), producer.into_param().abi(), ::std::mem::transmute(messagecountlimit)).ok()
6770 }
ClearStoredMessages<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>>(&self, producer: Param0)6771 pub unsafe fn ClearStoredMessages<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>>(&self, producer: Param0) {
6772 ::std::mem::transmute((::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), producer.into_param().abi()))
6773 }
GetMessage<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>>(&self, producer: Param0, messageindex: u64, pmessage: *mut DXGI_INFO_QUEUE_MESSAGE, pmessagebytelength: *mut usize) -> ::windows::runtime::Result<()>6774 pub unsafe fn GetMessage<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>>(&self, producer: Param0, messageindex: u64, pmessage: *mut DXGI_INFO_QUEUE_MESSAGE, pmessagebytelength: *mut usize) -> ::windows::runtime::Result<()> {
6775 (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), producer.into_param().abi(), ::std::mem::transmute(messageindex), ::std::mem::transmute(pmessage), ::std::mem::transmute(pmessagebytelength)).ok()
6776 }
GetNumStoredMessagesAllowedByRetrievalFilters<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>>(&self, producer: Param0) -> u646777 pub unsafe fn GetNumStoredMessagesAllowedByRetrievalFilters<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>>(&self, producer: Param0) -> u64 {
6778 ::std::mem::transmute((::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), producer.into_param().abi()))
6779 }
GetNumStoredMessages<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>>(&self, producer: Param0) -> u646780 pub unsafe fn GetNumStoredMessages<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>>(&self, producer: Param0) -> u64 {
6781 ::std::mem::transmute((::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), producer.into_param().abi()))
6782 }
GetNumMessagesDiscardedByMessageCountLimit<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>>(&self, producer: Param0) -> u646783 pub unsafe fn GetNumMessagesDiscardedByMessageCountLimit<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>>(&self, producer: Param0) -> u64 {
6784 ::std::mem::transmute((::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), producer.into_param().abi()))
6785 }
GetMessageCountLimit<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>>(&self, producer: Param0) -> u646786 pub unsafe fn GetMessageCountLimit<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>>(&self, producer: Param0) -> u64 {
6787 ::std::mem::transmute((::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), producer.into_param().abi()))
6788 }
GetNumMessagesAllowedByStorageFilter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>>(&self, producer: Param0) -> u646789 pub unsafe fn GetNumMessagesAllowedByStorageFilter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>>(&self, producer: Param0) -> u64 {
6790 ::std::mem::transmute((::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), producer.into_param().abi()))
6791 }
GetNumMessagesDeniedByStorageFilter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>>(&self, producer: Param0) -> u646792 pub unsafe fn GetNumMessagesDeniedByStorageFilter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>>(&self, producer: Param0) -> u64 {
6793 ::std::mem::transmute((::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), producer.into_param().abi()))
6794 }
AddStorageFilterEntries<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>>(&self, producer: Param0, pfilter: *const DXGI_INFO_QUEUE_FILTER) -> ::windows::runtime::Result<()>6795 pub unsafe fn AddStorageFilterEntries<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>>(&self, producer: Param0, pfilter: *const DXGI_INFO_QUEUE_FILTER) -> ::windows::runtime::Result<()> {
6796 (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), producer.into_param().abi(), ::std::mem::transmute(pfilter)).ok()
6797 }
GetStorageFilter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>>(&self, producer: Param0, pfilter: *mut DXGI_INFO_QUEUE_FILTER, pfilterbytelength: *mut usize) -> ::windows::runtime::Result<()>6798 pub unsafe fn GetStorageFilter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>>(&self, producer: Param0, pfilter: *mut DXGI_INFO_QUEUE_FILTER, pfilterbytelength: *mut usize) -> ::windows::runtime::Result<()> {
6799 (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), producer.into_param().abi(), ::std::mem::transmute(pfilter), ::std::mem::transmute(pfilterbytelength)).ok()
6800 }
ClearStorageFilter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>>(&self, producer: Param0)6801 pub unsafe fn ClearStorageFilter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>>(&self, producer: Param0) {
6802 ::std::mem::transmute((::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), producer.into_param().abi()))
6803 }
PushEmptyStorageFilter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>>(&self, producer: Param0) -> ::windows::runtime::Result<()>6804 pub unsafe fn PushEmptyStorageFilter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>>(&self, producer: Param0) -> ::windows::runtime::Result<()> {
6805 (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), producer.into_param().abi()).ok()
6806 }
PushDenyAllStorageFilter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>>(&self, producer: Param0) -> ::windows::runtime::Result<()>6807 pub unsafe fn PushDenyAllStorageFilter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>>(&self, producer: Param0) -> ::windows::runtime::Result<()> {
6808 (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), producer.into_param().abi()).ok()
6809 }
PushCopyOfStorageFilter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>>(&self, producer: Param0) -> ::windows::runtime::Result<()>6810 pub unsafe fn PushCopyOfStorageFilter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>>(&self, producer: Param0) -> ::windows::runtime::Result<()> {
6811 (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), producer.into_param().abi()).ok()
6812 }
PushStorageFilter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>>(&self, producer: Param0, pfilter: *const DXGI_INFO_QUEUE_FILTER) -> ::windows::runtime::Result<()>6813 pub unsafe fn PushStorageFilter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>>(&self, producer: Param0, pfilter: *const DXGI_INFO_QUEUE_FILTER) -> ::windows::runtime::Result<()> {
6814 (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), producer.into_param().abi(), ::std::mem::transmute(pfilter)).ok()
6815 }
PopStorageFilter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>>(&self, producer: Param0)6816 pub unsafe fn PopStorageFilter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>>(&self, producer: Param0) {
6817 ::std::mem::transmute((::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), producer.into_param().abi()))
6818 }
GetStorageFilterStackSize<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>>(&self, producer: Param0) -> u326819 pub unsafe fn GetStorageFilterStackSize<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>>(&self, producer: Param0) -> u32 {
6820 ::std::mem::transmute((::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), producer.into_param().abi()))
6821 }
AddRetrievalFilterEntries<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>>(&self, producer: Param0, pfilter: *const DXGI_INFO_QUEUE_FILTER) -> ::windows::runtime::Result<()>6822 pub unsafe fn AddRetrievalFilterEntries<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>>(&self, producer: Param0, pfilter: *const DXGI_INFO_QUEUE_FILTER) -> ::windows::runtime::Result<()> {
6823 (::windows::runtime::Interface::vtable(self).21)(::std::mem::transmute_copy(self), producer.into_param().abi(), ::std::mem::transmute(pfilter)).ok()
6824 }
GetRetrievalFilter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>>(&self, producer: Param0, pfilter: *mut DXGI_INFO_QUEUE_FILTER, pfilterbytelength: *mut usize) -> ::windows::runtime::Result<()>6825 pub unsafe fn GetRetrievalFilter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>>(&self, producer: Param0, pfilter: *mut DXGI_INFO_QUEUE_FILTER, pfilterbytelength: *mut usize) -> ::windows::runtime::Result<()> {
6826 (::windows::runtime::Interface::vtable(self).22)(::std::mem::transmute_copy(self), producer.into_param().abi(), ::std::mem::transmute(pfilter), ::std::mem::transmute(pfilterbytelength)).ok()
6827 }
ClearRetrievalFilter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>>(&self, producer: Param0)6828 pub unsafe fn ClearRetrievalFilter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>>(&self, producer: Param0) {
6829 ::std::mem::transmute((::windows::runtime::Interface::vtable(self).23)(::std::mem::transmute_copy(self), producer.into_param().abi()))
6830 }
PushEmptyRetrievalFilter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>>(&self, producer: Param0) -> ::windows::runtime::Result<()>6831 pub unsafe fn PushEmptyRetrievalFilter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>>(&self, producer: Param0) -> ::windows::runtime::Result<()> {
6832 (::windows::runtime::Interface::vtable(self).24)(::std::mem::transmute_copy(self), producer.into_param().abi()).ok()
6833 }
PushDenyAllRetrievalFilter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>>(&self, producer: Param0) -> ::windows::runtime::Result<()>6834 pub unsafe fn PushDenyAllRetrievalFilter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>>(&self, producer: Param0) -> ::windows::runtime::Result<()> {
6835 (::windows::runtime::Interface::vtable(self).25)(::std::mem::transmute_copy(self), producer.into_param().abi()).ok()
6836 }
PushCopyOfRetrievalFilter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>>(&self, producer: Param0) -> ::windows::runtime::Result<()>6837 pub unsafe fn PushCopyOfRetrievalFilter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>>(&self, producer: Param0) -> ::windows::runtime::Result<()> {
6838 (::windows::runtime::Interface::vtable(self).26)(::std::mem::transmute_copy(self), producer.into_param().abi()).ok()
6839 }
PushRetrievalFilter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>>(&self, producer: Param0, pfilter: *const DXGI_INFO_QUEUE_FILTER) -> ::windows::runtime::Result<()>6840 pub unsafe fn PushRetrievalFilter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>>(&self, producer: Param0, pfilter: *const DXGI_INFO_QUEUE_FILTER) -> ::windows::runtime::Result<()> {
6841 (::windows::runtime::Interface::vtable(self).27)(::std::mem::transmute_copy(self), producer.into_param().abi(), ::std::mem::transmute(pfilter)).ok()
6842 }
PopRetrievalFilter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>>(&self, producer: Param0)6843 pub unsafe fn PopRetrievalFilter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>>(&self, producer: Param0) {
6844 ::std::mem::transmute((::windows::runtime::Interface::vtable(self).28)(::std::mem::transmute_copy(self), producer.into_param().abi()))
6845 }
GetRetrievalFilterStackSize<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>>(&self, producer: Param0) -> u326846 pub unsafe fn GetRetrievalFilterStackSize<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>>(&self, producer: Param0) -> u32 {
6847 ::std::mem::transmute((::windows::runtime::Interface::vtable(self).29)(::std::mem::transmute_copy(self), producer.into_param().abi()))
6848 }
6849 #[cfg(feature = "Win32_Foundation")]
AddMessage<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>, Param4: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(&self, producer: Param0, category: DXGI_INFO_QUEUE_MESSAGE_CATEGORY, severity: DXGI_INFO_QUEUE_MESSAGE_SEVERITY, id: i32, pdescription: Param4) -> ::windows::runtime::Result<()>6850 pub unsafe fn AddMessage<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>, Param4: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(&self, producer: Param0, category: DXGI_INFO_QUEUE_MESSAGE_CATEGORY, severity: DXGI_INFO_QUEUE_MESSAGE_SEVERITY, id: i32, pdescription: Param4) -> ::windows::runtime::Result<()> {
6851 (::windows::runtime::Interface::vtable(self).30)(::std::mem::transmute_copy(self), producer.into_param().abi(), ::std::mem::transmute(category), ::std::mem::transmute(severity), ::std::mem::transmute(id), pdescription.into_param().abi()).ok()
6852 }
6853 #[cfg(feature = "Win32_Foundation")]
AddApplicationMessage<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(&self, severity: DXGI_INFO_QUEUE_MESSAGE_SEVERITY, pdescription: Param1) -> ::windows::runtime::Result<()>6854 pub unsafe fn AddApplicationMessage<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(&self, severity: DXGI_INFO_QUEUE_MESSAGE_SEVERITY, pdescription: Param1) -> ::windows::runtime::Result<()> {
6855 (::windows::runtime::Interface::vtable(self).31)(::std::mem::transmute_copy(self), ::std::mem::transmute(severity), pdescription.into_param().abi()).ok()
6856 }
6857 #[cfg(feature = "Win32_Foundation")]
SetBreakOnCategory<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, producer: Param0, category: DXGI_INFO_QUEUE_MESSAGE_CATEGORY, benable: Param2) -> ::windows::runtime::Result<()>6858 pub unsafe fn SetBreakOnCategory<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, producer: Param0, category: DXGI_INFO_QUEUE_MESSAGE_CATEGORY, benable: Param2) -> ::windows::runtime::Result<()> {
6859 (::windows::runtime::Interface::vtable(self).32)(::std::mem::transmute_copy(self), producer.into_param().abi(), ::std::mem::transmute(category), benable.into_param().abi()).ok()
6860 }
6861 #[cfg(feature = "Win32_Foundation")]
SetBreakOnSeverity<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, producer: Param0, severity: DXGI_INFO_QUEUE_MESSAGE_SEVERITY, benable: Param2) -> ::windows::runtime::Result<()>6862 pub unsafe fn SetBreakOnSeverity<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, producer: Param0, severity: DXGI_INFO_QUEUE_MESSAGE_SEVERITY, benable: Param2) -> ::windows::runtime::Result<()> {
6863 (::windows::runtime::Interface::vtable(self).33)(::std::mem::transmute_copy(self), producer.into_param().abi(), ::std::mem::transmute(severity), benable.into_param().abi()).ok()
6864 }
6865 #[cfg(feature = "Win32_Foundation")]
SetBreakOnID<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, producer: Param0, id: i32, benable: Param2) -> ::windows::runtime::Result<()>6866 pub unsafe fn SetBreakOnID<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, producer: Param0, id: i32, benable: Param2) -> ::windows::runtime::Result<()> {
6867 (::windows::runtime::Interface::vtable(self).34)(::std::mem::transmute_copy(self), producer.into_param().abi(), ::std::mem::transmute(id), benable.into_param().abi()).ok()
6868 }
6869 #[cfg(feature = "Win32_Foundation")]
GetBreakOnCategory<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>>(&self, producer: Param0, category: DXGI_INFO_QUEUE_MESSAGE_CATEGORY) -> super::super::Foundation::BOOL6870 pub unsafe fn GetBreakOnCategory<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>>(&self, producer: Param0, category: DXGI_INFO_QUEUE_MESSAGE_CATEGORY) -> super::super::Foundation::BOOL {
6871 ::std::mem::transmute((::windows::runtime::Interface::vtable(self).35)(::std::mem::transmute_copy(self), producer.into_param().abi(), ::std::mem::transmute(category)))
6872 }
6873 #[cfg(feature = "Win32_Foundation")]
GetBreakOnSeverity<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>>(&self, producer: Param0, severity: DXGI_INFO_QUEUE_MESSAGE_SEVERITY) -> super::super::Foundation::BOOL6874 pub unsafe fn GetBreakOnSeverity<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>>(&self, producer: Param0, severity: DXGI_INFO_QUEUE_MESSAGE_SEVERITY) -> super::super::Foundation::BOOL {
6875 ::std::mem::transmute((::windows::runtime::Interface::vtable(self).36)(::std::mem::transmute_copy(self), producer.into_param().abi(), ::std::mem::transmute(severity)))
6876 }
6877 #[cfg(feature = "Win32_Foundation")]
GetBreakOnID<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>>(&self, producer: Param0, id: i32) -> super::super::Foundation::BOOL6878 pub unsafe fn GetBreakOnID<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>>(&self, producer: Param0, id: i32) -> super::super::Foundation::BOOL {
6879 ::std::mem::transmute((::windows::runtime::Interface::vtable(self).37)(::std::mem::transmute_copy(self), producer.into_param().abi(), ::std::mem::transmute(id)))
6880 }
6881 #[cfg(feature = "Win32_Foundation")]
SetMuteDebugOutput<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, producer: Param0, bmute: Param1)6882 pub unsafe fn SetMuteDebugOutput<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, producer: Param0, bmute: Param1) {
6883 ::std::mem::transmute((::windows::runtime::Interface::vtable(self).38)(::std::mem::transmute_copy(self), producer.into_param().abi(), bmute.into_param().abi()))
6884 }
6885 #[cfg(feature = "Win32_Foundation")]
GetMuteDebugOutput<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>>(&self, producer: Param0) -> super::super::Foundation::BOOL6886 pub unsafe fn GetMuteDebugOutput<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>>(&self, producer: Param0) -> super::super::Foundation::BOOL {
6887 ::std::mem::transmute((::windows::runtime::Interface::vtable(self).39)(::std::mem::transmute_copy(self), producer.into_param().abi()))
6888 }
6889 }
6890 unsafe impl ::windows::runtime::Interface for IDXGIInfoQueue {
6891 type Vtable = IDXGIInfoQueue_abi;
6892 const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3597943239, 26410, 18287, [158, 130, 205, 85, 180, 73, 73, 206]);
6893 }
6894 impl ::std::convert::From<IDXGIInfoQueue> for ::windows::runtime::IUnknown {
from(value: IDXGIInfoQueue) -> Self6895 fn from(value: IDXGIInfoQueue) -> Self {
6896 unsafe { ::std::mem::transmute(value) }
6897 }
6898 }
6899 impl ::std::convert::From<&IDXGIInfoQueue> for ::windows::runtime::IUnknown {
from(value: &IDXGIInfoQueue) -> Self6900 fn from(value: &IDXGIInfoQueue) -> Self {
6901 ::std::convert::From::from(::std::clone::Clone::clone(value))
6902 }
6903 }
6904 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IDXGIInfoQueue {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6905 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6906 ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
6907 }
6908 }
6909 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IDXGIInfoQueue {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6910 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6911 ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
6912 }
6913 }
6914 #[repr(C)]
6915 #[doc(hidden)]
6916 pub struct IDXGIInfoQueue_abi(
6917 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6918 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6919 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6920 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, producer: ::windows::runtime::GUID, messagecountlimit: u64) -> ::windows::runtime::HRESULT,
6921 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, producer: ::windows::runtime::GUID),
6922 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, producer: ::windows::runtime::GUID, messageindex: u64, pmessage: *mut DXGI_INFO_QUEUE_MESSAGE, pmessagebytelength: *mut usize) -> ::windows::runtime::HRESULT,
6923 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, producer: ::windows::runtime::GUID) -> u64,
6924 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, producer: ::windows::runtime::GUID) -> u64,
6925 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, producer: ::windows::runtime::GUID) -> u64,
6926 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, producer: ::windows::runtime::GUID) -> u64,
6927 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, producer: ::windows::runtime::GUID) -> u64,
6928 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, producer: ::windows::runtime::GUID) -> u64,
6929 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, producer: ::windows::runtime::GUID, pfilter: *const DXGI_INFO_QUEUE_FILTER) -> ::windows::runtime::HRESULT,
6930 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, producer: ::windows::runtime::GUID, pfilter: *mut DXGI_INFO_QUEUE_FILTER, pfilterbytelength: *mut usize) -> ::windows::runtime::HRESULT,
6931 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, producer: ::windows::runtime::GUID),
6932 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, producer: ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
6933 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, producer: ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
6934 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, producer: ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
6935 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, producer: ::windows::runtime::GUID, pfilter: *const DXGI_INFO_QUEUE_FILTER) -> ::windows::runtime::HRESULT,
6936 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, producer: ::windows::runtime::GUID),
6937 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, producer: ::windows::runtime::GUID) -> u32,
6938 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, producer: ::windows::runtime::GUID, pfilter: *const DXGI_INFO_QUEUE_FILTER) -> ::windows::runtime::HRESULT,
6939 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, producer: ::windows::runtime::GUID, pfilter: *mut DXGI_INFO_QUEUE_FILTER, pfilterbytelength: *mut usize) -> ::windows::runtime::HRESULT,
6940 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, producer: ::windows::runtime::GUID),
6941 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, producer: ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
6942 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, producer: ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
6943 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, producer: ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
6944 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, producer: ::windows::runtime::GUID, pfilter: *const DXGI_INFO_QUEUE_FILTER) -> ::windows::runtime::HRESULT,
6945 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, producer: ::windows::runtime::GUID),
6946 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, producer: ::windows::runtime::GUID) -> u32,
6947 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, producer: ::windows::runtime::GUID, category: DXGI_INFO_QUEUE_MESSAGE_CATEGORY, severity: DXGI_INFO_QUEUE_MESSAGE_SEVERITY, id: i32, pdescription: super::super::Foundation::PSTR) -> ::windows::runtime::HRESULT,
6948 #[cfg(not(feature = "Win32_Foundation"))] usize,
6949 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, severity: DXGI_INFO_QUEUE_MESSAGE_SEVERITY, pdescription: super::super::Foundation::PSTR) -> ::windows::runtime::HRESULT,
6950 #[cfg(not(feature = "Win32_Foundation"))] usize,
6951 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, producer: ::windows::runtime::GUID, category: DXGI_INFO_QUEUE_MESSAGE_CATEGORY, benable: super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
6952 #[cfg(not(feature = "Win32_Foundation"))] usize,
6953 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, producer: ::windows::runtime::GUID, severity: DXGI_INFO_QUEUE_MESSAGE_SEVERITY, benable: super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
6954 #[cfg(not(feature = "Win32_Foundation"))] usize,
6955 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, producer: ::windows::runtime::GUID, id: i32, benable: super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
6956 #[cfg(not(feature = "Win32_Foundation"))] usize,
6957 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, producer: ::windows::runtime::GUID, category: DXGI_INFO_QUEUE_MESSAGE_CATEGORY) -> super::super::Foundation::BOOL,
6958 #[cfg(not(feature = "Win32_Foundation"))] usize,
6959 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, producer: ::windows::runtime::GUID, severity: DXGI_INFO_QUEUE_MESSAGE_SEVERITY) -> super::super::Foundation::BOOL,
6960 #[cfg(not(feature = "Win32_Foundation"))] usize,
6961 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, producer: ::windows::runtime::GUID, id: i32) -> super::super::Foundation::BOOL,
6962 #[cfg(not(feature = "Win32_Foundation"))] usize,
6963 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, producer: ::windows::runtime::GUID, bmute: super::super::Foundation::BOOL),
6964 #[cfg(not(feature = "Win32_Foundation"))] usize,
6965 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, producer: ::windows::runtime::GUID) -> super::super::Foundation::BOOL,
6966 #[cfg(not(feature = "Win32_Foundation"))] usize,
6967 );
6968 #[repr(transparent)]
6969 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
6970 pub struct IDXGIKeyedMutex(::windows::runtime::IUnknown);
6971 impl IDXGIKeyedMutex {
SetPrivateData(&self, name: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::Result<()>6972 pub unsafe fn SetPrivateData(&self, name: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
6973 (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(name), ::std::mem::transmute(datasize), ::std::mem::transmute(pdata)).ok()
6974 }
SetPrivateDataInterface<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, name: *const ::windows::runtime::GUID, punknown: Param1) -> ::windows::runtime::Result<()>6975 pub unsafe fn SetPrivateDataInterface<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, name: *const ::windows::runtime::GUID, punknown: Param1) -> ::windows::runtime::Result<()> {
6976 (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(name), punknown.into_param().abi()).ok()
6977 }
GetPrivateData(&self, name: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()>6978 pub unsafe fn GetPrivateData(&self, name: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
6979 (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(name), ::std::mem::transmute(pdatasize), ::std::mem::transmute(pdata)).ok()
6980 }
GetParent<T: ::windows::runtime::Interface>(&self) -> ::windows::runtime::Result<T>6981 pub unsafe fn GetParent<T: ::windows::runtime::Interface>(&self) -> ::windows::runtime::Result<T> {
6982 let mut result__ = ::std::option::Option::None;
6983 (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
6984 }
GetDevice<T: ::windows::runtime::Interface>(&self) -> ::windows::runtime::Result<T>6985 pub unsafe fn GetDevice<T: ::windows::runtime::Interface>(&self) -> ::windows::runtime::Result<T> {
6986 let mut result__ = ::std::option::Option::None;
6987 (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
6988 }
AcquireSync(&self, key: u64, dwmilliseconds: u32) -> ::windows::runtime::Result<()>6989 pub unsafe fn AcquireSync(&self, key: u64, dwmilliseconds: u32) -> ::windows::runtime::Result<()> {
6990 (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(key), ::std::mem::transmute(dwmilliseconds)).ok()
6991 }
ReleaseSync(&self, key: u64) -> ::windows::runtime::Result<()>6992 pub unsafe fn ReleaseSync(&self, key: u64) -> ::windows::runtime::Result<()> {
6993 (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(key)).ok()
6994 }
6995 }
6996 unsafe impl ::windows::runtime::Interface for IDXGIKeyedMutex {
6997 type Vtable = IDXGIKeyedMutex_abi;
6998 const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2643333769, 55219, 18015, [129, 38, 37, 14, 52, 154, 248, 93]);
6999 }
7000 impl ::std::convert::From<IDXGIKeyedMutex> for ::windows::runtime::IUnknown {
from(value: IDXGIKeyedMutex) -> Self7001 fn from(value: IDXGIKeyedMutex) -> Self {
7002 unsafe { ::std::mem::transmute(value) }
7003 }
7004 }
7005 impl ::std::convert::From<&IDXGIKeyedMutex> for ::windows::runtime::IUnknown {
from(value: &IDXGIKeyedMutex) -> Self7006 fn from(value: &IDXGIKeyedMutex) -> Self {
7007 ::std::convert::From::from(::std::clone::Clone::clone(value))
7008 }
7009 }
7010 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IDXGIKeyedMutex {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7011 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7012 ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
7013 }
7014 }
7015 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IDXGIKeyedMutex {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7016 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7017 ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
7018 }
7019 }
7020 impl ::std::convert::From<IDXGIKeyedMutex> for IDXGIDeviceSubObject {
from(value: IDXGIKeyedMutex) -> Self7021 fn from(value: IDXGIKeyedMutex) -> Self {
7022 unsafe { ::std::mem::transmute(value) }
7023 }
7024 }
7025 impl ::std::convert::From<&IDXGIKeyedMutex> for IDXGIDeviceSubObject {
from(value: &IDXGIKeyedMutex) -> Self7026 fn from(value: &IDXGIKeyedMutex) -> Self {
7027 ::std::convert::From::from(::std::clone::Clone::clone(value))
7028 }
7029 }
7030 impl<'a> ::windows::runtime::IntoParam<'a, IDXGIDeviceSubObject> for IDXGIKeyedMutex {
into_param(self) -> ::windows::runtime::Param<'a, IDXGIDeviceSubObject>7031 fn into_param(self) -> ::windows::runtime::Param<'a, IDXGIDeviceSubObject> {
7032 ::windows::runtime::Param::Owned(::std::convert::Into::<IDXGIDeviceSubObject>::into(self))
7033 }
7034 }
7035 impl<'a> ::windows::runtime::IntoParam<'a, IDXGIDeviceSubObject> for &IDXGIKeyedMutex {
into_param(self) -> ::windows::runtime::Param<'a, IDXGIDeviceSubObject>7036 fn into_param(self) -> ::windows::runtime::Param<'a, IDXGIDeviceSubObject> {
7037 ::windows::runtime::Param::Owned(::std::convert::Into::<IDXGIDeviceSubObject>::into(::std::clone::Clone::clone(self)))
7038 }
7039 }
7040 impl ::std::convert::From<IDXGIKeyedMutex> for IDXGIObject {
from(value: IDXGIKeyedMutex) -> Self7041 fn from(value: IDXGIKeyedMutex) -> Self {
7042 unsafe { ::std::mem::transmute(value) }
7043 }
7044 }
7045 impl ::std::convert::From<&IDXGIKeyedMutex> for IDXGIObject {
from(value: &IDXGIKeyedMutex) -> Self7046 fn from(value: &IDXGIKeyedMutex) -> Self {
7047 ::std::convert::From::from(::std::clone::Clone::clone(value))
7048 }
7049 }
7050 impl<'a> ::windows::runtime::IntoParam<'a, IDXGIObject> for IDXGIKeyedMutex {
into_param(self) -> ::windows::runtime::Param<'a, IDXGIObject>7051 fn into_param(self) -> ::windows::runtime::Param<'a, IDXGIObject> {
7052 ::windows::runtime::Param::Owned(::std::convert::Into::<IDXGIObject>::into(self))
7053 }
7054 }
7055 impl<'a> ::windows::runtime::IntoParam<'a, IDXGIObject> for &IDXGIKeyedMutex {
into_param(self) -> ::windows::runtime::Param<'a, IDXGIObject>7056 fn into_param(self) -> ::windows::runtime::Param<'a, IDXGIObject> {
7057 ::windows::runtime::Param::Owned(::std::convert::Into::<IDXGIObject>::into(::std::clone::Clone::clone(self)))
7058 }
7059 }
7060 #[repr(C)]
7061 #[doc(hidden)]
7062 pub struct IDXGIKeyedMutex_abi(
7063 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7064 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7065 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7066 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
7067 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: *const ::windows::runtime::GUID, punknown: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7068 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
7069 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, ppparent: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
7070 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, ppdevice: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
7071 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, key: u64, dwmilliseconds: u32) -> ::windows::runtime::HRESULT,
7072 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, key: u64) -> ::windows::runtime::HRESULT,
7073 );
7074 #[repr(transparent)]
7075 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
7076 pub struct IDXGIObject(::windows::runtime::IUnknown);
7077 impl IDXGIObject {
SetPrivateData(&self, name: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::Result<()>7078 pub unsafe fn SetPrivateData(&self, name: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
7079 (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(name), ::std::mem::transmute(datasize), ::std::mem::transmute(pdata)).ok()
7080 }
SetPrivateDataInterface<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, name: *const ::windows::runtime::GUID, punknown: Param1) -> ::windows::runtime::Result<()>7081 pub unsafe fn SetPrivateDataInterface<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, name: *const ::windows::runtime::GUID, punknown: Param1) -> ::windows::runtime::Result<()> {
7082 (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(name), punknown.into_param().abi()).ok()
7083 }
GetPrivateData(&self, name: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()>7084 pub unsafe fn GetPrivateData(&self, name: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
7085 (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(name), ::std::mem::transmute(pdatasize), ::std::mem::transmute(pdata)).ok()
7086 }
GetParent<T: ::windows::runtime::Interface>(&self) -> ::windows::runtime::Result<T>7087 pub unsafe fn GetParent<T: ::windows::runtime::Interface>(&self) -> ::windows::runtime::Result<T> {
7088 let mut result__ = ::std::option::Option::None;
7089 (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
7090 }
7091 }
7092 unsafe impl ::windows::runtime::Interface for IDXGIObject {
7093 type Vtable = IDXGIObject_abi;
7094 const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2931961784, 30451, 17977, [155, 224, 40, 235, 67, 166, 122, 46]);
7095 }
7096 impl ::std::convert::From<IDXGIObject> for ::windows::runtime::IUnknown {
from(value: IDXGIObject) -> Self7097 fn from(value: IDXGIObject) -> Self {
7098 unsafe { ::std::mem::transmute(value) }
7099 }
7100 }
7101 impl ::std::convert::From<&IDXGIObject> for ::windows::runtime::IUnknown {
from(value: &IDXGIObject) -> Self7102 fn from(value: &IDXGIObject) -> Self {
7103 ::std::convert::From::from(::std::clone::Clone::clone(value))
7104 }
7105 }
7106 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IDXGIObject {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7107 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7108 ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
7109 }
7110 }
7111 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IDXGIObject {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7112 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7113 ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
7114 }
7115 }
7116 #[repr(C)]
7117 #[doc(hidden)]
7118 pub struct IDXGIObject_abi(
7119 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7120 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7121 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7122 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
7123 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: *const ::windows::runtime::GUID, punknown: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7124 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
7125 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, ppparent: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
7126 );
7127 #[repr(transparent)]
7128 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
7129 pub struct IDXGIOutput(::windows::runtime::IUnknown);
7130 impl IDXGIOutput {
SetPrivateData(&self, name: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::Result<()>7131 pub unsafe fn SetPrivateData(&self, name: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
7132 (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(name), ::std::mem::transmute(datasize), ::std::mem::transmute(pdata)).ok()
7133 }
SetPrivateDataInterface<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, name: *const ::windows::runtime::GUID, punknown: Param1) -> ::windows::runtime::Result<()>7134 pub unsafe fn SetPrivateDataInterface<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, name: *const ::windows::runtime::GUID, punknown: Param1) -> ::windows::runtime::Result<()> {
7135 (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(name), punknown.into_param().abi()).ok()
7136 }
GetPrivateData(&self, name: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()>7137 pub unsafe fn GetPrivateData(&self, name: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
7138 (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(name), ::std::mem::transmute(pdatasize), ::std::mem::transmute(pdata)).ok()
7139 }
GetParent<T: ::windows::runtime::Interface>(&self) -> ::windows::runtime::Result<T>7140 pub unsafe fn GetParent<T: ::windows::runtime::Interface>(&self) -> ::windows::runtime::Result<T> {
7141 let mut result__ = ::std::option::Option::None;
7142 (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
7143 }
7144 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
GetDesc(&self) -> ::windows::runtime::Result<DXGI_OUTPUT_DESC>7145 pub unsafe fn GetDesc(&self) -> ::windows::runtime::Result<DXGI_OUTPUT_DESC> {
7146 let mut result__: <DXGI_OUTPUT_DESC as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7147 (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<DXGI_OUTPUT_DESC>(result__)
7148 }
GetDisplayModeList(&self, enumformat: DXGI_FORMAT, flags: u32, pnummodes: *mut u32, pdesc: *mut DXGI_MODE_DESC) -> ::windows::runtime::Result<()>7149 pub unsafe fn GetDisplayModeList(&self, enumformat: DXGI_FORMAT, flags: u32, pnummodes: *mut u32, pdesc: *mut DXGI_MODE_DESC) -> ::windows::runtime::Result<()> {
7150 (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(enumformat), ::std::mem::transmute(flags), ::std::mem::transmute(pnummodes), ::std::mem::transmute(pdesc)).ok()
7151 }
FindClosestMatchingMode<'a, Param2: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, pmodetomatch: *const DXGI_MODE_DESC, pclosestmatch: *mut DXGI_MODE_DESC, pconcerneddevice: Param2) -> ::windows::runtime::Result<()>7152 pub unsafe fn FindClosestMatchingMode<'a, Param2: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, pmodetomatch: *const DXGI_MODE_DESC, pclosestmatch: *mut DXGI_MODE_DESC, pconcerneddevice: Param2) -> ::windows::runtime::Result<()> {
7153 (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(pmodetomatch), ::std::mem::transmute(pclosestmatch), pconcerneddevice.into_param().abi()).ok()
7154 }
WaitForVBlank(&self) -> ::windows::runtime::Result<()>7155 pub unsafe fn WaitForVBlank(&self) -> ::windows::runtime::Result<()> {
7156 (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self)).ok()
7157 }
7158 #[cfg(feature = "Win32_Foundation")]
TakeOwnership<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, pdevice: Param0, exclusive: Param1) -> ::windows::runtime::Result<()>7159 pub unsafe fn TakeOwnership<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, pdevice: Param0, exclusive: Param1) -> ::windows::runtime::Result<()> {
7160 (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), pdevice.into_param().abi(), exclusive.into_param().abi()).ok()
7161 }
ReleaseOwnership(&self)7162 pub unsafe fn ReleaseOwnership(&self) {
7163 ::std::mem::transmute((::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self)))
7164 }
7165 #[cfg(feature = "Win32_Foundation")]
GetGammaControlCapabilities(&self) -> ::windows::runtime::Result<DXGI_GAMMA_CONTROL_CAPABILITIES>7166 pub unsafe fn GetGammaControlCapabilities(&self) -> ::windows::runtime::Result<DXGI_GAMMA_CONTROL_CAPABILITIES> {
7167 let mut result__: <DXGI_GAMMA_CONTROL_CAPABILITIES as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7168 (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), &mut result__).from_abi::<DXGI_GAMMA_CONTROL_CAPABILITIES>(result__)
7169 }
SetGammaControl(&self, parray: *const DXGI_GAMMA_CONTROL) -> ::windows::runtime::Result<()>7170 pub unsafe fn SetGammaControl(&self, parray: *const DXGI_GAMMA_CONTROL) -> ::windows::runtime::Result<()> {
7171 (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), ::std::mem::transmute(parray)).ok()
7172 }
GetGammaControl(&self) -> ::windows::runtime::Result<DXGI_GAMMA_CONTROL>7173 pub unsafe fn GetGammaControl(&self) -> ::windows::runtime::Result<DXGI_GAMMA_CONTROL> {
7174 let mut result__: <DXGI_GAMMA_CONTROL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7175 (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), &mut result__).from_abi::<DXGI_GAMMA_CONTROL>(result__)
7176 }
SetDisplaySurface<'a, Param0: ::windows::runtime::IntoParam<'a, IDXGISurface>>(&self, pscanoutsurface: Param0) -> ::windows::runtime::Result<()>7177 pub unsafe fn SetDisplaySurface<'a, Param0: ::windows::runtime::IntoParam<'a, IDXGISurface>>(&self, pscanoutsurface: Param0) -> ::windows::runtime::Result<()> {
7178 (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), pscanoutsurface.into_param().abi()).ok()
7179 }
GetDisplaySurfaceData<'a, Param0: ::windows::runtime::IntoParam<'a, IDXGISurface>>(&self, pdestination: Param0) -> ::windows::runtime::Result<()>7180 pub unsafe fn GetDisplaySurfaceData<'a, Param0: ::windows::runtime::IntoParam<'a, IDXGISurface>>(&self, pdestination: Param0) -> ::windows::runtime::Result<()> {
7181 (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), pdestination.into_param().abi()).ok()
7182 }
GetFrameStatistics(&self) -> ::windows::runtime::Result<DXGI_FRAME_STATISTICS>7183 pub unsafe fn GetFrameStatistics(&self) -> ::windows::runtime::Result<DXGI_FRAME_STATISTICS> {
7184 let mut result__: <DXGI_FRAME_STATISTICS as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7185 (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), &mut result__).from_abi::<DXGI_FRAME_STATISTICS>(result__)
7186 }
7187 }
7188 unsafe impl ::windows::runtime::Interface for IDXGIOutput {
7189 type Vtable = IDXGIOutput_abi;
7190 const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2919427803, 50997, 18064, [141, 82, 90, 141, 194, 2, 19, 170]);
7191 }
7192 impl ::std::convert::From<IDXGIOutput> for ::windows::runtime::IUnknown {
from(value: IDXGIOutput) -> Self7193 fn from(value: IDXGIOutput) -> Self {
7194 unsafe { ::std::mem::transmute(value) }
7195 }
7196 }
7197 impl ::std::convert::From<&IDXGIOutput> for ::windows::runtime::IUnknown {
from(value: &IDXGIOutput) -> Self7198 fn from(value: &IDXGIOutput) -> Self {
7199 ::std::convert::From::from(::std::clone::Clone::clone(value))
7200 }
7201 }
7202 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IDXGIOutput {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7203 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7204 ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
7205 }
7206 }
7207 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IDXGIOutput {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7208 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7209 ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
7210 }
7211 }
7212 impl ::std::convert::From<IDXGIOutput> for IDXGIObject {
from(value: IDXGIOutput) -> Self7213 fn from(value: IDXGIOutput) -> Self {
7214 unsafe { ::std::mem::transmute(value) }
7215 }
7216 }
7217 impl ::std::convert::From<&IDXGIOutput> for IDXGIObject {
from(value: &IDXGIOutput) -> Self7218 fn from(value: &IDXGIOutput) -> Self {
7219 ::std::convert::From::from(::std::clone::Clone::clone(value))
7220 }
7221 }
7222 impl<'a> ::windows::runtime::IntoParam<'a, IDXGIObject> for IDXGIOutput {
into_param(self) -> ::windows::runtime::Param<'a, IDXGIObject>7223 fn into_param(self) -> ::windows::runtime::Param<'a, IDXGIObject> {
7224 ::windows::runtime::Param::Owned(::std::convert::Into::<IDXGIObject>::into(self))
7225 }
7226 }
7227 impl<'a> ::windows::runtime::IntoParam<'a, IDXGIObject> for &IDXGIOutput {
into_param(self) -> ::windows::runtime::Param<'a, IDXGIObject>7228 fn into_param(self) -> ::windows::runtime::Param<'a, IDXGIObject> {
7229 ::windows::runtime::Param::Owned(::std::convert::Into::<IDXGIObject>::into(::std::clone::Clone::clone(self)))
7230 }
7231 }
7232 #[repr(C)]
7233 #[doc(hidden)]
7234 pub struct IDXGIOutput_abi(
7235 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7236 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7237 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7238 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
7239 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: *const ::windows::runtime::GUID, punknown: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7240 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
7241 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, ppparent: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
7242 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *mut DXGI_OUTPUT_DESC) -> ::windows::runtime::HRESULT,
7243 #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi")))] usize,
7244 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, enumformat: DXGI_FORMAT, flags: u32, pnummodes: *mut u32, pdesc: *mut DXGI_MODE_DESC) -> ::windows::runtime::HRESULT,
7245 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pmodetomatch: *const DXGI_MODE_DESC, pclosestmatch: *mut DXGI_MODE_DESC, pconcerneddevice: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7246 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7247 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdevice: ::windows::runtime::RawPtr, exclusive: super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
7248 #[cfg(not(feature = "Win32_Foundation"))] usize,
7249 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr),
7250 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pgammacaps: *mut DXGI_GAMMA_CONTROL_CAPABILITIES) -> ::windows::runtime::HRESULT,
7251 #[cfg(not(feature = "Win32_Foundation"))] usize,
7252 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, parray: *const DXGI_GAMMA_CONTROL) -> ::windows::runtime::HRESULT,
7253 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, parray: *mut DXGI_GAMMA_CONTROL) -> ::windows::runtime::HRESULT,
7254 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pscanoutsurface: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7255 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdestination: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7256 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pstats: *mut DXGI_FRAME_STATISTICS) -> ::windows::runtime::HRESULT,
7257 );
7258 #[repr(transparent)]
7259 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
7260 pub struct IDXGIOutput1(::windows::runtime::IUnknown);
7261 impl IDXGIOutput1 {
SetPrivateData(&self, name: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::Result<()>7262 pub unsafe fn SetPrivateData(&self, name: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
7263 (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(name), ::std::mem::transmute(datasize), ::std::mem::transmute(pdata)).ok()
7264 }
SetPrivateDataInterface<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, name: *const ::windows::runtime::GUID, punknown: Param1) -> ::windows::runtime::Result<()>7265 pub unsafe fn SetPrivateDataInterface<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, name: *const ::windows::runtime::GUID, punknown: Param1) -> ::windows::runtime::Result<()> {
7266 (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(name), punknown.into_param().abi()).ok()
7267 }
GetPrivateData(&self, name: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()>7268 pub unsafe fn GetPrivateData(&self, name: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
7269 (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(name), ::std::mem::transmute(pdatasize), ::std::mem::transmute(pdata)).ok()
7270 }
GetParent<T: ::windows::runtime::Interface>(&self) -> ::windows::runtime::Result<T>7271 pub unsafe fn GetParent<T: ::windows::runtime::Interface>(&self) -> ::windows::runtime::Result<T> {
7272 let mut result__ = ::std::option::Option::None;
7273 (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
7274 }
7275 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
GetDesc(&self) -> ::windows::runtime::Result<DXGI_OUTPUT_DESC>7276 pub unsafe fn GetDesc(&self) -> ::windows::runtime::Result<DXGI_OUTPUT_DESC> {
7277 let mut result__: <DXGI_OUTPUT_DESC as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7278 (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<DXGI_OUTPUT_DESC>(result__)
7279 }
GetDisplayModeList(&self, enumformat: DXGI_FORMAT, flags: u32, pnummodes: *mut u32, pdesc: *mut DXGI_MODE_DESC) -> ::windows::runtime::Result<()>7280 pub unsafe fn GetDisplayModeList(&self, enumformat: DXGI_FORMAT, flags: u32, pnummodes: *mut u32, pdesc: *mut DXGI_MODE_DESC) -> ::windows::runtime::Result<()> {
7281 (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(enumformat), ::std::mem::transmute(flags), ::std::mem::transmute(pnummodes), ::std::mem::transmute(pdesc)).ok()
7282 }
FindClosestMatchingMode<'a, Param2: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, pmodetomatch: *const DXGI_MODE_DESC, pclosestmatch: *mut DXGI_MODE_DESC, pconcerneddevice: Param2) -> ::windows::runtime::Result<()>7283 pub unsafe fn FindClosestMatchingMode<'a, Param2: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, pmodetomatch: *const DXGI_MODE_DESC, pclosestmatch: *mut DXGI_MODE_DESC, pconcerneddevice: Param2) -> ::windows::runtime::Result<()> {
7284 (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(pmodetomatch), ::std::mem::transmute(pclosestmatch), pconcerneddevice.into_param().abi()).ok()
7285 }
WaitForVBlank(&self) -> ::windows::runtime::Result<()>7286 pub unsafe fn WaitForVBlank(&self) -> ::windows::runtime::Result<()> {
7287 (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self)).ok()
7288 }
7289 #[cfg(feature = "Win32_Foundation")]
TakeOwnership<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, pdevice: Param0, exclusive: Param1) -> ::windows::runtime::Result<()>7290 pub unsafe fn TakeOwnership<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, pdevice: Param0, exclusive: Param1) -> ::windows::runtime::Result<()> {
7291 (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), pdevice.into_param().abi(), exclusive.into_param().abi()).ok()
7292 }
ReleaseOwnership(&self)7293 pub unsafe fn ReleaseOwnership(&self) {
7294 ::std::mem::transmute((::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self)))
7295 }
7296 #[cfg(feature = "Win32_Foundation")]
GetGammaControlCapabilities(&self) -> ::windows::runtime::Result<DXGI_GAMMA_CONTROL_CAPABILITIES>7297 pub unsafe fn GetGammaControlCapabilities(&self) -> ::windows::runtime::Result<DXGI_GAMMA_CONTROL_CAPABILITIES> {
7298 let mut result__: <DXGI_GAMMA_CONTROL_CAPABILITIES as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7299 (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), &mut result__).from_abi::<DXGI_GAMMA_CONTROL_CAPABILITIES>(result__)
7300 }
SetGammaControl(&self, parray: *const DXGI_GAMMA_CONTROL) -> ::windows::runtime::Result<()>7301 pub unsafe fn SetGammaControl(&self, parray: *const DXGI_GAMMA_CONTROL) -> ::windows::runtime::Result<()> {
7302 (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), ::std::mem::transmute(parray)).ok()
7303 }
GetGammaControl(&self) -> ::windows::runtime::Result<DXGI_GAMMA_CONTROL>7304 pub unsafe fn GetGammaControl(&self) -> ::windows::runtime::Result<DXGI_GAMMA_CONTROL> {
7305 let mut result__: <DXGI_GAMMA_CONTROL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7306 (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), &mut result__).from_abi::<DXGI_GAMMA_CONTROL>(result__)
7307 }
SetDisplaySurface<'a, Param0: ::windows::runtime::IntoParam<'a, IDXGISurface>>(&self, pscanoutsurface: Param0) -> ::windows::runtime::Result<()>7308 pub unsafe fn SetDisplaySurface<'a, Param0: ::windows::runtime::IntoParam<'a, IDXGISurface>>(&self, pscanoutsurface: Param0) -> ::windows::runtime::Result<()> {
7309 (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), pscanoutsurface.into_param().abi()).ok()
7310 }
GetDisplaySurfaceData<'a, Param0: ::windows::runtime::IntoParam<'a, IDXGISurface>>(&self, pdestination: Param0) -> ::windows::runtime::Result<()>7311 pub unsafe fn GetDisplaySurfaceData<'a, Param0: ::windows::runtime::IntoParam<'a, IDXGISurface>>(&self, pdestination: Param0) -> ::windows::runtime::Result<()> {
7312 (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), pdestination.into_param().abi()).ok()
7313 }
GetFrameStatistics(&self) -> ::windows::runtime::Result<DXGI_FRAME_STATISTICS>7314 pub unsafe fn GetFrameStatistics(&self) -> ::windows::runtime::Result<DXGI_FRAME_STATISTICS> {
7315 let mut result__: <DXGI_FRAME_STATISTICS as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7316 (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), &mut result__).from_abi::<DXGI_FRAME_STATISTICS>(result__)
7317 }
7318 #[cfg(feature = "Win32_Foundation")]
GetDisplayModeList1(&self, enumformat: DXGI_FORMAT, flags: u32, pnummodes: *mut u32, pdesc: *mut DXGI_MODE_DESC1) -> ::windows::runtime::Result<()>7319 pub unsafe fn GetDisplayModeList1(&self, enumformat: DXGI_FORMAT, flags: u32, pnummodes: *mut u32, pdesc: *mut DXGI_MODE_DESC1) -> ::windows::runtime::Result<()> {
7320 (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), ::std::mem::transmute(enumformat), ::std::mem::transmute(flags), ::std::mem::transmute(pnummodes), ::std::mem::transmute(pdesc)).ok()
7321 }
7322 #[cfg(feature = "Win32_Foundation")]
FindClosestMatchingMode1<'a, Param2: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, pmodetomatch: *const DXGI_MODE_DESC1, pclosestmatch: *mut DXGI_MODE_DESC1, pconcerneddevice: Param2) -> ::windows::runtime::Result<()>7323 pub unsafe fn FindClosestMatchingMode1<'a, Param2: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, pmodetomatch: *const DXGI_MODE_DESC1, pclosestmatch: *mut DXGI_MODE_DESC1, pconcerneddevice: Param2) -> ::windows::runtime::Result<()> {
7324 (::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), ::std::mem::transmute(pmodetomatch), ::std::mem::transmute(pclosestmatch), pconcerneddevice.into_param().abi()).ok()
7325 }
GetDisplaySurfaceData1<'a, Param0: ::windows::runtime::IntoParam<'a, IDXGIResource>>(&self, pdestination: Param0) -> ::windows::runtime::Result<()>7326 pub unsafe fn GetDisplaySurfaceData1<'a, Param0: ::windows::runtime::IntoParam<'a, IDXGIResource>>(&self, pdestination: Param0) -> ::windows::runtime::Result<()> {
7327 (::windows::runtime::Interface::vtable(self).21)(::std::mem::transmute_copy(self), pdestination.into_param().abi()).ok()
7328 }
DuplicateOutput<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, pdevice: Param0) -> ::windows::runtime::Result<IDXGIOutputDuplication>7329 pub unsafe fn DuplicateOutput<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, pdevice: Param0) -> ::windows::runtime::Result<IDXGIOutputDuplication> {
7330 let mut result__: <IDXGIOutputDuplication as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7331 (::windows::runtime::Interface::vtable(self).22)(::std::mem::transmute_copy(self), pdevice.into_param().abi(), &mut result__).from_abi::<IDXGIOutputDuplication>(result__)
7332 }
7333 }
7334 unsafe impl ::windows::runtime::Interface for IDXGIOutput1 {
7335 type Vtable = IDXGIOutput1_abi;
7336 const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(13491880, 37787, 19331, [163, 64, 166, 133, 34, 102, 102, 204]);
7337 }
7338 impl ::std::convert::From<IDXGIOutput1> for ::windows::runtime::IUnknown {
from(value: IDXGIOutput1) -> Self7339 fn from(value: IDXGIOutput1) -> Self {
7340 unsafe { ::std::mem::transmute(value) }
7341 }
7342 }
7343 impl ::std::convert::From<&IDXGIOutput1> for ::windows::runtime::IUnknown {
from(value: &IDXGIOutput1) -> Self7344 fn from(value: &IDXGIOutput1) -> Self {
7345 ::std::convert::From::from(::std::clone::Clone::clone(value))
7346 }
7347 }
7348 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IDXGIOutput1 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7349 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7350 ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
7351 }
7352 }
7353 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IDXGIOutput1 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7354 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7355 ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
7356 }
7357 }
7358 impl ::std::convert::From<IDXGIOutput1> for IDXGIOutput {
from(value: IDXGIOutput1) -> Self7359 fn from(value: IDXGIOutput1) -> Self {
7360 unsafe { ::std::mem::transmute(value) }
7361 }
7362 }
7363 impl ::std::convert::From<&IDXGIOutput1> for IDXGIOutput {
from(value: &IDXGIOutput1) -> Self7364 fn from(value: &IDXGIOutput1) -> Self {
7365 ::std::convert::From::from(::std::clone::Clone::clone(value))
7366 }
7367 }
7368 impl<'a> ::windows::runtime::IntoParam<'a, IDXGIOutput> for IDXGIOutput1 {
into_param(self) -> ::windows::runtime::Param<'a, IDXGIOutput>7369 fn into_param(self) -> ::windows::runtime::Param<'a, IDXGIOutput> {
7370 ::windows::runtime::Param::Owned(::std::convert::Into::<IDXGIOutput>::into(self))
7371 }
7372 }
7373 impl<'a> ::windows::runtime::IntoParam<'a, IDXGIOutput> for &IDXGIOutput1 {
into_param(self) -> ::windows::runtime::Param<'a, IDXGIOutput>7374 fn into_param(self) -> ::windows::runtime::Param<'a, IDXGIOutput> {
7375 ::windows::runtime::Param::Owned(::std::convert::Into::<IDXGIOutput>::into(::std::clone::Clone::clone(self)))
7376 }
7377 }
7378 impl ::std::convert::From<IDXGIOutput1> for IDXGIObject {
from(value: IDXGIOutput1) -> Self7379 fn from(value: IDXGIOutput1) -> Self {
7380 unsafe { ::std::mem::transmute(value) }
7381 }
7382 }
7383 impl ::std::convert::From<&IDXGIOutput1> for IDXGIObject {
from(value: &IDXGIOutput1) -> Self7384 fn from(value: &IDXGIOutput1) -> Self {
7385 ::std::convert::From::from(::std::clone::Clone::clone(value))
7386 }
7387 }
7388 impl<'a> ::windows::runtime::IntoParam<'a, IDXGIObject> for IDXGIOutput1 {
into_param(self) -> ::windows::runtime::Param<'a, IDXGIObject>7389 fn into_param(self) -> ::windows::runtime::Param<'a, IDXGIObject> {
7390 ::windows::runtime::Param::Owned(::std::convert::Into::<IDXGIObject>::into(self))
7391 }
7392 }
7393 impl<'a> ::windows::runtime::IntoParam<'a, IDXGIObject> for &IDXGIOutput1 {
into_param(self) -> ::windows::runtime::Param<'a, IDXGIObject>7394 fn into_param(self) -> ::windows::runtime::Param<'a, IDXGIObject> {
7395 ::windows::runtime::Param::Owned(::std::convert::Into::<IDXGIObject>::into(::std::clone::Clone::clone(self)))
7396 }
7397 }
7398 #[repr(C)]
7399 #[doc(hidden)]
7400 pub struct IDXGIOutput1_abi(
7401 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7402 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7403 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7404 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
7405 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: *const ::windows::runtime::GUID, punknown: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7406 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
7407 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, ppparent: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
7408 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *mut DXGI_OUTPUT_DESC) -> ::windows::runtime::HRESULT,
7409 #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi")))] usize,
7410 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, enumformat: DXGI_FORMAT, flags: u32, pnummodes: *mut u32, pdesc: *mut DXGI_MODE_DESC) -> ::windows::runtime::HRESULT,
7411 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pmodetomatch: *const DXGI_MODE_DESC, pclosestmatch: *mut DXGI_MODE_DESC, pconcerneddevice: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7412 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7413 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdevice: ::windows::runtime::RawPtr, exclusive: super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
7414 #[cfg(not(feature = "Win32_Foundation"))] usize,
7415 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr),
7416 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pgammacaps: *mut DXGI_GAMMA_CONTROL_CAPABILITIES) -> ::windows::runtime::HRESULT,
7417 #[cfg(not(feature = "Win32_Foundation"))] usize,
7418 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, parray: *const DXGI_GAMMA_CONTROL) -> ::windows::runtime::HRESULT,
7419 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, parray: *mut DXGI_GAMMA_CONTROL) -> ::windows::runtime::HRESULT,
7420 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pscanoutsurface: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7421 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdestination: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7422 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pstats: *mut DXGI_FRAME_STATISTICS) -> ::windows::runtime::HRESULT,
7423 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, enumformat: DXGI_FORMAT, flags: u32, pnummodes: *mut u32, pdesc: *mut DXGI_MODE_DESC1) -> ::windows::runtime::HRESULT,
7424 #[cfg(not(feature = "Win32_Foundation"))] usize,
7425 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pmodetomatch: *const DXGI_MODE_DESC1, pclosestmatch: *mut DXGI_MODE_DESC1, pconcerneddevice: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7426 #[cfg(not(feature = "Win32_Foundation"))] usize,
7427 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdestination: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7428 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdevice: ::windows::runtime::RawPtr, ppoutputduplication: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7429 );
7430 #[repr(transparent)]
7431 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
7432 pub struct IDXGIOutput2(::windows::runtime::IUnknown);
7433 impl IDXGIOutput2 {
SetPrivateData(&self, name: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::Result<()>7434 pub unsafe fn SetPrivateData(&self, name: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
7435 (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(name), ::std::mem::transmute(datasize), ::std::mem::transmute(pdata)).ok()
7436 }
SetPrivateDataInterface<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, name: *const ::windows::runtime::GUID, punknown: Param1) -> ::windows::runtime::Result<()>7437 pub unsafe fn SetPrivateDataInterface<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, name: *const ::windows::runtime::GUID, punknown: Param1) -> ::windows::runtime::Result<()> {
7438 (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(name), punknown.into_param().abi()).ok()
7439 }
GetPrivateData(&self, name: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()>7440 pub unsafe fn GetPrivateData(&self, name: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
7441 (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(name), ::std::mem::transmute(pdatasize), ::std::mem::transmute(pdata)).ok()
7442 }
GetParent<T: ::windows::runtime::Interface>(&self) -> ::windows::runtime::Result<T>7443 pub unsafe fn GetParent<T: ::windows::runtime::Interface>(&self) -> ::windows::runtime::Result<T> {
7444 let mut result__ = ::std::option::Option::None;
7445 (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
7446 }
7447 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
GetDesc(&self) -> ::windows::runtime::Result<DXGI_OUTPUT_DESC>7448 pub unsafe fn GetDesc(&self) -> ::windows::runtime::Result<DXGI_OUTPUT_DESC> {
7449 let mut result__: <DXGI_OUTPUT_DESC as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7450 (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<DXGI_OUTPUT_DESC>(result__)
7451 }
GetDisplayModeList(&self, enumformat: DXGI_FORMAT, flags: u32, pnummodes: *mut u32, pdesc: *mut DXGI_MODE_DESC) -> ::windows::runtime::Result<()>7452 pub unsafe fn GetDisplayModeList(&self, enumformat: DXGI_FORMAT, flags: u32, pnummodes: *mut u32, pdesc: *mut DXGI_MODE_DESC) -> ::windows::runtime::Result<()> {
7453 (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(enumformat), ::std::mem::transmute(flags), ::std::mem::transmute(pnummodes), ::std::mem::transmute(pdesc)).ok()
7454 }
FindClosestMatchingMode<'a, Param2: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, pmodetomatch: *const DXGI_MODE_DESC, pclosestmatch: *mut DXGI_MODE_DESC, pconcerneddevice: Param2) -> ::windows::runtime::Result<()>7455 pub unsafe fn FindClosestMatchingMode<'a, Param2: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, pmodetomatch: *const DXGI_MODE_DESC, pclosestmatch: *mut DXGI_MODE_DESC, pconcerneddevice: Param2) -> ::windows::runtime::Result<()> {
7456 (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(pmodetomatch), ::std::mem::transmute(pclosestmatch), pconcerneddevice.into_param().abi()).ok()
7457 }
WaitForVBlank(&self) -> ::windows::runtime::Result<()>7458 pub unsafe fn WaitForVBlank(&self) -> ::windows::runtime::Result<()> {
7459 (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self)).ok()
7460 }
7461 #[cfg(feature = "Win32_Foundation")]
TakeOwnership<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, pdevice: Param0, exclusive: Param1) -> ::windows::runtime::Result<()>7462 pub unsafe fn TakeOwnership<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, pdevice: Param0, exclusive: Param1) -> ::windows::runtime::Result<()> {
7463 (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), pdevice.into_param().abi(), exclusive.into_param().abi()).ok()
7464 }
ReleaseOwnership(&self)7465 pub unsafe fn ReleaseOwnership(&self) {
7466 ::std::mem::transmute((::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self)))
7467 }
7468 #[cfg(feature = "Win32_Foundation")]
GetGammaControlCapabilities(&self) -> ::windows::runtime::Result<DXGI_GAMMA_CONTROL_CAPABILITIES>7469 pub unsafe fn GetGammaControlCapabilities(&self) -> ::windows::runtime::Result<DXGI_GAMMA_CONTROL_CAPABILITIES> {
7470 let mut result__: <DXGI_GAMMA_CONTROL_CAPABILITIES as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7471 (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), &mut result__).from_abi::<DXGI_GAMMA_CONTROL_CAPABILITIES>(result__)
7472 }
SetGammaControl(&self, parray: *const DXGI_GAMMA_CONTROL) -> ::windows::runtime::Result<()>7473 pub unsafe fn SetGammaControl(&self, parray: *const DXGI_GAMMA_CONTROL) -> ::windows::runtime::Result<()> {
7474 (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), ::std::mem::transmute(parray)).ok()
7475 }
GetGammaControl(&self) -> ::windows::runtime::Result<DXGI_GAMMA_CONTROL>7476 pub unsafe fn GetGammaControl(&self) -> ::windows::runtime::Result<DXGI_GAMMA_CONTROL> {
7477 let mut result__: <DXGI_GAMMA_CONTROL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7478 (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), &mut result__).from_abi::<DXGI_GAMMA_CONTROL>(result__)
7479 }
SetDisplaySurface<'a, Param0: ::windows::runtime::IntoParam<'a, IDXGISurface>>(&self, pscanoutsurface: Param0) -> ::windows::runtime::Result<()>7480 pub unsafe fn SetDisplaySurface<'a, Param0: ::windows::runtime::IntoParam<'a, IDXGISurface>>(&self, pscanoutsurface: Param0) -> ::windows::runtime::Result<()> {
7481 (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), pscanoutsurface.into_param().abi()).ok()
7482 }
GetDisplaySurfaceData<'a, Param0: ::windows::runtime::IntoParam<'a, IDXGISurface>>(&self, pdestination: Param0) -> ::windows::runtime::Result<()>7483 pub unsafe fn GetDisplaySurfaceData<'a, Param0: ::windows::runtime::IntoParam<'a, IDXGISurface>>(&self, pdestination: Param0) -> ::windows::runtime::Result<()> {
7484 (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), pdestination.into_param().abi()).ok()
7485 }
GetFrameStatistics(&self) -> ::windows::runtime::Result<DXGI_FRAME_STATISTICS>7486 pub unsafe fn GetFrameStatistics(&self) -> ::windows::runtime::Result<DXGI_FRAME_STATISTICS> {
7487 let mut result__: <DXGI_FRAME_STATISTICS as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7488 (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), &mut result__).from_abi::<DXGI_FRAME_STATISTICS>(result__)
7489 }
7490 #[cfg(feature = "Win32_Foundation")]
GetDisplayModeList1(&self, enumformat: DXGI_FORMAT, flags: u32, pnummodes: *mut u32, pdesc: *mut DXGI_MODE_DESC1) -> ::windows::runtime::Result<()>7491 pub unsafe fn GetDisplayModeList1(&self, enumformat: DXGI_FORMAT, flags: u32, pnummodes: *mut u32, pdesc: *mut DXGI_MODE_DESC1) -> ::windows::runtime::Result<()> {
7492 (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), ::std::mem::transmute(enumformat), ::std::mem::transmute(flags), ::std::mem::transmute(pnummodes), ::std::mem::transmute(pdesc)).ok()
7493 }
7494 #[cfg(feature = "Win32_Foundation")]
FindClosestMatchingMode1<'a, Param2: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, pmodetomatch: *const DXGI_MODE_DESC1, pclosestmatch: *mut DXGI_MODE_DESC1, pconcerneddevice: Param2) -> ::windows::runtime::Result<()>7495 pub unsafe fn FindClosestMatchingMode1<'a, Param2: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, pmodetomatch: *const DXGI_MODE_DESC1, pclosestmatch: *mut DXGI_MODE_DESC1, pconcerneddevice: Param2) -> ::windows::runtime::Result<()> {
7496 (::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), ::std::mem::transmute(pmodetomatch), ::std::mem::transmute(pclosestmatch), pconcerneddevice.into_param().abi()).ok()
7497 }
GetDisplaySurfaceData1<'a, Param0: ::windows::runtime::IntoParam<'a, IDXGIResource>>(&self, pdestination: Param0) -> ::windows::runtime::Result<()>7498 pub unsafe fn GetDisplaySurfaceData1<'a, Param0: ::windows::runtime::IntoParam<'a, IDXGIResource>>(&self, pdestination: Param0) -> ::windows::runtime::Result<()> {
7499 (::windows::runtime::Interface::vtable(self).21)(::std::mem::transmute_copy(self), pdestination.into_param().abi()).ok()
7500 }
DuplicateOutput<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, pdevice: Param0) -> ::windows::runtime::Result<IDXGIOutputDuplication>7501 pub unsafe fn DuplicateOutput<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, pdevice: Param0) -> ::windows::runtime::Result<IDXGIOutputDuplication> {
7502 let mut result__: <IDXGIOutputDuplication as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7503 (::windows::runtime::Interface::vtable(self).22)(::std::mem::transmute_copy(self), pdevice.into_param().abi(), &mut result__).from_abi::<IDXGIOutputDuplication>(result__)
7504 }
7505 #[cfg(feature = "Win32_Foundation")]
SupportsOverlays(&self) -> super::super::Foundation::BOOL7506 pub unsafe fn SupportsOverlays(&self) -> super::super::Foundation::BOOL {
7507 ::std::mem::transmute((::windows::runtime::Interface::vtable(self).23)(::std::mem::transmute_copy(self)))
7508 }
7509 }
7510 unsafe impl ::windows::runtime::Interface for IDXGIOutput2 {
7511 type Vtable = IDXGIOutput2_abi;
7512 const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1499347409, 10020, 18019, [153, 177, 218, 150, 157, 226, 131, 100]);
7513 }
7514 impl ::std::convert::From<IDXGIOutput2> for ::windows::runtime::IUnknown {
from(value: IDXGIOutput2) -> Self7515 fn from(value: IDXGIOutput2) -> Self {
7516 unsafe { ::std::mem::transmute(value) }
7517 }
7518 }
7519 impl ::std::convert::From<&IDXGIOutput2> for ::windows::runtime::IUnknown {
from(value: &IDXGIOutput2) -> Self7520 fn from(value: &IDXGIOutput2) -> Self {
7521 ::std::convert::From::from(::std::clone::Clone::clone(value))
7522 }
7523 }
7524 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IDXGIOutput2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7525 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7526 ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
7527 }
7528 }
7529 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IDXGIOutput2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7530 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7531 ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
7532 }
7533 }
7534 impl ::std::convert::From<IDXGIOutput2> for IDXGIOutput1 {
from(value: IDXGIOutput2) -> Self7535 fn from(value: IDXGIOutput2) -> Self {
7536 unsafe { ::std::mem::transmute(value) }
7537 }
7538 }
7539 impl ::std::convert::From<&IDXGIOutput2> for IDXGIOutput1 {
from(value: &IDXGIOutput2) -> Self7540 fn from(value: &IDXGIOutput2) -> Self {
7541 ::std::convert::From::from(::std::clone::Clone::clone(value))
7542 }
7543 }
7544 impl<'a> ::windows::runtime::IntoParam<'a, IDXGIOutput1> for IDXGIOutput2 {
into_param(self) -> ::windows::runtime::Param<'a, IDXGIOutput1>7545 fn into_param(self) -> ::windows::runtime::Param<'a, IDXGIOutput1> {
7546 ::windows::runtime::Param::Owned(::std::convert::Into::<IDXGIOutput1>::into(self))
7547 }
7548 }
7549 impl<'a> ::windows::runtime::IntoParam<'a, IDXGIOutput1> for &IDXGIOutput2 {
into_param(self) -> ::windows::runtime::Param<'a, IDXGIOutput1>7550 fn into_param(self) -> ::windows::runtime::Param<'a, IDXGIOutput1> {
7551 ::windows::runtime::Param::Owned(::std::convert::Into::<IDXGIOutput1>::into(::std::clone::Clone::clone(self)))
7552 }
7553 }
7554 impl ::std::convert::From<IDXGIOutput2> for IDXGIOutput {
from(value: IDXGIOutput2) -> Self7555 fn from(value: IDXGIOutput2) -> Self {
7556 unsafe { ::std::mem::transmute(value) }
7557 }
7558 }
7559 impl ::std::convert::From<&IDXGIOutput2> for IDXGIOutput {
from(value: &IDXGIOutput2) -> Self7560 fn from(value: &IDXGIOutput2) -> Self {
7561 ::std::convert::From::from(::std::clone::Clone::clone(value))
7562 }
7563 }
7564 impl<'a> ::windows::runtime::IntoParam<'a, IDXGIOutput> for IDXGIOutput2 {
into_param(self) -> ::windows::runtime::Param<'a, IDXGIOutput>7565 fn into_param(self) -> ::windows::runtime::Param<'a, IDXGIOutput> {
7566 ::windows::runtime::Param::Owned(::std::convert::Into::<IDXGIOutput>::into(self))
7567 }
7568 }
7569 impl<'a> ::windows::runtime::IntoParam<'a, IDXGIOutput> for &IDXGIOutput2 {
into_param(self) -> ::windows::runtime::Param<'a, IDXGIOutput>7570 fn into_param(self) -> ::windows::runtime::Param<'a, IDXGIOutput> {
7571 ::windows::runtime::Param::Owned(::std::convert::Into::<IDXGIOutput>::into(::std::clone::Clone::clone(self)))
7572 }
7573 }
7574 impl ::std::convert::From<IDXGIOutput2> for IDXGIObject {
from(value: IDXGIOutput2) -> Self7575 fn from(value: IDXGIOutput2) -> Self {
7576 unsafe { ::std::mem::transmute(value) }
7577 }
7578 }
7579 impl ::std::convert::From<&IDXGIOutput2> for IDXGIObject {
from(value: &IDXGIOutput2) -> Self7580 fn from(value: &IDXGIOutput2) -> Self {
7581 ::std::convert::From::from(::std::clone::Clone::clone(value))
7582 }
7583 }
7584 impl<'a> ::windows::runtime::IntoParam<'a, IDXGIObject> for IDXGIOutput2 {
into_param(self) -> ::windows::runtime::Param<'a, IDXGIObject>7585 fn into_param(self) -> ::windows::runtime::Param<'a, IDXGIObject> {
7586 ::windows::runtime::Param::Owned(::std::convert::Into::<IDXGIObject>::into(self))
7587 }
7588 }
7589 impl<'a> ::windows::runtime::IntoParam<'a, IDXGIObject> for &IDXGIOutput2 {
into_param(self) -> ::windows::runtime::Param<'a, IDXGIObject>7590 fn into_param(self) -> ::windows::runtime::Param<'a, IDXGIObject> {
7591 ::windows::runtime::Param::Owned(::std::convert::Into::<IDXGIObject>::into(::std::clone::Clone::clone(self)))
7592 }
7593 }
7594 #[repr(C)]
7595 #[doc(hidden)]
7596 pub struct IDXGIOutput2_abi(
7597 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7598 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7599 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7600 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
7601 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: *const ::windows::runtime::GUID, punknown: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7602 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
7603 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, ppparent: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
7604 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *mut DXGI_OUTPUT_DESC) -> ::windows::runtime::HRESULT,
7605 #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi")))] usize,
7606 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, enumformat: DXGI_FORMAT, flags: u32, pnummodes: *mut u32, pdesc: *mut DXGI_MODE_DESC) -> ::windows::runtime::HRESULT,
7607 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pmodetomatch: *const DXGI_MODE_DESC, pclosestmatch: *mut DXGI_MODE_DESC, pconcerneddevice: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7608 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7609 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdevice: ::windows::runtime::RawPtr, exclusive: super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
7610 #[cfg(not(feature = "Win32_Foundation"))] usize,
7611 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr),
7612 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pgammacaps: *mut DXGI_GAMMA_CONTROL_CAPABILITIES) -> ::windows::runtime::HRESULT,
7613 #[cfg(not(feature = "Win32_Foundation"))] usize,
7614 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, parray: *const DXGI_GAMMA_CONTROL) -> ::windows::runtime::HRESULT,
7615 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, parray: *mut DXGI_GAMMA_CONTROL) -> ::windows::runtime::HRESULT,
7616 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pscanoutsurface: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7617 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdestination: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7618 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pstats: *mut DXGI_FRAME_STATISTICS) -> ::windows::runtime::HRESULT,
7619 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, enumformat: DXGI_FORMAT, flags: u32, pnummodes: *mut u32, pdesc: *mut DXGI_MODE_DESC1) -> ::windows::runtime::HRESULT,
7620 #[cfg(not(feature = "Win32_Foundation"))] usize,
7621 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pmodetomatch: *const DXGI_MODE_DESC1, pclosestmatch: *mut DXGI_MODE_DESC1, pconcerneddevice: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7622 #[cfg(not(feature = "Win32_Foundation"))] usize,
7623 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdestination: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7624 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdevice: ::windows::runtime::RawPtr, ppoutputduplication: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7625 #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> super::super::Foundation::BOOL,
7626 #[cfg(not(feature = "Win32_Foundation"))] usize,
7627 );
7628 #[repr(transparent)]
7629 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
7630 pub struct IDXGIOutput3(::windows::runtime::IUnknown);
7631 impl IDXGIOutput3 {
SetPrivateData(&self, name: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::Result<()>7632 pub unsafe fn SetPrivateData(&self, name: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
7633 (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(name), ::std::mem::transmute(datasize), ::std::mem::transmute(pdata)).ok()
7634 }
SetPrivateDataInterface<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, name: *const ::windows::runtime::GUID, punknown: Param1) -> ::windows::runtime::Result<()>7635 pub unsafe fn SetPrivateDataInterface<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, name: *const ::windows::runtime::GUID, punknown: Param1) -> ::windows::runtime::Result<()> {
7636 (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(name), punknown.into_param().abi()).ok()
7637 }
GetPrivateData(&self, name: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()>7638 pub unsafe fn GetPrivateData(&self, name: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
7639 (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(name), ::std::mem::transmute(pdatasize), ::std::mem::transmute(pdata)).ok()
7640 }
GetParent<T: ::windows::runtime::Interface>(&self) -> ::windows::runtime::Result<T>7641 pub unsafe fn GetParent<T: ::windows::runtime::Interface>(&self) -> ::windows::runtime::Result<T> {
7642 let mut result__ = ::std::option::Option::None;
7643 (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
7644 }
7645 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
GetDesc(&self) -> ::windows::runtime::Result<DXGI_OUTPUT_DESC>7646 pub unsafe fn GetDesc(&self) -> ::windows::runtime::Result<DXGI_OUTPUT_DESC> {
7647 let mut result__: <DXGI_OUTPUT_DESC as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7648 (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<DXGI_OUTPUT_DESC>(result__)
7649 }
GetDisplayModeList(&self, enumformat: DXGI_FORMAT, flags: u32, pnummodes: *mut u32, pdesc: *mut DXGI_MODE_DESC) -> ::windows::runtime::Result<()>7650 pub unsafe fn GetDisplayModeList(&self, enumformat: DXGI_FORMAT, flags: u32, pnummodes: *mut u32, pdesc: *mut DXGI_MODE_DESC) -> ::windows::runtime::Result<()> {
7651 (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(enumformat), ::std::mem::transmute(flags), ::std::mem::transmute(pnummodes), ::std::mem::transmute(pdesc)).ok()
7652 }
FindClosestMatchingMode<'a, Param2: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, pmodetomatch: *const DXGI_MODE_DESC, pclosestmatch: *mut DXGI_MODE_DESC, pconcerneddevice: Param2) -> ::windows::runtime::Result<()>7653 pub unsafe fn FindClosestMatchingMode<'a, Param2: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, pmodetomatch: *const DXGI_MODE_DESC, pclosestmatch: *mut DXGI_MODE_DESC, pconcerneddevice: Param2) -> ::windows::runtime::Result<()> {
7654 (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(pmodetomatch), ::std::mem::transmute(pclosestmatch), pconcerneddevice.into_param().abi()).ok()
7655 }
WaitForVBlank(&self) -> ::windows::runtime::Result<()>7656 pub unsafe fn WaitForVBlank(&self) -> ::windows::runtime::Result<()> {
7657 (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self)).ok()
7658 }
7659 #[cfg(feature = "Win32_Foundation")]
TakeOwnership<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, pdevice: Param0, exclusive: Param1) -> ::windows::runtime::Result<()>7660 pub unsafe fn TakeOwnership<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, pdevice: Param0, exclusive: Param1) -> ::windows::runtime::Result<()> {
7661 (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), pdevice.into_param().abi(), exclusive.into_param().abi()).ok()
7662 }
ReleaseOwnership(&self)7663 pub unsafe fn ReleaseOwnership(&self) {
7664 ::std::mem::transmute((::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self)))
7665 }
7666 #[cfg(feature = "Win32_Foundation")]
GetGammaControlCapabilities(&self) -> ::windows::runtime::Result<DXGI_GAMMA_CONTROL_CAPABILITIES>7667 pub unsafe fn GetGammaControlCapabilities(&self) -> ::windows::runtime::Result<DXGI_GAMMA_CONTROL_CAPABILITIES> {
7668 let mut result__: <DXGI_GAMMA_CONTROL_CAPABILITIES as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7669 (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), &mut result__).from_abi::<DXGI_GAMMA_CONTROL_CAPABILITIES>(result__)
7670 }
SetGammaControl(&self, parray: *const DXGI_GAMMA_CONTROL) -> ::windows::runtime::Result<()>7671 pub unsafe fn SetGammaControl(&self, parray: *const DXGI_GAMMA_CONTROL) -> ::windows::runtime::Result<()> {
7672 (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), ::std::mem::transmute(parray)).ok()
7673 }
GetGammaControl(&self) -> ::windows::runtime::Result<DXGI_GAMMA_CONTROL>7674 pub unsafe fn GetGammaControl(&self) -> ::windows::runtime::Result<DXGI_GAMMA_CONTROL> {
7675 let mut result__: <DXGI_GAMMA_CONTROL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7676 (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), &mut result__).from_abi::<DXGI_GAMMA_CONTROL>(result__)
7677 }
SetDisplaySurface<'a, Param0: ::windows::runtime::IntoParam<'a, IDXGISurface>>(&self, pscanoutsurface: Param0) -> ::windows::runtime::Result<()>7678 pub unsafe fn SetDisplaySurface<'a, Param0: ::windows::runtime::IntoParam<'a, IDXGISurface>>(&self, pscanoutsurface: Param0) -> ::windows::runtime::Result<()> {
7679 (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), pscanoutsurface.into_param().abi()).ok()
7680 }
GetDisplaySurfaceData<'a, Param0: ::windows::runtime::IntoParam<'a, IDXGISurface>>(&self, pdestination: Param0) -> ::windows::runtime::Result<()>7681 pub unsafe fn GetDisplaySurfaceData<'a, Param0: ::windows::runtime::IntoParam<'a, IDXGISurface>>(&self, pdestination: Param0) -> ::windows::runtime::Result<()> {
7682 (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), pdestination.into_param().abi()).ok()
7683 }
GetFrameStatistics(&self) -> ::windows::runtime::Result<DXGI_FRAME_STATISTICS>7684 pub unsafe fn GetFrameStatistics(&self) -> ::windows::runtime::Result<DXGI_FRAME_STATISTICS> {
7685 let mut result__: <DXGI_FRAME_STATISTICS as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7686 (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), &mut result__).from_abi::<DXGI_FRAME_STATISTICS>(result__)
7687 }
7688 #[cfg(feature = "Win32_Foundation")]
GetDisplayModeList1(&self, enumformat: DXGI_FORMAT, flags: u32, pnummodes: *mut u32, pdesc: *mut DXGI_MODE_DESC1) -> ::windows::runtime::Result<()>7689 pub unsafe fn GetDisplayModeList1(&self, enumformat: DXGI_FORMAT, flags: u32, pnummodes: *mut u32, pdesc: *mut DXGI_MODE_DESC1) -> ::windows::runtime::Result<()> {
7690 (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), ::std::mem::transmute(enumformat), ::std::mem::transmute(flags), ::std::mem::transmute(pnummodes), ::std::mem::transmute(pdesc)).ok()
7691 }
7692 #[cfg(feature = "Win32_Foundation")]
FindClosestMatchingMode1<'a, Param2: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, pmodetomatch: *const DXGI_MODE_DESC1, pclosestmatch: *mut DXGI_MODE_DESC1, pconcerneddevice: Param2) -> ::windows::runtime::Result<()>7693 pub unsafe fn FindClosestMatchingMode1<'a, Param2: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, pmodetomatch: *const DXGI_MODE_DESC1, pclosestmatch: *mut DXGI_MODE_DESC1, pconcerneddevice: Param2) -> ::windows::runtime::Result<()> {
7694 (::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), ::std::mem::transmute(pmodetomatch), ::std::mem::transmute(pclosestmatch), pconcerneddevice.into_param().abi()).ok()
7695 }
GetDisplaySurfaceData1<'a, Param0: ::windows::runtime::IntoParam<'a, IDXGIResource>>(&self, pdestination: Param0) -> ::windows::runtime::Result<()>7696 pub unsafe fn GetDisplaySurfaceData1<'a, Param0: ::windows::runtime::IntoParam<'a, IDXGIResource>>(&self, pdestination: Param0) -> ::windows::runtime::Result<()> {
7697 (::windows::runtime::Interface::vtable(self).21)(::std::mem::transmute_copy(self), pdestination.into_param().abi()).ok()
7698 }
DuplicateOutput<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, pdevice: Param0) -> ::windows::runtime::Result<IDXGIOutputDuplication>7699 pub unsafe fn DuplicateOutput<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, pdevice: Param0) -> ::windows::runtime::Result<IDXGIOutputDuplication> {
7700 let mut result__: <IDXGIOutputDuplication as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7701 (::windows::runtime::Interface::vtable(self).22)(::std::mem::transmute_copy(self), pdevice.into_param().abi(), &mut result__).from_abi::<IDXGIOutputDuplication>(result__)
7702 }
7703 #[cfg(feature = "Win32_Foundation")]
SupportsOverlays(&self) -> super::super::Foundation::BOOL7704 pub unsafe fn SupportsOverlays(&self) -> super::super::Foundation::BOOL {
7705 ::std::mem::transmute((::windows::runtime::Interface::vtable(self).23)(::std::mem::transmute_copy(self)))
7706 }
CheckOverlaySupport<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, enumformat: DXGI_FORMAT, pconcerneddevice: Param1) -> ::windows::runtime::Result<u32>7707