Skip to main content

d3d11_ffi/
Direct3D11.rs

1#![rustfmt::skip]
2
3#[cfg(all(feature = "Win32_Graphics_Direct3D", feature = "Win32_Graphics_Dxgi"))]
4#[inline]
5pub unsafe fn D3D11CreateDevice<P0>(
6    padapter: P0,
7    drivertype: super::Direct3D::D3D_DRIVER_TYPE,
8    software: crate::Foundation::HMODULE,
9    flags: D3D11_CREATE_DEVICE_FLAG,
10    pfeaturelevels: Option<&[super::Direct3D::D3D_FEATURE_LEVEL]>,
11    sdkversion: u32,
12    ppdevice: Option<*mut Option<ID3D11Device>>,
13    pfeaturelevel: Option<*mut super::Direct3D::D3D_FEATURE_LEVEL>,
14    ppimmediatecontext: Option<*mut Option<ID3D11DeviceContext>>,
15) -> windows_core::Result<()>
16where
17    P0: windows_core::Param<crate::Dxgi::IDXGIAdapter>,
18{
19    crate::dxvk::set_wsi_driver_env(false);
20    crate::link!("d3d11.dll" "dxvk_d3d11" "system" fn D3D11CreateDevice(padapter : * mut core::ffi::c_void, drivertype : super::Direct3D:: D3D_DRIVER_TYPE, software : crate::Foundation:: HMODULE, flags : D3D11_CREATE_DEVICE_FLAG, pfeaturelevels : *const super::Direct3D:: D3D_FEATURE_LEVEL, featurelevels : u32, sdkversion : u32, ppdevice : *mut * mut core::ffi::c_void, pfeaturelevel : *mut super::Direct3D:: D3D_FEATURE_LEVEL, ppimmediatecontext : *mut * mut core::ffi::c_void) -> windows_core::HRESULT);
21    unsafe {
22        D3D11CreateDevice(
23            padapter.param().abi(),
24            drivertype,
25            software,
26            flags,
27            core::mem::transmute(
28                pfeaturelevels
29                    .map_or(core::ptr::null(), |slice| slice.as_ptr()),
30            ),
31            pfeaturelevels
32                .map_or(0, |slice| slice.len().try_into().unwrap()),
33            sdkversion,
34            core::mem::transmute(ppdevice.unwrap_or(core::mem::zeroed())),
35            core::mem::transmute(pfeaturelevel.unwrap_or(core::mem::zeroed())),
36            core::mem::transmute(ppimmediatecontext.unwrap_or(core::mem::zeroed())),
37        )
38        .ok()
39    }
40}
41#[cfg(all(
42    feature = "Win32_Graphics_Direct3D",
43    feature = "Win32_Graphics_Dxgi_Common"
44))]
45#[inline]
46pub unsafe fn D3D11CreateDeviceAndSwapChain<P0>(
47    padapter: P0,
48    drivertype: super::Direct3D::D3D_DRIVER_TYPE,
49    software: crate::Foundation::HMODULE,
50    flags: D3D11_CREATE_DEVICE_FLAG,
51    pfeaturelevels: Option<&[super::Direct3D::D3D_FEATURE_LEVEL]>,
52    sdkversion: u32,
53    pswapchaindesc: Option<*const crate::Dxgi::DXGI_SWAP_CHAIN_DESC>,
54    ppswapchain: Option<*mut Option<crate::Dxgi::IDXGISwapChain>>,
55    ppdevice: Option<*mut Option<ID3D11Device>>,
56    pfeaturelevel: Option<*mut super::Direct3D::D3D_FEATURE_LEVEL>,
57    ppimmediatecontext: Option<*mut Option<ID3D11DeviceContext>>,
58) -> windows_core::Result<()>
59where
60    P0: windows_core::Param<crate::Dxgi::IDXGIAdapter>,
61{
62    crate::dxvk::set_wsi_driver_env(true);
63    crate::link!("d3d11.dll" "dxvk_d3d11" "system" fn D3D11CreateDeviceAndSwapChain(padapter : * mut core::ffi::c_void, drivertype : super::Direct3D:: D3D_DRIVER_TYPE, software : crate::Foundation:: HMODULE, flags : D3D11_CREATE_DEVICE_FLAG, pfeaturelevels : *const super::Direct3D:: D3D_FEATURE_LEVEL, featurelevels : u32, sdkversion : u32, pswapchaindesc : *const crate::Dxgi:: DXGI_SWAP_CHAIN_DESC, ppswapchain : *mut * mut core::ffi::c_void, ppdevice : *mut * mut core::ffi::c_void, pfeaturelevel : *mut super::Direct3D:: D3D_FEATURE_LEVEL, ppimmediatecontext : *mut * mut core::ffi::c_void) -> windows_core::HRESULT);
64    unsafe {
65        D3D11CreateDeviceAndSwapChain(
66            padapter.param().abi(),
67            drivertype,
68            software,
69            flags,
70            core::mem::transmute(
71                pfeaturelevels
72                    .map_or(core::ptr::null(), |slice| slice.as_ptr()),
73            ),
74            pfeaturelevels
75                .map_or(0, |slice| slice.len().try_into().unwrap()),
76            sdkversion,
77            core::mem::transmute(pswapchaindesc.unwrap_or(core::mem::zeroed())),
78            core::mem::transmute(ppswapchain.unwrap_or(core::mem::zeroed())),
79            core::mem::transmute(ppdevice.unwrap_or(core::mem::zeroed())),
80            core::mem::transmute(pfeaturelevel.unwrap_or(core::mem::zeroed())),
81            core::mem::transmute(ppimmediatecontext.unwrap_or(core::mem::zeroed())),
82        )
83        .ok()
84    }
85}
86#[cfg(feature = "Win32_Graphics_Direct3D")]
87#[inline]
88pub unsafe fn D3DDisassemble11Trace<P2>(
89    psrcdata: *const core::ffi::c_void,
90    srcdatasize: usize,
91    ptrace: P2,
92    startstep: u32,
93    numsteps: u32,
94    flags: u32,
95) -> windows_core::Result<super::Direct3D::ID3DBlob>
96where
97    P2: windows_core::Param<ID3D11ShaderTrace>,
98{
99    windows_targets::link!("d3dcompiler_47.dll" "system" fn D3DDisassemble11Trace(psrcdata : *const core::ffi::c_void, srcdatasize : usize, ptrace : * mut core::ffi::c_void, startstep : u32, numsteps : u32, flags : u32, ppdisassembly : *mut * mut core::ffi::c_void) -> windows_core::HRESULT);
100    unsafe {
101        let mut result__ = core::mem::zeroed();
102        D3DDisassemble11Trace(
103            psrcdata,
104            srcdatasize,
105            ptrace.param().abi(),
106            startstep,
107            numsteps,
108            flags,
109            &mut result__,
110        )
111        .and_then(|| windows_core::Type::from_abi(result__))
112    }
113}
114#[inline]
115pub unsafe fn D3DX11CreateFFT<P0>(
116    pdevicecontext: P0,
117    pdesc: *const D3DX11_FFT_DESC,
118    flags: u32,
119    pbufferinfo: *mut D3DX11_FFT_BUFFER_INFO,
120    ppfft: *mut Option<ID3DX11FFT>,
121) -> windows_core::Result<()>
122where
123    P0: windows_core::Param<ID3D11DeviceContext>,
124{
125    windows_targets::link!("d3dcsx.dll" "system" fn D3DX11CreateFFT(pdevicecontext : * mut core::ffi::c_void, pdesc : *const D3DX11_FFT_DESC, flags : u32, pbufferinfo : *mut D3DX11_FFT_BUFFER_INFO, ppfft : *mut * mut core::ffi::c_void) -> windows_core::HRESULT);
126    unsafe {
127        D3DX11CreateFFT(
128            pdevicecontext.param().abi(),
129            pdesc,
130            flags,
131            core::mem::transmute(pbufferinfo),
132            core::mem::transmute(ppfft),
133        )
134        .ok()
135    }
136}
137#[inline]
138pub unsafe fn D3DX11CreateFFT1DComplex<P0>(
139    pdevicecontext: P0,
140    x: u32,
141    flags: u32,
142    pbufferinfo: *mut D3DX11_FFT_BUFFER_INFO,
143    ppfft: *mut Option<ID3DX11FFT>,
144) -> windows_core::Result<()>
145where
146    P0: windows_core::Param<ID3D11DeviceContext>,
147{
148    windows_targets::link!("d3dcsx.dll" "system" fn D3DX11CreateFFT1DComplex(pdevicecontext : * mut core::ffi::c_void, x : u32, flags : u32, pbufferinfo : *mut D3DX11_FFT_BUFFER_INFO, ppfft : *mut * mut core::ffi::c_void) -> windows_core::HRESULT);
149    unsafe {
150        D3DX11CreateFFT1DComplex(
151            pdevicecontext.param().abi(),
152            x,
153            flags,
154            core::mem::transmute(pbufferinfo),
155            core::mem::transmute(ppfft),
156        )
157        .ok()
158    }
159}
160#[inline]
161pub unsafe fn D3DX11CreateFFT1DReal<P0>(
162    pdevicecontext: P0,
163    x: u32,
164    flags: u32,
165    pbufferinfo: *mut D3DX11_FFT_BUFFER_INFO,
166    ppfft: *mut Option<ID3DX11FFT>,
167) -> windows_core::Result<()>
168where
169    P0: windows_core::Param<ID3D11DeviceContext>,
170{
171    windows_targets::link!("d3dcsx.dll" "system" fn D3DX11CreateFFT1DReal(pdevicecontext : * mut core::ffi::c_void, x : u32, flags : u32, pbufferinfo : *mut D3DX11_FFT_BUFFER_INFO, ppfft : *mut * mut core::ffi::c_void) -> windows_core::HRESULT);
172    unsafe {
173        D3DX11CreateFFT1DReal(
174            pdevicecontext.param().abi(),
175            x,
176            flags,
177            core::mem::transmute(pbufferinfo),
178            core::mem::transmute(ppfft),
179        )
180        .ok()
181    }
182}
183#[inline]
184pub unsafe fn D3DX11CreateFFT2DComplex<P0>(
185    pdevicecontext: P0,
186    x: u32,
187    y: u32,
188    flags: u32,
189    pbufferinfo: *mut D3DX11_FFT_BUFFER_INFO,
190    ppfft: *mut Option<ID3DX11FFT>,
191) -> windows_core::Result<()>
192where
193    P0: windows_core::Param<ID3D11DeviceContext>,
194{
195    windows_targets::link!("d3dcsx.dll" "system" fn D3DX11CreateFFT2DComplex(pdevicecontext : * mut core::ffi::c_void, x : u32, y : u32, flags : u32, pbufferinfo : *mut D3DX11_FFT_BUFFER_INFO, ppfft : *mut * mut core::ffi::c_void) -> windows_core::HRESULT);
196    unsafe {
197        D3DX11CreateFFT2DComplex(
198            pdevicecontext.param().abi(),
199            x,
200            y,
201            flags,
202            core::mem::transmute(pbufferinfo),
203            core::mem::transmute(ppfft),
204        )
205        .ok()
206    }
207}
208#[inline]
209pub unsafe fn D3DX11CreateFFT2DReal<P0>(
210    pdevicecontext: P0,
211    x: u32,
212    y: u32,
213    flags: u32,
214    pbufferinfo: *mut D3DX11_FFT_BUFFER_INFO,
215    ppfft: *mut Option<ID3DX11FFT>,
216) -> windows_core::Result<()>
217where
218    P0: windows_core::Param<ID3D11DeviceContext>,
219{
220    windows_targets::link!("d3dcsx.dll" "system" fn D3DX11CreateFFT2DReal(pdevicecontext : * mut core::ffi::c_void, x : u32, y : u32, flags : u32, pbufferinfo : *mut D3DX11_FFT_BUFFER_INFO, ppfft : *mut * mut core::ffi::c_void) -> windows_core::HRESULT);
221    unsafe {
222        D3DX11CreateFFT2DReal(
223            pdevicecontext.param().abi(),
224            x,
225            y,
226            flags,
227            core::mem::transmute(pbufferinfo),
228            core::mem::transmute(ppfft),
229        )
230        .ok()
231    }
232}
233#[inline]
234pub unsafe fn D3DX11CreateFFT3DComplex<P0>(
235    pdevicecontext: P0,
236    x: u32,
237    y: u32,
238    z: u32,
239    flags: u32,
240    pbufferinfo: *mut D3DX11_FFT_BUFFER_INFO,
241    ppfft: *mut Option<ID3DX11FFT>,
242) -> windows_core::Result<()>
243where
244    P0: windows_core::Param<ID3D11DeviceContext>,
245{
246    windows_targets::link!("d3dcsx.dll" "system" fn D3DX11CreateFFT3DComplex(pdevicecontext : * mut core::ffi::c_void, x : u32, y : u32, z : u32, flags : u32, pbufferinfo : *mut D3DX11_FFT_BUFFER_INFO, ppfft : *mut * mut core::ffi::c_void) -> windows_core::HRESULT);
247    unsafe {
248        D3DX11CreateFFT3DComplex(
249            pdevicecontext.param().abi(),
250            x,
251            y,
252            z,
253            flags,
254            core::mem::transmute(pbufferinfo),
255            core::mem::transmute(ppfft),
256        )
257        .ok()
258    }
259}
260#[inline]
261pub unsafe fn D3DX11CreateFFT3DReal<P0>(
262    pdevicecontext: P0,
263    x: u32,
264    y: u32,
265    z: u32,
266    flags: u32,
267    pbufferinfo: *mut D3DX11_FFT_BUFFER_INFO,
268    ppfft: *mut Option<ID3DX11FFT>,
269) -> windows_core::Result<()>
270where
271    P0: windows_core::Param<ID3D11DeviceContext>,
272{
273    windows_targets::link!("d3dcsx.dll" "system" fn D3DX11CreateFFT3DReal(pdevicecontext : * mut core::ffi::c_void, x : u32, y : u32, z : u32, flags : u32, pbufferinfo : *mut D3DX11_FFT_BUFFER_INFO, ppfft : *mut * mut core::ffi::c_void) -> windows_core::HRESULT);
274    unsafe {
275        D3DX11CreateFFT3DReal(
276            pdevicecontext.param().abi(),
277            x,
278            y,
279            z,
280            flags,
281            core::mem::transmute(pbufferinfo),
282            core::mem::transmute(ppfft),
283        )
284        .ok()
285    }
286}
287#[inline]
288pub unsafe fn D3DX11CreateScan<P0>(
289    pdevicecontext: P0,
290    maxelementscansize: u32,
291    maxscancount: u32,
292) -> windows_core::Result<ID3DX11Scan>
293where
294    P0: windows_core::Param<ID3D11DeviceContext>,
295{
296    windows_targets::link!("d3dcsx.dll" "system" fn D3DX11CreateScan(pdevicecontext : * mut core::ffi::c_void, maxelementscansize : u32, maxscancount : u32, ppscan : *mut * mut core::ffi::c_void) -> windows_core::HRESULT);
297    unsafe {
298        let mut result__ = core::mem::zeroed();
299        D3DX11CreateScan(
300            pdevicecontext.param().abi(),
301            maxelementscansize,
302            maxscancount,
303            &mut result__,
304        )
305        .and_then(|| windows_core::Type::from_abi(result__))
306    }
307}
308#[inline]
309pub unsafe fn D3DX11CreateSegmentedScan<P0>(
310    pdevicecontext: P0,
311    maxelementscansize: u32,
312) -> windows_core::Result<ID3DX11SegmentedScan>
313where
314    P0: windows_core::Param<ID3D11DeviceContext>,
315{
316    windows_targets::link!("d3dcsx.dll" "system" fn D3DX11CreateSegmentedScan(pdevicecontext : * mut core::ffi::c_void, maxelementscansize : u32, ppscan : *mut * mut core::ffi::c_void) -> windows_core::HRESULT);
317    unsafe {
318        let mut result__ = core::mem::zeroed();
319        D3DX11CreateSegmentedScan(
320            pdevicecontext.param().abi(),
321            maxelementscansize,
322            &mut result__,
323        )
324        .and_then(|| windows_core::Type::from_abi(result__))
325    }
326}
327pub const D3D11_16BIT_INDEX_STRIP_CUT_VALUE: u32 = 65535u32;
328#[repr(transparent)]
329#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
330pub struct D3D11_1_CREATE_DEVICE_CONTEXT_STATE_FLAG(pub i32);
331pub const D3D11_1_CREATE_DEVICE_CONTEXT_STATE_SINGLETHREADED:
332    D3D11_1_CREATE_DEVICE_CONTEXT_STATE_FLAG = D3D11_1_CREATE_DEVICE_CONTEXT_STATE_FLAG(1i32);
333pub const D3D11_1_UAV_SLOT_COUNT: u32 = 64u32;
334pub const D3D11_2_TILED_RESOURCE_TILE_SIZE_IN_BYTES: u32 = 65536u32;
335pub const D3D11_32BIT_INDEX_STRIP_CUT_VALUE: u32 = 4294967295u32;
336pub const D3D11_4_VIDEO_DECODER_HISTOGRAM_OFFSET_ALIGNMENT: u32 = 256u32;
337pub const D3D11_4_VIDEO_DECODER_MAX_HISTOGRAM_COMPONENTS: u32 = 4u32;
338pub const D3D11_8BIT_INDEX_STRIP_CUT_VALUE: u32 = 255u32;
339#[repr(C)]
340#[derive(Clone, Copy, Debug, PartialEq)]
341pub struct D3D11_AES_CTR_IV {
342    pub IV: u64,
343    pub Count: u64,
344}
345impl Default for D3D11_AES_CTR_IV {
346    fn default() -> Self {
347        unsafe { core::mem::zeroed() }
348    }
349}
350pub const D3D11_ANISOTROPIC_FILTERING_BIT: u32 = 64u32;
351pub const D3D11_APPEND_ALIGNED_ELEMENT: u32 = 4294967295u32;
352pub const D3D11_APPNAME_STRING: crate::core_supplemental::PCWSTR = crate::core_supplemental::w!("Name");
353pub const D3D11_APPSIZE_STRING: crate::core_supplemental::PCWSTR = crate::core_supplemental::w!("Size");
354pub const D3D11_ARRAY_AXIS_ADDRESS_RANGE_BIT_COUNT: u32 = 9u32;
355pub const D3D11_ASYNC_GETDATA_DONOTFLUSH: D3D11_ASYNC_GETDATA_FLAG = D3D11_ASYNC_GETDATA_FLAG(1i32);
356#[repr(transparent)]
357#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
358pub struct D3D11_ASYNC_GETDATA_FLAG(pub i32);
359pub const D3D11_AUTHENTICATED_CHANNEL_D3D11: D3D11_AUTHENTICATED_CHANNEL_TYPE =
360    D3D11_AUTHENTICATED_CHANNEL_TYPE(1i32);
361pub const D3D11_AUTHENTICATED_CHANNEL_DRIVER_HARDWARE: D3D11_AUTHENTICATED_CHANNEL_TYPE =
362    D3D11_AUTHENTICATED_CHANNEL_TYPE(3i32);
363pub const D3D11_AUTHENTICATED_CHANNEL_DRIVER_SOFTWARE: D3D11_AUTHENTICATED_CHANNEL_TYPE =
364    D3D11_AUTHENTICATED_CHANNEL_TYPE(2i32);
365#[repr(transparent)]
366#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
367pub struct D3D11_AUTHENTICATED_CHANNEL_TYPE(pub i32);
368#[repr(C)]
369#[derive(Clone, Copy, Debug, PartialEq)]
370pub struct D3D11_AUTHENTICATED_CONFIGURE_ACCESSIBLE_ENCRYPTION_INPUT {
371    pub Parameters: D3D11_AUTHENTICATED_CONFIGURE_INPUT,
372    pub EncryptionGuid: windows_core::GUID,
373}
374impl Default for D3D11_AUTHENTICATED_CONFIGURE_ACCESSIBLE_ENCRYPTION_INPUT {
375    fn default() -> Self {
376        unsafe { core::mem::zeroed() }
377    }
378}
379pub const D3D11_AUTHENTICATED_CONFIGURE_CRYPTO_SESSION: windows_core::GUID =
380    windows_core::GUID::from_u128(0x6346cc54_2cfc_4ad4_8224_d15837de7700);
381#[repr(C)]
382#[derive(Clone, Copy, Debug, PartialEq)]
383pub struct D3D11_AUTHENTICATED_CONFIGURE_CRYPTO_SESSION_INPUT {
384    pub Parameters: D3D11_AUTHENTICATED_CONFIGURE_INPUT,
385    pub DecoderHandle: crate::Foundation::HANDLE,
386    pub CryptoSessionHandle: crate::Foundation::HANDLE,
387    pub DeviceHandle: crate::Foundation::HANDLE,
388}
389impl Default for D3D11_AUTHENTICATED_CONFIGURE_CRYPTO_SESSION_INPUT {
390    fn default() -> Self {
391        unsafe { core::mem::zeroed() }
392    }
393}
394pub const D3D11_AUTHENTICATED_CONFIGURE_ENCRYPTION_WHEN_ACCESSIBLE: windows_core::GUID =
395    windows_core::GUID::from_u128(0x41fff286_6ae0_4d43_9d55_a46e9efd158a);
396pub const D3D11_AUTHENTICATED_CONFIGURE_INITIALIZE: windows_core::GUID =
397    windows_core::GUID::from_u128(0x06114bdb_3523_470a_8dca_fbc2845154f0);
398#[repr(C)]
399#[derive(Clone, Copy, Debug, PartialEq)]
400pub struct D3D11_AUTHENTICATED_CONFIGURE_INITIALIZE_INPUT {
401    pub Parameters: D3D11_AUTHENTICATED_CONFIGURE_INPUT,
402    pub StartSequenceQuery: u32,
403    pub StartSequenceConfigure: u32,
404}
405impl Default for D3D11_AUTHENTICATED_CONFIGURE_INITIALIZE_INPUT {
406    fn default() -> Self {
407        unsafe { core::mem::zeroed() }
408    }
409}
410#[repr(C)]
411#[derive(Clone, Copy, Debug, PartialEq)]
412pub struct D3D11_AUTHENTICATED_CONFIGURE_INPUT {
413    pub omac: D3D11_OMAC,
414    pub ConfigureType: windows_core::GUID,
415    pub hChannel: crate::Foundation::HANDLE,
416    pub SequenceNumber: u32,
417}
418impl Default for D3D11_AUTHENTICATED_CONFIGURE_INPUT {
419    fn default() -> Self {
420        unsafe { core::mem::zeroed() }
421    }
422}
423#[repr(C)]
424#[derive(Clone, Copy, Debug, PartialEq)]
425pub struct D3D11_AUTHENTICATED_CONFIGURE_OUTPUT {
426    pub omac: D3D11_OMAC,
427    pub ConfigureType: windows_core::GUID,
428    pub hChannel: crate::Foundation::HANDLE,
429    pub SequenceNumber: u32,
430    pub ReturnCode: windows_core::HRESULT,
431}
432impl Default for D3D11_AUTHENTICATED_CONFIGURE_OUTPUT {
433    fn default() -> Self {
434        unsafe { core::mem::zeroed() }
435    }
436}
437pub const D3D11_AUTHENTICATED_CONFIGURE_PROTECTION: windows_core::GUID =
438    windows_core::GUID::from_u128(0x50455658_3f47_4362_bf99_bfdfcde9ed29);
439#[repr(C)]
440#[derive(Clone, Copy)]
441pub struct D3D11_AUTHENTICATED_CONFIGURE_PROTECTION_INPUT {
442    pub Parameters: D3D11_AUTHENTICATED_CONFIGURE_INPUT,
443    pub Protections: D3D11_AUTHENTICATED_PROTECTION_FLAGS,
444}
445impl Default for D3D11_AUTHENTICATED_CONFIGURE_PROTECTION_INPUT {
446    fn default() -> Self {
447        unsafe { core::mem::zeroed() }
448    }
449}
450pub const D3D11_AUTHENTICATED_CONFIGURE_SHARED_RESOURCE: windows_core::GUID =
451    windows_core::GUID::from_u128(0x0772d047_1b40_48e8_9ca6_b5f510de9f01);
452#[repr(C)]
453#[derive(Clone, Copy, Debug, PartialEq)]
454pub struct D3D11_AUTHENTICATED_CONFIGURE_SHARED_RESOURCE_INPUT {
455    pub Parameters: D3D11_AUTHENTICATED_CONFIGURE_INPUT,
456    pub ProcessType: D3D11_AUTHENTICATED_PROCESS_IDENTIFIER_TYPE,
457    pub ProcessHandle: crate::Foundation::HANDLE,
458    pub AllowAccess: crate::Foundation::BOOL,
459}
460impl Default for D3D11_AUTHENTICATED_CONFIGURE_SHARED_RESOURCE_INPUT {
461    fn default() -> Self {
462        unsafe { core::mem::zeroed() }
463    }
464}
465#[repr(transparent)]
466#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
467pub struct D3D11_AUTHENTICATED_PROCESS_IDENTIFIER_TYPE(pub i32);
468#[repr(C)]
469#[derive(Clone, Copy)]
470pub union D3D11_AUTHENTICATED_PROTECTION_FLAGS {
471    pub Flags: D3D11_AUTHENTICATED_PROTECTION_FLAGS_0,
472    pub Value: u32,
473}
474impl Default for D3D11_AUTHENTICATED_PROTECTION_FLAGS {
475    fn default() -> Self {
476        unsafe { core::mem::zeroed() }
477    }
478}
479#[repr(C)]
480#[derive(Clone, Copy, Debug, PartialEq)]
481pub struct D3D11_AUTHENTICATED_PROTECTION_FLAGS_0 {
482    pub _bitfield: u32,
483}
484impl Default for D3D11_AUTHENTICATED_PROTECTION_FLAGS_0 {
485    fn default() -> Self {
486        unsafe { core::mem::zeroed() }
487    }
488}
489pub const D3D11_AUTHENTICATED_QUERY_ACCESSIBILITY_ATTRIBUTES: windows_core::GUID =
490    windows_core::GUID::from_u128(0x6214d9d2_432c_4abb_9fce_216eea269e3b);
491#[repr(C)]
492#[derive(Clone, Copy, Debug, PartialEq)]
493pub struct D3D11_AUTHENTICATED_QUERY_ACCESSIBILITY_ENCRYPTION_GUID_COUNT_OUTPUT {
494    pub Output: D3D11_AUTHENTICATED_QUERY_OUTPUT,
495    pub EncryptionGuidCount: u32,
496}
497impl Default for D3D11_AUTHENTICATED_QUERY_ACCESSIBILITY_ENCRYPTION_GUID_COUNT_OUTPUT {
498    fn default() -> Self {
499        unsafe { core::mem::zeroed() }
500    }
501}
502#[repr(C)]
503#[derive(Clone, Copy, Debug, PartialEq)]
504pub struct D3D11_AUTHENTICATED_QUERY_ACCESSIBILITY_ENCRYPTION_GUID_INPUT {
505    pub Input: D3D11_AUTHENTICATED_QUERY_INPUT,
506    pub EncryptionGuidIndex: u32,
507}
508impl Default for D3D11_AUTHENTICATED_QUERY_ACCESSIBILITY_ENCRYPTION_GUID_INPUT {
509    fn default() -> Self {
510        unsafe { core::mem::zeroed() }
511    }
512}
513#[repr(C)]
514#[derive(Clone, Copy, Debug, PartialEq)]
515pub struct D3D11_AUTHENTICATED_QUERY_ACCESSIBILITY_ENCRYPTION_GUID_OUTPUT {
516    pub Output: D3D11_AUTHENTICATED_QUERY_OUTPUT,
517    pub EncryptionGuidIndex: u32,
518    pub EncryptionGuid: windows_core::GUID,
519}
520impl Default for D3D11_AUTHENTICATED_QUERY_ACCESSIBILITY_ENCRYPTION_GUID_OUTPUT {
521    fn default() -> Self {
522        unsafe { core::mem::zeroed() }
523    }
524}
525#[repr(C)]
526#[derive(Clone, Copy, Debug, PartialEq)]
527pub struct D3D11_AUTHENTICATED_QUERY_ACCESSIBILITY_OUTPUT {
528    pub Output: D3D11_AUTHENTICATED_QUERY_OUTPUT,
529    pub BusType: D3D11_BUS_TYPE,
530    pub AccessibleInContiguousBlocks: crate::Foundation::BOOL,
531    pub AccessibleInNonContiguousBlocks: crate::Foundation::BOOL,
532}
533impl Default for D3D11_AUTHENTICATED_QUERY_ACCESSIBILITY_OUTPUT {
534    fn default() -> Self {
535        unsafe { core::mem::zeroed() }
536    }
537}
538pub const D3D11_AUTHENTICATED_QUERY_CHANNEL_TYPE: windows_core::GUID =
539    windows_core::GUID::from_u128(0xbc1b18a5_b1fb_42ab_bd94_b5828b4bf7be);
540#[repr(C)]
541#[derive(Clone, Copy, Debug, PartialEq)]
542pub struct D3D11_AUTHENTICATED_QUERY_CHANNEL_TYPE_OUTPUT {
543    pub Output: D3D11_AUTHENTICATED_QUERY_OUTPUT,
544    pub ChannelType: D3D11_AUTHENTICATED_CHANNEL_TYPE,
545}
546impl Default for D3D11_AUTHENTICATED_QUERY_CHANNEL_TYPE_OUTPUT {
547    fn default() -> Self {
548        unsafe { core::mem::zeroed() }
549    }
550}
551pub const D3D11_AUTHENTICATED_QUERY_CRYPTO_SESSION: windows_core::GUID =
552    windows_core::GUID::from_u128(0x2634499e_d018_4d74_ac17_7f724059528d);
553#[repr(C)]
554#[derive(Clone, Copy, Debug, PartialEq)]
555pub struct D3D11_AUTHENTICATED_QUERY_CRYPTO_SESSION_INPUT {
556    pub Input: D3D11_AUTHENTICATED_QUERY_INPUT,
557    pub DecoderHandle: crate::Foundation::HANDLE,
558}
559impl Default for D3D11_AUTHENTICATED_QUERY_CRYPTO_SESSION_INPUT {
560    fn default() -> Self {
561        unsafe { core::mem::zeroed() }
562    }
563}
564#[repr(C)]
565#[derive(Clone, Copy, Debug, PartialEq)]
566pub struct D3D11_AUTHENTICATED_QUERY_CRYPTO_SESSION_OUTPUT {
567    pub Output: D3D11_AUTHENTICATED_QUERY_OUTPUT,
568    pub DecoderHandle: crate::Foundation::HANDLE,
569    pub CryptoSessionHandle: crate::Foundation::HANDLE,
570    pub DeviceHandle: crate::Foundation::HANDLE,
571}
572impl Default for D3D11_AUTHENTICATED_QUERY_CRYPTO_SESSION_OUTPUT {
573    fn default() -> Self {
574        unsafe { core::mem::zeroed() }
575    }
576}
577#[repr(C)]
578#[derive(Clone, Copy, Debug, PartialEq)]
579pub struct D3D11_AUTHENTICATED_QUERY_CURRENT_ACCESSIBILITY_ENCRYPTION_OUTPUT {
580    pub Output: D3D11_AUTHENTICATED_QUERY_OUTPUT,
581    pub EncryptionGuid: windows_core::GUID,
582}
583impl Default for D3D11_AUTHENTICATED_QUERY_CURRENT_ACCESSIBILITY_ENCRYPTION_OUTPUT {
584    fn default() -> Self {
585        unsafe { core::mem::zeroed() }
586    }
587}
588pub const D3D11_AUTHENTICATED_QUERY_CURRENT_ENCRYPTION_WHEN_ACCESSIBLE: windows_core::GUID =
589    windows_core::GUID::from_u128(0xec1791c7_dad3_4f15_9ec3_faa93d60d4f0);
590pub const D3D11_AUTHENTICATED_QUERY_DEVICE_HANDLE: windows_core::GUID =
591    windows_core::GUID::from_u128(0xec1c539d_8cff_4e2a_bcc4_f5692f99f480);
592#[repr(C)]
593#[derive(Clone, Copy, Debug, PartialEq)]
594pub struct D3D11_AUTHENTICATED_QUERY_DEVICE_HANDLE_OUTPUT {
595    pub Output: D3D11_AUTHENTICATED_QUERY_OUTPUT,
596    pub DeviceHandle: crate::Foundation::HANDLE,
597}
598impl Default for D3D11_AUTHENTICATED_QUERY_DEVICE_HANDLE_OUTPUT {
599    fn default() -> Self {
600        unsafe { core::mem::zeroed() }
601    }
602}
603pub const D3D11_AUTHENTICATED_QUERY_ENCRYPTION_WHEN_ACCESSIBLE_GUID: windows_core::GUID =
604    windows_core::GUID::from_u128(0xf83a5958_e986_4bda_beb0_411f6a7a01b7);
605pub const D3D11_AUTHENTICATED_QUERY_ENCRYPTION_WHEN_ACCESSIBLE_GUID_COUNT: windows_core::GUID =
606    windows_core::GUID::from_u128(0xb30f7066_203c_4b07_93fc_ceaafd61241e);
607#[repr(C)]
608#[derive(Clone, Copy, Debug, PartialEq)]
609pub struct D3D11_AUTHENTICATED_QUERY_INPUT {
610    pub QueryType: windows_core::GUID,
611    pub hChannel: crate::Foundation::HANDLE,
612    pub SequenceNumber: u32,
613}
614impl Default for D3D11_AUTHENTICATED_QUERY_INPUT {
615    fn default() -> Self {
616        unsafe { core::mem::zeroed() }
617    }
618}
619#[repr(C)]
620#[derive(Clone, Copy, Debug, PartialEq)]
621pub struct D3D11_AUTHENTICATED_QUERY_OUTPUT {
622    pub omac: D3D11_OMAC,
623    pub QueryType: windows_core::GUID,
624    pub hChannel: crate::Foundation::HANDLE,
625    pub SequenceNumber: u32,
626    pub ReturnCode: windows_core::HRESULT,
627}
628impl Default for D3D11_AUTHENTICATED_QUERY_OUTPUT {
629    fn default() -> Self {
630        unsafe { core::mem::zeroed() }
631    }
632}
633pub const D3D11_AUTHENTICATED_QUERY_OUTPUT_ID: windows_core::GUID =
634    windows_core::GUID::from_u128(0x839ddca3_9b4e_41e4_b053_892bd2a11ee7);
635pub const D3D11_AUTHENTICATED_QUERY_OUTPUT_ID_COUNT: windows_core::GUID =
636    windows_core::GUID::from_u128(0x2c042b5e_8c07_46d5_aabe_8f75cbad4c31);
637#[repr(C)]
638#[derive(Clone, Copy, Debug, PartialEq)]
639pub struct D3D11_AUTHENTICATED_QUERY_OUTPUT_ID_COUNT_INPUT {
640    pub Input: D3D11_AUTHENTICATED_QUERY_INPUT,
641    pub DeviceHandle: crate::Foundation::HANDLE,
642    pub CryptoSessionHandle: crate::Foundation::HANDLE,
643}
644impl Default for D3D11_AUTHENTICATED_QUERY_OUTPUT_ID_COUNT_INPUT {
645    fn default() -> Self {
646        unsafe { core::mem::zeroed() }
647    }
648}
649#[repr(C)]
650#[derive(Clone, Copy, Debug, PartialEq)]
651pub struct D3D11_AUTHENTICATED_QUERY_OUTPUT_ID_COUNT_OUTPUT {
652    pub Output: D3D11_AUTHENTICATED_QUERY_OUTPUT,
653    pub DeviceHandle: crate::Foundation::HANDLE,
654    pub CryptoSessionHandle: crate::Foundation::HANDLE,
655    pub OutputIDCount: u32,
656}
657impl Default for D3D11_AUTHENTICATED_QUERY_OUTPUT_ID_COUNT_OUTPUT {
658    fn default() -> Self {
659        unsafe { core::mem::zeroed() }
660    }
661}
662#[repr(C)]
663#[derive(Clone, Copy, Debug, PartialEq)]
664pub struct D3D11_AUTHENTICATED_QUERY_OUTPUT_ID_INPUT {
665    pub Input: D3D11_AUTHENTICATED_QUERY_INPUT,
666    pub DeviceHandle: crate::Foundation::HANDLE,
667    pub CryptoSessionHandle: crate::Foundation::HANDLE,
668    pub OutputIDIndex: u32,
669}
670impl Default for D3D11_AUTHENTICATED_QUERY_OUTPUT_ID_INPUT {
671    fn default() -> Self {
672        unsafe { core::mem::zeroed() }
673    }
674}
675#[repr(C)]
676#[derive(Clone, Copy, Debug, PartialEq)]
677pub struct D3D11_AUTHENTICATED_QUERY_OUTPUT_ID_OUTPUT {
678    pub Output: D3D11_AUTHENTICATED_QUERY_OUTPUT,
679    pub DeviceHandle: crate::Foundation::HANDLE,
680    pub CryptoSessionHandle: crate::Foundation::HANDLE,
681    pub OutputIDIndex: u32,
682    pub OutputID: u64,
683}
684impl Default for D3D11_AUTHENTICATED_QUERY_OUTPUT_ID_OUTPUT {
685    fn default() -> Self {
686        unsafe { core::mem::zeroed() }
687    }
688}
689pub const D3D11_AUTHENTICATED_QUERY_PROTECTION: windows_core::GUID =
690    windows_core::GUID::from_u128(0xa84eb584_c495_48aa_b94d_8bd2d6fbce05);
691#[repr(C)]
692#[derive(Clone, Copy)]
693pub struct D3D11_AUTHENTICATED_QUERY_PROTECTION_OUTPUT {
694    pub Output: D3D11_AUTHENTICATED_QUERY_OUTPUT,
695    pub ProtectionFlags: D3D11_AUTHENTICATED_PROTECTION_FLAGS,
696}
697impl Default for D3D11_AUTHENTICATED_QUERY_PROTECTION_OUTPUT {
698    fn default() -> Self {
699        unsafe { core::mem::zeroed() }
700    }
701}
702pub const D3D11_AUTHENTICATED_QUERY_RESTRICTED_SHARED_RESOURCE_PROCESS: windows_core::GUID =
703    windows_core::GUID::from_u128(0x649bbadb_f0f4_4639_a15b_24393fc3abac);
704pub const D3D11_AUTHENTICATED_QUERY_RESTRICTED_SHARED_RESOURCE_PROCESS_COUNT: windows_core::GUID =
705    windows_core::GUID::from_u128(0x0db207b3_9450_46a6_82de_1b96d44f9cf2);
706#[repr(C)]
707#[derive(Clone, Copy, Debug, PartialEq)]
708pub struct D3D11_AUTHENTICATED_QUERY_RESTRICTED_SHARED_RESOURCE_PROCESS_COUNT_OUTPUT {
709    pub Output: D3D11_AUTHENTICATED_QUERY_OUTPUT,
710    pub RestrictedSharedResourceProcessCount: u32,
711}
712impl Default for D3D11_AUTHENTICATED_QUERY_RESTRICTED_SHARED_RESOURCE_PROCESS_COUNT_OUTPUT {
713    fn default() -> Self {
714        unsafe { core::mem::zeroed() }
715    }
716}
717#[repr(C)]
718#[derive(Clone, Copy, Debug, PartialEq)]
719pub struct D3D11_AUTHENTICATED_QUERY_RESTRICTED_SHARED_RESOURCE_PROCESS_INPUT {
720    pub Input: D3D11_AUTHENTICATED_QUERY_INPUT,
721    pub ProcessIndex: u32,
722}
723impl Default for D3D11_AUTHENTICATED_QUERY_RESTRICTED_SHARED_RESOURCE_PROCESS_INPUT {
724    fn default() -> Self {
725        unsafe { core::mem::zeroed() }
726    }
727}
728#[repr(C)]
729#[derive(Clone, Copy, Debug, PartialEq)]
730pub struct D3D11_AUTHENTICATED_QUERY_RESTRICTED_SHARED_RESOURCE_PROCESS_OUTPUT {
731    pub Output: D3D11_AUTHENTICATED_QUERY_OUTPUT,
732    pub ProcessIndex: u32,
733    pub ProcessIdentifier: D3D11_AUTHENTICATED_PROCESS_IDENTIFIER_TYPE,
734    pub ProcessHandle: crate::Foundation::HANDLE,
735}
736impl Default for D3D11_AUTHENTICATED_QUERY_RESTRICTED_SHARED_RESOURCE_PROCESS_OUTPUT {
737    fn default() -> Self {
738        unsafe { core::mem::zeroed() }
739    }
740}
741pub const D3D11_AUTHENTICATED_QUERY_UNRESTRICTED_PROTECTED_SHARED_RESOURCE_COUNT:
742    windows_core::GUID = windows_core::GUID::from_u128(0x012f0bd6_e662_4474_befd_aa53e5143c6d);
743#[repr(C)]
744#[derive(Clone, Copy, Debug, PartialEq)]
745pub struct D3D11_AUTHENTICATED_QUERY_UNRESTRICTED_PROTECTED_SHARED_RESOURCE_COUNT_OUTPUT {
746    pub Output: D3D11_AUTHENTICATED_QUERY_OUTPUT,
747    pub UnrestrictedProtectedSharedResourceCount: u32,
748}
749impl Default for D3D11_AUTHENTICATED_QUERY_UNRESTRICTED_PROTECTED_SHARED_RESOURCE_COUNT_OUTPUT {
750    fn default() -> Self {
751        unsafe { core::mem::zeroed() }
752    }
753}
754pub const D3D11_BIND_CONSTANT_BUFFER: D3D11_BIND_FLAG = D3D11_BIND_FLAG(4i32);
755pub const D3D11_BIND_DECODER: D3D11_BIND_FLAG = D3D11_BIND_FLAG(512i32);
756pub const D3D11_BIND_DEPTH_STENCIL: D3D11_BIND_FLAG = D3D11_BIND_FLAG(64i32);
757#[repr(transparent)]
758#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
759pub struct D3D11_BIND_FLAG(pub i32);
760impl D3D11_BIND_FLAG {
761    pub const fn contains(&self, other: Self) -> bool {
762        self.0 & other.0 == other.0
763    }
764}
765impl core::ops::BitOr for D3D11_BIND_FLAG {
766    type Output = Self;
767    fn bitor(self, other: Self) -> Self {
768        Self(self.0 | other.0)
769    }
770}
771impl core::ops::BitAnd for D3D11_BIND_FLAG {
772    type Output = Self;
773    fn bitand(self, other: Self) -> Self {
774        Self(self.0 & other.0)
775    }
776}
777impl core::ops::BitOrAssign for D3D11_BIND_FLAG {
778    fn bitor_assign(&mut self, other: Self) {
779        self.0.bitor_assign(other.0)
780    }
781}
782impl core::ops::BitAndAssign for D3D11_BIND_FLAG {
783    fn bitand_assign(&mut self, other: Self) {
784        self.0.bitand_assign(other.0)
785    }
786}
787impl core::ops::Not for D3D11_BIND_FLAG {
788    type Output = Self;
789    fn not(self) -> Self {
790        Self(self.0.not())
791    }
792}
793pub const D3D11_BIND_INDEX_BUFFER: D3D11_BIND_FLAG = D3D11_BIND_FLAG(2i32);
794pub const D3D11_BIND_RENDER_TARGET: D3D11_BIND_FLAG = D3D11_BIND_FLAG(32i32);
795pub const D3D11_BIND_SHADER_RESOURCE: D3D11_BIND_FLAG = D3D11_BIND_FLAG(8i32);
796pub const D3D11_BIND_STREAM_OUTPUT: D3D11_BIND_FLAG = D3D11_BIND_FLAG(16i32);
797pub const D3D11_BIND_UNORDERED_ACCESS: D3D11_BIND_FLAG = D3D11_BIND_FLAG(128i32);
798pub const D3D11_BIND_VERTEX_BUFFER: D3D11_BIND_FLAG = D3D11_BIND_FLAG(1i32);
799pub const D3D11_BIND_VIDEO_ENCODER: D3D11_BIND_FLAG = D3D11_BIND_FLAG(1024i32);
800#[repr(transparent)]
801#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
802pub struct D3D11_BLEND(pub i32);
803pub const D3D11_BLEND_BLEND_FACTOR: D3D11_BLEND = D3D11_BLEND(14i32);
804#[repr(C)]
805#[derive(Clone, Copy, Debug, PartialEq)]
806pub struct D3D11_BLEND_DESC {
807    pub AlphaToCoverageEnable: crate::Foundation::BOOL,
808    pub IndependentBlendEnable: crate::Foundation::BOOL,
809    pub RenderTarget: [D3D11_RENDER_TARGET_BLEND_DESC; 8],
810}
811impl Default for D3D11_BLEND_DESC {
812    fn default() -> Self {
813        unsafe { core::mem::zeroed() }
814    }
815}
816#[repr(C)]
817#[derive(Clone, Copy, Debug, PartialEq)]
818pub struct D3D11_BLEND_DESC1 {
819    pub AlphaToCoverageEnable: crate::Foundation::BOOL,
820    pub IndependentBlendEnable: crate::Foundation::BOOL,
821    pub RenderTarget: [D3D11_RENDER_TARGET_BLEND_DESC1; 8],
822}
823impl Default for D3D11_BLEND_DESC1 {
824    fn default() -> Self {
825        unsafe { core::mem::zeroed() }
826    }
827}
828pub const D3D11_BLEND_DEST_ALPHA: D3D11_BLEND = D3D11_BLEND(7i32);
829pub const D3D11_BLEND_DEST_COLOR: D3D11_BLEND = D3D11_BLEND(9i32);
830pub const D3D11_BLEND_INV_BLEND_FACTOR: D3D11_BLEND = D3D11_BLEND(15i32);
831pub const D3D11_BLEND_INV_DEST_ALPHA: D3D11_BLEND = D3D11_BLEND(8i32);
832pub const D3D11_BLEND_INV_DEST_COLOR: D3D11_BLEND = D3D11_BLEND(10i32);
833pub const D3D11_BLEND_INV_SRC1_ALPHA: D3D11_BLEND = D3D11_BLEND(19i32);
834pub const D3D11_BLEND_INV_SRC1_COLOR: D3D11_BLEND = D3D11_BLEND(17i32);
835pub const D3D11_BLEND_INV_SRC_ALPHA: D3D11_BLEND = D3D11_BLEND(6i32);
836pub const D3D11_BLEND_INV_SRC_COLOR: D3D11_BLEND = D3D11_BLEND(4i32);
837pub const D3D11_BLEND_ONE: D3D11_BLEND = D3D11_BLEND(2i32);
838#[repr(transparent)]
839#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
840pub struct D3D11_BLEND_OP(pub i32);
841pub const D3D11_BLEND_OP_ADD: D3D11_BLEND_OP = D3D11_BLEND_OP(1i32);
842pub const D3D11_BLEND_OP_MAX: D3D11_BLEND_OP = D3D11_BLEND_OP(5i32);
843pub const D3D11_BLEND_OP_MIN: D3D11_BLEND_OP = D3D11_BLEND_OP(4i32);
844pub const D3D11_BLEND_OP_REV_SUBTRACT: D3D11_BLEND_OP = D3D11_BLEND_OP(3i32);
845pub const D3D11_BLEND_OP_SUBTRACT: D3D11_BLEND_OP = D3D11_BLEND_OP(2i32);
846pub const D3D11_BLEND_SRC1_ALPHA: D3D11_BLEND = D3D11_BLEND(18i32);
847pub const D3D11_BLEND_SRC1_COLOR: D3D11_BLEND = D3D11_BLEND(16i32);
848pub const D3D11_BLEND_SRC_ALPHA: D3D11_BLEND = D3D11_BLEND(5i32);
849pub const D3D11_BLEND_SRC_ALPHA_SAT: D3D11_BLEND = D3D11_BLEND(11i32);
850pub const D3D11_BLEND_SRC_COLOR: D3D11_BLEND = D3D11_BLEND(3i32);
851pub const D3D11_BLEND_ZERO: D3D11_BLEND = D3D11_BLEND(1i32);
852#[repr(C)]
853#[derive(Clone, Copy, Debug, PartialEq)]
854pub struct D3D11_BOX {
855    pub left: u32,
856    pub top: u32,
857    pub front: u32,
858    pub right: u32,
859    pub bottom: u32,
860    pub back: u32,
861}
862impl Default for D3D11_BOX {
863    fn default() -> Self {
864        unsafe { core::mem::zeroed() }
865    }
866}
867pub const D3D11_BREAKON_CATEGORY: crate::core_supplemental::PCWSTR = crate::core_supplemental::w!("BreakOn_CATEGORY_%s");
868pub const D3D11_BREAKON_ID_DECIMAL: crate::core_supplemental::PCWSTR = crate::core_supplemental::w!("BreakOn_ID_%d");
869pub const D3D11_BREAKON_ID_STRING: crate::core_supplemental::PCWSTR = crate::core_supplemental::w!("BreakOn_ID_%s");
870pub const D3D11_BREAKON_SEVERITY: crate::core_supplemental::PCWSTR = crate::core_supplemental::w!("BreakOn_SEVERITY_%s");
871#[repr(C)]
872#[derive(Clone, Copy, Debug, PartialEq)]
873pub struct D3D11_BUFFEREX_SRV {
874    pub FirstElement: u32,
875    pub NumElements: u32,
876    pub Flags: u32,
877}
878impl Default for D3D11_BUFFEREX_SRV {
879    fn default() -> Self {
880        unsafe { core::mem::zeroed() }
881    }
882}
883#[repr(transparent)]
884#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
885pub struct D3D11_BUFFEREX_SRV_FLAG(pub i32);
886pub const D3D11_BUFFEREX_SRV_FLAG_RAW: D3D11_BUFFEREX_SRV_FLAG = D3D11_BUFFEREX_SRV_FLAG(1i32);
887#[repr(C)]
888#[derive(Clone, Copy, Debug, PartialEq)]
889pub struct D3D11_BUFFER_DESC {
890    pub ByteWidth: u32,
891    pub Usage: D3D11_USAGE,
892    pub BindFlags: u32,
893    pub CPUAccessFlags: u32,
894    pub MiscFlags: u32,
895    pub StructureByteStride: u32,
896}
897impl Default for D3D11_BUFFER_DESC {
898    fn default() -> Self {
899        unsafe { core::mem::zeroed() }
900    }
901}
902#[repr(C)]
903#[derive(Clone, Copy)]
904pub struct D3D11_BUFFER_RTV {
905    pub Anonymous1: D3D11_BUFFER_RTV_0,
906    pub Anonymous2: D3D11_BUFFER_RTV_1,
907}
908impl Default for D3D11_BUFFER_RTV {
909    fn default() -> Self {
910        unsafe { core::mem::zeroed() }
911    }
912}
913#[repr(C)]
914#[derive(Clone, Copy)]
915pub union D3D11_BUFFER_RTV_0 {
916    pub FirstElement: u32,
917    pub ElementOffset: u32,
918}
919impl Default for D3D11_BUFFER_RTV_0 {
920    fn default() -> Self {
921        unsafe { core::mem::zeroed() }
922    }
923}
924#[repr(C)]
925#[derive(Clone, Copy)]
926pub union D3D11_BUFFER_RTV_1 {
927    pub NumElements: u32,
928    pub ElementWidth: u32,
929}
930impl Default for D3D11_BUFFER_RTV_1 {
931    fn default() -> Self {
932        unsafe { core::mem::zeroed() }
933    }
934}
935#[repr(C)]
936#[derive(Clone, Copy)]
937pub struct D3D11_BUFFER_SRV {
938    pub Anonymous1: D3D11_BUFFER_SRV_0,
939    pub Anonymous2: D3D11_BUFFER_SRV_1,
940}
941impl Default for D3D11_BUFFER_SRV {
942    fn default() -> Self {
943        unsafe { core::mem::zeroed() }
944    }
945}
946#[repr(C)]
947#[derive(Clone, Copy)]
948pub union D3D11_BUFFER_SRV_0 {
949    pub FirstElement: u32,
950    pub ElementOffset: u32,
951}
952impl Default for D3D11_BUFFER_SRV_0 {
953    fn default() -> Self {
954        unsafe { core::mem::zeroed() }
955    }
956}
957#[repr(C)]
958#[derive(Clone, Copy)]
959pub union D3D11_BUFFER_SRV_1 {
960    pub NumElements: u32,
961    pub ElementWidth: u32,
962}
963impl Default for D3D11_BUFFER_SRV_1 {
964    fn default() -> Self {
965        unsafe { core::mem::zeroed() }
966    }
967}
968#[repr(C)]
969#[derive(Clone, Copy, Debug, PartialEq)]
970pub struct D3D11_BUFFER_UAV {
971    pub FirstElement: u32,
972    pub NumElements: u32,
973    pub Flags: u32,
974}
975impl Default for D3D11_BUFFER_UAV {
976    fn default() -> Self {
977        unsafe { core::mem::zeroed() }
978    }
979}
980#[repr(transparent)]
981#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
982pub struct D3D11_BUFFER_UAV_FLAG(pub i32);
983pub const D3D11_BUFFER_UAV_FLAG_APPEND: D3D11_BUFFER_UAV_FLAG = D3D11_BUFFER_UAV_FLAG(2i32);
984pub const D3D11_BUFFER_UAV_FLAG_COUNTER: D3D11_BUFFER_UAV_FLAG = D3D11_BUFFER_UAV_FLAG(4i32);
985pub const D3D11_BUFFER_UAV_FLAG_RAW: D3D11_BUFFER_UAV_FLAG = D3D11_BUFFER_UAV_FLAG(1i32);
986pub const D3D11_BUS_IMPL_MODIFIER_DAUGHTER_BOARD_CONNECTOR: D3D11_BUS_TYPE =
987    D3D11_BUS_TYPE(262144i32);
988pub const D3D11_BUS_IMPL_MODIFIER_DAUGHTER_BOARD_CONNECTOR_INSIDE_OF_NUAE: D3D11_BUS_TYPE =
989    D3D11_BUS_TYPE(327680i32);
990pub const D3D11_BUS_IMPL_MODIFIER_INSIDE_OF_CHIPSET: D3D11_BUS_TYPE = D3D11_BUS_TYPE(65536i32);
991pub const D3D11_BUS_IMPL_MODIFIER_NON_STANDARD: D3D11_BUS_TYPE = D3D11_BUS_TYPE(-2147483648i32);
992pub const D3D11_BUS_IMPL_MODIFIER_TRACKS_ON_MOTHER_BOARD_TO_CHIP: D3D11_BUS_TYPE =
993    D3D11_BUS_TYPE(131072i32);
994pub const D3D11_BUS_IMPL_MODIFIER_TRACKS_ON_MOTHER_BOARD_TO_SOCKET: D3D11_BUS_TYPE =
995    D3D11_BUS_TYPE(196608i32);
996#[repr(transparent)]
997#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
998pub struct D3D11_BUS_TYPE(pub i32);
999pub const D3D11_BUS_TYPE_AGP: D3D11_BUS_TYPE = D3D11_BUS_TYPE(4i32);
1000pub const D3D11_BUS_TYPE_OTHER: D3D11_BUS_TYPE = D3D11_BUS_TYPE(0i32);
1001pub const D3D11_BUS_TYPE_PCI: D3D11_BUS_TYPE = D3D11_BUS_TYPE(1i32);
1002pub const D3D11_BUS_TYPE_PCIEXPRESS: D3D11_BUS_TYPE = D3D11_BUS_TYPE(3i32);
1003pub const D3D11_BUS_TYPE_PCIX: D3D11_BUS_TYPE = D3D11_BUS_TYPE(2i32);
1004pub const D3D11_CENTER_MULTISAMPLE_PATTERN: D3D11_STANDARD_MULTISAMPLE_QUALITY_LEVELS =
1005    D3D11_STANDARD_MULTISAMPLE_QUALITY_LEVELS(-2i32);
1006#[repr(transparent)]
1007#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
1008pub struct D3D11_CHECK_MULTISAMPLE_QUALITY_LEVELS_FLAG(pub i32);
1009pub const D3D11_CHECK_MULTISAMPLE_QUALITY_LEVELS_TILED_RESOURCE:
1010    D3D11_CHECK_MULTISAMPLE_QUALITY_LEVELS_FLAG = D3D11_CHECK_MULTISAMPLE_QUALITY_LEVELS_FLAG(1i32);
1011#[repr(C)]
1012#[derive(Clone, Copy, Debug, PartialEq)]
1013pub struct D3D11_CLASS_INSTANCE_DESC {
1014    pub InstanceId: u32,
1015    pub InstanceIndex: u32,
1016    pub TypeId: u32,
1017    pub ConstantBuffer: u32,
1018    pub BaseConstantBufferOffset: u32,
1019    pub BaseTexture: u32,
1020    pub BaseSampler: u32,
1021    pub Created: crate::Foundation::BOOL,
1022}
1023impl Default for D3D11_CLASS_INSTANCE_DESC {
1024    fn default() -> Self {
1025        unsafe { core::mem::zeroed() }
1026    }
1027}
1028pub const D3D11_CLEAR_DEPTH: D3D11_CLEAR_FLAG = D3D11_CLEAR_FLAG(1u32);
1029#[repr(transparent)]
1030#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
1031pub struct D3D11_CLEAR_FLAG(pub u32);
1032impl D3D11_CLEAR_FLAG {
1033    pub const fn contains(&self, other: Self) -> bool {
1034        self.0 & other.0 == other.0
1035    }
1036}
1037impl core::ops::BitOr for D3D11_CLEAR_FLAG {
1038    type Output = Self;
1039    fn bitor(self, other: Self) -> Self {
1040        Self(self.0 | other.0)
1041    }
1042}
1043impl core::ops::BitAnd for D3D11_CLEAR_FLAG {
1044    type Output = Self;
1045    fn bitand(self, other: Self) -> Self {
1046        Self(self.0 & other.0)
1047    }
1048}
1049impl core::ops::BitOrAssign for D3D11_CLEAR_FLAG {
1050    fn bitor_assign(&mut self, other: Self) {
1051        self.0.bitor_assign(other.0)
1052    }
1053}
1054impl core::ops::BitAndAssign for D3D11_CLEAR_FLAG {
1055    fn bitand_assign(&mut self, other: Self) {
1056        self.0.bitand_assign(other.0)
1057    }
1058}
1059impl core::ops::Not for D3D11_CLEAR_FLAG {
1060    type Output = Self;
1061    fn not(self) -> Self {
1062        Self(self.0.not())
1063    }
1064}
1065pub const D3D11_CLEAR_STENCIL: D3D11_CLEAR_FLAG = D3D11_CLEAR_FLAG(2u32);
1066pub const D3D11_CLIP_OR_CULL_DISTANCE_COUNT: u32 = 8u32;
1067pub const D3D11_CLIP_OR_CULL_DISTANCE_ELEMENT_COUNT: u32 = 2u32;
1068#[repr(transparent)]
1069#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
1070pub struct D3D11_COLOR_WRITE_ENABLE(pub i32);
1071pub const D3D11_COLOR_WRITE_ENABLE_ALL: D3D11_COLOR_WRITE_ENABLE = D3D11_COLOR_WRITE_ENABLE(15i32);
1072pub const D3D11_COLOR_WRITE_ENABLE_ALPHA: D3D11_COLOR_WRITE_ENABLE = D3D11_COLOR_WRITE_ENABLE(8i32);
1073pub const D3D11_COLOR_WRITE_ENABLE_BLUE: D3D11_COLOR_WRITE_ENABLE = D3D11_COLOR_WRITE_ENABLE(4i32);
1074pub const D3D11_COLOR_WRITE_ENABLE_GREEN: D3D11_COLOR_WRITE_ENABLE = D3D11_COLOR_WRITE_ENABLE(2i32);
1075pub const D3D11_COLOR_WRITE_ENABLE_RED: D3D11_COLOR_WRITE_ENABLE = D3D11_COLOR_WRITE_ENABLE(1i32);
1076pub const D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT: u32 = 14u32;
1077pub const D3D11_COMMONSHADER_CONSTANT_BUFFER_COMPONENTS: u32 = 4u32;
1078pub const D3D11_COMMONSHADER_CONSTANT_BUFFER_COMPONENT_BIT_COUNT: u32 = 32u32;
1079pub const D3D11_COMMONSHADER_CONSTANT_BUFFER_HW_SLOT_COUNT: u32 = 15u32;
1080pub const D3D11_COMMONSHADER_CONSTANT_BUFFER_PARTIAL_UPDATE_EXTENTS_BYTE_ALIGNMENT: u32 = 16u32;
1081pub const D3D11_COMMONSHADER_CONSTANT_BUFFER_REGISTER_COMPONENTS: u32 = 4u32;
1082pub const D3D11_COMMONSHADER_CONSTANT_BUFFER_REGISTER_COUNT: u32 = 15u32;
1083pub const D3D11_COMMONSHADER_CONSTANT_BUFFER_REGISTER_READS_PER_INST: u32 = 1u32;
1084pub const D3D11_COMMONSHADER_CONSTANT_BUFFER_REGISTER_READ_PORTS: u32 = 1u32;
1085pub const D3D11_COMMONSHADER_FLOWCONTROL_NESTING_LIMIT: u32 = 64u32;
1086pub const D3D11_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_COMPONENTS: u32 = 4u32;
1087pub const D3D11_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_COUNT: u32 = 1u32;
1088pub const D3D11_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_READS_PER_INST: u32 = 1u32;
1089pub const D3D11_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_READ_PORTS: u32 = 1u32;
1090pub const D3D11_COMMONSHADER_IMMEDIATE_VALUE_COMPONENT_BIT_COUNT: u32 = 32u32;
1091pub const D3D11_COMMONSHADER_INPUT_RESOURCE_REGISTER_COMPONENTS: u32 = 1u32;
1092pub const D3D11_COMMONSHADER_INPUT_RESOURCE_REGISTER_COUNT: u32 = 128u32;
1093pub const D3D11_COMMONSHADER_INPUT_RESOURCE_REGISTER_READS_PER_INST: u32 = 1u32;
1094pub const D3D11_COMMONSHADER_INPUT_RESOURCE_REGISTER_READ_PORTS: u32 = 1u32;
1095pub const D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT: u32 = 128u32;
1096pub const D3D11_COMMONSHADER_SAMPLER_REGISTER_COMPONENTS: u32 = 1u32;
1097pub const D3D11_COMMONSHADER_SAMPLER_REGISTER_COUNT: u32 = 16u32;
1098pub const D3D11_COMMONSHADER_SAMPLER_REGISTER_READS_PER_INST: u32 = 1u32;
1099pub const D3D11_COMMONSHADER_SAMPLER_REGISTER_READ_PORTS: u32 = 1u32;
1100pub const D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT: u32 = 16u32;
1101pub const D3D11_COMMONSHADER_SUBROUTINE_NESTING_LIMIT: u32 = 32u32;
1102pub const D3D11_COMMONSHADER_TEMP_REGISTER_COMPONENTS: u32 = 4u32;
1103pub const D3D11_COMMONSHADER_TEMP_REGISTER_COMPONENT_BIT_COUNT: u32 = 32u32;
1104pub const D3D11_COMMONSHADER_TEMP_REGISTER_COUNT: u32 = 4096u32;
1105pub const D3D11_COMMONSHADER_TEMP_REGISTER_READS_PER_INST: u32 = 3u32;
1106pub const D3D11_COMMONSHADER_TEMP_REGISTER_READ_PORTS: u32 = 3u32;
1107pub const D3D11_COMMONSHADER_TEXCOORD_RANGE_REDUCTION_MAX: u32 = 10u32;
1108pub const D3D11_COMMONSHADER_TEXCOORD_RANGE_REDUCTION_MIN: i32 = -10i32;
1109pub const D3D11_COMMONSHADER_TEXEL_OFFSET_MAX_NEGATIVE: i32 = -8i32;
1110pub const D3D11_COMMONSHADER_TEXEL_OFFSET_MAX_POSITIVE: u32 = 7u32;
1111pub const D3D11_COMPARISON_ALWAYS: D3D11_COMPARISON_FUNC = D3D11_COMPARISON_FUNC(8i32);
1112pub const D3D11_COMPARISON_EQUAL: D3D11_COMPARISON_FUNC = D3D11_COMPARISON_FUNC(3i32);
1113pub const D3D11_COMPARISON_FILTERING_BIT: u32 = 128u32;
1114#[repr(transparent)]
1115#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
1116pub struct D3D11_COMPARISON_FUNC(pub i32);
1117pub const D3D11_COMPARISON_GREATER: D3D11_COMPARISON_FUNC = D3D11_COMPARISON_FUNC(5i32);
1118pub const D3D11_COMPARISON_GREATER_EQUAL: D3D11_COMPARISON_FUNC = D3D11_COMPARISON_FUNC(7i32);
1119pub const D3D11_COMPARISON_LESS: D3D11_COMPARISON_FUNC = D3D11_COMPARISON_FUNC(2i32);
1120pub const D3D11_COMPARISON_LESS_EQUAL: D3D11_COMPARISON_FUNC = D3D11_COMPARISON_FUNC(4i32);
1121pub const D3D11_COMPARISON_NEVER: D3D11_COMPARISON_FUNC = D3D11_COMPARISON_FUNC(1i32);
1122pub const D3D11_COMPARISON_NOT_EQUAL: D3D11_COMPARISON_FUNC = D3D11_COMPARISON_FUNC(6i32);
1123pub const D3D11_COMPUTE_SHADER: D3D11_SHADER_TYPE = D3D11_SHADER_TYPE(6i32);
1124#[repr(C)]
1125#[derive(Clone, Copy, Debug, PartialEq)]
1126pub struct D3D11_COMPUTE_SHADER_TRACE_DESC {
1127    pub Invocation: u64,
1128    pub ThreadIDInGroup: [u32; 3],
1129    pub ThreadGroupID: [u32; 3],
1130}
1131impl Default for D3D11_COMPUTE_SHADER_TRACE_DESC {
1132    fn default() -> Self {
1133        unsafe { core::mem::zeroed() }
1134    }
1135}
1136#[repr(transparent)]
1137#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
1138pub struct D3D11_CONSERVATIVE_RASTERIZATION_MODE(pub i32);
1139pub const D3D11_CONSERVATIVE_RASTERIZATION_MODE_OFF: D3D11_CONSERVATIVE_RASTERIZATION_MODE =
1140    D3D11_CONSERVATIVE_RASTERIZATION_MODE(0i32);
1141pub const D3D11_CONSERVATIVE_RASTERIZATION_MODE_ON: D3D11_CONSERVATIVE_RASTERIZATION_MODE =
1142    D3D11_CONSERVATIVE_RASTERIZATION_MODE(1i32);
1143pub const D3D11_CONSERVATIVE_RASTERIZATION_NOT_SUPPORTED: D3D11_CONSERVATIVE_RASTERIZATION_TIER =
1144    D3D11_CONSERVATIVE_RASTERIZATION_TIER(0i32);
1145#[repr(transparent)]
1146#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
1147pub struct D3D11_CONSERVATIVE_RASTERIZATION_TIER(pub i32);
1148pub const D3D11_CONSERVATIVE_RASTERIZATION_TIER_1: D3D11_CONSERVATIVE_RASTERIZATION_TIER =
1149    D3D11_CONSERVATIVE_RASTERIZATION_TIER(1i32);
1150pub const D3D11_CONSERVATIVE_RASTERIZATION_TIER_2: D3D11_CONSERVATIVE_RASTERIZATION_TIER =
1151    D3D11_CONSERVATIVE_RASTERIZATION_TIER(2i32);
1152pub const D3D11_CONSERVATIVE_RASTERIZATION_TIER_3: D3D11_CONSERVATIVE_RASTERIZATION_TIER =
1153    D3D11_CONSERVATIVE_RASTERIZATION_TIER(3i32);
1154#[repr(transparent)]
1155#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
1156pub struct D3D11_CONTENT_PROTECTION_CAPS(pub i32);
1157pub const D3D11_CONTENT_PROTECTION_CAPS_CONTENT_KEY: D3D11_CONTENT_PROTECTION_CAPS =
1158    D3D11_CONTENT_PROTECTION_CAPS(16i32);
1159pub const D3D11_CONTENT_PROTECTION_CAPS_DECRYPTION_BLT: D3D11_CONTENT_PROTECTION_CAPS =
1160    D3D11_CONTENT_PROTECTION_CAPS(1024i32);
1161pub const D3D11_CONTENT_PROTECTION_CAPS_ENCRYPTED_READ_BACK: D3D11_CONTENT_PROTECTION_CAPS =
1162    D3D11_CONTENT_PROTECTION_CAPS(64i32);
1163pub const D3D11_CONTENT_PROTECTION_CAPS_ENCRYPTED_READ_BACK_KEY: D3D11_CONTENT_PROTECTION_CAPS =
1164    D3D11_CONTENT_PROTECTION_CAPS(128i32);
1165pub const D3D11_CONTENT_PROTECTION_CAPS_ENCRYPT_SLICEDATA_ONLY: D3D11_CONTENT_PROTECTION_CAPS =
1166    D3D11_CONTENT_PROTECTION_CAPS(512i32);
1167pub const D3D11_CONTENT_PROTECTION_CAPS_FRESHEN_SESSION_KEY: D3D11_CONTENT_PROTECTION_CAPS =
1168    D3D11_CONTENT_PROTECTION_CAPS(32i32);
1169pub const D3D11_CONTENT_PROTECTION_CAPS_HARDWARE: D3D11_CONTENT_PROTECTION_CAPS =
1170    D3D11_CONTENT_PROTECTION_CAPS(2i32);
1171pub const D3D11_CONTENT_PROTECTION_CAPS_HARDWARE_DRM_COMMUNICATION: D3D11_CONTENT_PROTECTION_CAPS =
1172    D3D11_CONTENT_PROTECTION_CAPS(16384i32);
1173pub const D3D11_CONTENT_PROTECTION_CAPS_HARDWARE_DRM_COMMUNICATION_MULTI_THREADED:
1174    D3D11_CONTENT_PROTECTION_CAPS = D3D11_CONTENT_PROTECTION_CAPS(32768i32);
1175pub const D3D11_CONTENT_PROTECTION_CAPS_HARDWARE_PROTECTED_MEMORY_PAGEABLE:
1176    D3D11_CONTENT_PROTECTION_CAPS = D3D11_CONTENT_PROTECTION_CAPS(4096i32);
1177pub const D3D11_CONTENT_PROTECTION_CAPS_HARDWARE_PROTECT_UNCOMPRESSED:
1178    D3D11_CONTENT_PROTECTION_CAPS = D3D11_CONTENT_PROTECTION_CAPS(2048i32);
1179pub const D3D11_CONTENT_PROTECTION_CAPS_HARDWARE_TEARDOWN: D3D11_CONTENT_PROTECTION_CAPS =
1180    D3D11_CONTENT_PROTECTION_CAPS(8192i32);
1181pub const D3D11_CONTENT_PROTECTION_CAPS_PARTIAL_DECRYPTION: D3D11_CONTENT_PROTECTION_CAPS =
1182    D3D11_CONTENT_PROTECTION_CAPS(8i32);
1183pub const D3D11_CONTENT_PROTECTION_CAPS_PROTECTION_ALWAYS_ON: D3D11_CONTENT_PROTECTION_CAPS =
1184    D3D11_CONTENT_PROTECTION_CAPS(4i32);
1185pub const D3D11_CONTENT_PROTECTION_CAPS_SEQUENTIAL_CTR_IV: D3D11_CONTENT_PROTECTION_CAPS =
1186    D3D11_CONTENT_PROTECTION_CAPS(256i32);
1187pub const D3D11_CONTENT_PROTECTION_CAPS_SOFTWARE: D3D11_CONTENT_PROTECTION_CAPS =
1188    D3D11_CONTENT_PROTECTION_CAPS(1i32);
1189#[repr(transparent)]
1190#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
1191pub struct D3D11_CONTEXT_TYPE(pub i32);
1192pub const D3D11_CONTEXT_TYPE_3D: D3D11_CONTEXT_TYPE = D3D11_CONTEXT_TYPE(1i32);
1193pub const D3D11_CONTEXT_TYPE_ALL: D3D11_CONTEXT_TYPE = D3D11_CONTEXT_TYPE(0i32);
1194pub const D3D11_CONTEXT_TYPE_COMPUTE: D3D11_CONTEXT_TYPE = D3D11_CONTEXT_TYPE(2i32);
1195pub const D3D11_CONTEXT_TYPE_COPY: D3D11_CONTEXT_TYPE = D3D11_CONTEXT_TYPE(3i32);
1196pub const D3D11_CONTEXT_TYPE_VIDEO: D3D11_CONTEXT_TYPE = D3D11_CONTEXT_TYPE(4i32);
1197pub const D3D11_COPY_DISCARD: D3D11_COPY_FLAGS = D3D11_COPY_FLAGS(2i32);
1198#[repr(transparent)]
1199#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
1200pub struct D3D11_COPY_FLAGS(pub i32);
1201pub const D3D11_COPY_NO_OVERWRITE: D3D11_COPY_FLAGS = D3D11_COPY_FLAGS(1i32);
1202#[repr(transparent)]
1203#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
1204pub struct D3D11_COUNTER(pub i32);
1205#[repr(C)]
1206#[derive(Clone, Copy, Debug, PartialEq)]
1207pub struct D3D11_COUNTER_DESC {
1208    pub Counter: D3D11_COUNTER,
1209    pub MiscFlags: u32,
1210}
1211impl Default for D3D11_COUNTER_DESC {
1212    fn default() -> Self {
1213        unsafe { core::mem::zeroed() }
1214    }
1215}
1216pub const D3D11_COUNTER_DEVICE_DEPENDENT_0: D3D11_COUNTER = D3D11_COUNTER(1073741824i32);
1217#[repr(C)]
1218#[derive(Clone, Copy, Debug, PartialEq)]
1219pub struct D3D11_COUNTER_INFO {
1220    pub LastDeviceDependentCounter: D3D11_COUNTER,
1221    pub NumSimultaneousCounters: u32,
1222    pub NumDetectableParallelUnits: u8,
1223}
1224impl Default for D3D11_COUNTER_INFO {
1225    fn default() -> Self {
1226        unsafe { core::mem::zeroed() }
1227    }
1228}
1229#[repr(transparent)]
1230#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
1231pub struct D3D11_COUNTER_TYPE(pub i32);
1232pub const D3D11_COUNTER_TYPE_FLOAT32: D3D11_COUNTER_TYPE = D3D11_COUNTER_TYPE(0i32);
1233pub const D3D11_COUNTER_TYPE_UINT16: D3D11_COUNTER_TYPE = D3D11_COUNTER_TYPE(1i32);
1234pub const D3D11_COUNTER_TYPE_UINT32: D3D11_COUNTER_TYPE = D3D11_COUNTER_TYPE(2i32);
1235pub const D3D11_COUNTER_TYPE_UINT64: D3D11_COUNTER_TYPE = D3D11_COUNTER_TYPE(3i32);
1236#[repr(transparent)]
1237#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
1238pub struct D3D11_CPU_ACCESS_FLAG(pub i32);
1239impl D3D11_CPU_ACCESS_FLAG {
1240    pub const fn contains(&self, other: Self) -> bool {
1241        self.0 & other.0 == other.0
1242    }
1243}
1244impl core::ops::BitOr for D3D11_CPU_ACCESS_FLAG {
1245    type Output = Self;
1246    fn bitor(self, other: Self) -> Self {
1247        Self(self.0 | other.0)
1248    }
1249}
1250impl core::ops::BitAnd for D3D11_CPU_ACCESS_FLAG {
1251    type Output = Self;
1252    fn bitand(self, other: Self) -> Self {
1253        Self(self.0 & other.0)
1254    }
1255}
1256impl core::ops::BitOrAssign for D3D11_CPU_ACCESS_FLAG {
1257    fn bitor_assign(&mut self, other: Self) {
1258        self.0.bitor_assign(other.0)
1259    }
1260}
1261impl core::ops::BitAndAssign for D3D11_CPU_ACCESS_FLAG {
1262    fn bitand_assign(&mut self, other: Self) {
1263        self.0.bitand_assign(other.0)
1264    }
1265}
1266impl core::ops::Not for D3D11_CPU_ACCESS_FLAG {
1267    type Output = Self;
1268    fn not(self) -> Self {
1269        Self(self.0.not())
1270    }
1271}
1272pub const D3D11_CPU_ACCESS_READ: D3D11_CPU_ACCESS_FLAG = D3D11_CPU_ACCESS_FLAG(131072i32);
1273pub const D3D11_CPU_ACCESS_WRITE: D3D11_CPU_ACCESS_FLAG = D3D11_CPU_ACCESS_FLAG(65536i32);
1274pub const D3D11_CREATE_DEVICE_BGRA_SUPPORT: D3D11_CREATE_DEVICE_FLAG =
1275    D3D11_CREATE_DEVICE_FLAG(32u32);
1276pub const D3D11_CREATE_DEVICE_DEBUG: D3D11_CREATE_DEVICE_FLAG = D3D11_CREATE_DEVICE_FLAG(2u32);
1277pub const D3D11_CREATE_DEVICE_DEBUGGABLE: D3D11_CREATE_DEVICE_FLAG =
1278    D3D11_CREATE_DEVICE_FLAG(64u32);
1279pub const D3D11_CREATE_DEVICE_DISABLE_GPU_TIMEOUT: D3D11_CREATE_DEVICE_FLAG =
1280    D3D11_CREATE_DEVICE_FLAG(256u32);
1281#[repr(transparent)]
1282#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
1283pub struct D3D11_CREATE_DEVICE_FLAG(pub u32);
1284impl D3D11_CREATE_DEVICE_FLAG {
1285    pub const fn contains(&self, other: Self) -> bool {
1286        self.0 & other.0 == other.0
1287    }
1288}
1289impl core::ops::BitOr for D3D11_CREATE_DEVICE_FLAG {
1290    type Output = Self;
1291    fn bitor(self, other: Self) -> Self {
1292        Self(self.0 | other.0)
1293    }
1294}
1295impl core::ops::BitAnd for D3D11_CREATE_DEVICE_FLAG {
1296    type Output = Self;
1297    fn bitand(self, other: Self) -> Self {
1298        Self(self.0 & other.0)
1299    }
1300}
1301impl core::ops::BitOrAssign for D3D11_CREATE_DEVICE_FLAG {
1302    fn bitor_assign(&mut self, other: Self) {
1303        self.0.bitor_assign(other.0)
1304    }
1305}
1306impl core::ops::BitAndAssign for D3D11_CREATE_DEVICE_FLAG {
1307    fn bitand_assign(&mut self, other: Self) {
1308        self.0.bitand_assign(other.0)
1309    }
1310}
1311impl core::ops::Not for D3D11_CREATE_DEVICE_FLAG {
1312    type Output = Self;
1313    fn not(self) -> Self {
1314        Self(self.0.not())
1315    }
1316}
1317pub const D3D11_CREATE_DEVICE_PREVENT_ALTERING_LAYER_SETTINGS_FROM_REGISTRY:
1318    D3D11_CREATE_DEVICE_FLAG = D3D11_CREATE_DEVICE_FLAG(128u32);
1319pub const D3D11_CREATE_DEVICE_PREVENT_INTERNAL_THREADING_OPTIMIZATIONS: D3D11_CREATE_DEVICE_FLAG =
1320    D3D11_CREATE_DEVICE_FLAG(8u32);
1321pub const D3D11_CREATE_DEVICE_SINGLETHREADED: D3D11_CREATE_DEVICE_FLAG =
1322    D3D11_CREATE_DEVICE_FLAG(1u32);
1323pub const D3D11_CREATE_DEVICE_SWITCH_TO_REF: D3D11_CREATE_DEVICE_FLAG =
1324    D3D11_CREATE_DEVICE_FLAG(4u32);
1325pub const D3D11_CREATE_DEVICE_VIDEO_SUPPORT: D3D11_CREATE_DEVICE_FLAG =
1326    D3D11_CREATE_DEVICE_FLAG(2048u32);
1327#[repr(transparent)]
1328#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
1329pub struct D3D11_CRYPTO_SESSION_KEY_EXCHANGE_FLAGS(pub i32);
1330impl D3D11_CRYPTO_SESSION_KEY_EXCHANGE_FLAGS {
1331    pub const fn contains(&self, other: Self) -> bool {
1332        self.0 & other.0 == other.0
1333    }
1334}
1335impl core::ops::BitOr for D3D11_CRYPTO_SESSION_KEY_EXCHANGE_FLAGS {
1336    type Output = Self;
1337    fn bitor(self, other: Self) -> Self {
1338        Self(self.0 | other.0)
1339    }
1340}
1341impl core::ops::BitAnd for D3D11_CRYPTO_SESSION_KEY_EXCHANGE_FLAGS {
1342    type Output = Self;
1343    fn bitand(self, other: Self) -> Self {
1344        Self(self.0 & other.0)
1345    }
1346}
1347impl core::ops::BitOrAssign for D3D11_CRYPTO_SESSION_KEY_EXCHANGE_FLAGS {
1348    fn bitor_assign(&mut self, other: Self) {
1349        self.0.bitor_assign(other.0)
1350    }
1351}
1352impl core::ops::BitAndAssign for D3D11_CRYPTO_SESSION_KEY_EXCHANGE_FLAGS {
1353    fn bitand_assign(&mut self, other: Self) {
1354        self.0.bitand_assign(other.0)
1355    }
1356}
1357impl core::ops::Not for D3D11_CRYPTO_SESSION_KEY_EXCHANGE_FLAGS {
1358    type Output = Self;
1359    fn not(self) -> Self {
1360        Self(self.0.not())
1361    }
1362}
1363pub const D3D11_CRYPTO_SESSION_KEY_EXCHANGE_FLAG_NONE: D3D11_CRYPTO_SESSION_KEY_EXCHANGE_FLAGS =
1364    D3D11_CRYPTO_SESSION_KEY_EXCHANGE_FLAGS(0i32);
1365#[repr(transparent)]
1366#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
1367pub struct D3D11_CRYPTO_SESSION_STATUS(pub i32);
1368pub const D3D11_CRYPTO_SESSION_STATUS_KEY_AND_CONTENT_LOST: D3D11_CRYPTO_SESSION_STATUS =
1369    D3D11_CRYPTO_SESSION_STATUS(2i32);
1370pub const D3D11_CRYPTO_SESSION_STATUS_KEY_LOST: D3D11_CRYPTO_SESSION_STATUS =
1371    D3D11_CRYPTO_SESSION_STATUS(1i32);
1372pub const D3D11_CRYPTO_SESSION_STATUS_OK: D3D11_CRYPTO_SESSION_STATUS =
1373    D3D11_CRYPTO_SESSION_STATUS(0i32);
1374pub const D3D11_CRYPTO_TYPE_AES128_CTR: windows_core::GUID =
1375    windows_core::GUID::from_u128(0x9b6bd711_4f74_41c9_9e7b_0be2d7d93b4f);
1376pub const D3D11_CS_4_X_BUCKET00_MAX_BYTES_TGSM_WRITABLE_PER_THREAD: u32 = 256u32;
1377pub const D3D11_CS_4_X_BUCKET00_MAX_NUM_THREADS_PER_GROUP: u32 = 64u32;
1378pub const D3D11_CS_4_X_BUCKET01_MAX_BYTES_TGSM_WRITABLE_PER_THREAD: u32 = 240u32;
1379pub const D3D11_CS_4_X_BUCKET01_MAX_NUM_THREADS_PER_GROUP: u32 = 68u32;
1380pub const D3D11_CS_4_X_BUCKET02_MAX_BYTES_TGSM_WRITABLE_PER_THREAD: u32 = 224u32;
1381pub const D3D11_CS_4_X_BUCKET02_MAX_NUM_THREADS_PER_GROUP: u32 = 72u32;
1382pub const D3D11_CS_4_X_BUCKET03_MAX_BYTES_TGSM_WRITABLE_PER_THREAD: u32 = 208u32;
1383pub const D3D11_CS_4_X_BUCKET03_MAX_NUM_THREADS_PER_GROUP: u32 = 76u32;
1384pub const D3D11_CS_4_X_BUCKET04_MAX_BYTES_TGSM_WRITABLE_PER_THREAD: u32 = 192u32;
1385pub const D3D11_CS_4_X_BUCKET04_MAX_NUM_THREADS_PER_GROUP: u32 = 84u32;
1386pub const D3D11_CS_4_X_BUCKET05_MAX_BYTES_TGSM_WRITABLE_PER_THREAD: u32 = 176u32;
1387pub const D3D11_CS_4_X_BUCKET05_MAX_NUM_THREADS_PER_GROUP: u32 = 92u32;
1388pub const D3D11_CS_4_X_BUCKET06_MAX_BYTES_TGSM_WRITABLE_PER_THREAD: u32 = 160u32;
1389pub const D3D11_CS_4_X_BUCKET06_MAX_NUM_THREADS_PER_GROUP: u32 = 100u32;
1390pub const D3D11_CS_4_X_BUCKET07_MAX_BYTES_TGSM_WRITABLE_PER_THREAD: u32 = 144u32;
1391pub const D3D11_CS_4_X_BUCKET07_MAX_NUM_THREADS_PER_GROUP: u32 = 112u32;
1392pub const D3D11_CS_4_X_BUCKET08_MAX_BYTES_TGSM_WRITABLE_PER_THREAD: u32 = 128u32;
1393pub const D3D11_CS_4_X_BUCKET08_MAX_NUM_THREADS_PER_GROUP: u32 = 128u32;
1394pub const D3D11_CS_4_X_BUCKET09_MAX_BYTES_TGSM_WRITABLE_PER_THREAD: u32 = 112u32;
1395pub const D3D11_CS_4_X_BUCKET09_MAX_NUM_THREADS_PER_GROUP: u32 = 144u32;
1396pub const D3D11_CS_4_X_BUCKET10_MAX_BYTES_TGSM_WRITABLE_PER_THREAD: u32 = 96u32;
1397pub const D3D11_CS_4_X_BUCKET10_MAX_NUM_THREADS_PER_GROUP: u32 = 168u32;
1398pub const D3D11_CS_4_X_BUCKET11_MAX_BYTES_TGSM_WRITABLE_PER_THREAD: u32 = 80u32;
1399pub const D3D11_CS_4_X_BUCKET11_MAX_NUM_THREADS_PER_GROUP: u32 = 204u32;
1400pub const D3D11_CS_4_X_BUCKET12_MAX_BYTES_TGSM_WRITABLE_PER_THREAD: u32 = 64u32;
1401pub const D3D11_CS_4_X_BUCKET12_MAX_NUM_THREADS_PER_GROUP: u32 = 256u32;
1402pub const D3D11_CS_4_X_BUCKET13_MAX_BYTES_TGSM_WRITABLE_PER_THREAD: u32 = 48u32;
1403pub const D3D11_CS_4_X_BUCKET13_MAX_NUM_THREADS_PER_GROUP: u32 = 340u32;
1404pub const D3D11_CS_4_X_BUCKET14_MAX_BYTES_TGSM_WRITABLE_PER_THREAD: u32 = 32u32;
1405pub const D3D11_CS_4_X_BUCKET14_MAX_NUM_THREADS_PER_GROUP: u32 = 512u32;
1406pub const D3D11_CS_4_X_BUCKET15_MAX_BYTES_TGSM_WRITABLE_PER_THREAD: u32 = 16u32;
1407pub const D3D11_CS_4_X_BUCKET15_MAX_NUM_THREADS_PER_GROUP: u32 = 768u32;
1408pub const D3D11_CS_4_X_DISPATCH_MAX_THREAD_GROUPS_IN_Z_DIMENSION: u32 = 1u32;
1409pub const D3D11_CS_4_X_RAW_UAV_BYTE_ALIGNMENT: u32 = 256u32;
1410pub const D3D11_CS_4_X_THREAD_GROUP_MAX_THREADS_PER_GROUP: u32 = 768u32;
1411pub const D3D11_CS_4_X_THREAD_GROUP_MAX_X: u32 = 768u32;
1412pub const D3D11_CS_4_X_THREAD_GROUP_MAX_Y: u32 = 768u32;
1413pub const D3D11_CS_4_X_UAV_REGISTER_COUNT: u32 = 1u32;
1414pub const D3D11_CS_DISPATCH_MAX_THREAD_GROUPS_PER_DIMENSION: u32 = 65535u32;
1415pub const D3D11_CS_TGSM_REGISTER_COUNT: u32 = 8192u32;
1416pub const D3D11_CS_TGSM_REGISTER_READS_PER_INST: u32 = 1u32;
1417pub const D3D11_CS_TGSM_RESOURCE_REGISTER_COMPONENTS: u32 = 1u32;
1418pub const D3D11_CS_TGSM_RESOURCE_REGISTER_READ_PORTS: u32 = 1u32;
1419pub const D3D11_CS_THREADGROUPID_REGISTER_COMPONENTS: u32 = 3u32;
1420pub const D3D11_CS_THREADGROUPID_REGISTER_COUNT: u32 = 1u32;
1421pub const D3D11_CS_THREADIDINGROUPFLATTENED_REGISTER_COMPONENTS: u32 = 1u32;
1422pub const D3D11_CS_THREADIDINGROUPFLATTENED_REGISTER_COUNT: u32 = 1u32;
1423pub const D3D11_CS_THREADIDINGROUP_REGISTER_COMPONENTS: u32 = 3u32;
1424pub const D3D11_CS_THREADIDINGROUP_REGISTER_COUNT: u32 = 1u32;
1425pub const D3D11_CS_THREADID_REGISTER_COMPONENTS: u32 = 3u32;
1426pub const D3D11_CS_THREADID_REGISTER_COUNT: u32 = 1u32;
1427pub const D3D11_CS_THREAD_GROUP_MAX_THREADS_PER_GROUP: u32 = 1024u32;
1428pub const D3D11_CS_THREAD_GROUP_MAX_X: u32 = 1024u32;
1429pub const D3D11_CS_THREAD_GROUP_MAX_Y: u32 = 1024u32;
1430pub const D3D11_CS_THREAD_GROUP_MAX_Z: u32 = 64u32;
1431pub const D3D11_CS_THREAD_GROUP_MIN_X: u32 = 1u32;
1432pub const D3D11_CS_THREAD_GROUP_MIN_Y: u32 = 1u32;
1433pub const D3D11_CS_THREAD_GROUP_MIN_Z: u32 = 1u32;
1434pub const D3D11_CS_THREAD_LOCAL_TEMP_REGISTER_POOL: u32 = 16384u32;
1435pub const D3D11_CULL_BACK: D3D11_CULL_MODE = D3D11_CULL_MODE(3i32);
1436pub const D3D11_CULL_FRONT: D3D11_CULL_MODE = D3D11_CULL_MODE(2i32);
1437#[repr(transparent)]
1438#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
1439pub struct D3D11_CULL_MODE(pub i32);
1440pub const D3D11_CULL_NONE: D3D11_CULL_MODE = D3D11_CULL_MODE(1i32);
1441pub const D3D11_DEBUG_FEATURE_ALWAYS_DISCARD_OFFERED_RESOURCE: u32 = 8u32;
1442pub const D3D11_DEBUG_FEATURE_AVOID_BEHAVIOR_CHANGING_DEBUG_AIDS: u32 = 64u32;
1443pub const D3D11_DEBUG_FEATURE_DISABLE_TILED_RESOURCE_MAPPING_TRACKING_AND_VALIDATION: u32 = 128u32;
1444pub const D3D11_DEBUG_FEATURE_FINISH_PER_RENDER_OP: u32 = 2u32;
1445pub const D3D11_DEBUG_FEATURE_FLUSH_PER_RENDER_OP: u32 = 1u32;
1446pub const D3D11_DEBUG_FEATURE_NEVER_DISCARD_OFFERED_RESOURCE: u32 = 16u32;
1447pub const D3D11_DEBUG_FEATURE_PRESENT_PER_RENDER_OP: u32 = 4u32;
1448pub const D3D11_DECODER_BITSTREAM_ENCRYPTION_TYPE_CBCS: windows_core::GUID =
1449    windows_core::GUID::from_u128(0x422d9319_9d21_4bb7_9371_faf5a82c3e04);
1450pub const D3D11_DECODER_BITSTREAM_ENCRYPTION_TYPE_CENC: windows_core::GUID =
1451    windows_core::GUID::from_u128(0xb0405235_c13d_44f2_9ae5_dd48e08e5b67);
1452pub const D3D11_DECODER_ENCRYPTION_HW_CENC: windows_core::GUID =
1453    windows_core::GUID::from_u128(0x89d6ac4f_09f2_4229_b2cd_37740a6dfd81);
1454pub const D3D11_DECODER_PROFILE_AV1_VLD_12BIT_PROFILE2: windows_core::GUID =
1455    windows_core::GUID::from_u128(0x17127009_a00f_4ce1_994e_bf4081f6f3f0);
1456pub const D3D11_DECODER_PROFILE_AV1_VLD_12BIT_PROFILE2_420: windows_core::GUID =
1457    windows_core::GUID::from_u128(0x2d80bed6_9cac_4835_9e91_327bbc4f9ee8);
1458pub const D3D11_DECODER_PROFILE_AV1_VLD_PROFILE0: windows_core::GUID =
1459    windows_core::GUID::from_u128(0xb8be4ccb_cf53_46ba_8d59_d6b8a6da5d2a);
1460pub const D3D11_DECODER_PROFILE_AV1_VLD_PROFILE1: windows_core::GUID =
1461    windows_core::GUID::from_u128(0x6936ff0f_45b1_4163_9cc1_646ef6946108);
1462pub const D3D11_DECODER_PROFILE_AV1_VLD_PROFILE2: windows_core::GUID =
1463    windows_core::GUID::from_u128(0x0c5f2aa1_e541_4089_bb7b_98110a19d7c8);
1464pub const D3D11_DECODER_PROFILE_H264_IDCT_FGT: windows_core::GUID =
1465    windows_core::GUID::from_u128(0x1b81be67_a0c7_11d3_b984_00c04f2e73c5);
1466pub const D3D11_DECODER_PROFILE_H264_IDCT_NOFGT: windows_core::GUID =
1467    windows_core::GUID::from_u128(0x1b81be66_a0c7_11d3_b984_00c04f2e73c5);
1468pub const D3D11_DECODER_PROFILE_H264_MOCOMP_FGT: windows_core::GUID =
1469    windows_core::GUID::from_u128(0x1b81be65_a0c7_11d3_b984_00c04f2e73c5);
1470pub const D3D11_DECODER_PROFILE_H264_MOCOMP_NOFGT: windows_core::GUID =
1471    windows_core::GUID::from_u128(0x1b81be64_a0c7_11d3_b984_00c04f2e73c5);
1472pub const D3D11_DECODER_PROFILE_H264_VLD_FGT: windows_core::GUID =
1473    windows_core::GUID::from_u128(0x1b81be69_a0c7_11d3_b984_00c04f2e73c5);
1474pub const D3D11_DECODER_PROFILE_H264_VLD_MULTIVIEW_NOFGT: windows_core::GUID =
1475    windows_core::GUID::from_u128(0x705b9d82_76cf_49d6_b7e6_ac8872db013c);
1476pub const D3D11_DECODER_PROFILE_H264_VLD_NOFGT: windows_core::GUID =
1477    windows_core::GUID::from_u128(0x1b81be68_a0c7_11d3_b984_00c04f2e73c5);
1478pub const D3D11_DECODER_PROFILE_H264_VLD_STEREO_NOFGT: windows_core::GUID =
1479    windows_core::GUID::from_u128(0xf9aaccbb_c2b6_4cfc_8779_5707b1760552);
1480pub const D3D11_DECODER_PROFILE_H264_VLD_STEREO_PROGRESSIVE_NOFGT: windows_core::GUID =
1481    windows_core::GUID::from_u128(0xd79be8da_0cf1_4c81_b82a_69a4e236f43d);
1482pub const D3D11_DECODER_PROFILE_H264_VLD_WITHFMOASO_NOFGT: windows_core::GUID =
1483    windows_core::GUID::from_u128(0xd5f04ff9_3418_45d8_9561_32a76aae2ddd);
1484pub const D3D11_DECODER_PROFILE_HEVC_VLD_MAIN: windows_core::GUID =
1485    windows_core::GUID::from_u128(0x5b11d51b_2f4c_4452_bcc3_09f2a1160cc0);
1486pub const D3D11_DECODER_PROFILE_HEVC_VLD_MAIN10: windows_core::GUID =
1487    windows_core::GUID::from_u128(0x107af0e0_ef1a_4d19_aba8_67a163073d13);
1488pub const D3D11_DECODER_PROFILE_MPEG1_VLD: windows_core::GUID =
1489    windows_core::GUID::from_u128(0x6f3ec719_3735_42cc_8063_65cc3cb36616);
1490pub const D3D11_DECODER_PROFILE_MPEG2_IDCT: windows_core::GUID =
1491    windows_core::GUID::from_u128(0xbf22ad00_03ea_4690_8077_473346209b7e);
1492pub const D3D11_DECODER_PROFILE_MPEG2_MOCOMP: windows_core::GUID =
1493    windows_core::GUID::from_u128(0xe6a9f44b_61b0_4563_9ea4_63d2a3c6fe66);
1494pub const D3D11_DECODER_PROFILE_MPEG2_VLD: windows_core::GUID =
1495    windows_core::GUID::from_u128(0xee27417f_5e28_4e65_beea_1d26b508adc9);
1496pub const D3D11_DECODER_PROFILE_MPEG2and1_VLD: windows_core::GUID =
1497    windows_core::GUID::from_u128(0x86695f12_340e_4f04_9fd3_9253dd327460);
1498pub const D3D11_DECODER_PROFILE_MPEG4PT2_VLD_ADVSIMPLE_GMC: windows_core::GUID =
1499    windows_core::GUID::from_u128(0xab998b5b_4258_44a9_9feb_94e597a6baae);
1500pub const D3D11_DECODER_PROFILE_MPEG4PT2_VLD_ADVSIMPLE_NOGMC: windows_core::GUID =
1501    windows_core::GUID::from_u128(0xed418a9f_010d_4eda_9ae3_9a65358d8d2e);
1502pub const D3D11_DECODER_PROFILE_MPEG4PT2_VLD_SIMPLE: windows_core::GUID =
1503    windows_core::GUID::from_u128(0xefd64d74_c9e8_41d7_a5e9_e9b0e39fa319);
1504pub const D3D11_DECODER_PROFILE_VC1_D2010: windows_core::GUID =
1505    windows_core::GUID::from_u128(0x1b81bea4_a0c7_11d3_b984_00c04f2e73c5);
1506pub const D3D11_DECODER_PROFILE_VC1_IDCT: windows_core::GUID =
1507    windows_core::GUID::from_u128(0x1b81bea2_a0c7_11d3_b984_00c04f2e73c5);
1508pub const D3D11_DECODER_PROFILE_VC1_MOCOMP: windows_core::GUID =
1509    windows_core::GUID::from_u128(0x1b81bea1_a0c7_11d3_b984_00c04f2e73c5);
1510pub const D3D11_DECODER_PROFILE_VC1_POSTPROC: windows_core::GUID =
1511    windows_core::GUID::from_u128(0x1b81bea0_a0c7_11d3_b984_00c04f2e73c5);
1512pub const D3D11_DECODER_PROFILE_VC1_VLD: windows_core::GUID =
1513    windows_core::GUID::from_u128(0x1b81bea3_a0c7_11d3_b984_00c04f2e73c5);
1514pub const D3D11_DECODER_PROFILE_VP8_VLD: windows_core::GUID =
1515    windows_core::GUID::from_u128(0x90b899ea_3a62_4705_88b3_8df04b2744e7);
1516pub const D3D11_DECODER_PROFILE_VP9_VLD_10BIT_PROFILE2: windows_core::GUID =
1517    windows_core::GUID::from_u128(0xa4c749ef_6ecf_48aa_8448_50a7a1165ff7);
1518pub const D3D11_DECODER_PROFILE_VP9_VLD_PROFILE0: windows_core::GUID =
1519    windows_core::GUID::from_u128(0x463707f8_a1d0_4585_876d_83aa6d60b89e);
1520pub const D3D11_DECODER_PROFILE_WMV8_MOCOMP: windows_core::GUID =
1521    windows_core::GUID::from_u128(0x1b81be81_a0c7_11d3_b984_00c04f2e73c5);
1522pub const D3D11_DECODER_PROFILE_WMV8_POSTPROC: windows_core::GUID =
1523    windows_core::GUID::from_u128(0x1b81be80_a0c7_11d3_b984_00c04f2e73c5);
1524pub const D3D11_DECODER_PROFILE_WMV9_IDCT: windows_core::GUID =
1525    windows_core::GUID::from_u128(0x1b81be94_a0c7_11d3_b984_00c04f2e73c5);
1526pub const D3D11_DECODER_PROFILE_WMV9_MOCOMP: windows_core::GUID =
1527    windows_core::GUID::from_u128(0x1b81be91_a0c7_11d3_b984_00c04f2e73c5);
1528pub const D3D11_DECODER_PROFILE_WMV9_POSTPROC: windows_core::GUID =
1529    windows_core::GUID::from_u128(0x1b81be90_a0c7_11d3_b984_00c04f2e73c5);
1530pub const D3D11_DEFAULT_BLEND_FACTOR_ALPHA: f32 = 1f32;
1531pub const D3D11_DEFAULT_BLEND_FACTOR_BLUE: f32 = 1f32;
1532pub const D3D11_DEFAULT_BLEND_FACTOR_GREEN: f32 = 1f32;
1533pub const D3D11_DEFAULT_BLEND_FACTOR_RED: f32 = 1f32;
1534pub const D3D11_DEFAULT_BORDER_COLOR_COMPONENT: f32 = 0f32;
1535pub const D3D11_DEFAULT_DEPTH_BIAS: u32 = 0u32;
1536pub const D3D11_DEFAULT_DEPTH_BIAS_CLAMP: f32 = 0f32;
1537pub const D3D11_DEFAULT_MAX_ANISOTROPY: u32 = 16u32;
1538pub const D3D11_DEFAULT_MIP_LOD_BIAS: f32 = 0f32;
1539pub const D3D11_DEFAULT_RENDER_TARGET_ARRAY_INDEX: u32 = 0u32;
1540pub const D3D11_DEFAULT_SAMPLE_MASK: u32 = 4294967295u32;
1541pub const D3D11_DEFAULT_SCISSOR_ENDX: u32 = 0u32;
1542pub const D3D11_DEFAULT_SCISSOR_ENDY: u32 = 0u32;
1543pub const D3D11_DEFAULT_SCISSOR_STARTX: u32 = 0u32;
1544pub const D3D11_DEFAULT_SCISSOR_STARTY: u32 = 0u32;
1545pub const D3D11_DEFAULT_SLOPE_SCALED_DEPTH_BIAS: f32 = 0f32;
1546pub const D3D11_DEFAULT_STENCIL_READ_MASK: u32 = 255u32;
1547pub const D3D11_DEFAULT_STENCIL_REFERENCE: u32 = 0u32;
1548pub const D3D11_DEFAULT_STENCIL_WRITE_MASK: u32 = 255u32;
1549pub const D3D11_DEFAULT_VIEWPORT_AND_SCISSORRECT_INDEX: u32 = 0u32;
1550pub const D3D11_DEFAULT_VIEWPORT_HEIGHT: u32 = 0u32;
1551pub const D3D11_DEFAULT_VIEWPORT_MAX_DEPTH: f32 = 0f32;
1552pub const D3D11_DEFAULT_VIEWPORT_MIN_DEPTH: f32 = 0f32;
1553pub const D3D11_DEFAULT_VIEWPORT_TOPLEFTX: u32 = 0u32;
1554pub const D3D11_DEFAULT_VIEWPORT_TOPLEFTY: u32 = 0u32;
1555pub const D3D11_DEFAULT_VIEWPORT_WIDTH: u32 = 0u32;
1556#[repr(C)]
1557#[derive(Clone, Copy, Debug, PartialEq)]
1558pub struct D3D11_DEPTH_STENCILOP_DESC {
1559    pub StencilFailOp: D3D11_STENCIL_OP,
1560    pub StencilDepthFailOp: D3D11_STENCIL_OP,
1561    pub StencilPassOp: D3D11_STENCIL_OP,
1562    pub StencilFunc: D3D11_COMPARISON_FUNC,
1563}
1564impl Default for D3D11_DEPTH_STENCILOP_DESC {
1565    fn default() -> Self {
1566        unsafe { core::mem::zeroed() }
1567    }
1568}
1569#[repr(C)]
1570#[derive(Clone, Copy, Debug, PartialEq)]
1571pub struct D3D11_DEPTH_STENCIL_DESC {
1572    pub DepthEnable: crate::Foundation::BOOL,
1573    pub DepthWriteMask: D3D11_DEPTH_WRITE_MASK,
1574    pub DepthFunc: D3D11_COMPARISON_FUNC,
1575    pub StencilEnable: crate::Foundation::BOOL,
1576    pub StencilReadMask: u8,
1577    pub StencilWriteMask: u8,
1578    pub FrontFace: D3D11_DEPTH_STENCILOP_DESC,
1579    pub BackFace: D3D11_DEPTH_STENCILOP_DESC,
1580}
1581impl Default for D3D11_DEPTH_STENCIL_DESC {
1582    fn default() -> Self {
1583        unsafe { core::mem::zeroed() }
1584    }
1585}
1586#[repr(C)]
1587#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
1588#[derive(Clone, Copy)]
1589pub struct D3D11_DEPTH_STENCIL_VIEW_DESC {
1590    pub Format: crate::Dxgi::Common::DXGI_FORMAT,
1591    pub ViewDimension: D3D11_DSV_DIMENSION,
1592    pub Flags: u32,
1593    pub Anonymous: D3D11_DEPTH_STENCIL_VIEW_DESC_0,
1594}
1595#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
1596impl Default for D3D11_DEPTH_STENCIL_VIEW_DESC {
1597    fn default() -> Self {
1598        unsafe { core::mem::zeroed() }
1599    }
1600}
1601#[repr(C)]
1602#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
1603#[derive(Clone, Copy)]
1604pub union D3D11_DEPTH_STENCIL_VIEW_DESC_0 {
1605    pub Texture1D: D3D11_TEX1D_DSV,
1606    pub Texture1DArray: D3D11_TEX1D_ARRAY_DSV,
1607    pub Texture2D: D3D11_TEX2D_DSV,
1608    pub Texture2DArray: D3D11_TEX2D_ARRAY_DSV,
1609    pub Texture2DMS: D3D11_TEX2DMS_DSV,
1610    pub Texture2DMSArray: D3D11_TEX2DMS_ARRAY_DSV,
1611}
1612#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
1613impl Default for D3D11_DEPTH_STENCIL_VIEW_DESC_0 {
1614    fn default() -> Self {
1615        unsafe { core::mem::zeroed() }
1616    }
1617}
1618#[repr(transparent)]
1619#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
1620pub struct D3D11_DEPTH_WRITE_MASK(pub i32);
1621pub const D3D11_DEPTH_WRITE_MASK_ALL: D3D11_DEPTH_WRITE_MASK = D3D11_DEPTH_WRITE_MASK(1i32);
1622pub const D3D11_DEPTH_WRITE_MASK_ZERO: D3D11_DEPTH_WRITE_MASK = D3D11_DEPTH_WRITE_MASK(0i32);
1623pub const D3D11_DEVICE_CONTEXT_DEFERRED: D3D11_DEVICE_CONTEXT_TYPE =
1624    D3D11_DEVICE_CONTEXT_TYPE(1i32);
1625pub const D3D11_DEVICE_CONTEXT_IMMEDIATE: D3D11_DEVICE_CONTEXT_TYPE =
1626    D3D11_DEVICE_CONTEXT_TYPE(0i32);
1627#[repr(transparent)]
1628#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
1629pub struct D3D11_DEVICE_CONTEXT_TYPE(pub i32);
1630pub const D3D11_DOMAIN_SHADER: D3D11_SHADER_TYPE = D3D11_SHADER_TYPE(3i32);
1631#[repr(C)]
1632#[derive(Clone, Copy, Debug, PartialEq)]
1633pub struct D3D11_DOMAIN_SHADER_TRACE_DESC {
1634    pub Invocation: u64,
1635}
1636impl Default for D3D11_DOMAIN_SHADER_TRACE_DESC {
1637    fn default() -> Self {
1638        unsafe { core::mem::zeroed() }
1639    }
1640}
1641#[repr(C)]
1642#[derive(Clone, Copy, Debug, PartialEq)]
1643pub struct D3D11_DRAW_INDEXED_INSTANCED_INDIRECT_ARGS {
1644    pub IndexCountPerInstance: u32,
1645    pub InstanceCount: u32,
1646    pub StartIndexLocation: u32,
1647    pub BaseVertexLocation: i32,
1648    pub StartInstanceLocation: u32,
1649}
1650impl Default for D3D11_DRAW_INDEXED_INSTANCED_INDIRECT_ARGS {
1651    fn default() -> Self {
1652        unsafe { core::mem::zeroed() }
1653    }
1654}
1655#[repr(C)]
1656#[derive(Clone, Copy, Debug, PartialEq)]
1657pub struct D3D11_DRAW_INSTANCED_INDIRECT_ARGS {
1658    pub VertexCountPerInstance: u32,
1659    pub InstanceCount: u32,
1660    pub StartVertexLocation: u32,
1661    pub StartInstanceLocation: u32,
1662}
1663impl Default for D3D11_DRAW_INSTANCED_INDIRECT_ARGS {
1664    fn default() -> Self {
1665        unsafe { core::mem::zeroed() }
1666    }
1667}
1668#[repr(transparent)]
1669#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
1670pub struct D3D11_DSV_DIMENSION(pub i32);
1671pub const D3D11_DSV_DIMENSION_TEXTURE1D: D3D11_DSV_DIMENSION = D3D11_DSV_DIMENSION(1i32);
1672pub const D3D11_DSV_DIMENSION_TEXTURE1DARRAY: D3D11_DSV_DIMENSION = D3D11_DSV_DIMENSION(2i32);
1673pub const D3D11_DSV_DIMENSION_TEXTURE2D: D3D11_DSV_DIMENSION = D3D11_DSV_DIMENSION(3i32);
1674pub const D3D11_DSV_DIMENSION_TEXTURE2DARRAY: D3D11_DSV_DIMENSION = D3D11_DSV_DIMENSION(4i32);
1675pub const D3D11_DSV_DIMENSION_TEXTURE2DMS: D3D11_DSV_DIMENSION = D3D11_DSV_DIMENSION(5i32);
1676pub const D3D11_DSV_DIMENSION_TEXTURE2DMSARRAY: D3D11_DSV_DIMENSION = D3D11_DSV_DIMENSION(6i32);
1677pub const D3D11_DSV_DIMENSION_UNKNOWN: D3D11_DSV_DIMENSION = D3D11_DSV_DIMENSION(0i32);
1678#[repr(transparent)]
1679#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
1680pub struct D3D11_DSV_FLAG(pub i32);
1681pub const D3D11_DSV_READ_ONLY_DEPTH: D3D11_DSV_FLAG = D3D11_DSV_FLAG(1i32);
1682pub const D3D11_DSV_READ_ONLY_STENCIL: D3D11_DSV_FLAG = D3D11_DSV_FLAG(2i32);
1683pub const D3D11_DS_INPUT_CONTROL_POINTS_MAX_TOTAL_SCALARS: u32 = 3968u32;
1684pub const D3D11_DS_INPUT_CONTROL_POINT_REGISTER_COMPONENTS: u32 = 4u32;
1685pub const D3D11_DS_INPUT_CONTROL_POINT_REGISTER_COMPONENT_BIT_COUNT: u32 = 32u32;
1686pub const D3D11_DS_INPUT_CONTROL_POINT_REGISTER_COUNT: u32 = 32u32;
1687pub const D3D11_DS_INPUT_CONTROL_POINT_REGISTER_READS_PER_INST: u32 = 2u32;
1688pub const D3D11_DS_INPUT_CONTROL_POINT_REGISTER_READ_PORTS: u32 = 1u32;
1689pub const D3D11_DS_INPUT_DOMAIN_POINT_REGISTER_COMPONENTS: u32 = 3u32;
1690pub const D3D11_DS_INPUT_DOMAIN_POINT_REGISTER_COMPONENT_BIT_COUNT: u32 = 32u32;
1691pub const D3D11_DS_INPUT_DOMAIN_POINT_REGISTER_COUNT: u32 = 1u32;
1692pub const D3D11_DS_INPUT_DOMAIN_POINT_REGISTER_READS_PER_INST: u32 = 2u32;
1693pub const D3D11_DS_INPUT_DOMAIN_POINT_REGISTER_READ_PORTS: u32 = 1u32;
1694pub const D3D11_DS_INPUT_PATCH_CONSTANT_REGISTER_COMPONENTS: u32 = 4u32;
1695pub const D3D11_DS_INPUT_PATCH_CONSTANT_REGISTER_COMPONENT_BIT_COUNT: u32 = 32u32;
1696pub const D3D11_DS_INPUT_PATCH_CONSTANT_REGISTER_COUNT: u32 = 32u32;
1697pub const D3D11_DS_INPUT_PATCH_CONSTANT_REGISTER_READS_PER_INST: u32 = 2u32;
1698pub const D3D11_DS_INPUT_PATCH_CONSTANT_REGISTER_READ_PORTS: u32 = 1u32;
1699pub const D3D11_DS_INPUT_PRIMITIVE_ID_REGISTER_COMPONENTS: u32 = 1u32;
1700pub const D3D11_DS_INPUT_PRIMITIVE_ID_REGISTER_COMPONENT_BIT_COUNT: u32 = 32u32;
1701pub const D3D11_DS_INPUT_PRIMITIVE_ID_REGISTER_COUNT: u32 = 1u32;
1702pub const D3D11_DS_INPUT_PRIMITIVE_ID_REGISTER_READS_PER_INST: u32 = 2u32;
1703pub const D3D11_DS_INPUT_PRIMITIVE_ID_REGISTER_READ_PORTS: u32 = 1u32;
1704pub const D3D11_DS_OUTPUT_REGISTER_COMPONENTS: u32 = 4u32;
1705pub const D3D11_DS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT: u32 = 32u32;
1706pub const D3D11_DS_OUTPUT_REGISTER_COUNT: u32 = 32u32;
1707pub const D3D11_ENABLE_BREAK_ON_MESSAGE: crate::core_supplemental::PCWSTR =
1708    crate::core_supplemental::w!("EnableBreakOnMessage");
1709#[repr(C)]
1710#[derive(Clone, Copy, Debug, PartialEq)]
1711pub struct D3D11_ENCRYPTED_BLOCK_INFO {
1712    pub NumEncryptedBytesAtBeginning: u32,
1713    pub NumBytesInSkipPattern: u32,
1714    pub NumBytesInEncryptPattern: u32,
1715}
1716impl Default for D3D11_ENCRYPTED_BLOCK_INFO {
1717    fn default() -> Self {
1718        unsafe { core::mem::zeroed() }
1719    }
1720}
1721#[repr(transparent)]
1722#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
1723pub struct D3D11_FEATURE(pub i32);
1724pub const D3D11_FEATURE_ARCHITECTURE_INFO: D3D11_FEATURE = D3D11_FEATURE(6i32);
1725pub const D3D11_FEATURE_D3D10_X_HARDWARE_OPTIONS: D3D11_FEATURE = D3D11_FEATURE(4i32);
1726pub const D3D11_FEATURE_D3D11_OPTIONS: D3D11_FEATURE = D3D11_FEATURE(5i32);
1727pub const D3D11_FEATURE_D3D11_OPTIONS1: D3D11_FEATURE = D3D11_FEATURE(10i32);
1728pub const D3D11_FEATURE_D3D11_OPTIONS2: D3D11_FEATURE = D3D11_FEATURE(14i32);
1729pub const D3D11_FEATURE_D3D11_OPTIONS3: D3D11_FEATURE = D3D11_FEATURE(15i32);
1730pub const D3D11_FEATURE_D3D11_OPTIONS4: D3D11_FEATURE = D3D11_FEATURE(17i32);
1731pub const D3D11_FEATURE_D3D11_OPTIONS5: D3D11_FEATURE = D3D11_FEATURE(19i32);
1732pub const D3D11_FEATURE_D3D9_OPTIONS: D3D11_FEATURE = D3D11_FEATURE(7i32);
1733pub const D3D11_FEATURE_D3D9_OPTIONS1: D3D11_FEATURE = D3D11_FEATURE(13i32);
1734pub const D3D11_FEATURE_D3D9_SHADOW_SUPPORT: D3D11_FEATURE = D3D11_FEATURE(9i32);
1735pub const D3D11_FEATURE_D3D9_SIMPLE_INSTANCING_SUPPORT: D3D11_FEATURE = D3D11_FEATURE(11i32);
1736#[repr(C)]
1737#[derive(Clone, Copy, Debug, PartialEq)]
1738pub struct D3D11_FEATURE_DATA_ARCHITECTURE_INFO {
1739    pub TileBasedDeferredRenderer: crate::Foundation::BOOL,
1740}
1741impl Default for D3D11_FEATURE_DATA_ARCHITECTURE_INFO {
1742    fn default() -> Self {
1743        unsafe { core::mem::zeroed() }
1744    }
1745}
1746#[repr(C)]
1747#[derive(Clone, Copy, Debug, PartialEq)]
1748pub struct D3D11_FEATURE_DATA_D3D10_X_HARDWARE_OPTIONS {
1749    pub ComputeShaders_Plus_RawAndStructuredBuffers_Via_Shader_4_x: crate::Foundation::BOOL,
1750}
1751impl Default for D3D11_FEATURE_DATA_D3D10_X_HARDWARE_OPTIONS {
1752    fn default() -> Self {
1753        unsafe { core::mem::zeroed() }
1754    }
1755}
1756#[repr(C)]
1757#[derive(Clone, Copy, Debug, PartialEq)]
1758pub struct D3D11_FEATURE_DATA_D3D11_OPTIONS {
1759    pub OutputMergerLogicOp: crate::Foundation::BOOL,
1760    pub UAVOnlyRenderingForcedSampleCount: crate::Foundation::BOOL,
1761    pub DiscardAPIsSeenByDriver: crate::Foundation::BOOL,
1762    pub FlagsForUpdateAndCopySeenByDriver: crate::Foundation::BOOL,
1763    pub ClearView: crate::Foundation::BOOL,
1764    pub CopyWithOverlap: crate::Foundation::BOOL,
1765    pub ConstantBufferPartialUpdate: crate::Foundation::BOOL,
1766    pub ConstantBufferOffsetting: crate::Foundation::BOOL,
1767    pub MapNoOverwriteOnDynamicConstantBuffer: crate::Foundation::BOOL,
1768    pub MapNoOverwriteOnDynamicBufferSRV: crate::Foundation::BOOL,
1769    pub MultisampleRTVWithForcedSampleCountOne: crate::Foundation::BOOL,
1770    pub SAD4ShaderInstructions: crate::Foundation::BOOL,
1771    pub ExtendedDoublesShaderInstructions: crate::Foundation::BOOL,
1772    pub ExtendedResourceSharing: crate::Foundation::BOOL,
1773}
1774impl Default for D3D11_FEATURE_DATA_D3D11_OPTIONS {
1775    fn default() -> Self {
1776        unsafe { core::mem::zeroed() }
1777    }
1778}
1779#[repr(C)]
1780#[derive(Clone, Copy, Debug, PartialEq)]
1781pub struct D3D11_FEATURE_DATA_D3D11_OPTIONS1 {
1782    pub TiledResourcesTier: D3D11_TILED_RESOURCES_TIER,
1783    pub MinMaxFiltering: crate::Foundation::BOOL,
1784    pub ClearViewAlsoSupportsDepthOnlyFormats: crate::Foundation::BOOL,
1785    pub MapOnDefaultBuffers: crate::Foundation::BOOL,
1786}
1787impl Default for D3D11_FEATURE_DATA_D3D11_OPTIONS1 {
1788    fn default() -> Self {
1789        unsafe { core::mem::zeroed() }
1790    }
1791}
1792#[repr(C)]
1793#[derive(Clone, Copy, Debug, PartialEq)]
1794pub struct D3D11_FEATURE_DATA_D3D11_OPTIONS2 {
1795    pub PSSpecifiedStencilRefSupported: crate::Foundation::BOOL,
1796    pub TypedUAVLoadAdditionalFormats: crate::Foundation::BOOL,
1797    pub ROVsSupported: crate::Foundation::BOOL,
1798    pub ConservativeRasterizationTier: D3D11_CONSERVATIVE_RASTERIZATION_TIER,
1799    pub TiledResourcesTier: D3D11_TILED_RESOURCES_TIER,
1800    pub MapOnDefaultTextures: crate::Foundation::BOOL,
1801    pub StandardSwizzle: crate::Foundation::BOOL,
1802    pub UnifiedMemoryArchitecture: crate::Foundation::BOOL,
1803}
1804impl Default for D3D11_FEATURE_DATA_D3D11_OPTIONS2 {
1805    fn default() -> Self {
1806        unsafe { core::mem::zeroed() }
1807    }
1808}
1809#[repr(C)]
1810#[derive(Clone, Copy, Debug, PartialEq)]
1811pub struct D3D11_FEATURE_DATA_D3D11_OPTIONS3 {
1812    pub VPAndRTArrayIndexFromAnyShaderFeedingRasterizer: crate::Foundation::BOOL,
1813}
1814impl Default for D3D11_FEATURE_DATA_D3D11_OPTIONS3 {
1815    fn default() -> Self {
1816        unsafe { core::mem::zeroed() }
1817    }
1818}
1819#[repr(C)]
1820#[derive(Clone, Copy, Debug, PartialEq)]
1821pub struct D3D11_FEATURE_DATA_D3D11_OPTIONS4 {
1822    pub ExtendedNV12SharedTextureSupported: crate::Foundation::BOOL,
1823}
1824impl Default for D3D11_FEATURE_DATA_D3D11_OPTIONS4 {
1825    fn default() -> Self {
1826        unsafe { core::mem::zeroed() }
1827    }
1828}
1829#[repr(C)]
1830#[derive(Clone, Copy, Debug, PartialEq)]
1831pub struct D3D11_FEATURE_DATA_D3D11_OPTIONS5 {
1832    pub SharedResourceTier: D3D11_SHARED_RESOURCE_TIER,
1833}
1834impl Default for D3D11_FEATURE_DATA_D3D11_OPTIONS5 {
1835    fn default() -> Self {
1836        unsafe { core::mem::zeroed() }
1837    }
1838}
1839#[repr(C)]
1840#[derive(Clone, Copy, Debug, PartialEq)]
1841pub struct D3D11_FEATURE_DATA_D3D9_OPTIONS {
1842    pub FullNonPow2TextureSupport: crate::Foundation::BOOL,
1843}
1844impl Default for D3D11_FEATURE_DATA_D3D9_OPTIONS {
1845    fn default() -> Self {
1846        unsafe { core::mem::zeroed() }
1847    }
1848}
1849#[repr(C)]
1850#[derive(Clone, Copy, Debug, PartialEq)]
1851pub struct D3D11_FEATURE_DATA_D3D9_OPTIONS1 {
1852    pub FullNonPow2TextureSupported: crate::Foundation::BOOL,
1853    pub DepthAsTextureWithLessEqualComparisonFilterSupported: crate::Foundation::BOOL,
1854    pub SimpleInstancingSupported: crate::Foundation::BOOL,
1855    pub TextureCubeFaceRenderTargetWithNonCubeDepthStencilSupported: crate::Foundation::BOOL,
1856}
1857impl Default for D3D11_FEATURE_DATA_D3D9_OPTIONS1 {
1858    fn default() -> Self {
1859        unsafe { core::mem::zeroed() }
1860    }
1861}
1862#[repr(C)]
1863#[derive(Clone, Copy, Debug, PartialEq)]
1864pub struct D3D11_FEATURE_DATA_D3D9_SHADOW_SUPPORT {
1865    pub SupportsDepthAsTextureWithLessEqualComparisonFilter: crate::Foundation::BOOL,
1866}
1867impl Default for D3D11_FEATURE_DATA_D3D9_SHADOW_SUPPORT {
1868    fn default() -> Self {
1869        unsafe { core::mem::zeroed() }
1870    }
1871}
1872#[repr(C)]
1873#[derive(Clone, Copy, Debug, PartialEq)]
1874pub struct D3D11_FEATURE_DATA_D3D9_SIMPLE_INSTANCING_SUPPORT {
1875    pub SimpleInstancingSupported: crate::Foundation::BOOL,
1876}
1877impl Default for D3D11_FEATURE_DATA_D3D9_SIMPLE_INSTANCING_SUPPORT {
1878    fn default() -> Self {
1879        unsafe { core::mem::zeroed() }
1880    }
1881}
1882#[repr(C)]
1883#[derive(Clone, Copy, Debug, PartialEq)]
1884pub struct D3D11_FEATURE_DATA_DISPLAYABLE {
1885    pub DisplayableTexture: crate::Foundation::BOOL,
1886    pub SharedResourceTier: D3D11_SHARED_RESOURCE_TIER,
1887}
1888impl Default for D3D11_FEATURE_DATA_DISPLAYABLE {
1889    fn default() -> Self {
1890        unsafe { core::mem::zeroed() }
1891    }
1892}
1893#[repr(C)]
1894#[derive(Clone, Copy, Debug, PartialEq)]
1895pub struct D3D11_FEATURE_DATA_DOUBLES {
1896    pub DoublePrecisionFloatShaderOps: crate::Foundation::BOOL,
1897}
1898impl Default for D3D11_FEATURE_DATA_DOUBLES {
1899    fn default() -> Self {
1900        unsafe { core::mem::zeroed() }
1901    }
1902}
1903#[repr(C)]
1904#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
1905#[derive(Clone, Copy, Debug, PartialEq)]
1906pub struct D3D11_FEATURE_DATA_FORMAT_SUPPORT {
1907    pub InFormat: crate::Dxgi::Common::DXGI_FORMAT,
1908    pub OutFormatSupport: u32,
1909}
1910#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
1911impl Default for D3D11_FEATURE_DATA_FORMAT_SUPPORT {
1912    fn default() -> Self {
1913        unsafe { core::mem::zeroed() }
1914    }
1915}
1916#[repr(C)]
1917#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
1918#[derive(Clone, Copy, Debug, PartialEq)]
1919pub struct D3D11_FEATURE_DATA_FORMAT_SUPPORT2 {
1920    pub InFormat: crate::Dxgi::Common::DXGI_FORMAT,
1921    pub OutFormatSupport2: u32,
1922}
1923#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
1924impl Default for D3D11_FEATURE_DATA_FORMAT_SUPPORT2 {
1925    fn default() -> Self {
1926        unsafe { core::mem::zeroed() }
1927    }
1928}
1929#[repr(C)]
1930#[derive(Clone, Copy, Debug, PartialEq)]
1931pub struct D3D11_FEATURE_DATA_GPU_VIRTUAL_ADDRESS_SUPPORT {
1932    pub MaxGPUVirtualAddressBitsPerResource: u32,
1933    pub MaxGPUVirtualAddressBitsPerProcess: u32,
1934}
1935impl Default for D3D11_FEATURE_DATA_GPU_VIRTUAL_ADDRESS_SUPPORT {
1936    fn default() -> Self {
1937        unsafe { core::mem::zeroed() }
1938    }
1939}
1940#[repr(C)]
1941#[derive(Clone, Copy, Debug, PartialEq)]
1942pub struct D3D11_FEATURE_DATA_MARKER_SUPPORT {
1943    pub Profile: crate::Foundation::BOOL,
1944}
1945impl Default for D3D11_FEATURE_DATA_MARKER_SUPPORT {
1946    fn default() -> Self {
1947        unsafe { core::mem::zeroed() }
1948    }
1949}
1950#[repr(C)]
1951#[derive(Clone, Copy, Debug, PartialEq)]
1952pub struct D3D11_FEATURE_DATA_SHADER_CACHE {
1953    pub SupportFlags: u32,
1954}
1955impl Default for D3D11_FEATURE_DATA_SHADER_CACHE {
1956    fn default() -> Self {
1957        unsafe { core::mem::zeroed() }
1958    }
1959}
1960#[repr(C)]
1961#[derive(Clone, Copy, Debug, PartialEq)]
1962pub struct D3D11_FEATURE_DATA_SHADER_MIN_PRECISION_SUPPORT {
1963    pub PixelShaderMinPrecision: u32,
1964    pub AllOtherShaderStagesMinPrecision: u32,
1965}
1966impl Default for D3D11_FEATURE_DATA_SHADER_MIN_PRECISION_SUPPORT {
1967    fn default() -> Self {
1968        unsafe { core::mem::zeroed() }
1969    }
1970}
1971#[repr(C)]
1972#[derive(Clone, Copy, Debug, PartialEq)]
1973pub struct D3D11_FEATURE_DATA_THREADING {
1974    pub DriverConcurrentCreates: crate::Foundation::BOOL,
1975    pub DriverCommandLists: crate::Foundation::BOOL,
1976}
1977impl Default for D3D11_FEATURE_DATA_THREADING {
1978    fn default() -> Self {
1979        unsafe { core::mem::zeroed() }
1980    }
1981}
1982#[repr(C)]
1983#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
1984#[derive(Clone, Copy, Debug, PartialEq)]
1985pub struct D3D11_FEATURE_DATA_VIDEO_DECODER_HISTOGRAM {
1986    pub DecoderDesc: D3D11_VIDEO_DECODER_DESC,
1987    pub Components: D3D11_VIDEO_DECODER_HISTOGRAM_COMPONENT_FLAGS,
1988    pub BinCount: u32,
1989    pub CounterBitDepth: u32,
1990}
1991#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
1992impl Default for D3D11_FEATURE_DATA_VIDEO_DECODER_HISTOGRAM {
1993    fn default() -> Self {
1994        unsafe { core::mem::zeroed() }
1995    }
1996}
1997pub const D3D11_FEATURE_DISPLAYABLE: D3D11_FEATURE = D3D11_FEATURE(20i32);
1998pub const D3D11_FEATURE_DOUBLES: D3D11_FEATURE = D3D11_FEATURE(1i32);
1999pub const D3D11_FEATURE_FORMAT_SUPPORT: D3D11_FEATURE = D3D11_FEATURE(2i32);
2000pub const D3D11_FEATURE_FORMAT_SUPPORT2: D3D11_FEATURE = D3D11_FEATURE(3i32);
2001pub const D3D11_FEATURE_GPU_VIRTUAL_ADDRESS_SUPPORT: D3D11_FEATURE = D3D11_FEATURE(16i32);
2002pub const D3D11_FEATURE_MARKER_SUPPORT: D3D11_FEATURE = D3D11_FEATURE(12i32);
2003pub const D3D11_FEATURE_SHADER_CACHE: D3D11_FEATURE = D3D11_FEATURE(18i32);
2004pub const D3D11_FEATURE_SHADER_MIN_PRECISION_SUPPORT: D3D11_FEATURE = D3D11_FEATURE(8i32);
2005pub const D3D11_FEATURE_THREADING: D3D11_FEATURE = D3D11_FEATURE(0i32);
2006#[repr(transparent)]
2007#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
2008pub struct D3D11_FEATURE_VIDEO(pub i32);
2009pub const D3D11_FEATURE_VIDEO_DECODER_HISTOGRAM: D3D11_FEATURE_VIDEO = D3D11_FEATURE_VIDEO(0i32);
2010#[repr(transparent)]
2011#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
2012pub struct D3D11_FENCE_FLAG(pub i32);
2013impl D3D11_FENCE_FLAG {
2014    pub const fn contains(&self, other: Self) -> bool {
2015        self.0 & other.0 == other.0
2016    }
2017}
2018impl core::ops::BitOr for D3D11_FENCE_FLAG {
2019    type Output = Self;
2020    fn bitor(self, other: Self) -> Self {
2021        Self(self.0 | other.0)
2022    }
2023}
2024impl core::ops::BitAnd for D3D11_FENCE_FLAG {
2025    type Output = Self;
2026    fn bitand(self, other: Self) -> Self {
2027        Self(self.0 & other.0)
2028    }
2029}
2030impl core::ops::BitOrAssign for D3D11_FENCE_FLAG {
2031    fn bitor_assign(&mut self, other: Self) {
2032        self.0.bitor_assign(other.0)
2033    }
2034}
2035impl core::ops::BitAndAssign for D3D11_FENCE_FLAG {
2036    fn bitand_assign(&mut self, other: Self) {
2037        self.0.bitand_assign(other.0)
2038    }
2039}
2040impl core::ops::Not for D3D11_FENCE_FLAG {
2041    type Output = Self;
2042    fn not(self) -> Self {
2043        Self(self.0.not())
2044    }
2045}
2046pub const D3D11_FENCE_FLAG_NONE: D3D11_FENCE_FLAG = D3D11_FENCE_FLAG(0i32);
2047pub const D3D11_FENCE_FLAG_NON_MONITORED: D3D11_FENCE_FLAG = D3D11_FENCE_FLAG(8i32);
2048pub const D3D11_FENCE_FLAG_SHARED: D3D11_FENCE_FLAG = D3D11_FENCE_FLAG(2i32);
2049pub const D3D11_FENCE_FLAG_SHARED_CROSS_ADAPTER: D3D11_FENCE_FLAG = D3D11_FENCE_FLAG(4i32);
2050#[repr(transparent)]
2051#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
2052pub struct D3D11_FILL_MODE(pub i32);
2053pub const D3D11_FILL_SOLID: D3D11_FILL_MODE = D3D11_FILL_MODE(3i32);
2054pub const D3D11_FILL_WIREFRAME: D3D11_FILL_MODE = D3D11_FILL_MODE(2i32);
2055#[repr(transparent)]
2056#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
2057pub struct D3D11_FILTER(pub i32);
2058pub const D3D11_FILTER_ANISOTROPIC: D3D11_FILTER = D3D11_FILTER(85i32);
2059pub const D3D11_FILTER_COMPARISON_ANISOTROPIC: D3D11_FILTER = D3D11_FILTER(213i32);
2060pub const D3D11_FILTER_COMPARISON_MIN_LINEAR_MAG_MIP_POINT: D3D11_FILTER = D3D11_FILTER(144i32);
2061pub const D3D11_FILTER_COMPARISON_MIN_LINEAR_MAG_POINT_MIP_LINEAR: D3D11_FILTER =
2062    D3D11_FILTER(145i32);
2063pub const D3D11_FILTER_COMPARISON_MIN_MAG_LINEAR_MIP_POINT: D3D11_FILTER = D3D11_FILTER(148i32);
2064pub const D3D11_FILTER_COMPARISON_MIN_MAG_MIP_LINEAR: D3D11_FILTER = D3D11_FILTER(149i32);
2065pub const D3D11_FILTER_COMPARISON_MIN_MAG_MIP_POINT: D3D11_FILTER = D3D11_FILTER(128i32);
2066pub const D3D11_FILTER_COMPARISON_MIN_MAG_POINT_MIP_LINEAR: D3D11_FILTER = D3D11_FILTER(129i32);
2067pub const D3D11_FILTER_COMPARISON_MIN_POINT_MAG_LINEAR_MIP_POINT: D3D11_FILTER =
2068    D3D11_FILTER(132i32);
2069pub const D3D11_FILTER_COMPARISON_MIN_POINT_MAG_MIP_LINEAR: D3D11_FILTER = D3D11_FILTER(133i32);
2070pub const D3D11_FILTER_MAXIMUM_ANISOTROPIC: D3D11_FILTER = D3D11_FILTER(469i32);
2071pub const D3D11_FILTER_MAXIMUM_MIN_LINEAR_MAG_MIP_POINT: D3D11_FILTER = D3D11_FILTER(400i32);
2072pub const D3D11_FILTER_MAXIMUM_MIN_LINEAR_MAG_POINT_MIP_LINEAR: D3D11_FILTER = D3D11_FILTER(401i32);
2073pub const D3D11_FILTER_MAXIMUM_MIN_MAG_LINEAR_MIP_POINT: D3D11_FILTER = D3D11_FILTER(404i32);
2074pub const D3D11_FILTER_MAXIMUM_MIN_MAG_MIP_LINEAR: D3D11_FILTER = D3D11_FILTER(405i32);
2075pub const D3D11_FILTER_MAXIMUM_MIN_MAG_MIP_POINT: D3D11_FILTER = D3D11_FILTER(384i32);
2076pub const D3D11_FILTER_MAXIMUM_MIN_MAG_POINT_MIP_LINEAR: D3D11_FILTER = D3D11_FILTER(385i32);
2077pub const D3D11_FILTER_MAXIMUM_MIN_POINT_MAG_LINEAR_MIP_POINT: D3D11_FILTER = D3D11_FILTER(388i32);
2078pub const D3D11_FILTER_MAXIMUM_MIN_POINT_MAG_MIP_LINEAR: D3D11_FILTER = D3D11_FILTER(389i32);
2079pub const D3D11_FILTER_MINIMUM_ANISOTROPIC: D3D11_FILTER = D3D11_FILTER(341i32);
2080pub const D3D11_FILTER_MINIMUM_MIN_LINEAR_MAG_MIP_POINT: D3D11_FILTER = D3D11_FILTER(272i32);
2081pub const D3D11_FILTER_MINIMUM_MIN_LINEAR_MAG_POINT_MIP_LINEAR: D3D11_FILTER = D3D11_FILTER(273i32);
2082pub const D3D11_FILTER_MINIMUM_MIN_MAG_LINEAR_MIP_POINT: D3D11_FILTER = D3D11_FILTER(276i32);
2083pub const D3D11_FILTER_MINIMUM_MIN_MAG_MIP_LINEAR: D3D11_FILTER = D3D11_FILTER(277i32);
2084pub const D3D11_FILTER_MINIMUM_MIN_MAG_MIP_POINT: D3D11_FILTER = D3D11_FILTER(256i32);
2085pub const D3D11_FILTER_MINIMUM_MIN_MAG_POINT_MIP_LINEAR: D3D11_FILTER = D3D11_FILTER(257i32);
2086pub const D3D11_FILTER_MINIMUM_MIN_POINT_MAG_LINEAR_MIP_POINT: D3D11_FILTER = D3D11_FILTER(260i32);
2087pub const D3D11_FILTER_MINIMUM_MIN_POINT_MAG_MIP_LINEAR: D3D11_FILTER = D3D11_FILTER(261i32);
2088pub const D3D11_FILTER_MIN_LINEAR_MAG_MIP_POINT: D3D11_FILTER = D3D11_FILTER(16i32);
2089pub const D3D11_FILTER_MIN_LINEAR_MAG_POINT_MIP_LINEAR: D3D11_FILTER = D3D11_FILTER(17i32);
2090pub const D3D11_FILTER_MIN_MAG_LINEAR_MIP_POINT: D3D11_FILTER = D3D11_FILTER(20i32);
2091pub const D3D11_FILTER_MIN_MAG_MIP_LINEAR: D3D11_FILTER = D3D11_FILTER(21i32);
2092pub const D3D11_FILTER_MIN_MAG_MIP_POINT: D3D11_FILTER = D3D11_FILTER(0i32);
2093pub const D3D11_FILTER_MIN_MAG_POINT_MIP_LINEAR: D3D11_FILTER = D3D11_FILTER(1i32);
2094pub const D3D11_FILTER_MIN_POINT_MAG_LINEAR_MIP_POINT: D3D11_FILTER = D3D11_FILTER(4i32);
2095pub const D3D11_FILTER_MIN_POINT_MAG_MIP_LINEAR: D3D11_FILTER = D3D11_FILTER(5i32);
2096#[repr(transparent)]
2097#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
2098pub struct D3D11_FILTER_REDUCTION_TYPE(pub i32);
2099pub const D3D11_FILTER_REDUCTION_TYPE_COMPARISON: D3D11_FILTER_REDUCTION_TYPE =
2100    D3D11_FILTER_REDUCTION_TYPE(1i32);
2101pub const D3D11_FILTER_REDUCTION_TYPE_MASK: u32 = 3u32;
2102pub const D3D11_FILTER_REDUCTION_TYPE_MAXIMUM: D3D11_FILTER_REDUCTION_TYPE =
2103    D3D11_FILTER_REDUCTION_TYPE(3i32);
2104pub const D3D11_FILTER_REDUCTION_TYPE_MINIMUM: D3D11_FILTER_REDUCTION_TYPE =
2105    D3D11_FILTER_REDUCTION_TYPE(2i32);
2106pub const D3D11_FILTER_REDUCTION_TYPE_SHIFT: u32 = 7u32;
2107pub const D3D11_FILTER_REDUCTION_TYPE_STANDARD: D3D11_FILTER_REDUCTION_TYPE =
2108    D3D11_FILTER_REDUCTION_TYPE(0i32);
2109#[repr(transparent)]
2110#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
2111pub struct D3D11_FILTER_TYPE(pub i32);
2112pub const D3D11_FILTER_TYPE_LINEAR: D3D11_FILTER_TYPE = D3D11_FILTER_TYPE(1i32);
2113pub const D3D11_FILTER_TYPE_MASK: u32 = 3u32;
2114pub const D3D11_FILTER_TYPE_POINT: D3D11_FILTER_TYPE = D3D11_FILTER_TYPE(0i32);
2115pub const D3D11_FLOAT16_FUSED_TOLERANCE_IN_ULP: f64 = 0.6f64;
2116pub const D3D11_FLOAT32_MAX: f32 = 340282350000000000000000000000000000000f32;
2117pub const D3D11_FLOAT32_TO_INTEGER_TOLERANCE_IN_ULP: f32 = 0.6f32;
2118pub const D3D11_FLOAT_TO_SRGB_EXPONENT_DENOMINATOR: f32 = 2.4f32;
2119pub const D3D11_FLOAT_TO_SRGB_EXPONENT_NUMERATOR: f32 = 1f32;
2120pub const D3D11_FLOAT_TO_SRGB_OFFSET: f32 = 0.055f32;
2121pub const D3D11_FLOAT_TO_SRGB_SCALE_1: f32 = 12.92f32;
2122pub const D3D11_FLOAT_TO_SRGB_SCALE_2: f32 = 1.055f32;
2123pub const D3D11_FLOAT_TO_SRGB_THRESHOLD: f32 = 0.0031308f32;
2124pub const D3D11_FORCE_DEBUGGABLE: crate::core_supplemental::PCWSTR = crate::core_supplemental::w!("ForceDebuggable");
2125pub const D3D11_FORCE_SHADER_SKIP_OPTIMIZATION: crate::core_supplemental::PCWSTR =
2126    crate::core_supplemental::w!("ForceShaderSkipOptimization");
2127#[repr(transparent)]
2128#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
2129pub struct D3D11_FORMAT_SUPPORT(pub i32);
2130#[repr(transparent)]
2131#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
2132pub struct D3D11_FORMAT_SUPPORT2(pub i32);
2133pub const D3D11_FORMAT_SUPPORT2_DISPLAYABLE: D3D11_FORMAT_SUPPORT2 =
2134    D3D11_FORMAT_SUPPORT2(65536i32);
2135pub const D3D11_FORMAT_SUPPORT2_MULTIPLANE_OVERLAY: D3D11_FORMAT_SUPPORT2 =
2136    D3D11_FORMAT_SUPPORT2(16384i32);
2137pub const D3D11_FORMAT_SUPPORT2_OUTPUT_MERGER_LOGIC_OP: D3D11_FORMAT_SUPPORT2 =
2138    D3D11_FORMAT_SUPPORT2(256i32);
2139pub const D3D11_FORMAT_SUPPORT2_SHAREABLE: D3D11_FORMAT_SUPPORT2 = D3D11_FORMAT_SUPPORT2(1024i32);
2140pub const D3D11_FORMAT_SUPPORT2_TILED: D3D11_FORMAT_SUPPORT2 = D3D11_FORMAT_SUPPORT2(512i32);
2141pub const D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_ADD: D3D11_FORMAT_SUPPORT2 = D3D11_FORMAT_SUPPORT2(1i32);
2142pub const D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_BITWISE_OPS: D3D11_FORMAT_SUPPORT2 =
2143    D3D11_FORMAT_SUPPORT2(2i32);
2144pub const D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_COMPARE_STORE_OR_COMPARE_EXCHANGE:
2145    D3D11_FORMAT_SUPPORT2 = D3D11_FORMAT_SUPPORT2(4i32);
2146pub const D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_EXCHANGE: D3D11_FORMAT_SUPPORT2 =
2147    D3D11_FORMAT_SUPPORT2(8i32);
2148pub const D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_SIGNED_MIN_OR_MAX: D3D11_FORMAT_SUPPORT2 =
2149    D3D11_FORMAT_SUPPORT2(16i32);
2150pub const D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_UNSIGNED_MIN_OR_MAX: D3D11_FORMAT_SUPPORT2 =
2151    D3D11_FORMAT_SUPPORT2(32i32);
2152pub const D3D11_FORMAT_SUPPORT2_UAV_TYPED_LOAD: D3D11_FORMAT_SUPPORT2 =
2153    D3D11_FORMAT_SUPPORT2(64i32);
2154pub const D3D11_FORMAT_SUPPORT2_UAV_TYPED_STORE: D3D11_FORMAT_SUPPORT2 =
2155    D3D11_FORMAT_SUPPORT2(128i32);
2156pub const D3D11_FORMAT_SUPPORT_BACK_BUFFER_CAST: D3D11_FORMAT_SUPPORT =
2157    D3D11_FORMAT_SUPPORT(16777216i32);
2158pub const D3D11_FORMAT_SUPPORT_BLENDABLE: D3D11_FORMAT_SUPPORT = D3D11_FORMAT_SUPPORT(32768i32);
2159pub const D3D11_FORMAT_SUPPORT_BUFFER: D3D11_FORMAT_SUPPORT = D3D11_FORMAT_SUPPORT(1i32);
2160pub const D3D11_FORMAT_SUPPORT_CAST_WITHIN_BIT_LAYOUT: D3D11_FORMAT_SUPPORT =
2161    D3D11_FORMAT_SUPPORT(1048576i32);
2162pub const D3D11_FORMAT_SUPPORT_CPU_LOCKABLE: D3D11_FORMAT_SUPPORT = D3D11_FORMAT_SUPPORT(131072i32);
2163pub const D3D11_FORMAT_SUPPORT_DECODER_OUTPUT: D3D11_FORMAT_SUPPORT =
2164    D3D11_FORMAT_SUPPORT(134217728i32);
2165pub const D3D11_FORMAT_SUPPORT_DEPTH_STENCIL: D3D11_FORMAT_SUPPORT = D3D11_FORMAT_SUPPORT(65536i32);
2166pub const D3D11_FORMAT_SUPPORT_DISPLAY: D3D11_FORMAT_SUPPORT = D3D11_FORMAT_SUPPORT(524288i32);
2167pub const D3D11_FORMAT_SUPPORT_IA_INDEX_BUFFER: D3D11_FORMAT_SUPPORT = D3D11_FORMAT_SUPPORT(4i32);
2168pub const D3D11_FORMAT_SUPPORT_IA_VERTEX_BUFFER: D3D11_FORMAT_SUPPORT = D3D11_FORMAT_SUPPORT(2i32);
2169pub const D3D11_FORMAT_SUPPORT_MIP: D3D11_FORMAT_SUPPORT = D3D11_FORMAT_SUPPORT(4096i32);
2170pub const D3D11_FORMAT_SUPPORT_MIP_AUTOGEN: D3D11_FORMAT_SUPPORT = D3D11_FORMAT_SUPPORT(8192i32);
2171pub const D3D11_FORMAT_SUPPORT_MULTISAMPLE_LOAD: D3D11_FORMAT_SUPPORT =
2172    D3D11_FORMAT_SUPPORT(4194304i32);
2173pub const D3D11_FORMAT_SUPPORT_MULTISAMPLE_RENDERTARGET: D3D11_FORMAT_SUPPORT =
2174    D3D11_FORMAT_SUPPORT(2097152i32);
2175pub const D3D11_FORMAT_SUPPORT_MULTISAMPLE_RESOLVE: D3D11_FORMAT_SUPPORT =
2176    D3D11_FORMAT_SUPPORT(262144i32);
2177pub const D3D11_FORMAT_SUPPORT_RENDER_TARGET: D3D11_FORMAT_SUPPORT = D3D11_FORMAT_SUPPORT(16384i32);
2178pub const D3D11_FORMAT_SUPPORT_SHADER_GATHER: D3D11_FORMAT_SUPPORT =
2179    D3D11_FORMAT_SUPPORT(8388608i32);
2180pub const D3D11_FORMAT_SUPPORT_SHADER_GATHER_COMPARISON: D3D11_FORMAT_SUPPORT =
2181    D3D11_FORMAT_SUPPORT(67108864i32);
2182pub const D3D11_FORMAT_SUPPORT_SHADER_LOAD: D3D11_FORMAT_SUPPORT = D3D11_FORMAT_SUPPORT(256i32);
2183pub const D3D11_FORMAT_SUPPORT_SHADER_SAMPLE: D3D11_FORMAT_SUPPORT = D3D11_FORMAT_SUPPORT(512i32);
2184pub const D3D11_FORMAT_SUPPORT_SHADER_SAMPLE_COMPARISON: D3D11_FORMAT_SUPPORT =
2185    D3D11_FORMAT_SUPPORT(1024i32);
2186pub const D3D11_FORMAT_SUPPORT_SHADER_SAMPLE_MONO_TEXT: D3D11_FORMAT_SUPPORT =
2187    D3D11_FORMAT_SUPPORT(2048i32);
2188pub const D3D11_FORMAT_SUPPORT_SO_BUFFER: D3D11_FORMAT_SUPPORT = D3D11_FORMAT_SUPPORT(8i32);
2189pub const D3D11_FORMAT_SUPPORT_TEXTURE1D: D3D11_FORMAT_SUPPORT = D3D11_FORMAT_SUPPORT(16i32);
2190pub const D3D11_FORMAT_SUPPORT_TEXTURE2D: D3D11_FORMAT_SUPPORT = D3D11_FORMAT_SUPPORT(32i32);
2191pub const D3D11_FORMAT_SUPPORT_TEXTURE3D: D3D11_FORMAT_SUPPORT = D3D11_FORMAT_SUPPORT(64i32);
2192pub const D3D11_FORMAT_SUPPORT_TEXTURECUBE: D3D11_FORMAT_SUPPORT = D3D11_FORMAT_SUPPORT(128i32);
2193pub const D3D11_FORMAT_SUPPORT_TYPED_UNORDERED_ACCESS_VIEW: D3D11_FORMAT_SUPPORT =
2194    D3D11_FORMAT_SUPPORT(33554432i32);
2195pub const D3D11_FORMAT_SUPPORT_VIDEO_ENCODER: D3D11_FORMAT_SUPPORT =
2196    D3D11_FORMAT_SUPPORT(1073741824i32);
2197pub const D3D11_FORMAT_SUPPORT_VIDEO_PROCESSOR_INPUT: D3D11_FORMAT_SUPPORT =
2198    D3D11_FORMAT_SUPPORT(536870912i32);
2199pub const D3D11_FORMAT_SUPPORT_VIDEO_PROCESSOR_OUTPUT: D3D11_FORMAT_SUPPORT =
2200    D3D11_FORMAT_SUPPORT(268435456i32);
2201pub const D3D11_FTOI_INSTRUCTION_MAX_INPUT: f32 = 2147483600f32;
2202pub const D3D11_FTOI_INSTRUCTION_MIN_INPUT: f32 = -2147483600f32;
2203pub const D3D11_FTOU_INSTRUCTION_MAX_INPUT: f32 = 4294967300f32;
2204pub const D3D11_FTOU_INSTRUCTION_MIN_INPUT: f32 = 0f32;
2205#[repr(C)]
2206#[cfg(feature = "Win32_Graphics_Direct3D")]
2207#[derive(Clone, Copy, Debug, PartialEq)]
2208pub struct D3D11_FUNCTION_DESC {
2209    pub Version: u32,
2210    pub Creator: crate::core_supplemental::PCSTR,
2211    pub Flags: u32,
2212    pub ConstantBuffers: u32,
2213    pub BoundResources: u32,
2214    pub InstructionCount: u32,
2215    pub TempRegisterCount: u32,
2216    pub TempArrayCount: u32,
2217    pub DefCount: u32,
2218    pub DclCount: u32,
2219    pub TextureNormalInstructions: u32,
2220    pub TextureLoadInstructions: u32,
2221    pub TextureCompInstructions: u32,
2222    pub TextureBiasInstructions: u32,
2223    pub TextureGradientInstructions: u32,
2224    pub FloatInstructionCount: u32,
2225    pub IntInstructionCount: u32,
2226    pub UintInstructionCount: u32,
2227    pub StaticFlowControlCount: u32,
2228    pub DynamicFlowControlCount: u32,
2229    pub MacroInstructionCount: u32,
2230    pub ArrayInstructionCount: u32,
2231    pub MovInstructionCount: u32,
2232    pub MovcInstructionCount: u32,
2233    pub ConversionInstructionCount: u32,
2234    pub BitwiseInstructionCount: u32,
2235    pub MinFeatureLevel: super::Direct3D::D3D_FEATURE_LEVEL,
2236    pub RequiredFeatureFlags: u64,
2237    pub Name: crate::core_supplemental::PCSTR,
2238    pub FunctionParameterCount: i32,
2239    pub HasReturn: crate::Foundation::BOOL,
2240    pub Has10Level9VertexShader: crate::Foundation::BOOL,
2241    pub Has10Level9PixelShader: crate::Foundation::BOOL,
2242}
2243#[cfg(feature = "Win32_Graphics_Direct3D")]
2244impl Default for D3D11_FUNCTION_DESC {
2245    fn default() -> Self {
2246        unsafe { core::mem::zeroed() }
2247    }
2248}
2249pub const D3D11_GEOMETRY_SHADER: D3D11_SHADER_TYPE = D3D11_SHADER_TYPE(4i32);
2250#[repr(C)]
2251#[derive(Clone, Copy, Debug, PartialEq)]
2252pub struct D3D11_GEOMETRY_SHADER_TRACE_DESC {
2253    pub Invocation: u64,
2254}
2255impl Default for D3D11_GEOMETRY_SHADER_TRACE_DESC {
2256    fn default() -> Self {
2257        unsafe { core::mem::zeroed() }
2258    }
2259}
2260pub const D3D11_GS_INPUT_INSTANCE_ID_READS_PER_INST: u32 = 2u32;
2261pub const D3D11_GS_INPUT_INSTANCE_ID_READ_PORTS: u32 = 1u32;
2262pub const D3D11_GS_INPUT_INSTANCE_ID_REGISTER_COMPONENTS: u32 = 1u32;
2263pub const D3D11_GS_INPUT_INSTANCE_ID_REGISTER_COMPONENT_BIT_COUNT: u32 = 32u32;
2264pub const D3D11_GS_INPUT_INSTANCE_ID_REGISTER_COUNT: u32 = 1u32;
2265pub const D3D11_GS_INPUT_PRIM_CONST_REGISTER_COMPONENTS: u32 = 1u32;
2266pub const D3D11_GS_INPUT_PRIM_CONST_REGISTER_COMPONENT_BIT_COUNT: u32 = 32u32;
2267pub const D3D11_GS_INPUT_PRIM_CONST_REGISTER_COUNT: u32 = 1u32;
2268pub const D3D11_GS_INPUT_PRIM_CONST_REGISTER_READS_PER_INST: u32 = 2u32;
2269pub const D3D11_GS_INPUT_PRIM_CONST_REGISTER_READ_PORTS: u32 = 1u32;
2270pub const D3D11_GS_INPUT_REGISTER_COMPONENTS: u32 = 4u32;
2271pub const D3D11_GS_INPUT_REGISTER_COMPONENT_BIT_COUNT: u32 = 32u32;
2272pub const D3D11_GS_INPUT_REGISTER_COUNT: u32 = 32u32;
2273pub const D3D11_GS_INPUT_REGISTER_READS_PER_INST: u32 = 2u32;
2274pub const D3D11_GS_INPUT_REGISTER_READ_PORTS: u32 = 1u32;
2275pub const D3D11_GS_INPUT_REGISTER_VERTICES: u32 = 32u32;
2276pub const D3D11_GS_MAX_INSTANCE_COUNT: u32 = 32u32;
2277pub const D3D11_GS_MAX_OUTPUT_VERTEX_COUNT_ACROSS_INSTANCES: u32 = 1024u32;
2278pub const D3D11_GS_OUTPUT_ELEMENTS: u32 = 32u32;
2279pub const D3D11_GS_OUTPUT_REGISTER_COMPONENTS: u32 = 4u32;
2280pub const D3D11_GS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT: u32 = 32u32;
2281pub const D3D11_GS_OUTPUT_REGISTER_COUNT: u32 = 32u32;
2282pub const D3D11_HS_CONTROL_POINT_PHASE_INPUT_REGISTER_COUNT: u32 = 32u32;
2283pub const D3D11_HS_CONTROL_POINT_PHASE_OUTPUT_REGISTER_COUNT: u32 = 32u32;
2284pub const D3D11_HS_CONTROL_POINT_REGISTER_COMPONENTS: u32 = 4u32;
2285pub const D3D11_HS_CONTROL_POINT_REGISTER_COMPONENT_BIT_COUNT: u32 = 32u32;
2286pub const D3D11_HS_CONTROL_POINT_REGISTER_READS_PER_INST: u32 = 2u32;
2287pub const D3D11_HS_CONTROL_POINT_REGISTER_READ_PORTS: u32 = 1u32;
2288pub const D3D11_HS_FORK_PHASE_INSTANCE_COUNT_UPPER_BOUND: u32 = 4294967295u32;
2289pub const D3D11_HS_INPUT_FORK_INSTANCE_ID_REGISTER_COMPONENTS: u32 = 1u32;
2290pub const D3D11_HS_INPUT_FORK_INSTANCE_ID_REGISTER_COMPONENT_BIT_COUNT: u32 = 32u32;
2291pub const D3D11_HS_INPUT_FORK_INSTANCE_ID_REGISTER_COUNT: u32 = 1u32;
2292pub const D3D11_HS_INPUT_FORK_INSTANCE_ID_REGISTER_READS_PER_INST: u32 = 2u32;
2293pub const D3D11_HS_INPUT_FORK_INSTANCE_ID_REGISTER_READ_PORTS: u32 = 1u32;
2294pub const D3D11_HS_INPUT_JOIN_INSTANCE_ID_REGISTER_COMPONENTS: u32 = 1u32;
2295pub const D3D11_HS_INPUT_JOIN_INSTANCE_ID_REGISTER_COMPONENT_BIT_COUNT: u32 = 32u32;
2296pub const D3D11_HS_INPUT_JOIN_INSTANCE_ID_REGISTER_COUNT: u32 = 1u32;
2297pub const D3D11_HS_INPUT_JOIN_INSTANCE_ID_REGISTER_READS_PER_INST: u32 = 2u32;
2298pub const D3D11_HS_INPUT_JOIN_INSTANCE_ID_REGISTER_READ_PORTS: u32 = 1u32;
2299pub const D3D11_HS_INPUT_PRIMITIVE_ID_REGISTER_COMPONENTS: u32 = 1u32;
2300pub const D3D11_HS_INPUT_PRIMITIVE_ID_REGISTER_COMPONENT_BIT_COUNT: u32 = 32u32;
2301pub const D3D11_HS_INPUT_PRIMITIVE_ID_REGISTER_COUNT: u32 = 1u32;
2302pub const D3D11_HS_INPUT_PRIMITIVE_ID_REGISTER_READS_PER_INST: u32 = 2u32;
2303pub const D3D11_HS_INPUT_PRIMITIVE_ID_REGISTER_READ_PORTS: u32 = 1u32;
2304pub const D3D11_HS_JOIN_PHASE_INSTANCE_COUNT_UPPER_BOUND: u32 = 4294967295u32;
2305pub const D3D11_HS_MAXTESSFACTOR_LOWER_BOUND: f32 = 1f32;
2306pub const D3D11_HS_MAXTESSFACTOR_UPPER_BOUND: f32 = 64f32;
2307pub const D3D11_HS_OUTPUT_CONTROL_POINTS_MAX_TOTAL_SCALARS: u32 = 3968u32;
2308pub const D3D11_HS_OUTPUT_CONTROL_POINT_ID_REGISTER_COMPONENTS: u32 = 1u32;
2309pub const D3D11_HS_OUTPUT_CONTROL_POINT_ID_REGISTER_COMPONENT_BIT_COUNT: u32 = 32u32;
2310pub const D3D11_HS_OUTPUT_CONTROL_POINT_ID_REGISTER_COUNT: u32 = 1u32;
2311pub const D3D11_HS_OUTPUT_CONTROL_POINT_ID_REGISTER_READS_PER_INST: u32 = 2u32;
2312pub const D3D11_HS_OUTPUT_CONTROL_POINT_ID_REGISTER_READ_PORTS: u32 = 1u32;
2313pub const D3D11_HS_OUTPUT_PATCH_CONSTANT_REGISTER_COMPONENTS: u32 = 4u32;
2314pub const D3D11_HS_OUTPUT_PATCH_CONSTANT_REGISTER_COMPONENT_BIT_COUNT: u32 = 32u32;
2315pub const D3D11_HS_OUTPUT_PATCH_CONSTANT_REGISTER_COUNT: u32 = 32u32;
2316pub const D3D11_HS_OUTPUT_PATCH_CONSTANT_REGISTER_READS_PER_INST: u32 = 2u32;
2317pub const D3D11_HS_OUTPUT_PATCH_CONSTANT_REGISTER_READ_PORTS: u32 = 1u32;
2318pub const D3D11_HS_OUTPUT_PATCH_CONSTANT_REGISTER_SCALAR_COMPONENTS: u32 = 128u32;
2319pub const D3D11_HULL_SHADER: D3D11_SHADER_TYPE = D3D11_SHADER_TYPE(2i32);
2320#[repr(C)]
2321#[derive(Clone, Copy, Debug, PartialEq)]
2322pub struct D3D11_HULL_SHADER_TRACE_DESC {
2323    pub Invocation: u64,
2324}
2325impl Default for D3D11_HULL_SHADER_TRACE_DESC {
2326    fn default() -> Self {
2327        unsafe { core::mem::zeroed() }
2328    }
2329}
2330pub const D3D11_IA_DEFAULT_INDEX_BUFFER_OFFSET_IN_BYTES: u32 = 0u32;
2331pub const D3D11_IA_DEFAULT_PRIMITIVE_TOPOLOGY: u32 = 0u32;
2332pub const D3D11_IA_DEFAULT_VERTEX_BUFFER_OFFSET_IN_BYTES: u32 = 0u32;
2333pub const D3D11_IA_INDEX_INPUT_RESOURCE_SLOT_COUNT: u32 = 1u32;
2334pub const D3D11_IA_INSTANCE_ID_BIT_COUNT: u32 = 32u32;
2335pub const D3D11_IA_INTEGER_ARITHMETIC_BIT_COUNT: u32 = 32u32;
2336pub const D3D11_IA_PATCH_MAX_CONTROL_POINT_COUNT: u32 = 32u32;
2337pub const D3D11_IA_PRIMITIVE_ID_BIT_COUNT: u32 = 32u32;
2338pub const D3D11_IA_VERTEX_ID_BIT_COUNT: u32 = 32u32;
2339pub const D3D11_IA_VERTEX_INPUT_RESOURCE_SLOT_COUNT: u32 = 32u32;
2340pub const D3D11_IA_VERTEX_INPUT_STRUCTURE_ELEMENTS_COMPONENTS: u32 = 128u32;
2341pub const D3D11_IA_VERTEX_INPUT_STRUCTURE_ELEMENT_COUNT: u32 = 32u32;
2342pub const D3D11_INFOQUEUE_STORAGE_FILTER_OVERRIDE: crate::core_supplemental::PCWSTR =
2343    crate::core_supplemental::w!("InfoQueueStorageFilterOverride");
2344pub const D3D11_INFO_QUEUE_DEFAULT_MESSAGE_COUNT_LIMIT: u32 = 1024u32;
2345#[repr(C)]
2346#[derive(Clone, Copy, Debug, PartialEq)]
2347pub struct D3D11_INFO_QUEUE_FILTER {
2348    pub AllowList: D3D11_INFO_QUEUE_FILTER_DESC,
2349    pub DenyList: D3D11_INFO_QUEUE_FILTER_DESC,
2350}
2351impl Default for D3D11_INFO_QUEUE_FILTER {
2352    fn default() -> Self {
2353        unsafe { core::mem::zeroed() }
2354    }
2355}
2356#[repr(C)]
2357#[derive(Clone, Copy, Debug, PartialEq)]
2358pub struct D3D11_INFO_QUEUE_FILTER_DESC {
2359    pub NumCategories: u32,
2360    pub pCategoryList: *mut D3D11_MESSAGE_CATEGORY,
2361    pub NumSeverities: u32,
2362    pub pSeverityList: *mut D3D11_MESSAGE_SEVERITY,
2363    pub NumIDs: u32,
2364    pub pIDList: *mut D3D11_MESSAGE_ID,
2365}
2366impl Default for D3D11_INFO_QUEUE_FILTER_DESC {
2367    fn default() -> Self {
2368        unsafe { core::mem::zeroed() }
2369    }
2370}
2371#[repr(transparent)]
2372#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
2373pub struct D3D11_INPUT_CLASSIFICATION(pub i32);
2374#[repr(C)]
2375#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
2376#[derive(Clone, Copy, Debug, PartialEq)]
2377pub struct D3D11_INPUT_ELEMENT_DESC {
2378    pub SemanticName: crate::core_supplemental::PCSTR,
2379    pub SemanticIndex: u32,
2380    pub Format: crate::Dxgi::Common::DXGI_FORMAT,
2381    pub InputSlot: u32,
2382    pub AlignedByteOffset: u32,
2383    pub InputSlotClass: D3D11_INPUT_CLASSIFICATION,
2384    pub InstanceDataStepRate: u32,
2385}
2386#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
2387impl Default for D3D11_INPUT_ELEMENT_DESC {
2388    fn default() -> Self {
2389        unsafe { core::mem::zeroed() }
2390    }
2391}
2392pub const D3D11_INPUT_PER_INSTANCE_DATA: D3D11_INPUT_CLASSIFICATION =
2393    D3D11_INPUT_CLASSIFICATION(1i32);
2394pub const D3D11_INPUT_PER_VERTEX_DATA: D3D11_INPUT_CLASSIFICATION =
2395    D3D11_INPUT_CLASSIFICATION(0i32);
2396pub const D3D11_INTEGER_DIVIDE_BY_ZERO_QUOTIENT: u32 = 4294967295u32;
2397pub const D3D11_INTEGER_DIVIDE_BY_ZERO_REMAINDER: u32 = 4294967295u32;
2398pub const D3D11_KEEP_RENDER_TARGETS_AND_DEPTH_STENCIL: u32 = 4294967295u32;
2399pub const D3D11_KEEP_UNORDERED_ACCESS_VIEWS: u32 = 4294967295u32;
2400pub const D3D11_KEY_EXCHANGE_HW_PROTECTION: windows_core::GUID =
2401    windows_core::GUID::from_u128(0xb1170d8a_628d_4da3_ad3b_82ddb08b4970);
2402#[repr(C)]
2403#[derive(Clone, Copy, Debug, PartialEq)]
2404pub struct D3D11_KEY_EXCHANGE_HW_PROTECTION_DATA {
2405    pub HWProtectionFunctionID: u32,
2406    pub pInputData: *mut D3D11_KEY_EXCHANGE_HW_PROTECTION_INPUT_DATA,
2407    pub pOutputData: *mut D3D11_KEY_EXCHANGE_HW_PROTECTION_OUTPUT_DATA,
2408    pub Status: windows_core::HRESULT,
2409}
2410impl Default for D3D11_KEY_EXCHANGE_HW_PROTECTION_DATA {
2411    fn default() -> Self {
2412        unsafe { core::mem::zeroed() }
2413    }
2414}
2415#[repr(C)]
2416#[derive(Clone, Copy, Debug, PartialEq)]
2417pub struct D3D11_KEY_EXCHANGE_HW_PROTECTION_INPUT_DATA {
2418    pub PrivateDataSize: u32,
2419    pub HWProtectionDataSize: u32,
2420    pub pbInput: [u8; 4],
2421}
2422impl Default for D3D11_KEY_EXCHANGE_HW_PROTECTION_INPUT_DATA {
2423    fn default() -> Self {
2424        unsafe { core::mem::zeroed() }
2425    }
2426}
2427#[repr(C)]
2428#[derive(Clone, Copy, Debug, PartialEq)]
2429pub struct D3D11_KEY_EXCHANGE_HW_PROTECTION_OUTPUT_DATA {
2430    pub PrivateDataSize: u32,
2431    pub MaxHWProtectionDataSize: u32,
2432    pub HWProtectionDataSize: u32,
2433    pub TransportTime: u64,
2434    pub ExecutionTime: u64,
2435    pub pbOutput: [u8; 4],
2436}
2437impl Default for D3D11_KEY_EXCHANGE_HW_PROTECTION_OUTPUT_DATA {
2438    fn default() -> Self {
2439        unsafe { core::mem::zeroed() }
2440    }
2441}
2442pub const D3D11_KEY_EXCHANGE_RSAES_OAEP: windows_core::GUID =
2443    windows_core::GUID::from_u128(0xc1949895_d72a_4a1d_8e5d_ed857d171520);
2444#[repr(C)]
2445#[derive(Clone, Copy, Debug, PartialEq)]
2446pub struct D3D11_LIBRARY_DESC {
2447    pub Creator: crate::core_supplemental::PCSTR,
2448    pub Flags: u32,
2449    pub FunctionCount: u32,
2450}
2451impl Default for D3D11_LIBRARY_DESC {
2452    fn default() -> Self {
2453        unsafe { core::mem::zeroed() }
2454    }
2455}
2456pub const D3D11_LINEAR_GAMMA: f32 = 1f32;
2457#[repr(transparent)]
2458#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
2459pub struct D3D11_LOGIC_OP(pub i32);
2460pub const D3D11_LOGIC_OP_AND: D3D11_LOGIC_OP = D3D11_LOGIC_OP(6i32);
2461pub const D3D11_LOGIC_OP_AND_INVERTED: D3D11_LOGIC_OP = D3D11_LOGIC_OP(13i32);
2462pub const D3D11_LOGIC_OP_AND_REVERSE: D3D11_LOGIC_OP = D3D11_LOGIC_OP(12i32);
2463pub const D3D11_LOGIC_OP_CLEAR: D3D11_LOGIC_OP = D3D11_LOGIC_OP(0i32);
2464pub const D3D11_LOGIC_OP_COPY: D3D11_LOGIC_OP = D3D11_LOGIC_OP(2i32);
2465pub const D3D11_LOGIC_OP_COPY_INVERTED: D3D11_LOGIC_OP = D3D11_LOGIC_OP(3i32);
2466pub const D3D11_LOGIC_OP_EQUIV: D3D11_LOGIC_OP = D3D11_LOGIC_OP(11i32);
2467pub const D3D11_LOGIC_OP_INVERT: D3D11_LOGIC_OP = D3D11_LOGIC_OP(5i32);
2468pub const D3D11_LOGIC_OP_NAND: D3D11_LOGIC_OP = D3D11_LOGIC_OP(7i32);
2469pub const D3D11_LOGIC_OP_NOOP: D3D11_LOGIC_OP = D3D11_LOGIC_OP(4i32);
2470pub const D3D11_LOGIC_OP_NOR: D3D11_LOGIC_OP = D3D11_LOGIC_OP(9i32);
2471pub const D3D11_LOGIC_OP_OR: D3D11_LOGIC_OP = D3D11_LOGIC_OP(8i32);
2472pub const D3D11_LOGIC_OP_OR_INVERTED: D3D11_LOGIC_OP = D3D11_LOGIC_OP(15i32);
2473pub const D3D11_LOGIC_OP_OR_REVERSE: D3D11_LOGIC_OP = D3D11_LOGIC_OP(14i32);
2474pub const D3D11_LOGIC_OP_SET: D3D11_LOGIC_OP = D3D11_LOGIC_OP(1i32);
2475pub const D3D11_LOGIC_OP_XOR: D3D11_LOGIC_OP = D3D11_LOGIC_OP(10i32);
2476pub const D3D11_MAG_FILTER_SHIFT: u32 = 2u32;
2477pub const D3D11_MAJOR_VERSION: u32 = 11u32;
2478#[repr(transparent)]
2479#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
2480pub struct D3D11_MAP(pub i32);
2481#[repr(C)]
2482#[derive(Clone, Copy, Debug, PartialEq)]
2483pub struct D3D11_MAPPED_SUBRESOURCE {
2484    pub pData: *mut core::ffi::c_void,
2485    pub RowPitch: u32,
2486    pub DepthPitch: u32,
2487}
2488impl Default for D3D11_MAPPED_SUBRESOURCE {
2489    fn default() -> Self {
2490        unsafe { core::mem::zeroed() }
2491    }
2492}
2493#[repr(transparent)]
2494#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
2495pub struct D3D11_MAP_FLAG(pub i32);
2496pub const D3D11_MAP_FLAG_DO_NOT_WAIT: D3D11_MAP_FLAG = D3D11_MAP_FLAG(1048576i32);
2497pub const D3D11_MAP_READ: D3D11_MAP = D3D11_MAP(1i32);
2498pub const D3D11_MAP_READ_WRITE: D3D11_MAP = D3D11_MAP(3i32);
2499pub const D3D11_MAP_WRITE: D3D11_MAP = D3D11_MAP(2i32);
2500pub const D3D11_MAP_WRITE_DISCARD: D3D11_MAP = D3D11_MAP(4i32);
2501pub const D3D11_MAP_WRITE_NO_OVERWRITE: D3D11_MAP = D3D11_MAP(5i32);
2502pub const D3D11_MAX_BORDER_COLOR_COMPONENT: f32 = 1f32;
2503pub const D3D11_MAX_DEPTH: f32 = 1f32;
2504pub const D3D11_MAX_MAXANISOTROPY: u32 = 16u32;
2505pub const D3D11_MAX_MULTISAMPLE_SAMPLE_COUNT: u32 = 32u32;
2506pub const D3D11_MAX_POSITION_VALUE: f32 = 34028236000000000000000000000000000f32;
2507pub const D3D11_MAX_TEXTURE_DIMENSION_2_TO_EXP: u32 = 17u32;
2508#[repr(C)]
2509#[derive(Clone, Copy, Debug, PartialEq)]
2510pub struct D3D11_MESSAGE {
2511    pub Category: D3D11_MESSAGE_CATEGORY,
2512    pub Severity: D3D11_MESSAGE_SEVERITY,
2513    pub ID: D3D11_MESSAGE_ID,
2514    pub pDescription: *const u8,
2515    pub DescriptionByteLength: usize,
2516}
2517impl Default for D3D11_MESSAGE {
2518    fn default() -> Self {
2519        unsafe { core::mem::zeroed() }
2520    }
2521}
2522#[repr(transparent)]
2523#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
2524pub struct D3D11_MESSAGE_CATEGORY(pub i32);
2525pub const D3D11_MESSAGE_CATEGORY_APPLICATION_DEFINED: D3D11_MESSAGE_CATEGORY =
2526    D3D11_MESSAGE_CATEGORY(0i32);
2527pub const D3D11_MESSAGE_CATEGORY_CLEANUP: D3D11_MESSAGE_CATEGORY = D3D11_MESSAGE_CATEGORY(3i32);
2528pub const D3D11_MESSAGE_CATEGORY_COMPILATION: D3D11_MESSAGE_CATEGORY = D3D11_MESSAGE_CATEGORY(4i32);
2529pub const D3D11_MESSAGE_CATEGORY_EXECUTION: D3D11_MESSAGE_CATEGORY = D3D11_MESSAGE_CATEGORY(9i32);
2530pub const D3D11_MESSAGE_CATEGORY_INITIALIZATION: D3D11_MESSAGE_CATEGORY =
2531    D3D11_MESSAGE_CATEGORY(2i32);
2532pub const D3D11_MESSAGE_CATEGORY_MISCELLANEOUS: D3D11_MESSAGE_CATEGORY =
2533    D3D11_MESSAGE_CATEGORY(1i32);
2534pub const D3D11_MESSAGE_CATEGORY_RESOURCE_MANIPULATION: D3D11_MESSAGE_CATEGORY =
2535    D3D11_MESSAGE_CATEGORY(8i32);
2536pub const D3D11_MESSAGE_CATEGORY_SHADER: D3D11_MESSAGE_CATEGORY = D3D11_MESSAGE_CATEGORY(10i32);
2537pub const D3D11_MESSAGE_CATEGORY_STATE_CREATION: D3D11_MESSAGE_CATEGORY =
2538    D3D11_MESSAGE_CATEGORY(5i32);
2539pub const D3D11_MESSAGE_CATEGORY_STATE_GETTING: D3D11_MESSAGE_CATEGORY =
2540    D3D11_MESSAGE_CATEGORY(7i32);
2541pub const D3D11_MESSAGE_CATEGORY_STATE_SETTING: D3D11_MESSAGE_CATEGORY =
2542    D3D11_MESSAGE_CATEGORY(6i32);
2543#[repr(transparent)]
2544#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
2545pub struct D3D11_MESSAGE_ID(pub i32);
2546pub const D3D11_MESSAGE_ID_ACQUIREHANDLEFORCAPTURE_INVALIDARRAY: D3D11_MESSAGE_ID =
2547    D3D11_MESSAGE_ID(3146029i32);
2548pub const D3D11_MESSAGE_ID_ACQUIREHANDLEFORCAPTURE_INVALIDBIND: D3D11_MESSAGE_ID =
2549    D3D11_MESSAGE_ID(3146028i32);
2550pub const D3D11_MESSAGE_ID_ACQUIREHANDLEFORCAPTURE_INVALIDTYPE: D3D11_MESSAGE_ID =
2551    D3D11_MESSAGE_ID(3146027i32);
2552pub const D3D11_MESSAGE_ID_ACQUIREHANDLEFORCAPTURE_NULLPARAM: D3D11_MESSAGE_ID =
2553    D3D11_MESSAGE_ID(3146026i32);
2554pub const D3D11_MESSAGE_ID_BLENDSTATE_GETDESC_LEGACY: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(392i32);
2555pub const D3D11_MESSAGE_ID_BUFFER_MAP_ALREADYMAPPED: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(297i32);
2556pub const D3D11_MESSAGE_ID_BUFFER_MAP_DEVICEREMOVED_RETURN: D3D11_MESSAGE_ID =
2557    D3D11_MESSAGE_ID(298i32);
2558pub const D3D11_MESSAGE_ID_BUFFER_MAP_INVALIDFLAGS: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(296i32);
2559pub const D3D11_MESSAGE_ID_BUFFER_MAP_INVALIDMAPTYPE: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(295i32);
2560pub const D3D11_MESSAGE_ID_BUFFER_UNMAP_NOTMAPPED: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(299i32);
2561pub const D3D11_MESSAGE_ID_CANNOT_ADD_TRACKED_WORKLOAD: D3D11_MESSAGE_ID =
2562    D3D11_MESSAGE_ID(3146278i32);
2563pub const D3D11_MESSAGE_ID_CHECKCOUNTER_OUTOFRANGE_COUNTER: D3D11_MESSAGE_ID =
2564    D3D11_MESSAGE_ID(402i32);
2565pub const D3D11_MESSAGE_ID_CHECKCOUNTER_UNSUPPORTED_WELLKNOWN_COUNTER: D3D11_MESSAGE_ID =
2566    D3D11_MESSAGE_ID(403i32);
2567pub const D3D11_MESSAGE_ID_CHECKCRYPTOKEYEXCHANGE_INVALIDINDEX: D3D11_MESSAGE_ID =
2568    D3D11_MESSAGE_ID(3145994i32);
2569pub const D3D11_MESSAGE_ID_CHECKCRYPTOKEYEXCHANGE_NULLPARAM: D3D11_MESSAGE_ID =
2570    D3D11_MESSAGE_ID(3145993i32);
2571pub const D3D11_MESSAGE_ID_CHECKCRYPTOSESSIONSTATUS_NULLPARAM: D3D11_MESSAGE_ID =
2572    D3D11_MESSAGE_ID(3146085i32);
2573pub const D3D11_MESSAGE_ID_CHECKFEATURESUPPORT_FORMAT_DEPRECATED: D3D11_MESSAGE_ID =
2574    D3D11_MESSAGE_ID(2097371i32);
2575pub const D3D11_MESSAGE_ID_CHECKFORMATSUPPORT_FORMAT_DEPRECATED: D3D11_MESSAGE_ID =
2576    D3D11_MESSAGE_ID(321i32);
2577pub const D3D11_MESSAGE_ID_CHECKFORMATSUPPORT_FORMAT_NOT_SUPPORTED: D3D11_MESSAGE_ID =
2578    D3D11_MESSAGE_ID(2097401i32);
2579pub const D3D11_MESSAGE_ID_CHECKMULTISAMPLEQUALITYLEVELS_FORMAT_DEPRECATED: D3D11_MESSAGE_ID =
2580    D3D11_MESSAGE_ID(322i32);
2581pub const D3D11_MESSAGE_ID_CHECKMULTISAMPLEQUALITYLEVELS_INVALIDFLAGS: D3D11_MESSAGE_ID =
2582    D3D11_MESSAGE_ID(3146138i32);
2583pub const D3D11_MESSAGE_ID_CHECKVIDEODECODERDOWNSAMPLING_INVALIDCOLORSPACE: D3D11_MESSAGE_ID =
2584    D3D11_MESSAGE_ID(3146090i32);
2585pub const D3D11_MESSAGE_ID_CHECKVIDEODECODERDOWNSAMPLING_NULLPARAM: D3D11_MESSAGE_ID =
2586    D3D11_MESSAGE_ID(3146089i32);
2587pub const D3D11_MESSAGE_ID_CHECKVIDEODECODERDOWNSAMPLING_ZEROWIDTHHEIGHT: D3D11_MESSAGE_ID =
2588    D3D11_MESSAGE_ID(3146091i32);
2589pub const D3D11_MESSAGE_ID_CHECKVIDEODECODERFORMAT_NULLPARAM: D3D11_MESSAGE_ID =
2590    D3D11_MESSAGE_ID(3145768i32);
2591pub const D3D11_MESSAGE_ID_CHECKVIDEODECODERFORMAT_OUTOFMEMORY_RETURN: D3D11_MESSAGE_ID =
2592    D3D11_MESSAGE_ID(3145769i32);
2593pub const D3D11_MESSAGE_ID_CHECKVIDEOPROCESSORFORMATCONVERSION_NULLPARAM: D3D11_MESSAGE_ID =
2594    D3D11_MESSAGE_ID(3146096i32);
2595pub const D3D11_MESSAGE_ID_CHECKVIDEOPROCESSORFORMAT_NULLPARAM: D3D11_MESSAGE_ID =
2596    D3D11_MESSAGE_ID(3145799i32);
2597pub const D3D11_MESSAGE_ID_CLEARDEPTHSTENCILVIEW_DENORMFLUSH: D3D11_MESSAGE_ID =
2598    D3D11_MESSAGE_ID(262i32);
2599pub const D3D11_MESSAGE_ID_CLEARDEPTHSTENCILVIEW_DEPTH_READONLY: D3D11_MESSAGE_ID =
2600    D3D11_MESSAGE_ID(2097369i32);
2601pub const D3D11_MESSAGE_ID_CLEARDEPTHSTENCILVIEW_INVALID: D3D11_MESSAGE_ID =
2602    D3D11_MESSAGE_ID(263i32);
2603pub const D3D11_MESSAGE_ID_CLEARDEPTHSTENCILVIEW_STENCIL_READONLY: D3D11_MESSAGE_ID =
2604    D3D11_MESSAGE_ID(2097370i32);
2605pub const D3D11_MESSAGE_ID_CLEARRENDERTARGETVIEW_DENORMFLUSH: D3D11_MESSAGE_ID =
2606    D3D11_MESSAGE_ID(261i32);
2607pub const D3D11_MESSAGE_ID_CLEARUNORDEREDACCESSVIEWFLOAT_HAZARD: D3D11_MESSAGE_ID =
2608    D3D11_MESSAGE_ID(3146145i32);
2609pub const D3D11_MESSAGE_ID_CLEARUNORDEREDACCESSVIEWFLOAT_INVALIDFORMAT: D3D11_MESSAGE_ID =
2610    D3D11_MESSAGE_ID(2097405i32);
2611pub const D3D11_MESSAGE_ID_CLEARUNORDEREDACCESSVIEWUINT_HAZARD: D3D11_MESSAGE_ID =
2612    D3D11_MESSAGE_ID(3146144i32);
2613pub const D3D11_MESSAGE_ID_CLEARUNORDEREDACCESSVIEW_DENORMFLUSH: D3D11_MESSAGE_ID =
2614    D3D11_MESSAGE_ID(2097355i32);
2615pub const D3D11_MESSAGE_ID_CONFIGUREAUTHENTICATEDCHANNEL_INVALIDPROCESSIDTYPE: D3D11_MESSAGE_ID =
2616    D3D11_MESSAGE_ID(3146015i32);
2617pub const D3D11_MESSAGE_ID_CONFIGUREAUTHENTICATEDCHANNEL_NULLPARAM: D3D11_MESSAGE_ID =
2618    D3D11_MESSAGE_ID(3146011i32);
2619pub const D3D11_MESSAGE_ID_CONFIGUREAUTHENTICATEDCHANNEL_UNSUPPORTEDCONFIGURE: D3D11_MESSAGE_ID =
2620    D3D11_MESSAGE_ID(3146013i32);
2621pub const D3D11_MESSAGE_ID_CONFIGUREAUTHENTICATEDCHANNEL_WRONGCHANNEL: D3D11_MESSAGE_ID =
2622    D3D11_MESSAGE_ID(3146012i32);
2623pub const D3D11_MESSAGE_ID_CONFIGUREAUTHENTICATEDCHANNEL_WRONGSIZE: D3D11_MESSAGE_ID =
2624    D3D11_MESSAGE_ID(3146014i32);
2625pub const D3D11_MESSAGE_ID_COPYRESOURCE_INVALIDDESTINATIONSTATE: D3D11_MESSAGE_ID =
2626    D3D11_MESSAGE_ID(285i32);
2627pub const D3D11_MESSAGE_ID_COPYRESOURCE_INVALIDSOURCE: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(284i32);
2628pub const D3D11_MESSAGE_ID_COPYRESOURCE_INVALIDSOURCESTATE: D3D11_MESSAGE_ID =
2629    D3D11_MESSAGE_ID(286i32);
2630pub const D3D11_MESSAGE_ID_COPYRESOURCE_NO_3D_MISMATCHED_UPDATES: D3D11_MESSAGE_ID =
2631    D3D11_MESSAGE_ID(1048637i32);
2632pub const D3D11_MESSAGE_ID_COPYRESOURCE_NO_TEXTURE_3D_READBACK: D3D11_MESSAGE_ID =
2633    D3D11_MESSAGE_ID(1048597i32);
2634pub const D3D11_MESSAGE_ID_COPYRESOURCE_NO_TEXTURE_ONLY_READBACK: D3D11_MESSAGE_ID =
2635    D3D11_MESSAGE_ID(1048598i32);
2636pub const D3D11_MESSAGE_ID_COPYRESOURCE_ONLY_TEXTURE_2D_WITHIN_GPU_MEMORY: D3D11_MESSAGE_ID =
2637    D3D11_MESSAGE_ID(1048596i32);
2638pub const D3D11_MESSAGE_ID_COPYSTRUCTURECOUNT_INVALIDDESTINATIONSTATE: D3D11_MESSAGE_ID =
2639    D3D11_MESSAGE_ID(2097399i32);
2640pub const D3D11_MESSAGE_ID_COPYSTRUCTURECOUNT_INVALIDOFFSET: D3D11_MESSAGE_ID =
2641    D3D11_MESSAGE_ID(2097397i32);
2642pub const D3D11_MESSAGE_ID_COPYSTRUCTURECOUNT_INVALIDSOURCESTATE: D3D11_MESSAGE_ID =
2643    D3D11_MESSAGE_ID(2097400i32);
2644pub const D3D11_MESSAGE_ID_COPYSTRUCTURECOUNT_LARGEOFFSET: D3D11_MESSAGE_ID =
2645    D3D11_MESSAGE_ID(2097398i32);
2646pub const D3D11_MESSAGE_ID_COPYSUBRESOURCEREGION1_INVALIDCOPYFLAGS: D3D11_MESSAGE_ID =
2647    D3D11_MESSAGE_ID(3145755i32);
2648pub const D3D11_MESSAGE_ID_COPYSUBRESOURCEREGION_EMPTYSOURCEBOX: D3D11_MESSAGE_ID =
2649    D3D11_MESSAGE_ID(3146078i32);
2650pub const D3D11_MESSAGE_ID_COPYSUBRESOURCEREGION_INVALIDDESTINATIONSTATE: D3D11_MESSAGE_ID =
2651    D3D11_MESSAGE_ID(282i32);
2652pub const D3D11_MESSAGE_ID_COPYSUBRESOURCEREGION_INVALIDDESTINATIONSUBRESOURCE: D3D11_MESSAGE_ID =
2653    D3D11_MESSAGE_ID(278i32);
2654pub const D3D11_MESSAGE_ID_COPYSUBRESOURCEREGION_INVALIDSOURCE: D3D11_MESSAGE_ID =
2655    D3D11_MESSAGE_ID(281i32);
2656pub const D3D11_MESSAGE_ID_COPYSUBRESOURCEREGION_INVALIDSOURCEBOX: D3D11_MESSAGE_ID =
2657    D3D11_MESSAGE_ID(280i32);
2658pub const D3D11_MESSAGE_ID_COPYSUBRESOURCEREGION_INVALIDSOURCESTATE: D3D11_MESSAGE_ID =
2659    D3D11_MESSAGE_ID(283i32);
2660pub const D3D11_MESSAGE_ID_COPYSUBRESOURCEREGION_INVALIDSOURCESUBRESOURCE: D3D11_MESSAGE_ID =
2661    D3D11_MESSAGE_ID(279i32);
2662pub const D3D11_MESSAGE_ID_COPYTILEMAPPINGS_INVALID_PARAMETER: D3D11_MESSAGE_ID =
2663    D3D11_MESSAGE_ID(3146126i32);
2664pub const D3D11_MESSAGE_ID_COPYTILES_INVALID_PARAMETER: D3D11_MESSAGE_ID =
2665    D3D11_MESSAGE_ID(3146127i32);
2666pub const D3D11_MESSAGE_ID_CORRUPTED_MULTITHREADING: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(28i32);
2667pub const D3D11_MESSAGE_ID_CORRUPTED_PARAMETER1: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(13i32);
2668pub const D3D11_MESSAGE_ID_CORRUPTED_PARAMETER10: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(22i32);
2669pub const D3D11_MESSAGE_ID_CORRUPTED_PARAMETER11: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(23i32);
2670pub const D3D11_MESSAGE_ID_CORRUPTED_PARAMETER12: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(24i32);
2671pub const D3D11_MESSAGE_ID_CORRUPTED_PARAMETER13: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(25i32);
2672pub const D3D11_MESSAGE_ID_CORRUPTED_PARAMETER14: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(26i32);
2673pub const D3D11_MESSAGE_ID_CORRUPTED_PARAMETER15: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(27i32);
2674pub const D3D11_MESSAGE_ID_CORRUPTED_PARAMETER2: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(14i32);
2675pub const D3D11_MESSAGE_ID_CORRUPTED_PARAMETER3: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(15i32);
2676pub const D3D11_MESSAGE_ID_CORRUPTED_PARAMETER4: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(16i32);
2677pub const D3D11_MESSAGE_ID_CORRUPTED_PARAMETER5: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(17i32);
2678pub const D3D11_MESSAGE_ID_CORRUPTED_PARAMETER6: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(18i32);
2679pub const D3D11_MESSAGE_ID_CORRUPTED_PARAMETER7: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(19i32);
2680pub const D3D11_MESSAGE_ID_CORRUPTED_PARAMETER8: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(20i32);
2681pub const D3D11_MESSAGE_ID_CORRUPTED_PARAMETER9: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(21i32);
2682pub const D3D11_MESSAGE_ID_CORRUPTED_THIS: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(12i32);
2683pub const D3D11_MESSAGE_ID_CREATEAUTHENTICATEDCHANNEL_INVALIDTYPE: D3D11_MESSAGE_ID =
2684    D3D11_MESSAGE_ID(3145997i32);
2685pub const D3D11_MESSAGE_ID_CREATEAUTHENTICATEDCHANNEL_NULLPARAM: D3D11_MESSAGE_ID =
2686    D3D11_MESSAGE_ID(3145995i32);
2687pub const D3D11_MESSAGE_ID_CREATEAUTHENTICATEDCHANNEL_OUTOFMEMORY_RETURN: D3D11_MESSAGE_ID =
2688    D3D11_MESSAGE_ID(3145998i32);
2689pub const D3D11_MESSAGE_ID_CREATEAUTHENTICATEDCHANNEL_UNSUPPORTED: D3D11_MESSAGE_ID =
2690    D3D11_MESSAGE_ID(3145996i32);
2691pub const D3D11_MESSAGE_ID_CREATEBLENDSTATE_INVALIDBLENDOP: D3D11_MESSAGE_ID =
2692    D3D11_MESSAGE_ID(214i32);
2693pub const D3D11_MESSAGE_ID_CREATEBLENDSTATE_INVALIDBLENDOPALPHA: D3D11_MESSAGE_ID =
2694    D3D11_MESSAGE_ID(217i32);
2695pub const D3D11_MESSAGE_ID_CREATEBLENDSTATE_INVALIDDESTBLEND: D3D11_MESSAGE_ID =
2696    D3D11_MESSAGE_ID(213i32);
2697pub const D3D11_MESSAGE_ID_CREATEBLENDSTATE_INVALIDDESTBLENDALPHA: D3D11_MESSAGE_ID =
2698    D3D11_MESSAGE_ID(216i32);
2699pub const D3D11_MESSAGE_ID_CREATEBLENDSTATE_INVALIDLOGICOPS: D3D11_MESSAGE_ID =
2700    D3D11_MESSAGE_ID(3145941i32);
2701pub const D3D11_MESSAGE_ID_CREATEBLENDSTATE_INVALIDRENDERTARGETWRITEMASK: D3D11_MESSAGE_ID =
2702    D3D11_MESSAGE_ID(218i32);
2703pub const D3D11_MESSAGE_ID_CREATEBLENDSTATE_INVALIDSRCBLEND: D3D11_MESSAGE_ID =
2704    D3D11_MESSAGE_ID(212i32);
2705pub const D3D11_MESSAGE_ID_CREATEBLENDSTATE_INVALIDSRCBLENDALPHA: D3D11_MESSAGE_ID =
2706    D3D11_MESSAGE_ID(215i32);
2707pub const D3D11_MESSAGE_ID_CREATEBLENDSTATE_NO_ALPHA_TO_COVERAGE: D3D11_MESSAGE_ID =
2708    D3D11_MESSAGE_ID(1048600i32);
2709pub const D3D11_MESSAGE_ID_CREATEBLENDSTATE_NO_INDEPENDENT_BLEND_ENABLE: D3D11_MESSAGE_ID =
2710    D3D11_MESSAGE_ID(1048612i32);
2711pub const D3D11_MESSAGE_ID_CREATEBLENDSTATE_NO_INDEPENDENT_WRITE_MASKS: D3D11_MESSAGE_ID =
2712    D3D11_MESSAGE_ID(1048613i32);
2713pub const D3D11_MESSAGE_ID_CREATEBLENDSTATE_NO_MRT_BLEND: D3D11_MESSAGE_ID =
2714    D3D11_MESSAGE_ID(1048623i32);
2715pub const D3D11_MESSAGE_ID_CREATEBLENDSTATE_NO_SEPARATE_ALPHA_BLEND: D3D11_MESSAGE_ID =
2716    D3D11_MESSAGE_ID(1048622i32);
2717pub const D3D11_MESSAGE_ID_CREATEBLENDSTATE_NULLDESC: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(220i32);
2718pub const D3D11_MESSAGE_ID_CREATEBLENDSTATE_OPERATION_NOT_SUPPORTED: D3D11_MESSAGE_ID =
2719    D3D11_MESSAGE_ID(1048624i32);
2720pub const D3D11_MESSAGE_ID_CREATEBLENDSTATE_TOOMANYOBJECTS: D3D11_MESSAGE_ID =
2721    D3D11_MESSAGE_ID(219i32);
2722pub const D3D11_MESSAGE_ID_CREATEBUFFER_INVALIDARG_RETURN: D3D11_MESSAGE_ID =
2723    D3D11_MESSAGE_ID(69i32);
2724pub const D3D11_MESSAGE_ID_CREATEBUFFER_INVALIDBINDFLAGS: D3D11_MESSAGE_ID =
2725    D3D11_MESSAGE_ID(64i32);
2726pub const D3D11_MESSAGE_ID_CREATEBUFFER_INVALIDCONSTANTBUFFERBINDINGS: D3D11_MESSAGE_ID =
2727    D3D11_MESSAGE_ID(72i32);
2728pub const D3D11_MESSAGE_ID_CREATEBUFFER_INVALIDCPUACCESSFLAGS: D3D11_MESSAGE_ID =
2729    D3D11_MESSAGE_ID(63i32);
2730pub const D3D11_MESSAGE_ID_CREATEBUFFER_INVALIDDIMENSIONS: D3D11_MESSAGE_ID =
2731    D3D11_MESSAGE_ID(66i32);
2732pub const D3D11_MESSAGE_ID_CREATEBUFFER_INVALIDINITIALDATA: D3D11_MESSAGE_ID =
2733    D3D11_MESSAGE_ID(65i32);
2734pub const D3D11_MESSAGE_ID_CREATEBUFFER_INVALIDMIPLEVELS: D3D11_MESSAGE_ID =
2735    D3D11_MESSAGE_ID(67i32);
2736pub const D3D11_MESSAGE_ID_CREATEBUFFER_INVALIDMISCFLAGS: D3D11_MESSAGE_ID =
2737    D3D11_MESSAGE_ID(68i32);
2738pub const D3D11_MESSAGE_ID_CREATEBUFFER_INVALIDSAMPLES: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(58i32);
2739pub const D3D11_MESSAGE_ID_CREATEBUFFER_INVALIDSTRUCTURESTRIDE: D3D11_MESSAGE_ID =
2740    D3D11_MESSAGE_ID(2097339i32);
2741pub const D3D11_MESSAGE_ID_CREATEBUFFER_INVALIDUSAGE: D3D11_MESSAGE_ID =
2742    D3D11_MESSAGE_ID(3146120i32);
2743pub const D3D11_MESSAGE_ID_CREATEBUFFER_LARGEALLOCATION: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(73i32);
2744pub const D3D11_MESSAGE_ID_CREATEBUFFER_NULLDESC: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(71i32);
2745pub const D3D11_MESSAGE_ID_CREATEBUFFER_OUTOFMEMORY_RETURN: D3D11_MESSAGE_ID =
2746    D3D11_MESSAGE_ID(70i32);
2747pub const D3D11_MESSAGE_ID_CREATEBUFFER_UNRECOGNIZEDBINDFLAGS: D3D11_MESSAGE_ID =
2748    D3D11_MESSAGE_ID(60i32);
2749pub const D3D11_MESSAGE_ID_CREATEBUFFER_UNRECOGNIZEDCPUACCESSFLAGS: D3D11_MESSAGE_ID =
2750    D3D11_MESSAGE_ID(61i32);
2751pub const D3D11_MESSAGE_ID_CREATEBUFFER_UNRECOGNIZEDFORMAT: D3D11_MESSAGE_ID =
2752    D3D11_MESSAGE_ID(57i32);
2753pub const D3D11_MESSAGE_ID_CREATEBUFFER_UNRECOGNIZEDMISCFLAGS: D3D11_MESSAGE_ID =
2754    D3D11_MESSAGE_ID(62i32);
2755pub const D3D11_MESSAGE_ID_CREATEBUFFER_UNRECOGNIZEDUSAGE: D3D11_MESSAGE_ID =
2756    D3D11_MESSAGE_ID(59i32);
2757pub const D3D11_MESSAGE_ID_CREATECOMPUTESHADER_INVALIDCALL: D3D11_MESSAGE_ID =
2758    D3D11_MESSAGE_ID(2097320i32);
2759pub const D3D11_MESSAGE_ID_CREATECOMPUTESHADER_INVALIDCLASSLINKAGE: D3D11_MESSAGE_ID =
2760    D3D11_MESSAGE_ID(2097324i32);
2761pub const D3D11_MESSAGE_ID_CREATECOMPUTESHADER_INVALIDSHADERBYTECODE: D3D11_MESSAGE_ID =
2762    D3D11_MESSAGE_ID(2097322i32);
2763pub const D3D11_MESSAGE_ID_CREATECOMPUTESHADER_INVALIDSHADERTYPE: D3D11_MESSAGE_ID =
2764    D3D11_MESSAGE_ID(2097323i32);
2765pub const D3D11_MESSAGE_ID_CREATECOMPUTESHADER_OUTOFMEMORY: D3D11_MESSAGE_ID =
2766    D3D11_MESSAGE_ID(2097321i32);
2767pub const D3D11_MESSAGE_ID_CREATECOUNTER_NONEXCLUSIVE_RETURN: D3D11_MESSAGE_ID =
2768    D3D11_MESSAGE_ID(400i32);
2769pub const D3D11_MESSAGE_ID_CREATECOUNTER_NULLDESC: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(401i32);
2770pub const D3D11_MESSAGE_ID_CREATECOUNTER_OUTOFMEMORY_RETURN: D3D11_MESSAGE_ID =
2771    D3D11_MESSAGE_ID(399i32);
2772pub const D3D11_MESSAGE_ID_CREATECOUNTER_OUTOFRANGE_COUNTER: D3D11_MESSAGE_ID =
2773    D3D11_MESSAGE_ID(396i32);
2774pub const D3D11_MESSAGE_ID_CREATECOUNTER_SIMULTANEOUS_ACTIVE_COUNTERS_EXHAUSTED: D3D11_MESSAGE_ID =
2775    D3D11_MESSAGE_ID(397i32);
2776pub const D3D11_MESSAGE_ID_CREATECOUNTER_UNSUPPORTED_WELLKNOWN_COUNTER: D3D11_MESSAGE_ID =
2777    D3D11_MESSAGE_ID(398i32);
2778pub const D3D11_MESSAGE_ID_CREATECRYPTOSESSION_NULLPARAM: D3D11_MESSAGE_ID =
2779    D3D11_MESSAGE_ID(3145951i32);
2780pub const D3D11_MESSAGE_ID_CREATECRYPTOSESSION_OUTOFMEMORY_RETURN: D3D11_MESSAGE_ID =
2781    D3D11_MESSAGE_ID(3145952i32);
2782pub const D3D11_MESSAGE_ID_CREATEDEFERREDCONTEXT_INVALIDARG_RETURN: D3D11_MESSAGE_ID =
2783    D3D11_MESSAGE_ID(2097163i32);
2784pub const D3D11_MESSAGE_ID_CREATEDEFERREDCONTEXT_INVALID_CALL_RETURN: D3D11_MESSAGE_ID =
2785    D3D11_MESSAGE_ID(2097164i32);
2786pub const D3D11_MESSAGE_ID_CREATEDEFERREDCONTEXT_INVALID_COMMANDLISTFLAGS: D3D11_MESSAGE_ID =
2787    D3D11_MESSAGE_ID(2097161i32);
2788pub const D3D11_MESSAGE_ID_CREATEDEFERREDCONTEXT_OUTOFMEMORY_RETURN: D3D11_MESSAGE_ID =
2789    D3D11_MESSAGE_ID(2097165i32);
2790pub const D3D11_MESSAGE_ID_CREATEDEFERREDCONTEXT_SINGLETHREADED: D3D11_MESSAGE_ID =
2791    D3D11_MESSAGE_ID(2097162i32);
2792pub const D3D11_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDBACKFACESTENCILFAILOP: D3D11_MESSAGE_ID =
2793    D3D11_MESSAGE_ID(206i32);
2794pub const D3D11_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDBACKFACESTENCILFUNC: D3D11_MESSAGE_ID =
2795    D3D11_MESSAGE_ID(209i32);
2796pub const D3D11_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDBACKFACESTENCILPASSOP: D3D11_MESSAGE_ID =
2797    D3D11_MESSAGE_ID(208i32);
2798pub const D3D11_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDBACKFACESTENCILZFAILOP: D3D11_MESSAGE_ID =
2799    D3D11_MESSAGE_ID(207i32);
2800pub const D3D11_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDDEPTHFUNC: D3D11_MESSAGE_ID =
2801    D3D11_MESSAGE_ID(201i32);
2802pub const D3D11_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDDEPTHWRITEMASK: D3D11_MESSAGE_ID =
2803    D3D11_MESSAGE_ID(200i32);
2804pub const D3D11_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDFRONTFACESTENCILFAILOP: D3D11_MESSAGE_ID =
2805    D3D11_MESSAGE_ID(202i32);
2806pub const D3D11_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDFRONTFACESTENCILFUNC: D3D11_MESSAGE_ID =
2807    D3D11_MESSAGE_ID(205i32);
2808pub const D3D11_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDFRONTFACESTENCILPASSOP: D3D11_MESSAGE_ID =
2809    D3D11_MESSAGE_ID(204i32);
2810pub const D3D11_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDFRONTFACESTENCILZFAILOP:
2811    D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(203i32);
2812pub const D3D11_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_NULLDESC: D3D11_MESSAGE_ID =
2813    D3D11_MESSAGE_ID(211i32);
2814pub const D3D11_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_STENCIL_NO_TWO_SIDED: D3D11_MESSAGE_ID =
2815    D3D11_MESSAGE_ID(1048577i32);
2816pub const D3D11_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_TOOMANYOBJECTS: D3D11_MESSAGE_ID =
2817    D3D11_MESSAGE_ID(210i32);
2818pub const D3D11_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_INVALIDARG_RETURN: D3D11_MESSAGE_ID =
2819    D3D11_MESSAGE_ID(148i32);
2820pub const D3D11_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_INVALIDDESC: D3D11_MESSAGE_ID =
2821    D3D11_MESSAGE_ID(143i32);
2822pub const D3D11_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_INVALIDDIMENSIONS: D3D11_MESSAGE_ID =
2823    D3D11_MESSAGE_ID(145i32);
2824pub const D3D11_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_INVALIDFLAGS: D3D11_MESSAGE_ID =
2825    D3D11_MESSAGE_ID(2097153i32);
2826pub const D3D11_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_INVALIDFORMAT: D3D11_MESSAGE_ID =
2827    D3D11_MESSAGE_ID(144i32);
2828pub const D3D11_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_INVALIDRESOURCE: D3D11_MESSAGE_ID =
2829    D3D11_MESSAGE_ID(146i32);
2830pub const D3D11_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_OUTOFMEMORY_RETURN: D3D11_MESSAGE_ID =
2831    D3D11_MESSAGE_ID(149i32);
2832pub const D3D11_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_TOOMANYOBJECTS: D3D11_MESSAGE_ID =
2833    D3D11_MESSAGE_ID(147i32);
2834pub const D3D11_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_UNRECOGNIZEDFORMAT: D3D11_MESSAGE_ID =
2835    D3D11_MESSAGE_ID(142i32);
2836pub const D3D11_MESSAGE_ID_CREATEDEVICECONTEXTSTATE_FEATURELEVELS_NOT_SUPPORTED: D3D11_MESSAGE_ID =
2837    D3D11_MESSAGE_ID(3145752i32);
2838pub const D3D11_MESSAGE_ID_CREATEDEVICECONTEXTSTATE_INVALIDFEATURELEVEL: D3D11_MESSAGE_ID =
2839    D3D11_MESSAGE_ID(3145751i32);
2840pub const D3D11_MESSAGE_ID_CREATEDEVICECONTEXTSTATE_INVALIDFLAGS: D3D11_MESSAGE_ID =
2841    D3D11_MESSAGE_ID(3145750i32);
2842pub const D3D11_MESSAGE_ID_CREATEDEVICECONTEXTSTATE_INVALIDREFIID: D3D11_MESSAGE_ID =
2843    D3D11_MESSAGE_ID(3145753i32);
2844pub const D3D11_MESSAGE_ID_CREATEDEVICE_INVALIDARGS: D3D11_MESSAGE_ID =
2845    D3D11_MESSAGE_ID(3146142i32);
2846pub const D3D11_MESSAGE_ID_CREATEDEVICE_WARNING: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(3146143i32);
2847pub const D3D11_MESSAGE_ID_CREATEDOMAINSHADER_INVALIDCALL: D3D11_MESSAGE_ID =
2848    D3D11_MESSAGE_ID(2097193i32);
2849pub const D3D11_MESSAGE_ID_CREATEDOMAINSHADER_INVALIDCLASSLINKAGE: D3D11_MESSAGE_ID =
2850    D3D11_MESSAGE_ID(2097197i32);
2851pub const D3D11_MESSAGE_ID_CREATEDOMAINSHADER_INVALIDSHADERBYTECODE: D3D11_MESSAGE_ID =
2852    D3D11_MESSAGE_ID(2097195i32);
2853pub const D3D11_MESSAGE_ID_CREATEDOMAINSHADER_INVALIDSHADERTYPE: D3D11_MESSAGE_ID =
2854    D3D11_MESSAGE_ID(2097196i32);
2855pub const D3D11_MESSAGE_ID_CREATEDOMAINSHADER_OUTOFMEMORY: D3D11_MESSAGE_ID =
2856    D3D11_MESSAGE_ID(2097194i32);
2857pub const D3D11_MESSAGE_ID_CREATEFENCE_INVALIDFLAGS: D3D11_MESSAGE_ID =
2858    D3D11_MESSAGE_ID(3146256i32);
2859pub const D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_CANTHAVEONLYGAPS: D3D11_MESSAGE_ID =
2860    D3D11_MESSAGE_ID(188i32);
2861pub const D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_DECLTOOCOMPLEX: D3D11_MESSAGE_ID =
2862    D3D11_MESSAGE_ID(189i32);
2863pub const D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_EXPECTEDDECL: D3D11_MESSAGE_ID =
2864    D3D11_MESSAGE_ID(177i32);
2865pub const D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDCLASSLINKAGE:
2866    D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(2097159i32);
2867pub const D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDCOMPONENTCOUNT:
2868    D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(181i32);
2869pub const D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDGAPDEFINITION:
2870    D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(183i32);
2871pub const D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDNUMENTRIES:
2872    D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(174i32);
2873pub const D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDNUMSTREAMS:
2874    D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(2097156i32);
2875pub const D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDNUMSTRIDES:
2876    D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(2097172i32);
2877pub const D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDOUTPUTSLOT:
2878    D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(179i32);
2879pub const D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDOUTPUTSTREAMSTRIDE:
2880    D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(185i32);
2881pub const D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDSHADERBYTECODE:
2882    D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(172i32);
2883pub const D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDSHADERTYPE:
2884    D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(173i32);
2885pub const D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDSTARTCOMPONENTANDCOMPONENTCOUNT: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(182i32);
2886pub const D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDSTREAM: D3D11_MESSAGE_ID =
2887    D3D11_MESSAGE_ID(2097169i32);
2888pub const D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDSTREAMTORASTERIZER:
2889    D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(2097157i32);
2890pub const D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_MASKMISMATCH: D3D11_MESSAGE_ID =
2891    D3D11_MESSAGE_ID(187i32);
2892pub const D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_MISSINGOUTPUTSIGNATURE:
2893    D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(190i32);
2894pub const D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_MISSINGSEMANTIC: D3D11_MESSAGE_ID =
2895    D3D11_MESSAGE_ID(186i32);
2896pub const D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_ONLYONEELEMENTPERSLOT:
2897    D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(180i32);
2898pub const D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_OUTOFMEMORY: D3D11_MESSAGE_ID =
2899    D3D11_MESSAGE_ID(171i32);
2900pub const D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_OUTPUTSLOT0EXPECTED:
2901    D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(178i32);
2902pub const D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_OUTPUTSTREAMSTRIDEUNUSED:
2903    D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(175i32);
2904pub const D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_REPEATEDOUTPUT: D3D11_MESSAGE_ID =
2905    D3D11_MESSAGE_ID(184i32);
2906pub const D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_TRAILING_DIGIT_IN_SEMANTIC:
2907    D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(386i32);
2908pub const D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_UNEXPECTEDDECL: D3D11_MESSAGE_ID =
2909    D3D11_MESSAGE_ID(176i32);
2910pub const D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_UNEXPECTEDENTRIES:
2911    D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(2097170i32);
2912pub const D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_UNEXPECTEDSTREAMS:
2913    D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(2097158i32);
2914pub const D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_UNEXPECTEDSTRIDES:
2915    D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(2097171i32);
2916pub const D3D11_MESSAGE_ID_CREATEGEOMETRYSHADER_INVALIDCLASSLINKAGE: D3D11_MESSAGE_ID =
2917    D3D11_MESSAGE_ID(2097155i32);
2918pub const D3D11_MESSAGE_ID_CREATEGEOMETRYSHADER_INVALIDSHADERBYTECODE: D3D11_MESSAGE_ID =
2919    D3D11_MESSAGE_ID(169i32);
2920pub const D3D11_MESSAGE_ID_CREATEGEOMETRYSHADER_INVALIDSHADERTYPE: D3D11_MESSAGE_ID =
2921    D3D11_MESSAGE_ID(170i32);
2922pub const D3D11_MESSAGE_ID_CREATEGEOMETRYSHADER_OUTOFMEMORY: D3D11_MESSAGE_ID =
2923    D3D11_MESSAGE_ID(168i32);
2924pub const D3D11_MESSAGE_ID_CREATEHULLSHADER_INVALIDCALL: D3D11_MESSAGE_ID =
2925    D3D11_MESSAGE_ID(2097177i32);
2926pub const D3D11_MESSAGE_ID_CREATEHULLSHADER_INVALIDCLASSLINKAGE: D3D11_MESSAGE_ID =
2927    D3D11_MESSAGE_ID(2097181i32);
2928pub const D3D11_MESSAGE_ID_CREATEHULLSHADER_INVALIDSHADERBYTECODE: D3D11_MESSAGE_ID =
2929    D3D11_MESSAGE_ID(2097179i32);
2930pub const D3D11_MESSAGE_ID_CREATEHULLSHADER_INVALIDSHADERTYPE: D3D11_MESSAGE_ID =
2931    D3D11_MESSAGE_ID(2097180i32);
2932pub const D3D11_MESSAGE_ID_CREATEHULLSHADER_OUTOFMEMORY: D3D11_MESSAGE_ID =
2933    D3D11_MESSAGE_ID(2097178i32);
2934pub const D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_DUPLICATESEMANTIC: D3D11_MESSAGE_ID =
2935    D3D11_MESSAGE_ID(160i32);
2936pub const D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_EMPTY_LAYOUT: D3D11_MESSAGE_ID =
2937    D3D11_MESSAGE_ID(420i32);
2938pub const D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_INCOMPATIBLEFORMAT: D3D11_MESSAGE_ID =
2939    D3D11_MESSAGE_ID(153i32);
2940pub const D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDALIGNMENT: D3D11_MESSAGE_ID =
2941    D3D11_MESSAGE_ID(159i32);
2942pub const D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDFORMAT: D3D11_MESSAGE_ID =
2943    D3D11_MESSAGE_ID(152i32);
2944pub const D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDINPUTSLOTCLASS: D3D11_MESSAGE_ID =
2945    D3D11_MESSAGE_ID(155i32);
2946pub const D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDSLOT: D3D11_MESSAGE_ID =
2947    D3D11_MESSAGE_ID(154i32);
2948pub const D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDSLOTCLASSCHANGE: D3D11_MESSAGE_ID =
2949    D3D11_MESSAGE_ID(157i32);
2950pub const D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDSTEPRATECHANGE: D3D11_MESSAGE_ID =
2951    D3D11_MESSAGE_ID(158i32);
2952pub const D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_LEVEL9_INSTANCING_NOT_SUPPORTED: D3D11_MESSAGE_ID =
2953    D3D11_MESSAGE_ID(3146124i32);
2954pub const D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_LEVEL9_STEPRATE_NOT_1: D3D11_MESSAGE_ID =
2955    D3D11_MESSAGE_ID(3146123i32);
2956pub const D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_MISSINGELEMENT: D3D11_MESSAGE_ID =
2957    D3D11_MESSAGE_ID(163i32);
2958pub const D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_NULLDESC: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(164i32);
2959pub const D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_NULLSEMANTIC: D3D11_MESSAGE_ID =
2960    D3D11_MESSAGE_ID(162i32);
2961pub const D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_OUTOFMEMORY: D3D11_MESSAGE_ID =
2962    D3D11_MESSAGE_ID(150i32);
2963pub const D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_STEPRATESLOTCLASSMISMATCH: D3D11_MESSAGE_ID =
2964    D3D11_MESSAGE_ID(156i32);
2965pub const D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_TOOMANYELEMENTS: D3D11_MESSAGE_ID =
2966    D3D11_MESSAGE_ID(151i32);
2967pub const D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_TRAILING_DIGIT_IN_SEMANTIC: D3D11_MESSAGE_ID =
2968    D3D11_MESSAGE_ID(385i32);
2969pub const D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_TYPE_MISMATCH: D3D11_MESSAGE_ID =
2970    D3D11_MESSAGE_ID(391i32);
2971pub const D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_UNPARSEABLEINPUTSIGNATURE: D3D11_MESSAGE_ID =
2972    D3D11_MESSAGE_ID(161i32);
2973pub const D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_UNSUPPORTED_FORMAT: D3D11_MESSAGE_ID =
2974    D3D11_MESSAGE_ID(1048599i32);
2975pub const D3D11_MESSAGE_ID_CREATEPIXELSHADER_INVALIDCLASSLINKAGE: D3D11_MESSAGE_ID =
2976    D3D11_MESSAGE_ID(2097160i32);
2977pub const D3D11_MESSAGE_ID_CREATEPIXELSHADER_INVALIDSHADERBYTECODE: D3D11_MESSAGE_ID =
2978    D3D11_MESSAGE_ID(192i32);
2979pub const D3D11_MESSAGE_ID_CREATEPIXELSHADER_INVALIDSHADERTYPE: D3D11_MESSAGE_ID =
2980    D3D11_MESSAGE_ID(193i32);
2981pub const D3D11_MESSAGE_ID_CREATEPIXELSHADER_OUTOFMEMORY: D3D11_MESSAGE_ID =
2982    D3D11_MESSAGE_ID(191i32);
2983pub const D3D11_MESSAGE_ID_CREATEPREDICATE_OUTOFMEMORY_RETURN: D3D11_MESSAGE_ID =
2984    D3D11_MESSAGE_ID(395i32);
2985pub const D3D11_MESSAGE_ID_CREATEQUERYORPREDICATE_DECODENOTSUPPORTED: D3D11_MESSAGE_ID =
2986    D3D11_MESSAGE_ID(3146158i32);
2987pub const D3D11_MESSAGE_ID_CREATEQUERYORPREDICATE_ENCODENOTSUPPORTED: D3D11_MESSAGE_ID =
2988    D3D11_MESSAGE_ID(3146159i32);
2989pub const D3D11_MESSAGE_ID_CREATEQUERYORPREDICATE_INVALIDCONTEXTTYPE: D3D11_MESSAGE_ID =
2990    D3D11_MESSAGE_ID(3146157i32);
2991pub const D3D11_MESSAGE_ID_CREATEQUERYORPREDICATE_INVALIDMISCFLAGS: D3D11_MESSAGE_ID =
2992    D3D11_MESSAGE_ID(233i32);
2993pub const D3D11_MESSAGE_ID_CREATEQUERYORPREDICATE_INVALIDQUERY: D3D11_MESSAGE_ID =
2994    D3D11_MESSAGE_ID(232i32);
2995pub const D3D11_MESSAGE_ID_CREATEQUERYORPREDICATE_NULLDESC: D3D11_MESSAGE_ID =
2996    D3D11_MESSAGE_ID(235i32);
2997pub const D3D11_MESSAGE_ID_CREATEQUERYORPREDICATE_UNEXPECTEDMISCFLAG: D3D11_MESSAGE_ID =
2998    D3D11_MESSAGE_ID(234i32);
2999pub const D3D11_MESSAGE_ID_CREATEQUERYORPREDICATE_UNSUPPORTEDCONTEXTTTYPEFORQUERY:
3000    D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(3146222i32);
3001pub const D3D11_MESSAGE_ID_CREATEQUERY_OUTOFMEMORY_RETURN: D3D11_MESSAGE_ID =
3002    D3D11_MESSAGE_ID(394i32);
3003pub const D3D11_MESSAGE_ID_CREATERASTERIZERSTATE_DepthBiasClamp_NOT_SUPPORTED: D3D11_MESSAGE_ID =
3004    D3D11_MESSAGE_ID(1048578i32);
3005pub const D3D11_MESSAGE_ID_CREATERASTERIZERSTATE_DepthClipEnable_MUST_BE_TRUE: D3D11_MESSAGE_ID =
3006    D3D11_MESSAGE_ID(1048601i32);
3007pub const D3D11_MESSAGE_ID_CREATERASTERIZERSTATE_INVALIDCULLMODE: D3D11_MESSAGE_ID =
3008    D3D11_MESSAGE_ID(195i32);
3009pub const D3D11_MESSAGE_ID_CREATERASTERIZERSTATE_INVALIDDEPTHBIASCLAMP: D3D11_MESSAGE_ID =
3010    D3D11_MESSAGE_ID(196i32);
3011pub const D3D11_MESSAGE_ID_CREATERASTERIZERSTATE_INVALIDFILLMODE: D3D11_MESSAGE_ID =
3012    D3D11_MESSAGE_ID(194i32);
3013pub const D3D11_MESSAGE_ID_CREATERASTERIZERSTATE_INVALIDFORCEDSAMPLECOUNT: D3D11_MESSAGE_ID =
3014    D3D11_MESSAGE_ID(3145757i32);
3015pub const D3D11_MESSAGE_ID_CREATERASTERIZERSTATE_INVALIDSLOPESCALEDDEPTHBIAS: D3D11_MESSAGE_ID =
3016    D3D11_MESSAGE_ID(197i32);
3017pub const D3D11_MESSAGE_ID_CREATERASTERIZERSTATE_INVALID_CONSERVATIVERASTERMODE: D3D11_MESSAGE_ID =
3018    D3D11_MESSAGE_ID(3146155i32);
3019pub const D3D11_MESSAGE_ID_CREATERASTERIZERSTATE_NULLDESC: D3D11_MESSAGE_ID =
3020    D3D11_MESSAGE_ID(199i32);
3021pub const D3D11_MESSAGE_ID_CREATERASTERIZERSTATE_TOOMANYOBJECTS: D3D11_MESSAGE_ID =
3022    D3D11_MESSAGE_ID(198i32);
3023pub const D3D11_MESSAGE_ID_CREATERENDERTARGETVIEW_AMBIGUOUSVIDEOPLANEINDEX: D3D11_MESSAGE_ID =
3024    D3D11_MESSAGE_ID(3146165i32);
3025pub const D3D11_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDARG_RETURN: D3D11_MESSAGE_ID =
3026    D3D11_MESSAGE_ID(140i32);
3027pub const D3D11_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDDARRAYWITHDECODER: D3D11_MESSAGE_ID =
3028    D3D11_MESSAGE_ID(3145944i32);
3029pub const D3D11_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDDESC: D3D11_MESSAGE_ID =
3030    D3D11_MESSAGE_ID(135i32);
3031pub const D3D11_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDDIMENSIONS: D3D11_MESSAGE_ID =
3032    D3D11_MESSAGE_ID(137i32);
3033pub const D3D11_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDFORMAT: D3D11_MESSAGE_ID =
3034    D3D11_MESSAGE_ID(136i32);
3035pub const D3D11_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDPLANEINDEX: D3D11_MESSAGE_ID =
3036    D3D11_MESSAGE_ID(3146163i32);
3037pub const D3D11_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDRESOURCE: D3D11_MESSAGE_ID =
3038    D3D11_MESSAGE_ID(138i32);
3039pub const D3D11_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDVIDEOPLANEINDEX: D3D11_MESSAGE_ID =
3040    D3D11_MESSAGE_ID(3146164i32);
3041pub const D3D11_MESSAGE_ID_CREATERENDERTARGETVIEW_OUTOFMEMORY_RETURN: D3D11_MESSAGE_ID =
3042    D3D11_MESSAGE_ID(141i32);
3043pub const D3D11_MESSAGE_ID_CREATERENDERTARGETVIEW_TOOMANYOBJECTS: D3D11_MESSAGE_ID =
3044    D3D11_MESSAGE_ID(139i32);
3045pub const D3D11_MESSAGE_ID_CREATERENDERTARGETVIEW_UNRECOGNIZEDFORMAT: D3D11_MESSAGE_ID =
3046    D3D11_MESSAGE_ID(133i32);
3047pub const D3D11_MESSAGE_ID_CREATERENDERTARGETVIEW_UNSUPPORTEDFORMAT: D3D11_MESSAGE_ID =
3048    D3D11_MESSAGE_ID(134i32);
3049pub const D3D11_MESSAGE_ID_CREATERESOURCE_DIMENSION_EXCEEDS_FEATURE_LEVEL_DEFINITION:
3050    D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(1048630i32);
3051pub const D3D11_MESSAGE_ID_CREATERESOURCE_DIMENSION_OUT_OF_RANGE: D3D11_MESSAGE_ID =
3052    D3D11_MESSAGE_ID(1048588i32);
3053pub const D3D11_MESSAGE_ID_CREATERESOURCE_DXGI_FORMAT_R8G8B8A8_CANNOT_BE_SHARED: D3D11_MESSAGE_ID =
3054    D3D11_MESSAGE_ID(1048617i32);
3055pub const D3D11_MESSAGE_ID_CREATERESOURCE_MSAA_PRECLUDES_SHADER_RESOURCE: D3D11_MESSAGE_ID =
3056    D3D11_MESSAGE_ID(1048610i32);
3057pub const D3D11_MESSAGE_ID_CREATERESOURCE_NON_POW_2_MIPMAP: D3D11_MESSAGE_ID =
3058    D3D11_MESSAGE_ID(1048634i32);
3059pub const D3D11_MESSAGE_ID_CREATERESOURCE_NOT_BINDABLE_AS_RENDER_TARGET: D3D11_MESSAGE_ID =
3060    D3D11_MESSAGE_ID(1048608i32);
3061pub const D3D11_MESSAGE_ID_CREATERESOURCE_NOT_BINDABLE_AS_SHADER_RESOURCE: D3D11_MESSAGE_ID =
3062    D3D11_MESSAGE_ID(1048589i32);
3063pub const D3D11_MESSAGE_ID_CREATERESOURCE_NO_ARRAYS: D3D11_MESSAGE_ID =
3064    D3D11_MESSAGE_ID(1048585i32);
3065pub const D3D11_MESSAGE_ID_CREATERESOURCE_NO_AUTOGEN_FOR_VOLUMES: D3D11_MESSAGE_ID =
3066    D3D11_MESSAGE_ID(1048616i32);
3067pub const D3D11_MESSAGE_ID_CREATERESOURCE_NO_DWORD_INDEX_BUFFER: D3D11_MESSAGE_ID =
3068    D3D11_MESSAGE_ID(1048609i32);
3069pub const D3D11_MESSAGE_ID_CREATERESOURCE_NO_STREAM_OUT: D3D11_MESSAGE_ID =
3070    D3D11_MESSAGE_ID(1048614i32);
3071pub const D3D11_MESSAGE_ID_CREATERESOURCE_NO_TEXTURE_1D: D3D11_MESSAGE_ID =
3072    D3D11_MESSAGE_ID(1048587i32);
3073pub const D3D11_MESSAGE_ID_CREATERESOURCE_NO_VB_AND_IB_BIND: D3D11_MESSAGE_ID =
3074    D3D11_MESSAGE_ID(1048586i32);
3075pub const D3D11_MESSAGE_ID_CREATERESOURCE_ONLY_SINGLE_MIP_LEVEL_DEPTH_STENCIL_SUPPORTED:
3076    D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(1048631i32);
3077pub const D3D11_MESSAGE_ID_CREATERESOURCE_ONLY_VB_IB_FOR_BUFFERS: D3D11_MESSAGE_ID =
3078    D3D11_MESSAGE_ID(1048615i32);
3079pub const D3D11_MESSAGE_ID_CREATERESOURCE_PRESENTATION_PRECLUDES_SHADER_RESOURCE: D3D11_MESSAGE_ID =
3080    D3D11_MESSAGE_ID(1048611i32);
3081pub const D3D11_MESSAGE_ID_CREATESAMPLERSTATE_BORDER_NOT_SUPPORTED: D3D11_MESSAGE_ID =
3082    D3D11_MESSAGE_ID(1048635i32);
3083pub const D3D11_MESSAGE_ID_CREATESAMPLERSTATE_BORDER_OUT_OF_RANGE: D3D11_MESSAGE_ID =
3084    D3D11_MESSAGE_ID(1048581i32);
3085pub const D3D11_MESSAGE_ID_CREATESAMPLERSTATE_EXCESSIVE_ANISOTROPY: D3D11_MESSAGE_ID =
3086    D3D11_MESSAGE_ID(1048580i32);
3087pub const D3D11_MESSAGE_ID_CREATESAMPLERSTATE_INVALIDADDRESSU: D3D11_MESSAGE_ID =
3088    D3D11_MESSAGE_ID(222i32);
3089pub const D3D11_MESSAGE_ID_CREATESAMPLERSTATE_INVALIDADDRESSV: D3D11_MESSAGE_ID =
3090    D3D11_MESSAGE_ID(223i32);
3091pub const D3D11_MESSAGE_ID_CREATESAMPLERSTATE_INVALIDADDRESSW: D3D11_MESSAGE_ID =
3092    D3D11_MESSAGE_ID(224i32);
3093pub const D3D11_MESSAGE_ID_CREATESAMPLERSTATE_INVALIDCOMPARISONFUNC: D3D11_MESSAGE_ID =
3094    D3D11_MESSAGE_ID(227i32);
3095pub const D3D11_MESSAGE_ID_CREATESAMPLERSTATE_INVALIDFILTER: D3D11_MESSAGE_ID =
3096    D3D11_MESSAGE_ID(221i32);
3097pub const D3D11_MESSAGE_ID_CREATESAMPLERSTATE_INVALIDMAXANISOTROPY: D3D11_MESSAGE_ID =
3098    D3D11_MESSAGE_ID(226i32);
3099pub const D3D11_MESSAGE_ID_CREATESAMPLERSTATE_INVALIDMAXLOD: D3D11_MESSAGE_ID =
3100    D3D11_MESSAGE_ID(229i32);
3101pub const D3D11_MESSAGE_ID_CREATESAMPLERSTATE_INVALIDMINLOD: D3D11_MESSAGE_ID =
3102    D3D11_MESSAGE_ID(228i32);
3103pub const D3D11_MESSAGE_ID_CREATESAMPLERSTATE_INVALIDMIPLODBIAS: D3D11_MESSAGE_ID =
3104    D3D11_MESSAGE_ID(225i32);
3105pub const D3D11_MESSAGE_ID_CREATESAMPLERSTATE_MAXLOD_MUST_BE_FLT_MAX: D3D11_MESSAGE_ID =
3106    D3D11_MESSAGE_ID(1048605i32);
3107pub const D3D11_MESSAGE_ID_CREATESAMPLERSTATE_MINLOD_MUST_NOT_BE_FRACTIONAL: D3D11_MESSAGE_ID =
3108    D3D11_MESSAGE_ID(1048604i32);
3109pub const D3D11_MESSAGE_ID_CREATESAMPLERSTATE_NO_COMPARISON_SUPPORT: D3D11_MESSAGE_ID =
3110    D3D11_MESSAGE_ID(1048579i32);
3111pub const D3D11_MESSAGE_ID_CREATESAMPLERSTATE_NO_MIRRORONCE: D3D11_MESSAGE_ID =
3112    D3D11_MESSAGE_ID(1048625i32);
3113pub const D3D11_MESSAGE_ID_CREATESAMPLERSTATE_NULLDESC: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(231i32);
3114pub const D3D11_MESSAGE_ID_CREATESAMPLERSTATE_TOOMANYOBJECTS: D3D11_MESSAGE_ID =
3115    D3D11_MESSAGE_ID(230i32);
3116pub const D3D11_MESSAGE_ID_CREATESHADERRESESOURCEVIEW_TOOMANYOBJECTS: D3D11_MESSAGE_ID =
3117    D3D11_MESSAGE_ID(2097359i32);
3118pub const D3D11_MESSAGE_ID_CREATESHADERRESOURCEVIEW_AMBIGUOUSVIDEOPLANEINDEX: D3D11_MESSAGE_ID =
3119    D3D11_MESSAGE_ID(3146162i32);
3120pub const D3D11_MESSAGE_ID_CREATESHADERRESOURCEVIEW_CUBES_MUST_HAVE_6_SIDES: D3D11_MESSAGE_ID =
3121    D3D11_MESSAGE_ID(1048607i32);
3122pub const D3D11_MESSAGE_ID_CREATESHADERRESOURCEVIEW_FIRSTARRAYSLICE_MUST_BE_ZERO: D3D11_MESSAGE_ID =
3123    D3D11_MESSAGE_ID(1048606i32);
3124pub const D3D11_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDARG_RETURN: D3D11_MESSAGE_ID =
3125    D3D11_MESSAGE_ID(131i32);
3126pub const D3D11_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDDARRAYWITHDECODER: D3D11_MESSAGE_ID =
3127    D3D11_MESSAGE_ID(3145942i32);
3128pub const D3D11_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDDESC: D3D11_MESSAGE_ID =
3129    D3D11_MESSAGE_ID(126i32);
3130pub const D3D11_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDDIMENSIONS: D3D11_MESSAGE_ID =
3131    D3D11_MESSAGE_ID(128i32);
3132pub const D3D11_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDFLAGS: D3D11_MESSAGE_ID =
3133    D3D11_MESSAGE_ID(2097340i32);
3134pub const D3D11_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDFORMAT: D3D11_MESSAGE_ID =
3135    D3D11_MESSAGE_ID(127i32);
3136pub const D3D11_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDPLANEINDEX: D3D11_MESSAGE_ID =
3137    D3D11_MESSAGE_ID(3146160i32);
3138pub const D3D11_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDRESOURCE: D3D11_MESSAGE_ID =
3139    D3D11_MESSAGE_ID(129i32);
3140pub const D3D11_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDVIDEOPLANEINDEX: D3D11_MESSAGE_ID =
3141    D3D11_MESSAGE_ID(3146161i32);
3142pub const D3D11_MESSAGE_ID_CREATESHADERRESOURCEVIEW_MUST_USE_LOWEST_LOD: D3D11_MESSAGE_ID =
3143    D3D11_MESSAGE_ID(1048603i32);
3144pub const D3D11_MESSAGE_ID_CREATESHADERRESOURCEVIEW_OUTOFMEMORY_RETURN: D3D11_MESSAGE_ID =
3145    D3D11_MESSAGE_ID(132i32);
3146pub const D3D11_MESSAGE_ID_CREATESHADERRESOURCEVIEW_TOOMANYOBJECTS: D3D11_MESSAGE_ID =
3147    D3D11_MESSAGE_ID(130i32);
3148pub const D3D11_MESSAGE_ID_CREATESHADERRESOURCEVIEW_UNRECOGNIZEDFORMAT: D3D11_MESSAGE_ID =
3149    D3D11_MESSAGE_ID(125i32);
3150pub const D3D11_MESSAGE_ID_CREATETEXTURE1D_INVALIDARG_RETURN: D3D11_MESSAGE_ID =
3151    D3D11_MESSAGE_ID(87i32);
3152pub const D3D11_MESSAGE_ID_CREATETEXTURE1D_INVALIDBINDFLAGS: D3D11_MESSAGE_ID =
3153    D3D11_MESSAGE_ID(82i32);
3154pub const D3D11_MESSAGE_ID_CREATETEXTURE1D_INVALIDCPUACCESSFLAGS: D3D11_MESSAGE_ID =
3155    D3D11_MESSAGE_ID(81i32);
3156pub const D3D11_MESSAGE_ID_CREATETEXTURE1D_INVALIDDIMENSIONS: D3D11_MESSAGE_ID =
3157    D3D11_MESSAGE_ID(84i32);
3158pub const D3D11_MESSAGE_ID_CREATETEXTURE1D_INVALIDINITIALDATA: D3D11_MESSAGE_ID =
3159    D3D11_MESSAGE_ID(83i32);
3160pub const D3D11_MESSAGE_ID_CREATETEXTURE1D_INVALIDMIPLEVELS: D3D11_MESSAGE_ID =
3161    D3D11_MESSAGE_ID(85i32);
3162pub const D3D11_MESSAGE_ID_CREATETEXTURE1D_INVALIDMISCFLAGS: D3D11_MESSAGE_ID =
3163    D3D11_MESSAGE_ID(86i32);
3164pub const D3D11_MESSAGE_ID_CREATETEXTURE1D_INVALIDSAMPLES: D3D11_MESSAGE_ID =
3165    D3D11_MESSAGE_ID(76i32);
3166pub const D3D11_MESSAGE_ID_CREATETEXTURE1D_INVALIDUSAGE: D3D11_MESSAGE_ID =
3167    D3D11_MESSAGE_ID(3146121i32);
3168pub const D3D11_MESSAGE_ID_CREATETEXTURE1D_LARGEALLOCATION: D3D11_MESSAGE_ID =
3169    D3D11_MESSAGE_ID(90i32);
3170pub const D3D11_MESSAGE_ID_CREATETEXTURE1D_NULLDESC: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(89i32);
3171pub const D3D11_MESSAGE_ID_CREATETEXTURE1D_OUTOFMEMORY_RETURN: D3D11_MESSAGE_ID =
3172    D3D11_MESSAGE_ID(88i32);
3173pub const D3D11_MESSAGE_ID_CREATETEXTURE1D_UNRECOGNIZEDBINDFLAGS: D3D11_MESSAGE_ID =
3174    D3D11_MESSAGE_ID(78i32);
3175pub const D3D11_MESSAGE_ID_CREATETEXTURE1D_UNRECOGNIZEDCPUACCESSFLAGS: D3D11_MESSAGE_ID =
3176    D3D11_MESSAGE_ID(79i32);
3177pub const D3D11_MESSAGE_ID_CREATETEXTURE1D_UNRECOGNIZEDFORMAT: D3D11_MESSAGE_ID =
3178    D3D11_MESSAGE_ID(74i32);
3179pub const D3D11_MESSAGE_ID_CREATETEXTURE1D_UNRECOGNIZEDMISCFLAGS: D3D11_MESSAGE_ID =
3180    D3D11_MESSAGE_ID(80i32);
3181pub const D3D11_MESSAGE_ID_CREATETEXTURE1D_UNRECOGNIZEDUSAGE: D3D11_MESSAGE_ID =
3182    D3D11_MESSAGE_ID(77i32);
3183pub const D3D11_MESSAGE_ID_CREATETEXTURE1D_UNSUPPORTEDFORMAT: D3D11_MESSAGE_ID =
3184    D3D11_MESSAGE_ID(75i32);
3185pub const D3D11_MESSAGE_ID_CREATETEXTURE2D_INVALIDARG_RETURN: D3D11_MESSAGE_ID =
3186    D3D11_MESSAGE_ID(104i32);
3187pub const D3D11_MESSAGE_ID_CREATETEXTURE2D_INVALIDBINDFLAGS: D3D11_MESSAGE_ID =
3188    D3D11_MESSAGE_ID(99i32);
3189pub const D3D11_MESSAGE_ID_CREATETEXTURE2D_INVALIDCPUACCESSFLAGS: D3D11_MESSAGE_ID =
3190    D3D11_MESSAGE_ID(98i32);
3191pub const D3D11_MESSAGE_ID_CREATETEXTURE2D_INVALIDDIMENSIONS: D3D11_MESSAGE_ID =
3192    D3D11_MESSAGE_ID(101i32);
3193pub const D3D11_MESSAGE_ID_CREATETEXTURE2D_INVALIDINITIALDATA: D3D11_MESSAGE_ID =
3194    D3D11_MESSAGE_ID(100i32);
3195pub const D3D11_MESSAGE_ID_CREATETEXTURE2D_INVALIDMIPLEVELS: D3D11_MESSAGE_ID =
3196    D3D11_MESSAGE_ID(102i32);
3197pub const D3D11_MESSAGE_ID_CREATETEXTURE2D_INVALIDMISCFLAGS: D3D11_MESSAGE_ID =
3198    D3D11_MESSAGE_ID(103i32);
3199pub const D3D11_MESSAGE_ID_CREATETEXTURE2D_INVALIDSAMPLES: D3D11_MESSAGE_ID =
3200    D3D11_MESSAGE_ID(93i32);
3201pub const D3D11_MESSAGE_ID_CREATETEXTURE2D_INVALIDUSAGE: D3D11_MESSAGE_ID =
3202    D3D11_MESSAGE_ID(3146122i32);
3203pub const D3D11_MESSAGE_ID_CREATETEXTURE2D_LARGEALLOCATION: D3D11_MESSAGE_ID =
3204    D3D11_MESSAGE_ID(107i32);
3205pub const D3D11_MESSAGE_ID_CREATETEXTURE2D_NULLDESC: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(106i32);
3206pub const D3D11_MESSAGE_ID_CREATETEXTURE2D_OUTOFMEMORY_RETURN: D3D11_MESSAGE_ID =
3207    D3D11_MESSAGE_ID(105i32);
3208pub const D3D11_MESSAGE_ID_CREATETEXTURE2D_UNRECOGNIZEDBINDFLAGS: D3D11_MESSAGE_ID =
3209    D3D11_MESSAGE_ID(95i32);
3210pub const D3D11_MESSAGE_ID_CREATETEXTURE2D_UNRECOGNIZEDCPUACCESSFLAGS: D3D11_MESSAGE_ID =
3211    D3D11_MESSAGE_ID(96i32);
3212pub const D3D11_MESSAGE_ID_CREATETEXTURE2D_UNRECOGNIZEDFORMAT: D3D11_MESSAGE_ID =
3213    D3D11_MESSAGE_ID(91i32);
3214pub const D3D11_MESSAGE_ID_CREATETEXTURE2D_UNRECOGNIZEDMISCFLAGS: D3D11_MESSAGE_ID =
3215    D3D11_MESSAGE_ID(97i32);
3216pub const D3D11_MESSAGE_ID_CREATETEXTURE2D_UNRECOGNIZEDUSAGE: D3D11_MESSAGE_ID =
3217    D3D11_MESSAGE_ID(94i32);
3218pub const D3D11_MESSAGE_ID_CREATETEXTURE2D_UNSUPPORTEDFORMAT: D3D11_MESSAGE_ID =
3219    D3D11_MESSAGE_ID(92i32);
3220pub const D3D11_MESSAGE_ID_CREATETEXTURE3D_INVALIDARG_RETURN: D3D11_MESSAGE_ID =
3221    D3D11_MESSAGE_ID(121i32);
3222pub const D3D11_MESSAGE_ID_CREATETEXTURE3D_INVALIDBINDFLAGS: D3D11_MESSAGE_ID =
3223    D3D11_MESSAGE_ID(116i32);
3224pub const D3D11_MESSAGE_ID_CREATETEXTURE3D_INVALIDCPUACCESSFLAGS: D3D11_MESSAGE_ID =
3225    D3D11_MESSAGE_ID(115i32);
3226pub const D3D11_MESSAGE_ID_CREATETEXTURE3D_INVALIDDIMENSIONS: D3D11_MESSAGE_ID =
3227    D3D11_MESSAGE_ID(118i32);
3228pub const D3D11_MESSAGE_ID_CREATETEXTURE3D_INVALIDINITIALDATA: D3D11_MESSAGE_ID =
3229    D3D11_MESSAGE_ID(117i32);
3230pub const D3D11_MESSAGE_ID_CREATETEXTURE3D_INVALIDMIPLEVELS: D3D11_MESSAGE_ID =
3231    D3D11_MESSAGE_ID(119i32);
3232pub const D3D11_MESSAGE_ID_CREATETEXTURE3D_INVALIDMISCFLAGS: D3D11_MESSAGE_ID =
3233    D3D11_MESSAGE_ID(120i32);
3234pub const D3D11_MESSAGE_ID_CREATETEXTURE3D_INVALIDSAMPLES: D3D11_MESSAGE_ID =
3235    D3D11_MESSAGE_ID(110i32);
3236pub const D3D11_MESSAGE_ID_CREATETEXTURE3D_LARGEALLOCATION: D3D11_MESSAGE_ID =
3237    D3D11_MESSAGE_ID(124i32);
3238pub const D3D11_MESSAGE_ID_CREATETEXTURE3D_NULLDESC: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(123i32);
3239pub const D3D11_MESSAGE_ID_CREATETEXTURE3D_OUTOFMEMORY_RETURN: D3D11_MESSAGE_ID =
3240    D3D11_MESSAGE_ID(122i32);
3241pub const D3D11_MESSAGE_ID_CREATETEXTURE3D_UNRECOGNIZEDBINDFLAGS: D3D11_MESSAGE_ID =
3242    D3D11_MESSAGE_ID(112i32);
3243pub const D3D11_MESSAGE_ID_CREATETEXTURE3D_UNRECOGNIZEDCPUACCESSFLAGS: D3D11_MESSAGE_ID =
3244    D3D11_MESSAGE_ID(113i32);
3245pub const D3D11_MESSAGE_ID_CREATETEXTURE3D_UNRECOGNIZEDFORMAT: D3D11_MESSAGE_ID =
3246    D3D11_MESSAGE_ID(108i32);
3247pub const D3D11_MESSAGE_ID_CREATETEXTURE3D_UNRECOGNIZEDMISCFLAGS: D3D11_MESSAGE_ID =
3248    D3D11_MESSAGE_ID(114i32);
3249pub const D3D11_MESSAGE_ID_CREATETEXTURE3D_UNRECOGNIZEDUSAGE: D3D11_MESSAGE_ID =
3250    D3D11_MESSAGE_ID(111i32);
3251pub const D3D11_MESSAGE_ID_CREATETEXTURE3D_UNSUPPORTEDFORMAT: D3D11_MESSAGE_ID =
3252    D3D11_MESSAGE_ID(109i32);
3253pub const D3D11_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_AMBIGUOUSVIDEOPLANEINDEX: D3D11_MESSAGE_ID =
3254    D3D11_MESSAGE_ID(3146168i32);
3255pub const D3D11_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDARG_RETURN: D3D11_MESSAGE_ID =
3256    D3D11_MESSAGE_ID(2097351i32);
3257pub const D3D11_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDDARRAYWITHDECODER: D3D11_MESSAGE_ID =
3258    D3D11_MESSAGE_ID(3145943i32);
3259pub const D3D11_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDDESC: D3D11_MESSAGE_ID =
3260    D3D11_MESSAGE_ID(2097342i32);
3261pub const D3D11_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDDIMENSIONS: D3D11_MESSAGE_ID =
3262    D3D11_MESSAGE_ID(2097344i32);
3263pub const D3D11_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDFLAGS: D3D11_MESSAGE_ID =
3264    D3D11_MESSAGE_ID(2097358i32);
3265pub const D3D11_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDFORMAT: D3D11_MESSAGE_ID =
3266    D3D11_MESSAGE_ID(2097343i32);
3267pub const D3D11_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDPLANEINDEX: D3D11_MESSAGE_ID =
3268    D3D11_MESSAGE_ID(3146166i32);
3269pub const D3D11_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDRESOURCE: D3D11_MESSAGE_ID =
3270    D3D11_MESSAGE_ID(2097341i32);
3271pub const D3D11_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDVIDEOPLANEINDEX: D3D11_MESSAGE_ID =
3272    D3D11_MESSAGE_ID(3146167i32);
3273pub const D3D11_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_OUTOFMEMORY_RETURN: D3D11_MESSAGE_ID =
3274    D3D11_MESSAGE_ID(2097352i32);
3275pub const D3D11_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_TOOMANYOBJECTS: D3D11_MESSAGE_ID =
3276    D3D11_MESSAGE_ID(2097353i32);
3277pub const D3D11_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_UNRECOGNIZEDFORMAT: D3D11_MESSAGE_ID =
3278    D3D11_MESSAGE_ID(2097345i32);
3279pub const D3D11_MESSAGE_ID_CREATEVERTEXSHADER_INVALIDCLASSLINKAGE: D3D11_MESSAGE_ID =
3280    D3D11_MESSAGE_ID(2097154i32);
3281pub const D3D11_MESSAGE_ID_CREATEVERTEXSHADER_INVALIDSHADERBYTECODE: D3D11_MESSAGE_ID =
3282    D3D11_MESSAGE_ID(166i32);
3283pub const D3D11_MESSAGE_ID_CREATEVERTEXSHADER_INVALIDSHADERTYPE: D3D11_MESSAGE_ID =
3284    D3D11_MESSAGE_ID(167i32);
3285pub const D3D11_MESSAGE_ID_CREATEVERTEXSHADER_OUTOFMEMORY: D3D11_MESSAGE_ID =
3286    D3D11_MESSAGE_ID(165i32);
3287pub const D3D11_MESSAGE_ID_CREATEVIDEODECODEROUTPUTVIEW_INVALIDARRAY: D3D11_MESSAGE_ID =
3288    D3D11_MESSAGE_ID(3145915i32);
3289pub const D3D11_MESSAGE_ID_CREATEVIDEODECODEROUTPUTVIEW_INVALIDARRAYSIZE: D3D11_MESSAGE_ID =
3290    D3D11_MESSAGE_ID(3145914i32);
3291pub const D3D11_MESSAGE_ID_CREATEVIDEODECODEROUTPUTVIEW_INVALIDBIND: D3D11_MESSAGE_ID =
3292    D3D11_MESSAGE_ID(3145910i32);
3293pub const D3D11_MESSAGE_ID_CREATEVIDEODECODEROUTPUTVIEW_INVALIDDIMENSION: D3D11_MESSAGE_ID =
3294    D3D11_MESSAGE_ID(3145916i32);
3295pub const D3D11_MESSAGE_ID_CREATEVIDEODECODEROUTPUTVIEW_INVALIDMIP: D3D11_MESSAGE_ID =
3296    D3D11_MESSAGE_ID(3145912i32);
3297pub const D3D11_MESSAGE_ID_CREATEVIDEODECODEROUTPUTVIEW_INVALIDTYPE: D3D11_MESSAGE_ID =
3298    D3D11_MESSAGE_ID(3145909i32);
3299pub const D3D11_MESSAGE_ID_CREATEVIDEODECODEROUTPUTVIEW_NULLPARAM: D3D11_MESSAGE_ID =
3300    D3D11_MESSAGE_ID(3145908i32);
3301pub const D3D11_MESSAGE_ID_CREATEVIDEODECODEROUTPUTVIEW_OUTOFMEMORY_RETURN: D3D11_MESSAGE_ID =
3302    D3D11_MESSAGE_ID(3145907i32);
3303pub const D3D11_MESSAGE_ID_CREATEVIDEODECODEROUTPUTVIEW_UNSUPPORTEDFORMAT: D3D11_MESSAGE_ID =
3304    D3D11_MESSAGE_ID(3145911i32);
3305pub const D3D11_MESSAGE_ID_CREATEVIDEODECODEROUTPUTVIEW_UNSUPPORTEMIP: D3D11_MESSAGE_ID =
3306    D3D11_MESSAGE_ID(3145913i32);
3307pub const D3D11_MESSAGE_ID_CREATEVIDEODECODER_DRIVER_INVALIDBUFFERSIZE: D3D11_MESSAGE_ID =
3308    D3D11_MESSAGE_ID(3145762i32);
3309pub const D3D11_MESSAGE_ID_CREATEVIDEODECODER_DRIVER_INVALIDBUFFERUSAGE: D3D11_MESSAGE_ID =
3310    D3D11_MESSAGE_ID(3145763i32);
3311pub const D3D11_MESSAGE_ID_CREATEVIDEODECODER_INVALIDFORMAT: D3D11_MESSAGE_ID =
3312    D3D11_MESSAGE_ID(3145760i32);
3313pub const D3D11_MESSAGE_ID_CREATEVIDEODECODER_NULLPARAM: D3D11_MESSAGE_ID =
3314    D3D11_MESSAGE_ID(3145759i32);
3315pub const D3D11_MESSAGE_ID_CREATEVIDEODECODER_OUTOFMEMORY_RETURN: D3D11_MESSAGE_ID =
3316    D3D11_MESSAGE_ID(3145758i32);
3317pub const D3D11_MESSAGE_ID_CREATEVIDEODECODER_ZEROWIDTHHEIGHT: D3D11_MESSAGE_ID =
3318    D3D11_MESSAGE_ID(3145761i32);
3319pub const D3D11_MESSAGE_ID_CREATEVIDEOPROCESSORENUMERATOR_INVALIDFRAMEFORMAT: D3D11_MESSAGE_ID =
3320    D3D11_MESSAGE_ID(3145793i32);
3321pub const D3D11_MESSAGE_ID_CREATEVIDEOPROCESSORENUMERATOR_INVALIDINPUTFRAMERATE: D3D11_MESSAGE_ID =
3322    D3D11_MESSAGE_ID(3145795i32);
3323pub const D3D11_MESSAGE_ID_CREATEVIDEOPROCESSORENUMERATOR_INVALIDOUTPUTFRAMERATE: D3D11_MESSAGE_ID =
3324    D3D11_MESSAGE_ID(3145796i32);
3325pub const D3D11_MESSAGE_ID_CREATEVIDEOPROCESSORENUMERATOR_INVALIDUSAGE: D3D11_MESSAGE_ID =
3326    D3D11_MESSAGE_ID(3145794i32);
3327pub const D3D11_MESSAGE_ID_CREATEVIDEOPROCESSORENUMERATOR_INVALIDWIDTHHEIGHT: D3D11_MESSAGE_ID =
3328    D3D11_MESSAGE_ID(3145797i32);
3329pub const D3D11_MESSAGE_ID_CREATEVIDEOPROCESSORENUMERATOR_NULLPARAM: D3D11_MESSAGE_ID =
3330    D3D11_MESSAGE_ID(3145792i32);
3331pub const D3D11_MESSAGE_ID_CREATEVIDEOPROCESSORENUMERATOR_OUTOFMEMORY_RETURN: D3D11_MESSAGE_ID =
3332    D3D11_MESSAGE_ID(3145791i32);
3333pub const D3D11_MESSAGE_ID_CREATEVIDEOPROCESSORINPUTVIEW_INVALIDARRAY: D3D11_MESSAGE_ID =
3334    D3D11_MESSAGE_ID(3145928i32);
3335pub const D3D11_MESSAGE_ID_CREATEVIDEOPROCESSORINPUTVIEW_INVALIDARRAYSIZE: D3D11_MESSAGE_ID =
3336    D3D11_MESSAGE_ID(3145927i32);
3337pub const D3D11_MESSAGE_ID_CREATEVIDEOPROCESSORINPUTVIEW_INVALIDBIND: D3D11_MESSAGE_ID =
3338    D3D11_MESSAGE_ID(3145920i32);
3339pub const D3D11_MESSAGE_ID_CREATEVIDEOPROCESSORINPUTVIEW_INVALIDDIMENSION: D3D11_MESSAGE_ID =
3340    D3D11_MESSAGE_ID(3145929i32);
3341pub const D3D11_MESSAGE_ID_CREATEVIDEOPROCESSORINPUTVIEW_INVALIDFORMAT: D3D11_MESSAGE_ID =
3342    D3D11_MESSAGE_ID(3145923i32);
3343pub const D3D11_MESSAGE_ID_CREATEVIDEOPROCESSORINPUTVIEW_INVALIDFOURCC: D3D11_MESSAGE_ID =
3344    D3D11_MESSAGE_ID(3145924i32);
3345pub const D3D11_MESSAGE_ID_CREATEVIDEOPROCESSORINPUTVIEW_INVALIDMIP: D3D11_MESSAGE_ID =
3346    D3D11_MESSAGE_ID(3145925i32);
3347pub const D3D11_MESSAGE_ID_CREATEVIDEOPROCESSORINPUTVIEW_INVALIDMISC: D3D11_MESSAGE_ID =
3348    D3D11_MESSAGE_ID(3145921i32);
3349pub const D3D11_MESSAGE_ID_CREATEVIDEOPROCESSORINPUTVIEW_INVALIDMSAA: D3D11_MESSAGE_ID =
3350    D3D11_MESSAGE_ID(3146073i32);
3351pub const D3D11_MESSAGE_ID_CREATEVIDEOPROCESSORINPUTVIEW_INVALIDTYPE: D3D11_MESSAGE_ID =
3352    D3D11_MESSAGE_ID(3145919i32);
3353pub const D3D11_MESSAGE_ID_CREATEVIDEOPROCESSORINPUTVIEW_INVALIDUSAGE: D3D11_MESSAGE_ID =
3354    D3D11_MESSAGE_ID(3145922i32);
3355pub const D3D11_MESSAGE_ID_CREATEVIDEOPROCESSORINPUTVIEW_NULLPARAM: D3D11_MESSAGE_ID =
3356    D3D11_MESSAGE_ID(3145918i32);
3357pub const D3D11_MESSAGE_ID_CREATEVIDEOPROCESSORINPUTVIEW_OUTOFMEMORY_RETURN: D3D11_MESSAGE_ID =
3358    D3D11_MESSAGE_ID(3145917i32);
3359pub const D3D11_MESSAGE_ID_CREATEVIDEOPROCESSORINPUTVIEW_UNSUPPORTEDMIP: D3D11_MESSAGE_ID =
3360    D3D11_MESSAGE_ID(3145926i32);
3361pub const D3D11_MESSAGE_ID_CREATEVIDEOPROCESSOROUTPUTVIEW_INVALIDARRAY: D3D11_MESSAGE_ID =
3362    D3D11_MESSAGE_ID(3145938i32);
3363pub const D3D11_MESSAGE_ID_CREATEVIDEOPROCESSOROUTPUTVIEW_INVALIDBIND: D3D11_MESSAGE_ID =
3364    D3D11_MESSAGE_ID(3145933i32);
3365pub const D3D11_MESSAGE_ID_CREATEVIDEOPROCESSOROUTPUTVIEW_INVALIDDIMENSION: D3D11_MESSAGE_ID =
3366    D3D11_MESSAGE_ID(3145939i32);
3367pub const D3D11_MESSAGE_ID_CREATEVIDEOPROCESSOROUTPUTVIEW_INVALIDFORMAT: D3D11_MESSAGE_ID =
3368    D3D11_MESSAGE_ID(3145934i32);
3369pub const D3D11_MESSAGE_ID_CREATEVIDEOPROCESSOROUTPUTVIEW_INVALIDMIP: D3D11_MESSAGE_ID =
3370    D3D11_MESSAGE_ID(3145935i32);
3371pub const D3D11_MESSAGE_ID_CREATEVIDEOPROCESSOROUTPUTVIEW_INVALIDMSAA: D3D11_MESSAGE_ID =
3372    D3D11_MESSAGE_ID(3146074i32);
3373pub const D3D11_MESSAGE_ID_CREATEVIDEOPROCESSOROUTPUTVIEW_INVALIDTYPE: D3D11_MESSAGE_ID =
3374    D3D11_MESSAGE_ID(3145932i32);
3375pub const D3D11_MESSAGE_ID_CREATEVIDEOPROCESSOROUTPUTVIEW_NULLPARAM: D3D11_MESSAGE_ID =
3376    D3D11_MESSAGE_ID(3145931i32);
3377pub const D3D11_MESSAGE_ID_CREATEVIDEOPROCESSOROUTPUTVIEW_OUTOFMEMORY_RETURN: D3D11_MESSAGE_ID =
3378    D3D11_MESSAGE_ID(3145930i32);
3379pub const D3D11_MESSAGE_ID_CREATEVIDEOPROCESSOROUTPUTVIEW_UNSUPPORTEDARRAY: D3D11_MESSAGE_ID =
3380    D3D11_MESSAGE_ID(3145937i32);
3381pub const D3D11_MESSAGE_ID_CREATEVIDEOPROCESSOROUTPUTVIEW_UNSUPPORTEDMIP: D3D11_MESSAGE_ID =
3382    D3D11_MESSAGE_ID(3145936i32);
3383pub const D3D11_MESSAGE_ID_CREATEVIDEOPROCESSOR_NULLPARAM: D3D11_MESSAGE_ID =
3384    D3D11_MESSAGE_ID(3145808i32);
3385pub const D3D11_MESSAGE_ID_CREATEVIDEOPROCESSOR_OUTOFMEMORY_RETURN: D3D11_MESSAGE_ID =
3386    D3D11_MESSAGE_ID(3145807i32);
3387pub const D3D11_MESSAGE_ID_CREATE_AUTHENTICATEDCHANNEL: D3D11_MESSAGE_ID =
3388    D3D11_MESSAGE_ID(3146148i32);
3389pub const D3D11_MESSAGE_ID_CREATE_BLENDSTATE: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(2097270i32);
3390pub const D3D11_MESSAGE_ID_CREATE_BUFFER: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(2097228i32);
3391pub const D3D11_MESSAGE_ID_CREATE_CLASSINSTANCE: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(2097290i32);
3392pub const D3D11_MESSAGE_ID_CREATE_CLASSLINKAGE: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(2097293i32);
3393pub const D3D11_MESSAGE_ID_CREATE_COMMANDLIST: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(2097287i32);
3394pub const D3D11_MESSAGE_ID_CREATE_COMPUTESHADER: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(2097298i32);
3395pub const D3D11_MESSAGE_ID_CREATE_CONTEXT: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(2097225i32);
3396pub const D3D11_MESSAGE_ID_CREATE_COUNTER: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(2097285i32);
3397pub const D3D11_MESSAGE_ID_CREATE_CRYPTOSESSION: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(3146147i32);
3398pub const D3D11_MESSAGE_ID_CREATE_DECODEROUTPUTVIEW: D3D11_MESSAGE_ID =
3399    D3D11_MESSAGE_ID(3145732i32);
3400pub const D3D11_MESSAGE_ID_CREATE_DEPTHSTENCILSTATE: D3D11_MESSAGE_ID =
3401    D3D11_MESSAGE_ID(2097273i32);
3402pub const D3D11_MESSAGE_ID_CREATE_DEPTHSTENCILVIEW: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(2097246i32);
3403pub const D3D11_MESSAGE_ID_CREATE_DEVICECONTEXTSTATE: D3D11_MESSAGE_ID =
3404    D3D11_MESSAGE_ID(3145735i32);
3405pub const D3D11_MESSAGE_ID_CREATE_DOMAINSHADER: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(2097255i32);
3406pub const D3D11_MESSAGE_ID_CREATE_FENCE: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(3146250i32);
3407pub const D3D11_MESSAGE_ID_CREATE_GEOMETRYSHADER: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(2097258i32);
3408pub const D3D11_MESSAGE_ID_CREATE_HULLSHADER: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(2097252i32);
3409pub const D3D11_MESSAGE_ID_CREATE_INPUTLAYOUT: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(2097264i32);
3410pub const D3D11_MESSAGE_ID_CREATE_PIXELSHADER: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(2097261i32);
3411pub const D3D11_MESSAGE_ID_CREATE_PREDICATE: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(2097282i32);
3412pub const D3D11_MESSAGE_ID_CREATE_PROCESSORINPUTVIEW: D3D11_MESSAGE_ID =
3413    D3D11_MESSAGE_ID(3145733i32);
3414pub const D3D11_MESSAGE_ID_CREATE_PROCESSOROUTPUTVIEW: D3D11_MESSAGE_ID =
3415    D3D11_MESSAGE_ID(3145734i32);
3416pub const D3D11_MESSAGE_ID_CREATE_QUERY: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(2097279i32);
3417pub const D3D11_MESSAGE_ID_CREATE_RASTERIZERSTATE: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(2097276i32);
3418pub const D3D11_MESSAGE_ID_CREATE_RENDERTARGETVIEW: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(2097243i32);
3419pub const D3D11_MESSAGE_ID_CREATE_SAMPLER: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(2097267i32);
3420pub const D3D11_MESSAGE_ID_CREATE_SHADERRESOURCEVIEW: D3D11_MESSAGE_ID =
3421    D3D11_MESSAGE_ID(2097240i32);
3422pub const D3D11_MESSAGE_ID_CREATE_SYNCHRONIZEDCHANNEL: D3D11_MESSAGE_ID =
3423    D3D11_MESSAGE_ID(3146253i32);
3424pub const D3D11_MESSAGE_ID_CREATE_TEXTURE1D: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(2097231i32);
3425pub const D3D11_MESSAGE_ID_CREATE_TEXTURE2D: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(2097234i32);
3426pub const D3D11_MESSAGE_ID_CREATE_TEXTURE3D: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(2097237i32);
3427pub const D3D11_MESSAGE_ID_CREATE_TRACKEDWORKLOAD: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(3146267i32);
3428pub const D3D11_MESSAGE_ID_CREATE_TRACKED_WORKLOAD_INVALID_DEADLINE_TYPE: D3D11_MESSAGE_ID =
3429    D3D11_MESSAGE_ID(3146272i32);
3430pub const D3D11_MESSAGE_ID_CREATE_TRACKED_WORKLOAD_INVALID_ENGINE_TYPE: D3D11_MESSAGE_ID =
3431    D3D11_MESSAGE_ID(3146273i32);
3432pub const D3D11_MESSAGE_ID_CREATE_TRACKED_WORKLOAD_INVALID_MAX_INSTANCES: D3D11_MESSAGE_ID =
3433    D3D11_MESSAGE_ID(3146271i32);
3434pub const D3D11_MESSAGE_ID_CREATE_TRACKED_WORKLOAD_NULLPARAM: D3D11_MESSAGE_ID =
3435    D3D11_MESSAGE_ID(3146270i32);
3436pub const D3D11_MESSAGE_ID_CREATE_UNORDEREDACCESSVIEW: D3D11_MESSAGE_ID =
3437    D3D11_MESSAGE_ID(2097301i32);
3438pub const D3D11_MESSAGE_ID_CREATE_VERTEXSHADER: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(2097249i32);
3439pub const D3D11_MESSAGE_ID_CREATE_VIDEODECODER: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(3145729i32);
3440pub const D3D11_MESSAGE_ID_CREATE_VIDEOPROCESSOR: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(3145731i32);
3441pub const D3D11_MESSAGE_ID_CREATE_VIDEOPROCESSORENUM: D3D11_MESSAGE_ID =
3442    D3D11_MESSAGE_ID(3145730i32);
3443pub const D3D11_MESSAGE_ID_CSSETCONSTANTBUFFERS_INVALIDBUFFER: D3D11_MESSAGE_ID =
3444    D3D11_MESSAGE_ID(2097326i32);
3445pub const D3D11_MESSAGE_ID_CSSETCONSTANTBUFFERS_INVALIDBUFFEROFFSETORCOUNT: D3D11_MESSAGE_ID =
3446    D3D11_MESSAGE_ID(3146021i32);
3447pub const D3D11_MESSAGE_ID_CSSETCONSTANTBUFFERS_UNBINDDELETINGOBJECT: D3D11_MESSAGE_ID =
3448    D3D11_MESSAGE_ID(2097319i32);
3449pub const D3D11_MESSAGE_ID_CSSETSAMPLERS_UNBINDDELETINGOBJECT: D3D11_MESSAGE_ID =
3450    D3D11_MESSAGE_ID(2097415i32);
3451pub const D3D11_MESSAGE_ID_CSSETSHADERRESOURCES_UNBINDDELETINGOBJECT: D3D11_MESSAGE_ID =
3452    D3D11_MESSAGE_ID(2097318i32);
3453pub const D3D11_MESSAGE_ID_CSSETSHADER_UNBINDDELETINGOBJECT: D3D11_MESSAGE_ID =
3454    D3D11_MESSAGE_ID(2097418i32);
3455pub const D3D11_MESSAGE_ID_CSSETUNORDEREDACCESSVIEWS_UNBINDDELETINGOBJECT: D3D11_MESSAGE_ID =
3456    D3D11_MESSAGE_ID(2097349i32);
3457pub const D3D11_MESSAGE_ID_D3D10L9_MESSAGES_END: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(1048638i32);
3458pub const D3D11_MESSAGE_ID_D3D10L9_MESSAGES_START: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(1048576i32);
3459pub const D3D11_MESSAGE_ID_D3D10_MESSAGES_END: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(443i32);
3460pub const D3D11_MESSAGE_ID_D3D11_1_MESSAGES_END: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(3146118i32);
3461pub const D3D11_MESSAGE_ID_D3D11_1_MESSAGES_START: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(3145728i32);
3462pub const D3D11_MESSAGE_ID_D3D11_2_MESSAGES_END: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(3146153i32);
3463pub const D3D11_MESSAGE_ID_D3D11_2_MESSAGES_START: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(3146119i32);
3464pub const D3D11_MESSAGE_ID_D3D11_3_MESSAGES_END: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(3146257i32);
3465pub const D3D11_MESSAGE_ID_D3D11_3_MESSAGES_START: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(3146154i32);
3466pub const D3D11_MESSAGE_ID_D3D11_5_MESSAGES_END: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(3146284i32);
3467pub const D3D11_MESSAGE_ID_D3D11_5_MESSAGES_START: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(3146258i32);
3468pub const D3D11_MESSAGE_ID_D3D11_MESSAGES_END: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(2097424i32);
3469pub const D3D11_MESSAGE_ID_D3D11_MESSAGES_START: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(2097152i32);
3470pub const D3D11_MESSAGE_ID_DECODERBEGINFRAME_HAZARD: D3D11_MESSAGE_ID =
3471    D3D11_MESSAGE_ID(3145785i32);
3472pub const D3D11_MESSAGE_ID_DECODERBEGINFRAME_INVALID_HISTOGRAM_BUFFER_MISC_FLAGS: D3D11_MESSAGE_ID =
3473    D3D11_MESSAGE_ID(3146265i32);
3474pub const D3D11_MESSAGE_ID_DECODERBEGINFRAME_INVALID_HISTOGRAM_BUFFER_OFFSET: D3D11_MESSAGE_ID =
3475    D3D11_MESSAGE_ID(3146266i32);
3476pub const D3D11_MESSAGE_ID_DECODERBEGINFRAME_INVALID_HISTOGRAM_BUFFER_SIZE: D3D11_MESSAGE_ID =
3477    D3D11_MESSAGE_ID(3146263i32);
3478pub const D3D11_MESSAGE_ID_DECODERBEGINFRAME_INVALID_HISTOGRAM_BUFFER_USAGE: D3D11_MESSAGE_ID =
3479    D3D11_MESSAGE_ID(3146264i32);
3480pub const D3D11_MESSAGE_ID_DECODERBEGINFRAME_INVALID_HISTOGRAM_COMPONENT: D3D11_MESSAGE_ID =
3481    D3D11_MESSAGE_ID(3146262i32);
3482pub const D3D11_MESSAGE_ID_DECODERBEGINFRAME_INVALID_HISTOGRAM_COMPONENT_COUNT: D3D11_MESSAGE_ID =
3483    D3D11_MESSAGE_ID(3146261i32);
3484pub const D3D11_MESSAGE_ID_DECODERBEGINFRAME_NULLPARAM: D3D11_MESSAGE_ID =
3485    D3D11_MESSAGE_ID(3145784i32);
3486pub const D3D11_MESSAGE_ID_DECODERENDFRAME_NULLPARAM: D3D11_MESSAGE_ID =
3487    D3D11_MESSAGE_ID(3145786i32);
3488pub const D3D11_MESSAGE_ID_DECODEREXTENSION_INVALIDRESOURCE: D3D11_MESSAGE_ID =
3489    D3D11_MESSAGE_ID(3145790i32);
3490pub const D3D11_MESSAGE_ID_DECODEREXTENSION_NULLPARAM: D3D11_MESSAGE_ID =
3491    D3D11_MESSAGE_ID(3145789i32);
3492pub const D3D11_MESSAGE_ID_DECRYPTIONBLT_DST_MAPPED: D3D11_MESSAGE_ID =
3493    D3D11_MESSAGE_ID(3145983i32);
3494pub const D3D11_MESSAGE_ID_DECRYPTIONBLT_DST_MULTISAMPLED: D3D11_MESSAGE_ID =
3495    D3D11_MESSAGE_ID(3145979i32);
3496pub const D3D11_MESSAGE_ID_DECRYPTIONBLT_DST_NOT_RENDER_TARGET: D3D11_MESSAGE_ID =
3497    D3D11_MESSAGE_ID(3145981i32);
3498pub const D3D11_MESSAGE_ID_DECRYPTIONBLT_DST_OFFERED: D3D11_MESSAGE_ID =
3499    D3D11_MESSAGE_ID(3145985i32);
3500pub const D3D11_MESSAGE_ID_DECRYPTIONBLT_DST_WRONGDEVICE: D3D11_MESSAGE_ID =
3501    D3D11_MESSAGE_ID(3145976i32);
3502pub const D3D11_MESSAGE_ID_DECRYPTIONBLT_FORMAT_MISMATCH: D3D11_MESSAGE_ID =
3503    D3D11_MESSAGE_ID(3145977i32);
3504pub const D3D11_MESSAGE_ID_DECRYPTIONBLT_NULLPARAM: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(3145974i32);
3505pub const D3D11_MESSAGE_ID_DECRYPTIONBLT_SIZE_MISMATCH: D3D11_MESSAGE_ID =
3506    D3D11_MESSAGE_ID(3145978i32);
3507pub const D3D11_MESSAGE_ID_DECRYPTIONBLT_SRC_CONTENT_UNDEFINED: D3D11_MESSAGE_ID =
3508    D3D11_MESSAGE_ID(3145986i32);
3509pub const D3D11_MESSAGE_ID_DECRYPTIONBLT_SRC_MAPPED: D3D11_MESSAGE_ID =
3510    D3D11_MESSAGE_ID(3145982i32);
3511pub const D3D11_MESSAGE_ID_DECRYPTIONBLT_SRC_NOT_STAGING: D3D11_MESSAGE_ID =
3512    D3D11_MESSAGE_ID(3145980i32);
3513pub const D3D11_MESSAGE_ID_DECRYPTIONBLT_SRC_OFFERED: D3D11_MESSAGE_ID =
3514    D3D11_MESSAGE_ID(3145984i32);
3515pub const D3D11_MESSAGE_ID_DECRYPTIONBLT_SRC_WRONGDEVICE: D3D11_MESSAGE_ID =
3516    D3D11_MESSAGE_ID(3145975i32);
3517pub const D3D11_MESSAGE_ID_DECRYPTIONBLT_UNSUPPORTED: D3D11_MESSAGE_ID =
3518    D3D11_MESSAGE_ID(3145973i32);
3519pub const D3D11_MESSAGE_ID_DEFERRED_CONTEXT_REMOVAL_PROCESS_AT_FAULT: D3D11_MESSAGE_ID =
3520    D3D11_MESSAGE_ID(2097206i32);
3521pub const D3D11_MESSAGE_ID_DESTROY_AUTHENTICATEDCHANNEL: D3D11_MESSAGE_ID =
3522    D3D11_MESSAGE_ID(3146152i32);
3523pub const D3D11_MESSAGE_ID_DESTROY_BLENDSTATE: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(2097272i32);
3524pub const D3D11_MESSAGE_ID_DESTROY_BUFFER: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(2097230i32);
3525pub const D3D11_MESSAGE_ID_DESTROY_CLASSINSTANCE: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(2097292i32);
3526pub const D3D11_MESSAGE_ID_DESTROY_CLASSLINKAGE: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(2097295i32);
3527pub const D3D11_MESSAGE_ID_DESTROY_COMMANDLIST: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(2097289i32);
3528pub const D3D11_MESSAGE_ID_DESTROY_COMPUTESHADER: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(2097300i32);
3529pub const D3D11_MESSAGE_ID_DESTROY_CONTEXT: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(2097227i32);
3530pub const D3D11_MESSAGE_ID_DESTROY_COUNTER: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(2097286i32);
3531pub const D3D11_MESSAGE_ID_DESTROY_CRYPTOSESSION: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(3146151i32);
3532pub const D3D11_MESSAGE_ID_DESTROY_DECODEROUTPUTVIEW: D3D11_MESSAGE_ID =
3533    D3D11_MESSAGE_ID(3145746i32);
3534pub const D3D11_MESSAGE_ID_DESTROY_DEPTHSTENCILSTATE: D3D11_MESSAGE_ID =
3535    D3D11_MESSAGE_ID(2097275i32);
3536pub const D3D11_MESSAGE_ID_DESTROY_DEPTHSTENCILVIEW: D3D11_MESSAGE_ID =
3537    D3D11_MESSAGE_ID(2097248i32);
3538pub const D3D11_MESSAGE_ID_DESTROY_DEVICECONTEXTSTATE: D3D11_MESSAGE_ID =
3539    D3D11_MESSAGE_ID(3145749i32);
3540pub const D3D11_MESSAGE_ID_DESTROY_DOMAINSHADER: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(2097257i32);
3541pub const D3D11_MESSAGE_ID_DESTROY_FENCE: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(3146252i32);
3542pub const D3D11_MESSAGE_ID_DESTROY_GEOMETRYSHADER: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(2097260i32);
3543pub const D3D11_MESSAGE_ID_DESTROY_HULLSHADER: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(2097254i32);
3544pub const D3D11_MESSAGE_ID_DESTROY_INPUTLAYOUT: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(2097266i32);
3545pub const D3D11_MESSAGE_ID_DESTROY_PIXELSHADER: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(2097263i32);
3546pub const D3D11_MESSAGE_ID_DESTROY_PREDICATE: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(2097284i32);
3547pub const D3D11_MESSAGE_ID_DESTROY_PROCESSORINPUTVIEW: D3D11_MESSAGE_ID =
3548    D3D11_MESSAGE_ID(3145747i32);
3549pub const D3D11_MESSAGE_ID_DESTROY_PROCESSOROUTPUTVIEW: D3D11_MESSAGE_ID =
3550    D3D11_MESSAGE_ID(3145748i32);
3551pub const D3D11_MESSAGE_ID_DESTROY_QUERY: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(2097281i32);
3552pub const D3D11_MESSAGE_ID_DESTROY_RASTERIZERSTATE: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(2097278i32);
3553pub const D3D11_MESSAGE_ID_DESTROY_RENDERTARGETVIEW: D3D11_MESSAGE_ID =
3554    D3D11_MESSAGE_ID(2097245i32);
3555pub const D3D11_MESSAGE_ID_DESTROY_SAMPLER: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(2097269i32);
3556pub const D3D11_MESSAGE_ID_DESTROY_SHADERRESOURCEVIEW: D3D11_MESSAGE_ID =
3557    D3D11_MESSAGE_ID(2097242i32);
3558pub const D3D11_MESSAGE_ID_DESTROY_SYNCHRONIZEDCHANNEL: D3D11_MESSAGE_ID =
3559    D3D11_MESSAGE_ID(3146255i32);
3560pub const D3D11_MESSAGE_ID_DESTROY_TEXTURE1D: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(2097233i32);
3561pub const D3D11_MESSAGE_ID_DESTROY_TEXTURE2D: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(2097236i32);
3562pub const D3D11_MESSAGE_ID_DESTROY_TEXTURE3D: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(2097239i32);
3563pub const D3D11_MESSAGE_ID_DESTROY_TRACKEDWORKLOAD: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(3146269i32);
3564pub const D3D11_MESSAGE_ID_DESTROY_UNORDEREDACCESSVIEW: D3D11_MESSAGE_ID =
3565    D3D11_MESSAGE_ID(2097303i32);
3566pub const D3D11_MESSAGE_ID_DESTROY_VERTEXSHADER: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(2097251i32);
3567pub const D3D11_MESSAGE_ID_DESTROY_VIDEODECODER: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(3145743i32);
3568pub const D3D11_MESSAGE_ID_DESTROY_VIDEOPROCESSOR: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(3145745i32);
3569pub const D3D11_MESSAGE_ID_DESTROY_VIDEOPROCESSORENUM: D3D11_MESSAGE_ID =
3570    D3D11_MESSAGE_ID(3145744i32);
3571pub const D3D11_MESSAGE_ID_DEVICE_CHECKFEATURESUPPORT_INVALIDARG_RETURN: D3D11_MESSAGE_ID =
3572    D3D11_MESSAGE_ID(2097315i32);
3573pub const D3D11_MESSAGE_ID_DEVICE_CHECKFEATURESUPPORT_MISMATCHED_DATA_SIZE: D3D11_MESSAGE_ID =
3574    D3D11_MESSAGE_ID(2097314i32);
3575pub const D3D11_MESSAGE_ID_DEVICE_CHECKFEATURESUPPORT_UNRECOGNIZED_FEATURE: D3D11_MESSAGE_ID =
3576    D3D11_MESSAGE_ID(2097313i32);
3577pub const D3D11_MESSAGE_ID_DEVICE_CLEARVIEW_EMPTYRECT: D3D11_MESSAGE_ID =
3578    D3D11_MESSAGE_ID(3146076i32);
3579pub const D3D11_MESSAGE_ID_DEVICE_CLEARVIEW_INVALIDRECT: D3D11_MESSAGE_ID =
3580    D3D11_MESSAGE_ID(3146066i32);
3581pub const D3D11_MESSAGE_ID_DEVICE_CLEARVIEW_INVALIDSOURCERECT: D3D11_MESSAGE_ID =
3582    D3D11_MESSAGE_ID(3146075i32);
3583pub const D3D11_MESSAGE_ID_DEVICE_CLEARVIEW_INVALIDVIEW: D3D11_MESSAGE_ID =
3584    D3D11_MESSAGE_ID(3146035i32);
3585pub const D3D11_MESSAGE_ID_DEVICE_CLEARVIEW_NOTSUPPORTED: D3D11_MESSAGE_ID =
3586    D3D11_MESSAGE_ID(3146062i32);
3587pub const D3D11_MESSAGE_ID_DEVICE_CREATECOMPUTESHADER_DOUBLEEXTENSIONSNOTSUPPORTED:
3588    D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(3146048i32);
3589pub const D3D11_MESSAGE_ID_DEVICE_CREATECOMPUTESHADER_DOUBLEFLOATOPSNOTSUPPORTED: D3D11_MESSAGE_ID =
3590    D3D11_MESSAGE_ID(2097338i32);
3591pub const D3D11_MESSAGE_ID_DEVICE_CREATECOMPUTESHADER_SHADEREXTENSIONSNOTSUPPORTED:
3592    D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(3146049i32);
3593pub const D3D11_MESSAGE_ID_DEVICE_CREATECOMPUTESHADER_UAVSNOTSUPPORTED: D3D11_MESSAGE_ID =
3594    D3D11_MESSAGE_ID(3146059i32);
3595pub const D3D11_MESSAGE_ID_DEVICE_CREATEDOMAINSHADER_DOUBLEEXTENSIONSNOTSUPPORTED:
3596    D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(3146040i32);
3597pub const D3D11_MESSAGE_ID_DEVICE_CREATEDOMAINSHADER_DOUBLEFLOATOPSNOTSUPPORTED: D3D11_MESSAGE_ID =
3598    D3D11_MESSAGE_ID(2097334i32);
3599pub const D3D11_MESSAGE_ID_DEVICE_CREATEDOMAINSHADER_SHADEREXTENSIONSNOTSUPPORTED:
3600    D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(3146041i32);
3601pub const D3D11_MESSAGE_ID_DEVICE_CREATEDOMAINSHADER_UAVSNOTSUPPORTED: D3D11_MESSAGE_ID =
3602    D3D11_MESSAGE_ID(3146055i32);
3603pub const D3D11_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_DOUBLEEXTENSIONSNOTSUPPORTED: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(3146044i32);
3604pub const D3D11_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_DOUBLEFLOATOPSNOTSUPPORTED: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(2097336i32);
3605pub const D3D11_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_SHADEREXTENSIONSNOTSUPPORTED: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(3146045i32);
3606pub const D3D11_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_UAVSNOTSUPPORTED:
3607    D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(3146057i32);
3608pub const D3D11_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADER_DOUBLEEXTENSIONSNOTSUPPORTED:
3609    D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(3146042i32);
3610pub const D3D11_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADER_DOUBLEFLOATOPSNOTSUPPORTED:
3611    D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(2097335i32);
3612pub const D3D11_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADER_SHADEREXTENSIONSNOTSUPPORTED:
3613    D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(3146043i32);
3614pub const D3D11_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADER_UAVSNOTSUPPORTED: D3D11_MESSAGE_ID =
3615    D3D11_MESSAGE_ID(3146056i32);
3616pub const D3D11_MESSAGE_ID_DEVICE_CREATEHULLSHADER_DOUBLEEXTENSIONSNOTSUPPORTED: D3D11_MESSAGE_ID =
3617    D3D11_MESSAGE_ID(3146038i32);
3618pub const D3D11_MESSAGE_ID_DEVICE_CREATEHULLSHADER_DOUBLEFLOATOPSNOTSUPPORTED: D3D11_MESSAGE_ID =
3619    D3D11_MESSAGE_ID(2097333i32);
3620pub const D3D11_MESSAGE_ID_DEVICE_CREATEHULLSHADER_SHADEREXTENSIONSNOTSUPPORTED: D3D11_MESSAGE_ID =
3621    D3D11_MESSAGE_ID(3146039i32);
3622pub const D3D11_MESSAGE_ID_DEVICE_CREATEHULLSHADER_UAVSNOTSUPPORTED: D3D11_MESSAGE_ID =
3623    D3D11_MESSAGE_ID(3146054i32);
3624pub const D3D11_MESSAGE_ID_DEVICE_CREATEPIXELSHADER_DOUBLEEXTENSIONSNOTSUPPORTED: D3D11_MESSAGE_ID =
3625    D3D11_MESSAGE_ID(3146046i32);
3626pub const D3D11_MESSAGE_ID_DEVICE_CREATEPIXELSHADER_DOUBLEFLOATOPSNOTSUPPORTED: D3D11_MESSAGE_ID =
3627    D3D11_MESSAGE_ID(2097337i32);
3628pub const D3D11_MESSAGE_ID_DEVICE_CREATEPIXELSHADER_SHADEREXTENSIONSNOTSUPPORTED: D3D11_MESSAGE_ID =
3629    D3D11_MESSAGE_ID(3146047i32);
3630pub const D3D11_MESSAGE_ID_DEVICE_CREATEPIXELSHADER_UAVSNOTSUPPORTED: D3D11_MESSAGE_ID =
3631    D3D11_MESSAGE_ID(3146058i32);
3632pub const D3D11_MESSAGE_ID_DEVICE_CREATESHADER_CLASSLINKAGE_FULL: D3D11_MESSAGE_ID =
3633    D3D11_MESSAGE_ID(2097312i32);
3634pub const D3D11_MESSAGE_ID_DEVICE_CREATEVERTEXSHADER_DOUBLEEXTENSIONSNOTSUPPORTED:
3635    D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(3146036i32);
3636pub const D3D11_MESSAGE_ID_DEVICE_CREATEVERTEXSHADER_DOUBLEFLOATOPSNOTSUPPORTED: D3D11_MESSAGE_ID =
3637    D3D11_MESSAGE_ID(2097332i32);
3638pub const D3D11_MESSAGE_ID_DEVICE_CREATEVERTEXSHADER_SHADEREXTENSIONSNOTSUPPORTED:
3639    D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(3146037i32);
3640pub const D3D11_MESSAGE_ID_DEVICE_CREATEVERTEXSHADER_UAVSNOTSUPPORTED: D3D11_MESSAGE_ID =
3641    D3D11_MESSAGE_ID(3146053i32);
3642pub const D3D11_MESSAGE_ID_DEVICE_CSGETCONSTANTBUFFERS_BUFFERS_EMPTY: D3D11_MESSAGE_ID =
3643    D3D11_MESSAGE_ID(2097330i32);
3644pub const D3D11_MESSAGE_ID_DEVICE_CSGETSAMPLERS_SAMPLERS_EMPTY: D3D11_MESSAGE_ID =
3645    D3D11_MESSAGE_ID(2097331i32);
3646pub const D3D11_MESSAGE_ID_DEVICE_CSGETSHADERRESOURCES_VIEWS_EMPTY: D3D11_MESSAGE_ID =
3647    D3D11_MESSAGE_ID(2097329i32);
3648pub const D3D11_MESSAGE_ID_DEVICE_CSGETUNORDEREDACCESSS_VIEWS_EMPTY: D3D11_MESSAGE_ID =
3649    D3D11_MESSAGE_ID(2097357i32);
3650pub const D3D11_MESSAGE_ID_DEVICE_CSSETCONSTANTBUFFERS_BUFFERS_EMPTY: D3D11_MESSAGE_ID =
3651    D3D11_MESSAGE_ID(2097327i32);
3652pub const D3D11_MESSAGE_ID_DEVICE_CSSETCONSTANTBUFFERS_HAZARD: D3D11_MESSAGE_ID =
3653    D3D11_MESSAGE_ID(2097317i32);
3654pub const D3D11_MESSAGE_ID_DEVICE_CSSETSAMPLERS_SAMPLERS_EMPTY: D3D11_MESSAGE_ID =
3655    D3D11_MESSAGE_ID(2097328i32);
3656pub const D3D11_MESSAGE_ID_DEVICE_CSSETSHADERRESOURCES_HAZARD: D3D11_MESSAGE_ID =
3657    D3D11_MESSAGE_ID(2097316i32);
3658pub const D3D11_MESSAGE_ID_DEVICE_CSSETSHADERRESOURCES_VIEWS_EMPTY: D3D11_MESSAGE_ID =
3659    D3D11_MESSAGE_ID(2097325i32);
3660pub const D3D11_MESSAGE_ID_DEVICE_CSSETUNORDEREDACCESSS_VIEWS_EMPTY: D3D11_MESSAGE_ID =
3661    D3D11_MESSAGE_ID(2097356i32);
3662pub const D3D11_MESSAGE_ID_DEVICE_CSSETUNORDEREDACCESSVIEWS_HAZARD: D3D11_MESSAGE_ID =
3663    D3D11_MESSAGE_ID(2097354i32);
3664pub const D3D11_MESSAGE_ID_DEVICE_CSSETUNORDEREDACCESSVIEWS_INVALIDOFFSET: D3D11_MESSAGE_ID =
3665    D3D11_MESSAGE_ID(2097403i32);
3666pub const D3D11_MESSAGE_ID_DEVICE_CSSETUNORDEREDACCESSVIEWS_INVALIDVIEW: D3D11_MESSAGE_ID =
3667    D3D11_MESSAGE_ID(2097402i32);
3668pub const D3D11_MESSAGE_ID_DEVICE_CSSETUNORDEREDACCESSVIEWS_TOOMANYVIEWS: D3D11_MESSAGE_ID =
3669    D3D11_MESSAGE_ID(2097404i32);
3670pub const D3D11_MESSAGE_ID_DEVICE_DISCARDVIEW_INVALIDVIEW: D3D11_MESSAGE_ID =
3671    D3D11_MESSAGE_ID(3145754i32);
3672pub const D3D11_MESSAGE_ID_DEVICE_DISPATCHINDIRECT_INVALID_ARG_BUFFER: D3D11_MESSAGE_ID =
3673    D3D11_MESSAGE_ID(2097360i32);
3674pub const D3D11_MESSAGE_ID_DEVICE_DISPATCHINDIRECT_OFFSET_OVERFLOW: D3D11_MESSAGE_ID =
3675    D3D11_MESSAGE_ID(2097362i32);
3676pub const D3D11_MESSAGE_ID_DEVICE_DISPATCHINDIRECT_OFFSET_UNALIGNED: D3D11_MESSAGE_ID =
3677    D3D11_MESSAGE_ID(2097361i32);
3678pub const D3D11_MESSAGE_ID_DEVICE_DISPATCHINDIRECT_UNSUPPORTED: D3D11_MESSAGE_ID =
3679    D3D11_MESSAGE_ID(2097396i32);
3680pub const D3D11_MESSAGE_ID_DEVICE_DISPATCH_BOUND_RESOURCE_MAPPED: D3D11_MESSAGE_ID =
3681    D3D11_MESSAGE_ID(2097389i32);
3682pub const D3D11_MESSAGE_ID_DEVICE_DISPATCH_THREADGROUPCOUNT_OVERFLOW: D3D11_MESSAGE_ID =
3683    D3D11_MESSAGE_ID(2097390i32);
3684pub const D3D11_MESSAGE_ID_DEVICE_DISPATCH_THREADGROUPCOUNT_ZERO: D3D11_MESSAGE_ID =
3685    D3D11_MESSAGE_ID(2097391i32);
3686pub const D3D11_MESSAGE_ID_DEVICE_DISPATCH_UNSUPPORTED: D3D11_MESSAGE_ID =
3687    D3D11_MESSAGE_ID(2097395i32);
3688pub const D3D11_MESSAGE_ID_DEVICE_DRAWINDEXEDINSTANCED_INDEXPOS_OVERFLOW: D3D11_MESSAGE_ID =
3689    D3D11_MESSAGE_ID(340i32);
3690pub const D3D11_MESSAGE_ID_DEVICE_DRAWINDEXEDINSTANCED_INSTANCEPOS_OVERFLOW: D3D11_MESSAGE_ID =
3691    D3D11_MESSAGE_ID(339i32);
3692pub const D3D11_MESSAGE_ID_DEVICE_DRAWINDEXED_INDEXPOS_OVERFLOW: D3D11_MESSAGE_ID =
3693    D3D11_MESSAGE_ID(336i32);
3694pub const D3D11_MESSAGE_ID_DEVICE_DRAWINDIRECT_INVALID_ARG_BUFFER: D3D11_MESSAGE_ID =
3695    D3D11_MESSAGE_ID(2097207i32);
3696pub const D3D11_MESSAGE_ID_DEVICE_DRAWINDIRECT_OFFSET_OVERFLOW: D3D11_MESSAGE_ID =
3697    D3D11_MESSAGE_ID(2097209i32);
3698pub const D3D11_MESSAGE_ID_DEVICE_DRAWINDIRECT_OFFSET_UNALIGNED: D3D11_MESSAGE_ID =
3699    D3D11_MESSAGE_ID(2097208i32);
3700pub const D3D11_MESSAGE_ID_DEVICE_DRAWINSTANCED_INSTANCEPOS_OVERFLOW: D3D11_MESSAGE_ID =
3701    D3D11_MESSAGE_ID(338i32);
3702pub const D3D11_MESSAGE_ID_DEVICE_DRAWINSTANCED_VERTEXPOS_OVERFLOW: D3D11_MESSAGE_ID =
3703    D3D11_MESSAGE_ID(337i32);
3704pub const D3D11_MESSAGE_ID_DEVICE_DRAW_BOUND_RESOURCE_MAPPED: D3D11_MESSAGE_ID =
3705    D3D11_MESSAGE_ID(364i32);
3706pub const D3D11_MESSAGE_ID_DEVICE_DRAW_CONSTANT_BUFFER_NOT_SET: D3D11_MESSAGE_ID =
3707    D3D11_MESSAGE_ID(350i32);
3708pub const D3D11_MESSAGE_ID_DEVICE_DRAW_CONSTANT_BUFFER_TOO_SMALL: D3D11_MESSAGE_ID =
3709    D3D11_MESSAGE_ID(351i32);
3710pub const D3D11_MESSAGE_ID_DEVICE_DRAW_DEPTHSTENCILVIEW_NOT_SET: D3D11_MESSAGE_ID =
3711    D3D11_MESSAGE_ID(3146080i32);
3712pub const D3D11_MESSAGE_ID_DEVICE_DRAW_GS_INPUT_PRIMITIVE_MISMATCH: D3D11_MESSAGE_ID =
3713    D3D11_MESSAGE_ID(360i32);
3714pub const D3D11_MESSAGE_ID_DEVICE_DRAW_HS_DS_CONTROL_POINT_COUNT_MISMATCH: D3D11_MESSAGE_ID =
3715    D3D11_MESSAGE_ID(2097223i32);
3716pub const D3D11_MESSAGE_ID_DEVICE_DRAW_HS_DS_SIGNATURE_MISMATCH: D3D11_MESSAGE_ID =
3717    D3D11_MESSAGE_ID(2097221i32);
3718pub const D3D11_MESSAGE_ID_DEVICE_DRAW_HS_DS_TESSELLATOR_DOMAIN_MISMATCH: D3D11_MESSAGE_ID =
3719    D3D11_MESSAGE_ID(2097224i32);
3720pub const D3D11_MESSAGE_ID_DEVICE_DRAW_HS_XOR_DS_MISMATCH: D3D11_MESSAGE_ID =
3721    D3D11_MESSAGE_ID(2097205i32);
3722pub const D3D11_MESSAGE_ID_DEVICE_DRAW_HULL_SHADER_INPUT_TOPOLOGY_MISMATCH: D3D11_MESSAGE_ID =
3723    D3D11_MESSAGE_ID(2097222i32);
3724pub const D3D11_MESSAGE_ID_DEVICE_DRAW_INDEX_BUFFER_FORMAT_INVALID: D3D11_MESSAGE_ID =
3725    D3D11_MESSAGE_ID(358i32);
3726pub const D3D11_MESSAGE_ID_DEVICE_DRAW_INDEX_BUFFER_NOT_SET: D3D11_MESSAGE_ID =
3727    D3D11_MESSAGE_ID(357i32);
3728pub const D3D11_MESSAGE_ID_DEVICE_DRAW_INDEX_BUFFER_TOO_SMALL: D3D11_MESSAGE_ID =
3729    D3D11_MESSAGE_ID(359i32);
3730pub const D3D11_MESSAGE_ID_DEVICE_DRAW_INDEX_OFFSET_UNALIGNED: D3D11_MESSAGE_ID =
3731    D3D11_MESSAGE_ID(368i32);
3732pub const D3D11_MESSAGE_ID_DEVICE_DRAW_INPUTLAYOUT_NOT_SET: D3D11_MESSAGE_ID =
3733    D3D11_MESSAGE_ID(349i32);
3734pub const D3D11_MESSAGE_ID_DEVICE_DRAW_INVALID_PRIMITIVETOPOLOGY: D3D11_MESSAGE_ID =
3735    D3D11_MESSAGE_ID(365i32);
3736pub const D3D11_MESSAGE_ID_DEVICE_DRAW_INVALID_SYSTEMVALUE: D3D11_MESSAGE_ID =
3737    D3D11_MESSAGE_ID(3146156i32);
3738pub const D3D11_MESSAGE_ID_DEVICE_DRAW_INVALID_USE_OF_CENTER_MULTISAMPLE_PATTERN: D3D11_MESSAGE_ID =
3739    D3D11_MESSAGE_ID(417i32);
3740pub const D3D11_MESSAGE_ID_DEVICE_DRAW_INVALID_USE_OF_FORCED_SAMPLE_COUNT: D3D11_MESSAGE_ID =
3741    D3D11_MESSAGE_ID(3145940i32);
3742pub const D3D11_MESSAGE_ID_DEVICE_DRAW_OM_DUAL_SOURCE_BLENDING_CAN_ONLY_HAVE_RENDER_TARGET_0:
3743    D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(377i32);
3744pub const D3D11_MESSAGE_ID_DEVICE_DRAW_OM_RENDER_TARGET_DOES_NOT_SUPPORT_BLENDING:
3745    D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(376i32);
3746pub const D3D11_MESSAGE_ID_DEVICE_DRAW_OM_RENDER_TARGET_DOES_NOT_SUPPORT_LOGIC_OPS:
3747    D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(3146079i32);
3748pub const D3D11_MESSAGE_ID_DEVICE_DRAW_OUTPUT_STREAM_NOT_SET: D3D11_MESSAGE_ID =
3749    D3D11_MESSAGE_ID(363i32);
3750pub const D3D11_MESSAGE_ID_DEVICE_DRAW_OUTPUT_STREAM_OFFSET_UNALIGNED: D3D11_MESSAGE_ID =
3751    D3D11_MESSAGE_ID(369i32);
3752pub const D3D11_MESSAGE_ID_DEVICE_DRAW_PIXEL_SHADER_WITHOUT_RTV_OR_DSV: D3D11_MESSAGE_ID =
3753    D3D11_MESSAGE_ID(2097408i32);
3754pub const D3D11_MESSAGE_ID_DEVICE_DRAW_POSITION_NOT_PRESENT: D3D11_MESSAGE_ID =
3755    D3D11_MESSAGE_ID(362i32);
3756pub const D3D11_MESSAGE_ID_DEVICE_DRAW_PS_OUTPUT_TYPE_MISMATCH: D3D11_MESSAGE_ID =
3757    D3D11_MESSAGE_ID(415i32);
3758pub const D3D11_MESSAGE_ID_DEVICE_DRAW_RASTERIZING_CONTROL_POINTS: D3D11_MESSAGE_ID =
3759    D3D11_MESSAGE_ID(2097219i32);
3760pub const D3D11_MESSAGE_ID_DEVICE_DRAW_RENDERTARGETVIEW_NOT_SET: D3D11_MESSAGE_ID =
3761    D3D11_MESSAGE_ID(3146081i32);
3762pub const D3D11_MESSAGE_ID_DEVICE_DRAW_RENDERTARGETVIEW_NOT_SET_DUE_TO_FLIP_PRESENT:
3763    D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(3146082i32);
3764pub const D3D11_MESSAGE_ID_DEVICE_DRAW_RESOURCE_FORMAT_GATHER_UNSUPPORTED: D3D11_MESSAGE_ID =
3765    D3D11_MESSAGE_ID(416i32);
3766pub const D3D11_MESSAGE_ID_DEVICE_DRAW_RESOURCE_FORMAT_LD_UNSUPPORTED: D3D11_MESSAGE_ID =
3767    D3D11_MESSAGE_ID(370i32);
3768pub const D3D11_MESSAGE_ID_DEVICE_DRAW_RESOURCE_FORMAT_SAMPLE_C_UNSUPPORTED: D3D11_MESSAGE_ID =
3769    D3D11_MESSAGE_ID(372i32);
3770pub const D3D11_MESSAGE_ID_DEVICE_DRAW_RESOURCE_FORMAT_SAMPLE_UNSUPPORTED: D3D11_MESSAGE_ID =
3771    D3D11_MESSAGE_ID(371i32);
3772pub const D3D11_MESSAGE_ID_DEVICE_DRAW_RESOURCE_MULTISAMPLE_UNSUPPORTED: D3D11_MESSAGE_ID =
3773    D3D11_MESSAGE_ID(373i32);
3774pub const D3D11_MESSAGE_ID_DEVICE_DRAW_RESOURCE_RETURN_TYPE_MISMATCH: D3D11_MESSAGE_ID =
3775    D3D11_MESSAGE_ID(361i32);
3776pub const D3D11_MESSAGE_ID_DEVICE_DRAW_RESOURCE_SAMPLE_COUNT_MISMATCH: D3D11_MESSAGE_ID =
3777    D3D11_MESSAGE_ID(421i32);
3778pub const D3D11_MESSAGE_ID_DEVICE_DRAW_SAMPLER_MISMATCH: D3D11_MESSAGE_ID =
3779    D3D11_MESSAGE_ID(390i32);
3780pub const D3D11_MESSAGE_ID_DEVICE_DRAW_SAMPLER_NOT_SET: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(352i32);
3781pub const D3D11_MESSAGE_ID_DEVICE_DRAW_SAMPLE_MASK_IGNORED_ON_FL9: D3D11_MESSAGE_ID =
3782    D3D11_MESSAGE_ID(3146067i32);
3783pub const D3D11_MESSAGE_ID_DEVICE_DRAW_SHADERRESOURCEVIEW_NOT_SET: D3D11_MESSAGE_ID =
3784    D3D11_MESSAGE_ID(353i32);
3785pub const D3D11_MESSAGE_ID_DEVICE_DRAW_SO_STRIDE_LARGER_THAN_BUFFER: D3D11_MESSAGE_ID =
3786    D3D11_MESSAGE_ID(375i32);
3787pub const D3D11_MESSAGE_ID_DEVICE_DRAW_SO_TARGETS_BOUND_WITHOUT_SOURCE: D3D11_MESSAGE_ID =
3788    D3D11_MESSAGE_ID(374i32);
3789pub const D3D11_MESSAGE_ID_DEVICE_DRAW_UNORDEREDACCESSVIEW_RENDERTARGETVIEW_OVERLAP:
3790    D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(2097374i32);
3791pub const D3D11_MESSAGE_ID_DEVICE_DRAW_VERTEXPOS_OVERFLOW: D3D11_MESSAGE_ID =
3792    D3D11_MESSAGE_ID(335i32);
3793pub const D3D11_MESSAGE_ID_DEVICE_DRAW_VERTEX_BUFFER_NOT_SET: D3D11_MESSAGE_ID =
3794    D3D11_MESSAGE_ID(348i32);
3795pub const D3D11_MESSAGE_ID_DEVICE_DRAW_VERTEX_BUFFER_STRIDE_TOO_SMALL: D3D11_MESSAGE_ID =
3796    D3D11_MESSAGE_ID(355i32);
3797pub const D3D11_MESSAGE_ID_DEVICE_DRAW_VERTEX_BUFFER_TOO_SMALL: D3D11_MESSAGE_ID =
3798    D3D11_MESSAGE_ID(356i32);
3799pub const D3D11_MESSAGE_ID_DEVICE_DRAW_VERTEX_OFFSET_UNALIGNED: D3D11_MESSAGE_ID =
3800    D3D11_MESSAGE_ID(366i32);
3801pub const D3D11_MESSAGE_ID_DEVICE_DRAW_VERTEX_SHADER_NOT_SET: D3D11_MESSAGE_ID =
3802    D3D11_MESSAGE_ID(341i32);
3803pub const D3D11_MESSAGE_ID_DEVICE_DRAW_VERTEX_STRIDE_UNALIGNED: D3D11_MESSAGE_ID =
3804    D3D11_MESSAGE_ID(367i32);
3805pub const D3D11_MESSAGE_ID_DEVICE_DRAW_VIEWPORT_NOT_SET: D3D11_MESSAGE_ID =
3806    D3D11_MESSAGE_ID(384i32);
3807pub const D3D11_MESSAGE_ID_DEVICE_DRAW_VIEW_DIMENSION_MISMATCH: D3D11_MESSAGE_ID =
3808    D3D11_MESSAGE_ID(354i32);
3809pub const D3D11_MESSAGE_ID_DEVICE_DSGETCONSTANTBUFFERS_BUFFERS_EMPTY: D3D11_MESSAGE_ID =
3810    D3D11_MESSAGE_ID(2097203i32);
3811pub const D3D11_MESSAGE_ID_DEVICE_DSGETSAMPLERS_SAMPLERS_EMPTY: D3D11_MESSAGE_ID =
3812    D3D11_MESSAGE_ID(2097204i32);
3813pub const D3D11_MESSAGE_ID_DEVICE_DSGETSHADERRESOURCES_VIEWS_EMPTY: D3D11_MESSAGE_ID =
3814    D3D11_MESSAGE_ID(2097202i32);
3815pub const D3D11_MESSAGE_ID_DEVICE_DSSETCONSTANTBUFFERS_BUFFERS_EMPTY: D3D11_MESSAGE_ID =
3816    D3D11_MESSAGE_ID(2097200i32);
3817pub const D3D11_MESSAGE_ID_DEVICE_DSSETCONSTANTBUFFERS_HAZARD: D3D11_MESSAGE_ID =
3818    D3D11_MESSAGE_ID(2097190i32);
3819pub const D3D11_MESSAGE_ID_DEVICE_DSSETSAMPLERS_SAMPLERS_EMPTY: D3D11_MESSAGE_ID =
3820    D3D11_MESSAGE_ID(2097201i32);
3821pub const D3D11_MESSAGE_ID_DEVICE_DSSETSHADERRESOURCES_HAZARD: D3D11_MESSAGE_ID =
3822    D3D11_MESSAGE_ID(2097189i32);
3823pub const D3D11_MESSAGE_ID_DEVICE_DSSETSHADERRESOURCES_VIEWS_EMPTY: D3D11_MESSAGE_ID =
3824    D3D11_MESSAGE_ID(2097198i32);
3825pub const D3D11_MESSAGE_ID_DEVICE_GENERATEMIPS_RESOURCE_INVALID: D3D11_MESSAGE_ID =
3826    D3D11_MESSAGE_ID(277i32);
3827pub const D3D11_MESSAGE_ID_DEVICE_GETRESOURCEMINLOD_INVALIDCONTEXT: D3D11_MESSAGE_ID =
3828    D3D11_MESSAGE_ID(2097366i32);
3829pub const D3D11_MESSAGE_ID_DEVICE_GETRESOURCEMINLOD_INVALIDRESOURCE: D3D11_MESSAGE_ID =
3830    D3D11_MESSAGE_ID(2097367i32);
3831pub const D3D11_MESSAGE_ID_DEVICE_GSGETCONSTANTBUFFERS_BUFFERS_EMPTY: D3D11_MESSAGE_ID =
3832    D3D11_MESSAGE_ID(269i32);
3833pub const D3D11_MESSAGE_ID_DEVICE_GSGETSAMPLERS_SAMPLERS_EMPTY: D3D11_MESSAGE_ID =
3834    D3D11_MESSAGE_ID(270i32);
3835pub const D3D11_MESSAGE_ID_DEVICE_GSGETSHADERRESOURCES_VIEWS_EMPTY: D3D11_MESSAGE_ID =
3836    D3D11_MESSAGE_ID(268i32);
3837pub const D3D11_MESSAGE_ID_DEVICE_GSSETCONSTANTBUFFERS_BUFFERS_EMPTY: D3D11_MESSAGE_ID =
3838    D3D11_MESSAGE_ID(251i32);
3839pub const D3D11_MESSAGE_ID_DEVICE_GSSETCONSTANTBUFFERS_HAZARD: D3D11_MESSAGE_ID =
3840    D3D11_MESSAGE_ID(6i32);
3841pub const D3D11_MESSAGE_ID_DEVICE_GSSETSAMPLERS_SAMPLERS_EMPTY: D3D11_MESSAGE_ID =
3842    D3D11_MESSAGE_ID(252i32);
3843pub const D3D11_MESSAGE_ID_DEVICE_GSSETSHADERRESOURCES_HAZARD: D3D11_MESSAGE_ID =
3844    D3D11_MESSAGE_ID(5i32);
3845pub const D3D11_MESSAGE_ID_DEVICE_GSSETSHADERRESOURCES_VIEWS_EMPTY: D3D11_MESSAGE_ID =
3846    D3D11_MESSAGE_ID(249i32);
3847pub const D3D11_MESSAGE_ID_DEVICE_HSGETCONSTANTBUFFERS_BUFFERS_EMPTY: D3D11_MESSAGE_ID =
3848    D3D11_MESSAGE_ID(2097187i32);
3849pub const D3D11_MESSAGE_ID_DEVICE_HSGETSAMPLERS_SAMPLERS_EMPTY: D3D11_MESSAGE_ID =
3850    D3D11_MESSAGE_ID(2097188i32);
3851pub const D3D11_MESSAGE_ID_DEVICE_HSGETSHADERRESOURCES_VIEWS_EMPTY: D3D11_MESSAGE_ID =
3852    D3D11_MESSAGE_ID(2097186i32);
3853pub const D3D11_MESSAGE_ID_DEVICE_HSSETCONSTANTBUFFERS_BUFFERS_EMPTY: D3D11_MESSAGE_ID =
3854    D3D11_MESSAGE_ID(2097184i32);
3855pub const D3D11_MESSAGE_ID_DEVICE_HSSETCONSTANTBUFFERS_HAZARD: D3D11_MESSAGE_ID =
3856    D3D11_MESSAGE_ID(2097174i32);
3857pub const D3D11_MESSAGE_ID_DEVICE_HSSETSAMPLERS_SAMPLERS_EMPTY: D3D11_MESSAGE_ID =
3858    D3D11_MESSAGE_ID(2097185i32);
3859pub const D3D11_MESSAGE_ID_DEVICE_HSSETSHADERRESOURCES_HAZARD: D3D11_MESSAGE_ID =
3860    D3D11_MESSAGE_ID(2097173i32);
3861pub const D3D11_MESSAGE_ID_DEVICE_HSSETSHADERRESOURCES_VIEWS_EMPTY: D3D11_MESSAGE_ID =
3862    D3D11_MESSAGE_ID(2097182i32);
3863pub const D3D11_MESSAGE_ID_DEVICE_IAGETVERTEXBUFFERS_BUFFERS_EMPTY: D3D11_MESSAGE_ID =
3864    D3D11_MESSAGE_ID(264i32);
3865pub const D3D11_MESSAGE_ID_DEVICE_IASETINDEXBUFFER_FORMAT_INVALID: D3D11_MESSAGE_ID =
3866    D3D11_MESSAGE_ID(242i32);
3867pub const D3D11_MESSAGE_ID_DEVICE_IASETINDEXBUFFER_HAZARD: D3D11_MESSAGE_ID =
3868    D3D11_MESSAGE_ID(2i32);
3869pub const D3D11_MESSAGE_ID_DEVICE_IASETINDEXBUFFER_OFFSET_TOO_LARGE: D3D11_MESSAGE_ID =
3870    D3D11_MESSAGE_ID(243i32);
3871pub const D3D11_MESSAGE_ID_DEVICE_IASETINDEXBUFFER_OFFSET_UNALIGNED: D3D11_MESSAGE_ID =
3872    D3D11_MESSAGE_ID(244i32);
3873pub const D3D11_MESSAGE_ID_DEVICE_IASETPRIMITIVETOPOLOGY_ADJACENCY_UNSUPPORTED: D3D11_MESSAGE_ID =
3874    D3D11_MESSAGE_ID(1048594i32);
3875pub const D3D11_MESSAGE_ID_DEVICE_IASETPRIMITIVETOPOLOGY_TOPOLOGY_UNDEFINED: D3D11_MESSAGE_ID =
3876    D3D11_MESSAGE_ID(237i32);
3877pub const D3D11_MESSAGE_ID_DEVICE_IASETPRIMITIVETOPOLOGY_TOPOLOGY_UNRECOGNIZED: D3D11_MESSAGE_ID =
3878    D3D11_MESSAGE_ID(236i32);
3879pub const D3D11_MESSAGE_ID_DEVICE_IASETPRIMITIVETOPOLOGY_TOPOLOGY_UNSUPPORTED: D3D11_MESSAGE_ID =
3880    D3D11_MESSAGE_ID(2097220i32);
3881pub const D3D11_MESSAGE_ID_DEVICE_IASETVERTEXBUFFERS_BUFFERS_EMPTY: D3D11_MESSAGE_ID =
3882    D3D11_MESSAGE_ID(240i32);
3883pub const D3D11_MESSAGE_ID_DEVICE_IASETVERTEXBUFFERS_HAZARD: D3D11_MESSAGE_ID =
3884    D3D11_MESSAGE_ID(1i32);
3885pub const D3D11_MESSAGE_ID_DEVICE_IASETVERTEXBUFFERS_INVALIDRANGE: D3D11_MESSAGE_ID =
3886    D3D11_MESSAGE_ID(419i32);
3887pub const D3D11_MESSAGE_ID_DEVICE_IASETVERTEXBUFFERS_OFFSET_TOO_LARGE: D3D11_MESSAGE_ID =
3888    D3D11_MESSAGE_ID(239i32);
3889pub const D3D11_MESSAGE_ID_DEVICE_IASETVERTEXBUFFERS_STRIDE_TOO_LARGE: D3D11_MESSAGE_ID =
3890    D3D11_MESSAGE_ID(418i32);
3891pub const D3D11_MESSAGE_ID_DEVICE_LOCKEDOUT_INTERFACE: D3D11_MESSAGE_ID =
3892    D3D11_MESSAGE_ID(3145945i32);
3893pub const D3D11_MESSAGE_ID_DEVICE_OMSETRENDERTARGETSANDUNORDEREDACCESSVIEWS_HAZARD:
3894    D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(2097346i32);
3895pub const D3D11_MESSAGE_ID_DEVICE_OMSETRENDERTARGETSANDUNORDEREDACCESSVIEWS_INVALIDOFFSET:
3896    D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(3146060i32);
3897pub const D3D11_MESSAGE_ID_DEVICE_OMSETRENDERTARGETSANDUNORDEREDACCESSVIEWS_NO_OP:
3898    D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(2097348i32);
3899pub const D3D11_MESSAGE_ID_DEVICE_OMSETRENDERTARGETSANDUNORDEREDACCESSVIEWS_NUMUAVS_INVALIDRANGE:
3900    D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(2097422i32);
3901pub const D3D11_MESSAGE_ID_DEVICE_OMSETRENDERTARGETSANDUNORDEREDACCESSVIEWS_OVERLAPPING_OLD_SLOTS: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(2097347i32);
3902pub const D3D11_MESSAGE_ID_DEVICE_OMSETRENDERTARGETSANDUNORDEREDACCESSVIEWS_TOOMANYVIEWS:
3903    D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(3146061i32);
3904pub const D3D11_MESSAGE_ID_DEVICE_OMSETRENDERTARGETS_HAZARD: D3D11_MESSAGE_ID =
3905    D3D11_MESSAGE_ID(9i32);
3906pub const D3D11_MESSAGE_ID_DEVICE_OPEN_SHARED_RESOURCE1_ACCESS_DENIED: D3D11_MESSAGE_ID =
3907    D3D11_MESSAGE_ID(3146117i32);
3908pub const D3D11_MESSAGE_ID_DEVICE_OPEN_SHARED_RESOURCE1_NOT_SUPPORTED: D3D11_MESSAGE_ID =
3909    D3D11_MESSAGE_ID(3146068i32);
3910pub const D3D11_MESSAGE_ID_DEVICE_OPEN_SHARED_RESOURCE_BADINTERFACE_RETURN: D3D11_MESSAGE_ID =
3911    D3D11_MESSAGE_ID(383i32);
3912pub const D3D11_MESSAGE_ID_DEVICE_OPEN_SHARED_RESOURCE_BY_NAME_NOT_SUPPORTED: D3D11_MESSAGE_ID =
3913    D3D11_MESSAGE_ID(3146069i32);
3914pub const D3D11_MESSAGE_ID_DEVICE_OPEN_SHARED_RESOURCE_INVALIDARG_RETURN: D3D11_MESSAGE_ID =
3915    D3D11_MESSAGE_ID(381i32);
3916pub const D3D11_MESSAGE_ID_DEVICE_OPEN_SHARED_RESOURCE_OUTOFMEMORY_RETURN: D3D11_MESSAGE_ID =
3917    D3D11_MESSAGE_ID(382i32);
3918pub const D3D11_MESSAGE_ID_DEVICE_PSGETCONSTANTBUFFERS_BUFFERS_EMPTY: D3D11_MESSAGE_ID =
3919    D3D11_MESSAGE_ID(273i32);
3920pub const D3D11_MESSAGE_ID_DEVICE_PSGETSAMPLERS_SAMPLERS_EMPTY: D3D11_MESSAGE_ID =
3921    D3D11_MESSAGE_ID(274i32);
3922pub const D3D11_MESSAGE_ID_DEVICE_PSGETSHADERRESOURCES_VIEWS_EMPTY: D3D11_MESSAGE_ID =
3923    D3D11_MESSAGE_ID(272i32);
3924pub const D3D11_MESSAGE_ID_DEVICE_PSSETCONSTANTBUFFERS_BUFFERS_EMPTY: D3D11_MESSAGE_ID =
3925    D3D11_MESSAGE_ID(257i32);
3926pub const D3D11_MESSAGE_ID_DEVICE_PSSETCONSTANTBUFFERS_HAZARD: D3D11_MESSAGE_ID =
3927    D3D11_MESSAGE_ID(8i32);
3928pub const D3D11_MESSAGE_ID_DEVICE_PSSETSAMPLERS_SAMPLERS_EMPTY: D3D11_MESSAGE_ID =
3929    D3D11_MESSAGE_ID(258i32);
3930pub const D3D11_MESSAGE_ID_DEVICE_PSSETSHADERRESOURCES_HAZARD: D3D11_MESSAGE_ID =
3931    D3D11_MESSAGE_ID(7i32);
3932pub const D3D11_MESSAGE_ID_DEVICE_PSSETSHADERRESOURCES_VIEWS_EMPTY: D3D11_MESSAGE_ID =
3933    D3D11_MESSAGE_ID(255i32);
3934pub const D3D11_MESSAGE_ID_DEVICE_REMOVAL_PROCESS_AT_FAULT: D3D11_MESSAGE_ID =
3935    D3D11_MESSAGE_ID(378i32);
3936pub const D3D11_MESSAGE_ID_DEVICE_REMOVAL_PROCESS_NOT_AT_FAULT: D3D11_MESSAGE_ID =
3937    D3D11_MESSAGE_ID(380i32);
3938pub const D3D11_MESSAGE_ID_DEVICE_REMOVAL_PROCESS_POSSIBLY_AT_FAULT: D3D11_MESSAGE_ID =
3939    D3D11_MESSAGE_ID(379i32);
3940pub const D3D11_MESSAGE_ID_DEVICE_RESOLVESUBRESOURCE_DESTINATION_INVALID: D3D11_MESSAGE_ID =
3941    D3D11_MESSAGE_ID(290i32);
3942pub const D3D11_MESSAGE_ID_DEVICE_RESOLVESUBRESOURCE_DESTINATION_SUBRESOURCE_INVALID:
3943    D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(291i32);
3944pub const D3D11_MESSAGE_ID_DEVICE_RESOLVESUBRESOURCE_FORMAT_INVALID: D3D11_MESSAGE_ID =
3945    D3D11_MESSAGE_ID(294i32);
3946pub const D3D11_MESSAGE_ID_DEVICE_RESOLVESUBRESOURCE_SOURCE_INVALID: D3D11_MESSAGE_ID =
3947    D3D11_MESSAGE_ID(292i32);
3948pub const D3D11_MESSAGE_ID_DEVICE_RESOLVESUBRESOURCE_SOURCE_SUBRESOURCE_INVALID: D3D11_MESSAGE_ID =
3949    D3D11_MESSAGE_ID(293i32);
3950pub const D3D11_MESSAGE_ID_DEVICE_RSGETSCISSORRECTS_RECTS_EMPTY: D3D11_MESSAGE_ID =
3951    D3D11_MESSAGE_ID(276i32);
3952pub const D3D11_MESSAGE_ID_DEVICE_RSGETVIEWPORTS_VIEWPORTS_EMPTY: D3D11_MESSAGE_ID =
3953    D3D11_MESSAGE_ID(275i32);
3954pub const D3D11_MESSAGE_ID_DEVICE_RSSETSCISSORRECTS_INVALIDSCISSOR: D3D11_MESSAGE_ID =
3955    D3D11_MESSAGE_ID(260i32);
3956pub const D3D11_MESSAGE_ID_DEVICE_RSSETSCISSORRECTS_NEGATIVESCISSOR: D3D11_MESSAGE_ID =
3957    D3D11_MESSAGE_ID(1048632i32);
3958pub const D3D11_MESSAGE_ID_DEVICE_RSSETSCISSORRECTS_TOO_MANY_SCISSORS: D3D11_MESSAGE_ID =
3959    D3D11_MESSAGE_ID(1048595i32);
3960pub const D3D11_MESSAGE_ID_DEVICE_RSSETVIEWPORTS_DENORMFLUSH: D3D11_MESSAGE_ID =
3961    D3D11_MESSAGE_ID(387i32);
3962pub const D3D11_MESSAGE_ID_DEVICE_RSSETVIEWPORTS_INVALIDVIEWPORT: D3D11_MESSAGE_ID =
3963    D3D11_MESSAGE_ID(259i32);
3964pub const D3D11_MESSAGE_ID_DEVICE_RSSETVIEWPORTS_TOO_MANY_VIEWPORTS: D3D11_MESSAGE_ID =
3965    D3D11_MESSAGE_ID(1048593i32);
3966pub const D3D11_MESSAGE_ID_DEVICE_SETHARDWAREPROTECTION_INVALIDCONTEXT: D3D11_MESSAGE_ID =
3967    D3D11_MESSAGE_ID(3146224i32);
3968pub const D3D11_MESSAGE_ID_DEVICE_SETRESOURCEMINLOD_INVALIDCONTEXT: D3D11_MESSAGE_ID =
3969    D3D11_MESSAGE_ID(2097363i32);
3970pub const D3D11_MESSAGE_ID_DEVICE_SETRESOURCEMINLOD_INVALIDMINLOD: D3D11_MESSAGE_ID =
3971    D3D11_MESSAGE_ID(2097365i32);
3972pub const D3D11_MESSAGE_ID_DEVICE_SETRESOURCEMINLOD_INVALIDRESOURCE: D3D11_MESSAGE_ID =
3973    D3D11_MESSAGE_ID(2097364i32);
3974pub const D3D11_MESSAGE_ID_DEVICE_SETSHADER_INSTANCE_DATA_BINDINGS: D3D11_MESSAGE_ID =
3975    D3D11_MESSAGE_ID(2097311i32);
3976pub const D3D11_MESSAGE_ID_DEVICE_SETSHADER_INTERFACES_FEATURELEVEL: D3D11_MESSAGE_ID =
3977    D3D11_MESSAGE_ID(2097304i32);
3978pub const D3D11_MESSAGE_ID_DEVICE_SETSHADER_INTERFACE_COUNT_MISMATCH: D3D11_MESSAGE_ID =
3979    D3D11_MESSAGE_ID(2097305i32);
3980pub const D3D11_MESSAGE_ID_DEVICE_SETSHADER_INVALID_INSTANCE: D3D11_MESSAGE_ID =
3981    D3D11_MESSAGE_ID(2097306i32);
3982pub const D3D11_MESSAGE_ID_DEVICE_SETSHADER_INVALID_INSTANCE_DATA: D3D11_MESSAGE_ID =
3983    D3D11_MESSAGE_ID(2097309i32);
3984pub const D3D11_MESSAGE_ID_DEVICE_SETSHADER_INVALID_INSTANCE_INDEX: D3D11_MESSAGE_ID =
3985    D3D11_MESSAGE_ID(2097307i32);
3986pub const D3D11_MESSAGE_ID_DEVICE_SETSHADER_INVALID_INSTANCE_TYPE: D3D11_MESSAGE_ID =
3987    D3D11_MESSAGE_ID(2097308i32);
3988pub const D3D11_MESSAGE_ID_DEVICE_SETSHADER_UNBOUND_INSTANCE_DATA: D3D11_MESSAGE_ID =
3989    D3D11_MESSAGE_ID(2097310i32);
3990pub const D3D11_MESSAGE_ID_DEVICE_SETTEXTFILTERSIZE_INVALIDDIMENSIONS: D3D11_MESSAGE_ID =
3991    D3D11_MESSAGE_ID(389i32);
3992pub const D3D11_MESSAGE_ID_DEVICE_SHADERRESOURCEVIEW_BUFFER_TYPE_MISMATCH: D3D11_MESSAGE_ID =
3993    D3D11_MESSAGE_ID(2097393i32);
3994pub const D3D11_MESSAGE_ID_DEVICE_SHADERRESOURCEVIEW_RAW_UNSUPPORTED: D3D11_MESSAGE_ID =
3995    D3D11_MESSAGE_ID(2097394i32);
3996pub const D3D11_MESSAGE_ID_DEVICE_SHADERRESOURCEVIEW_STRUCTURE_STRIDE_MISMATCH: D3D11_MESSAGE_ID =
3997    D3D11_MESSAGE_ID(2097392i32);
3998pub const D3D11_MESSAGE_ID_DEVICE_SHADER_LINKAGE_COMPONENTTYPE: D3D11_MESSAGE_ID =
3999    D3D11_MESSAGE_ID(344i32);
4000pub const D3D11_MESSAGE_ID_DEVICE_SHADER_LINKAGE_MINPRECISION: D3D11_MESSAGE_ID =
4001    D3D11_MESSAGE_ID(3146050i32);
4002pub const D3D11_MESSAGE_ID_DEVICE_SHADER_LINKAGE_NEVERWRITTEN_ALWAYSREADS: D3D11_MESSAGE_ID =
4003    D3D11_MESSAGE_ID(347i32);
4004pub const D3D11_MESSAGE_ID_DEVICE_SHADER_LINKAGE_REGISTERINDEX: D3D11_MESSAGE_ID =
4005    D3D11_MESSAGE_ID(343i32);
4006pub const D3D11_MESSAGE_ID_DEVICE_SHADER_LINKAGE_REGISTERMASK: D3D11_MESSAGE_ID =
4007    D3D11_MESSAGE_ID(345i32);
4008pub const D3D11_MESSAGE_ID_DEVICE_SHADER_LINKAGE_SEMANTICNAME_NOT_FOUND: D3D11_MESSAGE_ID =
4009    D3D11_MESSAGE_ID(342i32);
4010pub const D3D11_MESSAGE_ID_DEVICE_SHADER_LINKAGE_SYSTEMVALUE: D3D11_MESSAGE_ID =
4011    D3D11_MESSAGE_ID(346i32);
4012pub const D3D11_MESSAGE_ID_DEVICE_SOGETTARGETS_BUFFERS_EMPTY: D3D11_MESSAGE_ID =
4013    D3D11_MESSAGE_ID(271i32);
4014pub const D3D11_MESSAGE_ID_DEVICE_SOSETTARGETS_HAZARD: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(10i32);
4015pub const D3D11_MESSAGE_ID_DEVICE_SOSETTARGETS_OFFSET_UNALIGNED: D3D11_MESSAGE_ID =
4016    D3D11_MESSAGE_ID(254i32);
4017pub const D3D11_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_APPEND_UNSUPPORTED: D3D11_MESSAGE_ID =
4018    D3D11_MESSAGE_ID(2097376i32);
4019pub const D3D11_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_ATOMICS_UNSUPPORTED: D3D11_MESSAGE_ID =
4020    D3D11_MESSAGE_ID(2097377i32);
4021pub const D3D11_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_ATOMIC_ADD_UNSUPPORTED: D3D11_MESSAGE_ID =
4022    D3D11_MESSAGE_ID(2097383i32);
4023pub const D3D11_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_ATOMIC_BITWISE_OPS_UNSUPPORTED:
4024    D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(2097384i32);
4025pub const D3D11_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_ATOMIC_CMPSTORE_CMPEXCHANGE_UNSUPPORTED:
4026    D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(2097385i32);
4027pub const D3D11_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_ATOMIC_EXCHANGE_UNSUPPORTED:
4028    D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(2097386i32);
4029pub const D3D11_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_ATOMIC_SIGNED_MINMAX_UNSUPPORTED:
4030    D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(2097387i32);
4031pub const D3D11_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_ATOMIC_UNSIGNED_MINMAX_UNSUPPORTED:
4032    D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(2097388i32);
4033pub const D3D11_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_BUFFER_TYPE_MISMATCH: D3D11_MESSAGE_ID =
4034    D3D11_MESSAGE_ID(2097379i32);
4035pub const D3D11_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_COUNTER_UNSUPPORTED: D3D11_MESSAGE_ID =
4036    D3D11_MESSAGE_ID(2097406i32);
4037pub const D3D11_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_DIMENSION_MISMATCH: D3D11_MESSAGE_ID =
4038    D3D11_MESSAGE_ID(2097375i32);
4039pub const D3D11_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_FORMAT_LD_UNSUPPORTED: D3D11_MESSAGE_ID =
4040    D3D11_MESSAGE_ID(2097381i32);
4041pub const D3D11_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_FORMAT_STORE_UNSUPPORTED: D3D11_MESSAGE_ID =
4042    D3D11_MESSAGE_ID(2097382i32);
4043pub const D3D11_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_NOT_SET: D3D11_MESSAGE_ID =
4044    D3D11_MESSAGE_ID(2097373i32);
4045pub const D3D11_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_NOT_SET_DUE_TO_FLIP_PRESENT:
4046    D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(3146083i32);
4047pub const D3D11_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_RAW_UNSUPPORTED: D3D11_MESSAGE_ID =
4048    D3D11_MESSAGE_ID(2097380i32);
4049pub const D3D11_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_RETURN_TYPE_MISMATCH: D3D11_MESSAGE_ID =
4050    D3D11_MESSAGE_ID(2097372i32);
4051pub const D3D11_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_STRUCTURE_STRIDE_MISMATCH: D3D11_MESSAGE_ID =
4052    D3D11_MESSAGE_ID(2097378i32);
4053pub const D3D11_MESSAGE_ID_DEVICE_VSGETCONSTANTBUFFERS_BUFFERS_EMPTY: D3D11_MESSAGE_ID =
4054    D3D11_MESSAGE_ID(266i32);
4055pub const D3D11_MESSAGE_ID_DEVICE_VSGETSAMPLERS_SAMPLERS_EMPTY: D3D11_MESSAGE_ID =
4056    D3D11_MESSAGE_ID(267i32);
4057pub const D3D11_MESSAGE_ID_DEVICE_VSGETSHADERRESOURCES_VIEWS_EMPTY: D3D11_MESSAGE_ID =
4058    D3D11_MESSAGE_ID(265i32);
4059pub const D3D11_MESSAGE_ID_DEVICE_VSSETCONSTANTBUFFERS_BUFFERS_EMPTY: D3D11_MESSAGE_ID =
4060    D3D11_MESSAGE_ID(247i32);
4061pub const D3D11_MESSAGE_ID_DEVICE_VSSETCONSTANTBUFFERS_HAZARD: D3D11_MESSAGE_ID =
4062    D3D11_MESSAGE_ID(4i32);
4063pub const D3D11_MESSAGE_ID_DEVICE_VSSETSAMPLERS_SAMPLERS_EMPTY: D3D11_MESSAGE_ID =
4064    D3D11_MESSAGE_ID(248i32);
4065pub const D3D11_MESSAGE_ID_DEVICE_VSSETSHADERRESOURCES_HAZARD: D3D11_MESSAGE_ID =
4066    D3D11_MESSAGE_ID(3i32);
4067pub const D3D11_MESSAGE_ID_DEVICE_VSSETSHADERRESOURCES_VIEWS_EMPTY: D3D11_MESSAGE_ID =
4068    D3D11_MESSAGE_ID(245i32);
4069pub const D3D11_MESSAGE_ID_DIRTY_TILE_MAPPING_ACCESS: D3D11_MESSAGE_ID =
4070    D3D11_MESSAGE_ID(3146133i32);
4071pub const D3D11_MESSAGE_ID_DRAWINDEXEDINSTANCED_NOT_SUPPORTED_BELOW_9_3: D3D11_MESSAGE_ID =
4072    D3D11_MESSAGE_ID(1048627i32);
4073pub const D3D11_MESSAGE_ID_DRAWINDEXED_POINTLIST_UNSUPPORTED: D3D11_MESSAGE_ID =
4074    D3D11_MESSAGE_ID(1048628i32);
4075pub const D3D11_MESSAGE_ID_DRAWINDEXED_STARTINDEXLOCATION_MUST_BE_POSITIVE: D3D11_MESSAGE_ID =
4076    D3D11_MESSAGE_ID(1048602i32);
4077pub const D3D11_MESSAGE_ID_DRAWINSTANCED_NOT_SUPPORTED: D3D11_MESSAGE_ID =
4078    D3D11_MESSAGE_ID(1048626i32);
4079pub const D3D11_MESSAGE_ID_DSSETCONSTANTBUFFERS_INVALIDBUFFER: D3D11_MESSAGE_ID =
4080    D3D11_MESSAGE_ID(2097199i32);
4081pub const D3D11_MESSAGE_ID_DSSETCONSTANTBUFFERS_INVALIDBUFFEROFFSETORCOUNT: D3D11_MESSAGE_ID =
4082    D3D11_MESSAGE_ID(3146017i32);
4083pub const D3D11_MESSAGE_ID_DSSETCONSTANTBUFFERS_UNBINDDELETINGOBJECT: D3D11_MESSAGE_ID =
4084    D3D11_MESSAGE_ID(2097192i32);
4085pub const D3D11_MESSAGE_ID_DSSETSAMPLERS_UNBINDDELETINGOBJECT: D3D11_MESSAGE_ID =
4086    D3D11_MESSAGE_ID(2097414i32);
4087pub const D3D11_MESSAGE_ID_DSSETSHADERRESOURCES_UNBINDDELETINGOBJECT: D3D11_MESSAGE_ID =
4088    D3D11_MESSAGE_ID(2097191i32);
4089pub const D3D11_MESSAGE_ID_DSSETSHADER_UNBINDDELETINGOBJECT: D3D11_MESSAGE_ID =
4090    D3D11_MESSAGE_ID(2097417i32);
4091pub const D3D11_MESSAGE_ID_DUPLICATE_TILE_MAPPINGS_IN_COVERED_AREA: D3D11_MESSAGE_ID =
4092    D3D11_MESSAGE_ID(3146134i32);
4093pub const D3D11_MESSAGE_ID_ENCRYPTIONBLT_DST_MAPPED: D3D11_MESSAGE_ID =
4094    D3D11_MESSAGE_ID(3145969i32);
4095pub const D3D11_MESSAGE_ID_ENCRYPTIONBLT_DST_NOT_STAGING: D3D11_MESSAGE_ID =
4096    D3D11_MESSAGE_ID(3145967i32);
4097pub const D3D11_MESSAGE_ID_ENCRYPTIONBLT_DST_OFFERED: D3D11_MESSAGE_ID =
4098    D3D11_MESSAGE_ID(3145971i32);
4099pub const D3D11_MESSAGE_ID_ENCRYPTIONBLT_DST_WRONGDEVICE: D3D11_MESSAGE_ID =
4100    D3D11_MESSAGE_ID(3145963i32);
4101pub const D3D11_MESSAGE_ID_ENCRYPTIONBLT_FORMAT_MISMATCH: D3D11_MESSAGE_ID =
4102    D3D11_MESSAGE_ID(3145964i32);
4103pub const D3D11_MESSAGE_ID_ENCRYPTIONBLT_NULLPARAM: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(3145961i32);
4104pub const D3D11_MESSAGE_ID_ENCRYPTIONBLT_SIZE_MISMATCH: D3D11_MESSAGE_ID =
4105    D3D11_MESSAGE_ID(3145965i32);
4106pub const D3D11_MESSAGE_ID_ENCRYPTIONBLT_SRC_CONTENT_UNDEFINED: D3D11_MESSAGE_ID =
4107    D3D11_MESSAGE_ID(3145972i32);
4108pub const D3D11_MESSAGE_ID_ENCRYPTIONBLT_SRC_MAPPED: D3D11_MESSAGE_ID =
4109    D3D11_MESSAGE_ID(3145968i32);
4110pub const D3D11_MESSAGE_ID_ENCRYPTIONBLT_SRC_MULTISAMPLED: D3D11_MESSAGE_ID =
4111    D3D11_MESSAGE_ID(3145966i32);
4112pub const D3D11_MESSAGE_ID_ENCRYPTIONBLT_SRC_OFFERED: D3D11_MESSAGE_ID =
4113    D3D11_MESSAGE_ID(3145970i32);
4114pub const D3D11_MESSAGE_ID_ENCRYPTIONBLT_SRC_WRONGDEVICE: D3D11_MESSAGE_ID =
4115    D3D11_MESSAGE_ID(3145962i32);
4116pub const D3D11_MESSAGE_ID_ENCRYPTIONBLT_UNSUPPORTED: D3D11_MESSAGE_ID =
4117    D3D11_MESSAGE_ID(3145960i32);
4118pub const D3D11_MESSAGE_ID_END_TRACKED_WORKLOAD_INVALID_ARG: D3D11_MESSAGE_ID =
4119    D3D11_MESSAGE_ID(3146282i32);
4120pub const D3D11_MESSAGE_ID_ENQUEUESETEVENT_ACCESSDENIED_RETURN: D3D11_MESSAGE_ID =
4121    D3D11_MESSAGE_ID(2097421i32);
4122pub const D3D11_MESSAGE_ID_ENQUEUESETEVENT_INVALIDARG_RETURN: D3D11_MESSAGE_ID =
4123    D3D11_MESSAGE_ID(2097419i32);
4124pub const D3D11_MESSAGE_ID_ENQUEUESETEVENT_NOT_SUPPORTED: D3D11_MESSAGE_ID =
4125    D3D11_MESSAGE_ID(3146070i32);
4126pub const D3D11_MESSAGE_ID_ENQUEUESETEVENT_OUTOFMEMORY_RETURN: D3D11_MESSAGE_ID =
4127    D3D11_MESSAGE_ID(2097420i32);
4128pub const D3D11_MESSAGE_ID_FINISHDISPLAYLIST_INVALID_CALL_RETURN: D3D11_MESSAGE_ID =
4129    D3D11_MESSAGE_ID(2097168i32);
4130pub const D3D11_MESSAGE_ID_FINISHDISPLAYLIST_ONIMMEDIATECONTEXT: D3D11_MESSAGE_ID =
4131    D3D11_MESSAGE_ID(2097166i32);
4132pub const D3D11_MESSAGE_ID_FINISHDISPLAYLIST_OUTOFMEMORY_RETURN: D3D11_MESSAGE_ID =
4133    D3D11_MESSAGE_ID(2097167i32);
4134pub const D3D11_MESSAGE_ID_FINISHSESSIONKEYREFRESH_NULLPARAM: D3D11_MESSAGE_ID =
4135    D3D11_MESSAGE_ID(3145989i32);
4136pub const D3D11_MESSAGE_ID_FLUSH1_INVALIDCONTEXTTYPE: D3D11_MESSAGE_ID =
4137    D3D11_MESSAGE_ID(3146223i32);
4138pub const D3D11_MESSAGE_ID_GEOMETRY_SHADER_NOT_SUPPORTED: D3D11_MESSAGE_ID =
4139    D3D11_MESSAGE_ID(1048619i32);
4140pub const D3D11_MESSAGE_ID_GETAUTHENTICATEDCHANNELCERTIFICATESIZE_INVALIDCHANNEL: D3D11_MESSAGE_ID =
4141    D3D11_MESSAGE_ID(3145999i32);
4142pub const D3D11_MESSAGE_ID_GETAUTHENTICATEDCHANNELCERTIFICATESIZE_NULLPARAM: D3D11_MESSAGE_ID =
4143    D3D11_MESSAGE_ID(3146000i32);
4144pub const D3D11_MESSAGE_ID_GETAUTHENTICATEDCHANNELCERTIFICATE_INVALIDCHANNEL: D3D11_MESSAGE_ID =
4145    D3D11_MESSAGE_ID(3146001i32);
4146pub const D3D11_MESSAGE_ID_GETAUTHENTICATEDCHANNELCERTIFICATE_NULLPARAM: D3D11_MESSAGE_ID =
4147    D3D11_MESSAGE_ID(3146002i32);
4148pub const D3D11_MESSAGE_ID_GETAUTHENTICATEDCHANNELCERTIFICATE_WRONGSIZE: D3D11_MESSAGE_ID =
4149    D3D11_MESSAGE_ID(3146003i32);
4150pub const D3D11_MESSAGE_ID_GETCONTENTPROTECTIONCAPS_NULLPARAM: D3D11_MESSAGE_ID =
4151    D3D11_MESSAGE_ID(3145992i32);
4152pub const D3D11_MESSAGE_ID_GETCRYPTOSESSIONCERTIFICATESIZE_NULLPARAM: D3D11_MESSAGE_ID =
4153    D3D11_MESSAGE_ID(3145955i32);
4154pub const D3D11_MESSAGE_ID_GETCRYPTOSESSIONCERTIFICATE_NULLPARAM: D3D11_MESSAGE_ID =
4155    D3D11_MESSAGE_ID(3145956i32);
4156pub const D3D11_MESSAGE_ID_GETCRYPTOSESSIONCERTIFICATE_WRONGSIZE: D3D11_MESSAGE_ID =
4157    D3D11_MESSAGE_ID(3145957i32);
4158pub const D3D11_MESSAGE_ID_GETCRYPTOSESSIONHANDLE_OUTOFMEMORY: D3D11_MESSAGE_ID =
4159    D3D11_MESSAGE_ID(3146025i32);
4160pub const D3D11_MESSAGE_ID_GETCRYPTOSESSIONHANDLE_WRONGSIZE: D3D11_MESSAGE_ID =
4161    D3D11_MESSAGE_ID(3145958i32);
4162pub const D3D11_MESSAGE_ID_GETCRYPTOSESSIONPRIVATEDATASIZE_INVALID_KEY_EXCHANGE_TYPE:
4163    D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(3146116i32);
4164pub const D3D11_MESSAGE_ID_GETCRYPTOSESSIONPRIVATEDATASIZE_NULLPARAM: D3D11_MESSAGE_ID =
4165    D3D11_MESSAGE_ID(3146086i32);
4166pub const D3D11_MESSAGE_ID_GETCRYPTOTYPE_NULLPARAM: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(3145953i32);
4167pub const D3D11_MESSAGE_ID_GETDATAFORNEWHARDWAREKEY_NULLPARAM: D3D11_MESSAGE_ID =
4168    D3D11_MESSAGE_ID(3146084i32);
4169pub const D3D11_MESSAGE_ID_GETDC_INACCESSIBLE: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(3146065i32);
4170pub const D3D11_MESSAGE_ID_GETDECODERBUFFER_INVALIDBUFFER: D3D11_MESSAGE_ID =
4171    D3D11_MESSAGE_ID(3145778i32);
4172pub const D3D11_MESSAGE_ID_GETDECODERBUFFER_INVALIDTYPE: D3D11_MESSAGE_ID =
4173    D3D11_MESSAGE_ID(3145779i32);
4174pub const D3D11_MESSAGE_ID_GETDECODERBUFFER_LOCKED: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(3145780i32);
4175pub const D3D11_MESSAGE_ID_GETDECODERBUFFER_NULLPARAM: D3D11_MESSAGE_ID =
4176    D3D11_MESSAGE_ID(3145777i32);
4177pub const D3D11_MESSAGE_ID_GETDECODERCREATIONPARAMS_NULLPARAM: D3D11_MESSAGE_ID =
4178    D3D11_MESSAGE_ID(3145775i32);
4179pub const D3D11_MESSAGE_ID_GETDECODERDRIVERHANDLE_NULLPARAM: D3D11_MESSAGE_ID =
4180    D3D11_MESSAGE_ID(3145776i32);
4181pub const D3D11_MESSAGE_ID_GETDECODERPROFILE_NULLPARAM: D3D11_MESSAGE_ID =
4182    D3D11_MESSAGE_ID(3145954i32);
4183pub const D3D11_MESSAGE_ID_GETENCRYPTIONBLTKEY_INVALIDSIZE: D3D11_MESSAGE_ID =
4184    D3D11_MESSAGE_ID(3145991i32);
4185pub const D3D11_MESSAGE_ID_GETENCRYPTIONBLTKEY_NULLPARAM: D3D11_MESSAGE_ID =
4186    D3D11_MESSAGE_ID(3145990i32);
4187pub const D3D11_MESSAGE_ID_GETPRIVATEDATA_MOREDATA: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(51i32);
4188pub const D3D11_MESSAGE_ID_GETRESOURCETILING_NONTILED_RESOURCE: D3D11_MESSAGE_ID =
4189    D3D11_MESSAGE_ID(3146139i32);
4190pub const D3D11_MESSAGE_ID_GETVIDEODECODERCAPS_NULLPARAM: D3D11_MESSAGE_ID =
4191    D3D11_MESSAGE_ID(3146087i32);
4192pub const D3D11_MESSAGE_ID_GETVIDEODECODERCAPS_ZEROWIDTHHEIGHT: D3D11_MESSAGE_ID =
4193    D3D11_MESSAGE_ID(3146088i32);
4194pub const D3D11_MESSAGE_ID_GETVIDEODECODERCONFIGCOUNT_NULLPARAM: D3D11_MESSAGE_ID =
4195    D3D11_MESSAGE_ID(3145770i32);
4196pub const D3D11_MESSAGE_ID_GETVIDEODECODERCONFIGCOUNT_OUTOFMEMORY_RETURN: D3D11_MESSAGE_ID =
4197    D3D11_MESSAGE_ID(3145771i32);
4198pub const D3D11_MESSAGE_ID_GETVIDEODECODERCONFIG_INVALIDINDEX: D3D11_MESSAGE_ID =
4199    D3D11_MESSAGE_ID(3145773i32);
4200pub const D3D11_MESSAGE_ID_GETVIDEODECODERCONFIG_NULLPARAM: D3D11_MESSAGE_ID =
4201    D3D11_MESSAGE_ID(3145772i32);
4202pub const D3D11_MESSAGE_ID_GETVIDEODECODERCONFIG_OUTOFMEMORY_RETURN: D3D11_MESSAGE_ID =
4203    D3D11_MESSAGE_ID(3145774i32);
4204pub const D3D11_MESSAGE_ID_GETVIDEODECODERPROFILECOUNT_OUTOFMEMORY: D3D11_MESSAGE_ID =
4205    D3D11_MESSAGE_ID(3145764i32);
4206pub const D3D11_MESSAGE_ID_GETVIDEODECODERPROFILE_INVALIDINDEX: D3D11_MESSAGE_ID =
4207    D3D11_MESSAGE_ID(3145766i32);
4208pub const D3D11_MESSAGE_ID_GETVIDEODECODERPROFILE_NULLPARAM: D3D11_MESSAGE_ID =
4209    D3D11_MESSAGE_ID(3145765i32);
4210pub const D3D11_MESSAGE_ID_GETVIDEODECODERPROFILE_OUTOFMEMORY_RETURN: D3D11_MESSAGE_ID =
4211    D3D11_MESSAGE_ID(3145767i32);
4212pub const D3D11_MESSAGE_ID_GETVIDEOPROCESSORCAPS_NULLPARAM: D3D11_MESSAGE_ID =
4213    D3D11_MESSAGE_ID(3145800i32);
4214pub const D3D11_MESSAGE_ID_GETVIDEOPROCESSORCONTENTDESC_NULLPARAM: D3D11_MESSAGE_ID =
4215    D3D11_MESSAGE_ID(3145798i32);
4216pub const D3D11_MESSAGE_ID_GETVIDEOPROCESSORCUSTOMRATE_INVALIDINDEX: D3D11_MESSAGE_ID =
4217    D3D11_MESSAGE_ID(3145804i32);
4218pub const D3D11_MESSAGE_ID_GETVIDEOPROCESSORCUSTOMRATE_NULLPARAM: D3D11_MESSAGE_ID =
4219    D3D11_MESSAGE_ID(3145803i32);
4220pub const D3D11_MESSAGE_ID_GETVIDEOPROCESSORFILTERRANGE_NULLPARAM: D3D11_MESSAGE_ID =
4221    D3D11_MESSAGE_ID(3145805i32);
4222pub const D3D11_MESSAGE_ID_GETVIDEOPROCESSORFILTERRANGE_UNSUPPORTED: D3D11_MESSAGE_ID =
4223    D3D11_MESSAGE_ID(3145806i32);
4224pub const D3D11_MESSAGE_ID_GETVIDEOPROCESSORRATECONVERSIONCAPS_INVALIDINDEX: D3D11_MESSAGE_ID =
4225    D3D11_MESSAGE_ID(3145802i32);
4226pub const D3D11_MESSAGE_ID_GETVIDEOPROCESSORRATECONVERSIONCAPS_NULLPARAM: D3D11_MESSAGE_ID =
4227    D3D11_MESSAGE_ID(3145801i32);
4228pub const D3D11_MESSAGE_ID_GSSETCONSTANTBUFFERS_INVALIDBUFFER: D3D11_MESSAGE_ID =
4229    D3D11_MESSAGE_ID(250i32);
4230pub const D3D11_MESSAGE_ID_GSSETCONSTANTBUFFERS_INVALIDBUFFEROFFSETORCOUNT: D3D11_MESSAGE_ID =
4231    D3D11_MESSAGE_ID(3146019i32);
4232pub const D3D11_MESSAGE_ID_GSSETCONSTANTBUFFERS_UNBINDDELETINGOBJECT: D3D11_MESSAGE_ID =
4233    D3D11_MESSAGE_ID(39i32);
4234pub const D3D11_MESSAGE_ID_GSSETSAMPLERS_UNBINDDELETINGOBJECT: D3D11_MESSAGE_ID =
4235    D3D11_MESSAGE_ID(40i32);
4236pub const D3D11_MESSAGE_ID_GSSETSHADERRESOURCES_UNBINDDELETINGOBJECT: D3D11_MESSAGE_ID =
4237    D3D11_MESSAGE_ID(38i32);
4238pub const D3D11_MESSAGE_ID_GSSETSHADER_UNBINDDELETINGOBJECT: D3D11_MESSAGE_ID =
4239    D3D11_MESSAGE_ID(37i32);
4240pub const D3D11_MESSAGE_ID_HSSETCONSTANTBUFFERS_INVALIDBUFFER: D3D11_MESSAGE_ID =
4241    D3D11_MESSAGE_ID(2097183i32);
4242pub const D3D11_MESSAGE_ID_HSSETCONSTANTBUFFERS_INVALIDBUFFEROFFSETORCOUNT: D3D11_MESSAGE_ID =
4243    D3D11_MESSAGE_ID(3146018i32);
4244pub const D3D11_MESSAGE_ID_HSSETCONSTANTBUFFERS_UNBINDDELETINGOBJECT: D3D11_MESSAGE_ID =
4245    D3D11_MESSAGE_ID(2097176i32);
4246pub const D3D11_MESSAGE_ID_HSSETSAMPLERS_UNBINDDELETINGOBJECT: D3D11_MESSAGE_ID =
4247    D3D11_MESSAGE_ID(2097413i32);
4248pub const D3D11_MESSAGE_ID_HSSETSHADERRESOURCES_UNBINDDELETINGOBJECT: D3D11_MESSAGE_ID =
4249    D3D11_MESSAGE_ID(2097175i32);
4250pub const D3D11_MESSAGE_ID_HSSETSHADER_UNBINDDELETINGOBJECT: D3D11_MESSAGE_ID =
4251    D3D11_MESSAGE_ID(2097416i32);
4252pub const D3D11_MESSAGE_ID_IASETINDEXBUFFER_INVALIDBUFFER: D3D11_MESSAGE_ID =
4253    D3D11_MESSAGE_ID(241i32);
4254pub const D3D11_MESSAGE_ID_IASETINDEXBUFFER_UNBINDDELETINGOBJECT: D3D11_MESSAGE_ID =
4255    D3D11_MESSAGE_ID(32i32);
4256pub const D3D11_MESSAGE_ID_IASETINPUTLAYOUT_UNBINDDELETINGOBJECT: D3D11_MESSAGE_ID =
4257    D3D11_MESSAGE_ID(30i32);
4258pub const D3D11_MESSAGE_ID_IASETVERTEXBUFFERS_BAD_BUFFER_INDEX: D3D11_MESSAGE_ID =
4259    D3D11_MESSAGE_ID(1048592i32);
4260pub const D3D11_MESSAGE_ID_IASETVERTEXBUFFERS_INVALIDBUFFER: D3D11_MESSAGE_ID =
4261    D3D11_MESSAGE_ID(238i32);
4262pub const D3D11_MESSAGE_ID_IASETVERTEXBUFFERS_UNBINDDELETINGOBJECT: D3D11_MESSAGE_ID =
4263    D3D11_MESSAGE_ID(31i32);
4264pub const D3D11_MESSAGE_ID_INCOMPLETE_TRACKED_WORKLOAD_PAIR: D3D11_MESSAGE_ID =
4265    D3D11_MESSAGE_ID(3146276i32);
4266pub const D3D11_MESSAGE_ID_JPEGDECODE_1DESTUNSUPPORTEDFORMAT: D3D11_MESSAGE_ID =
4267    D3D11_MESSAGE_ID(3146194i32);
4268pub const D3D11_MESSAGE_ID_JPEGDECODE_3DESTUNSUPPORTEDFORMAT: D3D11_MESSAGE_ID =
4269    D3D11_MESSAGE_ID(3146195i32);
4270pub const D3D11_MESSAGE_ID_JPEGDECODE_BACKBUFFERNOTSUPPORTED: D3D11_MESSAGE_ID =
4271    D3D11_MESSAGE_ID(3146203i32);
4272pub const D3D11_MESSAGE_ID_JPEGDECODE_CHROMASIZEMISMATCH: D3D11_MESSAGE_ID =
4273    D3D11_MESSAGE_ID(3146190i32);
4274pub const D3D11_MESSAGE_ID_JPEGDECODE_DESTBOXESINTERSECT: D3D11_MESSAGE_ID =
4275    D3D11_MESSAGE_ID(3146182i32);
4276pub const D3D11_MESSAGE_ID_JPEGDECODE_DESTBOXNOT2D: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(3146180i32);
4277pub const D3D11_MESSAGE_ID_JPEGDECODE_DESTBOXNOTSUB: D3D11_MESSAGE_ID =
4278    D3D11_MESSAGE_ID(3146181i32);
4279pub const D3D11_MESSAGE_ID_JPEGDECODE_DESTINATIONNOT2D: D3D11_MESSAGE_ID =
4280    D3D11_MESSAGE_ID(3146173i32);
4281pub const D3D11_MESSAGE_ID_JPEGDECODE_DIMENSIONSTOOLARGE: D3D11_MESSAGE_ID =
4282    D3D11_MESSAGE_ID(3146171i32);
4283pub const D3D11_MESSAGE_ID_JPEGDECODE_EMPTYDESTBOX: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(3146179i32);
4284pub const D3D11_MESSAGE_ID_JPEGDECODE_FORMATUNSUPPORTED: D3D11_MESSAGE_ID =
4285    D3D11_MESSAGE_ID(3146176i32);
4286pub const D3D11_MESSAGE_ID_JPEGDECODE_FRACTIONALDOWNSCALETOLARGE: D3D11_MESSAGE_ID =
4287    D3D11_MESSAGE_ID(3146189i32);
4288pub const D3D11_MESSAGE_ID_JPEGDECODE_GUARDRECTSUNSUPPORTED: D3D11_MESSAGE_ID =
4289    D3D11_MESSAGE_ID(3146175i32);
4290pub const D3D11_MESSAGE_ID_JPEGDECODE_HAZARD: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(3146199i32);
4291pub const D3D11_MESSAGE_ID_JPEGDECODE_INVALIDCOMPONENTS: D3D11_MESSAGE_ID =
4292    D3D11_MESSAGE_ID(3146172i32);
4293pub const D3D11_MESSAGE_ID_JPEGDECODE_INVALIDCOPYFLAGS: D3D11_MESSAGE_ID =
4294    D3D11_MESSAGE_ID(3146198i32);
4295pub const D3D11_MESSAGE_ID_JPEGDECODE_INVALIDMIPLEVEL: D3D11_MESSAGE_ID =
4296    D3D11_MESSAGE_ID(3146178i32);
4297pub const D3D11_MESSAGE_ID_JPEGDECODE_INVALIDNUMDESTINATIONS: D3D11_MESSAGE_ID =
4298    D3D11_MESSAGE_ID(3146192i32);
4299pub const D3D11_MESSAGE_ID_JPEGDECODE_INVALIDSCANDATAOFFSET: D3D11_MESSAGE_ID =
4300    D3D11_MESSAGE_ID(3146169i32);
4301pub const D3D11_MESSAGE_ID_JPEGDECODE_INVALIDSOURCESIZE: D3D11_MESSAGE_ID =
4302    D3D11_MESSAGE_ID(3146197i32);
4303pub const D3D11_MESSAGE_ID_JPEGDECODE_INVALIDSUBRESOURCE: D3D11_MESSAGE_ID =
4304    D3D11_MESSAGE_ID(3146177i32);
4305pub const D3D11_MESSAGE_ID_JPEGDECODE_LUMACHROMASIZEMISMATCH: D3D11_MESSAGE_ID =
4306    D3D11_MESSAGE_ID(3146191i32);
4307pub const D3D11_MESSAGE_ID_JPEGDECODE_NONPOW2SCALEUNSUPPORTED: D3D11_MESSAGE_ID =
4308    D3D11_MESSAGE_ID(3146188i32);
4309pub const D3D11_MESSAGE_ID_JPEGDECODE_NOTSUPPORTED: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(3146170i32);
4310pub const D3D11_MESSAGE_ID_JPEGDECODE_OUTPUTDIMENSIONSTOOLARGE: D3D11_MESSAGE_ID =
4311    D3D11_MESSAGE_ID(3146187i32);
4312pub const D3D11_MESSAGE_ID_JPEGDECODE_SCALEUNSUPPORTED: D3D11_MESSAGE_ID =
4313    D3D11_MESSAGE_ID(3146196i32);
4314pub const D3D11_MESSAGE_ID_JPEGDECODE_SUBBOXUNSUPPORTED: D3D11_MESSAGE_ID =
4315    D3D11_MESSAGE_ID(3146193i32);
4316pub const D3D11_MESSAGE_ID_JPEGDECODE_TILEDRESOURCESUNSUPPORTED: D3D11_MESSAGE_ID =
4317    D3D11_MESSAGE_ID(3146174i32);
4318pub const D3D11_MESSAGE_ID_JPEGDECODE_UNSUPPORTEDDSTTEXTUREUSAGE: D3D11_MESSAGE_ID =
4319    D3D11_MESSAGE_ID(3146202i32);
4320pub const D3D11_MESSAGE_ID_JPEGDECODE_UNSUPPORTEDSRCBUFFERMISCFLAGS: D3D11_MESSAGE_ID =
4321    D3D11_MESSAGE_ID(3146201i32);
4322pub const D3D11_MESSAGE_ID_JPEGDECODE_UNSUPPORTEDSRCBUFFERUSAGE: D3D11_MESSAGE_ID =
4323    D3D11_MESSAGE_ID(3146200i32);
4324pub const D3D11_MESSAGE_ID_JPEGDECODE_UNSUPPRTEDCOPYFLAGS: D3D11_MESSAGE_ID =
4325    D3D11_MESSAGE_ID(3146204i32);
4326pub const D3D11_MESSAGE_ID_JPEGDECODE_XSUBSAMPLEMISMATCH: D3D11_MESSAGE_ID =
4327    D3D11_MESSAGE_ID(3146183i32);
4328pub const D3D11_MESSAGE_ID_JPEGDECODE_XSUBSAMPLEODD: D3D11_MESSAGE_ID =
4329    D3D11_MESSAGE_ID(3146185i32);
4330pub const D3D11_MESSAGE_ID_JPEGDECODE_YSUBSAMPLEMISMATCH: D3D11_MESSAGE_ID =
4331    D3D11_MESSAGE_ID(3146184i32);
4332pub const D3D11_MESSAGE_ID_JPEGDECODE_YSUBSAMPLEODD: D3D11_MESSAGE_ID =
4333    D3D11_MESSAGE_ID(3146186i32);
4334pub const D3D11_MESSAGE_ID_JPEGENCODE_BACKBUFFERNOTSUPPORTED: D3D11_MESSAGE_ID =
4335    D3D11_MESSAGE_ID(3146221i32);
4336pub const D3D11_MESSAGE_ID_JPEGENCODE_DIMENSIONSTOOLARGE: D3D11_MESSAGE_ID =
4337    D3D11_MESSAGE_ID(3146216i32);
4338pub const D3D11_MESSAGE_ID_JPEGENCODE_FORMATUNSUPPORTED: D3D11_MESSAGE_ID =
4339    D3D11_MESSAGE_ID(3146213i32);
4340pub const D3D11_MESSAGE_ID_JPEGENCODE_GUARDRECTSUNSUPPORTED: D3D11_MESSAGE_ID =
4341    D3D11_MESSAGE_ID(3146210i32);
4342pub const D3D11_MESSAGE_ID_JPEGENCODE_HAZARD: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(3146217i32);
4343pub const D3D11_MESSAGE_ID_JPEGENCODE_INVALIDCOMPONENTS: D3D11_MESSAGE_ID =
4344    D3D11_MESSAGE_ID(3146207i32);
4345pub const D3D11_MESSAGE_ID_JPEGENCODE_INVALIDMIPLEVEL: D3D11_MESSAGE_ID =
4346    D3D11_MESSAGE_ID(3146215i32);
4347pub const D3D11_MESSAGE_ID_JPEGENCODE_INVALIDSCANDATAOFFSET: D3D11_MESSAGE_ID =
4348    D3D11_MESSAGE_ID(3146206i32);
4349pub const D3D11_MESSAGE_ID_JPEGENCODE_INVALIDSUBRESOURCE: D3D11_MESSAGE_ID =
4350    D3D11_MESSAGE_ID(3146214i32);
4351pub const D3D11_MESSAGE_ID_JPEGENCODE_NOTSUPPORTED: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(3146205i32);
4352pub const D3D11_MESSAGE_ID_JPEGENCODE_SOURCENOT2D: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(3146208i32);
4353pub const D3D11_MESSAGE_ID_JPEGENCODE_TILEDRESOURCESUNSUPPORTED: D3D11_MESSAGE_ID =
4354    D3D11_MESSAGE_ID(3146209i32);
4355pub const D3D11_MESSAGE_ID_JPEGENCODE_UNSUPPORTEDDSTBUFFERMISCFLAGS: D3D11_MESSAGE_ID =
4356    D3D11_MESSAGE_ID(3146219i32);
4357pub const D3D11_MESSAGE_ID_JPEGENCODE_UNSUPPORTEDDSTBUFFERUSAGE: D3D11_MESSAGE_ID =
4358    D3D11_MESSAGE_ID(3146218i32);
4359pub const D3D11_MESSAGE_ID_JPEGENCODE_UNSUPPORTEDSRCTEXTUREUSAGE: D3D11_MESSAGE_ID =
4360    D3D11_MESSAGE_ID(3146220i32);
4361pub const D3D11_MESSAGE_ID_JPEGENCODE_XSUBSAMPLEMISMATCH: D3D11_MESSAGE_ID =
4362    D3D11_MESSAGE_ID(3146211i32);
4363pub const D3D11_MESSAGE_ID_JPEGENCODE_YSUBSAMPLEMISMATCH: D3D11_MESSAGE_ID =
4364    D3D11_MESSAGE_ID(3146212i32);
4365pub const D3D11_MESSAGE_ID_LIVE_AUTHENTICATEDCHANNEL: D3D11_MESSAGE_ID =
4366    D3D11_MESSAGE_ID(3146150i32);
4367pub const D3D11_MESSAGE_ID_LIVE_BLENDSTATE: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(435i32);
4368pub const D3D11_MESSAGE_ID_LIVE_BLENDSTATE_WIN7: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(2097271i32);
4369pub const D3D11_MESSAGE_ID_LIVE_BUFFER: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(423i32);
4370pub const D3D11_MESSAGE_ID_LIVE_BUFFER_WIN7: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(2097229i32);
4371pub const D3D11_MESSAGE_ID_LIVE_CLASSINSTANCE: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(2097291i32);
4372pub const D3D11_MESSAGE_ID_LIVE_CLASSLINKAGE: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(2097294i32);
4373pub const D3D11_MESSAGE_ID_LIVE_COMMANDLIST: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(2097288i32);
4374pub const D3D11_MESSAGE_ID_LIVE_COMPUTESHADER: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(2097299i32);
4375pub const D3D11_MESSAGE_ID_LIVE_CONTEXT: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(2097226i32);
4376pub const D3D11_MESSAGE_ID_LIVE_COUNTER: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(440i32);
4377pub const D3D11_MESSAGE_ID_LIVE_CRYPTOSESSION: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(3146149i32);
4378pub const D3D11_MESSAGE_ID_LIVE_DECODEROUTPUTVIEW: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(3145739i32);
4379pub const D3D11_MESSAGE_ID_LIVE_DEPTHSTENCILSTATE: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(436i32);
4380pub const D3D11_MESSAGE_ID_LIVE_DEPTHSTENCILSTATE_WIN7: D3D11_MESSAGE_ID =
4381    D3D11_MESSAGE_ID(2097274i32);
4382pub const D3D11_MESSAGE_ID_LIVE_DEPTHSTENCILVIEW: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(429i32);
4383pub const D3D11_MESSAGE_ID_LIVE_DEPTHSTENCILVIEW_WIN7: D3D11_MESSAGE_ID =
4384    D3D11_MESSAGE_ID(2097247i32);
4385pub const D3D11_MESSAGE_ID_LIVE_DEVICE: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(441i32);
4386pub const D3D11_MESSAGE_ID_LIVE_DEVICECONTEXTSTATE: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(3145742i32);
4387pub const D3D11_MESSAGE_ID_LIVE_DEVICE_WIN7: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(2097296i32);
4388pub const D3D11_MESSAGE_ID_LIVE_DOMAINSHADER: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(2097256i32);
4389pub const D3D11_MESSAGE_ID_LIVE_FENCE: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(3146251i32);
4390pub const D3D11_MESSAGE_ID_LIVE_GEOMETRYSHADER: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(431i32);
4391pub const D3D11_MESSAGE_ID_LIVE_GEOMETRYSHADER_WIN7: D3D11_MESSAGE_ID =
4392    D3D11_MESSAGE_ID(2097259i32);
4393pub const D3D11_MESSAGE_ID_LIVE_HULLSHADER: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(2097253i32);
4394pub const D3D11_MESSAGE_ID_LIVE_INPUTLAYOUT: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(433i32);
4395pub const D3D11_MESSAGE_ID_LIVE_INPUTLAYOUT_WIN7: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(2097265i32);
4396pub const D3D11_MESSAGE_ID_LIVE_OBJECT_SUMMARY: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(422i32);
4397pub const D3D11_MESSAGE_ID_LIVE_OBJECT_SUMMARY_WIN7: D3D11_MESSAGE_ID =
4398    D3D11_MESSAGE_ID(2097297i32);
4399pub const D3D11_MESSAGE_ID_LIVE_PIXELSHADER: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(432i32);
4400pub const D3D11_MESSAGE_ID_LIVE_PIXELSHADER_WIN7: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(2097262i32);
4401pub const D3D11_MESSAGE_ID_LIVE_PREDICATE: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(439i32);
4402pub const D3D11_MESSAGE_ID_LIVE_PREDICATE_WIN7: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(2097283i32);
4403pub const D3D11_MESSAGE_ID_LIVE_PROCESSORINPUTVIEW: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(3145740i32);
4404pub const D3D11_MESSAGE_ID_LIVE_PROCESSOROUTPUTVIEW: D3D11_MESSAGE_ID =
4405    D3D11_MESSAGE_ID(3145741i32);
4406pub const D3D11_MESSAGE_ID_LIVE_QUERY: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(438i32);
4407pub const D3D11_MESSAGE_ID_LIVE_QUERY_WIN7: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(2097280i32);
4408pub const D3D11_MESSAGE_ID_LIVE_RASTERIZERSTATE: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(437i32);
4409pub const D3D11_MESSAGE_ID_LIVE_RASTERIZERSTATE_WIN7: D3D11_MESSAGE_ID =
4410    D3D11_MESSAGE_ID(2097277i32);
4411pub const D3D11_MESSAGE_ID_LIVE_RENDERTARGETVIEW: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(428i32);
4412pub const D3D11_MESSAGE_ID_LIVE_RENDERTARGETVIEW_WIN7: D3D11_MESSAGE_ID =
4413    D3D11_MESSAGE_ID(2097244i32);
4414pub const D3D11_MESSAGE_ID_LIVE_SAMPLER: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(434i32);
4415pub const D3D11_MESSAGE_ID_LIVE_SAMPLER_WIN7: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(2097268i32);
4416pub const D3D11_MESSAGE_ID_LIVE_SHADERRESOURCEVIEW: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(427i32);
4417pub const D3D11_MESSAGE_ID_LIVE_SHADERRESOURCEVIEW_WIN7: D3D11_MESSAGE_ID =
4418    D3D11_MESSAGE_ID(2097241i32);
4419pub const D3D11_MESSAGE_ID_LIVE_SWAPCHAIN: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(442i32);
4420pub const D3D11_MESSAGE_ID_LIVE_SYNCHRONIZEDCHANNEL: D3D11_MESSAGE_ID =
4421    D3D11_MESSAGE_ID(3146254i32);
4422pub const D3D11_MESSAGE_ID_LIVE_TEXTURE1D: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(424i32);
4423pub const D3D11_MESSAGE_ID_LIVE_TEXTURE1D_WIN7: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(2097232i32);
4424pub const D3D11_MESSAGE_ID_LIVE_TEXTURE2D: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(425i32);
4425pub const D3D11_MESSAGE_ID_LIVE_TEXTURE2D_WIN7: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(2097235i32);
4426pub const D3D11_MESSAGE_ID_LIVE_TEXTURE3D: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(426i32);
4427pub const D3D11_MESSAGE_ID_LIVE_TEXTURE3D_WIN7: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(2097238i32);
4428pub const D3D11_MESSAGE_ID_LIVE_TRACKEDWORKLOAD: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(3146268i32);
4429pub const D3D11_MESSAGE_ID_LIVE_UNORDEREDACCESSVIEW: D3D11_MESSAGE_ID =
4430    D3D11_MESSAGE_ID(2097302i32);
4431pub const D3D11_MESSAGE_ID_LIVE_VERTEXSHADER: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(430i32);
4432pub const D3D11_MESSAGE_ID_LIVE_VERTEXSHADER_WIN7: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(2097250i32);
4433pub const D3D11_MESSAGE_ID_LIVE_VIDEODECODER: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(3145736i32);
4434pub const D3D11_MESSAGE_ID_LIVE_VIDEOPROCESSOR: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(3145738i32);
4435pub const D3D11_MESSAGE_ID_LIVE_VIDEOPROCESSORENUM: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(3145737i32);
4436pub const D3D11_MESSAGE_ID_MESSAGE_REPORTING_OUTOFMEMORY: D3D11_MESSAGE_ID =
4437    D3D11_MESSAGE_ID(29i32);
4438pub const D3D11_MESSAGE_ID_MULTIPLE_TRACKED_WORKLOADS: D3D11_MESSAGE_ID =
4439    D3D11_MESSAGE_ID(3146274i32);
4440pub const D3D11_MESSAGE_ID_MULTIPLE_TRACKED_WORKLOAD_PAIRS: D3D11_MESSAGE_ID =
4441    D3D11_MESSAGE_ID(3146275i32);
4442pub const D3D11_MESSAGE_ID_NEED_TO_CALL_TILEDRESOURCEBARRIER: D3D11_MESSAGE_ID =
4443    D3D11_MESSAGE_ID(3146141i32);
4444pub const D3D11_MESSAGE_ID_NEGOTIATEAUTHENTICATEDCHANNELKEYEXCHANGE_INVALIDCHANNEL:
4445    D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(3146004i32);
4446pub const D3D11_MESSAGE_ID_NEGOTIATEAUTHENTICATEDCHANNELKEYEXCHANGE_INVALIDSIZE: D3D11_MESSAGE_ID =
4447    D3D11_MESSAGE_ID(3146023i32);
4448pub const D3D11_MESSAGE_ID_NEGOTIATEAUTHENTICATEDCHANNELKEYEXCHANGE_NULLPARAM: D3D11_MESSAGE_ID =
4449    D3D11_MESSAGE_ID(3146005i32);
4450pub const D3D11_MESSAGE_ID_NEGOTIATECRPYTOSESSIONKEYEXCHANGE_INVALIDSIZE: D3D11_MESSAGE_ID =
4451    D3D11_MESSAGE_ID(3146022i32);
4452pub const D3D11_MESSAGE_ID_NEGOTIATECRPYTOSESSIONKEYEXCHANGE_NULLPARAM: D3D11_MESSAGE_ID =
4453    D3D11_MESSAGE_ID(3145959i32);
4454pub const D3D11_MESSAGE_ID_NEGOTIATECRYPTOSESSIONKEYEXCHANGEMT_INVALIDKEYEXCHANGETYPE:
4455    D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(3146259i32);
4456pub const D3D11_MESSAGE_ID_NEGOTIATECRYPTOSESSIONKEYEXCHANGEMT_NOT_SUPPORTED: D3D11_MESSAGE_ID =
4457    D3D11_MESSAGE_ID(3146260i32);
4458pub const D3D11_MESSAGE_ID_NO_TRACKED_WORKLOAD_SLOT_AVAILABLE: D3D11_MESSAGE_ID =
4459    D3D11_MESSAGE_ID(3146281i32);
4460pub const D3D11_MESSAGE_ID_NULL_TILE_MAPPING_ACCESS_ERROR: D3D11_MESSAGE_ID =
4461    D3D11_MESSAGE_ID(3146132i32);
4462pub const D3D11_MESSAGE_ID_NULL_TILE_MAPPING_ACCESS_WARNING: D3D11_MESSAGE_ID =
4463    D3D11_MESSAGE_ID(3146131i32);
4464pub const D3D11_MESSAGE_ID_OFFERRELEASE_NOT_SUPPORTED: D3D11_MESSAGE_ID =
4465    D3D11_MESSAGE_ID(3146071i32);
4466pub const D3D11_MESSAGE_ID_OFFERRESOURCES_INACCESSIBLE: D3D11_MESSAGE_ID =
4467    D3D11_MESSAGE_ID(3146072i32);
4468pub const D3D11_MESSAGE_ID_OFFERRESOURCES_INVALIDPRIORITY: D3D11_MESSAGE_ID =
4469    D3D11_MESSAGE_ID(3146024i32);
4470pub const D3D11_MESSAGE_ID_OFFERRESOURCES_INVALIDRESOURCE: D3D11_MESSAGE_ID =
4471    D3D11_MESSAGE_ID(2097412i32);
4472pub const D3D11_MESSAGE_ID_OMSETBLENDSTATE_UNBINDDELETINGOBJECT: D3D11_MESSAGE_ID =
4473    D3D11_MESSAGE_ID(47i32);
4474pub const D3D11_MESSAGE_ID_OMSETDEPTHSTENCILSTATE_UNBINDDELETINGOBJECT: D3D11_MESSAGE_ID =
4475    D3D11_MESSAGE_ID(48i32);
4476pub const D3D11_MESSAGE_ID_OMSETDEPTHSTENCIL_UNBINDDELETINGOBJECT: D3D11_MESSAGE_ID =
4477    D3D11_MESSAGE_ID(2097368i32);
4478pub const D3D11_MESSAGE_ID_OMSETRENDERTARGETS_INVALIDVIEW: D3D11_MESSAGE_ID =
4479    D3D11_MESSAGE_ID(388i32);
4480pub const D3D11_MESSAGE_ID_OMSETRENDERTARGETS_NO_DIFFERING_BIT_DEPTHS: D3D11_MESSAGE_ID =
4481    D3D11_MESSAGE_ID(1048591i32);
4482pub const D3D11_MESSAGE_ID_OMSETRENDERTARGETS_NO_SRGB_MRT: D3D11_MESSAGE_ID =
4483    D3D11_MESSAGE_ID(1048636i32);
4484pub const D3D11_MESSAGE_ID_OMSETRENDERTARGETS_TOO_MANY_RENDER_TARGETS: D3D11_MESSAGE_ID =
4485    D3D11_MESSAGE_ID(1048590i32);
4486pub const D3D11_MESSAGE_ID_OMSETRENDERTARGETS_UNBINDDELETINGOBJECT: D3D11_MESSAGE_ID =
4487    D3D11_MESSAGE_ID(49i32);
4488pub const D3D11_MESSAGE_ID_OUT_OF_ORDER_TRACKED_WORKLOAD_PAIR: D3D11_MESSAGE_ID =
4489    D3D11_MESSAGE_ID(3146277i32);
4490pub const D3D11_MESSAGE_ID_PREDICATE_BEGIN_DURING_PREDICATION: D3D11_MESSAGE_ID =
4491    D3D11_MESSAGE_ID(406i32);
4492pub const D3D11_MESSAGE_ID_PREDICATE_END_DURING_PREDICATION: D3D11_MESSAGE_ID =
4493    D3D11_MESSAGE_ID(409i32);
4494pub const D3D11_MESSAGE_ID_PSSETCONSTANTBUFFERS_INVALIDBUFFER: D3D11_MESSAGE_ID =
4495    D3D11_MESSAGE_ID(256i32);
4496pub const D3D11_MESSAGE_ID_PSSETCONSTANTBUFFERS_INVALIDBUFFEROFFSETORCOUNT: D3D11_MESSAGE_ID =
4497    D3D11_MESSAGE_ID(3146020i32);
4498pub const D3D11_MESSAGE_ID_PSSETCONSTANTBUFFERS_UNBINDDELETINGOBJECT: D3D11_MESSAGE_ID =
4499    D3D11_MESSAGE_ID(44i32);
4500pub const D3D11_MESSAGE_ID_PSSETSAMPLERS_TOO_MANY_SAMPLERS: D3D11_MESSAGE_ID =
4501    D3D11_MESSAGE_ID(1048584i32);
4502pub const D3D11_MESSAGE_ID_PSSETSAMPLERS_UNBINDDELETINGOBJECT: D3D11_MESSAGE_ID =
4503    D3D11_MESSAGE_ID(45i32);
4504pub const D3D11_MESSAGE_ID_PSSETSHADERRESOURCES_UNBINDDELETINGOBJECT: D3D11_MESSAGE_ID =
4505    D3D11_MESSAGE_ID(43i32);
4506pub const D3D11_MESSAGE_ID_PSSETSHADER_UNBINDDELETINGOBJECT: D3D11_MESSAGE_ID =
4507    D3D11_MESSAGE_ID(42i32);
4508pub const D3D11_MESSAGE_ID_PSSETUNORDEREDACCESSVIEWS_UNBINDDELETINGOBJECT: D3D11_MESSAGE_ID =
4509    D3D11_MESSAGE_ID(2097350i32);
4510pub const D3D11_MESSAGE_ID_QUERYAUTHENTICATEDCHANNEL_INVALIDPROCESSINDEX: D3D11_MESSAGE_ID =
4511    D3D11_MESSAGE_ID(3146010i32);
4512pub const D3D11_MESSAGE_ID_QUERYAUTHENTICATEDCHANNEL_NULLPARAM: D3D11_MESSAGE_ID =
4513    D3D11_MESSAGE_ID(3146006i32);
4514pub const D3D11_MESSAGE_ID_QUERYAUTHENTICATEDCHANNEL_UNSUPPORTEDQUERY: D3D11_MESSAGE_ID =
4515    D3D11_MESSAGE_ID(3146008i32);
4516pub const D3D11_MESSAGE_ID_QUERYAUTHENTICATEDCHANNEL_WRONGCHANNEL: D3D11_MESSAGE_ID =
4517    D3D11_MESSAGE_ID(3146007i32);
4518pub const D3D11_MESSAGE_ID_QUERYAUTHENTICATEDCHANNEL_WRONGSIZE: D3D11_MESSAGE_ID =
4519    D3D11_MESSAGE_ID(3146009i32);
4520pub const D3D11_MESSAGE_ID_QUERY_BEGIN_ABANDONING_PREVIOUS_RESULTS: D3D11_MESSAGE_ID =
4521    D3D11_MESSAGE_ID(408i32);
4522pub const D3D11_MESSAGE_ID_QUERY_BEGIN_DUPLICATE: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(407i32);
4523pub const D3D11_MESSAGE_ID_QUERY_BEGIN_UNSUPPORTED: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(405i32);
4524pub const D3D11_MESSAGE_ID_QUERY_END_ABANDONING_PREVIOUS_RESULTS: D3D11_MESSAGE_ID =
4525    D3D11_MESSAGE_ID(410i32);
4526pub const D3D11_MESSAGE_ID_QUERY_END_WITHOUT_BEGIN: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(411i32);
4527pub const D3D11_MESSAGE_ID_QUERY_GETDATA_INVALID_CALL: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(414i32);
4528pub const D3D11_MESSAGE_ID_QUERY_GETDATA_INVALID_DATASIZE: D3D11_MESSAGE_ID =
4529    D3D11_MESSAGE_ID(412i32);
4530pub const D3D11_MESSAGE_ID_QUERY_GETDATA_INVALID_FLAGS: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(413i32);
4531pub const D3D11_MESSAGE_ID_RECOMMENDVIDEODECODERDOWNSAMPLING_INVALIDCOLORSPACE: D3D11_MESSAGE_ID =
4532    D3D11_MESSAGE_ID(3146107i32);
4533pub const D3D11_MESSAGE_ID_RECOMMENDVIDEODECODERDOWNSAMPLING_NULLPARAM: D3D11_MESSAGE_ID =
4534    D3D11_MESSAGE_ID(3146106i32);
4535pub const D3D11_MESSAGE_ID_RECOMMENDVIDEODECODERDOWNSAMPLING_ZEROWIDTHHEIGHT: D3D11_MESSAGE_ID =
4536    D3D11_MESSAGE_ID(3146108i32);
4537pub const D3D11_MESSAGE_ID_REF_ACCESSING_INDEXABLE_TEMP_OUT_OF_RANGE: D3D11_MESSAGE_ID =
4538    D3D11_MESSAGE_ID(331i32);
4539pub const D3D11_MESSAGE_ID_REF_HARDWARE_EXCEPTION: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(330i32);
4540pub const D3D11_MESSAGE_ID_REF_INFO: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(334i32);
4541pub const D3D11_MESSAGE_ID_REF_KMDRIVER_EXCEPTION: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(329i32);
4542pub const D3D11_MESSAGE_ID_REF_OUT_OF_MEMORY: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(333i32);
4543pub const D3D11_MESSAGE_ID_REF_PROBLEM_PARSING_SHADER: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(332i32);
4544pub const D3D11_MESSAGE_ID_REF_SIMULATING_INFINITELY_FAST_HARDWARE: D3D11_MESSAGE_ID =
4545    D3D11_MESSAGE_ID(326i32);
4546pub const D3D11_MESSAGE_ID_REF_THREADING_MODE: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(327i32);
4547pub const D3D11_MESSAGE_ID_REF_UMDRIVER_EXCEPTION: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(328i32);
4548pub const D3D11_MESSAGE_ID_REF_WARNING: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(2097407i32);
4549pub const D3D11_MESSAGE_ID_REF_WARNING_ATOMIC_INCONSISTENT: D3D11_MESSAGE_ID =
4550    D3D11_MESSAGE_ID(3145946i32);
4551pub const D3D11_MESSAGE_ID_REF_WARNING_RAW_HAZARD: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(3145948i32);
4552pub const D3D11_MESSAGE_ID_REF_WARNING_READING_UNINITIALIZED_RESOURCE: D3D11_MESSAGE_ID =
4553    D3D11_MESSAGE_ID(3145947i32);
4554pub const D3D11_MESSAGE_ID_REF_WARNING_WAR_HAZARD: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(3145949i32);
4555pub const D3D11_MESSAGE_ID_REF_WARNING_WAW_HAZARD: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(3145950i32);
4556pub const D3D11_MESSAGE_ID_RELEASEDECODERBUFFER_INVALIDTYPE: D3D11_MESSAGE_ID =
4557    D3D11_MESSAGE_ID(3145782i32);
4558pub const D3D11_MESSAGE_ID_RELEASEDECODERBUFFER_NOTLOCKED: D3D11_MESSAGE_ID =
4559    D3D11_MESSAGE_ID(3145783i32);
4560pub const D3D11_MESSAGE_ID_RELEASEDECODERBUFFER_NULLPARAM: D3D11_MESSAGE_ID =
4561    D3D11_MESSAGE_ID(3145781i32);
4562pub const D3D11_MESSAGE_ID_RESIZETILEPOOL_INVALID_PARAMETER: D3D11_MESSAGE_ID =
4563    D3D11_MESSAGE_ID(3146129i32);
4564pub const D3D11_MESSAGE_ID_RESIZETILEPOOL_SHRINK_WITH_MAPPINGS_STILL_DEFINED_PAST_END:
4565    D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(3146140i32);
4566pub const D3D11_MESSAGE_ID_RESOURCE_MAP_ALREADYMAPPED: D3D11_MESSAGE_ID =
4567    D3D11_MESSAGE_ID(2097213i32);
4568pub const D3D11_MESSAGE_ID_RESOURCE_MAP_DEVICEREMOVED_RETURN: D3D11_MESSAGE_ID =
4569    D3D11_MESSAGE_ID(2097214i32);
4570pub const D3D11_MESSAGE_ID_RESOURCE_MAP_INVALIDFLAGS: D3D11_MESSAGE_ID =
4571    D3D11_MESSAGE_ID(2097212i32);
4572pub const D3D11_MESSAGE_ID_RESOURCE_MAP_INVALIDMAPTYPE: D3D11_MESSAGE_ID =
4573    D3D11_MESSAGE_ID(2097210i32);
4574pub const D3D11_MESSAGE_ID_RESOURCE_MAP_INVALIDSUBRESOURCE: D3D11_MESSAGE_ID =
4575    D3D11_MESSAGE_ID(2097211i32);
4576pub const D3D11_MESSAGE_ID_RESOURCE_MAP_OUTOFMEMORY_RETURN: D3D11_MESSAGE_ID =
4577    D3D11_MESSAGE_ID(2097215i32);
4578pub const D3D11_MESSAGE_ID_RESOURCE_MAP_WITHOUT_INITIAL_DISCARD: D3D11_MESSAGE_ID =
4579    D3D11_MESSAGE_ID(2097216i32);
4580pub const D3D11_MESSAGE_ID_RESOURCE_UNMAP_INVALIDSUBRESOURCE: D3D11_MESSAGE_ID =
4581    D3D11_MESSAGE_ID(2097217i32);
4582pub const D3D11_MESSAGE_ID_RESOURCE_UNMAP_NOTMAPPED: D3D11_MESSAGE_ID =
4583    D3D11_MESSAGE_ID(2097218i32);
4584pub const D3D11_MESSAGE_ID_RSSETSTATE_UNBINDDELETINGOBJECT: D3D11_MESSAGE_ID =
4585    D3D11_MESSAGE_ID(46i32);
4586pub const D3D11_MESSAGE_ID_SETBLENDSTATE_SAMPLE_MASK_CANNOT_BE_ZERO: D3D11_MESSAGE_ID =
4587    D3D11_MESSAGE_ID(1048629i32);
4588pub const D3D11_MESSAGE_ID_SETEXCEPTIONMODE_DEVICEREMOVED_RETURN: D3D11_MESSAGE_ID =
4589    D3D11_MESSAGE_ID(325i32);
4590pub const D3D11_MESSAGE_ID_SETEXCEPTIONMODE_INVALIDARG_RETURN: D3D11_MESSAGE_ID =
4591    D3D11_MESSAGE_ID(324i32);
4592pub const D3D11_MESSAGE_ID_SETEXCEPTIONMODE_UNRECOGNIZEDFLAGS: D3D11_MESSAGE_ID =
4593    D3D11_MESSAGE_ID(323i32);
4594pub const D3D11_MESSAGE_ID_SETPREDICATION_INVALID_PREDICATE_STATE: D3D11_MESSAGE_ID =
4595    D3D11_MESSAGE_ID(404i32);
4596pub const D3D11_MESSAGE_ID_SETPREDICATION_UNBINDDELETINGOBJECT: D3D11_MESSAGE_ID =
4597    D3D11_MESSAGE_ID(50i32);
4598pub const D3D11_MESSAGE_ID_SETPRIVATEDATA_CHANGINGPARAMS: D3D11_MESSAGE_ID =
4599    D3D11_MESSAGE_ID(55i32);
4600pub const D3D11_MESSAGE_ID_SETPRIVATEDATA_INVALIDFLAGS: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(54i32);
4601pub const D3D11_MESSAGE_ID_SETPRIVATEDATA_INVALIDFREEDATA: D3D11_MESSAGE_ID =
4602    D3D11_MESSAGE_ID(52i32);
4603pub const D3D11_MESSAGE_ID_SETPRIVATEDATA_INVALIDIUNKNOWN: D3D11_MESSAGE_ID =
4604    D3D11_MESSAGE_ID(53i32);
4605pub const D3D11_MESSAGE_ID_SETPRIVATEDATA_OUTOFMEMORY: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(56i32);
4606pub const D3D11_MESSAGE_ID_SHADERRESOURCEVIEW_GETDESC_LEGACY: D3D11_MESSAGE_ID =
4607    D3D11_MESSAGE_ID(393i32);
4608pub const D3D11_MESSAGE_ID_SHADER_ABORT: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(2097409i32);
4609pub const D3D11_MESSAGE_ID_SHADER_ERROR: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(2097411i32);
4610pub const D3D11_MESSAGE_ID_SHADER_MESSAGE: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(2097410i32);
4611pub const D3D11_MESSAGE_ID_SLOT_ZERO_MUST_BE_D3D10_INPUT_PER_VERTEX_DATA: D3D11_MESSAGE_ID =
4612    D3D11_MESSAGE_ID(1048633i32);
4613pub const D3D11_MESSAGE_ID_SOSETTARGETS_INVALIDBUFFER: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(253i32);
4614pub const D3D11_MESSAGE_ID_SOSETTARGETS_UNBINDDELETINGOBJECT: D3D11_MESSAGE_ID =
4615    D3D11_MESSAGE_ID(41i32);
4616pub const D3D11_MESSAGE_ID_STARTSESSIONKEYREFRESH_INVALIDSIZE: D3D11_MESSAGE_ID =
4617    D3D11_MESSAGE_ID(3145988i32);
4618pub const D3D11_MESSAGE_ID_STARTSESSIONKEYREFRESH_NULLPARAM: D3D11_MESSAGE_ID =
4619    D3D11_MESSAGE_ID(3145987i32);
4620pub const D3D11_MESSAGE_ID_STREAM_OUT_NOT_SUPPORTED: D3D11_MESSAGE_ID =
4621    D3D11_MESSAGE_ID(1048620i32);
4622pub const D3D11_MESSAGE_ID_STRING_FROM_APPLICATION: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(11i32);
4623pub const D3D11_MESSAGE_ID_SUBMITDECODERBUFFERS_INVALIDTYPE: D3D11_MESSAGE_ID =
4624    D3D11_MESSAGE_ID(3145788i32);
4625pub const D3D11_MESSAGE_ID_SUBMITDECODERBUFFERS_NULLPARAM: D3D11_MESSAGE_ID =
4626    D3D11_MESSAGE_ID(3145787i32);
4627pub const D3D11_MESSAGE_ID_SWAPDEVICECONTEXTSTATE_NOTSUPPORTED: D3D11_MESSAGE_ID =
4628    D3D11_MESSAGE_ID(3146063i32);
4629pub const D3D11_MESSAGE_ID_TEXTURE1D_MAP_ALREADYMAPPED: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(303i32);
4630pub const D3D11_MESSAGE_ID_TEXTURE1D_MAP_DEVICEREMOVED_RETURN: D3D11_MESSAGE_ID =
4631    D3D11_MESSAGE_ID(304i32);
4632pub const D3D11_MESSAGE_ID_TEXTURE1D_MAP_INVALIDFLAGS: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(302i32);
4633pub const D3D11_MESSAGE_ID_TEXTURE1D_MAP_INVALIDMAPTYPE: D3D11_MESSAGE_ID =
4634    D3D11_MESSAGE_ID(300i32);
4635pub const D3D11_MESSAGE_ID_TEXTURE1D_MAP_INVALIDSUBRESOURCE: D3D11_MESSAGE_ID =
4636    D3D11_MESSAGE_ID(301i32);
4637pub const D3D11_MESSAGE_ID_TEXTURE1D_UNMAP_INVALIDSUBRESOURCE: D3D11_MESSAGE_ID =
4638    D3D11_MESSAGE_ID(305i32);
4639pub const D3D11_MESSAGE_ID_TEXTURE1D_UNMAP_NOTMAPPED: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(306i32);
4640pub const D3D11_MESSAGE_ID_TEXTURE2D_MAP_ALREADYMAPPED: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(310i32);
4641pub const D3D11_MESSAGE_ID_TEXTURE2D_MAP_DEVICEREMOVED_RETURN: D3D11_MESSAGE_ID =
4642    D3D11_MESSAGE_ID(311i32);
4643pub const D3D11_MESSAGE_ID_TEXTURE2D_MAP_INVALIDFLAGS: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(309i32);
4644pub const D3D11_MESSAGE_ID_TEXTURE2D_MAP_INVALIDMAPTYPE: D3D11_MESSAGE_ID =
4645    D3D11_MESSAGE_ID(307i32);
4646pub const D3D11_MESSAGE_ID_TEXTURE2D_MAP_INVALIDSUBRESOURCE: D3D11_MESSAGE_ID =
4647    D3D11_MESSAGE_ID(308i32);
4648pub const D3D11_MESSAGE_ID_TEXTURE2D_UNMAP_INVALIDSUBRESOURCE: D3D11_MESSAGE_ID =
4649    D3D11_MESSAGE_ID(312i32);
4650pub const D3D11_MESSAGE_ID_TEXTURE2D_UNMAP_NOTMAPPED: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(313i32);
4651pub const D3D11_MESSAGE_ID_TEXTURE3D_MAP_ALREADYMAPPED: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(317i32);
4652pub const D3D11_MESSAGE_ID_TEXTURE3D_MAP_DEVICEREMOVED_RETURN: D3D11_MESSAGE_ID =
4653    D3D11_MESSAGE_ID(318i32);
4654pub const D3D11_MESSAGE_ID_TEXTURE3D_MAP_INVALIDFLAGS: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(316i32);
4655pub const D3D11_MESSAGE_ID_TEXTURE3D_MAP_INVALIDMAPTYPE: D3D11_MESSAGE_ID =
4656    D3D11_MESSAGE_ID(314i32);
4657pub const D3D11_MESSAGE_ID_TEXTURE3D_MAP_INVALIDSUBRESOURCE: D3D11_MESSAGE_ID =
4658    D3D11_MESSAGE_ID(315i32);
4659pub const D3D11_MESSAGE_ID_TEXTURE3D_UNMAP_INVALIDSUBRESOURCE: D3D11_MESSAGE_ID =
4660    D3D11_MESSAGE_ID(319i32);
4661pub const D3D11_MESSAGE_ID_TEXTURE3D_UNMAP_NOTMAPPED: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(320i32);
4662pub const D3D11_MESSAGE_ID_TEXT_FILTER_NOT_SUPPORTED: D3D11_MESSAGE_ID =
4663    D3D11_MESSAGE_ID(1048621i32);
4664pub const D3D11_MESSAGE_ID_TILEDRESOURCEBARRIER_INVALID_PARAMETER: D3D11_MESSAGE_ID =
4665    D3D11_MESSAGE_ID(3146130i32);
4666pub const D3D11_MESSAGE_ID_TILED_RESOURCE_TIER_1_BUFFER_TEXTURE_MISMATCH: D3D11_MESSAGE_ID =
4667    D3D11_MESSAGE_ID(3146146i32);
4668pub const D3D11_MESSAGE_ID_TILE_MAPPINGS_IN_COVERED_AREA_DUPLICATED_OUTSIDE: D3D11_MESSAGE_ID =
4669    D3D11_MESSAGE_ID(3146135i32);
4670pub const D3D11_MESSAGE_ID_TILE_MAPPINGS_SHARED_BETWEEN_INCOMPATIBLE_RESOURCES: D3D11_MESSAGE_ID =
4671    D3D11_MESSAGE_ID(3146136i32);
4672pub const D3D11_MESSAGE_ID_TILE_MAPPINGS_SHARED_BETWEEN_INPUT_AND_OUTPUT: D3D11_MESSAGE_ID =
4673    D3D11_MESSAGE_ID(3146137i32);
4674pub const D3D11_MESSAGE_ID_TRACKED_WORKLOAD_DISJOINT_FAILURE: D3D11_MESSAGE_ID =
4675    D3D11_MESSAGE_ID(3146283i32);
4676pub const D3D11_MESSAGE_ID_TRACKED_WORKLOAD_ENGINE_TYPE_NOT_FOUND: D3D11_MESSAGE_ID =
4677    D3D11_MESSAGE_ID(3146280i32);
4678pub const D3D11_MESSAGE_ID_TRACKED_WORKLOAD_NOT_SUPPORTED: D3D11_MESSAGE_ID =
4679    D3D11_MESSAGE_ID(3146279i32);
4680pub const D3D11_MESSAGE_ID_UNKNOWN: D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(0i32);
4681pub const D3D11_MESSAGE_ID_UPDATESUBRESOURCE1_INVALIDCOPYFLAGS: D3D11_MESSAGE_ID =
4682    D3D11_MESSAGE_ID(3145756i32);
4683pub const D3D11_MESSAGE_ID_UPDATESUBRESOURCE_EMPTYDESTBOX: D3D11_MESSAGE_ID =
4684    D3D11_MESSAGE_ID(3146077i32);
4685pub const D3D11_MESSAGE_ID_UPDATESUBRESOURCE_INVALIDDESTINATIONBOX: D3D11_MESSAGE_ID =
4686    D3D11_MESSAGE_ID(288i32);
4687pub const D3D11_MESSAGE_ID_UPDATESUBRESOURCE_INVALIDDESTINATIONSTATE: D3D11_MESSAGE_ID =
4688    D3D11_MESSAGE_ID(289i32);
4689pub const D3D11_MESSAGE_ID_UPDATESUBRESOURCE_INVALIDDESTINATIONSUBRESOURCE: D3D11_MESSAGE_ID =
4690    D3D11_MESSAGE_ID(287i32);
4691pub const D3D11_MESSAGE_ID_UPDATESUBRESOURCE_PREFERUPDATESUBRESOURCE1: D3D11_MESSAGE_ID =
4692    D3D11_MESSAGE_ID(3146064i32);
4693pub const D3D11_MESSAGE_ID_UPDATETILEMAPPINGS_INVALID_PARAMETER: D3D11_MESSAGE_ID =
4694    D3D11_MESSAGE_ID(3146125i32);
4695pub const D3D11_MESSAGE_ID_UPDATETILES_INVALID_PARAMETER: D3D11_MESSAGE_ID =
4696    D3D11_MESSAGE_ID(3146128i32);
4697pub const D3D11_MESSAGE_ID_USE_OF_ZERO_REFCOUNT_OBJECT: D3D11_MESSAGE_ID =
4698    D3D11_MESSAGE_ID(2097423i32);
4699pub const D3D11_MESSAGE_ID_VIDEODECODERENABLEDOWNSAMPLING_NULLPARAM: D3D11_MESSAGE_ID =
4700    D3D11_MESSAGE_ID(3146092i32);
4701pub const D3D11_MESSAGE_ID_VIDEODECODERENABLEDOWNSAMPLING_UNSUPPORTED: D3D11_MESSAGE_ID =
4702    D3D11_MESSAGE_ID(3146093i32);
4703pub const D3D11_MESSAGE_ID_VIDEODECODERUPDATEDOWNSAMPLING_NULLPARAM: D3D11_MESSAGE_ID =
4704    D3D11_MESSAGE_ID(3146094i32);
4705pub const D3D11_MESSAGE_ID_VIDEODECODERUPDATEDOWNSAMPLING_UNSUPPORTED: D3D11_MESSAGE_ID =
4706    D3D11_MESSAGE_ID(3146095i32);
4707pub const D3D11_MESSAGE_ID_VIDEOPROCESSORBLT_INPUTHAZARD: D3D11_MESSAGE_ID =
4708    D3D11_MESSAGE_ID(3145905i32);
4709pub const D3D11_MESSAGE_ID_VIDEOPROCESSORBLT_INVALIDARRAY: D3D11_MESSAGE_ID =
4710    D3D11_MESSAGE_ID(3145899i32);
4711pub const D3D11_MESSAGE_ID_VIDEOPROCESSORBLT_INVALIDARRAYSIZE: D3D11_MESSAGE_ID =
4712    D3D11_MESSAGE_ID(3145898i32);
4713pub const D3D11_MESSAGE_ID_VIDEOPROCESSORBLT_INVALIDDESTRECT: D3D11_MESSAGE_ID =
4714    D3D11_MESSAGE_ID(3145896i32);
4715pub const D3D11_MESSAGE_ID_VIDEOPROCESSORBLT_INVALIDFUTUREFRAMES: D3D11_MESSAGE_ID =
4716    D3D11_MESSAGE_ID(3145894i32);
4717pub const D3D11_MESSAGE_ID_VIDEOPROCESSORBLT_INVALIDINPUTRESOURCE: D3D11_MESSAGE_ID =
4718    D3D11_MESSAGE_ID(3145897i32);
4719pub const D3D11_MESSAGE_ID_VIDEOPROCESSORBLT_INVALIDOUTPUT: D3D11_MESSAGE_ID =
4720    D3D11_MESSAGE_ID(3145892i32);
4721pub const D3D11_MESSAGE_ID_VIDEOPROCESSORBLT_INVALIDPASTFRAMES: D3D11_MESSAGE_ID =
4722    D3D11_MESSAGE_ID(3145893i32);
4723pub const D3D11_MESSAGE_ID_VIDEOPROCESSORBLT_INVALIDRIGHTRESOURCE: D3D11_MESSAGE_ID =
4724    D3D11_MESSAGE_ID(3145903i32);
4725pub const D3D11_MESSAGE_ID_VIDEOPROCESSORBLT_INVALIDSOURCERECT: D3D11_MESSAGE_ID =
4726    D3D11_MESSAGE_ID(3145895i32);
4727pub const D3D11_MESSAGE_ID_VIDEOPROCESSORBLT_INVALIDSTREAMCOUNT: D3D11_MESSAGE_ID =
4728    D3D11_MESSAGE_ID(3145890i32);
4729pub const D3D11_MESSAGE_ID_VIDEOPROCESSORBLT_NOSTEREOSTREAMS: D3D11_MESSAGE_ID =
4730    D3D11_MESSAGE_ID(3145904i32);
4731pub const D3D11_MESSAGE_ID_VIDEOPROCESSORBLT_NULLPARAM: D3D11_MESSAGE_ID =
4732    D3D11_MESSAGE_ID(3145889i32);
4733pub const D3D11_MESSAGE_ID_VIDEOPROCESSORBLT_OUTPUTHAZARD: D3D11_MESSAGE_ID =
4734    D3D11_MESSAGE_ID(3145906i32);
4735pub const D3D11_MESSAGE_ID_VIDEOPROCESSORBLT_RIGHTEXPECTED: D3D11_MESSAGE_ID =
4736    D3D11_MESSAGE_ID(3145900i32);
4737pub const D3D11_MESSAGE_ID_VIDEOPROCESSORBLT_RIGHTNOTEXPECTED: D3D11_MESSAGE_ID =
4738    D3D11_MESSAGE_ID(3145901i32);
4739pub const D3D11_MESSAGE_ID_VIDEOPROCESSORBLT_STEREONOTENABLED: D3D11_MESSAGE_ID =
4740    D3D11_MESSAGE_ID(3145902i32);
4741pub const D3D11_MESSAGE_ID_VIDEOPROCESSORBLT_TARGETRECT: D3D11_MESSAGE_ID =
4742    D3D11_MESSAGE_ID(3145891i32);
4743pub const D3D11_MESSAGE_ID_VIDEOPROCESSORGETBEHAVIORHINTS_INVALIDDESTRECT: D3D11_MESSAGE_ID =
4744    D3D11_MESSAGE_ID(3146115i32);
4745pub const D3D11_MESSAGE_ID_VIDEOPROCESSORGETBEHAVIORHINTS_INVALIDSOURCERECT: D3D11_MESSAGE_ID =
4746    D3D11_MESSAGE_ID(3146114i32);
4747pub const D3D11_MESSAGE_ID_VIDEOPROCESSORGETBEHAVIORHINTS_INVALIDSTREAMCOUNT: D3D11_MESSAGE_ID =
4748    D3D11_MESSAGE_ID(3146112i32);
4749pub const D3D11_MESSAGE_ID_VIDEOPROCESSORGETBEHAVIORHINTS_NULLPARAM: D3D11_MESSAGE_ID =
4750    D3D11_MESSAGE_ID(3146111i32);
4751pub const D3D11_MESSAGE_ID_VIDEOPROCESSORGETBEHAVIORHINTS_TARGETRECT: D3D11_MESSAGE_ID =
4752    D3D11_MESSAGE_ID(3146113i32);
4753pub const D3D11_MESSAGE_ID_VIDEOPROCESSORGETOUTPUTALPHAFILLMODE_NULLPARAM: D3D11_MESSAGE_ID =
4754    D3D11_MESSAGE_ID(3145824i32);
4755pub const D3D11_MESSAGE_ID_VIDEOPROCESSORGETOUTPUTBACKGROUNDCOLOR_NULLPARAM: D3D11_MESSAGE_ID =
4756    D3D11_MESSAGE_ID(3145822i32);
4757pub const D3D11_MESSAGE_ID_VIDEOPROCESSORGETOUTPUTCOLORSPACE1_NULLPARAM: D3D11_MESSAGE_ID =
4758    D3D11_MESSAGE_ID(3146098i32);
4759pub const D3D11_MESSAGE_ID_VIDEOPROCESSORGETOUTPUTCOLORSPACE_NULLPARAM: D3D11_MESSAGE_ID =
4760    D3D11_MESSAGE_ID(3145823i32);
4761pub const D3D11_MESSAGE_ID_VIDEOPROCESSORGETOUTPUTCONSTRICTION_NULLPARAM: D3D11_MESSAGE_ID =
4762    D3D11_MESSAGE_ID(3145825i32);
4763pub const D3D11_MESSAGE_ID_VIDEOPROCESSORGETOUTPUTEXTENSION_NULLPARAM: D3D11_MESSAGE_ID =
4764    D3D11_MESSAGE_ID(3145829i32);
4765pub const D3D11_MESSAGE_ID_VIDEOPROCESSORGETOUTPUTHDRMETADATA_INVALIDSIZE: D3D11_MESSAGE_ID =
4766    D3D11_MESSAGE_ID(3146228i32);
4767pub const D3D11_MESSAGE_ID_VIDEOPROCESSORGETOUTPUTHDRMETADATA_NULLPARAM: D3D11_MESSAGE_ID =
4768    D3D11_MESSAGE_ID(3146227i32);
4769pub const D3D11_MESSAGE_ID_VIDEOPROCESSORGETOUTPUTSHADERUSAGE_NULLPARAM: D3D11_MESSAGE_ID =
4770    D3D11_MESSAGE_ID(3146110i32);
4771pub const D3D11_MESSAGE_ID_VIDEOPROCESSORGETOUTPUTSTEREOMODE_NULLPARAM: D3D11_MESSAGE_ID =
4772    D3D11_MESSAGE_ID(3145828i32);
4773pub const D3D11_MESSAGE_ID_VIDEOPROCESSORGETOUTPUTTARGETRECT_NULLPARAM: D3D11_MESSAGE_ID =
4774    D3D11_MESSAGE_ID(3145821i32);
4775pub const D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMALPHA_INVALIDSTREAM: D3D11_MESSAGE_ID =
4776    D3D11_MESSAGE_ID(3146240i32);
4777pub const D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMALPHA_NULLPARAM: D3D11_MESSAGE_ID =
4778    D3D11_MESSAGE_ID(3145880i32);
4779pub const D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMAUTOPROCESSINGMODE_INVALIDSTREAM:
4780    D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(3146245i32);
4781pub const D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMAUTOPROCESSINGMODE_NULLPARAM: D3D11_MESSAGE_ID =
4782    D3D11_MESSAGE_ID(3145885i32);
4783pub const D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMCOLORSPACE1_INVALIDSTREAM: D3D11_MESSAGE_ID =
4784    D3D11_MESSAGE_ID(3146248i32);
4785pub const D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMCOLORSPACE1_NULLPARAM: D3D11_MESSAGE_ID =
4786    D3D11_MESSAGE_ID(3146104i32);
4787pub const D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMCOLORSPACE_INVALIDSTREAM: D3D11_MESSAGE_ID =
4788    D3D11_MESSAGE_ID(3146236i32);
4789pub const D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMCOLORSPACE_NULLPARAM: D3D11_MESSAGE_ID =
4790    D3D11_MESSAGE_ID(3145876i32);
4791pub const D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMDESTRECT_INVALIDSTREAM: D3D11_MESSAGE_ID =
4792    D3D11_MESSAGE_ID(3146239i32);
4793pub const D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMDESTRECT_NULLPARAM: D3D11_MESSAGE_ID =
4794    D3D11_MESSAGE_ID(3145879i32);
4795pub const D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMEXTENSION_INVALIDSTREAM: D3D11_MESSAGE_ID =
4796    D3D11_MESSAGE_ID(3145888i32);
4797pub const D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMEXTENSION_NULLPARAM: D3D11_MESSAGE_ID =
4798    D3D11_MESSAGE_ID(3145887i32);
4799pub const D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMFILTER_INVALIDSTREAM: D3D11_MESSAGE_ID =
4800    D3D11_MESSAGE_ID(3146246i32);
4801pub const D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMFILTER_NULLPARAM: D3D11_MESSAGE_ID =
4802    D3D11_MESSAGE_ID(3145886i32);
4803pub const D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMFRAMEFORMAT_INVALIDSTREAM: D3D11_MESSAGE_ID =
4804    D3D11_MESSAGE_ID(3146235i32);
4805pub const D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMFRAMEFORMAT_NULLPARAM: D3D11_MESSAGE_ID =
4806    D3D11_MESSAGE_ID(3145875i32);
4807pub const D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMHDRMETADATA_INVALIDSIZE: D3D11_MESSAGE_ID =
4808    D3D11_MESSAGE_ID(3146234i32);
4809pub const D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMHDRMETADATA_INVALIDSTREAM: D3D11_MESSAGE_ID =
4810    D3D11_MESSAGE_ID(3146233i32);
4811pub const D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMHDRMETADATA_NULLPARAM: D3D11_MESSAGE_ID =
4812    D3D11_MESSAGE_ID(3146232i32);
4813pub const D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMLUMAKEY_INVALIDSTREAM: D3D11_MESSAGE_ID =
4814    D3D11_MESSAGE_ID(3146243i32);
4815pub const D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMLUMAKEY_NULLPARAM: D3D11_MESSAGE_ID =
4816    D3D11_MESSAGE_ID(3145883i32);
4817pub const D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMMIRROR_INVALIDSTREAM: D3D11_MESSAGE_ID =
4818    D3D11_MESSAGE_ID(3146249i32);
4819pub const D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMMIRROR_NULLPARAM: D3D11_MESSAGE_ID =
4820    D3D11_MESSAGE_ID(3146105i32);
4821pub const D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMOUTPUTRATE_INVALIDSTREAM: D3D11_MESSAGE_ID =
4822    D3D11_MESSAGE_ID(3146237i32);
4823pub const D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMOUTPUTRATE_NULLPARAM: D3D11_MESSAGE_ID =
4824    D3D11_MESSAGE_ID(3145877i32);
4825pub const D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMPALETTE_INVALIDSTREAM: D3D11_MESSAGE_ID =
4826    D3D11_MESSAGE_ID(3146241i32);
4827pub const D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMPALETTE_NULLPARAM: D3D11_MESSAGE_ID =
4828    D3D11_MESSAGE_ID(3145881i32);
4829pub const D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMPIXELASPECTRATIO_INVALIDSTREAM: D3D11_MESSAGE_ID =
4830    D3D11_MESSAGE_ID(3146242i32);
4831pub const D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMPIXELASPECTRATIO_NULLPARAM: D3D11_MESSAGE_ID =
4832    D3D11_MESSAGE_ID(3145882i32);
4833pub const D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMROTATION_INVALIDSTREAM: D3D11_MESSAGE_ID =
4834    D3D11_MESSAGE_ID(3146247i32);
4835pub const D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMROTATION_NULLPARAM: D3D11_MESSAGE_ID =
4836    D3D11_MESSAGE_ID(3146034i32);
4837pub const D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMSOURCERECT_INVALIDSTREAM: D3D11_MESSAGE_ID =
4838    D3D11_MESSAGE_ID(3146238i32);
4839pub const D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMSOURCERECT_NULLPARAM: D3D11_MESSAGE_ID =
4840    D3D11_MESSAGE_ID(3145878i32);
4841pub const D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMSTEREOFORMAT_INVALIDSTREAM: D3D11_MESSAGE_ID =
4842    D3D11_MESSAGE_ID(3146244i32);
4843pub const D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMSTEREOFORMAT_NULLPARAM: D3D11_MESSAGE_ID =
4844    D3D11_MESSAGE_ID(3145884i32);
4845pub const D3D11_MESSAGE_ID_VIDEOPROCESSORSETOUTPUTALPHAFILLMODE_INVALIDFILLMODE: D3D11_MESSAGE_ID =
4846    D3D11_MESSAGE_ID(3145816i32);
4847pub const D3D11_MESSAGE_ID_VIDEOPROCESSORSETOUTPUTALPHAFILLMODE_INVALIDSTREAM: D3D11_MESSAGE_ID =
4848    D3D11_MESSAGE_ID(3145815i32);
4849pub const D3D11_MESSAGE_ID_VIDEOPROCESSORSETOUTPUTALPHAFILLMODE_NULLPARAM: D3D11_MESSAGE_ID =
4850    D3D11_MESSAGE_ID(3145813i32);
4851pub const D3D11_MESSAGE_ID_VIDEOPROCESSORSETOUTPUTALPHAFILLMODE_UNSUPPORTED: D3D11_MESSAGE_ID =
4852    D3D11_MESSAGE_ID(3145814i32);
4853pub const D3D11_MESSAGE_ID_VIDEOPROCESSORSETOUTPUTBACKGROUNDCOLOR_INVALIDALPHA: D3D11_MESSAGE_ID =
4854    D3D11_MESSAGE_ID(3145811i32);
4855pub const D3D11_MESSAGE_ID_VIDEOPROCESSORSETOUTPUTBACKGROUNDCOLOR_NULLPARAM: D3D11_MESSAGE_ID =
4856    D3D11_MESSAGE_ID(3145810i32);
4857pub const D3D11_MESSAGE_ID_VIDEOPROCESSORSETOUTPUTCOLORSPACE1_NULLPARAM: D3D11_MESSAGE_ID =
4858    D3D11_MESSAGE_ID(3146097i32);
4859pub const D3D11_MESSAGE_ID_VIDEOPROCESSORSETOUTPUTCOLORSPACE_NULLPARAM: D3D11_MESSAGE_ID =
4860    D3D11_MESSAGE_ID(3145812i32);
4861pub const D3D11_MESSAGE_ID_VIDEOPROCESSORSETOUTPUTCONSTRICTION_INVALIDSIZE: D3D11_MESSAGE_ID =
4862    D3D11_MESSAGE_ID(3145827i32);
4863pub const D3D11_MESSAGE_ID_VIDEOPROCESSORSETOUTPUTCONSTRICTION_NULLPARAM: D3D11_MESSAGE_ID =
4864    D3D11_MESSAGE_ID(3145817i32);
4865pub const D3D11_MESSAGE_ID_VIDEOPROCESSORSETOUTPUTCONSTRICTION_UNSUPPORTED: D3D11_MESSAGE_ID =
4866    D3D11_MESSAGE_ID(3145826i32);
4867pub const D3D11_MESSAGE_ID_VIDEOPROCESSORSETOUTPUTEXTENSION_NULLPARAM: D3D11_MESSAGE_ID =
4868    D3D11_MESSAGE_ID(3145820i32);
4869pub const D3D11_MESSAGE_ID_VIDEOPROCESSORSETOUTPUTHDRMETADATA_INVALIDSIZE: D3D11_MESSAGE_ID =
4870    D3D11_MESSAGE_ID(3146226i32);
4871pub const D3D11_MESSAGE_ID_VIDEOPROCESSORSETOUTPUTHDRMETADATA_NULLPARAM: D3D11_MESSAGE_ID =
4872    D3D11_MESSAGE_ID(3146225i32);
4873pub const D3D11_MESSAGE_ID_VIDEOPROCESSORSETOUTPUTSHADERUSAGE_NULLPARAM: D3D11_MESSAGE_ID =
4874    D3D11_MESSAGE_ID(3146109i32);
4875pub const D3D11_MESSAGE_ID_VIDEOPROCESSORSETOUTPUTSTEREOMODE_NULLPARAM: D3D11_MESSAGE_ID =
4876    D3D11_MESSAGE_ID(3145818i32);
4877pub const D3D11_MESSAGE_ID_VIDEOPROCESSORSETOUTPUTSTEREOMODE_UNSUPPORTED: D3D11_MESSAGE_ID =
4878    D3D11_MESSAGE_ID(3145819i32);
4879pub const D3D11_MESSAGE_ID_VIDEOPROCESSORSETOUTPUTTARGETRECT_NULLPARAM: D3D11_MESSAGE_ID =
4880    D3D11_MESSAGE_ID(3145809i32);
4881pub const D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMALPHA_INVALIDALPHA: D3D11_MESSAGE_ID =
4882    D3D11_MESSAGE_ID(3145847i32);
4883pub const D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMALPHA_INVALIDSTREAM: D3D11_MESSAGE_ID =
4884    D3D11_MESSAGE_ID(3145846i32);
4885pub const D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMALPHA_NULLPARAM: D3D11_MESSAGE_ID =
4886    D3D11_MESSAGE_ID(3145845i32);
4887pub const D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMALPHA_UNSUPPORTED: D3D11_MESSAGE_ID =
4888    D3D11_MESSAGE_ID(3146051i32);
4889pub const D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMAUTOPROCESSINGMODE_INVALIDSTREAM:
4890    D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(3145867i32);
4891pub const D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMAUTOPROCESSINGMODE_NULLPARAM: D3D11_MESSAGE_ID =
4892    D3D11_MESSAGE_ID(3145866i32);
4893pub const D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMCOLORSPACE1_INVALIDSTREAM: D3D11_MESSAGE_ID =
4894    D3D11_MESSAGE_ID(3146100i32);
4895pub const D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMCOLORSPACE1_NULLPARAM: D3D11_MESSAGE_ID =
4896    D3D11_MESSAGE_ID(3146099i32);
4897pub const D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMCOLORSPACE_INVALIDSTREAM: D3D11_MESSAGE_ID =
4898    D3D11_MESSAGE_ID(3145834i32);
4899pub const D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMCOLORSPACE_NULLPARAM: D3D11_MESSAGE_ID =
4900    D3D11_MESSAGE_ID(3145833i32);
4901pub const D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMDESTRECT_INVALIDRECT: D3D11_MESSAGE_ID =
4902    D3D11_MESSAGE_ID(3145844i32);
4903pub const D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMDESTRECT_INVALIDSTREAM: D3D11_MESSAGE_ID =
4904    D3D11_MESSAGE_ID(3145843i32);
4905pub const D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMDESTRECT_NULLPARAM: D3D11_MESSAGE_ID =
4906    D3D11_MESSAGE_ID(3145842i32);
4907pub const D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMEXTENSION_INVALIDSTREAM: D3D11_MESSAGE_ID =
4908    D3D11_MESSAGE_ID(3145874i32);
4909pub const D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMEXTENSION_NULLPARAM: D3D11_MESSAGE_ID =
4910    D3D11_MESSAGE_ID(3145873i32);
4911pub const D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMFILTER_INVALIDFILTER: D3D11_MESSAGE_ID =
4912    D3D11_MESSAGE_ID(3145870i32);
4913pub const D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMFILTER_INVALIDLEVEL: D3D11_MESSAGE_ID =
4914    D3D11_MESSAGE_ID(3145872i32);
4915pub const D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMFILTER_INVALIDSTREAM: D3D11_MESSAGE_ID =
4916    D3D11_MESSAGE_ID(3145869i32);
4917pub const D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMFILTER_NULLPARAM: D3D11_MESSAGE_ID =
4918    D3D11_MESSAGE_ID(3145868i32);
4919pub const D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMFILTER_UNSUPPORTED: D3D11_MESSAGE_ID =
4920    D3D11_MESSAGE_ID(3145871i32);
4921pub const D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMFRAMEFORMAT_INVALIDFORMAT: D3D11_MESSAGE_ID =
4922    D3D11_MESSAGE_ID(3145831i32);
4923pub const D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMFRAMEFORMAT_INVALIDSTREAM: D3D11_MESSAGE_ID =
4924    D3D11_MESSAGE_ID(3145832i32);
4925pub const D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMFRAMEFORMAT_NULLPARAM: D3D11_MESSAGE_ID =
4926    D3D11_MESSAGE_ID(3145830i32);
4927pub const D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMHDRMETADATA_INVALIDSIZE: D3D11_MESSAGE_ID =
4928    D3D11_MESSAGE_ID(3146231i32);
4929pub const D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMHDRMETADATA_INVALIDSTREAM: D3D11_MESSAGE_ID =
4930    D3D11_MESSAGE_ID(3146230i32);
4931pub const D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMHDRMETADATA_NULLPARAM: D3D11_MESSAGE_ID =
4932    D3D11_MESSAGE_ID(3146229i32);
4933pub const D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMLUMAKEY_INVALIDRANGE: D3D11_MESSAGE_ID =
4934    D3D11_MESSAGE_ID(3145857i32);
4935pub const D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMLUMAKEY_INVALIDSTREAM: D3D11_MESSAGE_ID =
4936    D3D11_MESSAGE_ID(3145856i32);
4937pub const D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMLUMAKEY_NULLPARAM: D3D11_MESSAGE_ID =
4938    D3D11_MESSAGE_ID(3145855i32);
4939pub const D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMLUMAKEY_UNSUPPORTED: D3D11_MESSAGE_ID =
4940    D3D11_MESSAGE_ID(3145858i32);
4941pub const D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMMIRROR_INVALIDSTREAM: D3D11_MESSAGE_ID =
4942    D3D11_MESSAGE_ID(3146102i32);
4943pub const D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMMIRROR_NULLPARAM: D3D11_MESSAGE_ID =
4944    D3D11_MESSAGE_ID(3146101i32);
4945pub const D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMMIRROR_UNSUPPORTED: D3D11_MESSAGE_ID =
4946    D3D11_MESSAGE_ID(3146103i32);
4947pub const D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMOUTPUTRATE_INVALIDFLAG: D3D11_MESSAGE_ID =
4948    D3D11_MESSAGE_ID(3145837i32);
4949pub const D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMOUTPUTRATE_INVALIDRATE: D3D11_MESSAGE_ID =
4950    D3D11_MESSAGE_ID(3145836i32);
4951pub const D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMOUTPUTRATE_INVALIDSTREAM: D3D11_MESSAGE_ID =
4952    D3D11_MESSAGE_ID(3145838i32);
4953pub const D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMOUTPUTRATE_NULLPARAM: D3D11_MESSAGE_ID =
4954    D3D11_MESSAGE_ID(3145835i32);
4955pub const D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMPALETTE_INVALIDALPHA: D3D11_MESSAGE_ID =
4956    D3D11_MESSAGE_ID(3145851i32);
4957pub const D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMPALETTE_INVALIDCOUNT: D3D11_MESSAGE_ID =
4958    D3D11_MESSAGE_ID(3145850i32);
4959pub const D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMPALETTE_INVALIDSTREAM: D3D11_MESSAGE_ID =
4960    D3D11_MESSAGE_ID(3145849i32);
4961pub const D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMPALETTE_NULLPARAM: D3D11_MESSAGE_ID =
4962    D3D11_MESSAGE_ID(3145848i32);
4963pub const D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMPIXELASPECTRATIO_INVALIDRATIO: D3D11_MESSAGE_ID =
4964    D3D11_MESSAGE_ID(3145854i32);
4965pub const D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMPIXELASPECTRATIO_INVALIDSTREAM: D3D11_MESSAGE_ID =
4966    D3D11_MESSAGE_ID(3145853i32);
4967pub const D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMPIXELASPECTRATIO_NULLPARAM: D3D11_MESSAGE_ID =
4968    D3D11_MESSAGE_ID(3145852i32);
4969pub const D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMPIXELASPECTRATIO_UNSUPPORTED: D3D11_MESSAGE_ID =
4970    D3D11_MESSAGE_ID(3146052i32);
4971pub const D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMROTATION_INVALID: D3D11_MESSAGE_ID =
4972    D3D11_MESSAGE_ID(3146032i32);
4973pub const D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMROTATION_INVALIDSTREAM: D3D11_MESSAGE_ID =
4974    D3D11_MESSAGE_ID(3146031i32);
4975pub const D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMROTATION_NULLPARAM: D3D11_MESSAGE_ID =
4976    D3D11_MESSAGE_ID(3146030i32);
4977pub const D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMROTATION_UNSUPPORTED: D3D11_MESSAGE_ID =
4978    D3D11_MESSAGE_ID(3146033i32);
4979pub const D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMSOURCERECT_INVALIDRECT: D3D11_MESSAGE_ID =
4980    D3D11_MESSAGE_ID(3145841i32);
4981pub const D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMSOURCERECT_INVALIDSTREAM: D3D11_MESSAGE_ID =
4982    D3D11_MESSAGE_ID(3145840i32);
4983pub const D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMSOURCERECT_NULLPARAM: D3D11_MESSAGE_ID =
4984    D3D11_MESSAGE_ID(3145839i32);
4985pub const D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMSTEREOFORMAT_FLIPUNSUPPORTED: D3D11_MESSAGE_ID =
4986    D3D11_MESSAGE_ID(3145862i32);
4987pub const D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMSTEREOFORMAT_FORMATUNSUPPORTED: D3D11_MESSAGE_ID =
4988    D3D11_MESSAGE_ID(3145864i32);
4989pub const D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMSTEREOFORMAT_INVALIDFORMAT: D3D11_MESSAGE_ID =
4990    D3D11_MESSAGE_ID(3145865i32);
4991pub const D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMSTEREOFORMAT_INVALIDSTREAM: D3D11_MESSAGE_ID =
4992    D3D11_MESSAGE_ID(3145860i32);
4993pub const D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMSTEREOFORMAT_MONOOFFSETUNSUPPORTED:
4994    D3D11_MESSAGE_ID = D3D11_MESSAGE_ID(3145863i32);
4995pub const D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMSTEREOFORMAT_NULLPARAM: D3D11_MESSAGE_ID =
4996    D3D11_MESSAGE_ID(3145859i32);
4997pub const D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMSTEREOFORMAT_UNSUPPORTED: D3D11_MESSAGE_ID =
4998    D3D11_MESSAGE_ID(3145861i32);
4999pub const D3D11_MESSAGE_ID_VSSETCONSTANTBUFFERS_INVALIDBUFFER: D3D11_MESSAGE_ID =
5000    D3D11_MESSAGE_ID(246i32);
5001pub const D3D11_MESSAGE_ID_VSSETCONSTANTBUFFERS_INVALIDBUFFEROFFSETORCOUNT: D3D11_MESSAGE_ID =
5002    D3D11_MESSAGE_ID(3146016i32);
5003pub const D3D11_MESSAGE_ID_VSSETCONSTANTBUFFERS_UNBINDDELETINGOBJECT: D3D11_MESSAGE_ID =
5004    D3D11_MESSAGE_ID(35i32);
5005pub const D3D11_MESSAGE_ID_VSSETSAMPLERS_NOT_SUPPORTED: D3D11_MESSAGE_ID =
5006    D3D11_MESSAGE_ID(1048582i32);
5007pub const D3D11_MESSAGE_ID_VSSETSAMPLERS_TOO_MANY_SAMPLERS: D3D11_MESSAGE_ID =
5008    D3D11_MESSAGE_ID(1048583i32);
5009pub const D3D11_MESSAGE_ID_VSSETSAMPLERS_UNBINDDELETINGOBJECT: D3D11_MESSAGE_ID =
5010    D3D11_MESSAGE_ID(36i32);
5011pub const D3D11_MESSAGE_ID_VSSETSHADERRESOURCES_UNBINDDELETINGOBJECT: D3D11_MESSAGE_ID =
5012    D3D11_MESSAGE_ID(34i32);
5013pub const D3D11_MESSAGE_ID_VSSETSHADER_UNBINDDELETINGOBJECT: D3D11_MESSAGE_ID =
5014    D3D11_MESSAGE_ID(33i32);
5015pub const D3D11_MESSAGE_ID_VSSHADERRESOURCES_NOT_SUPPORTED: D3D11_MESSAGE_ID =
5016    D3D11_MESSAGE_ID(1048618i32);
5017#[repr(transparent)]
5018#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
5019pub struct D3D11_MESSAGE_SEVERITY(pub i32);
5020pub const D3D11_MESSAGE_SEVERITY_CORRUPTION: D3D11_MESSAGE_SEVERITY = D3D11_MESSAGE_SEVERITY(0i32);
5021pub const D3D11_MESSAGE_SEVERITY_ERROR: D3D11_MESSAGE_SEVERITY = D3D11_MESSAGE_SEVERITY(1i32);
5022pub const D3D11_MESSAGE_SEVERITY_INFO: D3D11_MESSAGE_SEVERITY = D3D11_MESSAGE_SEVERITY(3i32);
5023pub const D3D11_MESSAGE_SEVERITY_MESSAGE: D3D11_MESSAGE_SEVERITY = D3D11_MESSAGE_SEVERITY(4i32);
5024pub const D3D11_MESSAGE_SEVERITY_WARNING: D3D11_MESSAGE_SEVERITY = D3D11_MESSAGE_SEVERITY(2i32);
5025pub const D3D11_MINOR_VERSION: u32 = 0u32;
5026pub const D3D11_MIN_BORDER_COLOR_COMPONENT: f32 = 0f32;
5027pub const D3D11_MIN_DEPTH: f32 = 0f32;
5028pub const D3D11_MIN_FILTER_SHIFT: u32 = 4u32;
5029pub const D3D11_MIN_MAXANISOTROPY: u32 = 0u32;
5030pub const D3D11_MIP_FILTER_SHIFT: u32 = 0u32;
5031pub const D3D11_MIP_LOD_BIAS_MAX: f32 = 15.99f32;
5032pub const D3D11_MIP_LOD_BIAS_MIN: f32 = -16f32;
5033pub const D3D11_MIP_LOD_FRACTIONAL_BIT_COUNT: u32 = 8u32;
5034pub const D3D11_MIP_LOD_RANGE_BIT_COUNT: u32 = 8u32;
5035pub const D3D11_MULTISAMPLE_ANTIALIAS_LINE_WIDTH: f32 = 1.4f32;
5036pub const D3D11_MUTE_CATEGORY: crate::core_supplemental::PCWSTR = crate::core_supplemental::w!("Mute_CATEGORY_%s");
5037pub const D3D11_MUTE_DEBUG_OUTPUT: crate::core_supplemental::PCWSTR = crate::core_supplemental::w!("MuteDebugOutput");
5038pub const D3D11_MUTE_ID_DECIMAL: crate::core_supplemental::PCWSTR = crate::core_supplemental::w!("Mute_ID_%d");
5039pub const D3D11_MUTE_ID_STRING: crate::core_supplemental::PCWSTR = crate::core_supplemental::w!("Mute_ID_%s");
5040pub const D3D11_MUTE_SEVERITY: crate::core_supplemental::PCWSTR = crate::core_supplemental::w!("Mute_SEVERITY_%s");
5041pub const D3D11_NONSAMPLE_FETCH_OUT_OF_RANGE_ACCESS_RESULT: u32 = 0u32;
5042#[repr(C)]
5043#[derive(Clone, Copy, Debug, PartialEq)]
5044pub struct D3D11_OMAC {
5045    pub Omac: [u8; 16],
5046}
5047impl Default for D3D11_OMAC {
5048    fn default() -> Self {
5049        unsafe { core::mem::zeroed() }
5050    }
5051}
5052#[repr(C)]
5053#[derive(Clone, Copy, Debug, PartialEq)]
5054pub struct D3D11_PACKED_MIP_DESC {
5055    pub NumStandardMips: u8,
5056    pub NumPackedMips: u8,
5057    pub NumTilesForPackedMips: u32,
5058    pub StartTileIndexInOverallResource: u32,
5059}
5060impl Default for D3D11_PACKED_MIP_DESC {
5061    fn default() -> Self {
5062        unsafe { core::mem::zeroed() }
5063    }
5064}
5065pub const D3D11_PACKED_TILE: u32 = 4294967295u32;
5066#[repr(C)]
5067#[cfg(feature = "Win32_Graphics_Direct3D")]
5068#[derive(Clone, Copy, Debug, PartialEq)]
5069pub struct D3D11_PARAMETER_DESC {
5070    pub Name: crate::core_supplemental::PCSTR,
5071    pub SemanticName: crate::core_supplemental::PCSTR,
5072    pub Type: super::Direct3D::D3D_SHADER_VARIABLE_TYPE,
5073    pub Class: super::Direct3D::D3D_SHADER_VARIABLE_CLASS,
5074    pub Rows: u32,
5075    pub Columns: u32,
5076    pub InterpolationMode: super::Direct3D::D3D_INTERPOLATION_MODE,
5077    pub Flags: super::Direct3D::D3D_PARAMETER_FLAGS,
5078    pub FirstInRegister: u32,
5079    pub FirstInComponent: u32,
5080    pub FirstOutRegister: u32,
5081    pub FirstOutComponent: u32,
5082}
5083#[cfg(feature = "Win32_Graphics_Direct3D")]
5084impl Default for D3D11_PARAMETER_DESC {
5085    fn default() -> Self {
5086        unsafe { core::mem::zeroed() }
5087    }
5088}
5089pub const D3D11_PIXEL_ADDRESS_RANGE_BIT_COUNT: u32 = 15u32;
5090pub const D3D11_PIXEL_SHADER: D3D11_SHADER_TYPE = D3D11_SHADER_TYPE(5i32);
5091#[repr(C)]
5092#[derive(Clone, Copy, Debug, PartialEq)]
5093pub struct D3D11_PIXEL_SHADER_TRACE_DESC {
5094    pub Invocation: u64,
5095    pub X: i32,
5096    pub Y: i32,
5097    pub SampleMask: u64,
5098}
5099impl Default for D3D11_PIXEL_SHADER_TRACE_DESC {
5100    fn default() -> Self {
5101        unsafe { core::mem::zeroed() }
5102    }
5103}
5104pub const D3D11_PRE_SCISSOR_PIXEL_ADDRESS_RANGE_BIT_COUNT: u32 = 16u32;
5105pub const D3D11_PROCESSIDTYPE_DWM: D3D11_AUTHENTICATED_PROCESS_IDENTIFIER_TYPE =
5106    D3D11_AUTHENTICATED_PROCESS_IDENTIFIER_TYPE(1i32);
5107pub const D3D11_PROCESSIDTYPE_HANDLE: D3D11_AUTHENTICATED_PROCESS_IDENTIFIER_TYPE =
5108    D3D11_AUTHENTICATED_PROCESS_IDENTIFIER_TYPE(2i32);
5109pub const D3D11_PROCESSIDTYPE_UNKNOWN: D3D11_AUTHENTICATED_PROCESS_IDENTIFIER_TYPE =
5110    D3D11_AUTHENTICATED_PROCESS_IDENTIFIER_TYPE(0i32);
5111pub const D3D11_PS_CS_UAV_REGISTER_COMPONENTS: u32 = 1u32;
5112pub const D3D11_PS_CS_UAV_REGISTER_COUNT: u32 = 8u32;
5113pub const D3D11_PS_CS_UAV_REGISTER_READS_PER_INST: u32 = 1u32;
5114pub const D3D11_PS_CS_UAV_REGISTER_READ_PORTS: u32 = 1u32;
5115pub const D3D11_PS_FRONTFACING_DEFAULT_VALUE: u32 = 4294967295u32;
5116pub const D3D11_PS_FRONTFACING_FALSE_VALUE: u32 = 0u32;
5117pub const D3D11_PS_FRONTFACING_TRUE_VALUE: u32 = 4294967295u32;
5118pub const D3D11_PS_INPUT_REGISTER_COMPONENTS: u32 = 4u32;
5119pub const D3D11_PS_INPUT_REGISTER_COMPONENT_BIT_COUNT: u32 = 32u32;
5120pub const D3D11_PS_INPUT_REGISTER_COUNT: u32 = 32u32;
5121pub const D3D11_PS_INPUT_REGISTER_READS_PER_INST: u32 = 2u32;
5122pub const D3D11_PS_INPUT_REGISTER_READ_PORTS: u32 = 1u32;
5123pub const D3D11_PS_LEGACY_PIXEL_CENTER_FRACTIONAL_COMPONENT: f32 = 0f32;
5124pub const D3D11_PS_OUTPUT_DEPTH_REGISTER_COMPONENTS: u32 = 1u32;
5125pub const D3D11_PS_OUTPUT_DEPTH_REGISTER_COMPONENT_BIT_COUNT: u32 = 32u32;
5126pub const D3D11_PS_OUTPUT_DEPTH_REGISTER_COUNT: u32 = 1u32;
5127pub const D3D11_PS_OUTPUT_MASK_REGISTER_COMPONENTS: u32 = 1u32;
5128pub const D3D11_PS_OUTPUT_MASK_REGISTER_COMPONENT_BIT_COUNT: u32 = 32u32;
5129pub const D3D11_PS_OUTPUT_MASK_REGISTER_COUNT: u32 = 1u32;
5130pub const D3D11_PS_OUTPUT_REGISTER_COMPONENTS: u32 = 4u32;
5131pub const D3D11_PS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT: u32 = 32u32;
5132pub const D3D11_PS_OUTPUT_REGISTER_COUNT: u32 = 8u32;
5133pub const D3D11_PS_PIXEL_CENTER_FRACTIONAL_COMPONENT: f32 = 0.5f32;
5134#[repr(transparent)]
5135#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
5136pub struct D3D11_QUERY(pub i32);
5137#[repr(C)]
5138#[derive(Clone, Copy, Debug, PartialEq)]
5139pub struct D3D11_QUERY_DATA_PIPELINE_STATISTICS {
5140    pub IAVertices: u64,
5141    pub IAPrimitives: u64,
5142    pub VSInvocations: u64,
5143    pub GSInvocations: u64,
5144    pub GSPrimitives: u64,
5145    pub CInvocations: u64,
5146    pub CPrimitives: u64,
5147    pub PSInvocations: u64,
5148    pub HSInvocations: u64,
5149    pub DSInvocations: u64,
5150    pub CSInvocations: u64,
5151}
5152impl Default for D3D11_QUERY_DATA_PIPELINE_STATISTICS {
5153    fn default() -> Self {
5154        unsafe { core::mem::zeroed() }
5155    }
5156}
5157#[repr(C)]
5158#[derive(Clone, Copy, Debug, PartialEq)]
5159pub struct D3D11_QUERY_DATA_SO_STATISTICS {
5160    pub NumPrimitivesWritten: u64,
5161    pub PrimitivesStorageNeeded: u64,
5162}
5163impl Default for D3D11_QUERY_DATA_SO_STATISTICS {
5164    fn default() -> Self {
5165        unsafe { core::mem::zeroed() }
5166    }
5167}
5168#[repr(C)]
5169#[derive(Clone, Copy, Debug, PartialEq)]
5170pub struct D3D11_QUERY_DATA_TIMESTAMP_DISJOINT {
5171    pub Frequency: u64,
5172    pub Disjoint: crate::Foundation::BOOL,
5173}
5174impl Default for D3D11_QUERY_DATA_TIMESTAMP_DISJOINT {
5175    fn default() -> Self {
5176        unsafe { core::mem::zeroed() }
5177    }
5178}
5179#[repr(C)]
5180#[derive(Clone, Copy, Debug, PartialEq)]
5181pub struct D3D11_QUERY_DESC {
5182    pub Query: D3D11_QUERY,
5183    pub MiscFlags: u32,
5184}
5185impl Default for D3D11_QUERY_DESC {
5186    fn default() -> Self {
5187        unsafe { core::mem::zeroed() }
5188    }
5189}
5190#[repr(C)]
5191#[derive(Clone, Copy, Debug, PartialEq)]
5192pub struct D3D11_QUERY_DESC1 {
5193    pub Query: D3D11_QUERY,
5194    pub MiscFlags: u32,
5195    pub ContextType: D3D11_CONTEXT_TYPE,
5196}
5197impl Default for D3D11_QUERY_DESC1 {
5198    fn default() -> Self {
5199        unsafe { core::mem::zeroed() }
5200    }
5201}
5202pub const D3D11_QUERY_EVENT: D3D11_QUERY = D3D11_QUERY(0i32);
5203#[repr(transparent)]
5204#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
5205pub struct D3D11_QUERY_MISC_FLAG(pub i32);
5206pub const D3D11_QUERY_MISC_PREDICATEHINT: D3D11_QUERY_MISC_FLAG = D3D11_QUERY_MISC_FLAG(1i32);
5207pub const D3D11_QUERY_OCCLUSION: D3D11_QUERY = D3D11_QUERY(1i32);
5208pub const D3D11_QUERY_OCCLUSION_PREDICATE: D3D11_QUERY = D3D11_QUERY(5i32);
5209pub const D3D11_QUERY_PIPELINE_STATISTICS: D3D11_QUERY = D3D11_QUERY(4i32);
5210pub const D3D11_QUERY_SO_OVERFLOW_PREDICATE: D3D11_QUERY = D3D11_QUERY(7i32);
5211pub const D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM0: D3D11_QUERY = D3D11_QUERY(9i32);
5212pub const D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM1: D3D11_QUERY = D3D11_QUERY(11i32);
5213pub const D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM2: D3D11_QUERY = D3D11_QUERY(13i32);
5214pub const D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM3: D3D11_QUERY = D3D11_QUERY(15i32);
5215pub const D3D11_QUERY_SO_STATISTICS: D3D11_QUERY = D3D11_QUERY(6i32);
5216pub const D3D11_QUERY_SO_STATISTICS_STREAM0: D3D11_QUERY = D3D11_QUERY(8i32);
5217pub const D3D11_QUERY_SO_STATISTICS_STREAM1: D3D11_QUERY = D3D11_QUERY(10i32);
5218pub const D3D11_QUERY_SO_STATISTICS_STREAM2: D3D11_QUERY = D3D11_QUERY(12i32);
5219pub const D3D11_QUERY_SO_STATISTICS_STREAM3: D3D11_QUERY = D3D11_QUERY(14i32);
5220pub const D3D11_QUERY_TIMESTAMP: D3D11_QUERY = D3D11_QUERY(2i32);
5221pub const D3D11_QUERY_TIMESTAMP_DISJOINT: D3D11_QUERY = D3D11_QUERY(3i32);
5222#[repr(transparent)]
5223#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
5224pub struct D3D11_RAISE_FLAG(pub i32);
5225pub const D3D11_RAISE_FLAG_DRIVER_INTERNAL_ERROR: D3D11_RAISE_FLAG = D3D11_RAISE_FLAG(1i32);
5226#[repr(C)]
5227#[derive(Clone, Copy, Debug, PartialEq)]
5228pub struct D3D11_RASTERIZER_DESC {
5229    pub FillMode: D3D11_FILL_MODE,
5230    pub CullMode: D3D11_CULL_MODE,
5231    pub FrontCounterClockwise: crate::Foundation::BOOL,
5232    pub DepthBias: i32,
5233    pub DepthBiasClamp: f32,
5234    pub SlopeScaledDepthBias: f32,
5235    pub DepthClipEnable: crate::Foundation::BOOL,
5236    pub ScissorEnable: crate::Foundation::BOOL,
5237    pub MultisampleEnable: crate::Foundation::BOOL,
5238    pub AntialiasedLineEnable: crate::Foundation::BOOL,
5239}
5240impl Default for D3D11_RASTERIZER_DESC {
5241    fn default() -> Self {
5242        unsafe { core::mem::zeroed() }
5243    }
5244}
5245#[repr(C)]
5246#[derive(Clone, Copy, Debug, PartialEq)]
5247pub struct D3D11_RASTERIZER_DESC1 {
5248    pub FillMode: D3D11_FILL_MODE,
5249    pub CullMode: D3D11_CULL_MODE,
5250    pub FrontCounterClockwise: crate::Foundation::BOOL,
5251    pub DepthBias: i32,
5252    pub DepthBiasClamp: f32,
5253    pub SlopeScaledDepthBias: f32,
5254    pub DepthClipEnable: crate::Foundation::BOOL,
5255    pub ScissorEnable: crate::Foundation::BOOL,
5256    pub MultisampleEnable: crate::Foundation::BOOL,
5257    pub AntialiasedLineEnable: crate::Foundation::BOOL,
5258    pub ForcedSampleCount: u32,
5259}
5260impl Default for D3D11_RASTERIZER_DESC1 {
5261    fn default() -> Self {
5262        unsafe { core::mem::zeroed() }
5263    }
5264}
5265#[repr(C)]
5266#[derive(Clone, Copy, Debug, PartialEq)]
5267pub struct D3D11_RASTERIZER_DESC2 {
5268    pub FillMode: D3D11_FILL_MODE,
5269    pub CullMode: D3D11_CULL_MODE,
5270    pub FrontCounterClockwise: crate::Foundation::BOOL,
5271    pub DepthBias: i32,
5272    pub DepthBiasClamp: f32,
5273    pub SlopeScaledDepthBias: f32,
5274    pub DepthClipEnable: crate::Foundation::BOOL,
5275    pub ScissorEnable: crate::Foundation::BOOL,
5276    pub MultisampleEnable: crate::Foundation::BOOL,
5277    pub AntialiasedLineEnable: crate::Foundation::BOOL,
5278    pub ForcedSampleCount: u32,
5279    pub ConservativeRaster: D3D11_CONSERVATIVE_RASTERIZATION_MODE,
5280}
5281impl Default for D3D11_RASTERIZER_DESC2 {
5282    fn default() -> Self {
5283        unsafe { core::mem::zeroed() }
5284    }
5285}
5286pub const D3D11_RAW_UAV_SRV_BYTE_ALIGNMENT: u32 = 16u32;
5287pub const D3D11_REGKEY_PATH: crate::core_supplemental::PCWSTR =
5288    crate::core_supplemental::w!("Software\\Microsoft\\Direct3D");
5289#[repr(C)]
5290#[derive(Clone, Copy, Debug, PartialEq)]
5291pub struct D3D11_RENDER_TARGET_BLEND_DESC {
5292    pub BlendEnable: crate::Foundation::BOOL,
5293    pub SrcBlend: D3D11_BLEND,
5294    pub DestBlend: D3D11_BLEND,
5295    pub BlendOp: D3D11_BLEND_OP,
5296    pub SrcBlendAlpha: D3D11_BLEND,
5297    pub DestBlendAlpha: D3D11_BLEND,
5298    pub BlendOpAlpha: D3D11_BLEND_OP,
5299    pub RenderTargetWriteMask: u8,
5300}
5301impl Default for D3D11_RENDER_TARGET_BLEND_DESC {
5302    fn default() -> Self {
5303        unsafe { core::mem::zeroed() }
5304    }
5305}
5306#[repr(C)]
5307#[derive(Clone, Copy, Debug, PartialEq)]
5308pub struct D3D11_RENDER_TARGET_BLEND_DESC1 {
5309    pub BlendEnable: crate::Foundation::BOOL,
5310    pub LogicOpEnable: crate::Foundation::BOOL,
5311    pub SrcBlend: D3D11_BLEND,
5312    pub DestBlend: D3D11_BLEND,
5313    pub BlendOp: D3D11_BLEND_OP,
5314    pub SrcBlendAlpha: D3D11_BLEND,
5315    pub DestBlendAlpha: D3D11_BLEND,
5316    pub BlendOpAlpha: D3D11_BLEND_OP,
5317    pub LogicOp: D3D11_LOGIC_OP,
5318    pub RenderTargetWriteMask: u8,
5319}
5320impl Default for D3D11_RENDER_TARGET_BLEND_DESC1 {
5321    fn default() -> Self {
5322        unsafe { core::mem::zeroed() }
5323    }
5324}
5325#[repr(C)]
5326#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
5327#[derive(Clone, Copy)]
5328pub struct D3D11_RENDER_TARGET_VIEW_DESC {
5329    pub Format: crate::Dxgi::Common::DXGI_FORMAT,
5330    pub ViewDimension: D3D11_RTV_DIMENSION,
5331    pub Anonymous: D3D11_RENDER_TARGET_VIEW_DESC_0,
5332}
5333#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
5334impl Default for D3D11_RENDER_TARGET_VIEW_DESC {
5335    fn default() -> Self {
5336        unsafe { core::mem::zeroed() }
5337    }
5338}
5339#[repr(C)]
5340#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
5341#[derive(Clone, Copy)]
5342pub union D3D11_RENDER_TARGET_VIEW_DESC_0 {
5343    pub Buffer: D3D11_BUFFER_RTV,
5344    pub Texture1D: D3D11_TEX1D_RTV,
5345    pub Texture1DArray: D3D11_TEX1D_ARRAY_RTV,
5346    pub Texture2D: D3D11_TEX2D_RTV,
5347    pub Texture2DArray: D3D11_TEX2D_ARRAY_RTV,
5348    pub Texture2DMS: D3D11_TEX2DMS_RTV,
5349    pub Texture2DMSArray: D3D11_TEX2DMS_ARRAY_RTV,
5350    pub Texture3D: D3D11_TEX3D_RTV,
5351}
5352#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
5353impl Default for D3D11_RENDER_TARGET_VIEW_DESC_0 {
5354    fn default() -> Self {
5355        unsafe { core::mem::zeroed() }
5356    }
5357}
5358#[repr(C)]
5359#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
5360#[derive(Clone, Copy)]
5361pub struct D3D11_RENDER_TARGET_VIEW_DESC1 {
5362    pub Format: crate::Dxgi::Common::DXGI_FORMAT,
5363    pub ViewDimension: D3D11_RTV_DIMENSION,
5364    pub Anonymous: D3D11_RENDER_TARGET_VIEW_DESC1_0,
5365}
5366#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
5367impl Default for D3D11_RENDER_TARGET_VIEW_DESC1 {
5368    fn default() -> Self {
5369        unsafe { core::mem::zeroed() }
5370    }
5371}
5372#[repr(C)]
5373#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
5374#[derive(Clone, Copy)]
5375pub union D3D11_RENDER_TARGET_VIEW_DESC1_0 {
5376    pub Buffer: D3D11_BUFFER_RTV,
5377    pub Texture1D: D3D11_TEX1D_RTV,
5378    pub Texture1DArray: D3D11_TEX1D_ARRAY_RTV,
5379    pub Texture2D: D3D11_TEX2D_RTV1,
5380    pub Texture2DArray: D3D11_TEX2D_ARRAY_RTV1,
5381    pub Texture2DMS: D3D11_TEX2DMS_RTV,
5382    pub Texture2DMSArray: D3D11_TEX2DMS_ARRAY_RTV,
5383    pub Texture3D: D3D11_TEX3D_RTV,
5384}
5385#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
5386impl Default for D3D11_RENDER_TARGET_VIEW_DESC1_0 {
5387    fn default() -> Self {
5388        unsafe { core::mem::zeroed() }
5389    }
5390}
5391pub const D3D11_REQ_BLEND_OBJECT_COUNT_PER_DEVICE: u32 = 4096u32;
5392pub const D3D11_REQ_BUFFER_RESOURCE_TEXEL_COUNT_2_TO_EXP: u32 = 27u32;
5393pub const D3D11_REQ_CONSTANT_BUFFER_ELEMENT_COUNT: u32 = 4096u32;
5394pub const D3D11_REQ_DEPTH_STENCIL_OBJECT_COUNT_PER_DEVICE: u32 = 4096u32;
5395pub const D3D11_REQ_DRAWINDEXED_INDEX_COUNT_2_TO_EXP: u32 = 32u32;
5396pub const D3D11_REQ_DRAW_VERTEX_COUNT_2_TO_EXP: u32 = 32u32;
5397pub const D3D11_REQ_FILTERING_HW_ADDRESSABLE_RESOURCE_DIMENSION: u32 = 16384u32;
5398pub const D3D11_REQ_GS_INVOCATION_32BIT_OUTPUT_COMPONENT_LIMIT: u32 = 1024u32;
5399pub const D3D11_REQ_IMMEDIATE_CONSTANT_BUFFER_ELEMENT_COUNT: u32 = 4096u32;
5400pub const D3D11_REQ_MAXANISOTROPY: u32 = 16u32;
5401pub const D3D11_REQ_MIP_LEVELS: u32 = 15u32;
5402pub const D3D11_REQ_MULTI_ELEMENT_STRUCTURE_SIZE_IN_BYTES: u32 = 2048u32;
5403pub const D3D11_REQ_RASTERIZER_OBJECT_COUNT_PER_DEVICE: u32 = 4096u32;
5404pub const D3D11_REQ_RENDER_TO_BUFFER_WINDOW_WIDTH: u32 = 16384u32;
5405pub const D3D11_REQ_RESOURCE_SIZE_IN_MEGABYTES_EXPRESSION_A_TERM: u32 = 128u32;
5406pub const D3D11_REQ_RESOURCE_SIZE_IN_MEGABYTES_EXPRESSION_B_TERM: f32 = 0.25f32;
5407pub const D3D11_REQ_RESOURCE_SIZE_IN_MEGABYTES_EXPRESSION_C_TERM: u32 = 2048u32;
5408pub const D3D11_REQ_RESOURCE_VIEW_COUNT_PER_DEVICE_2_TO_EXP: u32 = 20u32;
5409pub const D3D11_REQ_SAMPLER_OBJECT_COUNT_PER_DEVICE: u32 = 4096u32;
5410pub const D3D11_REQ_TEXTURE1D_ARRAY_AXIS_DIMENSION: u32 = 2048u32;
5411pub const D3D11_REQ_TEXTURE1D_U_DIMENSION: u32 = 16384u32;
5412pub const D3D11_REQ_TEXTURE2D_ARRAY_AXIS_DIMENSION: u32 = 2048u32;
5413pub const D3D11_REQ_TEXTURE2D_U_OR_V_DIMENSION: u32 = 16384u32;
5414pub const D3D11_REQ_TEXTURE3D_U_V_OR_W_DIMENSION: u32 = 2048u32;
5415pub const D3D11_REQ_TEXTURECUBE_DIMENSION: u32 = 16384u32;
5416pub const D3D11_RESINFO_INSTRUCTION_MISSING_COMPONENT_RETVAL: u32 = 0u32;
5417#[repr(transparent)]
5418#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
5419pub struct D3D11_RESOURCE_DIMENSION(pub i32);
5420pub const D3D11_RESOURCE_DIMENSION_BUFFER: D3D11_RESOURCE_DIMENSION =
5421    D3D11_RESOURCE_DIMENSION(1i32);
5422pub const D3D11_RESOURCE_DIMENSION_TEXTURE1D: D3D11_RESOURCE_DIMENSION =
5423    D3D11_RESOURCE_DIMENSION(2i32);
5424pub const D3D11_RESOURCE_DIMENSION_TEXTURE2D: D3D11_RESOURCE_DIMENSION =
5425    D3D11_RESOURCE_DIMENSION(3i32);
5426pub const D3D11_RESOURCE_DIMENSION_TEXTURE3D: D3D11_RESOURCE_DIMENSION =
5427    D3D11_RESOURCE_DIMENSION(4i32);
5428pub const D3D11_RESOURCE_DIMENSION_UNKNOWN: D3D11_RESOURCE_DIMENSION =
5429    D3D11_RESOURCE_DIMENSION(0i32);
5430pub const D3D11_RESOURCE_MISC_BUFFER_ALLOW_RAW_VIEWS: D3D11_RESOURCE_MISC_FLAG =
5431    D3D11_RESOURCE_MISC_FLAG(32i32);
5432pub const D3D11_RESOURCE_MISC_BUFFER_STRUCTURED: D3D11_RESOURCE_MISC_FLAG =
5433    D3D11_RESOURCE_MISC_FLAG(64i32);
5434pub const D3D11_RESOURCE_MISC_DRAWINDIRECT_ARGS: D3D11_RESOURCE_MISC_FLAG =
5435    D3D11_RESOURCE_MISC_FLAG(16i32);
5436#[repr(transparent)]
5437#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
5438pub struct D3D11_RESOURCE_MISC_FLAG(pub i32);
5439impl D3D11_RESOURCE_MISC_FLAG {
5440    pub const fn contains(&self, other: Self) -> bool {
5441        self.0 & other.0 == other.0
5442    }
5443}
5444impl core::ops::BitOr for D3D11_RESOURCE_MISC_FLAG {
5445    type Output = Self;
5446    fn bitor(self, other: Self) -> Self {
5447        Self(self.0 | other.0)
5448    }
5449}
5450impl core::ops::BitAnd for D3D11_RESOURCE_MISC_FLAG {
5451    type Output = Self;
5452    fn bitand(self, other: Self) -> Self {
5453        Self(self.0 & other.0)
5454    }
5455}
5456impl core::ops::BitOrAssign for D3D11_RESOURCE_MISC_FLAG {
5457    fn bitor_assign(&mut self, other: Self) {
5458        self.0.bitor_assign(other.0)
5459    }
5460}
5461impl core::ops::BitAndAssign for D3D11_RESOURCE_MISC_FLAG {
5462    fn bitand_assign(&mut self, other: Self) {
5463        self.0.bitand_assign(other.0)
5464    }
5465}
5466impl core::ops::Not for D3D11_RESOURCE_MISC_FLAG {
5467    type Output = Self;
5468    fn not(self) -> Self {
5469        Self(self.0.not())
5470    }
5471}
5472pub const D3D11_RESOURCE_MISC_GDI_COMPATIBLE: D3D11_RESOURCE_MISC_FLAG =
5473    D3D11_RESOURCE_MISC_FLAG(512i32);
5474pub const D3D11_RESOURCE_MISC_GENERATE_MIPS: D3D11_RESOURCE_MISC_FLAG =
5475    D3D11_RESOURCE_MISC_FLAG(1i32);
5476pub const D3D11_RESOURCE_MISC_GUARDED: D3D11_RESOURCE_MISC_FLAG =
5477    D3D11_RESOURCE_MISC_FLAG(32768i32);
5478pub const D3D11_RESOURCE_MISC_HW_PROTECTED: D3D11_RESOURCE_MISC_FLAG =
5479    D3D11_RESOURCE_MISC_FLAG(524288i32);
5480pub const D3D11_RESOURCE_MISC_RESOURCE_CLAMP: D3D11_RESOURCE_MISC_FLAG =
5481    D3D11_RESOURCE_MISC_FLAG(128i32);
5482pub const D3D11_RESOURCE_MISC_RESTRICTED_CONTENT: D3D11_RESOURCE_MISC_FLAG =
5483    D3D11_RESOURCE_MISC_FLAG(4096i32);
5484pub const D3D11_RESOURCE_MISC_RESTRICT_SHARED_RESOURCE: D3D11_RESOURCE_MISC_FLAG =
5485    D3D11_RESOURCE_MISC_FLAG(8192i32);
5486pub const D3D11_RESOURCE_MISC_RESTRICT_SHARED_RESOURCE_DRIVER: D3D11_RESOURCE_MISC_FLAG =
5487    D3D11_RESOURCE_MISC_FLAG(16384i32);
5488pub const D3D11_RESOURCE_MISC_SHARED: D3D11_RESOURCE_MISC_FLAG = D3D11_RESOURCE_MISC_FLAG(2i32);
5489pub const D3D11_RESOURCE_MISC_SHARED_DISPLAYABLE: D3D11_RESOURCE_MISC_FLAG =
5490    D3D11_RESOURCE_MISC_FLAG(1048576i32);
5491pub const D3D11_RESOURCE_MISC_SHARED_EXCLUSIVE_WRITER: D3D11_RESOURCE_MISC_FLAG =
5492    D3D11_RESOURCE_MISC_FLAG(2097152i32);
5493pub const D3D11_RESOURCE_MISC_SHARED_KEYEDMUTEX: D3D11_RESOURCE_MISC_FLAG =
5494    D3D11_RESOURCE_MISC_FLAG(256i32);
5495pub const D3D11_RESOURCE_MISC_SHARED_NTHANDLE: D3D11_RESOURCE_MISC_FLAG =
5496    D3D11_RESOURCE_MISC_FLAG(2048i32);
5497pub const D3D11_RESOURCE_MISC_TEXTURECUBE: D3D11_RESOURCE_MISC_FLAG =
5498    D3D11_RESOURCE_MISC_FLAG(4i32);
5499pub const D3D11_RESOURCE_MISC_TILED: D3D11_RESOURCE_MISC_FLAG = D3D11_RESOURCE_MISC_FLAG(262144i32);
5500pub const D3D11_RESOURCE_MISC_TILE_POOL: D3D11_RESOURCE_MISC_FLAG =
5501    D3D11_RESOURCE_MISC_FLAG(131072i32);
5502pub const D3D11_RLDO_DETAIL: D3D11_RLDO_FLAGS = D3D11_RLDO_FLAGS(2i32);
5503#[repr(transparent)]
5504#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
5505pub struct D3D11_RLDO_FLAGS(pub i32);
5506impl D3D11_RLDO_FLAGS {
5507    pub const fn contains(&self, other: Self) -> bool {
5508        self.0 & other.0 == other.0
5509    }
5510}
5511impl core::ops::BitOr for D3D11_RLDO_FLAGS {
5512    type Output = Self;
5513    fn bitor(self, other: Self) -> Self {
5514        Self(self.0 | other.0)
5515    }
5516}
5517impl core::ops::BitAnd for D3D11_RLDO_FLAGS {
5518    type Output = Self;
5519    fn bitand(self, other: Self) -> Self {
5520        Self(self.0 & other.0)
5521    }
5522}
5523impl core::ops::BitOrAssign for D3D11_RLDO_FLAGS {
5524    fn bitor_assign(&mut self, other: Self) {
5525        self.0.bitor_assign(other.0)
5526    }
5527}
5528impl core::ops::BitAndAssign for D3D11_RLDO_FLAGS {
5529    fn bitand_assign(&mut self, other: Self) {
5530        self.0.bitand_assign(other.0)
5531    }
5532}
5533impl core::ops::Not for D3D11_RLDO_FLAGS {
5534    type Output = Self;
5535    fn not(self) -> Self {
5536        Self(self.0.not())
5537    }
5538}
5539pub const D3D11_RLDO_IGNORE_INTERNAL: D3D11_RLDO_FLAGS = D3D11_RLDO_FLAGS(4i32);
5540pub const D3D11_RLDO_SUMMARY: D3D11_RLDO_FLAGS = D3D11_RLDO_FLAGS(1i32);
5541#[repr(transparent)]
5542#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
5543pub struct D3D11_RTV_DIMENSION(pub i32);
5544pub const D3D11_RTV_DIMENSION_BUFFER: D3D11_RTV_DIMENSION = D3D11_RTV_DIMENSION(1i32);
5545pub const D3D11_RTV_DIMENSION_TEXTURE1D: D3D11_RTV_DIMENSION = D3D11_RTV_DIMENSION(2i32);
5546pub const D3D11_RTV_DIMENSION_TEXTURE1DARRAY: D3D11_RTV_DIMENSION = D3D11_RTV_DIMENSION(3i32);
5547pub const D3D11_RTV_DIMENSION_TEXTURE2D: D3D11_RTV_DIMENSION = D3D11_RTV_DIMENSION(4i32);
5548pub const D3D11_RTV_DIMENSION_TEXTURE2DARRAY: D3D11_RTV_DIMENSION = D3D11_RTV_DIMENSION(5i32);
5549pub const D3D11_RTV_DIMENSION_TEXTURE2DMS: D3D11_RTV_DIMENSION = D3D11_RTV_DIMENSION(6i32);
5550pub const D3D11_RTV_DIMENSION_TEXTURE2DMSARRAY: D3D11_RTV_DIMENSION = D3D11_RTV_DIMENSION(7i32);
5551pub const D3D11_RTV_DIMENSION_TEXTURE3D: D3D11_RTV_DIMENSION = D3D11_RTV_DIMENSION(8i32);
5552pub const D3D11_RTV_DIMENSION_UNKNOWN: D3D11_RTV_DIMENSION = D3D11_RTV_DIMENSION(0i32);
5553#[repr(C)]
5554#[derive(Clone, Copy, Debug, PartialEq)]
5555pub struct D3D11_SAMPLER_DESC {
5556    pub Filter: D3D11_FILTER,
5557    pub AddressU: D3D11_TEXTURE_ADDRESS_MODE,
5558    pub AddressV: D3D11_TEXTURE_ADDRESS_MODE,
5559    pub AddressW: D3D11_TEXTURE_ADDRESS_MODE,
5560    pub MipLODBias: f32,
5561    pub MaxAnisotropy: u32,
5562    pub ComparisonFunc: D3D11_COMPARISON_FUNC,
5563    pub BorderColor: [f32; 4],
5564    pub MinLOD: f32,
5565    pub MaxLOD: f32,
5566}
5567impl Default for D3D11_SAMPLER_DESC {
5568    fn default() -> Self {
5569        unsafe { core::mem::zeroed() }
5570    }
5571}
5572pub const D3D11_SDK_LAYERS_VERSION: u32 = 1u32;
5573pub const D3D11_SDK_VERSION: u32 = 7u32;
5574#[repr(C)]
5575#[cfg(feature = "Win32_Graphics_Direct3D")]
5576#[derive(Clone, Copy, Debug, PartialEq)]
5577pub struct D3D11_SHADER_BUFFER_DESC {
5578    pub Name: crate::core_supplemental::PCSTR,
5579    pub Type: super::Direct3D::D3D_CBUFFER_TYPE,
5580    pub Variables: u32,
5581    pub Size: u32,
5582    pub uFlags: u32,
5583}
5584#[cfg(feature = "Win32_Graphics_Direct3D")]
5585impl Default for D3D11_SHADER_BUFFER_DESC {
5586    fn default() -> Self {
5587        unsafe { core::mem::zeroed() }
5588    }
5589}
5590pub const D3D11_SHADER_CACHE_SUPPORT_AUTOMATIC_DISK_CACHE: D3D11_SHADER_CACHE_SUPPORT_FLAGS =
5591    D3D11_SHADER_CACHE_SUPPORT_FLAGS(2i32);
5592pub const D3D11_SHADER_CACHE_SUPPORT_AUTOMATIC_INPROC_CACHE: D3D11_SHADER_CACHE_SUPPORT_FLAGS =
5593    D3D11_SHADER_CACHE_SUPPORT_FLAGS(1i32);
5594#[repr(transparent)]
5595#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
5596pub struct D3D11_SHADER_CACHE_SUPPORT_FLAGS(pub i32);
5597pub const D3D11_SHADER_CACHE_SUPPORT_NONE: D3D11_SHADER_CACHE_SUPPORT_FLAGS =
5598    D3D11_SHADER_CACHE_SUPPORT_FLAGS(0i32);
5599#[repr(C)]
5600#[cfg(feature = "Win32_Graphics_Direct3D")]
5601#[derive(Clone, Copy, Debug, PartialEq)]
5602pub struct D3D11_SHADER_DESC {
5603    pub Version: u32,
5604    pub Creator: crate::core_supplemental::PCSTR,
5605    pub Flags: u32,
5606    pub ConstantBuffers: u32,
5607    pub BoundResources: u32,
5608    pub InputParameters: u32,
5609    pub OutputParameters: u32,
5610    pub InstructionCount: u32,
5611    pub TempRegisterCount: u32,
5612    pub TempArrayCount: u32,
5613    pub DefCount: u32,
5614    pub DclCount: u32,
5615    pub TextureNormalInstructions: u32,
5616    pub TextureLoadInstructions: u32,
5617    pub TextureCompInstructions: u32,
5618    pub TextureBiasInstructions: u32,
5619    pub TextureGradientInstructions: u32,
5620    pub FloatInstructionCount: u32,
5621    pub IntInstructionCount: u32,
5622    pub UintInstructionCount: u32,
5623    pub StaticFlowControlCount: u32,
5624    pub DynamicFlowControlCount: u32,
5625    pub MacroInstructionCount: u32,
5626    pub ArrayInstructionCount: u32,
5627    pub CutInstructionCount: u32,
5628    pub EmitInstructionCount: u32,
5629    pub GSOutputTopology: super::Direct3D::D3D_PRIMITIVE_TOPOLOGY,
5630    pub GSMaxOutputVertexCount: u32,
5631    pub InputPrimitive: super::Direct3D::D3D_PRIMITIVE,
5632    pub PatchConstantParameters: u32,
5633    pub cGSInstanceCount: u32,
5634    pub cControlPoints: u32,
5635    pub HSOutputPrimitive: super::Direct3D::D3D_TESSELLATOR_OUTPUT_PRIMITIVE,
5636    pub HSPartitioning: super::Direct3D::D3D_TESSELLATOR_PARTITIONING,
5637    pub TessellatorDomain: super::Direct3D::D3D_TESSELLATOR_DOMAIN,
5638    pub cBarrierInstructions: u32,
5639    pub cInterlockedInstructions: u32,
5640    pub cTextureStoreInstructions: u32,
5641}
5642#[cfg(feature = "Win32_Graphics_Direct3D")]
5643impl Default for D3D11_SHADER_DESC {
5644    fn default() -> Self {
5645        unsafe { core::mem::zeroed() }
5646    }
5647}
5648#[repr(C)]
5649#[cfg(feature = "Win32_Graphics_Direct3D")]
5650#[derive(Clone, Copy, Debug, PartialEq)]
5651pub struct D3D11_SHADER_INPUT_BIND_DESC {
5652    pub Name: crate::core_supplemental::PCSTR,
5653    pub Type: super::Direct3D::D3D_SHADER_INPUT_TYPE,
5654    pub BindPoint: u32,
5655    pub BindCount: u32,
5656    pub uFlags: u32,
5657    pub ReturnType: super::Direct3D::D3D_RESOURCE_RETURN_TYPE,
5658    pub Dimension: super::Direct3D::D3D_SRV_DIMENSION,
5659    pub NumSamples: u32,
5660}
5661#[cfg(feature = "Win32_Graphics_Direct3D")]
5662impl Default for D3D11_SHADER_INPUT_BIND_DESC {
5663    fn default() -> Self {
5664        unsafe { core::mem::zeroed() }
5665    }
5666}
5667pub const D3D11_SHADER_MAJOR_VERSION: u32 = 5u32;
5668pub const D3D11_SHADER_MAX_INSTANCES: u32 = 65535u32;
5669pub const D3D11_SHADER_MAX_INTERFACES: u32 = 253u32;
5670pub const D3D11_SHADER_MAX_INTERFACE_CALL_SITES: u32 = 4096u32;
5671pub const D3D11_SHADER_MAX_TYPES: u32 = 65535u32;
5672pub const D3D11_SHADER_MINOR_VERSION: u32 = 0u32;
5673pub const D3D11_SHADER_MIN_PRECISION_10_BIT: D3D11_SHADER_MIN_PRECISION_SUPPORT =
5674    D3D11_SHADER_MIN_PRECISION_SUPPORT(1i32);
5675pub const D3D11_SHADER_MIN_PRECISION_16_BIT: D3D11_SHADER_MIN_PRECISION_SUPPORT =
5676    D3D11_SHADER_MIN_PRECISION_SUPPORT(2i32);
5677#[repr(transparent)]
5678#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
5679pub struct D3D11_SHADER_MIN_PRECISION_SUPPORT(pub i32);
5680#[repr(C)]
5681#[cfg(all(
5682    feature = "Win32_Graphics_Direct3D",
5683    feature = "Win32_Graphics_Dxgi_Common"
5684))]
5685#[derive(Clone, Copy)]
5686pub struct D3D11_SHADER_RESOURCE_VIEW_DESC {
5687    pub Format: crate::Dxgi::Common::DXGI_FORMAT,
5688    pub ViewDimension: super::Direct3D::D3D_SRV_DIMENSION,
5689    pub Anonymous: D3D11_SHADER_RESOURCE_VIEW_DESC_0,
5690}
5691#[cfg(all(
5692    feature = "Win32_Graphics_Direct3D",
5693    feature = "Win32_Graphics_Dxgi_Common"
5694))]
5695impl Default for D3D11_SHADER_RESOURCE_VIEW_DESC {
5696    fn default() -> Self {
5697        unsafe { core::mem::zeroed() }
5698    }
5699}
5700#[repr(C)]
5701#[cfg(all(
5702    feature = "Win32_Graphics_Direct3D",
5703    feature = "Win32_Graphics_Dxgi_Common"
5704))]
5705#[derive(Clone, Copy)]
5706pub union D3D11_SHADER_RESOURCE_VIEW_DESC_0 {
5707    pub Buffer: D3D11_BUFFER_SRV,
5708    pub Texture1D: D3D11_TEX1D_SRV,
5709    pub Texture1DArray: D3D11_TEX1D_ARRAY_SRV,
5710    pub Texture2D: D3D11_TEX2D_SRV,
5711    pub Texture2DArray: D3D11_TEX2D_ARRAY_SRV,
5712    pub Texture2DMS: D3D11_TEX2DMS_SRV,
5713    pub Texture2DMSArray: D3D11_TEX2DMS_ARRAY_SRV,
5714    pub Texture3D: D3D11_TEX3D_SRV,
5715    pub TextureCube: D3D11_TEXCUBE_SRV,
5716    pub TextureCubeArray: D3D11_TEXCUBE_ARRAY_SRV,
5717    pub BufferEx: D3D11_BUFFEREX_SRV,
5718}
5719#[cfg(all(
5720    feature = "Win32_Graphics_Direct3D",
5721    feature = "Win32_Graphics_Dxgi_Common"
5722))]
5723impl Default for D3D11_SHADER_RESOURCE_VIEW_DESC_0 {
5724    fn default() -> Self {
5725        unsafe { core::mem::zeroed() }
5726    }
5727}
5728#[repr(C)]
5729#[cfg(all(
5730    feature = "Win32_Graphics_Direct3D",
5731    feature = "Win32_Graphics_Dxgi_Common"
5732))]
5733#[derive(Clone, Copy)]
5734pub struct D3D11_SHADER_RESOURCE_VIEW_DESC1 {
5735    pub Format: crate::Dxgi::Common::DXGI_FORMAT,
5736    pub ViewDimension: super::Direct3D::D3D_SRV_DIMENSION,
5737    pub Anonymous: D3D11_SHADER_RESOURCE_VIEW_DESC1_0,
5738}
5739#[cfg(all(
5740    feature = "Win32_Graphics_Direct3D",
5741    feature = "Win32_Graphics_Dxgi_Common"
5742))]
5743impl Default for D3D11_SHADER_RESOURCE_VIEW_DESC1 {
5744    fn default() -> Self {
5745        unsafe { core::mem::zeroed() }
5746    }
5747}
5748#[repr(C)]
5749#[cfg(all(
5750    feature = "Win32_Graphics_Direct3D",
5751    feature = "Win32_Graphics_Dxgi_Common"
5752))]
5753#[derive(Clone, Copy)]
5754pub union D3D11_SHADER_RESOURCE_VIEW_DESC1_0 {
5755    pub Buffer: D3D11_BUFFER_SRV,
5756    pub Texture1D: D3D11_TEX1D_SRV,
5757    pub Texture1DArray: D3D11_TEX1D_ARRAY_SRV,
5758    pub Texture2D: D3D11_TEX2D_SRV1,
5759    pub Texture2DArray: D3D11_TEX2D_ARRAY_SRV1,
5760    pub Texture2DMS: D3D11_TEX2DMS_SRV,
5761    pub Texture2DMSArray: D3D11_TEX2DMS_ARRAY_SRV,
5762    pub Texture3D: D3D11_TEX3D_SRV,
5763    pub TextureCube: D3D11_TEXCUBE_SRV,
5764    pub TextureCubeArray: D3D11_TEXCUBE_ARRAY_SRV,
5765    pub BufferEx: D3D11_BUFFEREX_SRV,
5766}
5767#[cfg(all(
5768    feature = "Win32_Graphics_Direct3D",
5769    feature = "Win32_Graphics_Dxgi_Common"
5770))]
5771impl Default for D3D11_SHADER_RESOURCE_VIEW_DESC1_0 {
5772    fn default() -> Self {
5773        unsafe { core::mem::zeroed() }
5774    }
5775}
5776#[repr(C)]
5777#[derive(Clone, Copy)]
5778pub struct D3D11_SHADER_TRACE_DESC {
5779    pub Type: D3D11_SHADER_TYPE,
5780    pub Flags: u32,
5781    pub Anonymous: D3D11_SHADER_TRACE_DESC_0,
5782}
5783impl Default for D3D11_SHADER_TRACE_DESC {
5784    fn default() -> Self {
5785        unsafe { core::mem::zeroed() }
5786    }
5787}
5788#[repr(C)]
5789#[derive(Clone, Copy)]
5790pub union D3D11_SHADER_TRACE_DESC_0 {
5791    pub VertexShaderTraceDesc: D3D11_VERTEX_SHADER_TRACE_DESC,
5792    pub HullShaderTraceDesc: D3D11_HULL_SHADER_TRACE_DESC,
5793    pub DomainShaderTraceDesc: D3D11_DOMAIN_SHADER_TRACE_DESC,
5794    pub GeometryShaderTraceDesc: D3D11_GEOMETRY_SHADER_TRACE_DESC,
5795    pub PixelShaderTraceDesc: D3D11_PIXEL_SHADER_TRACE_DESC,
5796    pub ComputeShaderTraceDesc: D3D11_COMPUTE_SHADER_TRACE_DESC,
5797}
5798impl Default for D3D11_SHADER_TRACE_DESC_0 {
5799    fn default() -> Self {
5800        unsafe { core::mem::zeroed() }
5801    }
5802}
5803pub const D3D11_SHADER_TRACE_FLAG_RECORD_REGISTER_READS: u32 = 2u32;
5804pub const D3D11_SHADER_TRACE_FLAG_RECORD_REGISTER_WRITES: u32 = 1u32;
5805#[repr(transparent)]
5806#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
5807pub struct D3D11_SHADER_TRACKING_OPTIONS(pub i32);
5808pub const D3D11_SHADER_TRACKING_OPTION_ALLOW_SAME: D3D11_SHADER_TRACKING_OPTIONS =
5809    D3D11_SHADER_TRACKING_OPTIONS(16i32);
5810pub const D3D11_SHADER_TRACKING_OPTION_ALL_HAZARDS: D3D11_SHADER_TRACKING_OPTIONS =
5811    D3D11_SHADER_TRACKING_OPTIONS(1006i32);
5812pub const D3D11_SHADER_TRACKING_OPTION_ALL_HAZARDS_ALLOWING_SAME: D3D11_SHADER_TRACKING_OPTIONS =
5813    D3D11_SHADER_TRACKING_OPTIONS(1022i32);
5814pub const D3D11_SHADER_TRACKING_OPTION_ALL_OPTIONS: D3D11_SHADER_TRACKING_OPTIONS =
5815    D3D11_SHADER_TRACKING_OPTIONS(1023i32);
5816pub const D3D11_SHADER_TRACKING_OPTION_IGNORE: D3D11_SHADER_TRACKING_OPTIONS =
5817    D3D11_SHADER_TRACKING_OPTIONS(0i32);
5818pub const D3D11_SHADER_TRACKING_OPTION_TRACK_ATOMIC_CONSISTENCY: D3D11_SHADER_TRACKING_OPTIONS =
5819    D3D11_SHADER_TRACKING_OPTIONS(32i32);
5820pub const D3D11_SHADER_TRACKING_OPTION_TRACK_ATOMIC_CONSISTENCY_ACROSS_THREADGROUPS:
5821    D3D11_SHADER_TRACKING_OPTIONS = D3D11_SHADER_TRACKING_OPTIONS(512i32);
5822pub const D3D11_SHADER_TRACKING_OPTION_TRACK_RAW: D3D11_SHADER_TRACKING_OPTIONS =
5823    D3D11_SHADER_TRACKING_OPTIONS(2i32);
5824pub const D3D11_SHADER_TRACKING_OPTION_TRACK_RAW_ACROSS_THREADGROUPS:
5825    D3D11_SHADER_TRACKING_OPTIONS = D3D11_SHADER_TRACKING_OPTIONS(64i32);
5826pub const D3D11_SHADER_TRACKING_OPTION_TRACK_UNINITIALIZED: D3D11_SHADER_TRACKING_OPTIONS =
5827    D3D11_SHADER_TRACKING_OPTIONS(1i32);
5828pub const D3D11_SHADER_TRACKING_OPTION_TRACK_WAR: D3D11_SHADER_TRACKING_OPTIONS =
5829    D3D11_SHADER_TRACKING_OPTIONS(4i32);
5830pub const D3D11_SHADER_TRACKING_OPTION_TRACK_WAR_ACROSS_THREADGROUPS:
5831    D3D11_SHADER_TRACKING_OPTIONS = D3D11_SHADER_TRACKING_OPTIONS(128i32);
5832pub const D3D11_SHADER_TRACKING_OPTION_TRACK_WAW: D3D11_SHADER_TRACKING_OPTIONS =
5833    D3D11_SHADER_TRACKING_OPTIONS(8i32);
5834pub const D3D11_SHADER_TRACKING_OPTION_TRACK_WAW_ACROSS_THREADGROUPS:
5835    D3D11_SHADER_TRACKING_OPTIONS = D3D11_SHADER_TRACKING_OPTIONS(256i32);
5836pub const D3D11_SHADER_TRACKING_OPTION_UAV_SPECIFIC_FLAGS: D3D11_SHADER_TRACKING_OPTIONS =
5837    D3D11_SHADER_TRACKING_OPTIONS(960i32);
5838#[repr(transparent)]
5839#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
5840pub struct D3D11_SHADER_TRACKING_RESOURCE_TYPE(pub i32);
5841pub const D3D11_SHADER_TRACKING_RESOURCE_TYPE_ALL: D3D11_SHADER_TRACKING_RESOURCE_TYPE =
5842    D3D11_SHADER_TRACKING_RESOURCE_TYPE(7i32);
5843pub const D3D11_SHADER_TRACKING_RESOURCE_TYPE_ALL_DEVICEMEMORY:
5844    D3D11_SHADER_TRACKING_RESOURCE_TYPE = D3D11_SHADER_TRACKING_RESOURCE_TYPE(3i32);
5845pub const D3D11_SHADER_TRACKING_RESOURCE_TYPE_ALL_SHARED_MEMORY:
5846    D3D11_SHADER_TRACKING_RESOURCE_TYPE = D3D11_SHADER_TRACKING_RESOURCE_TYPE(5i32);
5847pub const D3D11_SHADER_TRACKING_RESOURCE_TYPE_GROUPSHARED_MEMORY:
5848    D3D11_SHADER_TRACKING_RESOURCE_TYPE = D3D11_SHADER_TRACKING_RESOURCE_TYPE(4i32);
5849pub const D3D11_SHADER_TRACKING_RESOURCE_TYPE_GROUPSHARED_NON_UAV:
5850    D3D11_SHADER_TRACKING_RESOURCE_TYPE = D3D11_SHADER_TRACKING_RESOURCE_TYPE(6i32);
5851pub const D3D11_SHADER_TRACKING_RESOURCE_TYPE_NONE: D3D11_SHADER_TRACKING_RESOURCE_TYPE =
5852    D3D11_SHADER_TRACKING_RESOURCE_TYPE(0i32);
5853pub const D3D11_SHADER_TRACKING_RESOURCE_TYPE_NON_UAV_DEVICEMEMORY:
5854    D3D11_SHADER_TRACKING_RESOURCE_TYPE = D3D11_SHADER_TRACKING_RESOURCE_TYPE(2i32);
5855pub const D3D11_SHADER_TRACKING_RESOURCE_TYPE_UAV_DEVICEMEMORY:
5856    D3D11_SHADER_TRACKING_RESOURCE_TYPE = D3D11_SHADER_TRACKING_RESOURCE_TYPE(1i32);
5857#[repr(transparent)]
5858#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
5859pub struct D3D11_SHADER_TYPE(pub i32);
5860#[repr(C)]
5861#[cfg(feature = "Win32_Graphics_Direct3D")]
5862#[derive(Clone, Copy, Debug, PartialEq)]
5863pub struct D3D11_SHADER_TYPE_DESC {
5864    pub Class: super::Direct3D::D3D_SHADER_VARIABLE_CLASS,
5865    pub Type: super::Direct3D::D3D_SHADER_VARIABLE_TYPE,
5866    pub Rows: u32,
5867    pub Columns: u32,
5868    pub Elements: u32,
5869    pub Members: u32,
5870    pub Offset: u32,
5871    pub Name: crate::core_supplemental::PCSTR,
5872}
5873#[cfg(feature = "Win32_Graphics_Direct3D")]
5874impl Default for D3D11_SHADER_TYPE_DESC {
5875    fn default() -> Self {
5876        unsafe { core::mem::zeroed() }
5877    }
5878}
5879#[repr(C)]
5880#[derive(Clone, Copy, Debug, PartialEq)]
5881pub struct D3D11_SHADER_VARIABLE_DESC {
5882    pub Name: crate::core_supplemental::PCSTR,
5883    pub StartOffset: u32,
5884    pub Size: u32,
5885    pub uFlags: u32,
5886    pub DefaultValue: *mut core::ffi::c_void,
5887    pub StartTexture: u32,
5888    pub TextureSize: u32,
5889    pub StartSampler: u32,
5890    pub SamplerSize: u32,
5891}
5892impl Default for D3D11_SHADER_VARIABLE_DESC {
5893    fn default() -> Self {
5894        unsafe { core::mem::zeroed() }
5895    }
5896}
5897#[repr(transparent)]
5898#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
5899pub struct D3D11_SHADER_VERSION_TYPE(pub i32);
5900#[repr(transparent)]
5901#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
5902pub struct D3D11_SHARED_RESOURCE_TIER(pub i32);
5903pub const D3D11_SHARED_RESOURCE_TIER_0: D3D11_SHARED_RESOURCE_TIER =
5904    D3D11_SHARED_RESOURCE_TIER(0i32);
5905pub const D3D11_SHARED_RESOURCE_TIER_1: D3D11_SHARED_RESOURCE_TIER =
5906    D3D11_SHARED_RESOURCE_TIER(1i32);
5907pub const D3D11_SHARED_RESOURCE_TIER_2: D3D11_SHARED_RESOURCE_TIER =
5908    D3D11_SHARED_RESOURCE_TIER(2i32);
5909pub const D3D11_SHARED_RESOURCE_TIER_3: D3D11_SHARED_RESOURCE_TIER =
5910    D3D11_SHARED_RESOURCE_TIER(3i32);
5911pub const D3D11_SHIFT_INSTRUCTION_PAD_VALUE: u32 = 0u32;
5912pub const D3D11_SHIFT_INSTRUCTION_SHIFT_VALUE_BIT_COUNT: u32 = 5u32;
5913pub const D3D11_SHVER_COMPUTE_SHADER: D3D11_SHADER_VERSION_TYPE = D3D11_SHADER_VERSION_TYPE(5i32);
5914pub const D3D11_SHVER_DOMAIN_SHADER: D3D11_SHADER_VERSION_TYPE = D3D11_SHADER_VERSION_TYPE(4i32);
5915pub const D3D11_SHVER_GEOMETRY_SHADER: D3D11_SHADER_VERSION_TYPE = D3D11_SHADER_VERSION_TYPE(2i32);
5916pub const D3D11_SHVER_HULL_SHADER: D3D11_SHADER_VERSION_TYPE = D3D11_SHADER_VERSION_TYPE(3i32);
5917pub const D3D11_SHVER_PIXEL_SHADER: D3D11_SHADER_VERSION_TYPE = D3D11_SHADER_VERSION_TYPE(0i32);
5918pub const D3D11_SHVER_RESERVED0: D3D11_SHADER_VERSION_TYPE = D3D11_SHADER_VERSION_TYPE(65520i32);
5919pub const D3D11_SHVER_VERTEX_SHADER: D3D11_SHADER_VERSION_TYPE = D3D11_SHADER_VERSION_TYPE(1i32);
5920#[repr(C)]
5921#[cfg(feature = "Win32_Graphics_Direct3D")]
5922#[derive(Clone, Copy, Debug, PartialEq)]
5923pub struct D3D11_SIGNATURE_PARAMETER_DESC {
5924    pub SemanticName: crate::core_supplemental::PCSTR,
5925    pub SemanticIndex: u32,
5926    pub Register: u32,
5927    pub SystemValueType: super::Direct3D::D3D_NAME,
5928    pub ComponentType: super::Direct3D::D3D_REGISTER_COMPONENT_TYPE,
5929    pub Mask: u8,
5930    pub ReadWriteMask: u8,
5931    pub Stream: u32,
5932    pub MinPrecision: super::Direct3D::D3D_MIN_PRECISION,
5933}
5934#[cfg(feature = "Win32_Graphics_Direct3D")]
5935impl Default for D3D11_SIGNATURE_PARAMETER_DESC {
5936    fn default() -> Self {
5937        unsafe { core::mem::zeroed() }
5938    }
5939}
5940pub const D3D11_SIMULTANEOUS_RENDER_TARGET_COUNT: u32 = 8u32;
5941pub const D3D11_SO_BUFFER_MAX_STRIDE_IN_BYTES: u32 = 2048u32;
5942pub const D3D11_SO_BUFFER_MAX_WRITE_WINDOW_IN_BYTES: u32 = 512u32;
5943pub const D3D11_SO_BUFFER_SLOT_COUNT: u32 = 4u32;
5944pub const D3D11_SO_DDI_REGISTER_INDEX_DENOTING_GAP: u32 = 4294967295u32;
5945#[repr(C)]
5946#[derive(Clone, Copy, Debug, PartialEq)]
5947pub struct D3D11_SO_DECLARATION_ENTRY {
5948    pub Stream: u32,
5949    pub SemanticName: crate::core_supplemental::PCSTR,
5950    pub SemanticIndex: u32,
5951    pub StartComponent: u8,
5952    pub ComponentCount: u8,
5953    pub OutputSlot: u8,
5954}
5955impl Default for D3D11_SO_DECLARATION_ENTRY {
5956    fn default() -> Self {
5957        unsafe { core::mem::zeroed() }
5958    }
5959}
5960pub const D3D11_SO_NO_RASTERIZED_STREAM: u32 = 4294967295u32;
5961pub const D3D11_SO_OUTPUT_COMPONENT_COUNT: u32 = 128u32;
5962pub const D3D11_SO_STREAM_COUNT: u32 = 4u32;
5963pub const D3D11_SPEC_DATE_DAY: u32 = 16u32;
5964pub const D3D11_SPEC_DATE_MONTH: u32 = 5u32;
5965pub const D3D11_SPEC_DATE_YEAR: u32 = 2011u32;
5966pub const D3D11_SPEC_VERSION: f64 = 1.07f64;
5967pub const D3D11_SRGB_GAMMA: f32 = 2.2f32;
5968pub const D3D11_SRGB_TO_FLOAT_DENOMINATOR_1: f32 = 12.92f32;
5969pub const D3D11_SRGB_TO_FLOAT_DENOMINATOR_2: f32 = 1.055f32;
5970pub const D3D11_SRGB_TO_FLOAT_EXPONENT: f32 = 2.4f32;
5971pub const D3D11_SRGB_TO_FLOAT_OFFSET: f32 = 0.055f32;
5972pub const D3D11_SRGB_TO_FLOAT_THRESHOLD: f32 = 0.04045f32;
5973pub const D3D11_SRGB_TO_FLOAT_TOLERANCE_IN_ULP: f32 = 0.5f32;
5974pub const D3D11_STANDARD_COMPONENT_BIT_COUNT: u32 = 32u32;
5975pub const D3D11_STANDARD_COMPONENT_BIT_COUNT_DOUBLED: u32 = 64u32;
5976pub const D3D11_STANDARD_MAXIMUM_ELEMENT_ALIGNMENT_BYTE_MULTIPLE: u32 = 4u32;
5977pub const D3D11_STANDARD_MULTISAMPLE_PATTERN: D3D11_STANDARD_MULTISAMPLE_QUALITY_LEVELS =
5978    D3D11_STANDARD_MULTISAMPLE_QUALITY_LEVELS(-1i32);
5979#[repr(transparent)]
5980#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
5981pub struct D3D11_STANDARD_MULTISAMPLE_QUALITY_LEVELS(pub i32);
5982pub const D3D11_STANDARD_PIXEL_COMPONENT_COUNT: u32 = 128u32;
5983pub const D3D11_STANDARD_PIXEL_ELEMENT_COUNT: u32 = 32u32;
5984pub const D3D11_STANDARD_VECTOR_SIZE: u32 = 4u32;
5985pub const D3D11_STANDARD_VERTEX_ELEMENT_COUNT: u32 = 32u32;
5986pub const D3D11_STANDARD_VERTEX_TOTAL_COMPONENT_COUNT: u32 = 64u32;
5987#[repr(transparent)]
5988#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
5989pub struct D3D11_STENCIL_OP(pub i32);
5990pub const D3D11_STENCIL_OP_DECR: D3D11_STENCIL_OP = D3D11_STENCIL_OP(8i32);
5991pub const D3D11_STENCIL_OP_DECR_SAT: D3D11_STENCIL_OP = D3D11_STENCIL_OP(5i32);
5992pub const D3D11_STENCIL_OP_INCR: D3D11_STENCIL_OP = D3D11_STENCIL_OP(7i32);
5993pub const D3D11_STENCIL_OP_INCR_SAT: D3D11_STENCIL_OP = D3D11_STENCIL_OP(4i32);
5994pub const D3D11_STENCIL_OP_INVERT: D3D11_STENCIL_OP = D3D11_STENCIL_OP(6i32);
5995pub const D3D11_STENCIL_OP_KEEP: D3D11_STENCIL_OP = D3D11_STENCIL_OP(1i32);
5996pub const D3D11_STENCIL_OP_REPLACE: D3D11_STENCIL_OP = D3D11_STENCIL_OP(3i32);
5997pub const D3D11_STENCIL_OP_ZERO: D3D11_STENCIL_OP = D3D11_STENCIL_OP(2i32);
5998pub const D3D11_SUBPIXEL_FRACTIONAL_BIT_COUNT: u32 = 8u32;
5999#[repr(C)]
6000#[derive(Clone, Copy, Debug, PartialEq)]
6001pub struct D3D11_SUBRESOURCE_DATA {
6002    pub pSysMem: *const core::ffi::c_void,
6003    pub SysMemPitch: u32,
6004    pub SysMemSlicePitch: u32,
6005}
6006impl Default for D3D11_SUBRESOURCE_DATA {
6007    fn default() -> Self {
6008        unsafe { core::mem::zeroed() }
6009    }
6010}
6011#[repr(C)]
6012#[derive(Clone, Copy, Debug, PartialEq)]
6013pub struct D3D11_SUBRESOURCE_TILING {
6014    pub WidthInTiles: u32,
6015    pub HeightInTiles: u16,
6016    pub DepthInTiles: u16,
6017    pub StartTileIndexInOverallResource: u32,
6018}
6019impl Default for D3D11_SUBRESOURCE_TILING {
6020    fn default() -> Self {
6021        unsafe { core::mem::zeroed() }
6022    }
6023}
6024pub const D3D11_SUBTEXEL_FRACTIONAL_BIT_COUNT: u32 = 8u32;
6025pub const D3D11_TESSELLATOR_MAX_EVEN_TESSELLATION_FACTOR: u32 = 64u32;
6026pub const D3D11_TESSELLATOR_MAX_ISOLINE_DENSITY_TESSELLATION_FACTOR: u32 = 64u32;
6027pub const D3D11_TESSELLATOR_MAX_ODD_TESSELLATION_FACTOR: u32 = 63u32;
6028pub const D3D11_TESSELLATOR_MAX_TESSELLATION_FACTOR: u32 = 64u32;
6029pub const D3D11_TESSELLATOR_MIN_EVEN_TESSELLATION_FACTOR: u32 = 2u32;
6030pub const D3D11_TESSELLATOR_MIN_ISOLINE_DENSITY_TESSELLATION_FACTOR: u32 = 1u32;
6031pub const D3D11_TESSELLATOR_MIN_ODD_TESSELLATION_FACTOR: u32 = 1u32;
6032#[repr(C)]
6033#[derive(Clone, Copy, Debug, PartialEq)]
6034pub struct D3D11_TEX1D_ARRAY_DSV {
6035    pub MipSlice: u32,
6036    pub FirstArraySlice: u32,
6037    pub ArraySize: u32,
6038}
6039impl Default for D3D11_TEX1D_ARRAY_DSV {
6040    fn default() -> Self {
6041        unsafe { core::mem::zeroed() }
6042    }
6043}
6044#[repr(C)]
6045#[derive(Clone, Copy, Debug, PartialEq)]
6046pub struct D3D11_TEX1D_ARRAY_RTV {
6047    pub MipSlice: u32,
6048    pub FirstArraySlice: u32,
6049    pub ArraySize: u32,
6050}
6051impl Default for D3D11_TEX1D_ARRAY_RTV {
6052    fn default() -> Self {
6053        unsafe { core::mem::zeroed() }
6054    }
6055}
6056#[repr(C)]
6057#[derive(Clone, Copy, Debug, PartialEq)]
6058pub struct D3D11_TEX1D_ARRAY_SRV {
6059    pub MostDetailedMip: u32,
6060    pub MipLevels: u32,
6061    pub FirstArraySlice: u32,
6062    pub ArraySize: u32,
6063}
6064impl Default for D3D11_TEX1D_ARRAY_SRV {
6065    fn default() -> Self {
6066        unsafe { core::mem::zeroed() }
6067    }
6068}
6069#[repr(C)]
6070#[derive(Clone, Copy, Debug, PartialEq)]
6071pub struct D3D11_TEX1D_ARRAY_UAV {
6072    pub MipSlice: u32,
6073    pub FirstArraySlice: u32,
6074    pub ArraySize: u32,
6075}
6076impl Default for D3D11_TEX1D_ARRAY_UAV {
6077    fn default() -> Self {
6078        unsafe { core::mem::zeroed() }
6079    }
6080}
6081#[repr(C)]
6082#[derive(Clone, Copy, Debug, PartialEq)]
6083pub struct D3D11_TEX1D_DSV {
6084    pub MipSlice: u32,
6085}
6086impl Default for D3D11_TEX1D_DSV {
6087    fn default() -> Self {
6088        unsafe { core::mem::zeroed() }
6089    }
6090}
6091#[repr(C)]
6092#[derive(Clone, Copy, Debug, PartialEq)]
6093pub struct D3D11_TEX1D_RTV {
6094    pub MipSlice: u32,
6095}
6096impl Default for D3D11_TEX1D_RTV {
6097    fn default() -> Self {
6098        unsafe { core::mem::zeroed() }
6099    }
6100}
6101#[repr(C)]
6102#[derive(Clone, Copy, Debug, PartialEq)]
6103pub struct D3D11_TEX1D_SRV {
6104    pub MostDetailedMip: u32,
6105    pub MipLevels: u32,
6106}
6107impl Default for D3D11_TEX1D_SRV {
6108    fn default() -> Self {
6109        unsafe { core::mem::zeroed() }
6110    }
6111}
6112#[repr(C)]
6113#[derive(Clone, Copy, Debug, PartialEq)]
6114pub struct D3D11_TEX1D_UAV {
6115    pub MipSlice: u32,
6116}
6117impl Default for D3D11_TEX1D_UAV {
6118    fn default() -> Self {
6119        unsafe { core::mem::zeroed() }
6120    }
6121}
6122#[repr(C)]
6123#[derive(Clone, Copy, Debug, PartialEq)]
6124pub struct D3D11_TEX2DMS_ARRAY_DSV {
6125    pub FirstArraySlice: u32,
6126    pub ArraySize: u32,
6127}
6128impl Default for D3D11_TEX2DMS_ARRAY_DSV {
6129    fn default() -> Self {
6130        unsafe { core::mem::zeroed() }
6131    }
6132}
6133#[repr(C)]
6134#[derive(Clone, Copy, Debug, PartialEq)]
6135pub struct D3D11_TEX2DMS_ARRAY_RTV {
6136    pub FirstArraySlice: u32,
6137    pub ArraySize: u32,
6138}
6139impl Default for D3D11_TEX2DMS_ARRAY_RTV {
6140    fn default() -> Self {
6141        unsafe { core::mem::zeroed() }
6142    }
6143}
6144#[repr(C)]
6145#[derive(Clone, Copy, Debug, PartialEq)]
6146pub struct D3D11_TEX2DMS_ARRAY_SRV {
6147    pub FirstArraySlice: u32,
6148    pub ArraySize: u32,
6149}
6150impl Default for D3D11_TEX2DMS_ARRAY_SRV {
6151    fn default() -> Self {
6152        unsafe { core::mem::zeroed() }
6153    }
6154}
6155#[repr(C)]
6156#[derive(Clone, Copy, Debug, PartialEq)]
6157pub struct D3D11_TEX2DMS_DSV {
6158    pub UnusedField_NothingToDefine: u32,
6159}
6160impl Default for D3D11_TEX2DMS_DSV {
6161    fn default() -> Self {
6162        unsafe { core::mem::zeroed() }
6163    }
6164}
6165#[repr(C)]
6166#[derive(Clone, Copy, Debug, PartialEq)]
6167pub struct D3D11_TEX2DMS_RTV {
6168    pub UnusedField_NothingToDefine: u32,
6169}
6170impl Default for D3D11_TEX2DMS_RTV {
6171    fn default() -> Self {
6172        unsafe { core::mem::zeroed() }
6173    }
6174}
6175#[repr(C)]
6176#[derive(Clone, Copy, Debug, PartialEq)]
6177pub struct D3D11_TEX2DMS_SRV {
6178    pub UnusedField_NothingToDefine: u32,
6179}
6180impl Default for D3D11_TEX2DMS_SRV {
6181    fn default() -> Self {
6182        unsafe { core::mem::zeroed() }
6183    }
6184}
6185#[repr(C)]
6186#[derive(Clone, Copy, Debug, PartialEq)]
6187pub struct D3D11_TEX2D_ARRAY_DSV {
6188    pub MipSlice: u32,
6189    pub FirstArraySlice: u32,
6190    pub ArraySize: u32,
6191}
6192impl Default for D3D11_TEX2D_ARRAY_DSV {
6193    fn default() -> Self {
6194        unsafe { core::mem::zeroed() }
6195    }
6196}
6197#[repr(C)]
6198#[derive(Clone, Copy, Debug, PartialEq)]
6199pub struct D3D11_TEX2D_ARRAY_RTV {
6200    pub MipSlice: u32,
6201    pub FirstArraySlice: u32,
6202    pub ArraySize: u32,
6203}
6204impl Default for D3D11_TEX2D_ARRAY_RTV {
6205    fn default() -> Self {
6206        unsafe { core::mem::zeroed() }
6207    }
6208}
6209#[repr(C)]
6210#[derive(Clone, Copy, Debug, PartialEq)]
6211pub struct D3D11_TEX2D_ARRAY_RTV1 {
6212    pub MipSlice: u32,
6213    pub FirstArraySlice: u32,
6214    pub ArraySize: u32,
6215    pub PlaneSlice: u32,
6216}
6217impl Default for D3D11_TEX2D_ARRAY_RTV1 {
6218    fn default() -> Self {
6219        unsafe { core::mem::zeroed() }
6220    }
6221}
6222#[repr(C)]
6223#[derive(Clone, Copy, Debug, PartialEq)]
6224pub struct D3D11_TEX2D_ARRAY_SRV {
6225    pub MostDetailedMip: u32,
6226    pub MipLevels: u32,
6227    pub FirstArraySlice: u32,
6228    pub ArraySize: u32,
6229}
6230impl Default for D3D11_TEX2D_ARRAY_SRV {
6231    fn default() -> Self {
6232        unsafe { core::mem::zeroed() }
6233    }
6234}
6235#[repr(C)]
6236#[derive(Clone, Copy, Debug, PartialEq)]
6237pub struct D3D11_TEX2D_ARRAY_SRV1 {
6238    pub MostDetailedMip: u32,
6239    pub MipLevels: u32,
6240    pub FirstArraySlice: u32,
6241    pub ArraySize: u32,
6242    pub PlaneSlice: u32,
6243}
6244impl Default for D3D11_TEX2D_ARRAY_SRV1 {
6245    fn default() -> Self {
6246        unsafe { core::mem::zeroed() }
6247    }
6248}
6249#[repr(C)]
6250#[derive(Clone, Copy, Debug, PartialEq)]
6251pub struct D3D11_TEX2D_ARRAY_UAV {
6252    pub MipSlice: u32,
6253    pub FirstArraySlice: u32,
6254    pub ArraySize: u32,
6255}
6256impl Default for D3D11_TEX2D_ARRAY_UAV {
6257    fn default() -> Self {
6258        unsafe { core::mem::zeroed() }
6259    }
6260}
6261#[repr(C)]
6262#[derive(Clone, Copy, Debug, PartialEq)]
6263pub struct D3D11_TEX2D_ARRAY_UAV1 {
6264    pub MipSlice: u32,
6265    pub FirstArraySlice: u32,
6266    pub ArraySize: u32,
6267    pub PlaneSlice: u32,
6268}
6269impl Default for D3D11_TEX2D_ARRAY_UAV1 {
6270    fn default() -> Self {
6271        unsafe { core::mem::zeroed() }
6272    }
6273}
6274#[repr(C)]
6275#[derive(Clone, Copy, Debug, PartialEq)]
6276pub struct D3D11_TEX2D_ARRAY_VPOV {
6277    pub MipSlice: u32,
6278    pub FirstArraySlice: u32,
6279    pub ArraySize: u32,
6280}
6281impl Default for D3D11_TEX2D_ARRAY_VPOV {
6282    fn default() -> Self {
6283        unsafe { core::mem::zeroed() }
6284    }
6285}
6286#[repr(C)]
6287#[derive(Clone, Copy, Debug, PartialEq)]
6288pub struct D3D11_TEX2D_DSV {
6289    pub MipSlice: u32,
6290}
6291impl Default for D3D11_TEX2D_DSV {
6292    fn default() -> Self {
6293        unsafe { core::mem::zeroed() }
6294    }
6295}
6296#[repr(C)]
6297#[derive(Clone, Copy, Debug, PartialEq)]
6298pub struct D3D11_TEX2D_RTV {
6299    pub MipSlice: u32,
6300}
6301impl Default for D3D11_TEX2D_RTV {
6302    fn default() -> Self {
6303        unsafe { core::mem::zeroed() }
6304    }
6305}
6306#[repr(C)]
6307#[derive(Clone, Copy, Debug, PartialEq)]
6308pub struct D3D11_TEX2D_RTV1 {
6309    pub MipSlice: u32,
6310    pub PlaneSlice: u32,
6311}
6312impl Default for D3D11_TEX2D_RTV1 {
6313    fn default() -> Self {
6314        unsafe { core::mem::zeroed() }
6315    }
6316}
6317#[repr(C)]
6318#[derive(Clone, Copy, Debug, PartialEq)]
6319pub struct D3D11_TEX2D_SRV {
6320    pub MostDetailedMip: u32,
6321    pub MipLevels: u32,
6322}
6323impl Default for D3D11_TEX2D_SRV {
6324    fn default() -> Self {
6325        unsafe { core::mem::zeroed() }
6326    }
6327}
6328#[repr(C)]
6329#[derive(Clone, Copy, Debug, PartialEq)]
6330pub struct D3D11_TEX2D_SRV1 {
6331    pub MostDetailedMip: u32,
6332    pub MipLevels: u32,
6333    pub PlaneSlice: u32,
6334}
6335impl Default for D3D11_TEX2D_SRV1 {
6336    fn default() -> Self {
6337        unsafe { core::mem::zeroed() }
6338    }
6339}
6340#[repr(C)]
6341#[derive(Clone, Copy, Debug, PartialEq)]
6342pub struct D3D11_TEX2D_UAV {
6343    pub MipSlice: u32,
6344}
6345impl Default for D3D11_TEX2D_UAV {
6346    fn default() -> Self {
6347        unsafe { core::mem::zeroed() }
6348    }
6349}
6350#[repr(C)]
6351#[derive(Clone, Copy, Debug, PartialEq)]
6352pub struct D3D11_TEX2D_UAV1 {
6353    pub MipSlice: u32,
6354    pub PlaneSlice: u32,
6355}
6356impl Default for D3D11_TEX2D_UAV1 {
6357    fn default() -> Self {
6358        unsafe { core::mem::zeroed() }
6359    }
6360}
6361#[repr(C)]
6362#[derive(Clone, Copy, Debug, PartialEq)]
6363pub struct D3D11_TEX2D_VDOV {
6364    pub ArraySlice: u32,
6365}
6366impl Default for D3D11_TEX2D_VDOV {
6367    fn default() -> Self {
6368        unsafe { core::mem::zeroed() }
6369    }
6370}
6371#[repr(C)]
6372#[derive(Clone, Copy, Debug, PartialEq)]
6373pub struct D3D11_TEX2D_VPIV {
6374    pub MipSlice: u32,
6375    pub ArraySlice: u32,
6376}
6377impl Default for D3D11_TEX2D_VPIV {
6378    fn default() -> Self {
6379        unsafe { core::mem::zeroed() }
6380    }
6381}
6382#[repr(C)]
6383#[derive(Clone, Copy, Debug, PartialEq)]
6384pub struct D3D11_TEX2D_VPOV {
6385    pub MipSlice: u32,
6386}
6387impl Default for D3D11_TEX2D_VPOV {
6388    fn default() -> Self {
6389        unsafe { core::mem::zeroed() }
6390    }
6391}
6392#[repr(C)]
6393#[derive(Clone, Copy, Debug, PartialEq)]
6394pub struct D3D11_TEX3D_RTV {
6395    pub MipSlice: u32,
6396    pub FirstWSlice: u32,
6397    pub WSize: u32,
6398}
6399impl Default for D3D11_TEX3D_RTV {
6400    fn default() -> Self {
6401        unsafe { core::mem::zeroed() }
6402    }
6403}
6404#[repr(C)]
6405#[derive(Clone, Copy, Debug, PartialEq)]
6406pub struct D3D11_TEX3D_SRV {
6407    pub MostDetailedMip: u32,
6408    pub MipLevels: u32,
6409}
6410impl Default for D3D11_TEX3D_SRV {
6411    fn default() -> Self {
6412        unsafe { core::mem::zeroed() }
6413    }
6414}
6415#[repr(C)]
6416#[derive(Clone, Copy, Debug, PartialEq)]
6417pub struct D3D11_TEX3D_UAV {
6418    pub MipSlice: u32,
6419    pub FirstWSlice: u32,
6420    pub WSize: u32,
6421}
6422impl Default for D3D11_TEX3D_UAV {
6423    fn default() -> Self {
6424        unsafe { core::mem::zeroed() }
6425    }
6426}
6427#[repr(C)]
6428#[derive(Clone, Copy, Debug, PartialEq)]
6429pub struct D3D11_TEXCUBE_ARRAY_SRV {
6430    pub MostDetailedMip: u32,
6431    pub MipLevels: u32,
6432    pub First2DArrayFace: u32,
6433    pub NumCubes: u32,
6434}
6435impl Default for D3D11_TEXCUBE_ARRAY_SRV {
6436    fn default() -> Self {
6437        unsafe { core::mem::zeroed() }
6438    }
6439}
6440#[repr(C)]
6441#[derive(Clone, Copy, Debug, PartialEq)]
6442pub struct D3D11_TEXCUBE_SRV {
6443    pub MostDetailedMip: u32,
6444    pub MipLevels: u32,
6445}
6446impl Default for D3D11_TEXCUBE_SRV {
6447    fn default() -> Self {
6448        unsafe { core::mem::zeroed() }
6449    }
6450}
6451pub const D3D11_TEXEL_ADDRESS_RANGE_BIT_COUNT: u32 = 16u32;
6452#[repr(C)]
6453#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
6454#[derive(Clone, Copy, Debug, PartialEq)]
6455pub struct D3D11_TEXTURE1D_DESC {
6456    pub Width: u32,
6457    pub MipLevels: u32,
6458    pub ArraySize: u32,
6459    pub Format: crate::Dxgi::Common::DXGI_FORMAT,
6460    pub Usage: D3D11_USAGE,
6461    pub BindFlags: u32,
6462    pub CPUAccessFlags: u32,
6463    pub MiscFlags: u32,
6464}
6465#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
6466impl Default for D3D11_TEXTURE1D_DESC {
6467    fn default() -> Self {
6468        unsafe { core::mem::zeroed() }
6469    }
6470}
6471#[repr(C)]
6472#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
6473#[derive(Clone, Copy, Debug, PartialEq)]
6474pub struct D3D11_TEXTURE2D_DESC {
6475    pub Width: u32,
6476    pub Height: u32,
6477    pub MipLevels: u32,
6478    pub ArraySize: u32,
6479    pub Format: crate::Dxgi::Common::DXGI_FORMAT,
6480    pub SampleDesc: crate::Dxgi::Common::DXGI_SAMPLE_DESC,
6481    pub Usage: D3D11_USAGE,
6482    pub BindFlags: u32,
6483    pub CPUAccessFlags: u32,
6484    pub MiscFlags: u32,
6485}
6486#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
6487impl Default for D3D11_TEXTURE2D_DESC {
6488    fn default() -> Self {
6489        unsafe { core::mem::zeroed() }
6490    }
6491}
6492#[repr(C)]
6493#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
6494#[derive(Clone, Copy, Debug, PartialEq)]
6495pub struct D3D11_TEXTURE2D_DESC1 {
6496    pub Width: u32,
6497    pub Height: u32,
6498    pub MipLevels: u32,
6499    pub ArraySize: u32,
6500    pub Format: crate::Dxgi::Common::DXGI_FORMAT,
6501    pub SampleDesc: crate::Dxgi::Common::DXGI_SAMPLE_DESC,
6502    pub Usage: D3D11_USAGE,
6503    pub BindFlags: u32,
6504    pub CPUAccessFlags: u32,
6505    pub MiscFlags: u32,
6506    pub TextureLayout: D3D11_TEXTURE_LAYOUT,
6507}
6508#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
6509impl Default for D3D11_TEXTURE2D_DESC1 {
6510    fn default() -> Self {
6511        unsafe { core::mem::zeroed() }
6512    }
6513}
6514#[repr(C)]
6515#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
6516#[derive(Clone, Copy, Debug, PartialEq)]
6517pub struct D3D11_TEXTURE3D_DESC {
6518    pub Width: u32,
6519    pub Height: u32,
6520    pub Depth: u32,
6521    pub MipLevels: u32,
6522    pub Format: crate::Dxgi::Common::DXGI_FORMAT,
6523    pub Usage: D3D11_USAGE,
6524    pub BindFlags: u32,
6525    pub CPUAccessFlags: u32,
6526    pub MiscFlags: u32,
6527}
6528#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
6529impl Default for D3D11_TEXTURE3D_DESC {
6530    fn default() -> Self {
6531        unsafe { core::mem::zeroed() }
6532    }
6533}
6534#[repr(C)]
6535#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
6536#[derive(Clone, Copy, Debug, PartialEq)]
6537pub struct D3D11_TEXTURE3D_DESC1 {
6538    pub Width: u32,
6539    pub Height: u32,
6540    pub Depth: u32,
6541    pub MipLevels: u32,
6542    pub Format: crate::Dxgi::Common::DXGI_FORMAT,
6543    pub Usage: D3D11_USAGE,
6544    pub BindFlags: u32,
6545    pub CPUAccessFlags: u32,
6546    pub MiscFlags: u32,
6547    pub TextureLayout: D3D11_TEXTURE_LAYOUT,
6548}
6549#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
6550impl Default for D3D11_TEXTURE3D_DESC1 {
6551    fn default() -> Self {
6552        unsafe { core::mem::zeroed() }
6553    }
6554}
6555#[repr(transparent)]
6556#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
6557pub struct D3D11_TEXTURECUBE_FACE(pub i32);
6558pub const D3D11_TEXTURECUBE_FACE_NEGATIVE_X: D3D11_TEXTURECUBE_FACE = D3D11_TEXTURECUBE_FACE(1i32);
6559pub const D3D11_TEXTURECUBE_FACE_NEGATIVE_Y: D3D11_TEXTURECUBE_FACE = D3D11_TEXTURECUBE_FACE(3i32);
6560pub const D3D11_TEXTURECUBE_FACE_NEGATIVE_Z: D3D11_TEXTURECUBE_FACE = D3D11_TEXTURECUBE_FACE(5i32);
6561pub const D3D11_TEXTURECUBE_FACE_POSITIVE_X: D3D11_TEXTURECUBE_FACE = D3D11_TEXTURECUBE_FACE(0i32);
6562pub const D3D11_TEXTURECUBE_FACE_POSITIVE_Y: D3D11_TEXTURECUBE_FACE = D3D11_TEXTURECUBE_FACE(2i32);
6563pub const D3D11_TEXTURECUBE_FACE_POSITIVE_Z: D3D11_TEXTURECUBE_FACE = D3D11_TEXTURECUBE_FACE(4i32);
6564pub const D3D11_TEXTURE_ADDRESS_BORDER: D3D11_TEXTURE_ADDRESS_MODE =
6565    D3D11_TEXTURE_ADDRESS_MODE(4i32);
6566pub const D3D11_TEXTURE_ADDRESS_CLAMP: D3D11_TEXTURE_ADDRESS_MODE =
6567    D3D11_TEXTURE_ADDRESS_MODE(3i32);
6568pub const D3D11_TEXTURE_ADDRESS_MIRROR: D3D11_TEXTURE_ADDRESS_MODE =
6569    D3D11_TEXTURE_ADDRESS_MODE(2i32);
6570pub const D3D11_TEXTURE_ADDRESS_MIRROR_ONCE: D3D11_TEXTURE_ADDRESS_MODE =
6571    D3D11_TEXTURE_ADDRESS_MODE(5i32);
6572#[repr(transparent)]
6573#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
6574pub struct D3D11_TEXTURE_ADDRESS_MODE(pub i32);
6575pub const D3D11_TEXTURE_ADDRESS_WRAP: D3D11_TEXTURE_ADDRESS_MODE = D3D11_TEXTURE_ADDRESS_MODE(1i32);
6576#[repr(transparent)]
6577#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
6578pub struct D3D11_TEXTURE_LAYOUT(pub i32);
6579pub const D3D11_TEXTURE_LAYOUT_64K_STANDARD_SWIZZLE: D3D11_TEXTURE_LAYOUT =
6580    D3D11_TEXTURE_LAYOUT(2i32);
6581pub const D3D11_TEXTURE_LAYOUT_ROW_MAJOR: D3D11_TEXTURE_LAYOUT = D3D11_TEXTURE_LAYOUT(1i32);
6582pub const D3D11_TEXTURE_LAYOUT_UNDEFINED: D3D11_TEXTURE_LAYOUT = D3D11_TEXTURE_LAYOUT(0i32);
6583pub const D3D11_TILED_RESOURCES_NOT_SUPPORTED: D3D11_TILED_RESOURCES_TIER =
6584    D3D11_TILED_RESOURCES_TIER(0i32);
6585#[repr(transparent)]
6586#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
6587pub struct D3D11_TILED_RESOURCES_TIER(pub i32);
6588pub const D3D11_TILED_RESOURCES_TIER_1: D3D11_TILED_RESOURCES_TIER =
6589    D3D11_TILED_RESOURCES_TIER(1i32);
6590pub const D3D11_TILED_RESOURCES_TIER_2: D3D11_TILED_RESOURCES_TIER =
6591    D3D11_TILED_RESOURCES_TIER(2i32);
6592pub const D3D11_TILED_RESOURCES_TIER_3: D3D11_TILED_RESOURCES_TIER =
6593    D3D11_TILED_RESOURCES_TIER(3i32);
6594#[repr(C)]
6595#[derive(Clone, Copy, Debug, PartialEq)]
6596pub struct D3D11_TILED_RESOURCE_COORDINATE {
6597    pub X: u32,
6598    pub Y: u32,
6599    pub Z: u32,
6600    pub Subresource: u32,
6601}
6602impl Default for D3D11_TILED_RESOURCE_COORDINATE {
6603    fn default() -> Self {
6604        unsafe { core::mem::zeroed() }
6605    }
6606}
6607#[repr(transparent)]
6608#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
6609pub struct D3D11_TILE_COPY_FLAG(pub i32);
6610pub const D3D11_TILE_COPY_LINEAR_BUFFER_TO_SWIZZLED_TILED_RESOURCE: D3D11_TILE_COPY_FLAG =
6611    D3D11_TILE_COPY_FLAG(2i32);
6612pub const D3D11_TILE_COPY_NO_OVERWRITE: D3D11_TILE_COPY_FLAG = D3D11_TILE_COPY_FLAG(1i32);
6613pub const D3D11_TILE_COPY_SWIZZLED_TILED_RESOURCE_TO_LINEAR_BUFFER: D3D11_TILE_COPY_FLAG =
6614    D3D11_TILE_COPY_FLAG(4i32);
6615#[repr(transparent)]
6616#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
6617pub struct D3D11_TILE_MAPPING_FLAG(pub i32);
6618pub const D3D11_TILE_MAPPING_NO_OVERWRITE: D3D11_TILE_MAPPING_FLAG = D3D11_TILE_MAPPING_FLAG(1i32);
6619#[repr(transparent)]
6620#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
6621pub struct D3D11_TILE_RANGE_FLAG(pub i32);
6622pub const D3D11_TILE_RANGE_NULL: D3D11_TILE_RANGE_FLAG = D3D11_TILE_RANGE_FLAG(1i32);
6623pub const D3D11_TILE_RANGE_REUSE_SINGLE_TILE: D3D11_TILE_RANGE_FLAG = D3D11_TILE_RANGE_FLAG(4i32);
6624pub const D3D11_TILE_RANGE_SKIP: D3D11_TILE_RANGE_FLAG = D3D11_TILE_RANGE_FLAG(2i32);
6625#[repr(C)]
6626#[derive(Clone, Copy, Debug, PartialEq)]
6627pub struct D3D11_TILE_REGION_SIZE {
6628    pub NumTiles: u32,
6629    pub bUseBox: crate::Foundation::BOOL,
6630    pub Width: u32,
6631    pub Height: u16,
6632    pub Depth: u16,
6633}
6634impl Default for D3D11_TILE_REGION_SIZE {
6635    fn default() -> Self {
6636        unsafe { core::mem::zeroed() }
6637    }
6638}
6639#[repr(C)]
6640#[derive(Clone, Copy, Debug, PartialEq)]
6641pub struct D3D11_TILE_SHAPE {
6642    pub WidthInTexels: u32,
6643    pub HeightInTexels: u32,
6644    pub DepthInTexels: u32,
6645}
6646impl Default for D3D11_TILE_SHAPE {
6647    fn default() -> Self {
6648        unsafe { core::mem::zeroed() }
6649    }
6650}
6651pub const D3D11_TRACE_COMPONENT_W: u32 = 8u32;
6652pub const D3D11_TRACE_COMPONENT_X: u32 = 1u32;
6653pub const D3D11_TRACE_COMPONENT_Y: u32 = 2u32;
6654pub const D3D11_TRACE_COMPONENT_Z: u32 = 4u32;
6655pub const D3D11_TRACE_CONSTANT_BUFFER: D3D11_TRACE_REGISTER_TYPE = D3D11_TRACE_REGISTER_TYPE(8i32);
6656#[repr(transparent)]
6657#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
6658pub struct D3D11_TRACE_GS_INPUT_PRIMITIVE(pub i32);
6659pub const D3D11_TRACE_GS_INPUT_PRIMITIVE_LINE: D3D11_TRACE_GS_INPUT_PRIMITIVE =
6660    D3D11_TRACE_GS_INPUT_PRIMITIVE(2i32);
6661pub const D3D11_TRACE_GS_INPUT_PRIMITIVE_LINE_ADJ: D3D11_TRACE_GS_INPUT_PRIMITIVE =
6662    D3D11_TRACE_GS_INPUT_PRIMITIVE(6i32);
6663pub const D3D11_TRACE_GS_INPUT_PRIMITIVE_POINT: D3D11_TRACE_GS_INPUT_PRIMITIVE =
6664    D3D11_TRACE_GS_INPUT_PRIMITIVE(1i32);
6665pub const D3D11_TRACE_GS_INPUT_PRIMITIVE_TRIANGLE: D3D11_TRACE_GS_INPUT_PRIMITIVE =
6666    D3D11_TRACE_GS_INPUT_PRIMITIVE(3i32);
6667pub const D3D11_TRACE_GS_INPUT_PRIMITIVE_TRIANGLE_ADJ: D3D11_TRACE_GS_INPUT_PRIMITIVE =
6668    D3D11_TRACE_GS_INPUT_PRIMITIVE(7i32);
6669pub const D3D11_TRACE_GS_INPUT_PRIMITIVE_UNDEFINED: D3D11_TRACE_GS_INPUT_PRIMITIVE =
6670    D3D11_TRACE_GS_INPUT_PRIMITIVE(0i32);
6671pub const D3D11_TRACE_IMMEDIATE32: D3D11_TRACE_REGISTER_TYPE = D3D11_TRACE_REGISTER_TYPE(9i32);
6672pub const D3D11_TRACE_IMMEDIATE64: D3D11_TRACE_REGISTER_TYPE = D3D11_TRACE_REGISTER_TYPE(33i32);
6673pub const D3D11_TRACE_IMMEDIATE_CONSTANT_BUFFER: D3D11_TRACE_REGISTER_TYPE =
6674    D3D11_TRACE_REGISTER_TYPE(3i32);
6675pub const D3D11_TRACE_INDEXABLE_TEMP_REGISTER: D3D11_TRACE_REGISTER_TYPE =
6676    D3D11_TRACE_REGISTER_TYPE(5i32);
6677pub const D3D11_TRACE_INPUT_CONTROL_POINT_REGISTER: D3D11_TRACE_REGISTER_TYPE =
6678    D3D11_TRACE_REGISTER_TYPE(19i32);
6679pub const D3D11_TRACE_INPUT_COVERAGE_MASK_REGISTER: D3D11_TRACE_REGISTER_TYPE =
6680    D3D11_TRACE_REGISTER_TYPE(28i32);
6681pub const D3D11_TRACE_INPUT_CYCLE_COUNTER_REGISTER: D3D11_TRACE_REGISTER_TYPE =
6682    D3D11_TRACE_REGISTER_TYPE(34i32);
6683pub const D3D11_TRACE_INPUT_DOMAIN_POINT_REGISTER: D3D11_TRACE_REGISTER_TYPE =
6684    D3D11_TRACE_REGISTER_TYPE(22i32);
6685pub const D3D11_TRACE_INPUT_FORK_INSTANCE_ID_REGISTER: D3D11_TRACE_REGISTER_TYPE =
6686    D3D11_TRACE_REGISTER_TYPE(17i32);
6687pub const D3D11_TRACE_INPUT_GS_INSTANCE_ID_REGISTER: D3D11_TRACE_REGISTER_TYPE =
6688    D3D11_TRACE_REGISTER_TYPE(30i32);
6689pub const D3D11_TRACE_INPUT_JOIN_INSTANCE_ID_REGISTER: D3D11_TRACE_REGISTER_TYPE =
6690    D3D11_TRACE_REGISTER_TYPE(18i32);
6691pub const D3D11_TRACE_INPUT_PATCH_CONSTANT_REGISTER: D3D11_TRACE_REGISTER_TYPE =
6692    D3D11_TRACE_REGISTER_TYPE(21i32);
6693pub const D3D11_TRACE_INPUT_PRIMITIVE_ID_REGISTER: D3D11_TRACE_REGISTER_TYPE =
6694    D3D11_TRACE_REGISTER_TYPE(2i32);
6695pub const D3D11_TRACE_INPUT_REGISTER: D3D11_TRACE_REGISTER_TYPE = D3D11_TRACE_REGISTER_TYPE(1i32);
6696pub const D3D11_TRACE_INPUT_THREAD_GROUP_ID_REGISTER: D3D11_TRACE_REGISTER_TYPE =
6697    D3D11_TRACE_REGISTER_TYPE(26i32);
6698pub const D3D11_TRACE_INPUT_THREAD_ID_IN_GROUP_FLATTENED_REGISTER: D3D11_TRACE_REGISTER_TYPE =
6699    D3D11_TRACE_REGISTER_TYPE(29i32);
6700pub const D3D11_TRACE_INPUT_THREAD_ID_IN_GROUP_REGISTER: D3D11_TRACE_REGISTER_TYPE =
6701    D3D11_TRACE_REGISTER_TYPE(27i32);
6702pub const D3D11_TRACE_INPUT_THREAD_ID_REGISTER: D3D11_TRACE_REGISTER_TYPE =
6703    D3D11_TRACE_REGISTER_TYPE(25i32);
6704pub const D3D11_TRACE_INTERFACE_POINTER: D3D11_TRACE_REGISTER_TYPE =
6705    D3D11_TRACE_REGISTER_TYPE(35i32);
6706pub const D3D11_TRACE_MISC_GS_CUT: u32 = 2u32;
6707pub const D3D11_TRACE_MISC_GS_CUT_STREAM: u32 = 16u32;
6708pub const D3D11_TRACE_MISC_GS_EMIT: u32 = 1u32;
6709pub const D3D11_TRACE_MISC_GS_EMIT_STREAM: u32 = 8u32;
6710pub const D3D11_TRACE_MISC_HALT: u32 = 32u32;
6711pub const D3D11_TRACE_MISC_MESSAGE: u32 = 64u32;
6712pub const D3D11_TRACE_MISC_PS_DISCARD: u32 = 4u32;
6713pub const D3D11_TRACE_OUTPUT_CONTROL_POINT_ID_REGISTER: D3D11_TRACE_REGISTER_TYPE =
6714    D3D11_TRACE_REGISTER_TYPE(16i32);
6715pub const D3D11_TRACE_OUTPUT_CONTROL_POINT_REGISTER: D3D11_TRACE_REGISTER_TYPE =
6716    D3D11_TRACE_REGISTER_TYPE(20i32);
6717pub const D3D11_TRACE_OUTPUT_COVERAGE_MASK: D3D11_TRACE_REGISTER_TYPE =
6718    D3D11_TRACE_REGISTER_TYPE(13i32);
6719pub const D3D11_TRACE_OUTPUT_DEPTH_GREATER_EQUAL_REGISTER: D3D11_TRACE_REGISTER_TYPE =
6720    D3D11_TRACE_REGISTER_TYPE(31i32);
6721pub const D3D11_TRACE_OUTPUT_DEPTH_LESS_EQUAL_REGISTER: D3D11_TRACE_REGISTER_TYPE =
6722    D3D11_TRACE_REGISTER_TYPE(32i32);
6723pub const D3D11_TRACE_OUTPUT_DEPTH_REGISTER: D3D11_TRACE_REGISTER_TYPE =
6724    D3D11_TRACE_REGISTER_TYPE(7i32);
6725pub const D3D11_TRACE_OUTPUT_NULL_REGISTER: D3D11_TRACE_REGISTER_TYPE =
6726    D3D11_TRACE_REGISTER_TYPE(0i32);
6727pub const D3D11_TRACE_OUTPUT_REGISTER: D3D11_TRACE_REGISTER_TYPE = D3D11_TRACE_REGISTER_TYPE(6i32);
6728pub const D3D11_TRACE_RASTERIZER: D3D11_TRACE_REGISTER_TYPE = D3D11_TRACE_REGISTER_TYPE(12i32);
6729#[repr(C)]
6730#[derive(Clone, Copy)]
6731pub struct D3D11_TRACE_REGISTER {
6732    pub RegType: D3D11_TRACE_REGISTER_TYPE,
6733    pub Anonymous: D3D11_TRACE_REGISTER_0,
6734    pub OperandIndex: u8,
6735    pub Flags: u8,
6736}
6737impl Default for D3D11_TRACE_REGISTER {
6738    fn default() -> Self {
6739        unsafe { core::mem::zeroed() }
6740    }
6741}
6742#[repr(C)]
6743#[derive(Clone, Copy)]
6744pub union D3D11_TRACE_REGISTER_0 {
6745    pub Index1D: u16,
6746    pub Index2D: [u16; 2],
6747}
6748impl Default for D3D11_TRACE_REGISTER_0 {
6749    fn default() -> Self {
6750        unsafe { core::mem::zeroed() }
6751    }
6752}
6753pub const D3D11_TRACE_REGISTER_FLAGS_RELATIVE_INDEXING: u32 = 1u32;
6754#[repr(transparent)]
6755#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
6756pub struct D3D11_TRACE_REGISTER_TYPE(pub i32);
6757pub const D3D11_TRACE_RESOURCE: D3D11_TRACE_REGISTER_TYPE = D3D11_TRACE_REGISTER_TYPE(11i32);
6758pub const D3D11_TRACE_SAMPLER: D3D11_TRACE_REGISTER_TYPE = D3D11_TRACE_REGISTER_TYPE(10i32);
6759#[repr(C)]
6760#[derive(Clone, Copy)]
6761pub struct D3D11_TRACE_STATS {
6762    pub TraceDesc: D3D11_SHADER_TRACE_DESC,
6763    pub NumInvocationsInStamp: u8,
6764    pub TargetStampIndex: u8,
6765    pub NumTraceSteps: u32,
6766    pub InputMask: [u8; 32],
6767    pub OutputMask: [u8; 32],
6768    pub NumTemps: u16,
6769    pub MaxIndexableTempIndex: u16,
6770    pub IndexableTempSize: [u16; 4096],
6771    pub ImmediateConstantBufferSize: u16,
6772    pub PixelPosition: [u32; 8],
6773    pub PixelCoverageMask: [u64; 4],
6774    pub PixelDiscardedMask: [u64; 4],
6775    pub PixelCoverageMaskAfterShader: [u64; 4],
6776    pub PixelCoverageMaskAfterA2CSampleMask: [u64; 4],
6777    pub PixelCoverageMaskAfterA2CSampleMaskDepth: [u64; 4],
6778    pub PixelCoverageMaskAfterA2CSampleMaskDepthStencil: [u64; 4],
6779    pub PSOutputsDepth: crate::Foundation::BOOL,
6780    pub PSOutputsMask: crate::Foundation::BOOL,
6781    pub GSInputPrimitive: D3D11_TRACE_GS_INPUT_PRIMITIVE,
6782    pub GSInputsPrimitiveID: crate::Foundation::BOOL,
6783    pub HSOutputPatchConstantMask: [u8; 32],
6784    pub DSInputPatchConstantMask: [u8; 32],
6785}
6786impl Default for D3D11_TRACE_STATS {
6787    fn default() -> Self {
6788        unsafe { core::mem::zeroed() }
6789    }
6790}
6791#[repr(C)]
6792#[derive(Clone, Copy, Debug, PartialEq)]
6793pub struct D3D11_TRACE_STEP {
6794    pub ID: u32,
6795    pub InstructionActive: crate::Foundation::BOOL,
6796    pub NumRegistersWritten: u8,
6797    pub NumRegistersRead: u8,
6798    pub MiscOperations: u16,
6799    pub OpcodeType: u32,
6800    pub CurrentGlobalCycle: u64,
6801}
6802impl Default for D3D11_TRACE_STEP {
6803    fn default() -> Self {
6804        unsafe { core::mem::zeroed() }
6805    }
6806}
6807pub const D3D11_TRACE_STREAM: D3D11_TRACE_REGISTER_TYPE = D3D11_TRACE_REGISTER_TYPE(14i32);
6808pub const D3D11_TRACE_TEMP_REGISTER: D3D11_TRACE_REGISTER_TYPE = D3D11_TRACE_REGISTER_TYPE(4i32);
6809pub const D3D11_TRACE_THIS_POINTER: D3D11_TRACE_REGISTER_TYPE = D3D11_TRACE_REGISTER_TYPE(15i32);
6810pub const D3D11_TRACE_THREAD_GROUP_SHARED_MEMORY: D3D11_TRACE_REGISTER_TYPE =
6811    D3D11_TRACE_REGISTER_TYPE(24i32);
6812pub const D3D11_TRACE_UNORDERED_ACCESS_VIEW: D3D11_TRACE_REGISTER_TYPE =
6813    D3D11_TRACE_REGISTER_TYPE(23i32);
6814#[repr(C)]
6815#[derive(Clone, Copy, Debug, PartialEq)]
6816pub struct D3D11_TRACE_VALUE {
6817    pub Bits: [u32; 4],
6818    pub ValidMask: u8,
6819}
6820impl Default for D3D11_TRACE_VALUE {
6821    fn default() -> Self {
6822        unsafe { core::mem::zeroed() }
6823    }
6824}
6825#[repr(transparent)]
6826#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
6827pub struct D3D11_UAV_DIMENSION(pub i32);
6828pub const D3D11_UAV_DIMENSION_BUFFER: D3D11_UAV_DIMENSION = D3D11_UAV_DIMENSION(1i32);
6829pub const D3D11_UAV_DIMENSION_TEXTURE1D: D3D11_UAV_DIMENSION = D3D11_UAV_DIMENSION(2i32);
6830pub const D3D11_UAV_DIMENSION_TEXTURE1DARRAY: D3D11_UAV_DIMENSION = D3D11_UAV_DIMENSION(3i32);
6831pub const D3D11_UAV_DIMENSION_TEXTURE2D: D3D11_UAV_DIMENSION = D3D11_UAV_DIMENSION(4i32);
6832pub const D3D11_UAV_DIMENSION_TEXTURE2DARRAY: D3D11_UAV_DIMENSION = D3D11_UAV_DIMENSION(5i32);
6833pub const D3D11_UAV_DIMENSION_TEXTURE3D: D3D11_UAV_DIMENSION = D3D11_UAV_DIMENSION(8i32);
6834pub const D3D11_UAV_DIMENSION_UNKNOWN: D3D11_UAV_DIMENSION = D3D11_UAV_DIMENSION(0i32);
6835pub const D3D11_UNBOUND_MEMORY_ACCESS_RESULT: u32 = 0u32;
6836pub const D3D11_UNMUTE_SEVERITY_INFO: crate::core_supplemental::PCWSTR =
6837    crate::core_supplemental::w!("Unmute_SEVERITY_INFO");
6838#[repr(C)]
6839#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
6840#[derive(Clone, Copy)]
6841pub struct D3D11_UNORDERED_ACCESS_VIEW_DESC {
6842    pub Format: crate::Dxgi::Common::DXGI_FORMAT,
6843    pub ViewDimension: D3D11_UAV_DIMENSION,
6844    pub Anonymous: D3D11_UNORDERED_ACCESS_VIEW_DESC_0,
6845}
6846#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
6847impl Default for D3D11_UNORDERED_ACCESS_VIEW_DESC {
6848    fn default() -> Self {
6849        unsafe { core::mem::zeroed() }
6850    }
6851}
6852#[repr(C)]
6853#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
6854#[derive(Clone, Copy)]
6855pub union D3D11_UNORDERED_ACCESS_VIEW_DESC_0 {
6856    pub Buffer: D3D11_BUFFER_UAV,
6857    pub Texture1D: D3D11_TEX1D_UAV,
6858    pub Texture1DArray: D3D11_TEX1D_ARRAY_UAV,
6859    pub Texture2D: D3D11_TEX2D_UAV,
6860    pub Texture2DArray: D3D11_TEX2D_ARRAY_UAV,
6861    pub Texture3D: D3D11_TEX3D_UAV,
6862}
6863#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
6864impl Default for D3D11_UNORDERED_ACCESS_VIEW_DESC_0 {
6865    fn default() -> Self {
6866        unsafe { core::mem::zeroed() }
6867    }
6868}
6869#[repr(C)]
6870#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
6871#[derive(Clone, Copy)]
6872pub struct D3D11_UNORDERED_ACCESS_VIEW_DESC1 {
6873    pub Format: crate::Dxgi::Common::DXGI_FORMAT,
6874    pub ViewDimension: D3D11_UAV_DIMENSION,
6875    pub Anonymous: D3D11_UNORDERED_ACCESS_VIEW_DESC1_0,
6876}
6877#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
6878impl Default for D3D11_UNORDERED_ACCESS_VIEW_DESC1 {
6879    fn default() -> Self {
6880        unsafe { core::mem::zeroed() }
6881    }
6882}
6883#[repr(C)]
6884#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
6885#[derive(Clone, Copy)]
6886pub union D3D11_UNORDERED_ACCESS_VIEW_DESC1_0 {
6887    pub Buffer: D3D11_BUFFER_UAV,
6888    pub Texture1D: D3D11_TEX1D_UAV,
6889    pub Texture1DArray: D3D11_TEX1D_ARRAY_UAV,
6890    pub Texture2D: D3D11_TEX2D_UAV1,
6891    pub Texture2DArray: D3D11_TEX2D_ARRAY_UAV1,
6892    pub Texture3D: D3D11_TEX3D_UAV,
6893}
6894#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
6895impl Default for D3D11_UNORDERED_ACCESS_VIEW_DESC1_0 {
6896    fn default() -> Self {
6897        unsafe { core::mem::zeroed() }
6898    }
6899}
6900#[repr(transparent)]
6901#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
6902pub struct D3D11_USAGE(pub i32);
6903pub const D3D11_USAGE_DEFAULT: D3D11_USAGE = D3D11_USAGE(0i32);
6904pub const D3D11_USAGE_DYNAMIC: D3D11_USAGE = D3D11_USAGE(2i32);
6905pub const D3D11_USAGE_IMMUTABLE: D3D11_USAGE = D3D11_USAGE(1i32);
6906pub const D3D11_USAGE_STAGING: D3D11_USAGE = D3D11_USAGE(3i32);
6907#[repr(transparent)]
6908#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
6909pub struct D3D11_VDOV_DIMENSION(pub i32);
6910pub const D3D11_VDOV_DIMENSION_TEXTURE2D: D3D11_VDOV_DIMENSION = D3D11_VDOV_DIMENSION(1i32);
6911pub const D3D11_VDOV_DIMENSION_UNKNOWN: D3D11_VDOV_DIMENSION = D3D11_VDOV_DIMENSION(0i32);
6912pub const D3D11_VERTEX_SHADER: D3D11_SHADER_TYPE = D3D11_SHADER_TYPE(1i32);
6913#[repr(C)]
6914#[derive(Clone, Copy, Debug, PartialEq)]
6915pub struct D3D11_VERTEX_SHADER_TRACE_DESC {
6916    pub Invocation: u64,
6917}
6918impl Default for D3D11_VERTEX_SHADER_TRACE_DESC {
6919    fn default() -> Self {
6920        unsafe { core::mem::zeroed() }
6921    }
6922}
6923#[repr(C)]
6924#[derive(Clone, Copy)]
6925pub struct D3D11_VIDEO_COLOR {
6926    pub Anonymous: D3D11_VIDEO_COLOR_0,
6927}
6928impl Default for D3D11_VIDEO_COLOR {
6929    fn default() -> Self {
6930        unsafe { core::mem::zeroed() }
6931    }
6932}
6933#[repr(C)]
6934#[derive(Clone, Copy)]
6935pub union D3D11_VIDEO_COLOR_0 {
6936    pub YCbCr: D3D11_VIDEO_COLOR_YCbCrA,
6937    pub RGBA: D3D11_VIDEO_COLOR_RGBA,
6938}
6939impl Default for D3D11_VIDEO_COLOR_0 {
6940    fn default() -> Self {
6941        unsafe { core::mem::zeroed() }
6942    }
6943}
6944#[repr(C)]
6945#[derive(Clone, Copy, Debug, PartialEq)]
6946pub struct D3D11_VIDEO_COLOR_RGBA {
6947    pub R: f32,
6948    pub G: f32,
6949    pub B: f32,
6950    pub A: f32,
6951}
6952impl Default for D3D11_VIDEO_COLOR_RGBA {
6953    fn default() -> Self {
6954        unsafe { core::mem::zeroed() }
6955    }
6956}
6957#[repr(C)]
6958#[derive(Clone, Copy, Debug, PartialEq)]
6959pub struct D3D11_VIDEO_COLOR_YCbCrA {
6960    pub Y: f32,
6961    pub Cb: f32,
6962    pub Cr: f32,
6963    pub A: f32,
6964}
6965impl Default for D3D11_VIDEO_COLOR_YCbCrA {
6966    fn default() -> Self {
6967        unsafe { core::mem::zeroed() }
6968    }
6969}
6970#[repr(C)]
6971#[derive(Clone, Copy, Debug, PartialEq)]
6972pub struct D3D11_VIDEO_CONTENT_PROTECTION_CAPS {
6973    pub Caps: u32,
6974    pub KeyExchangeTypeCount: u32,
6975    pub BlockAlignmentSize: u32,
6976    pub ProtectedMemorySize: u64,
6977}
6978impl Default for D3D11_VIDEO_CONTENT_PROTECTION_CAPS {
6979    fn default() -> Self {
6980        unsafe { core::mem::zeroed() }
6981    }
6982}
6983#[repr(C)]
6984#[derive(Clone, Debug, PartialEq)]
6985pub struct D3D11_VIDEO_DECODER_BEGIN_FRAME_CRYPTO_SESSION {
6986    pub pCryptoSession: core::mem::ManuallyDrop<Option<ID3D11CryptoSession>>,
6987    pub BlobSize: u32,
6988    pub pBlob: *mut core::ffi::c_void,
6989    pub pKeyInfoId: *mut windows_core::GUID,
6990    pub PrivateDataSize: u32,
6991    pub pPrivateData: *mut core::ffi::c_void,
6992}
6993impl Default for D3D11_VIDEO_DECODER_BEGIN_FRAME_CRYPTO_SESSION {
6994    fn default() -> Self {
6995        unsafe { core::mem::zeroed() }
6996    }
6997}
6998pub const D3D11_VIDEO_DECODER_BUFFER_BITSTREAM: D3D11_VIDEO_DECODER_BUFFER_TYPE =
6999    D3D11_VIDEO_DECODER_BUFFER_TYPE(6i32);
7000pub const D3D11_VIDEO_DECODER_BUFFER_DEBLOCKING_CONTROL: D3D11_VIDEO_DECODER_BUFFER_TYPE =
7001    D3D11_VIDEO_DECODER_BUFFER_TYPE(3i32);
7002#[repr(C)]
7003#[derive(Clone, Copy, Debug, PartialEq)]
7004pub struct D3D11_VIDEO_DECODER_BUFFER_DESC {
7005    pub BufferType: D3D11_VIDEO_DECODER_BUFFER_TYPE,
7006    pub BufferIndex: u32,
7007    pub DataOffset: u32,
7008    pub DataSize: u32,
7009    pub FirstMBaddress: u32,
7010    pub NumMBsInBuffer: u32,
7011    pub Width: u32,
7012    pub Height: u32,
7013    pub Stride: u32,
7014    pub ReservedBits: u32,
7015    pub pIV: *mut core::ffi::c_void,
7016    pub IVSize: u32,
7017    pub PartialEncryption: crate::Foundation::BOOL,
7018    pub EncryptedBlockInfo: D3D11_ENCRYPTED_BLOCK_INFO,
7019}
7020impl Default for D3D11_VIDEO_DECODER_BUFFER_DESC {
7021    fn default() -> Self {
7022        unsafe { core::mem::zeroed() }
7023    }
7024}
7025#[repr(C)]
7026#[derive(Clone, Copy, Debug, PartialEq)]
7027pub struct D3D11_VIDEO_DECODER_BUFFER_DESC1 {
7028    pub BufferType: D3D11_VIDEO_DECODER_BUFFER_TYPE,
7029    pub DataOffset: u32,
7030    pub DataSize: u32,
7031    pub pIV: *mut core::ffi::c_void,
7032    pub IVSize: u32,
7033    pub pSubSampleMappingBlock: *mut D3D11_VIDEO_DECODER_SUB_SAMPLE_MAPPING_BLOCK,
7034    pub SubSampleMappingCount: u32,
7035}
7036impl Default for D3D11_VIDEO_DECODER_BUFFER_DESC1 {
7037    fn default() -> Self {
7038        unsafe { core::mem::zeroed() }
7039    }
7040}
7041#[repr(C)]
7042#[derive(Clone, Copy, Debug, PartialEq)]
7043pub struct D3D11_VIDEO_DECODER_BUFFER_DESC2 {
7044    pub BufferType: D3D11_VIDEO_DECODER_BUFFER_TYPE,
7045    pub DataOffset: u32,
7046    pub DataSize: u32,
7047    pub pIV: *mut core::ffi::c_void,
7048    pub IVSize: u32,
7049    pub pSubSampleMappingBlock: *mut D3D11_VIDEO_DECODER_SUB_SAMPLE_MAPPING_BLOCK,
7050    pub SubSampleMappingCount: u32,
7051    pub cBlocksStripeEncrypted: u32,
7052    pub cBlocksStripeClear: u32,
7053}
7054impl Default for D3D11_VIDEO_DECODER_BUFFER_DESC2 {
7055    fn default() -> Self {
7056        unsafe { core::mem::zeroed() }
7057    }
7058}
7059pub const D3D11_VIDEO_DECODER_BUFFER_FILM_GRAIN: D3D11_VIDEO_DECODER_BUFFER_TYPE =
7060    D3D11_VIDEO_DECODER_BUFFER_TYPE(8i32);
7061pub const D3D11_VIDEO_DECODER_BUFFER_INVERSE_QUANTIZATION_MATRIX: D3D11_VIDEO_DECODER_BUFFER_TYPE =
7062    D3D11_VIDEO_DECODER_BUFFER_TYPE(4i32);
7063pub const D3D11_VIDEO_DECODER_BUFFER_MACROBLOCK_CONTROL: D3D11_VIDEO_DECODER_BUFFER_TYPE =
7064    D3D11_VIDEO_DECODER_BUFFER_TYPE(1i32);
7065pub const D3D11_VIDEO_DECODER_BUFFER_MOTION_VECTOR: D3D11_VIDEO_DECODER_BUFFER_TYPE =
7066    D3D11_VIDEO_DECODER_BUFFER_TYPE(7i32);
7067pub const D3D11_VIDEO_DECODER_BUFFER_PICTURE_PARAMETERS: D3D11_VIDEO_DECODER_BUFFER_TYPE =
7068    D3D11_VIDEO_DECODER_BUFFER_TYPE(0i32);
7069pub const D3D11_VIDEO_DECODER_BUFFER_RESIDUAL_DIFFERENCE: D3D11_VIDEO_DECODER_BUFFER_TYPE =
7070    D3D11_VIDEO_DECODER_BUFFER_TYPE(2i32);
7071pub const D3D11_VIDEO_DECODER_BUFFER_SLICE_CONTROL: D3D11_VIDEO_DECODER_BUFFER_TYPE =
7072    D3D11_VIDEO_DECODER_BUFFER_TYPE(5i32);
7073#[repr(transparent)]
7074#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
7075pub struct D3D11_VIDEO_DECODER_BUFFER_TYPE(pub i32);
7076#[repr(transparent)]
7077#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
7078pub struct D3D11_VIDEO_DECODER_CAPS(pub i32);
7079pub const D3D11_VIDEO_DECODER_CAPS_DOWNSAMPLE: D3D11_VIDEO_DECODER_CAPS =
7080    D3D11_VIDEO_DECODER_CAPS(1i32);
7081pub const D3D11_VIDEO_DECODER_CAPS_DOWNSAMPLE_DYNAMIC: D3D11_VIDEO_DECODER_CAPS =
7082    D3D11_VIDEO_DECODER_CAPS(4i32);
7083pub const D3D11_VIDEO_DECODER_CAPS_DOWNSAMPLE_REQUIRED: D3D11_VIDEO_DECODER_CAPS =
7084    D3D11_VIDEO_DECODER_CAPS(8i32);
7085pub const D3D11_VIDEO_DECODER_CAPS_NON_REAL_TIME: D3D11_VIDEO_DECODER_CAPS =
7086    D3D11_VIDEO_DECODER_CAPS(2i32);
7087pub const D3D11_VIDEO_DECODER_CAPS_UNSUPPORTED: D3D11_VIDEO_DECODER_CAPS =
7088    D3D11_VIDEO_DECODER_CAPS(16i32);
7089#[repr(C)]
7090#[derive(Clone, Copy, Debug, PartialEq)]
7091pub struct D3D11_VIDEO_DECODER_CONFIG {
7092    pub guidConfigBitstreamEncryption: windows_core::GUID,
7093    pub guidConfigMBcontrolEncryption: windows_core::GUID,
7094    pub guidConfigResidDiffEncryption: windows_core::GUID,
7095    pub ConfigBitstreamRaw: u32,
7096    pub ConfigMBcontrolRasterOrder: u32,
7097    pub ConfigResidDiffHost: u32,
7098    pub ConfigSpatialResid8: u32,
7099    pub ConfigResid8Subtraction: u32,
7100    pub ConfigSpatialHost8or9Clipping: u32,
7101    pub ConfigSpatialResidInterleaved: u32,
7102    pub ConfigIntraResidUnsigned: u32,
7103    pub ConfigResidDiffAccelerator: u32,
7104    pub ConfigHostInverseScan: u32,
7105    pub ConfigSpecificIDCT: u32,
7106    pub Config4GroupedCoefs: u32,
7107    pub ConfigMinRenderTargetBuffCount: u16,
7108    pub ConfigDecoderSpecific: u16,
7109}
7110impl Default for D3D11_VIDEO_DECODER_CONFIG {
7111    fn default() -> Self {
7112        unsafe { core::mem::zeroed() }
7113    }
7114}
7115#[repr(C)]
7116#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
7117#[derive(Clone, Copy, Debug, PartialEq)]
7118pub struct D3D11_VIDEO_DECODER_DESC {
7119    pub Guid: windows_core::GUID,
7120    pub SampleWidth: u32,
7121    pub SampleHeight: u32,
7122    pub OutputFormat: crate::Dxgi::Common::DXGI_FORMAT,
7123}
7124#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
7125impl Default for D3D11_VIDEO_DECODER_DESC {
7126    fn default() -> Self {
7127        unsafe { core::mem::zeroed() }
7128    }
7129}
7130#[repr(C)]
7131#[derive(Clone, Copy, Debug, PartialEq)]
7132pub struct D3D11_VIDEO_DECODER_EXTENSION {
7133    pub Function: u32,
7134    pub pPrivateInputData: *mut core::ffi::c_void,
7135    pub PrivateInputDataSize: u32,
7136    pub pPrivateOutputData: *mut core::ffi::c_void,
7137    pub PrivateOutputDataSize: u32,
7138    pub ResourceCount: u32,
7139    pub ppResourceList: *mut Option<ID3D11Resource>,
7140}
7141impl Default for D3D11_VIDEO_DECODER_EXTENSION {
7142    fn default() -> Self {
7143        unsafe { core::mem::zeroed() }
7144    }
7145}
7146#[repr(transparent)]
7147#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
7148pub struct D3D11_VIDEO_DECODER_HISTOGRAM_COMPONENT(pub i32);
7149pub const D3D11_VIDEO_DECODER_HISTOGRAM_COMPONENT_A: D3D11_VIDEO_DECODER_HISTOGRAM_COMPONENT =
7150    D3D11_VIDEO_DECODER_HISTOGRAM_COMPONENT(3i32);
7151pub const D3D11_VIDEO_DECODER_HISTOGRAM_COMPONENT_B: D3D11_VIDEO_DECODER_HISTOGRAM_COMPONENT =
7152    D3D11_VIDEO_DECODER_HISTOGRAM_COMPONENT(2i32);
7153#[repr(transparent)]
7154#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
7155pub struct D3D11_VIDEO_DECODER_HISTOGRAM_COMPONENT_FLAGS(pub i32);
7156impl D3D11_VIDEO_DECODER_HISTOGRAM_COMPONENT_FLAGS {
7157    pub const fn contains(&self, other: Self) -> bool {
7158        self.0 & other.0 == other.0
7159    }
7160}
7161impl core::ops::BitOr for D3D11_VIDEO_DECODER_HISTOGRAM_COMPONENT_FLAGS {
7162    type Output = Self;
7163    fn bitor(self, other: Self) -> Self {
7164        Self(self.0 | other.0)
7165    }
7166}
7167impl core::ops::BitAnd for D3D11_VIDEO_DECODER_HISTOGRAM_COMPONENT_FLAGS {
7168    type Output = Self;
7169    fn bitand(self, other: Self) -> Self {
7170        Self(self.0 & other.0)
7171    }
7172}
7173impl core::ops::BitOrAssign for D3D11_VIDEO_DECODER_HISTOGRAM_COMPONENT_FLAGS {
7174    fn bitor_assign(&mut self, other: Self) {
7175        self.0.bitor_assign(other.0)
7176    }
7177}
7178impl core::ops::BitAndAssign for D3D11_VIDEO_DECODER_HISTOGRAM_COMPONENT_FLAGS {
7179    fn bitand_assign(&mut self, other: Self) {
7180        self.0.bitand_assign(other.0)
7181    }
7182}
7183impl core::ops::Not for D3D11_VIDEO_DECODER_HISTOGRAM_COMPONENT_FLAGS {
7184    type Output = Self;
7185    fn not(self) -> Self {
7186        Self(self.0.not())
7187    }
7188}
7189pub const D3D11_VIDEO_DECODER_HISTOGRAM_COMPONENT_FLAG_A:
7190    D3D11_VIDEO_DECODER_HISTOGRAM_COMPONENT_FLAGS =
7191    D3D11_VIDEO_DECODER_HISTOGRAM_COMPONENT_FLAGS(8i32);
7192pub const D3D11_VIDEO_DECODER_HISTOGRAM_COMPONENT_FLAG_B:
7193    D3D11_VIDEO_DECODER_HISTOGRAM_COMPONENT_FLAGS =
7194    D3D11_VIDEO_DECODER_HISTOGRAM_COMPONENT_FLAGS(4i32);
7195pub const D3D11_VIDEO_DECODER_HISTOGRAM_COMPONENT_FLAG_G:
7196    D3D11_VIDEO_DECODER_HISTOGRAM_COMPONENT_FLAGS =
7197    D3D11_VIDEO_DECODER_HISTOGRAM_COMPONENT_FLAGS(2i32);
7198pub const D3D11_VIDEO_DECODER_HISTOGRAM_COMPONENT_FLAG_NONE:
7199    D3D11_VIDEO_DECODER_HISTOGRAM_COMPONENT_FLAGS =
7200    D3D11_VIDEO_DECODER_HISTOGRAM_COMPONENT_FLAGS(0i32);
7201pub const D3D11_VIDEO_DECODER_HISTOGRAM_COMPONENT_FLAG_R:
7202    D3D11_VIDEO_DECODER_HISTOGRAM_COMPONENT_FLAGS =
7203    D3D11_VIDEO_DECODER_HISTOGRAM_COMPONENT_FLAGS(1i32);
7204pub const D3D11_VIDEO_DECODER_HISTOGRAM_COMPONENT_FLAG_U:
7205    D3D11_VIDEO_DECODER_HISTOGRAM_COMPONENT_FLAGS =
7206    D3D11_VIDEO_DECODER_HISTOGRAM_COMPONENT_FLAGS(2i32);
7207pub const D3D11_VIDEO_DECODER_HISTOGRAM_COMPONENT_FLAG_V:
7208    D3D11_VIDEO_DECODER_HISTOGRAM_COMPONENT_FLAGS =
7209    D3D11_VIDEO_DECODER_HISTOGRAM_COMPONENT_FLAGS(4i32);
7210pub const D3D11_VIDEO_DECODER_HISTOGRAM_COMPONENT_FLAG_Y:
7211    D3D11_VIDEO_DECODER_HISTOGRAM_COMPONENT_FLAGS =
7212    D3D11_VIDEO_DECODER_HISTOGRAM_COMPONENT_FLAGS(1i32);
7213pub const D3D11_VIDEO_DECODER_HISTOGRAM_COMPONENT_G: D3D11_VIDEO_DECODER_HISTOGRAM_COMPONENT =
7214    D3D11_VIDEO_DECODER_HISTOGRAM_COMPONENT(1i32);
7215pub const D3D11_VIDEO_DECODER_HISTOGRAM_COMPONENT_R: D3D11_VIDEO_DECODER_HISTOGRAM_COMPONENT =
7216    D3D11_VIDEO_DECODER_HISTOGRAM_COMPONENT(0i32);
7217pub const D3D11_VIDEO_DECODER_HISTOGRAM_COMPONENT_U: D3D11_VIDEO_DECODER_HISTOGRAM_COMPONENT =
7218    D3D11_VIDEO_DECODER_HISTOGRAM_COMPONENT(1i32);
7219pub const D3D11_VIDEO_DECODER_HISTOGRAM_COMPONENT_V: D3D11_VIDEO_DECODER_HISTOGRAM_COMPONENT =
7220    D3D11_VIDEO_DECODER_HISTOGRAM_COMPONENT(2i32);
7221pub const D3D11_VIDEO_DECODER_HISTOGRAM_COMPONENT_Y: D3D11_VIDEO_DECODER_HISTOGRAM_COMPONENT =
7222    D3D11_VIDEO_DECODER_HISTOGRAM_COMPONENT(0i32);
7223#[repr(C)]
7224#[derive(Clone, Copy)]
7225pub struct D3D11_VIDEO_DECODER_OUTPUT_VIEW_DESC {
7226    pub DecodeProfile: windows_core::GUID,
7227    pub ViewDimension: D3D11_VDOV_DIMENSION,
7228    pub Anonymous: D3D11_VIDEO_DECODER_OUTPUT_VIEW_DESC_0,
7229}
7230impl Default for D3D11_VIDEO_DECODER_OUTPUT_VIEW_DESC {
7231    fn default() -> Self {
7232        unsafe { core::mem::zeroed() }
7233    }
7234}
7235#[repr(C)]
7236#[derive(Clone, Copy)]
7237pub union D3D11_VIDEO_DECODER_OUTPUT_VIEW_DESC_0 {
7238    pub Texture2D: D3D11_TEX2D_VDOV,
7239}
7240impl Default for D3D11_VIDEO_DECODER_OUTPUT_VIEW_DESC_0 {
7241    fn default() -> Self {
7242        unsafe { core::mem::zeroed() }
7243    }
7244}
7245#[repr(C)]
7246#[derive(Clone, Copy, Debug, PartialEq)]
7247pub struct D3D11_VIDEO_DECODER_SUB_SAMPLE_MAPPING_BLOCK {
7248    pub ClearSize: u32,
7249    pub EncryptedSize: u32,
7250}
7251impl Default for D3D11_VIDEO_DECODER_SUB_SAMPLE_MAPPING_BLOCK {
7252    fn default() -> Self {
7253        unsafe { core::mem::zeroed() }
7254    }
7255}
7256#[repr(transparent)]
7257#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
7258pub struct D3D11_VIDEO_FRAME_FORMAT(pub i32);
7259pub const D3D11_VIDEO_FRAME_FORMAT_INTERLACED_BOTTOM_FIELD_FIRST: D3D11_VIDEO_FRAME_FORMAT =
7260    D3D11_VIDEO_FRAME_FORMAT(2i32);
7261pub const D3D11_VIDEO_FRAME_FORMAT_INTERLACED_TOP_FIELD_FIRST: D3D11_VIDEO_FRAME_FORMAT =
7262    D3D11_VIDEO_FRAME_FORMAT(1i32);
7263pub const D3D11_VIDEO_FRAME_FORMAT_PROGRESSIVE: D3D11_VIDEO_FRAME_FORMAT =
7264    D3D11_VIDEO_FRAME_FORMAT(0i32);
7265#[repr(transparent)]
7266#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
7267pub struct D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE(pub i32);
7268pub const D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE_BACKGROUND: D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE =
7269    D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE(1i32);
7270pub const D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE_DESTINATION: D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE =
7271    D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE(2i32);
7272pub const D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE_OPAQUE: D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE =
7273    D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE(0i32);
7274pub const D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE_SOURCE_STREAM:
7275    D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE = D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE(3i32);
7276#[repr(transparent)]
7277#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
7278pub struct D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS(pub i32);
7279pub const D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS_ANAMORPHIC_SCALING:
7280    D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS = D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS(128i32);
7281pub const D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS_COLOR_CORRECTION:
7282    D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS = D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS(8i32);
7283pub const D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS_DENOISE: D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS =
7284    D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS(1i32);
7285pub const D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS_DERINGING: D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS =
7286    D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS(2i32);
7287pub const D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS_EDGE_ENHANCEMENT:
7288    D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS = D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS(4i32);
7289pub const D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS_FLESH_TONE_MAPPING:
7290    D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS = D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS(16i32);
7291pub const D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS_IMAGE_STABILIZATION:
7292    D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS = D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS(32i32);
7293pub const D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS_SUPER_RESOLUTION:
7294    D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS = D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS(64i32);
7295#[repr(transparent)]
7296#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
7297pub struct D3D11_VIDEO_PROCESSOR_BEHAVIOR_HINTS(pub i32);
7298pub const D3D11_VIDEO_PROCESSOR_BEHAVIOR_HINT_MULTIPLANE_OVERLAY_COLOR_SPACE_CONVERSION:
7299    D3D11_VIDEO_PROCESSOR_BEHAVIOR_HINTS = D3D11_VIDEO_PROCESSOR_BEHAVIOR_HINTS(4i32);
7300pub const D3D11_VIDEO_PROCESSOR_BEHAVIOR_HINT_MULTIPLANE_OVERLAY_RESIZE:
7301    D3D11_VIDEO_PROCESSOR_BEHAVIOR_HINTS = D3D11_VIDEO_PROCESSOR_BEHAVIOR_HINTS(2i32);
7302pub const D3D11_VIDEO_PROCESSOR_BEHAVIOR_HINT_MULTIPLANE_OVERLAY_ROTATION:
7303    D3D11_VIDEO_PROCESSOR_BEHAVIOR_HINTS = D3D11_VIDEO_PROCESSOR_BEHAVIOR_HINTS(1i32);
7304pub const D3D11_VIDEO_PROCESSOR_BEHAVIOR_HINT_TRIPLE_BUFFER_OUTPUT:
7305    D3D11_VIDEO_PROCESSOR_BEHAVIOR_HINTS = D3D11_VIDEO_PROCESSOR_BEHAVIOR_HINTS(8i32);
7306#[repr(C)]
7307#[derive(Clone, Copy, Debug, PartialEq)]
7308pub struct D3D11_VIDEO_PROCESSOR_CAPS {
7309    pub DeviceCaps: u32,
7310    pub FeatureCaps: u32,
7311    pub FilterCaps: u32,
7312    pub InputFormatCaps: u32,
7313    pub AutoStreamCaps: u32,
7314    pub StereoCaps: u32,
7315    pub RateConversionCapsCount: u32,
7316    pub MaxInputStreams: u32,
7317    pub MaxStreamStates: u32,
7318}
7319impl Default for D3D11_VIDEO_PROCESSOR_CAPS {
7320    fn default() -> Self {
7321        unsafe { core::mem::zeroed() }
7322    }
7323}
7324#[repr(C)]
7325#[derive(Clone, Copy, Debug, PartialEq)]
7326pub struct D3D11_VIDEO_PROCESSOR_COLOR_SPACE {
7327    pub _bitfield: u32,
7328}
7329impl Default for D3D11_VIDEO_PROCESSOR_COLOR_SPACE {
7330    fn default() -> Self {
7331        unsafe { core::mem::zeroed() }
7332    }
7333}
7334#[repr(C)]
7335#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
7336#[derive(Clone, Copy, Debug, PartialEq)]
7337pub struct D3D11_VIDEO_PROCESSOR_CONTENT_DESC {
7338    pub InputFrameFormat: D3D11_VIDEO_FRAME_FORMAT,
7339    pub InputFrameRate: crate::Dxgi::Common::DXGI_RATIONAL,
7340    pub InputWidth: u32,
7341    pub InputHeight: u32,
7342    pub OutputFrameRate: crate::Dxgi::Common::DXGI_RATIONAL,
7343    pub OutputWidth: u32,
7344    pub OutputHeight: u32,
7345    pub Usage: D3D11_VIDEO_USAGE,
7346}
7347#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
7348impl Default for D3D11_VIDEO_PROCESSOR_CONTENT_DESC {
7349    fn default() -> Self {
7350        unsafe { core::mem::zeroed() }
7351    }
7352}
7353#[repr(C)]
7354#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
7355#[derive(Clone, Copy, Debug, PartialEq)]
7356pub struct D3D11_VIDEO_PROCESSOR_CUSTOM_RATE {
7357    pub CustomRate: crate::Dxgi::Common::DXGI_RATIONAL,
7358    pub OutputFrames: u32,
7359    pub InputInterlaced: crate::Foundation::BOOL,
7360    pub InputFramesOrFields: u32,
7361}
7362#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
7363impl Default for D3D11_VIDEO_PROCESSOR_CUSTOM_RATE {
7364    fn default() -> Self {
7365        unsafe { core::mem::zeroed() }
7366    }
7367}
7368#[repr(transparent)]
7369#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
7370pub struct D3D11_VIDEO_PROCESSOR_DEVICE_CAPS(pub i32);
7371pub const D3D11_VIDEO_PROCESSOR_DEVICE_CAPS_LINEAR_SPACE: D3D11_VIDEO_PROCESSOR_DEVICE_CAPS =
7372    D3D11_VIDEO_PROCESSOR_DEVICE_CAPS(1i32);
7373pub const D3D11_VIDEO_PROCESSOR_DEVICE_CAPS_NOMINAL_RANGE: D3D11_VIDEO_PROCESSOR_DEVICE_CAPS =
7374    D3D11_VIDEO_PROCESSOR_DEVICE_CAPS(16i32);
7375pub const D3D11_VIDEO_PROCESSOR_DEVICE_CAPS_RGB_RANGE_CONVERSION:
7376    D3D11_VIDEO_PROCESSOR_DEVICE_CAPS = D3D11_VIDEO_PROCESSOR_DEVICE_CAPS(4i32);
7377pub const D3D11_VIDEO_PROCESSOR_DEVICE_CAPS_YCbCr_MATRIX_CONVERSION:
7378    D3D11_VIDEO_PROCESSOR_DEVICE_CAPS = D3D11_VIDEO_PROCESSOR_DEVICE_CAPS(8i32);
7379pub const D3D11_VIDEO_PROCESSOR_DEVICE_CAPS_xvYCC: D3D11_VIDEO_PROCESSOR_DEVICE_CAPS =
7380    D3D11_VIDEO_PROCESSOR_DEVICE_CAPS(2i32);
7381#[repr(transparent)]
7382#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
7383pub struct D3D11_VIDEO_PROCESSOR_FEATURE_CAPS(pub i32);
7384pub const D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_ALPHA_FILL: D3D11_VIDEO_PROCESSOR_FEATURE_CAPS =
7385    D3D11_VIDEO_PROCESSOR_FEATURE_CAPS(1i32);
7386pub const D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_ALPHA_PALETTE: D3D11_VIDEO_PROCESSOR_FEATURE_CAPS =
7387    D3D11_VIDEO_PROCESSOR_FEATURE_CAPS(8i32);
7388pub const D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_ALPHA_STREAM: D3D11_VIDEO_PROCESSOR_FEATURE_CAPS =
7389    D3D11_VIDEO_PROCESSOR_FEATURE_CAPS(128i32);
7390pub const D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_CONSTRICTION: D3D11_VIDEO_PROCESSOR_FEATURE_CAPS =
7391    D3D11_VIDEO_PROCESSOR_FEATURE_CAPS(2i32);
7392pub const D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_LEGACY: D3D11_VIDEO_PROCESSOR_FEATURE_CAPS =
7393    D3D11_VIDEO_PROCESSOR_FEATURE_CAPS(16i32);
7394pub const D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_LUMA_KEY: D3D11_VIDEO_PROCESSOR_FEATURE_CAPS =
7395    D3D11_VIDEO_PROCESSOR_FEATURE_CAPS(4i32);
7396pub const D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_METADATA_HDR10: D3D11_VIDEO_PROCESSOR_FEATURE_CAPS =
7397    D3D11_VIDEO_PROCESSOR_FEATURE_CAPS(2048i32);
7398pub const D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_MIRROR: D3D11_VIDEO_PROCESSOR_FEATURE_CAPS =
7399    D3D11_VIDEO_PROCESSOR_FEATURE_CAPS(512i32);
7400pub const D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_PIXEL_ASPECT_RATIO:
7401    D3D11_VIDEO_PROCESSOR_FEATURE_CAPS = D3D11_VIDEO_PROCESSOR_FEATURE_CAPS(256i32);
7402pub const D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_ROTATION: D3D11_VIDEO_PROCESSOR_FEATURE_CAPS =
7403    D3D11_VIDEO_PROCESSOR_FEATURE_CAPS(64i32);
7404pub const D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_SHADER_USAGE: D3D11_VIDEO_PROCESSOR_FEATURE_CAPS =
7405    D3D11_VIDEO_PROCESSOR_FEATURE_CAPS(1024i32);
7406pub const D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_STEREO: D3D11_VIDEO_PROCESSOR_FEATURE_CAPS =
7407    D3D11_VIDEO_PROCESSOR_FEATURE_CAPS(32i32);
7408#[repr(transparent)]
7409#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
7410pub struct D3D11_VIDEO_PROCESSOR_FILTER(pub i32);
7411pub const D3D11_VIDEO_PROCESSOR_FILTER_ANAMORPHIC_SCALING: D3D11_VIDEO_PROCESSOR_FILTER =
7412    D3D11_VIDEO_PROCESSOR_FILTER(6i32);
7413pub const D3D11_VIDEO_PROCESSOR_FILTER_BRIGHTNESS: D3D11_VIDEO_PROCESSOR_FILTER =
7414    D3D11_VIDEO_PROCESSOR_FILTER(0i32);
7415#[repr(transparent)]
7416#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
7417pub struct D3D11_VIDEO_PROCESSOR_FILTER_CAPS(pub i32);
7418pub const D3D11_VIDEO_PROCESSOR_FILTER_CAPS_ANAMORPHIC_SCALING: D3D11_VIDEO_PROCESSOR_FILTER_CAPS =
7419    D3D11_VIDEO_PROCESSOR_FILTER_CAPS(64i32);
7420pub const D3D11_VIDEO_PROCESSOR_FILTER_CAPS_BRIGHTNESS: D3D11_VIDEO_PROCESSOR_FILTER_CAPS =
7421    D3D11_VIDEO_PROCESSOR_FILTER_CAPS(1i32);
7422pub const D3D11_VIDEO_PROCESSOR_FILTER_CAPS_CONTRAST: D3D11_VIDEO_PROCESSOR_FILTER_CAPS =
7423    D3D11_VIDEO_PROCESSOR_FILTER_CAPS(2i32);
7424pub const D3D11_VIDEO_PROCESSOR_FILTER_CAPS_EDGE_ENHANCEMENT: D3D11_VIDEO_PROCESSOR_FILTER_CAPS =
7425    D3D11_VIDEO_PROCESSOR_FILTER_CAPS(32i32);
7426pub const D3D11_VIDEO_PROCESSOR_FILTER_CAPS_HUE: D3D11_VIDEO_PROCESSOR_FILTER_CAPS =
7427    D3D11_VIDEO_PROCESSOR_FILTER_CAPS(4i32);
7428pub const D3D11_VIDEO_PROCESSOR_FILTER_CAPS_NOISE_REDUCTION: D3D11_VIDEO_PROCESSOR_FILTER_CAPS =
7429    D3D11_VIDEO_PROCESSOR_FILTER_CAPS(16i32);
7430pub const D3D11_VIDEO_PROCESSOR_FILTER_CAPS_SATURATION: D3D11_VIDEO_PROCESSOR_FILTER_CAPS =
7431    D3D11_VIDEO_PROCESSOR_FILTER_CAPS(8i32);
7432pub const D3D11_VIDEO_PROCESSOR_FILTER_CAPS_STEREO_ADJUSTMENT: D3D11_VIDEO_PROCESSOR_FILTER_CAPS =
7433    D3D11_VIDEO_PROCESSOR_FILTER_CAPS(128i32);
7434pub const D3D11_VIDEO_PROCESSOR_FILTER_CONTRAST: D3D11_VIDEO_PROCESSOR_FILTER =
7435    D3D11_VIDEO_PROCESSOR_FILTER(1i32);
7436pub const D3D11_VIDEO_PROCESSOR_FILTER_EDGE_ENHANCEMENT: D3D11_VIDEO_PROCESSOR_FILTER =
7437    D3D11_VIDEO_PROCESSOR_FILTER(5i32);
7438pub const D3D11_VIDEO_PROCESSOR_FILTER_HUE: D3D11_VIDEO_PROCESSOR_FILTER =
7439    D3D11_VIDEO_PROCESSOR_FILTER(2i32);
7440pub const D3D11_VIDEO_PROCESSOR_FILTER_NOISE_REDUCTION: D3D11_VIDEO_PROCESSOR_FILTER =
7441    D3D11_VIDEO_PROCESSOR_FILTER(4i32);
7442#[repr(C)]
7443#[derive(Clone, Copy, Debug, PartialEq)]
7444pub struct D3D11_VIDEO_PROCESSOR_FILTER_RANGE {
7445    pub Minimum: i32,
7446    pub Maximum: i32,
7447    pub Default: i32,
7448    pub Multiplier: f32,
7449}
7450impl Default for D3D11_VIDEO_PROCESSOR_FILTER_RANGE {
7451    fn default() -> Self {
7452        unsafe { core::mem::zeroed() }
7453    }
7454}
7455pub const D3D11_VIDEO_PROCESSOR_FILTER_SATURATION: D3D11_VIDEO_PROCESSOR_FILTER =
7456    D3D11_VIDEO_PROCESSOR_FILTER(3i32);
7457pub const D3D11_VIDEO_PROCESSOR_FILTER_STEREO_ADJUSTMENT: D3D11_VIDEO_PROCESSOR_FILTER =
7458    D3D11_VIDEO_PROCESSOR_FILTER(7i32);
7459#[repr(transparent)]
7460#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
7461pub struct D3D11_VIDEO_PROCESSOR_FORMAT_CAPS(pub i32);
7462pub const D3D11_VIDEO_PROCESSOR_FORMAT_CAPS_PALETTE_INTERLACED: D3D11_VIDEO_PROCESSOR_FORMAT_CAPS =
7463    D3D11_VIDEO_PROCESSOR_FORMAT_CAPS(8i32);
7464pub const D3D11_VIDEO_PROCESSOR_FORMAT_CAPS_RGB_INTERLACED: D3D11_VIDEO_PROCESSOR_FORMAT_CAPS =
7465    D3D11_VIDEO_PROCESSOR_FORMAT_CAPS(1i32);
7466pub const D3D11_VIDEO_PROCESSOR_FORMAT_CAPS_RGB_LUMA_KEY: D3D11_VIDEO_PROCESSOR_FORMAT_CAPS =
7467    D3D11_VIDEO_PROCESSOR_FORMAT_CAPS(4i32);
7468pub const D3D11_VIDEO_PROCESSOR_FORMAT_CAPS_RGB_PROCAMP: D3D11_VIDEO_PROCESSOR_FORMAT_CAPS =
7469    D3D11_VIDEO_PROCESSOR_FORMAT_CAPS(2i32);
7470#[repr(transparent)]
7471#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
7472pub struct D3D11_VIDEO_PROCESSOR_FORMAT_SUPPORT(pub i32);
7473pub const D3D11_VIDEO_PROCESSOR_FORMAT_SUPPORT_INPUT: D3D11_VIDEO_PROCESSOR_FORMAT_SUPPORT =
7474    D3D11_VIDEO_PROCESSOR_FORMAT_SUPPORT(1i32);
7475pub const D3D11_VIDEO_PROCESSOR_FORMAT_SUPPORT_OUTPUT: D3D11_VIDEO_PROCESSOR_FORMAT_SUPPORT =
7476    D3D11_VIDEO_PROCESSOR_FORMAT_SUPPORT(2i32);
7477#[repr(C)]
7478#[derive(Clone, Copy)]
7479pub struct D3D11_VIDEO_PROCESSOR_INPUT_VIEW_DESC {
7480    pub FourCC: u32,
7481    pub ViewDimension: D3D11_VPIV_DIMENSION,
7482    pub Anonymous: D3D11_VIDEO_PROCESSOR_INPUT_VIEW_DESC_0,
7483}
7484impl Default for D3D11_VIDEO_PROCESSOR_INPUT_VIEW_DESC {
7485    fn default() -> Self {
7486        unsafe { core::mem::zeroed() }
7487    }
7488}
7489#[repr(C)]
7490#[derive(Clone, Copy)]
7491pub union D3D11_VIDEO_PROCESSOR_INPUT_VIEW_DESC_0 {
7492    pub Texture2D: D3D11_TEX2D_VPIV,
7493}
7494impl Default for D3D11_VIDEO_PROCESSOR_INPUT_VIEW_DESC_0 {
7495    fn default() -> Self {
7496        unsafe { core::mem::zeroed() }
7497    }
7498}
7499#[repr(transparent)]
7500#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
7501pub struct D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS(pub i32);
7502pub const D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS_22: D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS =
7503    D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS(2i32);
7504pub const D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS_222222222223: D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS =
7505    D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS(256i32);
7506pub const D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS_2224: D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS =
7507    D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS(4i32);
7508pub const D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS_2332: D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS =
7509    D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS(8i32);
7510pub const D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS_32: D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS =
7511    D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS(1i32);
7512pub const D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS_32322: D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS =
7513    D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS(16i32);
7514pub const D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS_55: D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS =
7515    D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS(32i32);
7516pub const D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS_64: D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS =
7517    D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS(64i32);
7518pub const D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS_87: D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS =
7519    D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS(128i32);
7520pub const D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS_OTHER: D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS =
7521    D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS(-2147483648i32);
7522#[repr(transparent)]
7523#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
7524pub struct D3D11_VIDEO_PROCESSOR_NOMINAL_RANGE(pub i32);
7525pub const D3D11_VIDEO_PROCESSOR_NOMINAL_RANGE_0_255: D3D11_VIDEO_PROCESSOR_NOMINAL_RANGE =
7526    D3D11_VIDEO_PROCESSOR_NOMINAL_RANGE(2i32);
7527pub const D3D11_VIDEO_PROCESSOR_NOMINAL_RANGE_16_235: D3D11_VIDEO_PROCESSOR_NOMINAL_RANGE =
7528    D3D11_VIDEO_PROCESSOR_NOMINAL_RANGE(1i32);
7529pub const D3D11_VIDEO_PROCESSOR_NOMINAL_RANGE_UNDEFINED: D3D11_VIDEO_PROCESSOR_NOMINAL_RANGE =
7530    D3D11_VIDEO_PROCESSOR_NOMINAL_RANGE(0i32);
7531#[repr(transparent)]
7532#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
7533pub struct D3D11_VIDEO_PROCESSOR_OUTPUT_RATE(pub i32);
7534pub const D3D11_VIDEO_PROCESSOR_OUTPUT_RATE_CUSTOM: D3D11_VIDEO_PROCESSOR_OUTPUT_RATE =
7535    D3D11_VIDEO_PROCESSOR_OUTPUT_RATE(2i32);
7536pub const D3D11_VIDEO_PROCESSOR_OUTPUT_RATE_HALF: D3D11_VIDEO_PROCESSOR_OUTPUT_RATE =
7537    D3D11_VIDEO_PROCESSOR_OUTPUT_RATE(1i32);
7538pub const D3D11_VIDEO_PROCESSOR_OUTPUT_RATE_NORMAL: D3D11_VIDEO_PROCESSOR_OUTPUT_RATE =
7539    D3D11_VIDEO_PROCESSOR_OUTPUT_RATE(0i32);
7540#[repr(C)]
7541#[derive(Clone, Copy)]
7542pub struct D3D11_VIDEO_PROCESSOR_OUTPUT_VIEW_DESC {
7543    pub ViewDimension: D3D11_VPOV_DIMENSION,
7544    pub Anonymous: D3D11_VIDEO_PROCESSOR_OUTPUT_VIEW_DESC_0,
7545}
7546impl Default for D3D11_VIDEO_PROCESSOR_OUTPUT_VIEW_DESC {
7547    fn default() -> Self {
7548        unsafe { core::mem::zeroed() }
7549    }
7550}
7551#[repr(C)]
7552#[derive(Clone, Copy)]
7553pub union D3D11_VIDEO_PROCESSOR_OUTPUT_VIEW_DESC_0 {
7554    pub Texture2D: D3D11_TEX2D_VPOV,
7555    pub Texture2DArray: D3D11_TEX2D_ARRAY_VPOV,
7556}
7557impl Default for D3D11_VIDEO_PROCESSOR_OUTPUT_VIEW_DESC_0 {
7558    fn default() -> Self {
7559        unsafe { core::mem::zeroed() }
7560    }
7561}
7562#[repr(transparent)]
7563#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
7564pub struct D3D11_VIDEO_PROCESSOR_PROCESSOR_CAPS(pub i32);
7565pub const D3D11_VIDEO_PROCESSOR_PROCESSOR_CAPS_DEINTERLACE_ADAPTIVE:
7566    D3D11_VIDEO_PROCESSOR_PROCESSOR_CAPS = D3D11_VIDEO_PROCESSOR_PROCESSOR_CAPS(4i32);
7567pub const D3D11_VIDEO_PROCESSOR_PROCESSOR_CAPS_DEINTERLACE_BLEND:
7568    D3D11_VIDEO_PROCESSOR_PROCESSOR_CAPS = D3D11_VIDEO_PROCESSOR_PROCESSOR_CAPS(1i32);
7569pub const D3D11_VIDEO_PROCESSOR_PROCESSOR_CAPS_DEINTERLACE_BOB:
7570    D3D11_VIDEO_PROCESSOR_PROCESSOR_CAPS = D3D11_VIDEO_PROCESSOR_PROCESSOR_CAPS(2i32);
7571pub const D3D11_VIDEO_PROCESSOR_PROCESSOR_CAPS_DEINTERLACE_MOTION_COMPENSATION:
7572    D3D11_VIDEO_PROCESSOR_PROCESSOR_CAPS = D3D11_VIDEO_PROCESSOR_PROCESSOR_CAPS(8i32);
7573pub const D3D11_VIDEO_PROCESSOR_PROCESSOR_CAPS_FRAME_RATE_CONVERSION:
7574    D3D11_VIDEO_PROCESSOR_PROCESSOR_CAPS = D3D11_VIDEO_PROCESSOR_PROCESSOR_CAPS(32i32);
7575pub const D3D11_VIDEO_PROCESSOR_PROCESSOR_CAPS_INVERSE_TELECINE:
7576    D3D11_VIDEO_PROCESSOR_PROCESSOR_CAPS = D3D11_VIDEO_PROCESSOR_PROCESSOR_CAPS(16i32);
7577#[repr(C)]
7578#[derive(Clone, Copy, Debug, PartialEq)]
7579pub struct D3D11_VIDEO_PROCESSOR_RATE_CONVERSION_CAPS {
7580    pub PastFrames: u32,
7581    pub FutureFrames: u32,
7582    pub ProcessorCaps: u32,
7583    pub ITelecineCaps: u32,
7584    pub CustomRateCount: u32,
7585}
7586impl Default for D3D11_VIDEO_PROCESSOR_RATE_CONVERSION_CAPS {
7587    fn default() -> Self {
7588        unsafe { core::mem::zeroed() }
7589    }
7590}
7591#[repr(transparent)]
7592#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
7593pub struct D3D11_VIDEO_PROCESSOR_ROTATION(pub i32);
7594pub const D3D11_VIDEO_PROCESSOR_ROTATION_180: D3D11_VIDEO_PROCESSOR_ROTATION =
7595    D3D11_VIDEO_PROCESSOR_ROTATION(2i32);
7596pub const D3D11_VIDEO_PROCESSOR_ROTATION_270: D3D11_VIDEO_PROCESSOR_ROTATION =
7597    D3D11_VIDEO_PROCESSOR_ROTATION(3i32);
7598pub const D3D11_VIDEO_PROCESSOR_ROTATION_90: D3D11_VIDEO_PROCESSOR_ROTATION =
7599    D3D11_VIDEO_PROCESSOR_ROTATION(1i32);
7600pub const D3D11_VIDEO_PROCESSOR_ROTATION_IDENTITY: D3D11_VIDEO_PROCESSOR_ROTATION =
7601    D3D11_VIDEO_PROCESSOR_ROTATION(0i32);
7602#[repr(transparent)]
7603#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
7604pub struct D3D11_VIDEO_PROCESSOR_STEREO_CAPS(pub i32);
7605pub const D3D11_VIDEO_PROCESSOR_STEREO_CAPS_CHECKERBOARD: D3D11_VIDEO_PROCESSOR_STEREO_CAPS =
7606    D3D11_VIDEO_PROCESSOR_STEREO_CAPS(8i32);
7607pub const D3D11_VIDEO_PROCESSOR_STEREO_CAPS_COLUMN_INTERLEAVED: D3D11_VIDEO_PROCESSOR_STEREO_CAPS =
7608    D3D11_VIDEO_PROCESSOR_STEREO_CAPS(4i32);
7609pub const D3D11_VIDEO_PROCESSOR_STEREO_CAPS_FLIP_MODE: D3D11_VIDEO_PROCESSOR_STEREO_CAPS =
7610    D3D11_VIDEO_PROCESSOR_STEREO_CAPS(16i32);
7611pub const D3D11_VIDEO_PROCESSOR_STEREO_CAPS_MONO_OFFSET: D3D11_VIDEO_PROCESSOR_STEREO_CAPS =
7612    D3D11_VIDEO_PROCESSOR_STEREO_CAPS(1i32);
7613pub const D3D11_VIDEO_PROCESSOR_STEREO_CAPS_ROW_INTERLEAVED: D3D11_VIDEO_PROCESSOR_STEREO_CAPS =
7614    D3D11_VIDEO_PROCESSOR_STEREO_CAPS(2i32);
7615pub const D3D11_VIDEO_PROCESSOR_STEREO_FLIP_FRAME0: D3D11_VIDEO_PROCESSOR_STEREO_FLIP_MODE =
7616    D3D11_VIDEO_PROCESSOR_STEREO_FLIP_MODE(1i32);
7617pub const D3D11_VIDEO_PROCESSOR_STEREO_FLIP_FRAME1: D3D11_VIDEO_PROCESSOR_STEREO_FLIP_MODE =
7618    D3D11_VIDEO_PROCESSOR_STEREO_FLIP_MODE(2i32);
7619#[repr(transparent)]
7620#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
7621pub struct D3D11_VIDEO_PROCESSOR_STEREO_FLIP_MODE(pub i32);
7622pub const D3D11_VIDEO_PROCESSOR_STEREO_FLIP_NONE: D3D11_VIDEO_PROCESSOR_STEREO_FLIP_MODE =
7623    D3D11_VIDEO_PROCESSOR_STEREO_FLIP_MODE(0i32);
7624#[repr(transparent)]
7625#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
7626pub struct D3D11_VIDEO_PROCESSOR_STEREO_FORMAT(pub i32);
7627pub const D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_CHECKERBOARD: D3D11_VIDEO_PROCESSOR_STEREO_FORMAT =
7628    D3D11_VIDEO_PROCESSOR_STEREO_FORMAT(7i32);
7629pub const D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_COLUMN_INTERLEAVED:
7630    D3D11_VIDEO_PROCESSOR_STEREO_FORMAT = D3D11_VIDEO_PROCESSOR_STEREO_FORMAT(6i32);
7631pub const D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_HORIZONTAL: D3D11_VIDEO_PROCESSOR_STEREO_FORMAT =
7632    D3D11_VIDEO_PROCESSOR_STEREO_FORMAT(1i32);
7633pub const D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_MONO: D3D11_VIDEO_PROCESSOR_STEREO_FORMAT =
7634    D3D11_VIDEO_PROCESSOR_STEREO_FORMAT(0i32);
7635pub const D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_MONO_OFFSET: D3D11_VIDEO_PROCESSOR_STEREO_FORMAT =
7636    D3D11_VIDEO_PROCESSOR_STEREO_FORMAT(4i32);
7637pub const D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_ROW_INTERLEAVED: D3D11_VIDEO_PROCESSOR_STEREO_FORMAT =
7638    D3D11_VIDEO_PROCESSOR_STEREO_FORMAT(5i32);
7639pub const D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_SEPARATE: D3D11_VIDEO_PROCESSOR_STEREO_FORMAT =
7640    D3D11_VIDEO_PROCESSOR_STEREO_FORMAT(3i32);
7641pub const D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_VERTICAL: D3D11_VIDEO_PROCESSOR_STEREO_FORMAT =
7642    D3D11_VIDEO_PROCESSOR_STEREO_FORMAT(2i32);
7643#[repr(C)]
7644#[derive(Clone, Debug, PartialEq)]
7645pub struct D3D11_VIDEO_PROCESSOR_STREAM {
7646    pub Enable: crate::Foundation::BOOL,
7647    pub OutputIndex: u32,
7648    pub InputFrameOrField: u32,
7649    pub PastFrames: u32,
7650    pub FutureFrames: u32,
7651    pub ppPastSurfaces: *mut Option<ID3D11VideoProcessorInputView>,
7652    pub pInputSurface: core::mem::ManuallyDrop<Option<ID3D11VideoProcessorInputView>>,
7653    pub ppFutureSurfaces: *mut Option<ID3D11VideoProcessorInputView>,
7654    pub ppPastSurfacesRight: *mut Option<ID3D11VideoProcessorInputView>,
7655    pub pInputSurfaceRight: core::mem::ManuallyDrop<Option<ID3D11VideoProcessorInputView>>,
7656    pub ppFutureSurfacesRight: *mut Option<ID3D11VideoProcessorInputView>,
7657}
7658impl Default for D3D11_VIDEO_PROCESSOR_STREAM {
7659    fn default() -> Self {
7660        unsafe { core::mem::zeroed() }
7661    }
7662}
7663#[repr(C)]
7664#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
7665#[derive(Clone, Copy, Debug, PartialEq)]
7666pub struct D3D11_VIDEO_PROCESSOR_STREAM_BEHAVIOR_HINT {
7667    pub Enable: crate::Foundation::BOOL,
7668    pub Width: u32,
7669    pub Height: u32,
7670    pub Format: crate::Dxgi::Common::DXGI_FORMAT,
7671}
7672#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
7673impl Default for D3D11_VIDEO_PROCESSOR_STREAM_BEHAVIOR_HINT {
7674    fn default() -> Self {
7675        unsafe { core::mem::zeroed() }
7676    }
7677}
7678#[repr(C)]
7679#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
7680#[derive(Clone, Copy, Debug, PartialEq)]
7681pub struct D3D11_VIDEO_SAMPLE_DESC {
7682    pub Width: u32,
7683    pub Height: u32,
7684    pub Format: crate::Dxgi::Common::DXGI_FORMAT,
7685    pub ColorSpace: crate::Dxgi::Common::DXGI_COLOR_SPACE_TYPE,
7686}
7687#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
7688impl Default for D3D11_VIDEO_SAMPLE_DESC {
7689    fn default() -> Self {
7690        unsafe { core::mem::zeroed() }
7691    }
7692}
7693#[repr(transparent)]
7694#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
7695pub struct D3D11_VIDEO_USAGE(pub i32);
7696pub const D3D11_VIDEO_USAGE_OPTIMAL_QUALITY: D3D11_VIDEO_USAGE = D3D11_VIDEO_USAGE(2i32);
7697pub const D3D11_VIDEO_USAGE_OPTIMAL_SPEED: D3D11_VIDEO_USAGE = D3D11_VIDEO_USAGE(1i32);
7698pub const D3D11_VIDEO_USAGE_PLAYBACK_NORMAL: D3D11_VIDEO_USAGE = D3D11_VIDEO_USAGE(0i32);
7699#[repr(C)]
7700#[derive(Clone, Copy, Debug, PartialEq)]
7701pub struct D3D11_VIEWPORT {
7702    pub TopLeftX: f32,
7703    pub TopLeftY: f32,
7704    pub Width: f32,
7705    pub Height: f32,
7706    pub MinDepth: f32,
7707    pub MaxDepth: f32,
7708}
7709impl Default for D3D11_VIEWPORT {
7710    fn default() -> Self {
7711        unsafe { core::mem::zeroed() }
7712    }
7713}
7714pub const D3D11_VIEWPORT_AND_SCISSORRECT_MAX_INDEX: u32 = 15u32;
7715pub const D3D11_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE: u32 = 16u32;
7716pub const D3D11_VIEWPORT_BOUNDS_MAX: u32 = 32767u32;
7717pub const D3D11_VIEWPORT_BOUNDS_MIN: i32 = -32768i32;
7718#[repr(transparent)]
7719#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
7720pub struct D3D11_VPIV_DIMENSION(pub i32);
7721pub const D3D11_VPIV_DIMENSION_TEXTURE2D: D3D11_VPIV_DIMENSION = D3D11_VPIV_DIMENSION(1i32);
7722pub const D3D11_VPIV_DIMENSION_UNKNOWN: D3D11_VPIV_DIMENSION = D3D11_VPIV_DIMENSION(0i32);
7723#[repr(transparent)]
7724#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
7725pub struct D3D11_VPOV_DIMENSION(pub i32);
7726pub const D3D11_VPOV_DIMENSION_TEXTURE2D: D3D11_VPOV_DIMENSION = D3D11_VPOV_DIMENSION(1i32);
7727pub const D3D11_VPOV_DIMENSION_TEXTURE2DARRAY: D3D11_VPOV_DIMENSION = D3D11_VPOV_DIMENSION(2i32);
7728pub const D3D11_VPOV_DIMENSION_UNKNOWN: D3D11_VPOV_DIMENSION = D3D11_VPOV_DIMENSION(0i32);
7729pub const D3D11_VS_INPUT_REGISTER_COMPONENTS: u32 = 4u32;
7730pub const D3D11_VS_INPUT_REGISTER_COMPONENT_BIT_COUNT: u32 = 32u32;
7731pub const D3D11_VS_INPUT_REGISTER_COUNT: u32 = 32u32;
7732pub const D3D11_VS_INPUT_REGISTER_READS_PER_INST: u32 = 2u32;
7733pub const D3D11_VS_INPUT_REGISTER_READ_PORTS: u32 = 1u32;
7734pub const D3D11_VS_OUTPUT_REGISTER_COMPONENTS: u32 = 4u32;
7735pub const D3D11_VS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT: u32 = 32u32;
7736pub const D3D11_VS_OUTPUT_REGISTER_COUNT: u32 = 32u32;
7737pub const D3D11_WHQL_CONTEXT_COUNT_FOR_RESOURCE_LIMIT: u32 = 10u32;
7738pub const D3D11_WHQL_DRAWINDEXED_INDEX_COUNT_2_TO_EXP: u32 = 25u32;
7739pub const D3D11_WHQL_DRAW_VERTEX_COUNT_2_TO_EXP: u32 = 25u32;
7740pub const D3DCSX_DLL: crate::core_supplemental::PCWSTR = crate::core_supplemental::w!("d3dcsx_47.dll");
7741pub const D3DCSX_DLL_A: crate::core_supplemental::PCSTR = crate::core_supplemental::s!("d3dcsx_47.dll");
7742pub const D3DCSX_DLL_W: crate::core_supplemental::PCWSTR = crate::core_supplemental::w!("d3dcsx_47.dll");
7743#[repr(C)]
7744#[derive(Clone, Copy, Debug, PartialEq)]
7745pub struct D3DX11_FFT_BUFFER_INFO {
7746    pub NumTempBufferSizes: u32,
7747    pub TempBufferFloatSizes: [u32; 4],
7748    pub NumPrecomputeBufferSizes: u32,
7749    pub PrecomputeBufferFloatSizes: [u32; 4],
7750}
7751impl Default for D3DX11_FFT_BUFFER_INFO {
7752    fn default() -> Self {
7753        unsafe { core::mem::zeroed() }
7754    }
7755}
7756#[repr(transparent)]
7757#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
7758pub struct D3DX11_FFT_CREATE_FLAG(pub i32);
7759pub const D3DX11_FFT_CREATE_FLAG_NO_PRECOMPUTE_BUFFERS: D3DX11_FFT_CREATE_FLAG =
7760    D3DX11_FFT_CREATE_FLAG(1i32);
7761#[repr(transparent)]
7762#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
7763pub struct D3DX11_FFT_DATA_TYPE(pub i32);
7764pub const D3DX11_FFT_DATA_TYPE_COMPLEX: D3DX11_FFT_DATA_TYPE = D3DX11_FFT_DATA_TYPE(1i32);
7765pub const D3DX11_FFT_DATA_TYPE_REAL: D3DX11_FFT_DATA_TYPE = D3DX11_FFT_DATA_TYPE(0i32);
7766#[repr(C)]
7767#[derive(Clone, Copy, Debug, PartialEq)]
7768pub struct D3DX11_FFT_DESC {
7769    pub NumDimensions: u32,
7770    pub ElementLengths: [u32; 32],
7771    pub DimensionMask: u32,
7772    pub Type: D3DX11_FFT_DATA_TYPE,
7773}
7774impl Default for D3DX11_FFT_DESC {
7775    fn default() -> Self {
7776        unsafe { core::mem::zeroed() }
7777    }
7778}
7779#[repr(transparent)]
7780#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
7781pub struct D3DX11_FFT_DIM_MASK(pub i32);
7782pub const D3DX11_FFT_DIM_MASK_1D: D3DX11_FFT_DIM_MASK = D3DX11_FFT_DIM_MASK(1i32);
7783pub const D3DX11_FFT_DIM_MASK_2D: D3DX11_FFT_DIM_MASK = D3DX11_FFT_DIM_MASK(3i32);
7784pub const D3DX11_FFT_DIM_MASK_3D: D3DX11_FFT_DIM_MASK = D3DX11_FFT_DIM_MASK(7i32);
7785pub const D3DX11_FFT_MAX_DIMENSIONS: u32 = 32u32;
7786pub const D3DX11_FFT_MAX_PRECOMPUTE_BUFFERS: u32 = 4u32;
7787pub const D3DX11_FFT_MAX_TEMP_BUFFERS: u32 = 4u32;
7788#[repr(transparent)]
7789#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
7790pub struct D3DX11_SCAN_DATA_TYPE(pub i32);
7791pub const D3DX11_SCAN_DATA_TYPE_FLOAT: D3DX11_SCAN_DATA_TYPE = D3DX11_SCAN_DATA_TYPE(1i32);
7792pub const D3DX11_SCAN_DATA_TYPE_INT: D3DX11_SCAN_DATA_TYPE = D3DX11_SCAN_DATA_TYPE(2i32);
7793pub const D3DX11_SCAN_DATA_TYPE_UINT: D3DX11_SCAN_DATA_TYPE = D3DX11_SCAN_DATA_TYPE(3i32);
7794#[repr(transparent)]
7795#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
7796pub struct D3DX11_SCAN_DIRECTION(pub i32);
7797pub const D3DX11_SCAN_DIRECTION_BACKWARD: D3DX11_SCAN_DIRECTION = D3DX11_SCAN_DIRECTION(2i32);
7798pub const D3DX11_SCAN_DIRECTION_FORWARD: D3DX11_SCAN_DIRECTION = D3DX11_SCAN_DIRECTION(1i32);
7799#[repr(transparent)]
7800#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
7801pub struct D3DX11_SCAN_OPCODE(pub i32);
7802pub const D3DX11_SCAN_OPCODE_ADD: D3DX11_SCAN_OPCODE = D3DX11_SCAN_OPCODE(1i32);
7803pub const D3DX11_SCAN_OPCODE_AND: D3DX11_SCAN_OPCODE = D3DX11_SCAN_OPCODE(5i32);
7804pub const D3DX11_SCAN_OPCODE_MAX: D3DX11_SCAN_OPCODE = D3DX11_SCAN_OPCODE(3i32);
7805pub const D3DX11_SCAN_OPCODE_MIN: D3DX11_SCAN_OPCODE = D3DX11_SCAN_OPCODE(2i32);
7806pub const D3DX11_SCAN_OPCODE_MUL: D3DX11_SCAN_OPCODE = D3DX11_SCAN_OPCODE(4i32);
7807pub const D3DX11_SCAN_OPCODE_OR: D3DX11_SCAN_OPCODE = D3DX11_SCAN_OPCODE(6i32);
7808pub const D3DX11_SCAN_OPCODE_XOR: D3DX11_SCAN_OPCODE = D3DX11_SCAN_OPCODE(7i32);
7809pub const D3D_RETURN_PARAMETER_INDEX: i32 = -1i32;
7810pub const D3D_SHADER_REQUIRES_11_1_DOUBLE_EXTENSIONS: u32 = 32u32;
7811pub const D3D_SHADER_REQUIRES_11_1_SHADER_EXTENSIONS: u32 = 64u32;
7812pub const D3D_SHADER_REQUIRES_64_UAVS: u32 = 8u32;
7813pub const D3D_SHADER_REQUIRES_DOUBLES: u32 = 1u32;
7814pub const D3D_SHADER_REQUIRES_EARLY_DEPTH_STENCIL: u32 = 2u32;
7815pub const D3D_SHADER_REQUIRES_LEVEL_9_COMPARISON_FILTERING: u32 = 128u32;
7816pub const D3D_SHADER_REQUIRES_MINIMUM_PRECISION: u32 = 16u32;
7817pub const D3D_SHADER_REQUIRES_TILED_RESOURCES: u32 = 256u32;
7818pub const D3D_SHADER_REQUIRES_UAVS_AT_EVERY_STAGE: u32 = 4u32;
7819pub const DXGI_DEBUG_D3D11: windows_core::GUID =
7820    windows_core::GUID::from_u128(0x4b99317b_ac39_4aa6_bb0b_baa04784798f);
7821windows_core::imp::define_interface!(
7822    ID3D11Asynchronous,
7823    ID3D11Asynchronous_Vtbl,
7824    0x4b35d0cd_1e15_4258_9c98_1b1333f6dd3b
7825);
7826impl core::ops::Deref for ID3D11Asynchronous {
7827    type Target = ID3D11DeviceChild;
7828    fn deref(&self) -> &Self::Target {
7829        unsafe { core::mem::transmute(self) }
7830    }
7831}
7832windows_core::imp::interface_hierarchy!(
7833    ID3D11Asynchronous,
7834    windows_core::IUnknown,
7835    ID3D11DeviceChild
7836);
7837impl ID3D11Asynchronous {
7838    pub unsafe fn GetDataSize(&self) -> u32 {
7839        unsafe {
7840            (windows_core::Interface::vtable(self).GetDataSize)(windows_core::Interface::as_raw(
7841                self,
7842            ))
7843        }
7844    }
7845}
7846#[repr(C)]
7847pub struct ID3D11Asynchronous_Vtbl {
7848    pub base__: ID3D11DeviceChild_Vtbl,
7849    pub GetDataSize: unsafe extern "system" fn(*mut core::ffi::c_void) -> u32,
7850}
7851pub trait ID3D11Asynchronous_Impl: ID3D11DeviceChild_Impl {
7852    fn GetDataSize(&self) -> u32;
7853}
7854impl ID3D11Asynchronous_Vtbl {
7855    pub const fn new<Identity: ID3D11Asynchronous_Impl, const OFFSET: isize>() -> Self {
7856        unsafe extern "system" fn GetDataSize<
7857            Identity: ID3D11Asynchronous_Impl,
7858            const OFFSET: isize,
7859        >(
7860            this: *mut core::ffi::c_void,
7861        ) -> u32 {
7862            unsafe {
7863                let this: &Identity =
7864                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
7865                ID3D11Asynchronous_Impl::GetDataSize(this)
7866            }
7867        }
7868        Self {
7869            base__: ID3D11DeviceChild_Vtbl::new::<Identity, OFFSET>(),
7870            GetDataSize: GetDataSize::<Identity, OFFSET>,
7871        }
7872    }
7873    pub fn matches(iid: &windows_core::GUID) -> bool {
7874        iid == &<ID3D11Asynchronous as windows_core::Interface>::IID
7875            || iid == &<ID3D11DeviceChild as windows_core::Interface>::IID
7876    }
7877}
7878impl windows_core::RuntimeName for ID3D11Asynchronous {}
7879unsafe impl Send for ID3D11Asynchronous {}
7880unsafe impl Sync for ID3D11Asynchronous {}
7881windows_core::imp::define_interface!(
7882    ID3D11AuthenticatedChannel,
7883    ID3D11AuthenticatedChannel_Vtbl,
7884    0x3015a308_dcbd_47aa_a747_192486d14d4a
7885);
7886impl core::ops::Deref for ID3D11AuthenticatedChannel {
7887    type Target = ID3D11DeviceChild;
7888    fn deref(&self) -> &Self::Target {
7889        unsafe { core::mem::transmute(self) }
7890    }
7891}
7892windows_core::imp::interface_hierarchy!(
7893    ID3D11AuthenticatedChannel,
7894    windows_core::IUnknown,
7895    ID3D11DeviceChild
7896);
7897impl ID3D11AuthenticatedChannel {
7898    pub unsafe fn GetCertificateSize(&self) -> windows_core::Result<u32> {
7899        unsafe {
7900            let mut result__ = core::mem::zeroed();
7901            (windows_core::Interface::vtable(self).GetCertificateSize)(
7902                windows_core::Interface::as_raw(self),
7903                &mut result__,
7904            )
7905            .map(|| result__)
7906        }
7907    }
7908    pub unsafe fn GetCertificate(&self, pcertificate: &mut [u8]) -> windows_core::Result<()> {
7909        unsafe {
7910            (windows_core::Interface::vtable(self).GetCertificate)(
7911                windows_core::Interface::as_raw(self),
7912                pcertificate.len().try_into().unwrap(),
7913                core::mem::transmute(pcertificate.as_ptr()),
7914            )
7915            .ok()
7916        }
7917    }
7918    pub unsafe fn GetChannelHandle(&self) -> crate::Foundation::HANDLE {
7919        unsafe {
7920            let mut result__ = core::mem::zeroed();
7921            (windows_core::Interface::vtable(self).GetChannelHandle)(
7922                windows_core::Interface::as_raw(self),
7923                &mut result__,
7924            );
7925            result__
7926        }
7927    }
7928}
7929#[repr(C)]
7930pub struct ID3D11AuthenticatedChannel_Vtbl {
7931    pub base__: ID3D11DeviceChild_Vtbl,
7932    pub GetCertificateSize:
7933        unsafe extern "system" fn(*mut core::ffi::c_void, *mut u32) -> windows_core::HRESULT,
7934    pub GetCertificate:
7935        unsafe extern "system" fn(*mut core::ffi::c_void, u32, *mut u8) -> windows_core::HRESULT,
7936    pub GetChannelHandle:
7937        unsafe extern "system" fn(*mut core::ffi::c_void, *mut crate::Foundation::HANDLE),
7938}
7939pub trait ID3D11AuthenticatedChannel_Impl: ID3D11DeviceChild_Impl {
7940    fn GetCertificateSize(&self) -> windows_core::Result<u32>;
7941    fn GetCertificate(
7942        &self,
7943        certificatesize: u32,
7944        pcertificate: *mut u8,
7945    ) -> windows_core::Result<()>;
7946    fn GetChannelHandle(&self, pchannelhandle: *mut crate::Foundation::HANDLE);
7947}
7948impl ID3D11AuthenticatedChannel_Vtbl {
7949    pub const fn new<Identity: ID3D11AuthenticatedChannel_Impl, const OFFSET: isize>() -> Self {
7950        unsafe extern "system" fn GetCertificateSize<
7951            Identity: ID3D11AuthenticatedChannel_Impl,
7952            const OFFSET: isize,
7953        >(
7954            this: *mut core::ffi::c_void,
7955            pcertificatesize: *mut u32,
7956        ) -> windows_core::HRESULT {
7957            unsafe {
7958                let this: &Identity =
7959                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
7960                match ID3D11AuthenticatedChannel_Impl::GetCertificateSize(this) {
7961                    Ok(ok__) => {
7962                        pcertificatesize.write(core::mem::transmute(ok__));
7963                        windows_core::HRESULT(0)
7964                    }
7965                    Err(err) => err.into(),
7966                }
7967            }
7968        }
7969        unsafe extern "system" fn GetCertificate<
7970            Identity: ID3D11AuthenticatedChannel_Impl,
7971            const OFFSET: isize,
7972        >(
7973            this: *mut core::ffi::c_void,
7974            certificatesize: u32,
7975            pcertificate: *mut u8,
7976        ) -> windows_core::HRESULT {
7977            unsafe {
7978                let this: &Identity =
7979                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
7980                ID3D11AuthenticatedChannel_Impl::GetCertificate(
7981                    this,
7982                    core::mem::transmute_copy(&certificatesize),
7983                    core::mem::transmute_copy(&pcertificate),
7984                )
7985                .into()
7986            }
7987        }
7988        unsafe extern "system" fn GetChannelHandle<
7989            Identity: ID3D11AuthenticatedChannel_Impl,
7990            const OFFSET: isize,
7991        >(
7992            this: *mut core::ffi::c_void,
7993            pchannelhandle: *mut crate::Foundation::HANDLE,
7994        ) {
7995            unsafe {
7996                let this: &Identity =
7997                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
7998                ID3D11AuthenticatedChannel_Impl::GetChannelHandle(
7999                    this,
8000                    core::mem::transmute_copy(&pchannelhandle),
8001                )
8002            }
8003        }
8004        Self {
8005            base__: ID3D11DeviceChild_Vtbl::new::<Identity, OFFSET>(),
8006            GetCertificateSize: GetCertificateSize::<Identity, OFFSET>,
8007            GetCertificate: GetCertificate::<Identity, OFFSET>,
8008            GetChannelHandle: GetChannelHandle::<Identity, OFFSET>,
8009        }
8010    }
8011    pub fn matches(iid: &windows_core::GUID) -> bool {
8012        iid == &<ID3D11AuthenticatedChannel as windows_core::Interface>::IID
8013            || iid == &<ID3D11DeviceChild as windows_core::Interface>::IID
8014    }
8015}
8016impl windows_core::RuntimeName for ID3D11AuthenticatedChannel {}
8017unsafe impl Send for ID3D11AuthenticatedChannel {}
8018unsafe impl Sync for ID3D11AuthenticatedChannel {}
8019windows_core::imp::define_interface!(
8020    ID3D11BlendState,
8021    ID3D11BlendState_Vtbl,
8022    0x75b68faa_347d_4159_8f45_a0640f01cd9a
8023);
8024impl core::ops::Deref for ID3D11BlendState {
8025    type Target = ID3D11DeviceChild;
8026    fn deref(&self) -> &Self::Target {
8027        unsafe { core::mem::transmute(self) }
8028    }
8029}
8030windows_core::imp::interface_hierarchy!(
8031    ID3D11BlendState,
8032    windows_core::IUnknown,
8033    ID3D11DeviceChild
8034);
8035impl ID3D11BlendState {
8036    pub unsafe fn GetDesc(&self, pdesc: *mut D3D11_BLEND_DESC) {
8037        unsafe {
8038            (windows_core::Interface::vtable(self).GetDesc)(
8039                windows_core::Interface::as_raw(self),
8040                core::mem::transmute(pdesc),
8041            )
8042        }
8043    }
8044}
8045#[repr(C)]
8046pub struct ID3D11BlendState_Vtbl {
8047    pub base__: ID3D11DeviceChild_Vtbl,
8048    pub GetDesc: unsafe extern "system" fn(*mut core::ffi::c_void, *mut D3D11_BLEND_DESC),
8049}
8050pub trait ID3D11BlendState_Impl: ID3D11DeviceChild_Impl {
8051    fn GetDesc(&self, pdesc: *mut D3D11_BLEND_DESC);
8052}
8053impl ID3D11BlendState_Vtbl {
8054    pub const fn new<Identity: ID3D11BlendState_Impl, const OFFSET: isize>() -> Self {
8055        unsafe extern "system" fn GetDesc<Identity: ID3D11BlendState_Impl, const OFFSET: isize>(
8056            this: *mut core::ffi::c_void,
8057            pdesc: *mut D3D11_BLEND_DESC,
8058        ) {
8059            unsafe {
8060                let this: &Identity =
8061                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
8062                ID3D11BlendState_Impl::GetDesc(this, core::mem::transmute_copy(&pdesc))
8063            }
8064        }
8065        Self {
8066            base__: ID3D11DeviceChild_Vtbl::new::<Identity, OFFSET>(),
8067            GetDesc: GetDesc::<Identity, OFFSET>,
8068        }
8069    }
8070    pub fn matches(iid: &windows_core::GUID) -> bool {
8071        iid == &<ID3D11BlendState as windows_core::Interface>::IID
8072            || iid == &<ID3D11DeviceChild as windows_core::Interface>::IID
8073    }
8074}
8075impl windows_core::RuntimeName for ID3D11BlendState {}
8076unsafe impl Send for ID3D11BlendState {}
8077unsafe impl Sync for ID3D11BlendState {}
8078windows_core::imp::define_interface!(
8079    ID3D11BlendState1,
8080    ID3D11BlendState1_Vtbl,
8081    0xcc86fabe_da55_401d_85e7_e3c9de2877e9
8082);
8083impl core::ops::Deref for ID3D11BlendState1 {
8084    type Target = ID3D11BlendState;
8085    fn deref(&self) -> &Self::Target {
8086        unsafe { core::mem::transmute(self) }
8087    }
8088}
8089windows_core::imp::interface_hierarchy!(
8090    ID3D11BlendState1,
8091    windows_core::IUnknown,
8092    ID3D11DeviceChild,
8093    ID3D11BlendState
8094);
8095impl ID3D11BlendState1 {
8096    pub unsafe fn GetDesc1(&self, pdesc: *mut D3D11_BLEND_DESC1) {
8097        unsafe {
8098            (windows_core::Interface::vtable(self).GetDesc1)(
8099                windows_core::Interface::as_raw(self),
8100                core::mem::transmute(pdesc),
8101            )
8102        }
8103    }
8104}
8105#[repr(C)]
8106pub struct ID3D11BlendState1_Vtbl {
8107    pub base__: ID3D11BlendState_Vtbl,
8108    pub GetDesc1: unsafe extern "system" fn(*mut core::ffi::c_void, *mut D3D11_BLEND_DESC1),
8109}
8110pub trait ID3D11BlendState1_Impl: ID3D11BlendState_Impl {
8111    fn GetDesc1(&self, pdesc: *mut D3D11_BLEND_DESC1);
8112}
8113impl ID3D11BlendState1_Vtbl {
8114    pub const fn new<Identity: ID3D11BlendState1_Impl, const OFFSET: isize>() -> Self {
8115        unsafe extern "system" fn GetDesc1<
8116            Identity: ID3D11BlendState1_Impl,
8117            const OFFSET: isize,
8118        >(
8119            this: *mut core::ffi::c_void,
8120            pdesc: *mut D3D11_BLEND_DESC1,
8121        ) {
8122            unsafe {
8123                let this: &Identity =
8124                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
8125                ID3D11BlendState1_Impl::GetDesc1(this, core::mem::transmute_copy(&pdesc))
8126            }
8127        }
8128        Self {
8129            base__: ID3D11BlendState_Vtbl::new::<Identity, OFFSET>(),
8130            GetDesc1: GetDesc1::<Identity, OFFSET>,
8131        }
8132    }
8133    pub fn matches(iid: &windows_core::GUID) -> bool {
8134        iid == &<ID3D11BlendState1 as windows_core::Interface>::IID
8135            || iid == &<ID3D11DeviceChild as windows_core::Interface>::IID
8136            || iid == &<ID3D11BlendState as windows_core::Interface>::IID
8137    }
8138}
8139impl windows_core::RuntimeName for ID3D11BlendState1 {}
8140unsafe impl Send for ID3D11BlendState1 {}
8141unsafe impl Sync for ID3D11BlendState1 {}
8142windows_core::imp::define_interface!(
8143    ID3D11Buffer,
8144    ID3D11Buffer_Vtbl,
8145    0x48570b85_d1ee_4fcd_a250_eb350722b037
8146);
8147impl core::ops::Deref for ID3D11Buffer {
8148    type Target = ID3D11Resource;
8149    fn deref(&self) -> &Self::Target {
8150        unsafe { core::mem::transmute(self) }
8151    }
8152}
8153windows_core::imp::interface_hierarchy!(
8154    ID3D11Buffer,
8155    windows_core::IUnknown,
8156    ID3D11DeviceChild,
8157    ID3D11Resource
8158);
8159impl ID3D11Buffer {
8160    pub unsafe fn GetDesc(&self, pdesc: *mut D3D11_BUFFER_DESC) {
8161        unsafe {
8162            (windows_core::Interface::vtable(self).GetDesc)(
8163                windows_core::Interface::as_raw(self),
8164                core::mem::transmute(pdesc),
8165            )
8166        }
8167    }
8168}
8169#[repr(C)]
8170pub struct ID3D11Buffer_Vtbl {
8171    pub base__: ID3D11Resource_Vtbl,
8172    pub GetDesc: unsafe extern "system" fn(*mut core::ffi::c_void, *mut D3D11_BUFFER_DESC),
8173}
8174pub trait ID3D11Buffer_Impl: ID3D11Resource_Impl {
8175    fn GetDesc(&self, pdesc: *mut D3D11_BUFFER_DESC);
8176}
8177impl ID3D11Buffer_Vtbl {
8178    pub const fn new<Identity: ID3D11Buffer_Impl, const OFFSET: isize>() -> Self {
8179        unsafe extern "system" fn GetDesc<Identity: ID3D11Buffer_Impl, const OFFSET: isize>(
8180            this: *mut core::ffi::c_void,
8181            pdesc: *mut D3D11_BUFFER_DESC,
8182        ) {
8183            unsafe {
8184                let this: &Identity =
8185                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
8186                ID3D11Buffer_Impl::GetDesc(this, core::mem::transmute_copy(&pdesc))
8187            }
8188        }
8189        Self {
8190            base__: ID3D11Resource_Vtbl::new::<Identity, OFFSET>(),
8191            GetDesc: GetDesc::<Identity, OFFSET>,
8192        }
8193    }
8194    pub fn matches(iid: &windows_core::GUID) -> bool {
8195        iid == &<ID3D11Buffer as windows_core::Interface>::IID
8196            || iid == &<ID3D11DeviceChild as windows_core::Interface>::IID
8197            || iid == &<ID3D11Resource as windows_core::Interface>::IID
8198    }
8199}
8200impl windows_core::RuntimeName for ID3D11Buffer {}
8201unsafe impl Send for ID3D11Buffer {}
8202unsafe impl Sync for ID3D11Buffer {}
8203windows_core::imp::define_interface!(
8204    ID3D11ClassInstance,
8205    ID3D11ClassInstance_Vtbl,
8206    0xa6cd7faa_b0b7_4a2f_9436_8662a65797cb
8207);
8208impl core::ops::Deref for ID3D11ClassInstance {
8209    type Target = ID3D11DeviceChild;
8210    fn deref(&self) -> &Self::Target {
8211        unsafe { core::mem::transmute(self) }
8212    }
8213}
8214windows_core::imp::interface_hierarchy!(
8215    ID3D11ClassInstance,
8216    windows_core::IUnknown,
8217    ID3D11DeviceChild
8218);
8219impl ID3D11ClassInstance {
8220    pub unsafe fn GetClassLinkage(&self) -> windows_core::Result<ID3D11ClassLinkage> {
8221        unsafe {
8222            let mut result__ = core::mem::zeroed();
8223            (windows_core::Interface::vtable(self).GetClassLinkage)(
8224                windows_core::Interface::as_raw(self),
8225                &mut result__,
8226            );
8227            windows_core::Type::from_abi(result__)
8228        }
8229    }
8230    pub unsafe fn GetDesc(&self, pdesc: *mut D3D11_CLASS_INSTANCE_DESC) {
8231        unsafe {
8232            (windows_core::Interface::vtable(self).GetDesc)(
8233                windows_core::Interface::as_raw(self),
8234                core::mem::transmute(pdesc),
8235            )
8236        }
8237    }
8238    pub unsafe fn GetInstanceName(
8239        &self,
8240        pinstancename: Option<crate::core_supplemental::PSTR>,
8241        pbufferlength: *mut usize,
8242    ) {
8243        unsafe {
8244            (windows_core::Interface::vtable(self).GetInstanceName)(
8245                windows_core::Interface::as_raw(self),
8246                core::mem::transmute(pinstancename.unwrap_or(core::mem::zeroed())),
8247                core::mem::transmute(pbufferlength),
8248            )
8249        }
8250    }
8251    pub unsafe fn GetTypeName(
8252        &self,
8253        ptypename: Option<crate::core_supplemental::PSTR>,
8254        pbufferlength: *mut usize,
8255    ) {
8256        unsafe {
8257            (windows_core::Interface::vtable(self).GetTypeName)(
8258                windows_core::Interface::as_raw(self),
8259                core::mem::transmute(ptypename.unwrap_or(core::mem::zeroed())),
8260                core::mem::transmute(pbufferlength),
8261            )
8262        }
8263    }
8264}
8265#[repr(C)]
8266pub struct ID3D11ClassInstance_Vtbl {
8267    pub base__: ID3D11DeviceChild_Vtbl,
8268    pub GetClassLinkage:
8269        unsafe extern "system" fn(*mut core::ffi::c_void, *mut *mut core::ffi::c_void),
8270    pub GetDesc: unsafe extern "system" fn(*mut core::ffi::c_void, *mut D3D11_CLASS_INSTANCE_DESC),
8271    pub GetInstanceName:
8272        unsafe extern "system" fn(*mut core::ffi::c_void, crate::core_supplemental::PSTR, *mut usize),
8273    pub GetTypeName:
8274        unsafe extern "system" fn(*mut core::ffi::c_void, crate::core_supplemental::PSTR, *mut usize),
8275}
8276pub trait ID3D11ClassInstance_Impl: ID3D11DeviceChild_Impl {
8277    fn GetClassLinkage(&self, pplinkage: windows_core::OutRef<'_, ID3D11ClassLinkage>);
8278    fn GetDesc(&self, pdesc: *mut D3D11_CLASS_INSTANCE_DESC);
8279    fn GetInstanceName(&self, pinstancename: crate::core_supplemental::PSTR, pbufferlength: *mut usize);
8280    fn GetTypeName(&self, ptypename: crate::core_supplemental::PSTR, pbufferlength: *mut usize);
8281}
8282impl ID3D11ClassInstance_Vtbl {
8283    pub const fn new<Identity: ID3D11ClassInstance_Impl, const OFFSET: isize>() -> Self {
8284        unsafe extern "system" fn GetClassLinkage<
8285            Identity: ID3D11ClassInstance_Impl,
8286            const OFFSET: isize,
8287        >(
8288            this: *mut core::ffi::c_void,
8289            pplinkage: *mut *mut core::ffi::c_void,
8290        ) {
8291            unsafe {
8292                let this: &Identity =
8293                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
8294                ID3D11ClassInstance_Impl::GetClassLinkage(
8295                    this,
8296                    core::mem::transmute_copy(&pplinkage),
8297                )
8298            }
8299        }
8300        unsafe extern "system" fn GetDesc<
8301            Identity: ID3D11ClassInstance_Impl,
8302            const OFFSET: isize,
8303        >(
8304            this: *mut core::ffi::c_void,
8305            pdesc: *mut D3D11_CLASS_INSTANCE_DESC,
8306        ) {
8307            unsafe {
8308                let this: &Identity =
8309                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
8310                ID3D11ClassInstance_Impl::GetDesc(this, core::mem::transmute_copy(&pdesc))
8311            }
8312        }
8313        unsafe extern "system" fn GetInstanceName<
8314            Identity: ID3D11ClassInstance_Impl,
8315            const OFFSET: isize,
8316        >(
8317            this: *mut core::ffi::c_void,
8318            pinstancename: crate::core_supplemental::PSTR,
8319            pbufferlength: *mut usize,
8320        ) {
8321            unsafe {
8322                let this: &Identity =
8323                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
8324                ID3D11ClassInstance_Impl::GetInstanceName(
8325                    this,
8326                    core::mem::transmute_copy(&pinstancename),
8327                    core::mem::transmute_copy(&pbufferlength),
8328                )
8329            }
8330        }
8331        unsafe extern "system" fn GetTypeName<
8332            Identity: ID3D11ClassInstance_Impl,
8333            const OFFSET: isize,
8334        >(
8335            this: *mut core::ffi::c_void,
8336            ptypename: crate::core_supplemental::PSTR,
8337            pbufferlength: *mut usize,
8338        ) {
8339            unsafe {
8340                let this: &Identity =
8341                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
8342                ID3D11ClassInstance_Impl::GetTypeName(
8343                    this,
8344                    core::mem::transmute_copy(&ptypename),
8345                    core::mem::transmute_copy(&pbufferlength),
8346                )
8347            }
8348        }
8349        Self {
8350            base__: ID3D11DeviceChild_Vtbl::new::<Identity, OFFSET>(),
8351            GetClassLinkage: GetClassLinkage::<Identity, OFFSET>,
8352            GetDesc: GetDesc::<Identity, OFFSET>,
8353            GetInstanceName: GetInstanceName::<Identity, OFFSET>,
8354            GetTypeName: GetTypeName::<Identity, OFFSET>,
8355        }
8356    }
8357    pub fn matches(iid: &windows_core::GUID) -> bool {
8358        iid == &<ID3D11ClassInstance as windows_core::Interface>::IID
8359            || iid == &<ID3D11DeviceChild as windows_core::Interface>::IID
8360    }
8361}
8362impl windows_core::RuntimeName for ID3D11ClassInstance {}
8363unsafe impl Send for ID3D11ClassInstance {}
8364unsafe impl Sync for ID3D11ClassInstance {}
8365windows_core::imp::define_interface!(
8366    ID3D11ClassLinkage,
8367    ID3D11ClassLinkage_Vtbl,
8368    0xddf57cba_9543_46e4_a12b_f207a0fe7fed
8369);
8370impl core::ops::Deref for ID3D11ClassLinkage {
8371    type Target = ID3D11DeviceChild;
8372    fn deref(&self) -> &Self::Target {
8373        unsafe { core::mem::transmute(self) }
8374    }
8375}
8376windows_core::imp::interface_hierarchy!(
8377    ID3D11ClassLinkage,
8378    windows_core::IUnknown,
8379    ID3D11DeviceChild
8380);
8381impl ID3D11ClassLinkage {
8382    pub unsafe fn GetClassInstance<P0>(
8383        &self,
8384        pclassinstancename: P0,
8385        instanceindex: u32,
8386    ) -> windows_core::Result<ID3D11ClassInstance>
8387    where
8388        P0: windows_core::Param<crate::core_supplemental::PCSTR>,
8389    {
8390        unsafe {
8391            let mut result__ = core::mem::zeroed();
8392            (windows_core::Interface::vtable(self).GetClassInstance)(
8393                windows_core::Interface::as_raw(self),
8394                pclassinstancename.param().abi(),
8395                instanceindex,
8396                &mut result__,
8397            )
8398            .and_then(|| windows_core::Type::from_abi(result__))
8399        }
8400    }
8401    pub unsafe fn CreateClassInstance<P0>(
8402        &self,
8403        pclasstypename: P0,
8404        constantbufferoffset: u32,
8405        constantvectoroffset: u32,
8406        textureoffset: u32,
8407        sampleroffset: u32,
8408    ) -> windows_core::Result<ID3D11ClassInstance>
8409    where
8410        P0: windows_core::Param<crate::core_supplemental::PCSTR>,
8411    {
8412        unsafe {
8413            let mut result__ = core::mem::zeroed();
8414            (windows_core::Interface::vtable(self).CreateClassInstance)(
8415                windows_core::Interface::as_raw(self),
8416                pclasstypename.param().abi(),
8417                constantbufferoffset,
8418                constantvectoroffset,
8419                textureoffset,
8420                sampleroffset,
8421                &mut result__,
8422            )
8423            .and_then(|| windows_core::Type::from_abi(result__))
8424        }
8425    }
8426}
8427#[repr(C)]
8428pub struct ID3D11ClassLinkage_Vtbl {
8429    pub base__: ID3D11DeviceChild_Vtbl,
8430    pub GetClassInstance: unsafe extern "system" fn(
8431        *mut core::ffi::c_void,
8432        crate::core_supplemental::PCSTR,
8433        u32,
8434        *mut *mut core::ffi::c_void,
8435    ) -> windows_core::HRESULT,
8436    pub CreateClassInstance: unsafe extern "system" fn(
8437        *mut core::ffi::c_void,
8438        crate::core_supplemental::PCSTR,
8439        u32,
8440        u32,
8441        u32,
8442        u32,
8443        *mut *mut core::ffi::c_void,
8444    ) -> windows_core::HRESULT,
8445}
8446pub trait ID3D11ClassLinkage_Impl: ID3D11DeviceChild_Impl {
8447    fn GetClassInstance(
8448        &self,
8449        pclassinstancename: &crate::core_supplemental::PCSTR,
8450        instanceindex: u32,
8451    ) -> windows_core::Result<ID3D11ClassInstance>;
8452    fn CreateClassInstance(
8453        &self,
8454        pclasstypename: &crate::core_supplemental::PCSTR,
8455        constantbufferoffset: u32,
8456        constantvectoroffset: u32,
8457        textureoffset: u32,
8458        sampleroffset: u32,
8459    ) -> windows_core::Result<ID3D11ClassInstance>;
8460}
8461impl ID3D11ClassLinkage_Vtbl {
8462    pub const fn new<Identity: ID3D11ClassLinkage_Impl, const OFFSET: isize>() -> Self {
8463        unsafe extern "system" fn GetClassInstance<
8464            Identity: ID3D11ClassLinkage_Impl,
8465            const OFFSET: isize,
8466        >(
8467            this: *mut core::ffi::c_void,
8468            pclassinstancename: crate::core_supplemental::PCSTR,
8469            instanceindex: u32,
8470            ppinstance: *mut *mut core::ffi::c_void,
8471        ) -> windows_core::HRESULT {
8472            unsafe {
8473                let this: &Identity =
8474                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
8475                match ID3D11ClassLinkage_Impl::GetClassInstance(
8476                    this,
8477                    core::mem::transmute(&pclassinstancename),
8478                    core::mem::transmute_copy(&instanceindex),
8479                ) {
8480                    Ok(ok__) => {
8481                        ppinstance.write(core::mem::transmute(ok__));
8482                        windows_core::HRESULT(0)
8483                    }
8484                    Err(err) => err.into(),
8485                }
8486            }
8487        }
8488        unsafe extern "system" fn CreateClassInstance<
8489            Identity: ID3D11ClassLinkage_Impl,
8490            const OFFSET: isize,
8491        >(
8492            this: *mut core::ffi::c_void,
8493            pclasstypename: crate::core_supplemental::PCSTR,
8494            constantbufferoffset: u32,
8495            constantvectoroffset: u32,
8496            textureoffset: u32,
8497            sampleroffset: u32,
8498            ppinstance: *mut *mut core::ffi::c_void,
8499        ) -> windows_core::HRESULT {
8500            unsafe {
8501                let this: &Identity =
8502                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
8503                match ID3D11ClassLinkage_Impl::CreateClassInstance(
8504                    this,
8505                    core::mem::transmute(&pclasstypename),
8506                    core::mem::transmute_copy(&constantbufferoffset),
8507                    core::mem::transmute_copy(&constantvectoroffset),
8508                    core::mem::transmute_copy(&textureoffset),
8509                    core::mem::transmute_copy(&sampleroffset),
8510                ) {
8511                    Ok(ok__) => {
8512                        ppinstance.write(core::mem::transmute(ok__));
8513                        windows_core::HRESULT(0)
8514                    }
8515                    Err(err) => err.into(),
8516                }
8517            }
8518        }
8519        Self {
8520            base__: ID3D11DeviceChild_Vtbl::new::<Identity, OFFSET>(),
8521            GetClassInstance: GetClassInstance::<Identity, OFFSET>,
8522            CreateClassInstance: CreateClassInstance::<Identity, OFFSET>,
8523        }
8524    }
8525    pub fn matches(iid: &windows_core::GUID) -> bool {
8526        iid == &<ID3D11ClassLinkage as windows_core::Interface>::IID
8527            || iid == &<ID3D11DeviceChild as windows_core::Interface>::IID
8528    }
8529}
8530impl windows_core::RuntimeName for ID3D11ClassLinkage {}
8531unsafe impl Send for ID3D11ClassLinkage {}
8532unsafe impl Sync for ID3D11ClassLinkage {}
8533windows_core::imp::define_interface!(
8534    ID3D11CommandList,
8535    ID3D11CommandList_Vtbl,
8536    0xa24bc4d1_769e_43f7_8013_98ff566c18e2
8537);
8538impl core::ops::Deref for ID3D11CommandList {
8539    type Target = ID3D11DeviceChild;
8540    fn deref(&self) -> &Self::Target {
8541        unsafe { core::mem::transmute(self) }
8542    }
8543}
8544windows_core::imp::interface_hierarchy!(
8545    ID3D11CommandList,
8546    windows_core::IUnknown,
8547    ID3D11DeviceChild
8548);
8549impl ID3D11CommandList {
8550    pub unsafe fn GetContextFlags(&self) -> u32 {
8551        unsafe {
8552            (windows_core::Interface::vtable(self).GetContextFlags)(
8553                windows_core::Interface::as_raw(self),
8554            )
8555        }
8556    }
8557}
8558#[repr(C)]
8559pub struct ID3D11CommandList_Vtbl {
8560    pub base__: ID3D11DeviceChild_Vtbl,
8561    pub GetContextFlags: unsafe extern "system" fn(*mut core::ffi::c_void) -> u32,
8562}
8563pub trait ID3D11CommandList_Impl: ID3D11DeviceChild_Impl {
8564    fn GetContextFlags(&self) -> u32;
8565}
8566impl ID3D11CommandList_Vtbl {
8567    pub const fn new<Identity: ID3D11CommandList_Impl, const OFFSET: isize>() -> Self {
8568        unsafe extern "system" fn GetContextFlags<
8569            Identity: ID3D11CommandList_Impl,
8570            const OFFSET: isize,
8571        >(
8572            this: *mut core::ffi::c_void,
8573        ) -> u32 {
8574            unsafe {
8575                let this: &Identity =
8576                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
8577                ID3D11CommandList_Impl::GetContextFlags(this)
8578            }
8579        }
8580        Self {
8581            base__: ID3D11DeviceChild_Vtbl::new::<Identity, OFFSET>(),
8582            GetContextFlags: GetContextFlags::<Identity, OFFSET>,
8583        }
8584    }
8585    pub fn matches(iid: &windows_core::GUID) -> bool {
8586        iid == &<ID3D11CommandList as windows_core::Interface>::IID
8587            || iid == &<ID3D11DeviceChild as windows_core::Interface>::IID
8588    }
8589}
8590impl windows_core::RuntimeName for ID3D11CommandList {}
8591unsafe impl Send for ID3D11CommandList {}
8592unsafe impl Sync for ID3D11CommandList {}
8593windows_core::imp::define_interface!(
8594    ID3D11ComputeShader,
8595    ID3D11ComputeShader_Vtbl,
8596    0x4f5b196e_c2bd_495e_bd01_1fded38e4969
8597);
8598impl core::ops::Deref for ID3D11ComputeShader {
8599    type Target = ID3D11DeviceChild;
8600    fn deref(&self) -> &Self::Target {
8601        unsafe { core::mem::transmute(self) }
8602    }
8603}
8604windows_core::imp::interface_hierarchy!(
8605    ID3D11ComputeShader,
8606    windows_core::IUnknown,
8607    ID3D11DeviceChild
8608);
8609#[repr(C)]
8610pub struct ID3D11ComputeShader_Vtbl {
8611    pub base__: ID3D11DeviceChild_Vtbl,
8612}
8613pub trait ID3D11ComputeShader_Impl: ID3D11DeviceChild_Impl {}
8614impl ID3D11ComputeShader_Vtbl {
8615    pub const fn new<Identity: ID3D11ComputeShader_Impl, const OFFSET: isize>() -> Self {
8616        Self {
8617            base__: ID3D11DeviceChild_Vtbl::new::<Identity, OFFSET>(),
8618        }
8619    }
8620    pub fn matches(iid: &windows_core::GUID) -> bool {
8621        iid == &<ID3D11ComputeShader as windows_core::Interface>::IID
8622            || iid == &<ID3D11DeviceChild as windows_core::Interface>::IID
8623    }
8624}
8625impl windows_core::RuntimeName for ID3D11ComputeShader {}
8626unsafe impl Send for ID3D11ComputeShader {}
8627unsafe impl Sync for ID3D11ComputeShader {}
8628windows_core::imp::define_interface!(
8629    ID3D11Counter,
8630    ID3D11Counter_Vtbl,
8631    0x6e8c49fb_a371_4770_b440_29086022b741
8632);
8633impl core::ops::Deref for ID3D11Counter {
8634    type Target = ID3D11Asynchronous;
8635    fn deref(&self) -> &Self::Target {
8636        unsafe { core::mem::transmute(self) }
8637    }
8638}
8639windows_core::imp::interface_hierarchy!(
8640    ID3D11Counter,
8641    windows_core::IUnknown,
8642    ID3D11DeviceChild,
8643    ID3D11Asynchronous
8644);
8645impl ID3D11Counter {
8646    pub unsafe fn GetDesc(&self) -> D3D11_COUNTER_DESC {
8647        unsafe {
8648            let mut result__ = core::mem::zeroed();
8649            (windows_core::Interface::vtable(self).GetDesc)(
8650                windows_core::Interface::as_raw(self),
8651                &mut result__,
8652            );
8653            result__
8654        }
8655    }
8656}
8657#[repr(C)]
8658pub struct ID3D11Counter_Vtbl {
8659    pub base__: ID3D11Asynchronous_Vtbl,
8660    pub GetDesc: unsafe extern "system" fn(*mut core::ffi::c_void, *mut D3D11_COUNTER_DESC),
8661}
8662pub trait ID3D11Counter_Impl: ID3D11Asynchronous_Impl {
8663    fn GetDesc(&self, pdesc: *mut D3D11_COUNTER_DESC);
8664}
8665impl ID3D11Counter_Vtbl {
8666    pub const fn new<Identity: ID3D11Counter_Impl, const OFFSET: isize>() -> Self {
8667        unsafe extern "system" fn GetDesc<Identity: ID3D11Counter_Impl, const OFFSET: isize>(
8668            this: *mut core::ffi::c_void,
8669            pdesc: *mut D3D11_COUNTER_DESC,
8670        ) {
8671            unsafe {
8672                let this: &Identity =
8673                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
8674                ID3D11Counter_Impl::GetDesc(this, core::mem::transmute_copy(&pdesc))
8675            }
8676        }
8677        Self {
8678            base__: ID3D11Asynchronous_Vtbl::new::<Identity, OFFSET>(),
8679            GetDesc: GetDesc::<Identity, OFFSET>,
8680        }
8681    }
8682    pub fn matches(iid: &windows_core::GUID) -> bool {
8683        iid == &<ID3D11Counter as windows_core::Interface>::IID
8684            || iid == &<ID3D11DeviceChild as windows_core::Interface>::IID
8685            || iid == &<ID3D11Asynchronous as windows_core::Interface>::IID
8686    }
8687}
8688impl windows_core::RuntimeName for ID3D11Counter {}
8689unsafe impl Send for ID3D11Counter {}
8690unsafe impl Sync for ID3D11Counter {}
8691windows_core::imp::define_interface!(
8692    ID3D11CryptoSession,
8693    ID3D11CryptoSession_Vtbl,
8694    0x9b32f9ad_bdcc_40a6_a39d_d5c865845720
8695);
8696impl core::ops::Deref for ID3D11CryptoSession {
8697    type Target = ID3D11DeviceChild;
8698    fn deref(&self) -> &Self::Target {
8699        unsafe { core::mem::transmute(self) }
8700    }
8701}
8702windows_core::imp::interface_hierarchy!(
8703    ID3D11CryptoSession,
8704    windows_core::IUnknown,
8705    ID3D11DeviceChild
8706);
8707impl ID3D11CryptoSession {
8708    pub unsafe fn GetCryptoType(&self) -> windows_core::GUID {
8709        unsafe {
8710            let mut result__ = core::mem::zeroed();
8711            (windows_core::Interface::vtable(self).GetCryptoType)(
8712                windows_core::Interface::as_raw(self),
8713                &mut result__,
8714            );
8715            result__
8716        }
8717    }
8718    pub unsafe fn GetDecoderProfile(&self) -> windows_core::GUID {
8719        unsafe {
8720            let mut result__ = core::mem::zeroed();
8721            (windows_core::Interface::vtable(self).GetDecoderProfile)(
8722                windows_core::Interface::as_raw(self),
8723                &mut result__,
8724            );
8725            result__
8726        }
8727    }
8728    pub unsafe fn GetCertificateSize(&self) -> windows_core::Result<u32> {
8729        unsafe {
8730            let mut result__ = core::mem::zeroed();
8731            (windows_core::Interface::vtable(self).GetCertificateSize)(
8732                windows_core::Interface::as_raw(self),
8733                &mut result__,
8734            )
8735            .map(|| result__)
8736        }
8737    }
8738    pub unsafe fn GetCertificate(&self, pcertificate: &mut [u8]) -> windows_core::Result<()> {
8739        unsafe {
8740            (windows_core::Interface::vtable(self).GetCertificate)(
8741                windows_core::Interface::as_raw(self),
8742                pcertificate.len().try_into().unwrap(),
8743                core::mem::transmute(pcertificate.as_ptr()),
8744            )
8745            .ok()
8746        }
8747    }
8748    pub unsafe fn GetCryptoSessionHandle(&self) -> crate::Foundation::HANDLE {
8749        unsafe {
8750            let mut result__ = core::mem::zeroed();
8751            (windows_core::Interface::vtable(self).GetCryptoSessionHandle)(
8752                windows_core::Interface::as_raw(self),
8753                &mut result__,
8754            );
8755            result__
8756        }
8757    }
8758}
8759#[repr(C)]
8760pub struct ID3D11CryptoSession_Vtbl {
8761    pub base__: ID3D11DeviceChild_Vtbl,
8762    pub GetCryptoType: unsafe extern "system" fn(*mut core::ffi::c_void, *mut windows_core::GUID),
8763    pub GetDecoderProfile:
8764        unsafe extern "system" fn(*mut core::ffi::c_void, *mut windows_core::GUID),
8765    pub GetCertificateSize:
8766        unsafe extern "system" fn(*mut core::ffi::c_void, *mut u32) -> windows_core::HRESULT,
8767    pub GetCertificate:
8768        unsafe extern "system" fn(*mut core::ffi::c_void, u32, *mut u8) -> windows_core::HRESULT,
8769    pub GetCryptoSessionHandle:
8770        unsafe extern "system" fn(*mut core::ffi::c_void, *mut crate::Foundation::HANDLE),
8771}
8772pub trait ID3D11CryptoSession_Impl: ID3D11DeviceChild_Impl {
8773    fn GetCryptoType(&self, pcryptotype: *mut windows_core::GUID);
8774    fn GetDecoderProfile(&self, pdecoderprofile: *mut windows_core::GUID);
8775    fn GetCertificateSize(&self) -> windows_core::Result<u32>;
8776    fn GetCertificate(
8777        &self,
8778        certificatesize: u32,
8779        pcertificate: *mut u8,
8780    ) -> windows_core::Result<()>;
8781    fn GetCryptoSessionHandle(&self, pcryptosessionhandle: *mut crate::Foundation::HANDLE);
8782}
8783impl ID3D11CryptoSession_Vtbl {
8784    pub const fn new<Identity: ID3D11CryptoSession_Impl, const OFFSET: isize>() -> Self {
8785        unsafe extern "system" fn GetCryptoType<
8786            Identity: ID3D11CryptoSession_Impl,
8787            const OFFSET: isize,
8788        >(
8789            this: *mut core::ffi::c_void,
8790            pcryptotype: *mut windows_core::GUID,
8791        ) {
8792            unsafe {
8793                let this: &Identity =
8794                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
8795                ID3D11CryptoSession_Impl::GetCryptoType(
8796                    this,
8797                    core::mem::transmute_copy(&pcryptotype),
8798                )
8799            }
8800        }
8801        unsafe extern "system" fn GetDecoderProfile<
8802            Identity: ID3D11CryptoSession_Impl,
8803            const OFFSET: isize,
8804        >(
8805            this: *mut core::ffi::c_void,
8806            pdecoderprofile: *mut windows_core::GUID,
8807        ) {
8808            unsafe {
8809                let this: &Identity =
8810                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
8811                ID3D11CryptoSession_Impl::GetDecoderProfile(
8812                    this,
8813                    core::mem::transmute_copy(&pdecoderprofile),
8814                )
8815            }
8816        }
8817        unsafe extern "system" fn GetCertificateSize<
8818            Identity: ID3D11CryptoSession_Impl,
8819            const OFFSET: isize,
8820        >(
8821            this: *mut core::ffi::c_void,
8822            pcertificatesize: *mut u32,
8823        ) -> windows_core::HRESULT {
8824            unsafe {
8825                let this: &Identity =
8826                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
8827                match ID3D11CryptoSession_Impl::GetCertificateSize(this) {
8828                    Ok(ok__) => {
8829                        pcertificatesize.write(core::mem::transmute(ok__));
8830                        windows_core::HRESULT(0)
8831                    }
8832                    Err(err) => err.into(),
8833                }
8834            }
8835        }
8836        unsafe extern "system" fn GetCertificate<
8837            Identity: ID3D11CryptoSession_Impl,
8838            const OFFSET: isize,
8839        >(
8840            this: *mut core::ffi::c_void,
8841            certificatesize: u32,
8842            pcertificate: *mut u8,
8843        ) -> windows_core::HRESULT {
8844            unsafe {
8845                let this: &Identity =
8846                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
8847                ID3D11CryptoSession_Impl::GetCertificate(
8848                    this,
8849                    core::mem::transmute_copy(&certificatesize),
8850                    core::mem::transmute_copy(&pcertificate),
8851                )
8852                .into()
8853            }
8854        }
8855        unsafe extern "system" fn GetCryptoSessionHandle<
8856            Identity: ID3D11CryptoSession_Impl,
8857            const OFFSET: isize,
8858        >(
8859            this: *mut core::ffi::c_void,
8860            pcryptosessionhandle: *mut crate::Foundation::HANDLE,
8861        ) {
8862            unsafe {
8863                let this: &Identity =
8864                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
8865                ID3D11CryptoSession_Impl::GetCryptoSessionHandle(
8866                    this,
8867                    core::mem::transmute_copy(&pcryptosessionhandle),
8868                )
8869            }
8870        }
8871        Self {
8872            base__: ID3D11DeviceChild_Vtbl::new::<Identity, OFFSET>(),
8873            GetCryptoType: GetCryptoType::<Identity, OFFSET>,
8874            GetDecoderProfile: GetDecoderProfile::<Identity, OFFSET>,
8875            GetCertificateSize: GetCertificateSize::<Identity, OFFSET>,
8876            GetCertificate: GetCertificate::<Identity, OFFSET>,
8877            GetCryptoSessionHandle: GetCryptoSessionHandle::<Identity, OFFSET>,
8878        }
8879    }
8880    pub fn matches(iid: &windows_core::GUID) -> bool {
8881        iid == &<ID3D11CryptoSession as windows_core::Interface>::IID
8882            || iid == &<ID3D11DeviceChild as windows_core::Interface>::IID
8883    }
8884}
8885impl windows_core::RuntimeName for ID3D11CryptoSession {}
8886unsafe impl Send for ID3D11CryptoSession {}
8887unsafe impl Sync for ID3D11CryptoSession {}
8888windows_core::imp::define_interface!(
8889    ID3D11Debug,
8890    ID3D11Debug_Vtbl,
8891    0x79cf2233_7536_4948_9d36_1e4692dc5760
8892);
8893windows_core::imp::interface_hierarchy!(ID3D11Debug, windows_core::IUnknown);
8894impl ID3D11Debug {
8895    pub unsafe fn SetFeatureMask(&self, mask: u32) -> windows_core::Result<()> {
8896        unsafe {
8897            (windows_core::Interface::vtable(self).SetFeatureMask)(
8898                windows_core::Interface::as_raw(self),
8899                mask,
8900            )
8901            .ok()
8902        }
8903    }
8904    pub unsafe fn GetFeatureMask(&self) -> u32 {
8905        unsafe {
8906            (windows_core::Interface::vtable(self).GetFeatureMask)(windows_core::Interface::as_raw(
8907                self,
8908            ))
8909        }
8910    }
8911    pub unsafe fn SetPresentPerRenderOpDelay(&self, milliseconds: u32) -> windows_core::Result<()> {
8912        unsafe {
8913            (windows_core::Interface::vtable(self).SetPresentPerRenderOpDelay)(
8914                windows_core::Interface::as_raw(self),
8915                milliseconds,
8916            )
8917            .ok()
8918        }
8919    }
8920    pub unsafe fn GetPresentPerRenderOpDelay(&self) -> u32 {
8921        unsafe {
8922            (windows_core::Interface::vtable(self).GetPresentPerRenderOpDelay)(
8923                windows_core::Interface::as_raw(self),
8924            )
8925        }
8926    }
8927    #[cfg(feature = "Win32_Graphics_Dxgi")]
8928    pub unsafe fn SetSwapChain<P0>(&self, pswapchain: P0) -> windows_core::Result<()>
8929    where
8930        P0: windows_core::Param<crate::Dxgi::IDXGISwapChain>,
8931    {
8932        unsafe {
8933            (windows_core::Interface::vtable(self).SetSwapChain)(
8934                windows_core::Interface::as_raw(self),
8935                pswapchain.param().abi(),
8936            )
8937            .ok()
8938        }
8939    }
8940    #[cfg(feature = "Win32_Graphics_Dxgi")]
8941    pub unsafe fn GetSwapChain(&self) -> windows_core::Result<crate::Dxgi::IDXGISwapChain> {
8942        unsafe {
8943            let mut result__ = core::mem::zeroed();
8944            (windows_core::Interface::vtable(self).GetSwapChain)(
8945                windows_core::Interface::as_raw(self),
8946                &mut result__,
8947            )
8948            .and_then(|| windows_core::Type::from_abi(result__))
8949        }
8950    }
8951    pub unsafe fn ValidateContext<P0>(&self, pcontext: P0) -> windows_core::Result<()>
8952    where
8953        P0: windows_core::Param<ID3D11DeviceContext>,
8954    {
8955        unsafe {
8956            (windows_core::Interface::vtable(self).ValidateContext)(
8957                windows_core::Interface::as_raw(self),
8958                pcontext.param().abi(),
8959            )
8960            .ok()
8961        }
8962    }
8963    pub unsafe fn ReportLiveDeviceObjects(
8964        &self,
8965        flags: D3D11_RLDO_FLAGS,
8966    ) -> windows_core::Result<()> {
8967        unsafe {
8968            (windows_core::Interface::vtable(self).ReportLiveDeviceObjects)(
8969                windows_core::Interface::as_raw(self),
8970                flags,
8971            )
8972            .ok()
8973        }
8974    }
8975    pub unsafe fn ValidateContextForDispatch<P0>(&self, pcontext: P0) -> windows_core::Result<()>
8976    where
8977        P0: windows_core::Param<ID3D11DeviceContext>,
8978    {
8979        unsafe {
8980            (windows_core::Interface::vtable(self).ValidateContextForDispatch)(
8981                windows_core::Interface::as_raw(self),
8982                pcontext.param().abi(),
8983            )
8984            .ok()
8985        }
8986    }
8987}
8988#[repr(C)]
8989pub struct ID3D11Debug_Vtbl {
8990    pub base__: windows_core::IUnknown_Vtbl,
8991    pub SetFeatureMask:
8992        unsafe extern "system" fn(*mut core::ffi::c_void, u32) -> windows_core::HRESULT,
8993    pub GetFeatureMask: unsafe extern "system" fn(*mut core::ffi::c_void) -> u32,
8994    pub SetPresentPerRenderOpDelay:
8995        unsafe extern "system" fn(*mut core::ffi::c_void, u32) -> windows_core::HRESULT,
8996    pub GetPresentPerRenderOpDelay: unsafe extern "system" fn(*mut core::ffi::c_void) -> u32,
8997    #[cfg(feature = "Win32_Graphics_Dxgi")]
8998    pub SetSwapChain: unsafe extern "system" fn(
8999        *mut core::ffi::c_void,
9000        *mut core::ffi::c_void,
9001    ) -> windows_core::HRESULT,
9002    #[cfg(not(feature = "Win32_Graphics_Dxgi"))]
9003    SetSwapChain: usize,
9004    #[cfg(feature = "Win32_Graphics_Dxgi")]
9005    pub GetSwapChain: unsafe extern "system" fn(
9006        *mut core::ffi::c_void,
9007        *mut *mut core::ffi::c_void,
9008    ) -> windows_core::HRESULT,
9009    #[cfg(not(feature = "Win32_Graphics_Dxgi"))]
9010    GetSwapChain: usize,
9011    pub ValidateContext: unsafe extern "system" fn(
9012        *mut core::ffi::c_void,
9013        *mut core::ffi::c_void,
9014    ) -> windows_core::HRESULT,
9015    pub ReportLiveDeviceObjects: unsafe extern "system" fn(
9016        *mut core::ffi::c_void,
9017        D3D11_RLDO_FLAGS,
9018    ) -> windows_core::HRESULT,
9019    pub ValidateContextForDispatch: unsafe extern "system" fn(
9020        *mut core::ffi::c_void,
9021        *mut core::ffi::c_void,
9022    ) -> windows_core::HRESULT,
9023}
9024#[cfg(feature = "Win32_Graphics_Dxgi")]
9025pub trait ID3D11Debug_Impl: windows_core::IUnknownImpl {
9026    fn SetFeatureMask(&self, mask: u32) -> windows_core::Result<()>;
9027    fn GetFeatureMask(&self) -> u32;
9028    fn SetPresentPerRenderOpDelay(&self, milliseconds: u32) -> windows_core::Result<()>;
9029    fn GetPresentPerRenderOpDelay(&self) -> u32;
9030    fn SetSwapChain(
9031        &self,
9032        pswapchain: windows_core::Ref<'_, crate::Dxgi::IDXGISwapChain>,
9033    ) -> windows_core::Result<()>;
9034    fn GetSwapChain(&self) -> windows_core::Result<crate::Dxgi::IDXGISwapChain>;
9035    fn ValidateContext(
9036        &self,
9037        pcontext: windows_core::Ref<'_, ID3D11DeviceContext>,
9038    ) -> windows_core::Result<()>;
9039    fn ReportLiveDeviceObjects(&self, flags: D3D11_RLDO_FLAGS) -> windows_core::Result<()>;
9040    fn ValidateContextForDispatch(
9041        &self,
9042        pcontext: windows_core::Ref<'_, ID3D11DeviceContext>,
9043    ) -> windows_core::Result<()>;
9044}
9045#[cfg(feature = "Win32_Graphics_Dxgi")]
9046impl ID3D11Debug_Vtbl {
9047    pub const fn new<Identity: ID3D11Debug_Impl, const OFFSET: isize>() -> Self {
9048        unsafe extern "system" fn SetFeatureMask<
9049            Identity: ID3D11Debug_Impl,
9050            const OFFSET: isize,
9051        >(
9052            this: *mut core::ffi::c_void,
9053            mask: u32,
9054        ) -> windows_core::HRESULT {
9055            unsafe {
9056                let this: &Identity =
9057                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
9058                ID3D11Debug_Impl::SetFeatureMask(this, core::mem::transmute_copy(&mask)).into()
9059            }
9060        }
9061        unsafe extern "system" fn GetFeatureMask<
9062            Identity: ID3D11Debug_Impl,
9063            const OFFSET: isize,
9064        >(
9065            this: *mut core::ffi::c_void,
9066        ) -> u32 {
9067            unsafe {
9068                let this: &Identity =
9069                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
9070                ID3D11Debug_Impl::GetFeatureMask(this)
9071            }
9072        }
9073        unsafe extern "system" fn SetPresentPerRenderOpDelay<
9074            Identity: ID3D11Debug_Impl,
9075            const OFFSET: isize,
9076        >(
9077            this: *mut core::ffi::c_void,
9078            milliseconds: u32,
9079        ) -> windows_core::HRESULT {
9080            unsafe {
9081                let this: &Identity =
9082                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
9083                ID3D11Debug_Impl::SetPresentPerRenderOpDelay(
9084                    this,
9085                    core::mem::transmute_copy(&milliseconds),
9086                )
9087                .into()
9088            }
9089        }
9090        unsafe extern "system" fn GetPresentPerRenderOpDelay<
9091            Identity: ID3D11Debug_Impl,
9092            const OFFSET: isize,
9093        >(
9094            this: *mut core::ffi::c_void,
9095        ) -> u32 {
9096            unsafe {
9097                let this: &Identity =
9098                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
9099                ID3D11Debug_Impl::GetPresentPerRenderOpDelay(this)
9100            }
9101        }
9102        unsafe extern "system" fn SetSwapChain<Identity: ID3D11Debug_Impl, const OFFSET: isize>(
9103            this: *mut core::ffi::c_void,
9104            pswapchain: *mut core::ffi::c_void,
9105        ) -> windows_core::HRESULT {
9106            unsafe {
9107                let this: &Identity =
9108                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
9109                ID3D11Debug_Impl::SetSwapChain(this, core::mem::transmute_copy(&pswapchain)).into()
9110            }
9111        }
9112        unsafe extern "system" fn GetSwapChain<Identity: ID3D11Debug_Impl, const OFFSET: isize>(
9113            this: *mut core::ffi::c_void,
9114            ppswapchain: *mut *mut core::ffi::c_void,
9115        ) -> windows_core::HRESULT {
9116            unsafe {
9117                let this: &Identity =
9118                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
9119                match ID3D11Debug_Impl::GetSwapChain(this) {
9120                    Ok(ok__) => {
9121                        ppswapchain.write(core::mem::transmute(ok__));
9122                        windows_core::HRESULT(0)
9123                    }
9124                    Err(err) => err.into(),
9125                }
9126            }
9127        }
9128        unsafe extern "system" fn ValidateContext<
9129            Identity: ID3D11Debug_Impl,
9130            const OFFSET: isize,
9131        >(
9132            this: *mut core::ffi::c_void,
9133            pcontext: *mut core::ffi::c_void,
9134        ) -> windows_core::HRESULT {
9135            unsafe {
9136                let this: &Identity =
9137                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
9138                ID3D11Debug_Impl::ValidateContext(this, core::mem::transmute_copy(&pcontext)).into()
9139            }
9140        }
9141        unsafe extern "system" fn ReportLiveDeviceObjects<
9142            Identity: ID3D11Debug_Impl,
9143            const OFFSET: isize,
9144        >(
9145            this: *mut core::ffi::c_void,
9146            flags: D3D11_RLDO_FLAGS,
9147        ) -> windows_core::HRESULT {
9148            unsafe {
9149                let this: &Identity =
9150                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
9151                ID3D11Debug_Impl::ReportLiveDeviceObjects(this, core::mem::transmute_copy(&flags))
9152                    .into()
9153            }
9154        }
9155        unsafe extern "system" fn ValidateContextForDispatch<
9156            Identity: ID3D11Debug_Impl,
9157            const OFFSET: isize,
9158        >(
9159            this: *mut core::ffi::c_void,
9160            pcontext: *mut core::ffi::c_void,
9161        ) -> windows_core::HRESULT {
9162            unsafe {
9163                let this: &Identity =
9164                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
9165                ID3D11Debug_Impl::ValidateContextForDispatch(
9166                    this,
9167                    core::mem::transmute_copy(&pcontext),
9168                )
9169                .into()
9170            }
9171        }
9172        Self {
9173            base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
9174            SetFeatureMask: SetFeatureMask::<Identity, OFFSET>,
9175            GetFeatureMask: GetFeatureMask::<Identity, OFFSET>,
9176            SetPresentPerRenderOpDelay: SetPresentPerRenderOpDelay::<Identity, OFFSET>,
9177            GetPresentPerRenderOpDelay: GetPresentPerRenderOpDelay::<Identity, OFFSET>,
9178            SetSwapChain: SetSwapChain::<Identity, OFFSET>,
9179            GetSwapChain: GetSwapChain::<Identity, OFFSET>,
9180            ValidateContext: ValidateContext::<Identity, OFFSET>,
9181            ReportLiveDeviceObjects: ReportLiveDeviceObjects::<Identity, OFFSET>,
9182            ValidateContextForDispatch: ValidateContextForDispatch::<Identity, OFFSET>,
9183        }
9184    }
9185    pub fn matches(iid: &windows_core::GUID) -> bool {
9186        iid == &<ID3D11Debug as windows_core::Interface>::IID
9187    }
9188}
9189#[cfg(feature = "Win32_Graphics_Dxgi")]
9190impl windows_core::RuntimeName for ID3D11Debug {}
9191#[cfg(feature = "Win32_Graphics_Dxgi")]
9192unsafe impl Send for ID3D11Debug {}
9193#[cfg(feature = "Win32_Graphics_Dxgi")]
9194unsafe impl Sync for ID3D11Debug {}
9195windows_core::imp::define_interface!(
9196    ID3D11DepthStencilState,
9197    ID3D11DepthStencilState_Vtbl,
9198    0x03823efb_8d8f_4e1c_9aa2_f64bb2cbfdf1
9199);
9200impl core::ops::Deref for ID3D11DepthStencilState {
9201    type Target = ID3D11DeviceChild;
9202    fn deref(&self) -> &Self::Target {
9203        unsafe { core::mem::transmute(self) }
9204    }
9205}
9206windows_core::imp::interface_hierarchy!(
9207    ID3D11DepthStencilState,
9208    windows_core::IUnknown,
9209    ID3D11DeviceChild
9210);
9211impl ID3D11DepthStencilState {
9212    pub unsafe fn GetDesc(&self, pdesc: *mut D3D11_DEPTH_STENCIL_DESC) {
9213        unsafe {
9214            (windows_core::Interface::vtable(self).GetDesc)(
9215                windows_core::Interface::as_raw(self),
9216                core::mem::transmute(pdesc),
9217            )
9218        }
9219    }
9220}
9221#[repr(C)]
9222pub struct ID3D11DepthStencilState_Vtbl {
9223    pub base__: ID3D11DeviceChild_Vtbl,
9224    pub GetDesc: unsafe extern "system" fn(*mut core::ffi::c_void, *mut D3D11_DEPTH_STENCIL_DESC),
9225}
9226pub trait ID3D11DepthStencilState_Impl: ID3D11DeviceChild_Impl {
9227    fn GetDesc(&self, pdesc: *mut D3D11_DEPTH_STENCIL_DESC);
9228}
9229impl ID3D11DepthStencilState_Vtbl {
9230    pub const fn new<Identity: ID3D11DepthStencilState_Impl, const OFFSET: isize>() -> Self {
9231        unsafe extern "system" fn GetDesc<
9232            Identity: ID3D11DepthStencilState_Impl,
9233            const OFFSET: isize,
9234        >(
9235            this: *mut core::ffi::c_void,
9236            pdesc: *mut D3D11_DEPTH_STENCIL_DESC,
9237        ) {
9238            unsafe {
9239                let this: &Identity =
9240                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
9241                ID3D11DepthStencilState_Impl::GetDesc(this, core::mem::transmute_copy(&pdesc))
9242            }
9243        }
9244        Self {
9245            base__: ID3D11DeviceChild_Vtbl::new::<Identity, OFFSET>(),
9246            GetDesc: GetDesc::<Identity, OFFSET>,
9247        }
9248    }
9249    pub fn matches(iid: &windows_core::GUID) -> bool {
9250        iid == &<ID3D11DepthStencilState as windows_core::Interface>::IID
9251            || iid == &<ID3D11DeviceChild as windows_core::Interface>::IID
9252    }
9253}
9254impl windows_core::RuntimeName for ID3D11DepthStencilState {}
9255unsafe impl Send for ID3D11DepthStencilState {}
9256unsafe impl Sync for ID3D11DepthStencilState {}
9257windows_core::imp::define_interface!(
9258    ID3D11DepthStencilView,
9259    ID3D11DepthStencilView_Vtbl,
9260    0x9fdac92a_1876_48c3_afad_25b94f84a9b6
9261);
9262impl core::ops::Deref for ID3D11DepthStencilView {
9263    type Target = ID3D11View;
9264    fn deref(&self) -> &Self::Target {
9265        unsafe { core::mem::transmute(self) }
9266    }
9267}
9268windows_core::imp::interface_hierarchy!(
9269    ID3D11DepthStencilView,
9270    windows_core::IUnknown,
9271    ID3D11DeviceChild,
9272    ID3D11View
9273);
9274impl ID3D11DepthStencilView {
9275    #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
9276    pub unsafe fn GetDesc(&self, pdesc: *mut D3D11_DEPTH_STENCIL_VIEW_DESC) {
9277        unsafe {
9278            (windows_core::Interface::vtable(self).GetDesc)(
9279                windows_core::Interface::as_raw(self),
9280                core::mem::transmute(pdesc),
9281            )
9282        }
9283    }
9284}
9285#[repr(C)]
9286pub struct ID3D11DepthStencilView_Vtbl {
9287    pub base__: ID3D11View_Vtbl,
9288    #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
9289    pub GetDesc:
9290        unsafe extern "system" fn(*mut core::ffi::c_void, *mut D3D11_DEPTH_STENCIL_VIEW_DESC),
9291    #[cfg(not(feature = "Win32_Graphics_Dxgi_Common"))]
9292    GetDesc: usize,
9293}
9294#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
9295pub trait ID3D11DepthStencilView_Impl: ID3D11View_Impl {
9296    fn GetDesc(&self, pdesc: *mut D3D11_DEPTH_STENCIL_VIEW_DESC);
9297}
9298#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
9299impl ID3D11DepthStencilView_Vtbl {
9300    pub const fn new<Identity: ID3D11DepthStencilView_Impl, const OFFSET: isize>() -> Self {
9301        unsafe extern "system" fn GetDesc<
9302            Identity: ID3D11DepthStencilView_Impl,
9303            const OFFSET: isize,
9304        >(
9305            this: *mut core::ffi::c_void,
9306            pdesc: *mut D3D11_DEPTH_STENCIL_VIEW_DESC,
9307        ) {
9308            unsafe {
9309                let this: &Identity =
9310                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
9311                ID3D11DepthStencilView_Impl::GetDesc(this, core::mem::transmute_copy(&pdesc))
9312            }
9313        }
9314        Self {
9315            base__: ID3D11View_Vtbl::new::<Identity, OFFSET>(),
9316            GetDesc: GetDesc::<Identity, OFFSET>,
9317        }
9318    }
9319    pub fn matches(iid: &windows_core::GUID) -> bool {
9320        iid == &<ID3D11DepthStencilView as windows_core::Interface>::IID
9321            || iid == &<ID3D11DeviceChild as windows_core::Interface>::IID
9322            || iid == &<ID3D11View as windows_core::Interface>::IID
9323    }
9324}
9325#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
9326impl windows_core::RuntimeName for ID3D11DepthStencilView {}
9327#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
9328unsafe impl Send for ID3D11DepthStencilView {}
9329#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
9330unsafe impl Sync for ID3D11DepthStencilView {}
9331windows_core::imp::define_interface!(
9332    ID3D11Device,
9333    ID3D11Device_Vtbl,
9334    0xdb6f6ddb_ac77_4e88_8253_819df9bbf140
9335);
9336windows_core::imp::interface_hierarchy!(ID3D11Device, windows_core::IUnknown);
9337impl ID3D11Device {
9338    pub unsafe fn CreateBuffer(
9339        &self,
9340        pdesc: *const D3D11_BUFFER_DESC,
9341        pinitialdata: Option<*const D3D11_SUBRESOURCE_DATA>,
9342        ppbuffer: Option<*mut Option<ID3D11Buffer>>,
9343    ) -> windows_core::Result<()> {
9344        unsafe {
9345            (windows_core::Interface::vtable(self).CreateBuffer)(
9346                windows_core::Interface::as_raw(self),
9347                pdesc,
9348                core::mem::transmute(pinitialdata.unwrap_or(core::mem::zeroed())),
9349                core::mem::transmute(ppbuffer.unwrap_or(core::mem::zeroed())),
9350            )
9351            .ok()
9352        }
9353    }
9354    #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
9355    pub unsafe fn CreateTexture1D(
9356        &self,
9357        pdesc: *const D3D11_TEXTURE1D_DESC,
9358        pinitialdata: Option<*const D3D11_SUBRESOURCE_DATA>,
9359        pptexture1d: Option<*mut Option<ID3D11Texture1D>>,
9360    ) -> windows_core::Result<()> {
9361        unsafe {
9362            (windows_core::Interface::vtable(self).CreateTexture1D)(
9363                windows_core::Interface::as_raw(self),
9364                pdesc,
9365                core::mem::transmute(pinitialdata.unwrap_or(core::mem::zeroed())),
9366                core::mem::transmute(pptexture1d.unwrap_or(core::mem::zeroed())),
9367            )
9368            .ok()
9369        }
9370    }
9371    #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
9372    pub unsafe fn CreateTexture2D(
9373        &self,
9374        pdesc: *const D3D11_TEXTURE2D_DESC,
9375        pinitialdata: Option<*const D3D11_SUBRESOURCE_DATA>,
9376        pptexture2d: Option<*mut Option<ID3D11Texture2D>>,
9377    ) -> windows_core::Result<()> {
9378        unsafe {
9379            (windows_core::Interface::vtable(self).CreateTexture2D)(
9380                windows_core::Interface::as_raw(self),
9381                pdesc,
9382                core::mem::transmute(pinitialdata.unwrap_or(core::mem::zeroed())),
9383                core::mem::transmute(pptexture2d.unwrap_or(core::mem::zeroed())),
9384            )
9385            .ok()
9386        }
9387    }
9388    #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
9389    pub unsafe fn CreateTexture3D(
9390        &self,
9391        pdesc: *const D3D11_TEXTURE3D_DESC,
9392        pinitialdata: Option<*const D3D11_SUBRESOURCE_DATA>,
9393        pptexture3d: Option<*mut Option<ID3D11Texture3D>>,
9394    ) -> windows_core::Result<()> {
9395        unsafe {
9396            (windows_core::Interface::vtable(self).CreateTexture3D)(
9397                windows_core::Interface::as_raw(self),
9398                pdesc,
9399                core::mem::transmute(pinitialdata.unwrap_or(core::mem::zeroed())),
9400                core::mem::transmute(pptexture3d.unwrap_or(core::mem::zeroed())),
9401            )
9402            .ok()
9403        }
9404    }
9405    #[cfg(all(
9406        feature = "Win32_Graphics_Direct3D",
9407        feature = "Win32_Graphics_Dxgi_Common"
9408    ))]
9409    pub unsafe fn CreateShaderResourceView<P0>(
9410        &self,
9411        presource: P0,
9412        pdesc: Option<*const D3D11_SHADER_RESOURCE_VIEW_DESC>,
9413        ppsrview: Option<*mut Option<ID3D11ShaderResourceView>>,
9414    ) -> windows_core::Result<()>
9415    where
9416        P0: windows_core::Param<ID3D11Resource>,
9417    {
9418        unsafe {
9419            (windows_core::Interface::vtable(self).CreateShaderResourceView)(
9420                windows_core::Interface::as_raw(self),
9421                presource.param().abi(),
9422                core::mem::transmute(pdesc.unwrap_or(core::mem::zeroed())),
9423                core::mem::transmute(ppsrview.unwrap_or(core::mem::zeroed())),
9424            )
9425            .ok()
9426        }
9427    }
9428    #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
9429    pub unsafe fn CreateUnorderedAccessView<P0>(
9430        &self,
9431        presource: P0,
9432        pdesc: Option<*const D3D11_UNORDERED_ACCESS_VIEW_DESC>,
9433        ppuaview: Option<*mut Option<ID3D11UnorderedAccessView>>,
9434    ) -> windows_core::Result<()>
9435    where
9436        P0: windows_core::Param<ID3D11Resource>,
9437    {
9438        unsafe {
9439            (windows_core::Interface::vtable(self).CreateUnorderedAccessView)(
9440                windows_core::Interface::as_raw(self),
9441                presource.param().abi(),
9442                core::mem::transmute(pdesc.unwrap_or(core::mem::zeroed())),
9443                core::mem::transmute(ppuaview.unwrap_or(core::mem::zeroed())),
9444            )
9445            .ok()
9446        }
9447    }
9448    #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
9449    pub unsafe fn CreateRenderTargetView<P0>(
9450        &self,
9451        presource: P0,
9452        pdesc: Option<*const D3D11_RENDER_TARGET_VIEW_DESC>,
9453        pprtview: Option<*mut Option<ID3D11RenderTargetView>>,
9454    ) -> windows_core::Result<()>
9455    where
9456        P0: windows_core::Param<ID3D11Resource>,
9457    {
9458        unsafe {
9459            (windows_core::Interface::vtable(self).CreateRenderTargetView)(
9460                windows_core::Interface::as_raw(self),
9461                presource.param().abi(),
9462                core::mem::transmute(pdesc.unwrap_or(core::mem::zeroed())),
9463                core::mem::transmute(pprtview.unwrap_or(core::mem::zeroed())),
9464            )
9465            .ok()
9466        }
9467    }
9468    #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
9469    pub unsafe fn CreateDepthStencilView<P0>(
9470        &self,
9471        presource: P0,
9472        pdesc: Option<*const D3D11_DEPTH_STENCIL_VIEW_DESC>,
9473        ppdepthstencilview: Option<*mut Option<ID3D11DepthStencilView>>,
9474    ) -> windows_core::Result<()>
9475    where
9476        P0: windows_core::Param<ID3D11Resource>,
9477    {
9478        unsafe {
9479            (windows_core::Interface::vtable(self).CreateDepthStencilView)(
9480                windows_core::Interface::as_raw(self),
9481                presource.param().abi(),
9482                core::mem::transmute(pdesc.unwrap_or(core::mem::zeroed())),
9483                core::mem::transmute(ppdepthstencilview.unwrap_or(core::mem::zeroed())),
9484            )
9485            .ok()
9486        }
9487    }
9488    #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
9489    pub unsafe fn CreateInputLayout(
9490        &self,
9491        pinputelementdescs: &[D3D11_INPUT_ELEMENT_DESC],
9492        pshaderbytecodewithinputsignature: &[u8],
9493        ppinputlayout: Option<*mut Option<ID3D11InputLayout>>,
9494    ) -> windows_core::Result<()> {
9495        unsafe {
9496            (windows_core::Interface::vtable(self).CreateInputLayout)(
9497                windows_core::Interface::as_raw(self),
9498                core::mem::transmute(pinputelementdescs.as_ptr()),
9499                pinputelementdescs.len().try_into().unwrap(),
9500                core::mem::transmute(pshaderbytecodewithinputsignature.as_ptr()),
9501                pshaderbytecodewithinputsignature.len().try_into().unwrap(),
9502                core::mem::transmute(ppinputlayout.unwrap_or(core::mem::zeroed())),
9503            )
9504            .ok()
9505        }
9506    }
9507    pub unsafe fn CreateVertexShader<P2>(
9508        &self,
9509        pshaderbytecode: &[u8],
9510        pclasslinkage: P2,
9511        ppvertexshader: Option<*mut Option<ID3D11VertexShader>>,
9512    ) -> windows_core::Result<()>
9513    where
9514        P2: windows_core::Param<ID3D11ClassLinkage>,
9515    {
9516        unsafe {
9517            (windows_core::Interface::vtable(self).CreateVertexShader)(
9518                windows_core::Interface::as_raw(self),
9519                core::mem::transmute(pshaderbytecode.as_ptr()),
9520                pshaderbytecode.len().try_into().unwrap(),
9521                pclasslinkage.param().abi(),
9522                core::mem::transmute(ppvertexshader.unwrap_or(core::mem::zeroed())),
9523            )
9524            .ok()
9525        }
9526    }
9527    pub unsafe fn CreateGeometryShader<P2>(
9528        &self,
9529        pshaderbytecode: &[u8],
9530        pclasslinkage: P2,
9531        ppgeometryshader: Option<*mut Option<ID3D11GeometryShader>>,
9532    ) -> windows_core::Result<()>
9533    where
9534        P2: windows_core::Param<ID3D11ClassLinkage>,
9535    {
9536        unsafe {
9537            (windows_core::Interface::vtable(self).CreateGeometryShader)(
9538                windows_core::Interface::as_raw(self),
9539                core::mem::transmute(pshaderbytecode.as_ptr()),
9540                pshaderbytecode.len().try_into().unwrap(),
9541                pclasslinkage.param().abi(),
9542                core::mem::transmute(ppgeometryshader.unwrap_or(core::mem::zeroed())),
9543            )
9544            .ok()
9545        }
9546    }
9547    pub unsafe fn CreateGeometryShaderWithStreamOutput<P7>(
9548        &self,
9549        pshaderbytecode: &[u8],
9550        psodeclaration: Option<&[D3D11_SO_DECLARATION_ENTRY]>,
9551        pbufferstrides: Option<&[u32]>,
9552        rasterizedstream: u32,
9553        pclasslinkage: P7,
9554        ppgeometryshader: Option<*mut Option<ID3D11GeometryShader>>,
9555    ) -> windows_core::Result<()>
9556    where
9557        P7: windows_core::Param<ID3D11ClassLinkage>,
9558    {
9559        unsafe {
9560            (windows_core::Interface::vtable(self).CreateGeometryShaderWithStreamOutput)(
9561                windows_core::Interface::as_raw(self),
9562                core::mem::transmute(pshaderbytecode.as_ptr()),
9563                pshaderbytecode.len().try_into().unwrap(),
9564                core::mem::transmute(
9565                    psodeclaration
9566                        .map_or(core::ptr::null(), |slice| slice.as_ptr()),
9567                ),
9568                psodeclaration
9569                    .map_or(0, |slice| slice.len().try_into().unwrap()),
9570                core::mem::transmute(
9571                    pbufferstrides
9572                        .map_or(core::ptr::null(), |slice| slice.as_ptr()),
9573                ),
9574                pbufferstrides
9575                    .map_or(0, |slice| slice.len().try_into().unwrap()),
9576                rasterizedstream,
9577                pclasslinkage.param().abi(),
9578                core::mem::transmute(ppgeometryshader.unwrap_or(core::mem::zeroed())),
9579            )
9580            .ok()
9581        }
9582    }
9583    pub unsafe fn CreatePixelShader<P2>(
9584        &self,
9585        pshaderbytecode: &[u8],
9586        pclasslinkage: P2,
9587        pppixelshader: Option<*mut Option<ID3D11PixelShader>>,
9588    ) -> windows_core::Result<()>
9589    where
9590        P2: windows_core::Param<ID3D11ClassLinkage>,
9591    {
9592        unsafe {
9593            (windows_core::Interface::vtable(self).CreatePixelShader)(
9594                windows_core::Interface::as_raw(self),
9595                core::mem::transmute(pshaderbytecode.as_ptr()),
9596                pshaderbytecode.len().try_into().unwrap(),
9597                pclasslinkage.param().abi(),
9598                core::mem::transmute(pppixelshader.unwrap_or(core::mem::zeroed())),
9599            )
9600            .ok()
9601        }
9602    }
9603    pub unsafe fn CreateHullShader<P2>(
9604        &self,
9605        pshaderbytecode: &[u8],
9606        pclasslinkage: P2,
9607        pphullshader: Option<*mut Option<ID3D11HullShader>>,
9608    ) -> windows_core::Result<()>
9609    where
9610        P2: windows_core::Param<ID3D11ClassLinkage>,
9611    {
9612        unsafe {
9613            (windows_core::Interface::vtable(self).CreateHullShader)(
9614                windows_core::Interface::as_raw(self),
9615                core::mem::transmute(pshaderbytecode.as_ptr()),
9616                pshaderbytecode.len().try_into().unwrap(),
9617                pclasslinkage.param().abi(),
9618                core::mem::transmute(pphullshader.unwrap_or(core::mem::zeroed())),
9619            )
9620            .ok()
9621        }
9622    }
9623    pub unsafe fn CreateDomainShader<P2>(
9624        &self,
9625        pshaderbytecode: &[u8],
9626        pclasslinkage: P2,
9627        ppdomainshader: Option<*mut Option<ID3D11DomainShader>>,
9628    ) -> windows_core::Result<()>
9629    where
9630        P2: windows_core::Param<ID3D11ClassLinkage>,
9631    {
9632        unsafe {
9633            (windows_core::Interface::vtable(self).CreateDomainShader)(
9634                windows_core::Interface::as_raw(self),
9635                core::mem::transmute(pshaderbytecode.as_ptr()),
9636                pshaderbytecode.len().try_into().unwrap(),
9637                pclasslinkage.param().abi(),
9638                core::mem::transmute(ppdomainshader.unwrap_or(core::mem::zeroed())),
9639            )
9640            .ok()
9641        }
9642    }
9643    pub unsafe fn CreateComputeShader<P2>(
9644        &self,
9645        pshaderbytecode: &[u8],
9646        pclasslinkage: P2,
9647        ppcomputeshader: Option<*mut Option<ID3D11ComputeShader>>,
9648    ) -> windows_core::Result<()>
9649    where
9650        P2: windows_core::Param<ID3D11ClassLinkage>,
9651    {
9652        unsafe {
9653            (windows_core::Interface::vtable(self).CreateComputeShader)(
9654                windows_core::Interface::as_raw(self),
9655                core::mem::transmute(pshaderbytecode.as_ptr()),
9656                pshaderbytecode.len().try_into().unwrap(),
9657                pclasslinkage.param().abi(),
9658                core::mem::transmute(ppcomputeshader.unwrap_or(core::mem::zeroed())),
9659            )
9660            .ok()
9661        }
9662    }
9663    pub unsafe fn CreateClassLinkage(&self) -> windows_core::Result<ID3D11ClassLinkage> {
9664        unsafe {
9665            let mut result__ = core::mem::zeroed();
9666            (windows_core::Interface::vtable(self).CreateClassLinkage)(
9667                windows_core::Interface::as_raw(self),
9668                &mut result__,
9669            )
9670            .and_then(|| windows_core::Type::from_abi(result__))
9671        }
9672    }
9673    pub unsafe fn CreateBlendState(
9674        &self,
9675        pblendstatedesc: *const D3D11_BLEND_DESC,
9676        ppblendstate: Option<*mut Option<ID3D11BlendState>>,
9677    ) -> windows_core::Result<()> {
9678        unsafe {
9679            (windows_core::Interface::vtable(self).CreateBlendState)(
9680                windows_core::Interface::as_raw(self),
9681                pblendstatedesc,
9682                core::mem::transmute(ppblendstate.unwrap_or(core::mem::zeroed())),
9683            )
9684            .ok()
9685        }
9686    }
9687    pub unsafe fn CreateDepthStencilState(
9688        &self,
9689        pdepthstencildesc: *const D3D11_DEPTH_STENCIL_DESC,
9690        ppdepthstencilstate: Option<*mut Option<ID3D11DepthStencilState>>,
9691    ) -> windows_core::Result<()> {
9692        unsafe {
9693            (windows_core::Interface::vtable(self).CreateDepthStencilState)(
9694                windows_core::Interface::as_raw(self),
9695                pdepthstencildesc,
9696                core::mem::transmute(ppdepthstencilstate.unwrap_or(core::mem::zeroed())),
9697            )
9698            .ok()
9699        }
9700    }
9701    pub unsafe fn CreateRasterizerState(
9702        &self,
9703        prasterizerdesc: *const D3D11_RASTERIZER_DESC,
9704        pprasterizerstate: Option<*mut Option<ID3D11RasterizerState>>,
9705    ) -> windows_core::Result<()> {
9706        unsafe {
9707            (windows_core::Interface::vtable(self).CreateRasterizerState)(
9708                windows_core::Interface::as_raw(self),
9709                prasterizerdesc,
9710                core::mem::transmute(pprasterizerstate.unwrap_or(core::mem::zeroed())),
9711            )
9712            .ok()
9713        }
9714    }
9715    pub unsafe fn CreateSamplerState(
9716        &self,
9717        psamplerdesc: *const D3D11_SAMPLER_DESC,
9718        ppsamplerstate: Option<*mut Option<ID3D11SamplerState>>,
9719    ) -> windows_core::Result<()> {
9720        unsafe {
9721            (windows_core::Interface::vtable(self).CreateSamplerState)(
9722                windows_core::Interface::as_raw(self),
9723                psamplerdesc,
9724                core::mem::transmute(ppsamplerstate.unwrap_or(core::mem::zeroed())),
9725            )
9726            .ok()
9727        }
9728    }
9729    pub unsafe fn CreateQuery(
9730        &self,
9731        pquerydesc: *const D3D11_QUERY_DESC,
9732        ppquery: Option<*mut Option<ID3D11Query>>,
9733    ) -> windows_core::Result<()> {
9734        unsafe {
9735            (windows_core::Interface::vtable(self).CreateQuery)(
9736                windows_core::Interface::as_raw(self),
9737                pquerydesc,
9738                core::mem::transmute(ppquery.unwrap_or(core::mem::zeroed())),
9739            )
9740            .ok()
9741        }
9742    }
9743    pub unsafe fn CreatePredicate(
9744        &self,
9745        ppredicatedesc: *const D3D11_QUERY_DESC,
9746        pppredicate: Option<*mut Option<ID3D11Predicate>>,
9747    ) -> windows_core::Result<()> {
9748        unsafe {
9749            (windows_core::Interface::vtable(self).CreatePredicate)(
9750                windows_core::Interface::as_raw(self),
9751                ppredicatedesc,
9752                core::mem::transmute(pppredicate.unwrap_or(core::mem::zeroed())),
9753            )
9754            .ok()
9755        }
9756    }
9757    pub unsafe fn CreateCounter(
9758        &self,
9759        pcounterdesc: *const D3D11_COUNTER_DESC,
9760        ppcounter: Option<*mut Option<ID3D11Counter>>,
9761    ) -> windows_core::Result<()> {
9762        unsafe {
9763            (windows_core::Interface::vtable(self).CreateCounter)(
9764                windows_core::Interface::as_raw(self),
9765                pcounterdesc,
9766                core::mem::transmute(ppcounter.unwrap_or(core::mem::zeroed())),
9767            )
9768            .ok()
9769        }
9770    }
9771    pub unsafe fn CreateDeferredContext(
9772        &self,
9773        contextflags: u32,
9774        ppdeferredcontext: Option<*mut Option<ID3D11DeviceContext>>,
9775    ) -> windows_core::Result<()> {
9776        unsafe {
9777            (windows_core::Interface::vtable(self).CreateDeferredContext)(
9778                windows_core::Interface::as_raw(self),
9779                contextflags,
9780                core::mem::transmute(ppdeferredcontext.unwrap_or(core::mem::zeroed())),
9781            )
9782            .ok()
9783        }
9784    }
9785    pub unsafe fn OpenSharedResource<T>(
9786        &self,
9787        hresource: crate::Foundation::HANDLE,
9788        result__: *mut Option<T>,
9789    ) -> windows_core::Result<()>
9790    where
9791        T: windows_core::Interface,
9792    {
9793        unsafe {
9794            (windows_core::Interface::vtable(self).OpenSharedResource)(
9795                windows_core::Interface::as_raw(self),
9796                hresource,
9797                &T::IID,
9798                result__ as *mut _ as *mut _,
9799            )
9800            .ok()
9801        }
9802    }
9803    #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
9804    pub unsafe fn CheckFormatSupport(
9805        &self,
9806        format: crate::Dxgi::Common::DXGI_FORMAT,
9807    ) -> windows_core::Result<u32> {
9808        unsafe {
9809            let mut result__ = core::mem::zeroed();
9810            (windows_core::Interface::vtable(self).CheckFormatSupport)(
9811                windows_core::Interface::as_raw(self),
9812                format,
9813                &mut result__,
9814            )
9815            .map(|| result__)
9816        }
9817    }
9818    #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
9819    pub unsafe fn CheckMultisampleQualityLevels(
9820        &self,
9821        format: crate::Dxgi::Common::DXGI_FORMAT,
9822        samplecount: u32,
9823    ) -> windows_core::Result<u32> {
9824        unsafe {
9825            let mut result__ = core::mem::zeroed();
9826            (windows_core::Interface::vtable(self).CheckMultisampleQualityLevels)(
9827                windows_core::Interface::as_raw(self),
9828                format,
9829                samplecount,
9830                &mut result__,
9831            )
9832            .map(|| result__)
9833        }
9834    }
9835    pub unsafe fn CheckCounterInfo(&self) -> D3D11_COUNTER_INFO {
9836        unsafe {
9837            let mut result__ = core::mem::zeroed();
9838            (windows_core::Interface::vtable(self).CheckCounterInfo)(
9839                windows_core::Interface::as_raw(self),
9840                &mut result__,
9841            );
9842            result__
9843        }
9844    }
9845    pub unsafe fn CheckCounter(
9846        &self,
9847        pdesc: *const D3D11_COUNTER_DESC,
9848        ptype: *mut D3D11_COUNTER_TYPE,
9849        pactivecounters: *mut u32,
9850        szname: Option<crate::core_supplemental::PSTR>,
9851        pnamelength: Option<*mut u32>,
9852        szunits: Option<crate::core_supplemental::PSTR>,
9853        punitslength: Option<*mut u32>,
9854        szdescription: Option<crate::core_supplemental::PSTR>,
9855        pdescriptionlength: Option<*mut u32>,
9856    ) -> windows_core::Result<()> {
9857        unsafe {
9858            (windows_core::Interface::vtable(self).CheckCounter)(
9859                windows_core::Interface::as_raw(self),
9860                pdesc,
9861                core::mem::transmute(ptype),
9862                core::mem::transmute(pactivecounters),
9863                core::mem::transmute(szname.unwrap_or(core::mem::zeroed())),
9864                core::mem::transmute(pnamelength.unwrap_or(core::mem::zeroed())),
9865                core::mem::transmute(szunits.unwrap_or(core::mem::zeroed())),
9866                core::mem::transmute(punitslength.unwrap_or(core::mem::zeroed())),
9867                core::mem::transmute(szdescription.unwrap_or(core::mem::zeroed())),
9868                core::mem::transmute(pdescriptionlength.unwrap_or(core::mem::zeroed())),
9869            )
9870            .ok()
9871        }
9872    }
9873    pub unsafe fn CheckFeatureSupport(
9874        &self,
9875        feature: D3D11_FEATURE,
9876        pfeaturesupportdata: *mut core::ffi::c_void,
9877        featuresupportdatasize: u32,
9878    ) -> windows_core::Result<()> {
9879        unsafe {
9880            (windows_core::Interface::vtable(self).CheckFeatureSupport)(
9881                windows_core::Interface::as_raw(self),
9882                feature,
9883                core::mem::transmute(pfeaturesupportdata),
9884                featuresupportdatasize,
9885            )
9886            .ok()
9887        }
9888    }
9889    pub unsafe fn GetPrivateData(
9890        &self,
9891        guid: *const windows_core::GUID,
9892        pdatasize: *mut u32,
9893        pdata: Option<*mut core::ffi::c_void>,
9894    ) -> windows_core::Result<()> {
9895        unsafe {
9896            (windows_core::Interface::vtable(self).GetPrivateData)(
9897                windows_core::Interface::as_raw(self),
9898                guid,
9899                core::mem::transmute(pdatasize),
9900                core::mem::transmute(pdata.unwrap_or(core::mem::zeroed())),
9901            )
9902            .ok()
9903        }
9904    }
9905    pub unsafe fn SetPrivateData(
9906        &self,
9907        guid: *const windows_core::GUID,
9908        datasize: u32,
9909        pdata: Option<*const core::ffi::c_void>,
9910    ) -> windows_core::Result<()> {
9911        unsafe {
9912            (windows_core::Interface::vtable(self).SetPrivateData)(
9913                windows_core::Interface::as_raw(self),
9914                guid,
9915                datasize,
9916                core::mem::transmute(pdata.unwrap_or(core::mem::zeroed())),
9917            )
9918            .ok()
9919        }
9920    }
9921    pub unsafe fn SetPrivateDataInterface<P1>(
9922        &self,
9923        guid: *const windows_core::GUID,
9924        pdata: P1,
9925    ) -> windows_core::Result<()>
9926    where
9927        P1: windows_core::Param<windows_core::IUnknown>,
9928    {
9929        unsafe {
9930            (windows_core::Interface::vtable(self).SetPrivateDataInterface)(
9931                windows_core::Interface::as_raw(self),
9932                guid,
9933                pdata.param().abi(),
9934            )
9935            .ok()
9936        }
9937    }
9938    #[cfg(feature = "Win32_Graphics_Direct3D")]
9939    pub unsafe fn GetFeatureLevel(&self) -> super::Direct3D::D3D_FEATURE_LEVEL {
9940        unsafe {
9941            (windows_core::Interface::vtable(self).GetFeatureLevel)(
9942                windows_core::Interface::as_raw(self),
9943            )
9944        }
9945    }
9946    pub unsafe fn GetCreationFlags(&self) -> u32 {
9947        unsafe {
9948            (windows_core::Interface::vtable(self).GetCreationFlags)(
9949                windows_core::Interface::as_raw(self),
9950            )
9951        }
9952    }
9953    pub unsafe fn GetDeviceRemovedReason(&self) -> windows_core::Result<()> {
9954        unsafe {
9955            (windows_core::Interface::vtable(self).GetDeviceRemovedReason)(
9956                windows_core::Interface::as_raw(self),
9957            )
9958            .ok()
9959        }
9960    }
9961    pub unsafe fn GetImmediateContext(&self) -> windows_core::Result<ID3D11DeviceContext> {
9962        unsafe {
9963            let mut result__ = core::mem::zeroed();
9964            (windows_core::Interface::vtable(self).GetImmediateContext)(
9965                windows_core::Interface::as_raw(self),
9966                &mut result__,
9967            );
9968            windows_core::Type::from_abi(result__)
9969        }
9970    }
9971    pub unsafe fn SetExceptionMode(&self, raiseflags: u32) -> windows_core::Result<()> {
9972        unsafe {
9973            (windows_core::Interface::vtable(self).SetExceptionMode)(
9974                windows_core::Interface::as_raw(self),
9975                raiseflags,
9976            )
9977            .ok()
9978        }
9979    }
9980    pub unsafe fn GetExceptionMode(&self) -> u32 {
9981        unsafe {
9982            (windows_core::Interface::vtable(self).GetExceptionMode)(
9983                windows_core::Interface::as_raw(self),
9984            )
9985        }
9986    }
9987}
9988#[repr(C)]
9989pub struct ID3D11Device_Vtbl {
9990    pub base__: windows_core::IUnknown_Vtbl,
9991    pub CreateBuffer: unsafe extern "system" fn(
9992        *mut core::ffi::c_void,
9993        *const D3D11_BUFFER_DESC,
9994        *const D3D11_SUBRESOURCE_DATA,
9995        *mut *mut core::ffi::c_void,
9996    ) -> windows_core::HRESULT,
9997    #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
9998    pub CreateTexture1D: unsafe extern "system" fn(
9999        *mut core::ffi::c_void,
10000        *const D3D11_TEXTURE1D_DESC,
10001        *const D3D11_SUBRESOURCE_DATA,
10002        *mut *mut core::ffi::c_void,
10003    ) -> windows_core::HRESULT,
10004    #[cfg(not(feature = "Win32_Graphics_Dxgi_Common"))]
10005    CreateTexture1D: usize,
10006    #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
10007    pub CreateTexture2D: unsafe extern "system" fn(
10008        *mut core::ffi::c_void,
10009        *const D3D11_TEXTURE2D_DESC,
10010        *const D3D11_SUBRESOURCE_DATA,
10011        *mut *mut core::ffi::c_void,
10012    ) -> windows_core::HRESULT,
10013    #[cfg(not(feature = "Win32_Graphics_Dxgi_Common"))]
10014    CreateTexture2D: usize,
10015    #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
10016    pub CreateTexture3D: unsafe extern "system" fn(
10017        *mut core::ffi::c_void,
10018        *const D3D11_TEXTURE3D_DESC,
10019        *const D3D11_SUBRESOURCE_DATA,
10020        *mut *mut core::ffi::c_void,
10021    ) -> windows_core::HRESULT,
10022    #[cfg(not(feature = "Win32_Graphics_Dxgi_Common"))]
10023    CreateTexture3D: usize,
10024    #[cfg(all(
10025        feature = "Win32_Graphics_Direct3D",
10026        feature = "Win32_Graphics_Dxgi_Common"
10027    ))]
10028    pub CreateShaderResourceView: unsafe extern "system" fn(
10029        *mut core::ffi::c_void,
10030        *mut core::ffi::c_void,
10031        *const D3D11_SHADER_RESOURCE_VIEW_DESC,
10032        *mut *mut core::ffi::c_void,
10033    ) -> windows_core::HRESULT,
10034    #[cfg(not(all(
10035        feature = "Win32_Graphics_Direct3D",
10036        feature = "Win32_Graphics_Dxgi_Common"
10037    )))]
10038    CreateShaderResourceView: usize,
10039    #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
10040    pub CreateUnorderedAccessView: unsafe extern "system" fn(
10041        *mut core::ffi::c_void,
10042        *mut core::ffi::c_void,
10043        *const D3D11_UNORDERED_ACCESS_VIEW_DESC,
10044        *mut *mut core::ffi::c_void,
10045    ) -> windows_core::HRESULT,
10046    #[cfg(not(feature = "Win32_Graphics_Dxgi_Common"))]
10047    CreateUnorderedAccessView: usize,
10048    #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
10049    pub CreateRenderTargetView: unsafe extern "system" fn(
10050        *mut core::ffi::c_void,
10051        *mut core::ffi::c_void,
10052        *const D3D11_RENDER_TARGET_VIEW_DESC,
10053        *mut *mut core::ffi::c_void,
10054    ) -> windows_core::HRESULT,
10055    #[cfg(not(feature = "Win32_Graphics_Dxgi_Common"))]
10056    CreateRenderTargetView: usize,
10057    #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
10058    pub CreateDepthStencilView: unsafe extern "system" fn(
10059        *mut core::ffi::c_void,
10060        *mut core::ffi::c_void,
10061        *const D3D11_DEPTH_STENCIL_VIEW_DESC,
10062        *mut *mut core::ffi::c_void,
10063    ) -> windows_core::HRESULT,
10064    #[cfg(not(feature = "Win32_Graphics_Dxgi_Common"))]
10065    CreateDepthStencilView: usize,
10066    #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
10067    pub CreateInputLayout: unsafe extern "system" fn(
10068        *mut core::ffi::c_void,
10069        *const D3D11_INPUT_ELEMENT_DESC,
10070        u32,
10071        *const core::ffi::c_void,
10072        usize,
10073        *mut *mut core::ffi::c_void,
10074    ) -> windows_core::HRESULT,
10075    #[cfg(not(feature = "Win32_Graphics_Dxgi_Common"))]
10076    CreateInputLayout: usize,
10077    pub CreateVertexShader: unsafe extern "system" fn(
10078        *mut core::ffi::c_void,
10079        *const core::ffi::c_void,
10080        usize,
10081        *mut core::ffi::c_void,
10082        *mut *mut core::ffi::c_void,
10083    ) -> windows_core::HRESULT,
10084    pub CreateGeometryShader: unsafe extern "system" fn(
10085        *mut core::ffi::c_void,
10086        *const core::ffi::c_void,
10087        usize,
10088        *mut core::ffi::c_void,
10089        *mut *mut core::ffi::c_void,
10090    ) -> windows_core::HRESULT,
10091    pub CreateGeometryShaderWithStreamOutput: unsafe extern "system" fn(
10092        *mut core::ffi::c_void,
10093        *const core::ffi::c_void,
10094        usize,
10095        *const D3D11_SO_DECLARATION_ENTRY,
10096        u32,
10097        *const u32,
10098        u32,
10099        u32,
10100        *mut core::ffi::c_void,
10101        *mut *mut core::ffi::c_void,
10102    )
10103        -> windows_core::HRESULT,
10104    pub CreatePixelShader: unsafe extern "system" fn(
10105        *mut core::ffi::c_void,
10106        *const core::ffi::c_void,
10107        usize,
10108        *mut core::ffi::c_void,
10109        *mut *mut core::ffi::c_void,
10110    ) -> windows_core::HRESULT,
10111    pub CreateHullShader: unsafe extern "system" fn(
10112        *mut core::ffi::c_void,
10113        *const core::ffi::c_void,
10114        usize,
10115        *mut core::ffi::c_void,
10116        *mut *mut core::ffi::c_void,
10117    ) -> windows_core::HRESULT,
10118    pub CreateDomainShader: unsafe extern "system" fn(
10119        *mut core::ffi::c_void,
10120        *const core::ffi::c_void,
10121        usize,
10122        *mut core::ffi::c_void,
10123        *mut *mut core::ffi::c_void,
10124    ) -> windows_core::HRESULT,
10125    pub CreateComputeShader: unsafe extern "system" fn(
10126        *mut core::ffi::c_void,
10127        *const core::ffi::c_void,
10128        usize,
10129        *mut core::ffi::c_void,
10130        *mut *mut core::ffi::c_void,
10131    ) -> windows_core::HRESULT,
10132    pub CreateClassLinkage: unsafe extern "system" fn(
10133        *mut core::ffi::c_void,
10134        *mut *mut core::ffi::c_void,
10135    ) -> windows_core::HRESULT,
10136    pub CreateBlendState: unsafe extern "system" fn(
10137        *mut core::ffi::c_void,
10138        *const D3D11_BLEND_DESC,
10139        *mut *mut core::ffi::c_void,
10140    ) -> windows_core::HRESULT,
10141    pub CreateDepthStencilState: unsafe extern "system" fn(
10142        *mut core::ffi::c_void,
10143        *const D3D11_DEPTH_STENCIL_DESC,
10144        *mut *mut core::ffi::c_void,
10145    ) -> windows_core::HRESULT,
10146    pub CreateRasterizerState: unsafe extern "system" fn(
10147        *mut core::ffi::c_void,
10148        *const D3D11_RASTERIZER_DESC,
10149        *mut *mut core::ffi::c_void,
10150    ) -> windows_core::HRESULT,
10151    pub CreateSamplerState: unsafe extern "system" fn(
10152        *mut core::ffi::c_void,
10153        *const D3D11_SAMPLER_DESC,
10154        *mut *mut core::ffi::c_void,
10155    ) -> windows_core::HRESULT,
10156    pub CreateQuery: unsafe extern "system" fn(
10157        *mut core::ffi::c_void,
10158        *const D3D11_QUERY_DESC,
10159        *mut *mut core::ffi::c_void,
10160    ) -> windows_core::HRESULT,
10161    pub CreatePredicate: unsafe extern "system" fn(
10162        *mut core::ffi::c_void,
10163        *const D3D11_QUERY_DESC,
10164        *mut *mut core::ffi::c_void,
10165    ) -> windows_core::HRESULT,
10166    pub CreateCounter: unsafe extern "system" fn(
10167        *mut core::ffi::c_void,
10168        *const D3D11_COUNTER_DESC,
10169        *mut *mut core::ffi::c_void,
10170    ) -> windows_core::HRESULT,
10171    pub CreateDeferredContext: unsafe extern "system" fn(
10172        *mut core::ffi::c_void,
10173        u32,
10174        *mut *mut core::ffi::c_void,
10175    ) -> windows_core::HRESULT,
10176    pub OpenSharedResource: unsafe extern "system" fn(
10177        *mut core::ffi::c_void,
10178        crate::Foundation::HANDLE,
10179        *const windows_core::GUID,
10180        *mut *mut core::ffi::c_void,
10181    ) -> windows_core::HRESULT,
10182    #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
10183    pub CheckFormatSupport: unsafe extern "system" fn(
10184        *mut core::ffi::c_void,
10185        crate::Dxgi::Common::DXGI_FORMAT,
10186        *mut u32,
10187    ) -> windows_core::HRESULT,
10188    #[cfg(not(feature = "Win32_Graphics_Dxgi_Common"))]
10189    CheckFormatSupport: usize,
10190    #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
10191    pub CheckMultisampleQualityLevels: unsafe extern "system" fn(
10192        *mut core::ffi::c_void,
10193        crate::Dxgi::Common::DXGI_FORMAT,
10194        u32,
10195        *mut u32,
10196    ) -> windows_core::HRESULT,
10197    #[cfg(not(feature = "Win32_Graphics_Dxgi_Common"))]
10198    CheckMultisampleQualityLevels: usize,
10199    pub CheckCounterInfo:
10200        unsafe extern "system" fn(*mut core::ffi::c_void, *mut D3D11_COUNTER_INFO),
10201    pub CheckCounter: unsafe extern "system" fn(
10202        *mut core::ffi::c_void,
10203        *const D3D11_COUNTER_DESC,
10204        *mut D3D11_COUNTER_TYPE,
10205        *mut u32,
10206        crate::core_supplemental::PSTR,
10207        *mut u32,
10208        crate::core_supplemental::PSTR,
10209        *mut u32,
10210        crate::core_supplemental::PSTR,
10211        *mut u32,
10212    ) -> windows_core::HRESULT,
10213    pub CheckFeatureSupport: unsafe extern "system" fn(
10214        *mut core::ffi::c_void,
10215        D3D11_FEATURE,
10216        *mut core::ffi::c_void,
10217        u32,
10218    ) -> windows_core::HRESULT,
10219    pub GetPrivateData: unsafe extern "system" fn(
10220        *mut core::ffi::c_void,
10221        *const windows_core::GUID,
10222        *mut u32,
10223        *mut core::ffi::c_void,
10224    ) -> windows_core::HRESULT,
10225    pub SetPrivateData: unsafe extern "system" fn(
10226        *mut core::ffi::c_void,
10227        *const windows_core::GUID,
10228        u32,
10229        *const core::ffi::c_void,
10230    ) -> windows_core::HRESULT,
10231    pub SetPrivateDataInterface: unsafe extern "system" fn(
10232        *mut core::ffi::c_void,
10233        *const windows_core::GUID,
10234        *mut core::ffi::c_void,
10235    ) -> windows_core::HRESULT,
10236    #[cfg(feature = "Win32_Graphics_Direct3D")]
10237    pub GetFeatureLevel:
10238        unsafe extern "system" fn(*mut core::ffi::c_void) -> super::Direct3D::D3D_FEATURE_LEVEL,
10239    #[cfg(not(feature = "Win32_Graphics_Direct3D"))]
10240    GetFeatureLevel: usize,
10241    pub GetCreationFlags: unsafe extern "system" fn(*mut core::ffi::c_void) -> u32,
10242    pub GetDeviceRemovedReason:
10243        unsafe extern "system" fn(*mut core::ffi::c_void) -> windows_core::HRESULT,
10244    pub GetImmediateContext:
10245        unsafe extern "system" fn(*mut core::ffi::c_void, *mut *mut core::ffi::c_void),
10246    pub SetExceptionMode:
10247        unsafe extern "system" fn(*mut core::ffi::c_void, u32) -> windows_core::HRESULT,
10248    pub GetExceptionMode: unsafe extern "system" fn(*mut core::ffi::c_void) -> u32,
10249}
10250#[cfg(all(
10251    feature = "Win32_Graphics_Direct3D",
10252    feature = "Win32_Graphics_Dxgi_Common"
10253))]
10254pub trait ID3D11Device_Impl: windows_core::IUnknownImpl {
10255    fn CreateBuffer(
10256        &self,
10257        pdesc: *const D3D11_BUFFER_DESC,
10258        pinitialdata: *const D3D11_SUBRESOURCE_DATA,
10259        ppbuffer: windows_core::OutRef<'_, ID3D11Buffer>,
10260    ) -> windows_core::Result<()>;
10261    fn CreateTexture1D(
10262        &self,
10263        pdesc: *const D3D11_TEXTURE1D_DESC,
10264        pinitialdata: *const D3D11_SUBRESOURCE_DATA,
10265        pptexture1d: windows_core::OutRef<'_, ID3D11Texture1D>,
10266    ) -> windows_core::Result<()>;
10267    fn CreateTexture2D(
10268        &self,
10269        pdesc: *const D3D11_TEXTURE2D_DESC,
10270        pinitialdata: *const D3D11_SUBRESOURCE_DATA,
10271        pptexture2d: windows_core::OutRef<'_, ID3D11Texture2D>,
10272    ) -> windows_core::Result<()>;
10273    fn CreateTexture3D(
10274        &self,
10275        pdesc: *const D3D11_TEXTURE3D_DESC,
10276        pinitialdata: *const D3D11_SUBRESOURCE_DATA,
10277        pptexture3d: windows_core::OutRef<'_, ID3D11Texture3D>,
10278    ) -> windows_core::Result<()>;
10279    fn CreateShaderResourceView(
10280        &self,
10281        presource: windows_core::Ref<'_, ID3D11Resource>,
10282        pdesc: *const D3D11_SHADER_RESOURCE_VIEW_DESC,
10283        ppsrview: windows_core::OutRef<'_, ID3D11ShaderResourceView>,
10284    ) -> windows_core::Result<()>;
10285    fn CreateUnorderedAccessView(
10286        &self,
10287        presource: windows_core::Ref<'_, ID3D11Resource>,
10288        pdesc: *const D3D11_UNORDERED_ACCESS_VIEW_DESC,
10289        ppuaview: windows_core::OutRef<'_, ID3D11UnorderedAccessView>,
10290    ) -> windows_core::Result<()>;
10291    fn CreateRenderTargetView(
10292        &self,
10293        presource: windows_core::Ref<'_, ID3D11Resource>,
10294        pdesc: *const D3D11_RENDER_TARGET_VIEW_DESC,
10295        pprtview: windows_core::OutRef<'_, ID3D11RenderTargetView>,
10296    ) -> windows_core::Result<()>;
10297    fn CreateDepthStencilView(
10298        &self,
10299        presource: windows_core::Ref<'_, ID3D11Resource>,
10300        pdesc: *const D3D11_DEPTH_STENCIL_VIEW_DESC,
10301        ppdepthstencilview: windows_core::OutRef<'_, ID3D11DepthStencilView>,
10302    ) -> windows_core::Result<()>;
10303    fn CreateInputLayout(
10304        &self,
10305        pinputelementdescs: *const D3D11_INPUT_ELEMENT_DESC,
10306        numelements: u32,
10307        pshaderbytecodewithinputsignature: *const core::ffi::c_void,
10308        bytecodelength: usize,
10309        ppinputlayout: windows_core::OutRef<'_, ID3D11InputLayout>,
10310    ) -> windows_core::Result<()>;
10311    fn CreateVertexShader(
10312        &self,
10313        pshaderbytecode: *const core::ffi::c_void,
10314        bytecodelength: usize,
10315        pclasslinkage: windows_core::Ref<'_, ID3D11ClassLinkage>,
10316        ppvertexshader: windows_core::OutRef<'_, ID3D11VertexShader>,
10317    ) -> windows_core::Result<()>;
10318    fn CreateGeometryShader(
10319        &self,
10320        pshaderbytecode: *const core::ffi::c_void,
10321        bytecodelength: usize,
10322        pclasslinkage: windows_core::Ref<'_, ID3D11ClassLinkage>,
10323        ppgeometryshader: windows_core::OutRef<'_, ID3D11GeometryShader>,
10324    ) -> windows_core::Result<()>;
10325    fn CreateGeometryShaderWithStreamOutput(
10326        &self,
10327        pshaderbytecode: *const core::ffi::c_void,
10328        bytecodelength: usize,
10329        psodeclaration: *const D3D11_SO_DECLARATION_ENTRY,
10330        numentries: u32,
10331        pbufferstrides: *const u32,
10332        numstrides: u32,
10333        rasterizedstream: u32,
10334        pclasslinkage: windows_core::Ref<'_, ID3D11ClassLinkage>,
10335        ppgeometryshader: windows_core::OutRef<'_, ID3D11GeometryShader>,
10336    ) -> windows_core::Result<()>;
10337    fn CreatePixelShader(
10338        &self,
10339        pshaderbytecode: *const core::ffi::c_void,
10340        bytecodelength: usize,
10341        pclasslinkage: windows_core::Ref<'_, ID3D11ClassLinkage>,
10342        pppixelshader: windows_core::OutRef<'_, ID3D11PixelShader>,
10343    ) -> windows_core::Result<()>;
10344    fn CreateHullShader(
10345        &self,
10346        pshaderbytecode: *const core::ffi::c_void,
10347        bytecodelength: usize,
10348        pclasslinkage: windows_core::Ref<'_, ID3D11ClassLinkage>,
10349        pphullshader: windows_core::OutRef<'_, ID3D11HullShader>,
10350    ) -> windows_core::Result<()>;
10351    fn CreateDomainShader(
10352        &self,
10353        pshaderbytecode: *const core::ffi::c_void,
10354        bytecodelength: usize,
10355        pclasslinkage: windows_core::Ref<'_, ID3D11ClassLinkage>,
10356        ppdomainshader: windows_core::OutRef<'_, ID3D11DomainShader>,
10357    ) -> windows_core::Result<()>;
10358    fn CreateComputeShader(
10359        &self,
10360        pshaderbytecode: *const core::ffi::c_void,
10361        bytecodelength: usize,
10362        pclasslinkage: windows_core::Ref<'_, ID3D11ClassLinkage>,
10363        ppcomputeshader: windows_core::OutRef<'_, ID3D11ComputeShader>,
10364    ) -> windows_core::Result<()>;
10365    fn CreateClassLinkage(&self) -> windows_core::Result<ID3D11ClassLinkage>;
10366    fn CreateBlendState(
10367        &self,
10368        pblendstatedesc: *const D3D11_BLEND_DESC,
10369        ppblendstate: windows_core::OutRef<'_, ID3D11BlendState>,
10370    ) -> windows_core::Result<()>;
10371    fn CreateDepthStencilState(
10372        &self,
10373        pdepthstencildesc: *const D3D11_DEPTH_STENCIL_DESC,
10374        ppdepthstencilstate: windows_core::OutRef<'_, ID3D11DepthStencilState>,
10375    ) -> windows_core::Result<()>;
10376    fn CreateRasterizerState(
10377        &self,
10378        prasterizerdesc: *const D3D11_RASTERIZER_DESC,
10379        pprasterizerstate: windows_core::OutRef<'_, ID3D11RasterizerState>,
10380    ) -> windows_core::Result<()>;
10381    fn CreateSamplerState(
10382        &self,
10383        psamplerdesc: *const D3D11_SAMPLER_DESC,
10384        ppsamplerstate: windows_core::OutRef<'_, ID3D11SamplerState>,
10385    ) -> windows_core::Result<()>;
10386    fn CreateQuery(
10387        &self,
10388        pquerydesc: *const D3D11_QUERY_DESC,
10389        ppquery: windows_core::OutRef<'_, ID3D11Query>,
10390    ) -> windows_core::Result<()>;
10391    fn CreatePredicate(
10392        &self,
10393        ppredicatedesc: *const D3D11_QUERY_DESC,
10394        pppredicate: windows_core::OutRef<'_, ID3D11Predicate>,
10395    ) -> windows_core::Result<()>;
10396    fn CreateCounter(
10397        &self,
10398        pcounterdesc: *const D3D11_COUNTER_DESC,
10399        ppcounter: windows_core::OutRef<'_, ID3D11Counter>,
10400    ) -> windows_core::Result<()>;
10401    fn CreateDeferredContext(
10402        &self,
10403        contextflags: u32,
10404        ppdeferredcontext: windows_core::OutRef<'_, ID3D11DeviceContext>,
10405    ) -> windows_core::Result<()>;
10406    fn OpenSharedResource(
10407        &self,
10408        hresource: crate::Foundation::HANDLE,
10409        returnedinterface: *const windows_core::GUID,
10410        ppresource: *mut *mut core::ffi::c_void,
10411    ) -> windows_core::Result<()>;
10412    fn CheckFormatSupport(
10413        &self,
10414        format: crate::Dxgi::Common::DXGI_FORMAT,
10415    ) -> windows_core::Result<u32>;
10416    fn CheckMultisampleQualityLevels(
10417        &self,
10418        format: crate::Dxgi::Common::DXGI_FORMAT,
10419        samplecount: u32,
10420    ) -> windows_core::Result<u32>;
10421    fn CheckCounterInfo(&self, pcounterinfo: *mut D3D11_COUNTER_INFO);
10422    fn CheckCounter(
10423        &self,
10424        pdesc: *const D3D11_COUNTER_DESC,
10425        ptype: *mut D3D11_COUNTER_TYPE,
10426        pactivecounters: *mut u32,
10427        szname: crate::core_supplemental::PSTR,
10428        pnamelength: *mut u32,
10429        szunits: crate::core_supplemental::PSTR,
10430        punitslength: *mut u32,
10431        szdescription: crate::core_supplemental::PSTR,
10432        pdescriptionlength: *mut u32,
10433    ) -> windows_core::Result<()>;
10434    fn CheckFeatureSupport(
10435        &self,
10436        feature: D3D11_FEATURE,
10437        pfeaturesupportdata: *mut core::ffi::c_void,
10438        featuresupportdatasize: u32,
10439    ) -> windows_core::Result<()>;
10440    fn GetPrivateData(
10441        &self,
10442        guid: *const windows_core::GUID,
10443        pdatasize: *mut u32,
10444        pdata: *mut core::ffi::c_void,
10445    ) -> windows_core::Result<()>;
10446    fn SetPrivateData(
10447        &self,
10448        guid: *const windows_core::GUID,
10449        datasize: u32,
10450        pdata: *const core::ffi::c_void,
10451    ) -> windows_core::Result<()>;
10452    fn SetPrivateDataInterface(
10453        &self,
10454        guid: *const windows_core::GUID,
10455        pdata: windows_core::Ref<'_, windows_core::IUnknown>,
10456    ) -> windows_core::Result<()>;
10457    fn GetFeatureLevel(&self) -> super::Direct3D::D3D_FEATURE_LEVEL;
10458    fn GetCreationFlags(&self) -> u32;
10459    fn GetDeviceRemovedReason(&self) -> windows_core::Result<()>;
10460    fn GetImmediateContext(
10461        &self,
10462        ppimmediatecontext: windows_core::OutRef<'_, ID3D11DeviceContext>,
10463    );
10464    fn SetExceptionMode(&self, raiseflags: u32) -> windows_core::Result<()>;
10465    fn GetExceptionMode(&self) -> u32;
10466}
10467#[cfg(all(
10468    feature = "Win32_Graphics_Direct3D",
10469    feature = "Win32_Graphics_Dxgi_Common"
10470))]
10471impl ID3D11Device_Vtbl {
10472    pub const fn new<Identity: ID3D11Device_Impl, const OFFSET: isize>() -> Self {
10473        unsafe extern "system" fn CreateBuffer<Identity: ID3D11Device_Impl, const OFFSET: isize>(
10474            this: *mut core::ffi::c_void,
10475            pdesc: *const D3D11_BUFFER_DESC,
10476            pinitialdata: *const D3D11_SUBRESOURCE_DATA,
10477            ppbuffer: *mut *mut core::ffi::c_void,
10478        ) -> windows_core::HRESULT {
10479            unsafe {
10480                let this: &Identity =
10481                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
10482                ID3D11Device_Impl::CreateBuffer(
10483                    this,
10484                    core::mem::transmute_copy(&pdesc),
10485                    core::mem::transmute_copy(&pinitialdata),
10486                    core::mem::transmute_copy(&ppbuffer),
10487                )
10488                .into()
10489            }
10490        }
10491        unsafe extern "system" fn CreateTexture1D<
10492            Identity: ID3D11Device_Impl,
10493            const OFFSET: isize,
10494        >(
10495            this: *mut core::ffi::c_void,
10496            pdesc: *const D3D11_TEXTURE1D_DESC,
10497            pinitialdata: *const D3D11_SUBRESOURCE_DATA,
10498            pptexture1d: *mut *mut core::ffi::c_void,
10499        ) -> windows_core::HRESULT {
10500            unsafe {
10501                let this: &Identity =
10502                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
10503                ID3D11Device_Impl::CreateTexture1D(
10504                    this,
10505                    core::mem::transmute_copy(&pdesc),
10506                    core::mem::transmute_copy(&pinitialdata),
10507                    core::mem::transmute_copy(&pptexture1d),
10508                )
10509                .into()
10510            }
10511        }
10512        unsafe extern "system" fn CreateTexture2D<
10513            Identity: ID3D11Device_Impl,
10514            const OFFSET: isize,
10515        >(
10516            this: *mut core::ffi::c_void,
10517            pdesc: *const D3D11_TEXTURE2D_DESC,
10518            pinitialdata: *const D3D11_SUBRESOURCE_DATA,
10519            pptexture2d: *mut *mut core::ffi::c_void,
10520        ) -> windows_core::HRESULT {
10521            unsafe {
10522                let this: &Identity =
10523                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
10524                ID3D11Device_Impl::CreateTexture2D(
10525                    this,
10526                    core::mem::transmute_copy(&pdesc),
10527                    core::mem::transmute_copy(&pinitialdata),
10528                    core::mem::transmute_copy(&pptexture2d),
10529                )
10530                .into()
10531            }
10532        }
10533        unsafe extern "system" fn CreateTexture3D<
10534            Identity: ID3D11Device_Impl,
10535            const OFFSET: isize,
10536        >(
10537            this: *mut core::ffi::c_void,
10538            pdesc: *const D3D11_TEXTURE3D_DESC,
10539            pinitialdata: *const D3D11_SUBRESOURCE_DATA,
10540            pptexture3d: *mut *mut core::ffi::c_void,
10541        ) -> windows_core::HRESULT {
10542            unsafe {
10543                let this: &Identity =
10544                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
10545                ID3D11Device_Impl::CreateTexture3D(
10546                    this,
10547                    core::mem::transmute_copy(&pdesc),
10548                    core::mem::transmute_copy(&pinitialdata),
10549                    core::mem::transmute_copy(&pptexture3d),
10550                )
10551                .into()
10552            }
10553        }
10554        unsafe extern "system" fn CreateShaderResourceView<
10555            Identity: ID3D11Device_Impl,
10556            const OFFSET: isize,
10557        >(
10558            this: *mut core::ffi::c_void,
10559            presource: *mut core::ffi::c_void,
10560            pdesc: *const D3D11_SHADER_RESOURCE_VIEW_DESC,
10561            ppsrview: *mut *mut core::ffi::c_void,
10562        ) -> windows_core::HRESULT {
10563            unsafe {
10564                let this: &Identity =
10565                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
10566                ID3D11Device_Impl::CreateShaderResourceView(
10567                    this,
10568                    core::mem::transmute_copy(&presource),
10569                    core::mem::transmute_copy(&pdesc),
10570                    core::mem::transmute_copy(&ppsrview),
10571                )
10572                .into()
10573            }
10574        }
10575        unsafe extern "system" fn CreateUnorderedAccessView<
10576            Identity: ID3D11Device_Impl,
10577            const OFFSET: isize,
10578        >(
10579            this: *mut core::ffi::c_void,
10580            presource: *mut core::ffi::c_void,
10581            pdesc: *const D3D11_UNORDERED_ACCESS_VIEW_DESC,
10582            ppuaview: *mut *mut core::ffi::c_void,
10583        ) -> windows_core::HRESULT {
10584            unsafe {
10585                let this: &Identity =
10586                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
10587                ID3D11Device_Impl::CreateUnorderedAccessView(
10588                    this,
10589                    core::mem::transmute_copy(&presource),
10590                    core::mem::transmute_copy(&pdesc),
10591                    core::mem::transmute_copy(&ppuaview),
10592                )
10593                .into()
10594            }
10595        }
10596        unsafe extern "system" fn CreateRenderTargetView<
10597            Identity: ID3D11Device_Impl,
10598            const OFFSET: isize,
10599        >(
10600            this: *mut core::ffi::c_void,
10601            presource: *mut core::ffi::c_void,
10602            pdesc: *const D3D11_RENDER_TARGET_VIEW_DESC,
10603            pprtview: *mut *mut core::ffi::c_void,
10604        ) -> windows_core::HRESULT {
10605            unsafe {
10606                let this: &Identity =
10607                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
10608                ID3D11Device_Impl::CreateRenderTargetView(
10609                    this,
10610                    core::mem::transmute_copy(&presource),
10611                    core::mem::transmute_copy(&pdesc),
10612                    core::mem::transmute_copy(&pprtview),
10613                )
10614                .into()
10615            }
10616        }
10617        unsafe extern "system" fn CreateDepthStencilView<
10618            Identity: ID3D11Device_Impl,
10619            const OFFSET: isize,
10620        >(
10621            this: *mut core::ffi::c_void,
10622            presource: *mut core::ffi::c_void,
10623            pdesc: *const D3D11_DEPTH_STENCIL_VIEW_DESC,
10624            ppdepthstencilview: *mut *mut core::ffi::c_void,
10625        ) -> windows_core::HRESULT {
10626            unsafe {
10627                let this: &Identity =
10628                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
10629                ID3D11Device_Impl::CreateDepthStencilView(
10630                    this,
10631                    core::mem::transmute_copy(&presource),
10632                    core::mem::transmute_copy(&pdesc),
10633                    core::mem::transmute_copy(&ppdepthstencilview),
10634                )
10635                .into()
10636            }
10637        }
10638        unsafe extern "system" fn CreateInputLayout<
10639            Identity: ID3D11Device_Impl,
10640            const OFFSET: isize,
10641        >(
10642            this: *mut core::ffi::c_void,
10643            pinputelementdescs: *const D3D11_INPUT_ELEMENT_DESC,
10644            numelements: u32,
10645            pshaderbytecodewithinputsignature: *const core::ffi::c_void,
10646            bytecodelength: usize,
10647            ppinputlayout: *mut *mut core::ffi::c_void,
10648        ) -> windows_core::HRESULT {
10649            unsafe {
10650                let this: &Identity =
10651                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
10652                ID3D11Device_Impl::CreateInputLayout(
10653                    this,
10654                    core::mem::transmute_copy(&pinputelementdescs),
10655                    core::mem::transmute_copy(&numelements),
10656                    core::mem::transmute_copy(&pshaderbytecodewithinputsignature),
10657                    core::mem::transmute_copy(&bytecodelength),
10658                    core::mem::transmute_copy(&ppinputlayout),
10659                )
10660                .into()
10661            }
10662        }
10663        unsafe extern "system" fn CreateVertexShader<
10664            Identity: ID3D11Device_Impl,
10665            const OFFSET: isize,
10666        >(
10667            this: *mut core::ffi::c_void,
10668            pshaderbytecode: *const core::ffi::c_void,
10669            bytecodelength: usize,
10670            pclasslinkage: *mut core::ffi::c_void,
10671            ppvertexshader: *mut *mut core::ffi::c_void,
10672        ) -> windows_core::HRESULT {
10673            unsafe {
10674                let this: &Identity =
10675                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
10676                ID3D11Device_Impl::CreateVertexShader(
10677                    this,
10678                    core::mem::transmute_copy(&pshaderbytecode),
10679                    core::mem::transmute_copy(&bytecodelength),
10680                    core::mem::transmute_copy(&pclasslinkage),
10681                    core::mem::transmute_copy(&ppvertexshader),
10682                )
10683                .into()
10684            }
10685        }
10686        unsafe extern "system" fn CreateGeometryShader<
10687            Identity: ID3D11Device_Impl,
10688            const OFFSET: isize,
10689        >(
10690            this: *mut core::ffi::c_void,
10691            pshaderbytecode: *const core::ffi::c_void,
10692            bytecodelength: usize,
10693            pclasslinkage: *mut core::ffi::c_void,
10694            ppgeometryshader: *mut *mut core::ffi::c_void,
10695        ) -> windows_core::HRESULT {
10696            unsafe {
10697                let this: &Identity =
10698                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
10699                ID3D11Device_Impl::CreateGeometryShader(
10700                    this,
10701                    core::mem::transmute_copy(&pshaderbytecode),
10702                    core::mem::transmute_copy(&bytecodelength),
10703                    core::mem::transmute_copy(&pclasslinkage),
10704                    core::mem::transmute_copy(&ppgeometryshader),
10705                )
10706                .into()
10707            }
10708        }
10709        unsafe extern "system" fn CreateGeometryShaderWithStreamOutput<
10710            Identity: ID3D11Device_Impl,
10711            const OFFSET: isize,
10712        >(
10713            this: *mut core::ffi::c_void,
10714            pshaderbytecode: *const core::ffi::c_void,
10715            bytecodelength: usize,
10716            psodeclaration: *const D3D11_SO_DECLARATION_ENTRY,
10717            numentries: u32,
10718            pbufferstrides: *const u32,
10719            numstrides: u32,
10720            rasterizedstream: u32,
10721            pclasslinkage: *mut core::ffi::c_void,
10722            ppgeometryshader: *mut *mut core::ffi::c_void,
10723        ) -> windows_core::HRESULT {
10724            unsafe {
10725                let this: &Identity =
10726                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
10727                ID3D11Device_Impl::CreateGeometryShaderWithStreamOutput(
10728                    this,
10729                    core::mem::transmute_copy(&pshaderbytecode),
10730                    core::mem::transmute_copy(&bytecodelength),
10731                    core::mem::transmute_copy(&psodeclaration),
10732                    core::mem::transmute_copy(&numentries),
10733                    core::mem::transmute_copy(&pbufferstrides),
10734                    core::mem::transmute_copy(&numstrides),
10735                    core::mem::transmute_copy(&rasterizedstream),
10736                    core::mem::transmute_copy(&pclasslinkage),
10737                    core::mem::transmute_copy(&ppgeometryshader),
10738                )
10739                .into()
10740            }
10741        }
10742        unsafe extern "system" fn CreatePixelShader<
10743            Identity: ID3D11Device_Impl,
10744            const OFFSET: isize,
10745        >(
10746            this: *mut core::ffi::c_void,
10747            pshaderbytecode: *const core::ffi::c_void,
10748            bytecodelength: usize,
10749            pclasslinkage: *mut core::ffi::c_void,
10750            pppixelshader: *mut *mut core::ffi::c_void,
10751        ) -> windows_core::HRESULT {
10752            unsafe {
10753                let this: &Identity =
10754                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
10755                ID3D11Device_Impl::CreatePixelShader(
10756                    this,
10757                    core::mem::transmute_copy(&pshaderbytecode),
10758                    core::mem::transmute_copy(&bytecodelength),
10759                    core::mem::transmute_copy(&pclasslinkage),
10760                    core::mem::transmute_copy(&pppixelshader),
10761                )
10762                .into()
10763            }
10764        }
10765        unsafe extern "system" fn CreateHullShader<
10766            Identity: ID3D11Device_Impl,
10767            const OFFSET: isize,
10768        >(
10769            this: *mut core::ffi::c_void,
10770            pshaderbytecode: *const core::ffi::c_void,
10771            bytecodelength: usize,
10772            pclasslinkage: *mut core::ffi::c_void,
10773            pphullshader: *mut *mut core::ffi::c_void,
10774        ) -> windows_core::HRESULT {
10775            unsafe {
10776                let this: &Identity =
10777                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
10778                ID3D11Device_Impl::CreateHullShader(
10779                    this,
10780                    core::mem::transmute_copy(&pshaderbytecode),
10781                    core::mem::transmute_copy(&bytecodelength),
10782                    core::mem::transmute_copy(&pclasslinkage),
10783                    core::mem::transmute_copy(&pphullshader),
10784                )
10785                .into()
10786            }
10787        }
10788        unsafe extern "system" fn CreateDomainShader<
10789            Identity: ID3D11Device_Impl,
10790            const OFFSET: isize,
10791        >(
10792            this: *mut core::ffi::c_void,
10793            pshaderbytecode: *const core::ffi::c_void,
10794            bytecodelength: usize,
10795            pclasslinkage: *mut core::ffi::c_void,
10796            ppdomainshader: *mut *mut core::ffi::c_void,
10797        ) -> windows_core::HRESULT {
10798            unsafe {
10799                let this: &Identity =
10800                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
10801                ID3D11Device_Impl::CreateDomainShader(
10802                    this,
10803                    core::mem::transmute_copy(&pshaderbytecode),
10804                    core::mem::transmute_copy(&bytecodelength),
10805                    core::mem::transmute_copy(&pclasslinkage),
10806                    core::mem::transmute_copy(&ppdomainshader),
10807                )
10808                .into()
10809            }
10810        }
10811        unsafe extern "system" fn CreateComputeShader<
10812            Identity: ID3D11Device_Impl,
10813            const OFFSET: isize,
10814        >(
10815            this: *mut core::ffi::c_void,
10816            pshaderbytecode: *const core::ffi::c_void,
10817            bytecodelength: usize,
10818            pclasslinkage: *mut core::ffi::c_void,
10819            ppcomputeshader: *mut *mut core::ffi::c_void,
10820        ) -> windows_core::HRESULT {
10821            unsafe {
10822                let this: &Identity =
10823                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
10824                ID3D11Device_Impl::CreateComputeShader(
10825                    this,
10826                    core::mem::transmute_copy(&pshaderbytecode),
10827                    core::mem::transmute_copy(&bytecodelength),
10828                    core::mem::transmute_copy(&pclasslinkage),
10829                    core::mem::transmute_copy(&ppcomputeshader),
10830                )
10831                .into()
10832            }
10833        }
10834        unsafe extern "system" fn CreateClassLinkage<
10835            Identity: ID3D11Device_Impl,
10836            const OFFSET: isize,
10837        >(
10838            this: *mut core::ffi::c_void,
10839            pplinkage: *mut *mut core::ffi::c_void,
10840        ) -> windows_core::HRESULT {
10841            unsafe {
10842                let this: &Identity =
10843                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
10844                match ID3D11Device_Impl::CreateClassLinkage(this) {
10845                    Ok(ok__) => {
10846                        pplinkage.write(core::mem::transmute(ok__));
10847                        windows_core::HRESULT(0)
10848                    }
10849                    Err(err) => err.into(),
10850                }
10851            }
10852        }
10853        unsafe extern "system" fn CreateBlendState<
10854            Identity: ID3D11Device_Impl,
10855            const OFFSET: isize,
10856        >(
10857            this: *mut core::ffi::c_void,
10858            pblendstatedesc: *const D3D11_BLEND_DESC,
10859            ppblendstate: *mut *mut core::ffi::c_void,
10860        ) -> windows_core::HRESULT {
10861            unsafe {
10862                let this: &Identity =
10863                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
10864                ID3D11Device_Impl::CreateBlendState(
10865                    this,
10866                    core::mem::transmute_copy(&pblendstatedesc),
10867                    core::mem::transmute_copy(&ppblendstate),
10868                )
10869                .into()
10870            }
10871        }
10872        unsafe extern "system" fn CreateDepthStencilState<
10873            Identity: ID3D11Device_Impl,
10874            const OFFSET: isize,
10875        >(
10876            this: *mut core::ffi::c_void,
10877            pdepthstencildesc: *const D3D11_DEPTH_STENCIL_DESC,
10878            ppdepthstencilstate: *mut *mut core::ffi::c_void,
10879        ) -> windows_core::HRESULT {
10880            unsafe {
10881                let this: &Identity =
10882                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
10883                ID3D11Device_Impl::CreateDepthStencilState(
10884                    this,
10885                    core::mem::transmute_copy(&pdepthstencildesc),
10886                    core::mem::transmute_copy(&ppdepthstencilstate),
10887                )
10888                .into()
10889            }
10890        }
10891        unsafe extern "system" fn CreateRasterizerState<
10892            Identity: ID3D11Device_Impl,
10893            const OFFSET: isize,
10894        >(
10895            this: *mut core::ffi::c_void,
10896            prasterizerdesc: *const D3D11_RASTERIZER_DESC,
10897            pprasterizerstate: *mut *mut core::ffi::c_void,
10898        ) -> windows_core::HRESULT {
10899            unsafe {
10900                let this: &Identity =
10901                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
10902                ID3D11Device_Impl::CreateRasterizerState(
10903                    this,
10904                    core::mem::transmute_copy(&prasterizerdesc),
10905                    core::mem::transmute_copy(&pprasterizerstate),
10906                )
10907                .into()
10908            }
10909        }
10910        unsafe extern "system" fn CreateSamplerState<
10911            Identity: ID3D11Device_Impl,
10912            const OFFSET: isize,
10913        >(
10914            this: *mut core::ffi::c_void,
10915            psamplerdesc: *const D3D11_SAMPLER_DESC,
10916            ppsamplerstate: *mut *mut core::ffi::c_void,
10917        ) -> windows_core::HRESULT {
10918            unsafe {
10919                let this: &Identity =
10920                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
10921                ID3D11Device_Impl::CreateSamplerState(
10922                    this,
10923                    core::mem::transmute_copy(&psamplerdesc),
10924                    core::mem::transmute_copy(&ppsamplerstate),
10925                )
10926                .into()
10927            }
10928        }
10929        unsafe extern "system" fn CreateQuery<Identity: ID3D11Device_Impl, const OFFSET: isize>(
10930            this: *mut core::ffi::c_void,
10931            pquerydesc: *const D3D11_QUERY_DESC,
10932            ppquery: *mut *mut core::ffi::c_void,
10933        ) -> windows_core::HRESULT {
10934            unsafe {
10935                let this: &Identity =
10936                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
10937                ID3D11Device_Impl::CreateQuery(
10938                    this,
10939                    core::mem::transmute_copy(&pquerydesc),
10940                    core::mem::transmute_copy(&ppquery),
10941                )
10942                .into()
10943            }
10944        }
10945        unsafe extern "system" fn CreatePredicate<
10946            Identity: ID3D11Device_Impl,
10947            const OFFSET: isize,
10948        >(
10949            this: *mut core::ffi::c_void,
10950            ppredicatedesc: *const D3D11_QUERY_DESC,
10951            pppredicate: *mut *mut core::ffi::c_void,
10952        ) -> windows_core::HRESULT {
10953            unsafe {
10954                let this: &Identity =
10955                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
10956                ID3D11Device_Impl::CreatePredicate(
10957                    this,
10958                    core::mem::transmute_copy(&ppredicatedesc),
10959                    core::mem::transmute_copy(&pppredicate),
10960                )
10961                .into()
10962            }
10963        }
10964        unsafe extern "system" fn CreateCounter<
10965            Identity: ID3D11Device_Impl,
10966            const OFFSET: isize,
10967        >(
10968            this: *mut core::ffi::c_void,
10969            pcounterdesc: *const D3D11_COUNTER_DESC,
10970            ppcounter: *mut *mut core::ffi::c_void,
10971        ) -> windows_core::HRESULT {
10972            unsafe {
10973                let this: &Identity =
10974                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
10975                ID3D11Device_Impl::CreateCounter(
10976                    this,
10977                    core::mem::transmute_copy(&pcounterdesc),
10978                    core::mem::transmute_copy(&ppcounter),
10979                )
10980                .into()
10981            }
10982        }
10983        unsafe extern "system" fn CreateDeferredContext<
10984            Identity: ID3D11Device_Impl,
10985            const OFFSET: isize,
10986        >(
10987            this: *mut core::ffi::c_void,
10988            contextflags: u32,
10989            ppdeferredcontext: *mut *mut core::ffi::c_void,
10990        ) -> windows_core::HRESULT {
10991            unsafe {
10992                let this: &Identity =
10993                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
10994                ID3D11Device_Impl::CreateDeferredContext(
10995                    this,
10996                    core::mem::transmute_copy(&contextflags),
10997                    core::mem::transmute_copy(&ppdeferredcontext),
10998                )
10999                .into()
11000            }
11001        }
11002        unsafe extern "system" fn OpenSharedResource<
11003            Identity: ID3D11Device_Impl,
11004            const OFFSET: isize,
11005        >(
11006            this: *mut core::ffi::c_void,
11007            hresource: crate::Foundation::HANDLE,
11008            returnedinterface: *const windows_core::GUID,
11009            ppresource: *mut *mut core::ffi::c_void,
11010        ) -> windows_core::HRESULT {
11011            unsafe {
11012                let this: &Identity =
11013                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
11014                ID3D11Device_Impl::OpenSharedResource(
11015                    this,
11016                    core::mem::transmute_copy(&hresource),
11017                    core::mem::transmute_copy(&returnedinterface),
11018                    core::mem::transmute_copy(&ppresource),
11019                )
11020                .into()
11021            }
11022        }
11023        unsafe extern "system" fn CheckFormatSupport<
11024            Identity: ID3D11Device_Impl,
11025            const OFFSET: isize,
11026        >(
11027            this: *mut core::ffi::c_void,
11028            format: crate::Dxgi::Common::DXGI_FORMAT,
11029            pformatsupport: *mut u32,
11030        ) -> windows_core::HRESULT {
11031            unsafe {
11032                let this: &Identity =
11033                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
11034                match ID3D11Device_Impl::CheckFormatSupport(
11035                    this,
11036                    core::mem::transmute_copy(&format),
11037                ) {
11038                    Ok(ok__) => {
11039                        pformatsupport.write(core::mem::transmute(ok__));
11040                        windows_core::HRESULT(0)
11041                    }
11042                    Err(err) => err.into(),
11043                }
11044            }
11045        }
11046        unsafe extern "system" fn CheckMultisampleQualityLevels<
11047            Identity: ID3D11Device_Impl,
11048            const OFFSET: isize,
11049        >(
11050            this: *mut core::ffi::c_void,
11051            format: crate::Dxgi::Common::DXGI_FORMAT,
11052            samplecount: u32,
11053            pnumqualitylevels: *mut u32,
11054        ) -> windows_core::HRESULT {
11055            unsafe {
11056                let this: &Identity =
11057                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
11058                match ID3D11Device_Impl::CheckMultisampleQualityLevels(
11059                    this,
11060                    core::mem::transmute_copy(&format),
11061                    core::mem::transmute_copy(&samplecount),
11062                ) {
11063                    Ok(ok__) => {
11064                        pnumqualitylevels.write(core::mem::transmute(ok__));
11065                        windows_core::HRESULT(0)
11066                    }
11067                    Err(err) => err.into(),
11068                }
11069            }
11070        }
11071        unsafe extern "system" fn CheckCounterInfo<
11072            Identity: ID3D11Device_Impl,
11073            const OFFSET: isize,
11074        >(
11075            this: *mut core::ffi::c_void,
11076            pcounterinfo: *mut D3D11_COUNTER_INFO,
11077        ) {
11078            unsafe {
11079                let this: &Identity =
11080                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
11081                ID3D11Device_Impl::CheckCounterInfo(this, core::mem::transmute_copy(&pcounterinfo))
11082            }
11083        }
11084        unsafe extern "system" fn CheckCounter<Identity: ID3D11Device_Impl, const OFFSET: isize>(
11085            this: *mut core::ffi::c_void,
11086            pdesc: *const D3D11_COUNTER_DESC,
11087            ptype: *mut D3D11_COUNTER_TYPE,
11088            pactivecounters: *mut u32,
11089            szname: crate::core_supplemental::PSTR,
11090            pnamelength: *mut u32,
11091            szunits: crate::core_supplemental::PSTR,
11092            punitslength: *mut u32,
11093            szdescription: crate::core_supplemental::PSTR,
11094            pdescriptionlength: *mut u32,
11095        ) -> windows_core::HRESULT {
11096            unsafe {
11097                let this: &Identity =
11098                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
11099                ID3D11Device_Impl::CheckCounter(
11100                    this,
11101                    core::mem::transmute_copy(&pdesc),
11102                    core::mem::transmute_copy(&ptype),
11103                    core::mem::transmute_copy(&pactivecounters),
11104                    core::mem::transmute_copy(&szname),
11105                    core::mem::transmute_copy(&pnamelength),
11106                    core::mem::transmute_copy(&szunits),
11107                    core::mem::transmute_copy(&punitslength),
11108                    core::mem::transmute_copy(&szdescription),
11109                    core::mem::transmute_copy(&pdescriptionlength),
11110                )
11111                .into()
11112            }
11113        }
11114        unsafe extern "system" fn CheckFeatureSupport<
11115            Identity: ID3D11Device_Impl,
11116            const OFFSET: isize,
11117        >(
11118            this: *mut core::ffi::c_void,
11119            feature: D3D11_FEATURE,
11120            pfeaturesupportdata: *mut core::ffi::c_void,
11121            featuresupportdatasize: u32,
11122        ) -> windows_core::HRESULT {
11123            unsafe {
11124                let this: &Identity =
11125                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
11126                ID3D11Device_Impl::CheckFeatureSupport(
11127                    this,
11128                    core::mem::transmute_copy(&feature),
11129                    core::mem::transmute_copy(&pfeaturesupportdata),
11130                    core::mem::transmute_copy(&featuresupportdatasize),
11131                )
11132                .into()
11133            }
11134        }
11135        unsafe extern "system" fn GetPrivateData<
11136            Identity: ID3D11Device_Impl,
11137            const OFFSET: isize,
11138        >(
11139            this: *mut core::ffi::c_void,
11140            guid: *const windows_core::GUID,
11141            pdatasize: *mut u32,
11142            pdata: *mut core::ffi::c_void,
11143        ) -> windows_core::HRESULT {
11144            unsafe {
11145                let this: &Identity =
11146                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
11147                ID3D11Device_Impl::GetPrivateData(
11148                    this,
11149                    core::mem::transmute_copy(&guid),
11150                    core::mem::transmute_copy(&pdatasize),
11151                    core::mem::transmute_copy(&pdata),
11152                )
11153                .into()
11154            }
11155        }
11156        unsafe extern "system" fn SetPrivateData<
11157            Identity: ID3D11Device_Impl,
11158            const OFFSET: isize,
11159        >(
11160            this: *mut core::ffi::c_void,
11161            guid: *const windows_core::GUID,
11162            datasize: u32,
11163            pdata: *const core::ffi::c_void,
11164        ) -> windows_core::HRESULT {
11165            unsafe {
11166                let this: &Identity =
11167                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
11168                ID3D11Device_Impl::SetPrivateData(
11169                    this,
11170                    core::mem::transmute_copy(&guid),
11171                    core::mem::transmute_copy(&datasize),
11172                    core::mem::transmute_copy(&pdata),
11173                )
11174                .into()
11175            }
11176        }
11177        unsafe extern "system" fn SetPrivateDataInterface<
11178            Identity: ID3D11Device_Impl,
11179            const OFFSET: isize,
11180        >(
11181            this: *mut core::ffi::c_void,
11182            guid: *const windows_core::GUID,
11183            pdata: *mut core::ffi::c_void,
11184        ) -> windows_core::HRESULT {
11185            unsafe {
11186                let this: &Identity =
11187                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
11188                ID3D11Device_Impl::SetPrivateDataInterface(
11189                    this,
11190                    core::mem::transmute_copy(&guid),
11191                    core::mem::transmute_copy(&pdata),
11192                )
11193                .into()
11194            }
11195        }
11196        unsafe extern "system" fn GetFeatureLevel<
11197            Identity: ID3D11Device_Impl,
11198            const OFFSET: isize,
11199        >(
11200            this: *mut core::ffi::c_void,
11201        ) -> super::Direct3D::D3D_FEATURE_LEVEL {
11202            unsafe {
11203                let this: &Identity =
11204                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
11205                ID3D11Device_Impl::GetFeatureLevel(this)
11206            }
11207        }
11208        unsafe extern "system" fn GetCreationFlags<
11209            Identity: ID3D11Device_Impl,
11210            const OFFSET: isize,
11211        >(
11212            this: *mut core::ffi::c_void,
11213        ) -> u32 {
11214            unsafe {
11215                let this: &Identity =
11216                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
11217                ID3D11Device_Impl::GetCreationFlags(this)
11218            }
11219        }
11220        unsafe extern "system" fn GetDeviceRemovedReason<
11221            Identity: ID3D11Device_Impl,
11222            const OFFSET: isize,
11223        >(
11224            this: *mut core::ffi::c_void,
11225        ) -> windows_core::HRESULT {
11226            unsafe {
11227                let this: &Identity =
11228                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
11229                ID3D11Device_Impl::GetDeviceRemovedReason(this).into()
11230            }
11231        }
11232        unsafe extern "system" fn GetImmediateContext<
11233            Identity: ID3D11Device_Impl,
11234            const OFFSET: isize,
11235        >(
11236            this: *mut core::ffi::c_void,
11237            ppimmediatecontext: *mut *mut core::ffi::c_void,
11238        ) {
11239            unsafe {
11240                let this: &Identity =
11241                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
11242                ID3D11Device_Impl::GetImmediateContext(
11243                    this,
11244                    core::mem::transmute_copy(&ppimmediatecontext),
11245                )
11246            }
11247        }
11248        unsafe extern "system" fn SetExceptionMode<
11249            Identity: ID3D11Device_Impl,
11250            const OFFSET: isize,
11251        >(
11252            this: *mut core::ffi::c_void,
11253            raiseflags: u32,
11254        ) -> windows_core::HRESULT {
11255            unsafe {
11256                let this: &Identity =
11257                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
11258                ID3D11Device_Impl::SetExceptionMode(this, core::mem::transmute_copy(&raiseflags))
11259                    .into()
11260            }
11261        }
11262        unsafe extern "system" fn GetExceptionMode<
11263            Identity: ID3D11Device_Impl,
11264            const OFFSET: isize,
11265        >(
11266            this: *mut core::ffi::c_void,
11267        ) -> u32 {
11268            unsafe {
11269                let this: &Identity =
11270                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
11271                ID3D11Device_Impl::GetExceptionMode(this)
11272            }
11273        }
11274        Self {
11275            base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
11276            CreateBuffer: CreateBuffer::<Identity, OFFSET>,
11277            CreateTexture1D: CreateTexture1D::<Identity, OFFSET>,
11278            CreateTexture2D: CreateTexture2D::<Identity, OFFSET>,
11279            CreateTexture3D: CreateTexture3D::<Identity, OFFSET>,
11280            CreateShaderResourceView: CreateShaderResourceView::<Identity, OFFSET>,
11281            CreateUnorderedAccessView: CreateUnorderedAccessView::<Identity, OFFSET>,
11282            CreateRenderTargetView: CreateRenderTargetView::<Identity, OFFSET>,
11283            CreateDepthStencilView: CreateDepthStencilView::<Identity, OFFSET>,
11284            CreateInputLayout: CreateInputLayout::<Identity, OFFSET>,
11285            CreateVertexShader: CreateVertexShader::<Identity, OFFSET>,
11286            CreateGeometryShader: CreateGeometryShader::<Identity, OFFSET>,
11287            CreateGeometryShaderWithStreamOutput: CreateGeometryShaderWithStreamOutput::<
11288                Identity,
11289                OFFSET,
11290            >,
11291            CreatePixelShader: CreatePixelShader::<Identity, OFFSET>,
11292            CreateHullShader: CreateHullShader::<Identity, OFFSET>,
11293            CreateDomainShader: CreateDomainShader::<Identity, OFFSET>,
11294            CreateComputeShader: CreateComputeShader::<Identity, OFFSET>,
11295            CreateClassLinkage: CreateClassLinkage::<Identity, OFFSET>,
11296            CreateBlendState: CreateBlendState::<Identity, OFFSET>,
11297            CreateDepthStencilState: CreateDepthStencilState::<Identity, OFFSET>,
11298            CreateRasterizerState: CreateRasterizerState::<Identity, OFFSET>,
11299            CreateSamplerState: CreateSamplerState::<Identity, OFFSET>,
11300            CreateQuery: CreateQuery::<Identity, OFFSET>,
11301            CreatePredicate: CreatePredicate::<Identity, OFFSET>,
11302            CreateCounter: CreateCounter::<Identity, OFFSET>,
11303            CreateDeferredContext: CreateDeferredContext::<Identity, OFFSET>,
11304            OpenSharedResource: OpenSharedResource::<Identity, OFFSET>,
11305            CheckFormatSupport: CheckFormatSupport::<Identity, OFFSET>,
11306            CheckMultisampleQualityLevels: CheckMultisampleQualityLevels::<Identity, OFFSET>,
11307            CheckCounterInfo: CheckCounterInfo::<Identity, OFFSET>,
11308            CheckCounter: CheckCounter::<Identity, OFFSET>,
11309            CheckFeatureSupport: CheckFeatureSupport::<Identity, OFFSET>,
11310            GetPrivateData: GetPrivateData::<Identity, OFFSET>,
11311            SetPrivateData: SetPrivateData::<Identity, OFFSET>,
11312            SetPrivateDataInterface: SetPrivateDataInterface::<Identity, OFFSET>,
11313            GetFeatureLevel: GetFeatureLevel::<Identity, OFFSET>,
11314            GetCreationFlags: GetCreationFlags::<Identity, OFFSET>,
11315            GetDeviceRemovedReason: GetDeviceRemovedReason::<Identity, OFFSET>,
11316            GetImmediateContext: GetImmediateContext::<Identity, OFFSET>,
11317            SetExceptionMode: SetExceptionMode::<Identity, OFFSET>,
11318            GetExceptionMode: GetExceptionMode::<Identity, OFFSET>,
11319        }
11320    }
11321    pub fn matches(iid: &windows_core::GUID) -> bool {
11322        iid == &<ID3D11Device as windows_core::Interface>::IID
11323    }
11324}
11325#[cfg(all(
11326    feature = "Win32_Graphics_Direct3D",
11327    feature = "Win32_Graphics_Dxgi_Common"
11328))]
11329impl windows_core::RuntimeName for ID3D11Device {}
11330#[cfg(all(
11331    feature = "Win32_Graphics_Direct3D",
11332    feature = "Win32_Graphics_Dxgi_Common"
11333))]
11334unsafe impl Send for ID3D11Device {}
11335#[cfg(all(
11336    feature = "Win32_Graphics_Direct3D",
11337    feature = "Win32_Graphics_Dxgi_Common"
11338))]
11339unsafe impl Sync for ID3D11Device {}
11340windows_core::imp::define_interface!(
11341    ID3D11Device1,
11342    ID3D11Device1_Vtbl,
11343    0xa04bfb29_08ef_43d6_a49c_a9bdbdcbe686
11344);
11345impl core::ops::Deref for ID3D11Device1 {
11346    type Target = ID3D11Device;
11347    fn deref(&self) -> &Self::Target {
11348        unsafe { core::mem::transmute(self) }
11349    }
11350}
11351windows_core::imp::interface_hierarchy!(ID3D11Device1, windows_core::IUnknown, ID3D11Device);
11352impl ID3D11Device1 {
11353    pub unsafe fn GetImmediateContext1(&self) -> windows_core::Result<ID3D11DeviceContext1> {
11354        unsafe {
11355            let mut result__ = core::mem::zeroed();
11356            (windows_core::Interface::vtable(self).GetImmediateContext1)(
11357                windows_core::Interface::as_raw(self),
11358                &mut result__,
11359            );
11360            windows_core::Type::from_abi(result__)
11361        }
11362    }
11363    pub unsafe fn CreateDeferredContext1(
11364        &self,
11365        contextflags: u32,
11366        ppdeferredcontext: Option<*mut Option<ID3D11DeviceContext1>>,
11367    ) -> windows_core::Result<()> {
11368        unsafe {
11369            (windows_core::Interface::vtable(self).CreateDeferredContext1)(
11370                windows_core::Interface::as_raw(self),
11371                contextflags,
11372                core::mem::transmute(ppdeferredcontext.unwrap_or(core::mem::zeroed())),
11373            )
11374            .ok()
11375        }
11376    }
11377    pub unsafe fn CreateBlendState1(
11378        &self,
11379        pblendstatedesc: *const D3D11_BLEND_DESC1,
11380        ppblendstate: Option<*mut Option<ID3D11BlendState1>>,
11381    ) -> windows_core::Result<()> {
11382        unsafe {
11383            (windows_core::Interface::vtable(self).CreateBlendState1)(
11384                windows_core::Interface::as_raw(self),
11385                pblendstatedesc,
11386                core::mem::transmute(ppblendstate.unwrap_or(core::mem::zeroed())),
11387            )
11388            .ok()
11389        }
11390    }
11391    pub unsafe fn CreateRasterizerState1(
11392        &self,
11393        prasterizerdesc: *const D3D11_RASTERIZER_DESC1,
11394        pprasterizerstate: Option<*mut Option<ID3D11RasterizerState1>>,
11395    ) -> windows_core::Result<()> {
11396        unsafe {
11397            (windows_core::Interface::vtable(self).CreateRasterizerState1)(
11398                windows_core::Interface::as_raw(self),
11399                prasterizerdesc,
11400                core::mem::transmute(pprasterizerstate.unwrap_or(core::mem::zeroed())),
11401            )
11402            .ok()
11403        }
11404    }
11405    #[cfg(feature = "Win32_Graphics_Direct3D")]
11406    pub unsafe fn CreateDeviceContextState(
11407        &self,
11408        flags: u32,
11409        pfeaturelevels: &[super::Direct3D::D3D_FEATURE_LEVEL],
11410        sdkversion: u32,
11411        emulatedinterface: *const windows_core::GUID,
11412        pchosenfeaturelevel: Option<*mut super::Direct3D::D3D_FEATURE_LEVEL>,
11413        ppcontextstate: Option<*mut Option<ID3DDeviceContextState>>,
11414    ) -> windows_core::Result<()> {
11415        unsafe {
11416            (windows_core::Interface::vtable(self).CreateDeviceContextState)(
11417                windows_core::Interface::as_raw(self),
11418                flags,
11419                core::mem::transmute(pfeaturelevels.as_ptr()),
11420                pfeaturelevels.len().try_into().unwrap(),
11421                sdkversion,
11422                emulatedinterface,
11423                core::mem::transmute(pchosenfeaturelevel.unwrap_or(core::mem::zeroed())),
11424                core::mem::transmute(ppcontextstate.unwrap_or(core::mem::zeroed())),
11425            )
11426            .ok()
11427        }
11428    }
11429    pub unsafe fn OpenSharedResource1<T>(
11430        &self,
11431        hresource: crate::Foundation::HANDLE,
11432    ) -> windows_core::Result<T>
11433    where
11434        T: windows_core::Interface,
11435    {
11436        let mut result__ = core::ptr::null_mut();
11437        unsafe {
11438            (windows_core::Interface::vtable(self).OpenSharedResource1)(
11439                windows_core::Interface::as_raw(self),
11440                hresource,
11441                &T::IID,
11442                &mut result__,
11443            )
11444            .and_then(|| windows_core::Type::from_abi(result__))
11445        }
11446    }
11447    pub unsafe fn OpenSharedResourceByName<P0, T>(
11448        &self,
11449        lpname: P0,
11450        dwdesiredaccess: u32,
11451    ) -> windows_core::Result<T>
11452    where
11453        P0: windows_core::Param<crate::core_supplemental::PCWSTR>,
11454        T: windows_core::Interface,
11455    {
11456        let mut result__ = core::ptr::null_mut();
11457        unsafe {
11458            (windows_core::Interface::vtable(self).OpenSharedResourceByName)(
11459                windows_core::Interface::as_raw(self),
11460                lpname.param().abi(),
11461                dwdesiredaccess,
11462                &T::IID,
11463                &mut result__,
11464            )
11465            .and_then(|| windows_core::Type::from_abi(result__))
11466        }
11467    }
11468}
11469#[repr(C)]
11470pub struct ID3D11Device1_Vtbl {
11471    pub base__: ID3D11Device_Vtbl,
11472    pub GetImmediateContext1:
11473        unsafe extern "system" fn(*mut core::ffi::c_void, *mut *mut core::ffi::c_void),
11474    pub CreateDeferredContext1: unsafe extern "system" fn(
11475        *mut core::ffi::c_void,
11476        u32,
11477        *mut *mut core::ffi::c_void,
11478    ) -> windows_core::HRESULT,
11479    pub CreateBlendState1: unsafe extern "system" fn(
11480        *mut core::ffi::c_void,
11481        *const D3D11_BLEND_DESC1,
11482        *mut *mut core::ffi::c_void,
11483    ) -> windows_core::HRESULT,
11484    pub CreateRasterizerState1: unsafe extern "system" fn(
11485        *mut core::ffi::c_void,
11486        *const D3D11_RASTERIZER_DESC1,
11487        *mut *mut core::ffi::c_void,
11488    ) -> windows_core::HRESULT,
11489    #[cfg(feature = "Win32_Graphics_Direct3D")]
11490    pub CreateDeviceContextState: unsafe extern "system" fn(
11491        *mut core::ffi::c_void,
11492        u32,
11493        *const super::Direct3D::D3D_FEATURE_LEVEL,
11494        u32,
11495        u32,
11496        *const windows_core::GUID,
11497        *mut super::Direct3D::D3D_FEATURE_LEVEL,
11498        *mut *mut core::ffi::c_void,
11499    ) -> windows_core::HRESULT,
11500    #[cfg(not(feature = "Win32_Graphics_Direct3D"))]
11501    CreateDeviceContextState: usize,
11502    pub OpenSharedResource1: unsafe extern "system" fn(
11503        *mut core::ffi::c_void,
11504        crate::Foundation::HANDLE,
11505        *const windows_core::GUID,
11506        *mut *mut core::ffi::c_void,
11507    ) -> windows_core::HRESULT,
11508    pub OpenSharedResourceByName: unsafe extern "system" fn(
11509        *mut core::ffi::c_void,
11510        crate::core_supplemental::PCWSTR,
11511        u32,
11512        *const windows_core::GUID,
11513        *mut *mut core::ffi::c_void,
11514    ) -> windows_core::HRESULT,
11515}
11516#[cfg(all(
11517    feature = "Win32_Graphics_Direct3D",
11518    feature = "Win32_Graphics_Dxgi_Common"
11519))]
11520pub trait ID3D11Device1_Impl: ID3D11Device_Impl {
11521    fn GetImmediateContext1(
11522        &self,
11523        ppimmediatecontext: windows_core::OutRef<'_, ID3D11DeviceContext1>,
11524    );
11525    fn CreateDeferredContext1(
11526        &self,
11527        contextflags: u32,
11528        ppdeferredcontext: windows_core::OutRef<'_, ID3D11DeviceContext1>,
11529    ) -> windows_core::Result<()>;
11530    fn CreateBlendState1(
11531        &self,
11532        pblendstatedesc: *const D3D11_BLEND_DESC1,
11533        ppblendstate: windows_core::OutRef<'_, ID3D11BlendState1>,
11534    ) -> windows_core::Result<()>;
11535    fn CreateRasterizerState1(
11536        &self,
11537        prasterizerdesc: *const D3D11_RASTERIZER_DESC1,
11538        pprasterizerstate: windows_core::OutRef<'_, ID3D11RasterizerState1>,
11539    ) -> windows_core::Result<()>;
11540    fn CreateDeviceContextState(
11541        &self,
11542        flags: u32,
11543        pfeaturelevels: *const super::Direct3D::D3D_FEATURE_LEVEL,
11544        featurelevels: u32,
11545        sdkversion: u32,
11546        emulatedinterface: *const windows_core::GUID,
11547        pchosenfeaturelevel: *mut super::Direct3D::D3D_FEATURE_LEVEL,
11548        ppcontextstate: windows_core::OutRef<'_, ID3DDeviceContextState>,
11549    ) -> windows_core::Result<()>;
11550    fn OpenSharedResource1(
11551        &self,
11552        hresource: crate::Foundation::HANDLE,
11553        returnedinterface: *const windows_core::GUID,
11554        ppresource: *mut *mut core::ffi::c_void,
11555    ) -> windows_core::Result<()>;
11556    fn OpenSharedResourceByName(
11557        &self,
11558        lpname: &crate::core_supplemental::PCWSTR,
11559        dwdesiredaccess: u32,
11560        returnedinterface: *const windows_core::GUID,
11561        ppresource: *mut *mut core::ffi::c_void,
11562    ) -> windows_core::Result<()>;
11563}
11564#[cfg(all(
11565    feature = "Win32_Graphics_Direct3D",
11566    feature = "Win32_Graphics_Dxgi_Common"
11567))]
11568impl ID3D11Device1_Vtbl {
11569    pub const fn new<Identity: ID3D11Device1_Impl, const OFFSET: isize>() -> Self {
11570        unsafe extern "system" fn GetImmediateContext1<
11571            Identity: ID3D11Device1_Impl,
11572            const OFFSET: isize,
11573        >(
11574            this: *mut core::ffi::c_void,
11575            ppimmediatecontext: *mut *mut core::ffi::c_void,
11576        ) {
11577            unsafe {
11578                let this: &Identity =
11579                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
11580                ID3D11Device1_Impl::GetImmediateContext1(
11581                    this,
11582                    core::mem::transmute_copy(&ppimmediatecontext),
11583                )
11584            }
11585        }
11586        unsafe extern "system" fn CreateDeferredContext1<
11587            Identity: ID3D11Device1_Impl,
11588            const OFFSET: isize,
11589        >(
11590            this: *mut core::ffi::c_void,
11591            contextflags: u32,
11592            ppdeferredcontext: *mut *mut core::ffi::c_void,
11593        ) -> windows_core::HRESULT {
11594            unsafe {
11595                let this: &Identity =
11596                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
11597                ID3D11Device1_Impl::CreateDeferredContext1(
11598                    this,
11599                    core::mem::transmute_copy(&contextflags),
11600                    core::mem::transmute_copy(&ppdeferredcontext),
11601                )
11602                .into()
11603            }
11604        }
11605        unsafe extern "system" fn CreateBlendState1<
11606            Identity: ID3D11Device1_Impl,
11607            const OFFSET: isize,
11608        >(
11609            this: *mut core::ffi::c_void,
11610            pblendstatedesc: *const D3D11_BLEND_DESC1,
11611            ppblendstate: *mut *mut core::ffi::c_void,
11612        ) -> windows_core::HRESULT {
11613            unsafe {
11614                let this: &Identity =
11615                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
11616                ID3D11Device1_Impl::CreateBlendState1(
11617                    this,
11618                    core::mem::transmute_copy(&pblendstatedesc),
11619                    core::mem::transmute_copy(&ppblendstate),
11620                )
11621                .into()
11622            }
11623        }
11624        unsafe extern "system" fn CreateRasterizerState1<
11625            Identity: ID3D11Device1_Impl,
11626            const OFFSET: isize,
11627        >(
11628            this: *mut core::ffi::c_void,
11629            prasterizerdesc: *const D3D11_RASTERIZER_DESC1,
11630            pprasterizerstate: *mut *mut core::ffi::c_void,
11631        ) -> windows_core::HRESULT {
11632            unsafe {
11633                let this: &Identity =
11634                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
11635                ID3D11Device1_Impl::CreateRasterizerState1(
11636                    this,
11637                    core::mem::transmute_copy(&prasterizerdesc),
11638                    core::mem::transmute_copy(&pprasterizerstate),
11639                )
11640                .into()
11641            }
11642        }
11643        unsafe extern "system" fn CreateDeviceContextState<
11644            Identity: ID3D11Device1_Impl,
11645            const OFFSET: isize,
11646        >(
11647            this: *mut core::ffi::c_void,
11648            flags: u32,
11649            pfeaturelevels: *const super::Direct3D::D3D_FEATURE_LEVEL,
11650            featurelevels: u32,
11651            sdkversion: u32,
11652            emulatedinterface: *const windows_core::GUID,
11653            pchosenfeaturelevel: *mut super::Direct3D::D3D_FEATURE_LEVEL,
11654            ppcontextstate: *mut *mut core::ffi::c_void,
11655        ) -> windows_core::HRESULT {
11656            unsafe {
11657                let this: &Identity =
11658                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
11659                ID3D11Device1_Impl::CreateDeviceContextState(
11660                    this,
11661                    core::mem::transmute_copy(&flags),
11662                    core::mem::transmute_copy(&pfeaturelevels),
11663                    core::mem::transmute_copy(&featurelevels),
11664                    core::mem::transmute_copy(&sdkversion),
11665                    core::mem::transmute_copy(&emulatedinterface),
11666                    core::mem::transmute_copy(&pchosenfeaturelevel),
11667                    core::mem::transmute_copy(&ppcontextstate),
11668                )
11669                .into()
11670            }
11671        }
11672        unsafe extern "system" fn OpenSharedResource1<
11673            Identity: ID3D11Device1_Impl,
11674            const OFFSET: isize,
11675        >(
11676            this: *mut core::ffi::c_void,
11677            hresource: crate::Foundation::HANDLE,
11678            returnedinterface: *const windows_core::GUID,
11679            ppresource: *mut *mut core::ffi::c_void,
11680        ) -> windows_core::HRESULT {
11681            unsafe {
11682                let this: &Identity =
11683                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
11684                ID3D11Device1_Impl::OpenSharedResource1(
11685                    this,
11686                    core::mem::transmute_copy(&hresource),
11687                    core::mem::transmute_copy(&returnedinterface),
11688                    core::mem::transmute_copy(&ppresource),
11689                )
11690                .into()
11691            }
11692        }
11693        unsafe extern "system" fn OpenSharedResourceByName<
11694            Identity: ID3D11Device1_Impl,
11695            const OFFSET: isize,
11696        >(
11697            this: *mut core::ffi::c_void,
11698            lpname: crate::core_supplemental::PCWSTR,
11699            dwdesiredaccess: u32,
11700            returnedinterface: *const windows_core::GUID,
11701            ppresource: *mut *mut core::ffi::c_void,
11702        ) -> windows_core::HRESULT {
11703            unsafe {
11704                let this: &Identity =
11705                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
11706                ID3D11Device1_Impl::OpenSharedResourceByName(
11707                    this,
11708                    core::mem::transmute(&lpname),
11709                    core::mem::transmute_copy(&dwdesiredaccess),
11710                    core::mem::transmute_copy(&returnedinterface),
11711                    core::mem::transmute_copy(&ppresource),
11712                )
11713                .into()
11714            }
11715        }
11716        Self {
11717            base__: ID3D11Device_Vtbl::new::<Identity, OFFSET>(),
11718            GetImmediateContext1: GetImmediateContext1::<Identity, OFFSET>,
11719            CreateDeferredContext1: CreateDeferredContext1::<Identity, OFFSET>,
11720            CreateBlendState1: CreateBlendState1::<Identity, OFFSET>,
11721            CreateRasterizerState1: CreateRasterizerState1::<Identity, OFFSET>,
11722            CreateDeviceContextState: CreateDeviceContextState::<Identity, OFFSET>,
11723            OpenSharedResource1: OpenSharedResource1::<Identity, OFFSET>,
11724            OpenSharedResourceByName: OpenSharedResourceByName::<Identity, OFFSET>,
11725        }
11726    }
11727    pub fn matches(iid: &windows_core::GUID) -> bool {
11728        iid == &<ID3D11Device1 as windows_core::Interface>::IID
11729            || iid == &<ID3D11Device as windows_core::Interface>::IID
11730    }
11731}
11732#[cfg(all(
11733    feature = "Win32_Graphics_Direct3D",
11734    feature = "Win32_Graphics_Dxgi_Common"
11735))]
11736impl windows_core::RuntimeName for ID3D11Device1 {}
11737#[cfg(all(
11738    feature = "Win32_Graphics_Direct3D",
11739    feature = "Win32_Graphics_Dxgi_Common"
11740))]
11741unsafe impl Send for ID3D11Device1 {}
11742#[cfg(all(
11743    feature = "Win32_Graphics_Direct3D",
11744    feature = "Win32_Graphics_Dxgi_Common"
11745))]
11746unsafe impl Sync for ID3D11Device1 {}
11747windows_core::imp::define_interface!(
11748    ID3D11Device2,
11749    ID3D11Device2_Vtbl,
11750    0x9d06dffa_d1e5_4d07_83a8_1bb123f2f841
11751);
11752impl core::ops::Deref for ID3D11Device2 {
11753    type Target = ID3D11Device1;
11754    fn deref(&self) -> &Self::Target {
11755        unsafe { core::mem::transmute(self) }
11756    }
11757}
11758windows_core::imp::interface_hierarchy!(
11759    ID3D11Device2,
11760    windows_core::IUnknown,
11761    ID3D11Device,
11762    ID3D11Device1
11763);
11764impl ID3D11Device2 {
11765    pub unsafe fn GetImmediateContext2(&self) -> windows_core::Result<ID3D11DeviceContext2> {
11766        unsafe {
11767            let mut result__ = core::mem::zeroed();
11768            (windows_core::Interface::vtable(self).GetImmediateContext2)(
11769                windows_core::Interface::as_raw(self),
11770                &mut result__,
11771            );
11772            windows_core::Type::from_abi(result__)
11773        }
11774    }
11775    pub unsafe fn CreateDeferredContext2(
11776        &self,
11777        contextflags: u32,
11778        ppdeferredcontext: Option<*mut Option<ID3D11DeviceContext2>>,
11779    ) -> windows_core::Result<()> {
11780        unsafe {
11781            (windows_core::Interface::vtable(self).CreateDeferredContext2)(
11782                windows_core::Interface::as_raw(self),
11783                contextflags,
11784                core::mem::transmute(ppdeferredcontext.unwrap_or(core::mem::zeroed())),
11785            )
11786            .ok()
11787        }
11788    }
11789    pub unsafe fn GetResourceTiling<P0>(
11790        &self,
11791        ptiledresource: P0,
11792        pnumtilesforentireresource: Option<*mut u32>,
11793        ppackedmipdesc: Option<*mut D3D11_PACKED_MIP_DESC>,
11794        pstandardtileshapefornonpackedmips: Option<*mut D3D11_TILE_SHAPE>,
11795        pnumsubresourcetilings: Option<*mut u32>,
11796        firstsubresourcetilingtoget: u32,
11797        psubresourcetilingsfornonpackedmips: *mut D3D11_SUBRESOURCE_TILING,
11798    ) where
11799        P0: windows_core::Param<ID3D11Resource>,
11800    {
11801        unsafe {
11802            (windows_core::Interface::vtable(self).GetResourceTiling)(
11803                windows_core::Interface::as_raw(self),
11804                ptiledresource.param().abi(),
11805                core::mem::transmute(pnumtilesforentireresource.unwrap_or(core::mem::zeroed())),
11806                core::mem::transmute(ppackedmipdesc.unwrap_or(core::mem::zeroed())),
11807                core::mem::transmute(
11808                    pstandardtileshapefornonpackedmips.unwrap_or(core::mem::zeroed()),
11809                ),
11810                core::mem::transmute(pnumsubresourcetilings.unwrap_or(core::mem::zeroed())),
11811                firstsubresourcetilingtoget,
11812                core::mem::transmute(psubresourcetilingsfornonpackedmips),
11813            )
11814        }
11815    }
11816    #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
11817    pub unsafe fn CheckMultisampleQualityLevels1(
11818        &self,
11819        format: crate::Dxgi::Common::DXGI_FORMAT,
11820        samplecount: u32,
11821        flags: u32,
11822    ) -> windows_core::Result<u32> {
11823        unsafe {
11824            let mut result__ = core::mem::zeroed();
11825            (windows_core::Interface::vtable(self).CheckMultisampleQualityLevels1)(
11826                windows_core::Interface::as_raw(self),
11827                format,
11828                samplecount,
11829                flags,
11830                &mut result__,
11831            )
11832            .map(|| result__)
11833        }
11834    }
11835}
11836#[repr(C)]
11837pub struct ID3D11Device2_Vtbl {
11838    pub base__: ID3D11Device1_Vtbl,
11839    pub GetImmediateContext2:
11840        unsafe extern "system" fn(*mut core::ffi::c_void, *mut *mut core::ffi::c_void),
11841    pub CreateDeferredContext2: unsafe extern "system" fn(
11842        *mut core::ffi::c_void,
11843        u32,
11844        *mut *mut core::ffi::c_void,
11845    ) -> windows_core::HRESULT,
11846    pub GetResourceTiling: unsafe extern "system" fn(
11847        *mut core::ffi::c_void,
11848        *mut core::ffi::c_void,
11849        *mut u32,
11850        *mut D3D11_PACKED_MIP_DESC,
11851        *mut D3D11_TILE_SHAPE,
11852        *mut u32,
11853        u32,
11854        *mut D3D11_SUBRESOURCE_TILING,
11855    ),
11856    #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
11857    pub CheckMultisampleQualityLevels1: unsafe extern "system" fn(
11858        *mut core::ffi::c_void,
11859        crate::Dxgi::Common::DXGI_FORMAT,
11860        u32,
11861        u32,
11862        *mut u32,
11863    ) -> windows_core::HRESULT,
11864    #[cfg(not(feature = "Win32_Graphics_Dxgi_Common"))]
11865    CheckMultisampleQualityLevels1: usize,
11866}
11867#[cfg(all(
11868    feature = "Win32_Graphics_Direct3D",
11869    feature = "Win32_Graphics_Dxgi_Common"
11870))]
11871pub trait ID3D11Device2_Impl: ID3D11Device1_Impl {
11872    fn GetImmediateContext2(
11873        &self,
11874        ppimmediatecontext: windows_core::OutRef<'_, ID3D11DeviceContext2>,
11875    );
11876    fn CreateDeferredContext2(
11877        &self,
11878        contextflags: u32,
11879        ppdeferredcontext: windows_core::OutRef<'_, ID3D11DeviceContext2>,
11880    ) -> windows_core::Result<()>;
11881    fn GetResourceTiling(
11882        &self,
11883        ptiledresource: windows_core::Ref<'_, ID3D11Resource>,
11884        pnumtilesforentireresource: *mut u32,
11885        ppackedmipdesc: *mut D3D11_PACKED_MIP_DESC,
11886        pstandardtileshapefornonpackedmips: *mut D3D11_TILE_SHAPE,
11887        pnumsubresourcetilings: *mut u32,
11888        firstsubresourcetilingtoget: u32,
11889        psubresourcetilingsfornonpackedmips: *mut D3D11_SUBRESOURCE_TILING,
11890    );
11891    fn CheckMultisampleQualityLevels1(
11892        &self,
11893        format: crate::Dxgi::Common::DXGI_FORMAT,
11894        samplecount: u32,
11895        flags: u32,
11896    ) -> windows_core::Result<u32>;
11897}
11898#[cfg(all(
11899    feature = "Win32_Graphics_Direct3D",
11900    feature = "Win32_Graphics_Dxgi_Common"
11901))]
11902impl ID3D11Device2_Vtbl {
11903    pub const fn new<Identity: ID3D11Device2_Impl, const OFFSET: isize>() -> Self {
11904        unsafe extern "system" fn GetImmediateContext2<
11905            Identity: ID3D11Device2_Impl,
11906            const OFFSET: isize,
11907        >(
11908            this: *mut core::ffi::c_void,
11909            ppimmediatecontext: *mut *mut core::ffi::c_void,
11910        ) {
11911            unsafe {
11912                let this: &Identity =
11913                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
11914                ID3D11Device2_Impl::GetImmediateContext2(
11915                    this,
11916                    core::mem::transmute_copy(&ppimmediatecontext),
11917                )
11918            }
11919        }
11920        unsafe extern "system" fn CreateDeferredContext2<
11921            Identity: ID3D11Device2_Impl,
11922            const OFFSET: isize,
11923        >(
11924            this: *mut core::ffi::c_void,
11925            contextflags: u32,
11926            ppdeferredcontext: *mut *mut core::ffi::c_void,
11927        ) -> windows_core::HRESULT {
11928            unsafe {
11929                let this: &Identity =
11930                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
11931                ID3D11Device2_Impl::CreateDeferredContext2(
11932                    this,
11933                    core::mem::transmute_copy(&contextflags),
11934                    core::mem::transmute_copy(&ppdeferredcontext),
11935                )
11936                .into()
11937            }
11938        }
11939        unsafe extern "system" fn GetResourceTiling<
11940            Identity: ID3D11Device2_Impl,
11941            const OFFSET: isize,
11942        >(
11943            this: *mut core::ffi::c_void,
11944            ptiledresource: *mut core::ffi::c_void,
11945            pnumtilesforentireresource: *mut u32,
11946            ppackedmipdesc: *mut D3D11_PACKED_MIP_DESC,
11947            pstandardtileshapefornonpackedmips: *mut D3D11_TILE_SHAPE,
11948            pnumsubresourcetilings: *mut u32,
11949            firstsubresourcetilingtoget: u32,
11950            psubresourcetilingsfornonpackedmips: *mut D3D11_SUBRESOURCE_TILING,
11951        ) {
11952            unsafe {
11953                let this: &Identity =
11954                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
11955                ID3D11Device2_Impl::GetResourceTiling(
11956                    this,
11957                    core::mem::transmute_copy(&ptiledresource),
11958                    core::mem::transmute_copy(&pnumtilesforentireresource),
11959                    core::mem::transmute_copy(&ppackedmipdesc),
11960                    core::mem::transmute_copy(&pstandardtileshapefornonpackedmips),
11961                    core::mem::transmute_copy(&pnumsubresourcetilings),
11962                    core::mem::transmute_copy(&firstsubresourcetilingtoget),
11963                    core::mem::transmute_copy(&psubresourcetilingsfornonpackedmips),
11964                )
11965            }
11966        }
11967        unsafe extern "system" fn CheckMultisampleQualityLevels1<
11968            Identity: ID3D11Device2_Impl,
11969            const OFFSET: isize,
11970        >(
11971            this: *mut core::ffi::c_void,
11972            format: crate::Dxgi::Common::DXGI_FORMAT,
11973            samplecount: u32,
11974            flags: u32,
11975            pnumqualitylevels: *mut u32,
11976        ) -> windows_core::HRESULT {
11977            unsafe {
11978                let this: &Identity =
11979                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
11980                match ID3D11Device2_Impl::CheckMultisampleQualityLevels1(
11981                    this,
11982                    core::mem::transmute_copy(&format),
11983                    core::mem::transmute_copy(&samplecount),
11984                    core::mem::transmute_copy(&flags),
11985                ) {
11986                    Ok(ok__) => {
11987                        pnumqualitylevels.write(core::mem::transmute(ok__));
11988                        windows_core::HRESULT(0)
11989                    }
11990                    Err(err) => err.into(),
11991                }
11992            }
11993        }
11994        Self {
11995            base__: ID3D11Device1_Vtbl::new::<Identity, OFFSET>(),
11996            GetImmediateContext2: GetImmediateContext2::<Identity, OFFSET>,
11997            CreateDeferredContext2: CreateDeferredContext2::<Identity, OFFSET>,
11998            GetResourceTiling: GetResourceTiling::<Identity, OFFSET>,
11999            CheckMultisampleQualityLevels1: CheckMultisampleQualityLevels1::<Identity, OFFSET>,
12000        }
12001    }
12002    pub fn matches(iid: &windows_core::GUID) -> bool {
12003        iid == &<ID3D11Device2 as windows_core::Interface>::IID
12004            || iid == &<ID3D11Device as windows_core::Interface>::IID
12005            || iid == &<ID3D11Device1 as windows_core::Interface>::IID
12006    }
12007}
12008#[cfg(all(
12009    feature = "Win32_Graphics_Direct3D",
12010    feature = "Win32_Graphics_Dxgi_Common"
12011))]
12012impl windows_core::RuntimeName for ID3D11Device2 {}
12013#[cfg(all(
12014    feature = "Win32_Graphics_Direct3D",
12015    feature = "Win32_Graphics_Dxgi_Common"
12016))]
12017unsafe impl Send for ID3D11Device2 {}
12018#[cfg(all(
12019    feature = "Win32_Graphics_Direct3D",
12020    feature = "Win32_Graphics_Dxgi_Common"
12021))]
12022unsafe impl Sync for ID3D11Device2 {}
12023windows_core::imp::define_interface!(
12024    ID3D11Device3,
12025    ID3D11Device3_Vtbl,
12026    0xa05c8c37_d2c6_4732_b3a0_9ce0b0dc9ae6
12027);
12028impl core::ops::Deref for ID3D11Device3 {
12029    type Target = ID3D11Device2;
12030    fn deref(&self) -> &Self::Target {
12031        unsafe { core::mem::transmute(self) }
12032    }
12033}
12034windows_core::imp::interface_hierarchy!(
12035    ID3D11Device3,
12036    windows_core::IUnknown,
12037    ID3D11Device,
12038    ID3D11Device1,
12039    ID3D11Device2
12040);
12041impl ID3D11Device3 {
12042    #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
12043    pub unsafe fn CreateTexture2D1(
12044        &self,
12045        pdesc1: *const D3D11_TEXTURE2D_DESC1,
12046        pinitialdata: Option<*const D3D11_SUBRESOURCE_DATA>,
12047        pptexture2d: Option<*mut Option<ID3D11Texture2D1>>,
12048    ) -> windows_core::Result<()> {
12049        unsafe {
12050            (windows_core::Interface::vtable(self).CreateTexture2D1)(
12051                windows_core::Interface::as_raw(self),
12052                pdesc1,
12053                core::mem::transmute(pinitialdata.unwrap_or(core::mem::zeroed())),
12054                core::mem::transmute(pptexture2d.unwrap_or(core::mem::zeroed())),
12055            )
12056            .ok()
12057        }
12058    }
12059    #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
12060    pub unsafe fn CreateTexture3D1(
12061        &self,
12062        pdesc1: *const D3D11_TEXTURE3D_DESC1,
12063        pinitialdata: Option<*const D3D11_SUBRESOURCE_DATA>,
12064        pptexture3d: Option<*mut Option<ID3D11Texture3D1>>,
12065    ) -> windows_core::Result<()> {
12066        unsafe {
12067            (windows_core::Interface::vtable(self).CreateTexture3D1)(
12068                windows_core::Interface::as_raw(self),
12069                pdesc1,
12070                core::mem::transmute(pinitialdata.unwrap_or(core::mem::zeroed())),
12071                core::mem::transmute(pptexture3d.unwrap_or(core::mem::zeroed())),
12072            )
12073            .ok()
12074        }
12075    }
12076    pub unsafe fn CreateRasterizerState2(
12077        &self,
12078        prasterizerdesc: *const D3D11_RASTERIZER_DESC2,
12079        pprasterizerstate: Option<*mut Option<ID3D11RasterizerState2>>,
12080    ) -> windows_core::Result<()> {
12081        unsafe {
12082            (windows_core::Interface::vtable(self).CreateRasterizerState2)(
12083                windows_core::Interface::as_raw(self),
12084                prasterizerdesc,
12085                core::mem::transmute(pprasterizerstate.unwrap_or(core::mem::zeroed())),
12086            )
12087            .ok()
12088        }
12089    }
12090    #[cfg(all(
12091        feature = "Win32_Graphics_Direct3D",
12092        feature = "Win32_Graphics_Dxgi_Common"
12093    ))]
12094    pub unsafe fn CreateShaderResourceView1<P0>(
12095        &self,
12096        presource: P0,
12097        pdesc1: Option<*const D3D11_SHADER_RESOURCE_VIEW_DESC1>,
12098        ppsrview1: Option<*mut Option<ID3D11ShaderResourceView1>>,
12099    ) -> windows_core::Result<()>
12100    where
12101        P0: windows_core::Param<ID3D11Resource>,
12102    {
12103        unsafe {
12104            (windows_core::Interface::vtable(self).CreateShaderResourceView1)(
12105                windows_core::Interface::as_raw(self),
12106                presource.param().abi(),
12107                core::mem::transmute(pdesc1.unwrap_or(core::mem::zeroed())),
12108                core::mem::transmute(ppsrview1.unwrap_or(core::mem::zeroed())),
12109            )
12110            .ok()
12111        }
12112    }
12113    #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
12114    pub unsafe fn CreateUnorderedAccessView1<P0>(
12115        &self,
12116        presource: P0,
12117        pdesc1: Option<*const D3D11_UNORDERED_ACCESS_VIEW_DESC1>,
12118        ppuaview1: Option<*mut Option<ID3D11UnorderedAccessView1>>,
12119    ) -> windows_core::Result<()>
12120    where
12121        P0: windows_core::Param<ID3D11Resource>,
12122    {
12123        unsafe {
12124            (windows_core::Interface::vtable(self).CreateUnorderedAccessView1)(
12125                windows_core::Interface::as_raw(self),
12126                presource.param().abi(),
12127                core::mem::transmute(pdesc1.unwrap_or(core::mem::zeroed())),
12128                core::mem::transmute(ppuaview1.unwrap_or(core::mem::zeroed())),
12129            )
12130            .ok()
12131        }
12132    }
12133    #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
12134    pub unsafe fn CreateRenderTargetView1<P0>(
12135        &self,
12136        presource: P0,
12137        pdesc1: Option<*const D3D11_RENDER_TARGET_VIEW_DESC1>,
12138        pprtview1: Option<*mut Option<ID3D11RenderTargetView1>>,
12139    ) -> windows_core::Result<()>
12140    where
12141        P0: windows_core::Param<ID3D11Resource>,
12142    {
12143        unsafe {
12144            (windows_core::Interface::vtable(self).CreateRenderTargetView1)(
12145                windows_core::Interface::as_raw(self),
12146                presource.param().abi(),
12147                core::mem::transmute(pdesc1.unwrap_or(core::mem::zeroed())),
12148                core::mem::transmute(pprtview1.unwrap_or(core::mem::zeroed())),
12149            )
12150            .ok()
12151        }
12152    }
12153    pub unsafe fn CreateQuery1(
12154        &self,
12155        pquerydesc1: *const D3D11_QUERY_DESC1,
12156        ppquery1: Option<*mut Option<ID3D11Query1>>,
12157    ) -> windows_core::Result<()> {
12158        unsafe {
12159            (windows_core::Interface::vtable(self).CreateQuery1)(
12160                windows_core::Interface::as_raw(self),
12161                pquerydesc1,
12162                core::mem::transmute(ppquery1.unwrap_or(core::mem::zeroed())),
12163            )
12164            .ok()
12165        }
12166    }
12167    pub unsafe fn GetImmediateContext3(&self) -> windows_core::Result<ID3D11DeviceContext3> {
12168        unsafe {
12169            let mut result__ = core::mem::zeroed();
12170            (windows_core::Interface::vtable(self).GetImmediateContext3)(
12171                windows_core::Interface::as_raw(self),
12172                &mut result__,
12173            );
12174            windows_core::Type::from_abi(result__)
12175        }
12176    }
12177    pub unsafe fn CreateDeferredContext3(
12178        &self,
12179        contextflags: u32,
12180        ppdeferredcontext: Option<*mut Option<ID3D11DeviceContext3>>,
12181    ) -> windows_core::Result<()> {
12182        unsafe {
12183            (windows_core::Interface::vtable(self).CreateDeferredContext3)(
12184                windows_core::Interface::as_raw(self),
12185                contextflags,
12186                core::mem::transmute(ppdeferredcontext.unwrap_or(core::mem::zeroed())),
12187            )
12188            .ok()
12189        }
12190    }
12191    pub unsafe fn WriteToSubresource<P0>(
12192        &self,
12193        pdstresource: P0,
12194        dstsubresource: u32,
12195        pdstbox: Option<*const D3D11_BOX>,
12196        psrcdata: *const core::ffi::c_void,
12197        srcrowpitch: u32,
12198        srcdepthpitch: u32,
12199    ) where
12200        P0: windows_core::Param<ID3D11Resource>,
12201    {
12202        unsafe {
12203            (windows_core::Interface::vtable(self).WriteToSubresource)(
12204                windows_core::Interface::as_raw(self),
12205                pdstresource.param().abi(),
12206                dstsubresource,
12207                core::mem::transmute(pdstbox.unwrap_or(core::mem::zeroed())),
12208                psrcdata,
12209                srcrowpitch,
12210                srcdepthpitch,
12211            )
12212        }
12213    }
12214    pub unsafe fn ReadFromSubresource<P3>(
12215        &self,
12216        pdstdata: *mut core::ffi::c_void,
12217        dstrowpitch: u32,
12218        dstdepthpitch: u32,
12219        psrcresource: P3,
12220        srcsubresource: u32,
12221        psrcbox: Option<*const D3D11_BOX>,
12222    ) where
12223        P3: windows_core::Param<ID3D11Resource>,
12224    {
12225        unsafe {
12226            (windows_core::Interface::vtable(self).ReadFromSubresource)(
12227                windows_core::Interface::as_raw(self),
12228                core::mem::transmute(pdstdata),
12229                dstrowpitch,
12230                dstdepthpitch,
12231                psrcresource.param().abi(),
12232                srcsubresource,
12233                core::mem::transmute(psrcbox.unwrap_or(core::mem::zeroed())),
12234            )
12235        }
12236    }
12237}
12238#[repr(C)]
12239pub struct ID3D11Device3_Vtbl {
12240    pub base__: ID3D11Device2_Vtbl,
12241    #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
12242    pub CreateTexture2D1: unsafe extern "system" fn(
12243        *mut core::ffi::c_void,
12244        *const D3D11_TEXTURE2D_DESC1,
12245        *const D3D11_SUBRESOURCE_DATA,
12246        *mut *mut core::ffi::c_void,
12247    ) -> windows_core::HRESULT,
12248    #[cfg(not(feature = "Win32_Graphics_Dxgi_Common"))]
12249    CreateTexture2D1: usize,
12250    #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
12251    pub CreateTexture3D1: unsafe extern "system" fn(
12252        *mut core::ffi::c_void,
12253        *const D3D11_TEXTURE3D_DESC1,
12254        *const D3D11_SUBRESOURCE_DATA,
12255        *mut *mut core::ffi::c_void,
12256    ) -> windows_core::HRESULT,
12257    #[cfg(not(feature = "Win32_Graphics_Dxgi_Common"))]
12258    CreateTexture3D1: usize,
12259    pub CreateRasterizerState2: unsafe extern "system" fn(
12260        *mut core::ffi::c_void,
12261        *const D3D11_RASTERIZER_DESC2,
12262        *mut *mut core::ffi::c_void,
12263    ) -> windows_core::HRESULT,
12264    #[cfg(all(
12265        feature = "Win32_Graphics_Direct3D",
12266        feature = "Win32_Graphics_Dxgi_Common"
12267    ))]
12268    pub CreateShaderResourceView1: unsafe extern "system" fn(
12269        *mut core::ffi::c_void,
12270        *mut core::ffi::c_void,
12271        *const D3D11_SHADER_RESOURCE_VIEW_DESC1,
12272        *mut *mut core::ffi::c_void,
12273    ) -> windows_core::HRESULT,
12274    #[cfg(not(all(
12275        feature = "Win32_Graphics_Direct3D",
12276        feature = "Win32_Graphics_Dxgi_Common"
12277    )))]
12278    CreateShaderResourceView1: usize,
12279    #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
12280    pub CreateUnorderedAccessView1: unsafe extern "system" fn(
12281        *mut core::ffi::c_void,
12282        *mut core::ffi::c_void,
12283        *const D3D11_UNORDERED_ACCESS_VIEW_DESC1,
12284        *mut *mut core::ffi::c_void,
12285    ) -> windows_core::HRESULT,
12286    #[cfg(not(feature = "Win32_Graphics_Dxgi_Common"))]
12287    CreateUnorderedAccessView1: usize,
12288    #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
12289    pub CreateRenderTargetView1: unsafe extern "system" fn(
12290        *mut core::ffi::c_void,
12291        *mut core::ffi::c_void,
12292        *const D3D11_RENDER_TARGET_VIEW_DESC1,
12293        *mut *mut core::ffi::c_void,
12294    ) -> windows_core::HRESULT,
12295    #[cfg(not(feature = "Win32_Graphics_Dxgi_Common"))]
12296    CreateRenderTargetView1: usize,
12297    pub CreateQuery1: unsafe extern "system" fn(
12298        *mut core::ffi::c_void,
12299        *const D3D11_QUERY_DESC1,
12300        *mut *mut core::ffi::c_void,
12301    ) -> windows_core::HRESULT,
12302    pub GetImmediateContext3:
12303        unsafe extern "system" fn(*mut core::ffi::c_void, *mut *mut core::ffi::c_void),
12304    pub CreateDeferredContext3: unsafe extern "system" fn(
12305        *mut core::ffi::c_void,
12306        u32,
12307        *mut *mut core::ffi::c_void,
12308    ) -> windows_core::HRESULT,
12309    pub WriteToSubresource: unsafe extern "system" fn(
12310        *mut core::ffi::c_void,
12311        *mut core::ffi::c_void,
12312        u32,
12313        *const D3D11_BOX,
12314        *const core::ffi::c_void,
12315        u32,
12316        u32,
12317    ),
12318    pub ReadFromSubresource: unsafe extern "system" fn(
12319        *mut core::ffi::c_void,
12320        *mut core::ffi::c_void,
12321        u32,
12322        u32,
12323        *mut core::ffi::c_void,
12324        u32,
12325        *const D3D11_BOX,
12326    ),
12327}
12328#[cfg(all(
12329    feature = "Win32_Graphics_Direct3D",
12330    feature = "Win32_Graphics_Dxgi_Common"
12331))]
12332pub trait ID3D11Device3_Impl: ID3D11Device2_Impl {
12333    fn CreateTexture2D1(
12334        &self,
12335        pdesc1: *const D3D11_TEXTURE2D_DESC1,
12336        pinitialdata: *const D3D11_SUBRESOURCE_DATA,
12337        pptexture2d: windows_core::OutRef<'_, ID3D11Texture2D1>,
12338    ) -> windows_core::Result<()>;
12339    fn CreateTexture3D1(
12340        &self,
12341        pdesc1: *const D3D11_TEXTURE3D_DESC1,
12342        pinitialdata: *const D3D11_SUBRESOURCE_DATA,
12343        pptexture3d: windows_core::OutRef<'_, ID3D11Texture3D1>,
12344    ) -> windows_core::Result<()>;
12345    fn CreateRasterizerState2(
12346        &self,
12347        prasterizerdesc: *const D3D11_RASTERIZER_DESC2,
12348        pprasterizerstate: windows_core::OutRef<'_, ID3D11RasterizerState2>,
12349    ) -> windows_core::Result<()>;
12350    fn CreateShaderResourceView1(
12351        &self,
12352        presource: windows_core::Ref<'_, ID3D11Resource>,
12353        pdesc1: *const D3D11_SHADER_RESOURCE_VIEW_DESC1,
12354        ppsrview1: windows_core::OutRef<'_, ID3D11ShaderResourceView1>,
12355    ) -> windows_core::Result<()>;
12356    fn CreateUnorderedAccessView1(
12357        &self,
12358        presource: windows_core::Ref<'_, ID3D11Resource>,
12359        pdesc1: *const D3D11_UNORDERED_ACCESS_VIEW_DESC1,
12360        ppuaview1: windows_core::OutRef<'_, ID3D11UnorderedAccessView1>,
12361    ) -> windows_core::Result<()>;
12362    fn CreateRenderTargetView1(
12363        &self,
12364        presource: windows_core::Ref<'_, ID3D11Resource>,
12365        pdesc1: *const D3D11_RENDER_TARGET_VIEW_DESC1,
12366        pprtview1: windows_core::OutRef<'_, ID3D11RenderTargetView1>,
12367    ) -> windows_core::Result<()>;
12368    fn CreateQuery1(
12369        &self,
12370        pquerydesc1: *const D3D11_QUERY_DESC1,
12371        ppquery1: windows_core::OutRef<'_, ID3D11Query1>,
12372    ) -> windows_core::Result<()>;
12373    fn GetImmediateContext3(
12374        &self,
12375        ppimmediatecontext: windows_core::OutRef<'_, ID3D11DeviceContext3>,
12376    );
12377    fn CreateDeferredContext3(
12378        &self,
12379        contextflags: u32,
12380        ppdeferredcontext: windows_core::OutRef<'_, ID3D11DeviceContext3>,
12381    ) -> windows_core::Result<()>;
12382    fn WriteToSubresource(
12383        &self,
12384        pdstresource: windows_core::Ref<'_, ID3D11Resource>,
12385        dstsubresource: u32,
12386        pdstbox: *const D3D11_BOX,
12387        psrcdata: *const core::ffi::c_void,
12388        srcrowpitch: u32,
12389        srcdepthpitch: u32,
12390    );
12391    fn ReadFromSubresource(
12392        &self,
12393        pdstdata: *mut core::ffi::c_void,
12394        dstrowpitch: u32,
12395        dstdepthpitch: u32,
12396        psrcresource: windows_core::Ref<'_, ID3D11Resource>,
12397        srcsubresource: u32,
12398        psrcbox: *const D3D11_BOX,
12399    );
12400}
12401#[cfg(all(
12402    feature = "Win32_Graphics_Direct3D",
12403    feature = "Win32_Graphics_Dxgi_Common"
12404))]
12405impl ID3D11Device3_Vtbl {
12406    pub const fn new<Identity: ID3D11Device3_Impl, const OFFSET: isize>() -> Self {
12407        unsafe extern "system" fn CreateTexture2D1<
12408            Identity: ID3D11Device3_Impl,
12409            const OFFSET: isize,
12410        >(
12411            this: *mut core::ffi::c_void,
12412            pdesc1: *const D3D11_TEXTURE2D_DESC1,
12413            pinitialdata: *const D3D11_SUBRESOURCE_DATA,
12414            pptexture2d: *mut *mut core::ffi::c_void,
12415        ) -> windows_core::HRESULT {
12416            unsafe {
12417                let this: &Identity =
12418                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
12419                ID3D11Device3_Impl::CreateTexture2D1(
12420                    this,
12421                    core::mem::transmute_copy(&pdesc1),
12422                    core::mem::transmute_copy(&pinitialdata),
12423                    core::mem::transmute_copy(&pptexture2d),
12424                )
12425                .into()
12426            }
12427        }
12428        unsafe extern "system" fn CreateTexture3D1<
12429            Identity: ID3D11Device3_Impl,
12430            const OFFSET: isize,
12431        >(
12432            this: *mut core::ffi::c_void,
12433            pdesc1: *const D3D11_TEXTURE3D_DESC1,
12434            pinitialdata: *const D3D11_SUBRESOURCE_DATA,
12435            pptexture3d: *mut *mut core::ffi::c_void,
12436        ) -> windows_core::HRESULT {
12437            unsafe {
12438                let this: &Identity =
12439                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
12440                ID3D11Device3_Impl::CreateTexture3D1(
12441                    this,
12442                    core::mem::transmute_copy(&pdesc1),
12443                    core::mem::transmute_copy(&pinitialdata),
12444                    core::mem::transmute_copy(&pptexture3d),
12445                )
12446                .into()
12447            }
12448        }
12449        unsafe extern "system" fn CreateRasterizerState2<
12450            Identity: ID3D11Device3_Impl,
12451            const OFFSET: isize,
12452        >(
12453            this: *mut core::ffi::c_void,
12454            prasterizerdesc: *const D3D11_RASTERIZER_DESC2,
12455            pprasterizerstate: *mut *mut core::ffi::c_void,
12456        ) -> windows_core::HRESULT {
12457            unsafe {
12458                let this: &Identity =
12459                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
12460                ID3D11Device3_Impl::CreateRasterizerState2(
12461                    this,
12462                    core::mem::transmute_copy(&prasterizerdesc),
12463                    core::mem::transmute_copy(&pprasterizerstate),
12464                )
12465                .into()
12466            }
12467        }
12468        unsafe extern "system" fn CreateShaderResourceView1<
12469            Identity: ID3D11Device3_Impl,
12470            const OFFSET: isize,
12471        >(
12472            this: *mut core::ffi::c_void,
12473            presource: *mut core::ffi::c_void,
12474            pdesc1: *const D3D11_SHADER_RESOURCE_VIEW_DESC1,
12475            ppsrview1: *mut *mut core::ffi::c_void,
12476        ) -> windows_core::HRESULT {
12477            unsafe {
12478                let this: &Identity =
12479                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
12480                ID3D11Device3_Impl::CreateShaderResourceView1(
12481                    this,
12482                    core::mem::transmute_copy(&presource),
12483                    core::mem::transmute_copy(&pdesc1),
12484                    core::mem::transmute_copy(&ppsrview1),
12485                )
12486                .into()
12487            }
12488        }
12489        unsafe extern "system" fn CreateUnorderedAccessView1<
12490            Identity: ID3D11Device3_Impl,
12491            const OFFSET: isize,
12492        >(
12493            this: *mut core::ffi::c_void,
12494            presource: *mut core::ffi::c_void,
12495            pdesc1: *const D3D11_UNORDERED_ACCESS_VIEW_DESC1,
12496            ppuaview1: *mut *mut core::ffi::c_void,
12497        ) -> windows_core::HRESULT {
12498            unsafe {
12499                let this: &Identity =
12500                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
12501                ID3D11Device3_Impl::CreateUnorderedAccessView1(
12502                    this,
12503                    core::mem::transmute_copy(&presource),
12504                    core::mem::transmute_copy(&pdesc1),
12505                    core::mem::transmute_copy(&ppuaview1),
12506                )
12507                .into()
12508            }
12509        }
12510        unsafe extern "system" fn CreateRenderTargetView1<
12511            Identity: ID3D11Device3_Impl,
12512            const OFFSET: isize,
12513        >(
12514            this: *mut core::ffi::c_void,
12515            presource: *mut core::ffi::c_void,
12516            pdesc1: *const D3D11_RENDER_TARGET_VIEW_DESC1,
12517            pprtview1: *mut *mut core::ffi::c_void,
12518        ) -> windows_core::HRESULT {
12519            unsafe {
12520                let this: &Identity =
12521                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
12522                ID3D11Device3_Impl::CreateRenderTargetView1(
12523                    this,
12524                    core::mem::transmute_copy(&presource),
12525                    core::mem::transmute_copy(&pdesc1),
12526                    core::mem::transmute_copy(&pprtview1),
12527                )
12528                .into()
12529            }
12530        }
12531        unsafe extern "system" fn CreateQuery1<
12532            Identity: ID3D11Device3_Impl,
12533            const OFFSET: isize,
12534        >(
12535            this: *mut core::ffi::c_void,
12536            pquerydesc1: *const D3D11_QUERY_DESC1,
12537            ppquery1: *mut *mut core::ffi::c_void,
12538        ) -> windows_core::HRESULT {
12539            unsafe {
12540                let this: &Identity =
12541                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
12542                ID3D11Device3_Impl::CreateQuery1(
12543                    this,
12544                    core::mem::transmute_copy(&pquerydesc1),
12545                    core::mem::transmute_copy(&ppquery1),
12546                )
12547                .into()
12548            }
12549        }
12550        unsafe extern "system" fn GetImmediateContext3<
12551            Identity: ID3D11Device3_Impl,
12552            const OFFSET: isize,
12553        >(
12554            this: *mut core::ffi::c_void,
12555            ppimmediatecontext: *mut *mut core::ffi::c_void,
12556        ) {
12557            unsafe {
12558                let this: &Identity =
12559                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
12560                ID3D11Device3_Impl::GetImmediateContext3(
12561                    this,
12562                    core::mem::transmute_copy(&ppimmediatecontext),
12563                )
12564            }
12565        }
12566        unsafe extern "system" fn CreateDeferredContext3<
12567            Identity: ID3D11Device3_Impl,
12568            const OFFSET: isize,
12569        >(
12570            this: *mut core::ffi::c_void,
12571            contextflags: u32,
12572            ppdeferredcontext: *mut *mut core::ffi::c_void,
12573        ) -> windows_core::HRESULT {
12574            unsafe {
12575                let this: &Identity =
12576                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
12577                ID3D11Device3_Impl::CreateDeferredContext3(
12578                    this,
12579                    core::mem::transmute_copy(&contextflags),
12580                    core::mem::transmute_copy(&ppdeferredcontext),
12581                )
12582                .into()
12583            }
12584        }
12585        unsafe extern "system" fn WriteToSubresource<
12586            Identity: ID3D11Device3_Impl,
12587            const OFFSET: isize,
12588        >(
12589            this: *mut core::ffi::c_void,
12590            pdstresource: *mut core::ffi::c_void,
12591            dstsubresource: u32,
12592            pdstbox: *const D3D11_BOX,
12593            psrcdata: *const core::ffi::c_void,
12594            srcrowpitch: u32,
12595            srcdepthpitch: u32,
12596        ) {
12597            unsafe {
12598                let this: &Identity =
12599                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
12600                ID3D11Device3_Impl::WriteToSubresource(
12601                    this,
12602                    core::mem::transmute_copy(&pdstresource),
12603                    core::mem::transmute_copy(&dstsubresource),
12604                    core::mem::transmute_copy(&pdstbox),
12605                    core::mem::transmute_copy(&psrcdata),
12606                    core::mem::transmute_copy(&srcrowpitch),
12607                    core::mem::transmute_copy(&srcdepthpitch),
12608                )
12609            }
12610        }
12611        unsafe extern "system" fn ReadFromSubresource<
12612            Identity: ID3D11Device3_Impl,
12613            const OFFSET: isize,
12614        >(
12615            this: *mut core::ffi::c_void,
12616            pdstdata: *mut core::ffi::c_void,
12617            dstrowpitch: u32,
12618            dstdepthpitch: u32,
12619            psrcresource: *mut core::ffi::c_void,
12620            srcsubresource: u32,
12621            psrcbox: *const D3D11_BOX,
12622        ) {
12623            unsafe {
12624                let this: &Identity =
12625                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
12626                ID3D11Device3_Impl::ReadFromSubresource(
12627                    this,
12628                    core::mem::transmute_copy(&pdstdata),
12629                    core::mem::transmute_copy(&dstrowpitch),
12630                    core::mem::transmute_copy(&dstdepthpitch),
12631                    core::mem::transmute_copy(&psrcresource),
12632                    core::mem::transmute_copy(&srcsubresource),
12633                    core::mem::transmute_copy(&psrcbox),
12634                )
12635            }
12636        }
12637        Self {
12638            base__: ID3D11Device2_Vtbl::new::<Identity, OFFSET>(),
12639            CreateTexture2D1: CreateTexture2D1::<Identity, OFFSET>,
12640            CreateTexture3D1: CreateTexture3D1::<Identity, OFFSET>,
12641            CreateRasterizerState2: CreateRasterizerState2::<Identity, OFFSET>,
12642            CreateShaderResourceView1: CreateShaderResourceView1::<Identity, OFFSET>,
12643            CreateUnorderedAccessView1: CreateUnorderedAccessView1::<Identity, OFFSET>,
12644            CreateRenderTargetView1: CreateRenderTargetView1::<Identity, OFFSET>,
12645            CreateQuery1: CreateQuery1::<Identity, OFFSET>,
12646            GetImmediateContext3: GetImmediateContext3::<Identity, OFFSET>,
12647            CreateDeferredContext3: CreateDeferredContext3::<Identity, OFFSET>,
12648            WriteToSubresource: WriteToSubresource::<Identity, OFFSET>,
12649            ReadFromSubresource: ReadFromSubresource::<Identity, OFFSET>,
12650        }
12651    }
12652    pub fn matches(iid: &windows_core::GUID) -> bool {
12653        iid == &<ID3D11Device3 as windows_core::Interface>::IID
12654            || iid == &<ID3D11Device as windows_core::Interface>::IID
12655            || iid == &<ID3D11Device1 as windows_core::Interface>::IID
12656            || iid == &<ID3D11Device2 as windows_core::Interface>::IID
12657    }
12658}
12659#[cfg(all(
12660    feature = "Win32_Graphics_Direct3D",
12661    feature = "Win32_Graphics_Dxgi_Common"
12662))]
12663impl windows_core::RuntimeName for ID3D11Device3 {}
12664#[cfg(all(
12665    feature = "Win32_Graphics_Direct3D",
12666    feature = "Win32_Graphics_Dxgi_Common"
12667))]
12668unsafe impl Send for ID3D11Device3 {}
12669#[cfg(all(
12670    feature = "Win32_Graphics_Direct3D",
12671    feature = "Win32_Graphics_Dxgi_Common"
12672))]
12673unsafe impl Sync for ID3D11Device3 {}
12674windows_core::imp::define_interface!(
12675    ID3D11Device4,
12676    ID3D11Device4_Vtbl,
12677    0x8992ab71_02e6_4b8d_ba48_b056dcda42c4
12678);
12679impl core::ops::Deref for ID3D11Device4 {
12680    type Target = ID3D11Device3;
12681    fn deref(&self) -> &Self::Target {
12682        unsafe { core::mem::transmute(self) }
12683    }
12684}
12685windows_core::imp::interface_hierarchy!(
12686    ID3D11Device4,
12687    windows_core::IUnknown,
12688    ID3D11Device,
12689    ID3D11Device1,
12690    ID3D11Device2,
12691    ID3D11Device3
12692);
12693impl ID3D11Device4 {
12694    pub unsafe fn RegisterDeviceRemovedEvent(
12695        &self,
12696        hevent: crate::Foundation::HANDLE,
12697    ) -> windows_core::Result<u32> {
12698        unsafe {
12699            let mut result__ = core::mem::zeroed();
12700            (windows_core::Interface::vtable(self).RegisterDeviceRemovedEvent)(
12701                windows_core::Interface::as_raw(self),
12702                hevent,
12703                &mut result__,
12704            )
12705            .map(|| result__)
12706        }
12707    }
12708    pub unsafe fn UnregisterDeviceRemoved(&self, dwcookie: u32) {
12709        unsafe {
12710            (windows_core::Interface::vtable(self).UnregisterDeviceRemoved)(
12711                windows_core::Interface::as_raw(self),
12712                dwcookie,
12713            )
12714        }
12715    }
12716}
12717#[repr(C)]
12718pub struct ID3D11Device4_Vtbl {
12719    pub base__: ID3D11Device3_Vtbl,
12720    pub RegisterDeviceRemovedEvent: unsafe extern "system" fn(
12721        *mut core::ffi::c_void,
12722        crate::Foundation::HANDLE,
12723        *mut u32,
12724    ) -> windows_core::HRESULT,
12725    pub UnregisterDeviceRemoved: unsafe extern "system" fn(*mut core::ffi::c_void, u32),
12726}
12727#[cfg(all(
12728    feature = "Win32_Graphics_Direct3D",
12729    feature = "Win32_Graphics_Dxgi_Common"
12730))]
12731pub trait ID3D11Device4_Impl: ID3D11Device3_Impl {
12732    fn RegisterDeviceRemovedEvent(
12733        &self,
12734        hevent: crate::Foundation::HANDLE,
12735    ) -> windows_core::Result<u32>;
12736    fn UnregisterDeviceRemoved(&self, dwcookie: u32);
12737}
12738#[cfg(all(
12739    feature = "Win32_Graphics_Direct3D",
12740    feature = "Win32_Graphics_Dxgi_Common"
12741))]
12742impl ID3D11Device4_Vtbl {
12743    pub const fn new<Identity: ID3D11Device4_Impl, const OFFSET: isize>() -> Self {
12744        unsafe extern "system" fn RegisterDeviceRemovedEvent<
12745            Identity: ID3D11Device4_Impl,
12746            const OFFSET: isize,
12747        >(
12748            this: *mut core::ffi::c_void,
12749            hevent: crate::Foundation::HANDLE,
12750            pdwcookie: *mut u32,
12751        ) -> windows_core::HRESULT {
12752            unsafe {
12753                let this: &Identity =
12754                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
12755                match ID3D11Device4_Impl::RegisterDeviceRemovedEvent(
12756                    this,
12757                    core::mem::transmute_copy(&hevent),
12758                ) {
12759                    Ok(ok__) => {
12760                        pdwcookie.write(core::mem::transmute(ok__));
12761                        windows_core::HRESULT(0)
12762                    }
12763                    Err(err) => err.into(),
12764                }
12765            }
12766        }
12767        unsafe extern "system" fn UnregisterDeviceRemoved<
12768            Identity: ID3D11Device4_Impl,
12769            const OFFSET: isize,
12770        >(
12771            this: *mut core::ffi::c_void,
12772            dwcookie: u32,
12773        ) {
12774            unsafe {
12775                let this: &Identity =
12776                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
12777                ID3D11Device4_Impl::UnregisterDeviceRemoved(
12778                    this,
12779                    core::mem::transmute_copy(&dwcookie),
12780                )
12781            }
12782        }
12783        Self {
12784            base__: ID3D11Device3_Vtbl::new::<Identity, OFFSET>(),
12785            RegisterDeviceRemovedEvent: RegisterDeviceRemovedEvent::<Identity, OFFSET>,
12786            UnregisterDeviceRemoved: UnregisterDeviceRemoved::<Identity, OFFSET>,
12787        }
12788    }
12789    pub fn matches(iid: &windows_core::GUID) -> bool {
12790        iid == &<ID3D11Device4 as windows_core::Interface>::IID
12791            || iid == &<ID3D11Device as windows_core::Interface>::IID
12792            || iid == &<ID3D11Device1 as windows_core::Interface>::IID
12793            || iid == &<ID3D11Device2 as windows_core::Interface>::IID
12794            || iid == &<ID3D11Device3 as windows_core::Interface>::IID
12795    }
12796}
12797#[cfg(all(
12798    feature = "Win32_Graphics_Direct3D",
12799    feature = "Win32_Graphics_Dxgi_Common"
12800))]
12801impl windows_core::RuntimeName for ID3D11Device4 {}
12802#[cfg(all(
12803    feature = "Win32_Graphics_Direct3D",
12804    feature = "Win32_Graphics_Dxgi_Common"
12805))]
12806unsafe impl Send for ID3D11Device4 {}
12807#[cfg(all(
12808    feature = "Win32_Graphics_Direct3D",
12809    feature = "Win32_Graphics_Dxgi_Common"
12810))]
12811unsafe impl Sync for ID3D11Device4 {}
12812windows_core::imp::define_interface!(
12813    ID3D11Device5,
12814    ID3D11Device5_Vtbl,
12815    0x8ffde202_a0e7_45df_9e01_e837801b5ea0
12816);
12817impl core::ops::Deref for ID3D11Device5 {
12818    type Target = ID3D11Device4;
12819    fn deref(&self) -> &Self::Target {
12820        unsafe { core::mem::transmute(self) }
12821    }
12822}
12823windows_core::imp::interface_hierarchy!(
12824    ID3D11Device5,
12825    windows_core::IUnknown,
12826    ID3D11Device,
12827    ID3D11Device1,
12828    ID3D11Device2,
12829    ID3D11Device3,
12830    ID3D11Device4
12831);
12832impl ID3D11Device5 {
12833    pub unsafe fn OpenSharedFence<T>(
12834        &self,
12835        hfence: crate::Foundation::HANDLE,
12836        result__: *mut Option<T>,
12837    ) -> windows_core::Result<()>
12838    where
12839        T: windows_core::Interface,
12840    {
12841        unsafe {
12842            (windows_core::Interface::vtable(self).OpenSharedFence)(
12843                windows_core::Interface::as_raw(self),
12844                hfence,
12845                &T::IID,
12846                result__ as *mut _ as *mut _,
12847            )
12848            .ok()
12849        }
12850    }
12851    pub unsafe fn CreateFence<T>(
12852        &self,
12853        initialvalue: u64,
12854        flags: D3D11_FENCE_FLAG,
12855        result__: *mut Option<T>,
12856    ) -> windows_core::Result<()>
12857    where
12858        T: windows_core::Interface,
12859    {
12860        unsafe {
12861            (windows_core::Interface::vtable(self).CreateFence)(
12862                windows_core::Interface::as_raw(self),
12863                initialvalue,
12864                flags,
12865                &T::IID,
12866                result__ as *mut _ as *mut _,
12867            )
12868            .ok()
12869        }
12870    }
12871}
12872#[repr(C)]
12873pub struct ID3D11Device5_Vtbl {
12874    pub base__: ID3D11Device4_Vtbl,
12875    pub OpenSharedFence: unsafe extern "system" fn(
12876        *mut core::ffi::c_void,
12877        crate::Foundation::HANDLE,
12878        *const windows_core::GUID,
12879        *mut *mut core::ffi::c_void,
12880    ) -> windows_core::HRESULT,
12881    pub CreateFence: unsafe extern "system" fn(
12882        *mut core::ffi::c_void,
12883        u64,
12884        D3D11_FENCE_FLAG,
12885        *const windows_core::GUID,
12886        *mut *mut core::ffi::c_void,
12887    ) -> windows_core::HRESULT,
12888}
12889#[cfg(all(
12890    feature = "Win32_Graphics_Direct3D",
12891    feature = "Win32_Graphics_Dxgi_Common"
12892))]
12893pub trait ID3D11Device5_Impl: ID3D11Device4_Impl {
12894    fn OpenSharedFence(
12895        &self,
12896        hfence: crate::Foundation::HANDLE,
12897        returnedinterface: *const windows_core::GUID,
12898        ppfence: *mut *mut core::ffi::c_void,
12899    ) -> windows_core::Result<()>;
12900    fn CreateFence(
12901        &self,
12902        initialvalue: u64,
12903        flags: D3D11_FENCE_FLAG,
12904        returnedinterface: *const windows_core::GUID,
12905        ppfence: *mut *mut core::ffi::c_void,
12906    ) -> windows_core::Result<()>;
12907}
12908#[cfg(all(
12909    feature = "Win32_Graphics_Direct3D",
12910    feature = "Win32_Graphics_Dxgi_Common"
12911))]
12912impl ID3D11Device5_Vtbl {
12913    pub const fn new<Identity: ID3D11Device5_Impl, const OFFSET: isize>() -> Self {
12914        unsafe extern "system" fn OpenSharedFence<
12915            Identity: ID3D11Device5_Impl,
12916            const OFFSET: isize,
12917        >(
12918            this: *mut core::ffi::c_void,
12919            hfence: crate::Foundation::HANDLE,
12920            returnedinterface: *const windows_core::GUID,
12921            ppfence: *mut *mut core::ffi::c_void,
12922        ) -> windows_core::HRESULT {
12923            unsafe {
12924                let this: &Identity =
12925                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
12926                ID3D11Device5_Impl::OpenSharedFence(
12927                    this,
12928                    core::mem::transmute_copy(&hfence),
12929                    core::mem::transmute_copy(&returnedinterface),
12930                    core::mem::transmute_copy(&ppfence),
12931                )
12932                .into()
12933            }
12934        }
12935        unsafe extern "system" fn CreateFence<Identity: ID3D11Device5_Impl, const OFFSET: isize>(
12936            this: *mut core::ffi::c_void,
12937            initialvalue: u64,
12938            flags: D3D11_FENCE_FLAG,
12939            returnedinterface: *const windows_core::GUID,
12940            ppfence: *mut *mut core::ffi::c_void,
12941        ) -> windows_core::HRESULT {
12942            unsafe {
12943                let this: &Identity =
12944                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
12945                ID3D11Device5_Impl::CreateFence(
12946                    this,
12947                    core::mem::transmute_copy(&initialvalue),
12948                    core::mem::transmute_copy(&flags),
12949                    core::mem::transmute_copy(&returnedinterface),
12950                    core::mem::transmute_copy(&ppfence),
12951                )
12952                .into()
12953            }
12954        }
12955        Self {
12956            base__: ID3D11Device4_Vtbl::new::<Identity, OFFSET>(),
12957            OpenSharedFence: OpenSharedFence::<Identity, OFFSET>,
12958            CreateFence: CreateFence::<Identity, OFFSET>,
12959        }
12960    }
12961    pub fn matches(iid: &windows_core::GUID) -> bool {
12962        iid == &<ID3D11Device5 as windows_core::Interface>::IID
12963            || iid == &<ID3D11Device as windows_core::Interface>::IID
12964            || iid == &<ID3D11Device1 as windows_core::Interface>::IID
12965            || iid == &<ID3D11Device2 as windows_core::Interface>::IID
12966            || iid == &<ID3D11Device3 as windows_core::Interface>::IID
12967            || iid == &<ID3D11Device4 as windows_core::Interface>::IID
12968    }
12969}
12970#[cfg(all(
12971    feature = "Win32_Graphics_Direct3D",
12972    feature = "Win32_Graphics_Dxgi_Common"
12973))]
12974impl windows_core::RuntimeName for ID3D11Device5 {}
12975#[cfg(all(
12976    feature = "Win32_Graphics_Direct3D",
12977    feature = "Win32_Graphics_Dxgi_Common"
12978))]
12979unsafe impl Send for ID3D11Device5 {}
12980#[cfg(all(
12981    feature = "Win32_Graphics_Direct3D",
12982    feature = "Win32_Graphics_Dxgi_Common"
12983))]
12984unsafe impl Sync for ID3D11Device5 {}
12985windows_core::imp::define_interface!(
12986    ID3D11DeviceChild,
12987    ID3D11DeviceChild_Vtbl,
12988    0x1841e5c8_16b0_489b_bcc8_44cfb0d5deae
12989);
12990windows_core::imp::interface_hierarchy!(ID3D11DeviceChild, windows_core::IUnknown);
12991impl ID3D11DeviceChild {
12992    pub unsafe fn GetDevice(&self) -> windows_core::Result<ID3D11Device> {
12993        unsafe {
12994            let mut result__ = core::mem::zeroed();
12995            (windows_core::Interface::vtable(self).GetDevice)(
12996                windows_core::Interface::as_raw(self),
12997                &mut result__,
12998            );
12999            windows_core::Type::from_abi(result__)
13000        }
13001    }
13002    pub unsafe fn GetPrivateData(
13003        &self,
13004        guid: *const windows_core::GUID,
13005        pdatasize: *mut u32,
13006        pdata: Option<*mut core::ffi::c_void>,
13007    ) -> windows_core::Result<()> {
13008        unsafe {
13009            (windows_core::Interface::vtable(self).GetPrivateData)(
13010                windows_core::Interface::as_raw(self),
13011                guid,
13012                core::mem::transmute(pdatasize),
13013                core::mem::transmute(pdata.unwrap_or(core::mem::zeroed())),
13014            )
13015            .ok()
13016        }
13017    }
13018    pub unsafe fn SetPrivateData(
13019        &self,
13020        guid: *const windows_core::GUID,
13021        datasize: u32,
13022        pdata: Option<*const core::ffi::c_void>,
13023    ) -> windows_core::Result<()> {
13024        unsafe {
13025            (windows_core::Interface::vtable(self).SetPrivateData)(
13026                windows_core::Interface::as_raw(self),
13027                guid,
13028                datasize,
13029                core::mem::transmute(pdata.unwrap_or(core::mem::zeroed())),
13030            )
13031            .ok()
13032        }
13033    }
13034    pub unsafe fn SetPrivateDataInterface<P1>(
13035        &self,
13036        guid: *const windows_core::GUID,
13037        pdata: P1,
13038    ) -> windows_core::Result<()>
13039    where
13040        P1: windows_core::Param<windows_core::IUnknown>,
13041    {
13042        unsafe {
13043            (windows_core::Interface::vtable(self).SetPrivateDataInterface)(
13044                windows_core::Interface::as_raw(self),
13045                guid,
13046                pdata.param().abi(),
13047            )
13048            .ok()
13049        }
13050    }
13051}
13052#[repr(C)]
13053pub struct ID3D11DeviceChild_Vtbl {
13054    pub base__: windows_core::IUnknown_Vtbl,
13055    pub GetDevice: unsafe extern "system" fn(*mut core::ffi::c_void, *mut *mut core::ffi::c_void),
13056    pub GetPrivateData: unsafe extern "system" fn(
13057        *mut core::ffi::c_void,
13058        *const windows_core::GUID,
13059        *mut u32,
13060        *mut core::ffi::c_void,
13061    ) -> windows_core::HRESULT,
13062    pub SetPrivateData: unsafe extern "system" fn(
13063        *mut core::ffi::c_void,
13064        *const windows_core::GUID,
13065        u32,
13066        *const core::ffi::c_void,
13067    ) -> windows_core::HRESULT,
13068    pub SetPrivateDataInterface: unsafe extern "system" fn(
13069        *mut core::ffi::c_void,
13070        *const windows_core::GUID,
13071        *mut core::ffi::c_void,
13072    ) -> windows_core::HRESULT,
13073}
13074pub trait ID3D11DeviceChild_Impl: windows_core::IUnknownImpl {
13075    fn GetDevice(&self, ppdevice: windows_core::OutRef<'_, ID3D11Device>);
13076    fn GetPrivateData(
13077        &self,
13078        guid: *const windows_core::GUID,
13079        pdatasize: *mut u32,
13080        pdata: *mut core::ffi::c_void,
13081    ) -> windows_core::Result<()>;
13082    fn SetPrivateData(
13083        &self,
13084        guid: *const windows_core::GUID,
13085        datasize: u32,
13086        pdata: *const core::ffi::c_void,
13087    ) -> windows_core::Result<()>;
13088    fn SetPrivateDataInterface(
13089        &self,
13090        guid: *const windows_core::GUID,
13091        pdata: windows_core::Ref<'_, windows_core::IUnknown>,
13092    ) -> windows_core::Result<()>;
13093}
13094impl ID3D11DeviceChild_Vtbl {
13095    pub const fn new<Identity: ID3D11DeviceChild_Impl, const OFFSET: isize>() -> Self {
13096        unsafe extern "system" fn GetDevice<
13097            Identity: ID3D11DeviceChild_Impl,
13098            const OFFSET: isize,
13099        >(
13100            this: *mut core::ffi::c_void,
13101            ppdevice: *mut *mut core::ffi::c_void,
13102        ) {
13103            unsafe {
13104                let this: &Identity =
13105                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
13106                ID3D11DeviceChild_Impl::GetDevice(this, core::mem::transmute_copy(&ppdevice))
13107            }
13108        }
13109        unsafe extern "system" fn GetPrivateData<
13110            Identity: ID3D11DeviceChild_Impl,
13111            const OFFSET: isize,
13112        >(
13113            this: *mut core::ffi::c_void,
13114            guid: *const windows_core::GUID,
13115            pdatasize: *mut u32,
13116            pdata: *mut core::ffi::c_void,
13117        ) -> windows_core::HRESULT {
13118            unsafe {
13119                let this: &Identity =
13120                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
13121                ID3D11DeviceChild_Impl::GetPrivateData(
13122                    this,
13123                    core::mem::transmute_copy(&guid),
13124                    core::mem::transmute_copy(&pdatasize),
13125                    core::mem::transmute_copy(&pdata),
13126                )
13127                .into()
13128            }
13129        }
13130        unsafe extern "system" fn SetPrivateData<
13131            Identity: ID3D11DeviceChild_Impl,
13132            const OFFSET: isize,
13133        >(
13134            this: *mut core::ffi::c_void,
13135            guid: *const windows_core::GUID,
13136            datasize: u32,
13137            pdata: *const core::ffi::c_void,
13138        ) -> windows_core::HRESULT {
13139            unsafe {
13140                let this: &Identity =
13141                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
13142                ID3D11DeviceChild_Impl::SetPrivateData(
13143                    this,
13144                    core::mem::transmute_copy(&guid),
13145                    core::mem::transmute_copy(&datasize),
13146                    core::mem::transmute_copy(&pdata),
13147                )
13148                .into()
13149            }
13150        }
13151        unsafe extern "system" fn SetPrivateDataInterface<
13152            Identity: ID3D11DeviceChild_Impl,
13153            const OFFSET: isize,
13154        >(
13155            this: *mut core::ffi::c_void,
13156            guid: *const windows_core::GUID,
13157            pdata: *mut core::ffi::c_void,
13158        ) -> windows_core::HRESULT {
13159            unsafe {
13160                let this: &Identity =
13161                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
13162                ID3D11DeviceChild_Impl::SetPrivateDataInterface(
13163                    this,
13164                    core::mem::transmute_copy(&guid),
13165                    core::mem::transmute_copy(&pdata),
13166                )
13167                .into()
13168            }
13169        }
13170        Self {
13171            base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
13172            GetDevice: GetDevice::<Identity, OFFSET>,
13173            GetPrivateData: GetPrivateData::<Identity, OFFSET>,
13174            SetPrivateData: SetPrivateData::<Identity, OFFSET>,
13175            SetPrivateDataInterface: SetPrivateDataInterface::<Identity, OFFSET>,
13176        }
13177    }
13178    pub fn matches(iid: &windows_core::GUID) -> bool {
13179        iid == &<ID3D11DeviceChild as windows_core::Interface>::IID
13180    }
13181}
13182impl windows_core::RuntimeName for ID3D11DeviceChild {}
13183unsafe impl Send for ID3D11DeviceChild {}
13184unsafe impl Sync for ID3D11DeviceChild {}
13185windows_core::imp::define_interface!(
13186    ID3D11DeviceContext,
13187    ID3D11DeviceContext_Vtbl,
13188    0xc0bfa96c_e089_44fb_8eaf_26f8796190da
13189);
13190impl core::ops::Deref for ID3D11DeviceContext {
13191    type Target = ID3D11DeviceChild;
13192    fn deref(&self) -> &Self::Target {
13193        unsafe { core::mem::transmute(self) }
13194    }
13195}
13196windows_core::imp::interface_hierarchy!(
13197    ID3D11DeviceContext,
13198    windows_core::IUnknown,
13199    ID3D11DeviceChild
13200);
13201impl ID3D11DeviceContext {
13202    pub unsafe fn VSSetConstantBuffers(
13203        &self,
13204        startslot: u32,
13205        ppconstantbuffers: Option<&[Option<ID3D11Buffer>]>,
13206    ) {
13207        unsafe {
13208            (windows_core::Interface::vtable(self).VSSetConstantBuffers)(
13209                windows_core::Interface::as_raw(self),
13210                startslot,
13211                ppconstantbuffers
13212                    .map_or(0, |slice| slice.len().try_into().unwrap()),
13213                core::mem::transmute(
13214                    ppconstantbuffers
13215                        .map_or(core::ptr::null(), |slice| slice.as_ptr()),
13216                ),
13217            )
13218        }
13219    }
13220    pub unsafe fn PSSetShaderResources(
13221        &self,
13222        startslot: u32,
13223        ppshaderresourceviews: Option<&[Option<ID3D11ShaderResourceView>]>,
13224    ) {
13225        unsafe {
13226            (windows_core::Interface::vtable(self).PSSetShaderResources)(
13227                windows_core::Interface::as_raw(self),
13228                startslot,
13229                ppshaderresourceviews
13230                    .map_or(0, |slice| slice.len().try_into().unwrap()),
13231                core::mem::transmute(
13232                    ppshaderresourceviews
13233                        .map_or(core::ptr::null(), |slice| slice.as_ptr()),
13234                ),
13235            )
13236        }
13237    }
13238    pub unsafe fn PSSetShader<P0>(
13239        &self,
13240        ppixelshader: P0,
13241        ppclassinstances: Option<&[Option<ID3D11ClassInstance>]>,
13242    ) where
13243        P0: windows_core::Param<ID3D11PixelShader>,
13244    {
13245        unsafe {
13246            (windows_core::Interface::vtable(self).PSSetShader)(
13247                windows_core::Interface::as_raw(self),
13248                ppixelshader.param().abi(),
13249                core::mem::transmute(
13250                    ppclassinstances
13251                        .map_or(core::ptr::null(), |slice| slice.as_ptr()),
13252                ),
13253                ppclassinstances
13254                    .map_or(0, |slice| slice.len().try_into().unwrap()),
13255            )
13256        }
13257    }
13258    pub unsafe fn PSSetSamplers(
13259        &self,
13260        startslot: u32,
13261        ppsamplers: Option<&[Option<ID3D11SamplerState>]>,
13262    ) {
13263        unsafe {
13264            (windows_core::Interface::vtable(self).PSSetSamplers)(
13265                windows_core::Interface::as_raw(self),
13266                startslot,
13267                ppsamplers
13268                    .map_or(0, |slice| slice.len().try_into().unwrap()),
13269                core::mem::transmute(
13270                    ppsamplers
13271                        .map_or(core::ptr::null(), |slice| slice.as_ptr()),
13272                ),
13273            )
13274        }
13275    }
13276    pub unsafe fn VSSetShader<P0>(
13277        &self,
13278        pvertexshader: P0,
13279        ppclassinstances: Option<&[Option<ID3D11ClassInstance>]>,
13280    ) where
13281        P0: windows_core::Param<ID3D11VertexShader>,
13282    {
13283        unsafe {
13284            (windows_core::Interface::vtable(self).VSSetShader)(
13285                windows_core::Interface::as_raw(self),
13286                pvertexshader.param().abi(),
13287                core::mem::transmute(
13288                    ppclassinstances
13289                        .map_or(core::ptr::null(), |slice| slice.as_ptr()),
13290                ),
13291                ppclassinstances
13292                    .map_or(0, |slice| slice.len().try_into().unwrap()),
13293            )
13294        }
13295    }
13296    pub unsafe fn DrawIndexed(
13297        &self,
13298        indexcount: u32,
13299        startindexlocation: u32,
13300        basevertexlocation: i32,
13301    ) {
13302        unsafe {
13303            (windows_core::Interface::vtable(self).DrawIndexed)(
13304                windows_core::Interface::as_raw(self),
13305                indexcount,
13306                startindexlocation,
13307                basevertexlocation,
13308            )
13309        }
13310    }
13311    pub unsafe fn Draw(&self, vertexcount: u32, startvertexlocation: u32) {
13312        unsafe {
13313            (windows_core::Interface::vtable(self).Draw)(
13314                windows_core::Interface::as_raw(self),
13315                vertexcount,
13316                startvertexlocation,
13317            )
13318        }
13319    }
13320    pub unsafe fn Map<P0>(
13321        &self,
13322        presource: P0,
13323        subresource: u32,
13324        maptype: D3D11_MAP,
13325        mapflags: u32,
13326        pmappedresource: Option<*mut D3D11_MAPPED_SUBRESOURCE>,
13327    ) -> windows_core::Result<()>
13328    where
13329        P0: windows_core::Param<ID3D11Resource>,
13330    {
13331        unsafe {
13332            (windows_core::Interface::vtable(self).Map)(
13333                windows_core::Interface::as_raw(self),
13334                presource.param().abi(),
13335                subresource,
13336                maptype,
13337                mapflags,
13338                core::mem::transmute(pmappedresource.unwrap_or(core::mem::zeroed())),
13339            )
13340            .ok()
13341        }
13342    }
13343    pub unsafe fn Unmap<P0>(&self, presource: P0, subresource: u32)
13344    where
13345        P0: windows_core::Param<ID3D11Resource>,
13346    {
13347        unsafe {
13348            (windows_core::Interface::vtable(self).Unmap)(
13349                windows_core::Interface::as_raw(self),
13350                presource.param().abi(),
13351                subresource,
13352            )
13353        }
13354    }
13355    pub unsafe fn PSSetConstantBuffers(
13356        &self,
13357        startslot: u32,
13358        ppconstantbuffers: Option<&[Option<ID3D11Buffer>]>,
13359    ) {
13360        unsafe {
13361            (windows_core::Interface::vtable(self).PSSetConstantBuffers)(
13362                windows_core::Interface::as_raw(self),
13363                startslot,
13364                ppconstantbuffers
13365                    .map_or(0, |slice| slice.len().try_into().unwrap()),
13366                core::mem::transmute(
13367                    ppconstantbuffers
13368                        .map_or(core::ptr::null(), |slice| slice.as_ptr()),
13369                ),
13370            )
13371        }
13372    }
13373    pub unsafe fn IASetInputLayout<P0>(&self, pinputlayout: P0)
13374    where
13375        P0: windows_core::Param<ID3D11InputLayout>,
13376    {
13377        unsafe {
13378            (windows_core::Interface::vtable(self).IASetInputLayout)(
13379                windows_core::Interface::as_raw(self),
13380                pinputlayout.param().abi(),
13381            )
13382        }
13383    }
13384    pub unsafe fn IASetVertexBuffers(
13385        &self,
13386        startslot: u32,
13387        numbuffers: u32,
13388        ppvertexbuffers: Option<*const Option<ID3D11Buffer>>,
13389        pstrides: Option<*const u32>,
13390        poffsets: Option<*const u32>,
13391    ) {
13392        unsafe {
13393            (windows_core::Interface::vtable(self).IASetVertexBuffers)(
13394                windows_core::Interface::as_raw(self),
13395                startslot,
13396                numbuffers,
13397                core::mem::transmute(ppvertexbuffers.unwrap_or(core::mem::zeroed())),
13398                core::mem::transmute(pstrides.unwrap_or(core::mem::zeroed())),
13399                core::mem::transmute(poffsets.unwrap_or(core::mem::zeroed())),
13400            )
13401        }
13402    }
13403    #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
13404    pub unsafe fn IASetIndexBuffer<P0>(
13405        &self,
13406        pindexbuffer: P0,
13407        format: crate::Dxgi::Common::DXGI_FORMAT,
13408        offset: u32,
13409    ) where
13410        P0: windows_core::Param<ID3D11Buffer>,
13411    {
13412        unsafe {
13413            (windows_core::Interface::vtable(self).IASetIndexBuffer)(
13414                windows_core::Interface::as_raw(self),
13415                pindexbuffer.param().abi(),
13416                format,
13417                offset,
13418            )
13419        }
13420    }
13421    pub unsafe fn DrawIndexedInstanced(
13422        &self,
13423        indexcountperinstance: u32,
13424        instancecount: u32,
13425        startindexlocation: u32,
13426        basevertexlocation: i32,
13427        startinstancelocation: u32,
13428    ) {
13429        unsafe {
13430            (windows_core::Interface::vtable(self).DrawIndexedInstanced)(
13431                windows_core::Interface::as_raw(self),
13432                indexcountperinstance,
13433                instancecount,
13434                startindexlocation,
13435                basevertexlocation,
13436                startinstancelocation,
13437            )
13438        }
13439    }
13440    pub unsafe fn DrawInstanced(
13441        &self,
13442        vertexcountperinstance: u32,
13443        instancecount: u32,
13444        startvertexlocation: u32,
13445        startinstancelocation: u32,
13446    ) {
13447        unsafe {
13448            (windows_core::Interface::vtable(self).DrawInstanced)(
13449                windows_core::Interface::as_raw(self),
13450                vertexcountperinstance,
13451                instancecount,
13452                startvertexlocation,
13453                startinstancelocation,
13454            )
13455        }
13456    }
13457    pub unsafe fn GSSetConstantBuffers(
13458        &self,
13459        startslot: u32,
13460        ppconstantbuffers: Option<&[Option<ID3D11Buffer>]>,
13461    ) {
13462        unsafe {
13463            (windows_core::Interface::vtable(self).GSSetConstantBuffers)(
13464                windows_core::Interface::as_raw(self),
13465                startslot,
13466                ppconstantbuffers
13467                    .map_or(0, |slice| slice.len().try_into().unwrap()),
13468                core::mem::transmute(
13469                    ppconstantbuffers
13470                        .map_or(core::ptr::null(), |slice| slice.as_ptr()),
13471                ),
13472            )
13473        }
13474    }
13475    pub unsafe fn GSSetShader<P0>(
13476        &self,
13477        pshader: P0,
13478        ppclassinstances: Option<&[Option<ID3D11ClassInstance>]>,
13479    ) where
13480        P0: windows_core::Param<ID3D11GeometryShader>,
13481    {
13482        unsafe {
13483            (windows_core::Interface::vtable(self).GSSetShader)(
13484                windows_core::Interface::as_raw(self),
13485                pshader.param().abi(),
13486                core::mem::transmute(
13487                    ppclassinstances
13488                        .map_or(core::ptr::null(), |slice| slice.as_ptr()),
13489                ),
13490                ppclassinstances
13491                    .map_or(0, |slice| slice.len().try_into().unwrap()),
13492            )
13493        }
13494    }
13495    #[cfg(feature = "Win32_Graphics_Direct3D")]
13496    pub unsafe fn IASetPrimitiveTopology(&self, topology: super::Direct3D::D3D_PRIMITIVE_TOPOLOGY) {
13497        unsafe {
13498            (windows_core::Interface::vtable(self).IASetPrimitiveTopology)(
13499                windows_core::Interface::as_raw(self),
13500                topology,
13501            )
13502        }
13503    }
13504    pub unsafe fn VSSetShaderResources(
13505        &self,
13506        startslot: u32,
13507        ppshaderresourceviews: Option<&[Option<ID3D11ShaderResourceView>]>,
13508    ) {
13509        unsafe {
13510            (windows_core::Interface::vtable(self).VSSetShaderResources)(
13511                windows_core::Interface::as_raw(self),
13512                startslot,
13513                ppshaderresourceviews
13514                    .map_or(0, |slice| slice.len().try_into().unwrap()),
13515                core::mem::transmute(
13516                    ppshaderresourceviews
13517                        .map_or(core::ptr::null(), |slice| slice.as_ptr()),
13518                ),
13519            )
13520        }
13521    }
13522    pub unsafe fn VSSetSamplers(
13523        &self,
13524        startslot: u32,
13525        ppsamplers: Option<&[Option<ID3D11SamplerState>]>,
13526    ) {
13527        unsafe {
13528            (windows_core::Interface::vtable(self).VSSetSamplers)(
13529                windows_core::Interface::as_raw(self),
13530                startslot,
13531                ppsamplers
13532                    .map_or(0, |slice| slice.len().try_into().unwrap()),
13533                core::mem::transmute(
13534                    ppsamplers
13535                        .map_or(core::ptr::null(), |slice| slice.as_ptr()),
13536                ),
13537            )
13538        }
13539    }
13540    pub unsafe fn Begin<P0>(&self, pasync: P0)
13541    where
13542        P0: windows_core::Param<ID3D11Asynchronous>,
13543    {
13544        unsafe {
13545            (windows_core::Interface::vtable(self).Begin)(
13546                windows_core::Interface::as_raw(self),
13547                pasync.param().abi(),
13548            )
13549        }
13550    }
13551    pub unsafe fn End<P0>(&self, pasync: P0)
13552    where
13553        P0: windows_core::Param<ID3D11Asynchronous>,
13554    {
13555        unsafe {
13556            (windows_core::Interface::vtable(self).End)(
13557                windows_core::Interface::as_raw(self),
13558                pasync.param().abi(),
13559            )
13560        }
13561    }
13562    pub unsafe fn GetData<P0>(
13563        &self,
13564        pasync: P0,
13565        pdata: Option<*mut core::ffi::c_void>,
13566        datasize: u32,
13567        getdataflags: u32,
13568    ) -> windows_core::Result<()>
13569    where
13570        P0: windows_core::Param<ID3D11Asynchronous>,
13571    {
13572        unsafe {
13573            (windows_core::Interface::vtable(self).GetData)(
13574                windows_core::Interface::as_raw(self),
13575                pasync.param().abi(),
13576                core::mem::transmute(pdata.unwrap_or(core::mem::zeroed())),
13577                datasize,
13578                getdataflags,
13579            )
13580            .ok()
13581        }
13582    }
13583    pub unsafe fn SetPredication<P0>(&self, ppredicate: P0, predicatevalue: bool)
13584    where
13585        P0: windows_core::Param<ID3D11Predicate>,
13586    {
13587        unsafe {
13588            (windows_core::Interface::vtable(self).SetPredication)(
13589                windows_core::Interface::as_raw(self),
13590                ppredicate.param().abi(),
13591                predicatevalue.into(),
13592            )
13593        }
13594    }
13595    pub unsafe fn GSSetShaderResources(
13596        &self,
13597        startslot: u32,
13598        ppshaderresourceviews: Option<&[Option<ID3D11ShaderResourceView>]>,
13599    ) {
13600        unsafe {
13601            (windows_core::Interface::vtable(self).GSSetShaderResources)(
13602                windows_core::Interface::as_raw(self),
13603                startslot,
13604                ppshaderresourceviews
13605                    .map_or(0, |slice| slice.len().try_into().unwrap()),
13606                core::mem::transmute(
13607                    ppshaderresourceviews
13608                        .map_or(core::ptr::null(), |slice| slice.as_ptr()),
13609                ),
13610            )
13611        }
13612    }
13613    pub unsafe fn GSSetSamplers(
13614        &self,
13615        startslot: u32,
13616        ppsamplers: Option<&[Option<ID3D11SamplerState>]>,
13617    ) {
13618        unsafe {
13619            (windows_core::Interface::vtable(self).GSSetSamplers)(
13620                windows_core::Interface::as_raw(self),
13621                startslot,
13622                ppsamplers
13623                    .map_or(0, |slice| slice.len().try_into().unwrap()),
13624                core::mem::transmute(
13625                    ppsamplers
13626                        .map_or(core::ptr::null(), |slice| slice.as_ptr()),
13627                ),
13628            )
13629        }
13630    }
13631    pub unsafe fn OMSetRenderTargets<P2>(
13632        &self,
13633        pprendertargetviews: Option<&[Option<ID3D11RenderTargetView>]>,
13634        pdepthstencilview: P2,
13635    ) where
13636        P2: windows_core::Param<ID3D11DepthStencilView>,
13637    {
13638        unsafe {
13639            (windows_core::Interface::vtable(self).OMSetRenderTargets)(
13640                windows_core::Interface::as_raw(self),
13641                pprendertargetviews
13642                    .map_or(0, |slice| slice.len().try_into().unwrap()),
13643                core::mem::transmute(
13644                    pprendertargetviews
13645                        .map_or(core::ptr::null(), |slice| slice.as_ptr()),
13646                ),
13647                pdepthstencilview.param().abi(),
13648            )
13649        }
13650    }
13651    pub unsafe fn OMSetRenderTargetsAndUnorderedAccessViews<P2>(
13652        &self,
13653        pprendertargetviews: Option<&[Option<ID3D11RenderTargetView>]>,
13654        pdepthstencilview: P2,
13655        uavstartslot: u32,
13656        numuavs: u32,
13657        ppunorderedaccessviews: Option<*const Option<ID3D11UnorderedAccessView>>,
13658        puavinitialcounts: Option<*const u32>,
13659    ) where
13660        P2: windows_core::Param<ID3D11DepthStencilView>,
13661    {
13662        unsafe {
13663            (windows_core::Interface::vtable(self).OMSetRenderTargetsAndUnorderedAccessViews)(
13664                windows_core::Interface::as_raw(self),
13665                pprendertargetviews
13666                    .map_or(0, |slice| slice.len().try_into().unwrap()),
13667                core::mem::transmute(
13668                    pprendertargetviews
13669                        .map_or(core::ptr::null(), |slice| slice.as_ptr()),
13670                ),
13671                pdepthstencilview.param().abi(),
13672                uavstartslot,
13673                numuavs,
13674                core::mem::transmute(ppunorderedaccessviews.unwrap_or(core::mem::zeroed())),
13675                core::mem::transmute(puavinitialcounts.unwrap_or(core::mem::zeroed())),
13676            )
13677        }
13678    }
13679    pub unsafe fn OMSetBlendState<P0>(
13680        &self,
13681        pblendstate: P0,
13682        blendfactor: Option<&[f32; 4]>,
13683        samplemask: u32,
13684    ) where
13685        P0: windows_core::Param<ID3D11BlendState>,
13686    {
13687        unsafe {
13688            (windows_core::Interface::vtable(self).OMSetBlendState)(
13689                windows_core::Interface::as_raw(self),
13690                pblendstate.param().abi(),
13691                core::mem::transmute(
13692                    blendfactor
13693                        .map_or(core::ptr::null(), |slice| slice.as_ptr()),
13694                ),
13695                samplemask,
13696            )
13697        }
13698    }
13699    pub unsafe fn OMSetDepthStencilState<P0>(&self, pdepthstencilstate: P0, stencilref: u32)
13700    where
13701        P0: windows_core::Param<ID3D11DepthStencilState>,
13702    {
13703        unsafe {
13704            (windows_core::Interface::vtable(self).OMSetDepthStencilState)(
13705                windows_core::Interface::as_raw(self),
13706                pdepthstencilstate.param().abi(),
13707                stencilref,
13708            )
13709        }
13710    }
13711    pub unsafe fn SOSetTargets(
13712        &self,
13713        numbuffers: u32,
13714        ppsotargets: Option<*const Option<ID3D11Buffer>>,
13715        poffsets: Option<*const u32>,
13716    ) {
13717        unsafe {
13718            (windows_core::Interface::vtable(self).SOSetTargets)(
13719                windows_core::Interface::as_raw(self),
13720                numbuffers,
13721                core::mem::transmute(ppsotargets.unwrap_or(core::mem::zeroed())),
13722                core::mem::transmute(poffsets.unwrap_or(core::mem::zeroed())),
13723            )
13724        }
13725    }
13726    pub unsafe fn DrawAuto(&self) {
13727        unsafe {
13728            (windows_core::Interface::vtable(self).DrawAuto)(windows_core::Interface::as_raw(self))
13729        }
13730    }
13731    pub unsafe fn DrawIndexedInstancedIndirect<P0>(
13732        &self,
13733        pbufferforargs: P0,
13734        alignedbyteoffsetforargs: u32,
13735    ) where
13736        P0: windows_core::Param<ID3D11Buffer>,
13737    {
13738        unsafe {
13739            (windows_core::Interface::vtable(self).DrawIndexedInstancedIndirect)(
13740                windows_core::Interface::as_raw(self),
13741                pbufferforargs.param().abi(),
13742                alignedbyteoffsetforargs,
13743            )
13744        }
13745    }
13746    pub unsafe fn DrawInstancedIndirect<P0>(
13747        &self,
13748        pbufferforargs: P0,
13749        alignedbyteoffsetforargs: u32,
13750    ) where
13751        P0: windows_core::Param<ID3D11Buffer>,
13752    {
13753        unsafe {
13754            (windows_core::Interface::vtable(self).DrawInstancedIndirect)(
13755                windows_core::Interface::as_raw(self),
13756                pbufferforargs.param().abi(),
13757                alignedbyteoffsetforargs,
13758            )
13759        }
13760    }
13761    pub unsafe fn Dispatch(
13762        &self,
13763        threadgroupcountx: u32,
13764        threadgroupcounty: u32,
13765        threadgroupcountz: u32,
13766    ) {
13767        unsafe {
13768            (windows_core::Interface::vtable(self).Dispatch)(
13769                windows_core::Interface::as_raw(self),
13770                threadgroupcountx,
13771                threadgroupcounty,
13772                threadgroupcountz,
13773            )
13774        }
13775    }
13776    pub unsafe fn DispatchIndirect<P0>(&self, pbufferforargs: P0, alignedbyteoffsetforargs: u32)
13777    where
13778        P0: windows_core::Param<ID3D11Buffer>,
13779    {
13780        unsafe {
13781            (windows_core::Interface::vtable(self).DispatchIndirect)(
13782                windows_core::Interface::as_raw(self),
13783                pbufferforargs.param().abi(),
13784                alignedbyteoffsetforargs,
13785            )
13786        }
13787    }
13788    pub unsafe fn RSSetState<P0>(&self, prasterizerstate: P0)
13789    where
13790        P0: windows_core::Param<ID3D11RasterizerState>,
13791    {
13792        unsafe {
13793            (windows_core::Interface::vtable(self).RSSetState)(
13794                windows_core::Interface::as_raw(self),
13795                prasterizerstate.param().abi(),
13796            )
13797        }
13798    }
13799    pub unsafe fn RSSetViewports(&self, pviewports: Option<&[D3D11_VIEWPORT]>) {
13800        unsafe {
13801            (windows_core::Interface::vtable(self).RSSetViewports)(
13802                windows_core::Interface::as_raw(self),
13803                pviewports
13804                    .map_or(0, |slice| slice.len().try_into().unwrap()),
13805                core::mem::transmute(
13806                    pviewports
13807                        .map_or(core::ptr::null(), |slice| slice.as_ptr()),
13808                ),
13809            )
13810        }
13811    }
13812    pub unsafe fn RSSetScissorRects(&self, prects: Option<&[crate::Foundation::RECT]>) {
13813        unsafe {
13814            (windows_core::Interface::vtable(self).RSSetScissorRects)(
13815                windows_core::Interface::as_raw(self),
13816                prects
13817                    .map_or(0, |slice| slice.len().try_into().unwrap()),
13818                core::mem::transmute(
13819                    prects
13820                        .map_or(core::ptr::null(), |slice| slice.as_ptr()),
13821                ),
13822            )
13823        }
13824    }
13825    pub unsafe fn CopySubresourceRegion<P0, P5>(
13826        &self,
13827        pdstresource: P0,
13828        dstsubresource: u32,
13829        dstx: u32,
13830        dsty: u32,
13831        dstz: u32,
13832        psrcresource: P5,
13833        srcsubresource: u32,
13834        psrcbox: Option<*const D3D11_BOX>,
13835    ) where
13836        P0: windows_core::Param<ID3D11Resource>,
13837        P5: windows_core::Param<ID3D11Resource>,
13838    {
13839        unsafe {
13840            (windows_core::Interface::vtable(self).CopySubresourceRegion)(
13841                windows_core::Interface::as_raw(self),
13842                pdstresource.param().abi(),
13843                dstsubresource,
13844                dstx,
13845                dsty,
13846                dstz,
13847                psrcresource.param().abi(),
13848                srcsubresource,
13849                core::mem::transmute(psrcbox.unwrap_or(core::mem::zeroed())),
13850            )
13851        }
13852    }
13853    pub unsafe fn CopyResource<P0, P1>(&self, pdstresource: P0, psrcresource: P1)
13854    where
13855        P0: windows_core::Param<ID3D11Resource>,
13856        P1: windows_core::Param<ID3D11Resource>,
13857    {
13858        unsafe {
13859            (windows_core::Interface::vtable(self).CopyResource)(
13860                windows_core::Interface::as_raw(self),
13861                pdstresource.param().abi(),
13862                psrcresource.param().abi(),
13863            )
13864        }
13865    }
13866    pub unsafe fn UpdateSubresource<P0>(
13867        &self,
13868        pdstresource: P0,
13869        dstsubresource: u32,
13870        pdstbox: Option<*const D3D11_BOX>,
13871        psrcdata: *const core::ffi::c_void,
13872        srcrowpitch: u32,
13873        srcdepthpitch: u32,
13874    ) where
13875        P0: windows_core::Param<ID3D11Resource>,
13876    {
13877        unsafe {
13878            (windows_core::Interface::vtable(self).UpdateSubresource)(
13879                windows_core::Interface::as_raw(self),
13880                pdstresource.param().abi(),
13881                dstsubresource,
13882                core::mem::transmute(pdstbox.unwrap_or(core::mem::zeroed())),
13883                psrcdata,
13884                srcrowpitch,
13885                srcdepthpitch,
13886            )
13887        }
13888    }
13889    pub unsafe fn CopyStructureCount<P0, P2>(
13890        &self,
13891        pdstbuffer: P0,
13892        dstalignedbyteoffset: u32,
13893        psrcview: P2,
13894    ) where
13895        P0: windows_core::Param<ID3D11Buffer>,
13896        P2: windows_core::Param<ID3D11UnorderedAccessView>,
13897    {
13898        unsafe {
13899            (windows_core::Interface::vtable(self).CopyStructureCount)(
13900                windows_core::Interface::as_raw(self),
13901                pdstbuffer.param().abi(),
13902                dstalignedbyteoffset,
13903                psrcview.param().abi(),
13904            )
13905        }
13906    }
13907    pub unsafe fn ClearRenderTargetView<P0>(&self, prendertargetview: P0, colorrgba: &[f32; 4])
13908    where
13909        P0: windows_core::Param<ID3D11RenderTargetView>,
13910    {
13911        unsafe {
13912            (windows_core::Interface::vtable(self).ClearRenderTargetView)(
13913                windows_core::Interface::as_raw(self),
13914                prendertargetview.param().abi(),
13915                core::mem::transmute(colorrgba.as_ptr()),
13916            )
13917        }
13918    }
13919    pub unsafe fn ClearUnorderedAccessViewUint<P0>(
13920        &self,
13921        punorderedaccessview: P0,
13922        values: &[u32; 4],
13923    ) where
13924        P0: windows_core::Param<ID3D11UnorderedAccessView>,
13925    {
13926        unsafe {
13927            (windows_core::Interface::vtable(self).ClearUnorderedAccessViewUint)(
13928                windows_core::Interface::as_raw(self),
13929                punorderedaccessview.param().abi(),
13930                core::mem::transmute(values.as_ptr()),
13931            )
13932        }
13933    }
13934    pub unsafe fn ClearUnorderedAccessViewFloat<P0>(
13935        &self,
13936        punorderedaccessview: P0,
13937        values: &[f32; 4],
13938    ) where
13939        P0: windows_core::Param<ID3D11UnorderedAccessView>,
13940    {
13941        unsafe {
13942            (windows_core::Interface::vtable(self).ClearUnorderedAccessViewFloat)(
13943                windows_core::Interface::as_raw(self),
13944                punorderedaccessview.param().abi(),
13945                core::mem::transmute(values.as_ptr()),
13946            )
13947        }
13948    }
13949    pub unsafe fn ClearDepthStencilView<P0>(
13950        &self,
13951        pdepthstencilview: P0,
13952        clearflags: u32,
13953        depth: f32,
13954        stencil: u8,
13955    ) where
13956        P0: windows_core::Param<ID3D11DepthStencilView>,
13957    {
13958        unsafe {
13959            (windows_core::Interface::vtable(self).ClearDepthStencilView)(
13960                windows_core::Interface::as_raw(self),
13961                pdepthstencilview.param().abi(),
13962                clearflags,
13963                depth,
13964                stencil,
13965            )
13966        }
13967    }
13968    pub unsafe fn GenerateMips<P0>(&self, pshaderresourceview: P0)
13969    where
13970        P0: windows_core::Param<ID3D11ShaderResourceView>,
13971    {
13972        unsafe {
13973            (windows_core::Interface::vtable(self).GenerateMips)(
13974                windows_core::Interface::as_raw(self),
13975                pshaderresourceview.param().abi(),
13976            )
13977        }
13978    }
13979    pub unsafe fn SetResourceMinLOD<P0>(&self, presource: P0, minlod: f32)
13980    where
13981        P0: windows_core::Param<ID3D11Resource>,
13982    {
13983        unsafe {
13984            (windows_core::Interface::vtable(self).SetResourceMinLOD)(
13985                windows_core::Interface::as_raw(self),
13986                presource.param().abi(),
13987                minlod,
13988            )
13989        }
13990    }
13991    pub unsafe fn GetResourceMinLOD<P0>(&self, presource: P0) -> f32
13992    where
13993        P0: windows_core::Param<ID3D11Resource>,
13994    {
13995        unsafe {
13996            (windows_core::Interface::vtable(self).GetResourceMinLOD)(
13997                windows_core::Interface::as_raw(self),
13998                presource.param().abi(),
13999            )
14000        }
14001    }
14002    #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
14003    pub unsafe fn ResolveSubresource<P0, P2>(
14004        &self,
14005        pdstresource: P0,
14006        dstsubresource: u32,
14007        psrcresource: P2,
14008        srcsubresource: u32,
14009        format: crate::Dxgi::Common::DXGI_FORMAT,
14010    ) where
14011        P0: windows_core::Param<ID3D11Resource>,
14012        P2: windows_core::Param<ID3D11Resource>,
14013    {
14014        unsafe {
14015            (windows_core::Interface::vtable(self).ResolveSubresource)(
14016                windows_core::Interface::as_raw(self),
14017                pdstresource.param().abi(),
14018                dstsubresource,
14019                psrcresource.param().abi(),
14020                srcsubresource,
14021                format,
14022            )
14023        }
14024    }
14025    pub unsafe fn ExecuteCommandList<P0>(&self, pcommandlist: P0, restorecontextstate: bool)
14026    where
14027        P0: windows_core::Param<ID3D11CommandList>,
14028    {
14029        unsafe {
14030            (windows_core::Interface::vtable(self).ExecuteCommandList)(
14031                windows_core::Interface::as_raw(self),
14032                pcommandlist.param().abi(),
14033                restorecontextstate.into(),
14034            )
14035        }
14036    }
14037    pub unsafe fn HSSetShaderResources(
14038        &self,
14039        startslot: u32,
14040        ppshaderresourceviews: Option<&[Option<ID3D11ShaderResourceView>]>,
14041    ) {
14042        unsafe {
14043            (windows_core::Interface::vtable(self).HSSetShaderResources)(
14044                windows_core::Interface::as_raw(self),
14045                startslot,
14046                ppshaderresourceviews
14047                    .map_or(0, |slice| slice.len().try_into().unwrap()),
14048                core::mem::transmute(
14049                    ppshaderresourceviews
14050                        .map_or(core::ptr::null(), |slice| slice.as_ptr()),
14051                ),
14052            )
14053        }
14054    }
14055    pub unsafe fn HSSetShader<P0>(
14056        &self,
14057        phullshader: P0,
14058        ppclassinstances: Option<&[Option<ID3D11ClassInstance>]>,
14059    ) where
14060        P0: windows_core::Param<ID3D11HullShader>,
14061    {
14062        unsafe {
14063            (windows_core::Interface::vtable(self).HSSetShader)(
14064                windows_core::Interface::as_raw(self),
14065                phullshader.param().abi(),
14066                core::mem::transmute(
14067                    ppclassinstances
14068                        .map_or(core::ptr::null(), |slice| slice.as_ptr()),
14069                ),
14070                ppclassinstances
14071                    .map_or(0, |slice| slice.len().try_into().unwrap()),
14072            )
14073        }
14074    }
14075    pub unsafe fn HSSetSamplers(
14076        &self,
14077        startslot: u32,
14078        ppsamplers: Option<&[Option<ID3D11SamplerState>]>,
14079    ) {
14080        unsafe {
14081            (windows_core::Interface::vtable(self).HSSetSamplers)(
14082                windows_core::Interface::as_raw(self),
14083                startslot,
14084                ppsamplers
14085                    .map_or(0, |slice| slice.len().try_into().unwrap()),
14086                core::mem::transmute(
14087                    ppsamplers
14088                        .map_or(core::ptr::null(), |slice| slice.as_ptr()),
14089                ),
14090            )
14091        }
14092    }
14093    pub unsafe fn HSSetConstantBuffers(
14094        &self,
14095        startslot: u32,
14096        ppconstantbuffers: Option<&[Option<ID3D11Buffer>]>,
14097    ) {
14098        unsafe {
14099            (windows_core::Interface::vtable(self).HSSetConstantBuffers)(
14100                windows_core::Interface::as_raw(self),
14101                startslot,
14102                ppconstantbuffers
14103                    .map_or(0, |slice| slice.len().try_into().unwrap()),
14104                core::mem::transmute(
14105                    ppconstantbuffers
14106                        .map_or(core::ptr::null(), |slice| slice.as_ptr()),
14107                ),
14108            )
14109        }
14110    }
14111    pub unsafe fn DSSetShaderResources(
14112        &self,
14113        startslot: u32,
14114        ppshaderresourceviews: Option<&[Option<ID3D11ShaderResourceView>]>,
14115    ) {
14116        unsafe {
14117            (windows_core::Interface::vtable(self).DSSetShaderResources)(
14118                windows_core::Interface::as_raw(self),
14119                startslot,
14120                ppshaderresourceviews
14121                    .map_or(0, |slice| slice.len().try_into().unwrap()),
14122                core::mem::transmute(
14123                    ppshaderresourceviews
14124                        .map_or(core::ptr::null(), |slice| slice.as_ptr()),
14125                ),
14126            )
14127        }
14128    }
14129    pub unsafe fn DSSetShader<P0>(
14130        &self,
14131        pdomainshader: P0,
14132        ppclassinstances: Option<&[Option<ID3D11ClassInstance>]>,
14133    ) where
14134        P0: windows_core::Param<ID3D11DomainShader>,
14135    {
14136        unsafe {
14137            (windows_core::Interface::vtable(self).DSSetShader)(
14138                windows_core::Interface::as_raw(self),
14139                pdomainshader.param().abi(),
14140                core::mem::transmute(
14141                    ppclassinstances
14142                        .map_or(core::ptr::null(), |slice| slice.as_ptr()),
14143                ),
14144                ppclassinstances
14145                    .map_or(0, |slice| slice.len().try_into().unwrap()),
14146            )
14147        }
14148    }
14149    pub unsafe fn DSSetSamplers(
14150        &self,
14151        startslot: u32,
14152        ppsamplers: Option<&[Option<ID3D11SamplerState>]>,
14153    ) {
14154        unsafe {
14155            (windows_core::Interface::vtable(self).DSSetSamplers)(
14156                windows_core::Interface::as_raw(self),
14157                startslot,
14158                ppsamplers
14159                    .map_or(0, |slice| slice.len().try_into().unwrap()),
14160                core::mem::transmute(
14161                    ppsamplers
14162                        .map_or(core::ptr::null(), |slice| slice.as_ptr()),
14163                ),
14164            )
14165        }
14166    }
14167    pub unsafe fn DSSetConstantBuffers(
14168        &self,
14169        startslot: u32,
14170        ppconstantbuffers: Option<&[Option<ID3D11Buffer>]>,
14171    ) {
14172        unsafe {
14173            (windows_core::Interface::vtable(self).DSSetConstantBuffers)(
14174                windows_core::Interface::as_raw(self),
14175                startslot,
14176                ppconstantbuffers
14177                    .map_or(0, |slice| slice.len().try_into().unwrap()),
14178                core::mem::transmute(
14179                    ppconstantbuffers
14180                        .map_or(core::ptr::null(), |slice| slice.as_ptr()),
14181                ),
14182            )
14183        }
14184    }
14185    pub unsafe fn CSSetShaderResources(
14186        &self,
14187        startslot: u32,
14188        ppshaderresourceviews: Option<&[Option<ID3D11ShaderResourceView>]>,
14189    ) {
14190        unsafe {
14191            (windows_core::Interface::vtable(self).CSSetShaderResources)(
14192                windows_core::Interface::as_raw(self),
14193                startslot,
14194                ppshaderresourceviews
14195                    .map_or(0, |slice| slice.len().try_into().unwrap()),
14196                core::mem::transmute(
14197                    ppshaderresourceviews
14198                        .map_or(core::ptr::null(), |slice| slice.as_ptr()),
14199                ),
14200            )
14201        }
14202    }
14203    pub unsafe fn CSSetUnorderedAccessViews(
14204        &self,
14205        startslot: u32,
14206        numuavs: u32,
14207        ppunorderedaccessviews: Option<*const Option<ID3D11UnorderedAccessView>>,
14208        puavinitialcounts: Option<*const u32>,
14209    ) {
14210        unsafe {
14211            (windows_core::Interface::vtable(self).CSSetUnorderedAccessViews)(
14212                windows_core::Interface::as_raw(self),
14213                startslot,
14214                numuavs,
14215                core::mem::transmute(ppunorderedaccessviews.unwrap_or(core::mem::zeroed())),
14216                core::mem::transmute(puavinitialcounts.unwrap_or(core::mem::zeroed())),
14217            )
14218        }
14219    }
14220    pub unsafe fn CSSetShader<P0>(
14221        &self,
14222        pcomputeshader: P0,
14223        ppclassinstances: Option<&[Option<ID3D11ClassInstance>]>,
14224    ) where
14225        P0: windows_core::Param<ID3D11ComputeShader>,
14226    {
14227        unsafe {
14228            (windows_core::Interface::vtable(self).CSSetShader)(
14229                windows_core::Interface::as_raw(self),
14230                pcomputeshader.param().abi(),
14231                core::mem::transmute(
14232                    ppclassinstances
14233                        .map_or(core::ptr::null(), |slice| slice.as_ptr()),
14234                ),
14235                ppclassinstances
14236                    .map_or(0, |slice| slice.len().try_into().unwrap()),
14237            )
14238        }
14239    }
14240    pub unsafe fn CSSetSamplers(
14241        &self,
14242        startslot: u32,
14243        ppsamplers: Option<&[Option<ID3D11SamplerState>]>,
14244    ) {
14245        unsafe {
14246            (windows_core::Interface::vtable(self).CSSetSamplers)(
14247                windows_core::Interface::as_raw(self),
14248                startslot,
14249                ppsamplers
14250                    .map_or(0, |slice| slice.len().try_into().unwrap()),
14251                core::mem::transmute(
14252                    ppsamplers
14253                        .map_or(core::ptr::null(), |slice| slice.as_ptr()),
14254                ),
14255            )
14256        }
14257    }
14258    pub unsafe fn CSSetConstantBuffers(
14259        &self,
14260        startslot: u32,
14261        ppconstantbuffers: Option<&[Option<ID3D11Buffer>]>,
14262    ) {
14263        unsafe {
14264            (windows_core::Interface::vtable(self).CSSetConstantBuffers)(
14265                windows_core::Interface::as_raw(self),
14266                startslot,
14267                ppconstantbuffers
14268                    .map_or(0, |slice| slice.len().try_into().unwrap()),
14269                core::mem::transmute(
14270                    ppconstantbuffers
14271                        .map_or(core::ptr::null(), |slice| slice.as_ptr()),
14272                ),
14273            )
14274        }
14275    }
14276    pub unsafe fn VSGetConstantBuffers(
14277        &self,
14278        startslot: u32,
14279        ppconstantbuffers: Option<&mut [Option<ID3D11Buffer>]>,
14280    ) {
14281        unsafe {
14282            (windows_core::Interface::vtable(self).VSGetConstantBuffers)(
14283                windows_core::Interface::as_raw(self),
14284                startslot,
14285                ppconstantbuffers
14286                    .as_deref()
14287                    .map_or(0, |slice| slice.len().try_into().unwrap()),
14288                core::mem::transmute(
14289                    ppconstantbuffers
14290                        .as_deref()
14291                        .map_or(core::ptr::null(), |slice| slice.as_ptr()),
14292                ),
14293            )
14294        }
14295    }
14296    pub unsafe fn PSGetShaderResources(
14297        &self,
14298        startslot: u32,
14299        ppshaderresourceviews: Option<&mut [Option<ID3D11ShaderResourceView>]>,
14300    ) {
14301        unsafe {
14302            (windows_core::Interface::vtable(self).PSGetShaderResources)(
14303                windows_core::Interface::as_raw(self),
14304                startslot,
14305                ppshaderresourceviews
14306                    .as_deref()
14307                    .map_or(0, |slice| slice.len().try_into().unwrap()),
14308                core::mem::transmute(
14309                    ppshaderresourceviews
14310                        .as_deref()
14311                        .map_or(core::ptr::null(), |slice| slice.as_ptr()),
14312                ),
14313            )
14314        }
14315    }
14316    pub unsafe fn PSGetShader(
14317        &self,
14318        pppixelshader: *mut Option<ID3D11PixelShader>,
14319        ppclassinstances: Option<*mut Option<ID3D11ClassInstance>>,
14320        pnumclassinstances: Option<*mut u32>,
14321    ) {
14322        unsafe {
14323            (windows_core::Interface::vtable(self).PSGetShader)(
14324                windows_core::Interface::as_raw(self),
14325                core::mem::transmute(pppixelshader),
14326                core::mem::transmute(ppclassinstances.unwrap_or(core::mem::zeroed())),
14327                core::mem::transmute(pnumclassinstances.unwrap_or(core::mem::zeroed())),
14328            )
14329        }
14330    }
14331    pub unsafe fn PSGetSamplers(
14332        &self,
14333        startslot: u32,
14334        ppsamplers: Option<&mut [Option<ID3D11SamplerState>]>,
14335    ) {
14336        unsafe {
14337            (windows_core::Interface::vtable(self).PSGetSamplers)(
14338                windows_core::Interface::as_raw(self),
14339                startslot,
14340                ppsamplers
14341                    .as_deref()
14342                    .map_or(0, |slice| slice.len().try_into().unwrap()),
14343                core::mem::transmute(
14344                    ppsamplers
14345                        .as_deref()
14346                        .map_or(core::ptr::null(), |slice| slice.as_ptr()),
14347                ),
14348            )
14349        }
14350    }
14351    pub unsafe fn VSGetShader(
14352        &self,
14353        ppvertexshader: *mut Option<ID3D11VertexShader>,
14354        ppclassinstances: Option<*mut Option<ID3D11ClassInstance>>,
14355        pnumclassinstances: Option<*mut u32>,
14356    ) {
14357        unsafe {
14358            (windows_core::Interface::vtable(self).VSGetShader)(
14359                windows_core::Interface::as_raw(self),
14360                core::mem::transmute(ppvertexshader),
14361                core::mem::transmute(ppclassinstances.unwrap_or(core::mem::zeroed())),
14362                core::mem::transmute(pnumclassinstances.unwrap_or(core::mem::zeroed())),
14363            )
14364        }
14365    }
14366    pub unsafe fn PSGetConstantBuffers(
14367        &self,
14368        startslot: u32,
14369        ppconstantbuffers: Option<&mut [Option<ID3D11Buffer>]>,
14370    ) {
14371        unsafe {
14372            (windows_core::Interface::vtable(self).PSGetConstantBuffers)(
14373                windows_core::Interface::as_raw(self),
14374                startslot,
14375                ppconstantbuffers
14376                    .as_deref()
14377                    .map_or(0, |slice| slice.len().try_into().unwrap()),
14378                core::mem::transmute(
14379                    ppconstantbuffers
14380                        .as_deref()
14381                        .map_or(core::ptr::null(), |slice| slice.as_ptr()),
14382                ),
14383            )
14384        }
14385    }
14386    pub unsafe fn IAGetInputLayout(&self) -> windows_core::Result<ID3D11InputLayout> {
14387        unsafe {
14388            let mut result__ = core::mem::zeroed();
14389            (windows_core::Interface::vtable(self).IAGetInputLayout)(
14390                windows_core::Interface::as_raw(self),
14391                &mut result__,
14392            );
14393            windows_core::Type::from_abi(result__)
14394        }
14395    }
14396    pub unsafe fn IAGetVertexBuffers(
14397        &self,
14398        startslot: u32,
14399        numbuffers: u32,
14400        ppvertexbuffers: Option<*mut Option<ID3D11Buffer>>,
14401        pstrides: Option<*mut u32>,
14402        poffsets: Option<*mut u32>,
14403    ) {
14404        unsafe {
14405            (windows_core::Interface::vtable(self).IAGetVertexBuffers)(
14406                windows_core::Interface::as_raw(self),
14407                startslot,
14408                numbuffers,
14409                core::mem::transmute(ppvertexbuffers.unwrap_or(core::mem::zeroed())),
14410                core::mem::transmute(pstrides.unwrap_or(core::mem::zeroed())),
14411                core::mem::transmute(poffsets.unwrap_or(core::mem::zeroed())),
14412            )
14413        }
14414    }
14415    #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
14416    pub unsafe fn IAGetIndexBuffer(
14417        &self,
14418        pindexbuffer: Option<*mut Option<ID3D11Buffer>>,
14419        format: Option<*mut crate::Dxgi::Common::DXGI_FORMAT>,
14420        offset: Option<*mut u32>,
14421    ) {
14422        unsafe {
14423            (windows_core::Interface::vtable(self).IAGetIndexBuffer)(
14424                windows_core::Interface::as_raw(self),
14425                core::mem::transmute(pindexbuffer.unwrap_or(core::mem::zeroed())),
14426                core::mem::transmute(format.unwrap_or(core::mem::zeroed())),
14427                core::mem::transmute(offset.unwrap_or(core::mem::zeroed())),
14428            )
14429        }
14430    }
14431    pub unsafe fn GSGetConstantBuffers(
14432        &self,
14433        startslot: u32,
14434        ppconstantbuffers: Option<&mut [Option<ID3D11Buffer>]>,
14435    ) {
14436        unsafe {
14437            (windows_core::Interface::vtable(self).GSGetConstantBuffers)(
14438                windows_core::Interface::as_raw(self),
14439                startslot,
14440                ppconstantbuffers
14441                    .as_deref()
14442                    .map_or(0, |slice| slice.len().try_into().unwrap()),
14443                core::mem::transmute(
14444                    ppconstantbuffers
14445                        .as_deref()
14446                        .map_or(core::ptr::null(), |slice| slice.as_ptr()),
14447                ),
14448            )
14449        }
14450    }
14451    pub unsafe fn GSGetShader(
14452        &self,
14453        ppgeometryshader: *mut Option<ID3D11GeometryShader>,
14454        ppclassinstances: Option<*mut Option<ID3D11ClassInstance>>,
14455        pnumclassinstances: Option<*mut u32>,
14456    ) {
14457        unsafe {
14458            (windows_core::Interface::vtable(self).GSGetShader)(
14459                windows_core::Interface::as_raw(self),
14460                core::mem::transmute(ppgeometryshader),
14461                core::mem::transmute(ppclassinstances.unwrap_or(core::mem::zeroed())),
14462                core::mem::transmute(pnumclassinstances.unwrap_or(core::mem::zeroed())),
14463            )
14464        }
14465    }
14466    #[cfg(feature = "Win32_Graphics_Direct3D")]
14467    pub unsafe fn IAGetPrimitiveTopology(&self) -> super::Direct3D::D3D_PRIMITIVE_TOPOLOGY {
14468        unsafe {
14469            let mut result__ = core::mem::zeroed();
14470            (windows_core::Interface::vtable(self).IAGetPrimitiveTopology)(
14471                windows_core::Interface::as_raw(self),
14472                &mut result__,
14473            );
14474            result__
14475        }
14476    }
14477    pub unsafe fn VSGetShaderResources(
14478        &self,
14479        startslot: u32,
14480        ppshaderresourceviews: Option<&mut [Option<ID3D11ShaderResourceView>]>,
14481    ) {
14482        unsafe {
14483            (windows_core::Interface::vtable(self).VSGetShaderResources)(
14484                windows_core::Interface::as_raw(self),
14485                startslot,
14486                ppshaderresourceviews
14487                    .as_deref()
14488                    .map_or(0, |slice| slice.len().try_into().unwrap()),
14489                core::mem::transmute(
14490                    ppshaderresourceviews
14491                        .as_deref()
14492                        .map_or(core::ptr::null(), |slice| slice.as_ptr()),
14493                ),
14494            )
14495        }
14496    }
14497    pub unsafe fn VSGetSamplers(
14498        &self,
14499        startslot: u32,
14500        ppsamplers: Option<&mut [Option<ID3D11SamplerState>]>,
14501    ) {
14502        unsafe {
14503            (windows_core::Interface::vtable(self).VSGetSamplers)(
14504                windows_core::Interface::as_raw(self),
14505                startslot,
14506                ppsamplers
14507                    .as_deref()
14508                    .map_or(0, |slice| slice.len().try_into().unwrap()),
14509                core::mem::transmute(
14510                    ppsamplers
14511                        .as_deref()
14512                        .map_or(core::ptr::null(), |slice| slice.as_ptr()),
14513                ),
14514            )
14515        }
14516    }
14517    pub unsafe fn GetPredication(
14518        &self,
14519        pppredicate: Option<*mut Option<ID3D11Predicate>>,
14520        ppredicatevalue: Option<*mut crate::Foundation::BOOL>,
14521    ) {
14522        unsafe {
14523            (windows_core::Interface::vtable(self).GetPredication)(
14524                windows_core::Interface::as_raw(self),
14525                core::mem::transmute(pppredicate.unwrap_or(core::mem::zeroed())),
14526                core::mem::transmute(ppredicatevalue.unwrap_or(core::mem::zeroed())),
14527            )
14528        }
14529    }
14530    pub unsafe fn GSGetShaderResources(
14531        &self,
14532        startslot: u32,
14533        ppshaderresourceviews: Option<&mut [Option<ID3D11ShaderResourceView>]>,
14534    ) {
14535        unsafe {
14536            (windows_core::Interface::vtable(self).GSGetShaderResources)(
14537                windows_core::Interface::as_raw(self),
14538                startslot,
14539                ppshaderresourceviews
14540                    .as_deref()
14541                    .map_or(0, |slice| slice.len().try_into().unwrap()),
14542                core::mem::transmute(
14543                    ppshaderresourceviews
14544                        .as_deref()
14545                        .map_or(core::ptr::null(), |slice| slice.as_ptr()),
14546                ),
14547            )
14548        }
14549    }
14550    pub unsafe fn GSGetSamplers(
14551        &self,
14552        startslot: u32,
14553        ppsamplers: Option<&mut [Option<ID3D11SamplerState>]>,
14554    ) {
14555        unsafe {
14556            (windows_core::Interface::vtable(self).GSGetSamplers)(
14557                windows_core::Interface::as_raw(self),
14558                startslot,
14559                ppsamplers
14560                    .as_deref()
14561                    .map_or(0, |slice| slice.len().try_into().unwrap()),
14562                core::mem::transmute(
14563                    ppsamplers
14564                        .as_deref()
14565                        .map_or(core::ptr::null(), |slice| slice.as_ptr()),
14566                ),
14567            )
14568        }
14569    }
14570    pub unsafe fn OMGetRenderTargets(
14571        &self,
14572        pprendertargetviews: Option<&mut [Option<ID3D11RenderTargetView>]>,
14573        ppdepthstencilview: Option<*mut Option<ID3D11DepthStencilView>>,
14574    ) {
14575        unsafe {
14576            (windows_core::Interface::vtable(self).OMGetRenderTargets)(
14577                windows_core::Interface::as_raw(self),
14578                pprendertargetviews
14579                    .as_deref()
14580                    .map_or(0, |slice| slice.len().try_into().unwrap()),
14581                core::mem::transmute(
14582                    pprendertargetviews
14583                        .as_deref()
14584                        .map_or(core::ptr::null(), |slice| slice.as_ptr()),
14585                ),
14586                core::mem::transmute(ppdepthstencilview.unwrap_or(core::mem::zeroed())),
14587            )
14588        }
14589    }
14590    pub unsafe fn OMGetRenderTargetsAndUnorderedAccessViews(
14591        &self,
14592        pprendertargetviews: Option<&mut [Option<ID3D11RenderTargetView>]>,
14593        ppdepthstencilview: Option<*mut Option<ID3D11DepthStencilView>>,
14594        uavstartslot: u32,
14595        ppunorderedaccessviews: Option<&mut [Option<ID3D11UnorderedAccessView>]>,
14596    ) {
14597        unsafe {
14598            (windows_core::Interface::vtable(self).OMGetRenderTargetsAndUnorderedAccessViews)(
14599                windows_core::Interface::as_raw(self),
14600                pprendertargetviews
14601                    .as_deref()
14602                    .map_or(0, |slice| slice.len().try_into().unwrap()),
14603                core::mem::transmute(
14604                    pprendertargetviews
14605                        .as_deref()
14606                        .map_or(core::ptr::null(), |slice| slice.as_ptr()),
14607                ),
14608                core::mem::transmute(ppdepthstencilview.unwrap_or(core::mem::zeroed())),
14609                uavstartslot,
14610                ppunorderedaccessviews
14611                    .as_deref()
14612                    .map_or(0, |slice| slice.len().try_into().unwrap()),
14613                core::mem::transmute(
14614                    ppunorderedaccessviews
14615                        .as_deref()
14616                        .map_or(core::ptr::null(), |slice| slice.as_ptr()),
14617                ),
14618            )
14619        }
14620    }
14621    pub unsafe fn OMGetBlendState(
14622        &self,
14623        ppblendstate: Option<*mut Option<ID3D11BlendState>>,
14624        blendfactor: Option<&mut [f32; 4]>,
14625        psamplemask: Option<*mut u32>,
14626    ) {
14627        unsafe {
14628            (windows_core::Interface::vtable(self).OMGetBlendState)(
14629                windows_core::Interface::as_raw(self),
14630                core::mem::transmute(ppblendstate.unwrap_or(core::mem::zeroed())),
14631                core::mem::transmute(
14632                    blendfactor
14633                        .as_deref()
14634                        .map_or(core::ptr::null(), |slice| slice.as_ptr()),
14635                ),
14636                core::mem::transmute(psamplemask.unwrap_or(core::mem::zeroed())),
14637            )
14638        }
14639    }
14640    pub unsafe fn OMGetDepthStencilState(
14641        &self,
14642        ppdepthstencilstate: Option<*mut Option<ID3D11DepthStencilState>>,
14643        pstencilref: Option<*mut u32>,
14644    ) {
14645        unsafe {
14646            (windows_core::Interface::vtable(self).OMGetDepthStencilState)(
14647                windows_core::Interface::as_raw(self),
14648                core::mem::transmute(ppdepthstencilstate.unwrap_or(core::mem::zeroed())),
14649                core::mem::transmute(pstencilref.unwrap_or(core::mem::zeroed())),
14650            )
14651        }
14652    }
14653    pub unsafe fn SOGetTargets(&self, ppsotargets: Option<&mut [Option<ID3D11Buffer>]>) {
14654        unsafe {
14655            (windows_core::Interface::vtable(self).SOGetTargets)(
14656                windows_core::Interface::as_raw(self),
14657                ppsotargets
14658                    .as_deref()
14659                    .map_or(0, |slice| slice.len().try_into().unwrap()),
14660                core::mem::transmute(
14661                    ppsotargets
14662                        .as_deref()
14663                        .map_or(core::ptr::null(), |slice| slice.as_ptr()),
14664                ),
14665            )
14666        }
14667    }
14668    pub unsafe fn RSGetState(&self) -> windows_core::Result<ID3D11RasterizerState> {
14669        unsafe {
14670            let mut result__ = core::mem::zeroed();
14671            (windows_core::Interface::vtable(self).RSGetState)(
14672                windows_core::Interface::as_raw(self),
14673                &mut result__,
14674            );
14675            windows_core::Type::from_abi(result__)
14676        }
14677    }
14678    pub unsafe fn RSGetViewports(
14679        &self,
14680        pnumviewports: *mut u32,
14681        pviewports: Option<*mut D3D11_VIEWPORT>,
14682    ) {
14683        unsafe {
14684            (windows_core::Interface::vtable(self).RSGetViewports)(
14685                windows_core::Interface::as_raw(self),
14686                core::mem::transmute(pnumviewports),
14687                core::mem::transmute(pviewports.unwrap_or(core::mem::zeroed())),
14688            )
14689        }
14690    }
14691    pub unsafe fn RSGetScissorRects(
14692        &self,
14693        pnumrects: *mut u32,
14694        prects: Option<*mut crate::Foundation::RECT>,
14695    ) {
14696        unsafe {
14697            (windows_core::Interface::vtable(self).RSGetScissorRects)(
14698                windows_core::Interface::as_raw(self),
14699                core::mem::transmute(pnumrects),
14700                core::mem::transmute(prects.unwrap_or(core::mem::zeroed())),
14701            )
14702        }
14703    }
14704    pub unsafe fn HSGetShaderResources(
14705        &self,
14706        startslot: u32,
14707        ppshaderresourceviews: Option<&mut [Option<ID3D11ShaderResourceView>]>,
14708    ) {
14709        unsafe {
14710            (windows_core::Interface::vtable(self).HSGetShaderResources)(
14711                windows_core::Interface::as_raw(self),
14712                startslot,
14713                ppshaderresourceviews
14714                    .as_deref()
14715                    .map_or(0, |slice| slice.len().try_into().unwrap()),
14716                core::mem::transmute(
14717                    ppshaderresourceviews
14718                        .as_deref()
14719                        .map_or(core::ptr::null(), |slice| slice.as_ptr()),
14720                ),
14721            )
14722        }
14723    }
14724    pub unsafe fn HSGetShader(
14725        &self,
14726        pphullshader: *mut Option<ID3D11HullShader>,
14727        ppclassinstances: Option<*mut Option<ID3D11ClassInstance>>,
14728        pnumclassinstances: Option<*mut u32>,
14729    ) {
14730        unsafe {
14731            (windows_core::Interface::vtable(self).HSGetShader)(
14732                windows_core::Interface::as_raw(self),
14733                core::mem::transmute(pphullshader),
14734                core::mem::transmute(ppclassinstances.unwrap_or(core::mem::zeroed())),
14735                core::mem::transmute(pnumclassinstances.unwrap_or(core::mem::zeroed())),
14736            )
14737        }
14738    }
14739    pub unsafe fn HSGetSamplers(
14740        &self,
14741        startslot: u32,
14742        ppsamplers: Option<&mut [Option<ID3D11SamplerState>]>,
14743    ) {
14744        unsafe {
14745            (windows_core::Interface::vtable(self).HSGetSamplers)(
14746                windows_core::Interface::as_raw(self),
14747                startslot,
14748                ppsamplers
14749                    .as_deref()
14750                    .map_or(0, |slice| slice.len().try_into().unwrap()),
14751                core::mem::transmute(
14752                    ppsamplers
14753                        .as_deref()
14754                        .map_or(core::ptr::null(), |slice| slice.as_ptr()),
14755                ),
14756            )
14757        }
14758    }
14759    pub unsafe fn HSGetConstantBuffers(
14760        &self,
14761        startslot: u32,
14762        ppconstantbuffers: Option<&mut [Option<ID3D11Buffer>]>,
14763    ) {
14764        unsafe {
14765            (windows_core::Interface::vtable(self).HSGetConstantBuffers)(
14766                windows_core::Interface::as_raw(self),
14767                startslot,
14768                ppconstantbuffers
14769                    .as_deref()
14770                    .map_or(0, |slice| slice.len().try_into().unwrap()),
14771                core::mem::transmute(
14772                    ppconstantbuffers
14773                        .as_deref()
14774                        .map_or(core::ptr::null(), |slice| slice.as_ptr()),
14775                ),
14776            )
14777        }
14778    }
14779    pub unsafe fn DSGetShaderResources(
14780        &self,
14781        startslot: u32,
14782        ppshaderresourceviews: Option<&mut [Option<ID3D11ShaderResourceView>]>,
14783    ) {
14784        unsafe {
14785            (windows_core::Interface::vtable(self).DSGetShaderResources)(
14786                windows_core::Interface::as_raw(self),
14787                startslot,
14788                ppshaderresourceviews
14789                    .as_deref()
14790                    .map_or(0, |slice| slice.len().try_into().unwrap()),
14791                core::mem::transmute(
14792                    ppshaderresourceviews
14793                        .as_deref()
14794                        .map_or(core::ptr::null(), |slice| slice.as_ptr()),
14795                ),
14796            )
14797        }
14798    }
14799    pub unsafe fn DSGetShader(
14800        &self,
14801        ppdomainshader: *mut Option<ID3D11DomainShader>,
14802        ppclassinstances: Option<*mut Option<ID3D11ClassInstance>>,
14803        pnumclassinstances: Option<*mut u32>,
14804    ) {
14805        unsafe {
14806            (windows_core::Interface::vtable(self).DSGetShader)(
14807                windows_core::Interface::as_raw(self),
14808                core::mem::transmute(ppdomainshader),
14809                core::mem::transmute(ppclassinstances.unwrap_or(core::mem::zeroed())),
14810                core::mem::transmute(pnumclassinstances.unwrap_or(core::mem::zeroed())),
14811            )
14812        }
14813    }
14814    pub unsafe fn DSGetSamplers(
14815        &self,
14816        startslot: u32,
14817        ppsamplers: Option<&mut [Option<ID3D11SamplerState>]>,
14818    ) {
14819        unsafe {
14820            (windows_core::Interface::vtable(self).DSGetSamplers)(
14821                windows_core::Interface::as_raw(self),
14822                startslot,
14823                ppsamplers
14824                    .as_deref()
14825                    .map_or(0, |slice| slice.len().try_into().unwrap()),
14826                core::mem::transmute(
14827                    ppsamplers
14828                        .as_deref()
14829                        .map_or(core::ptr::null(), |slice| slice.as_ptr()),
14830                ),
14831            )
14832        }
14833    }
14834    pub unsafe fn DSGetConstantBuffers(
14835        &self,
14836        startslot: u32,
14837        ppconstantbuffers: Option<&mut [Option<ID3D11Buffer>]>,
14838    ) {
14839        unsafe {
14840            (windows_core::Interface::vtable(self).DSGetConstantBuffers)(
14841                windows_core::Interface::as_raw(self),
14842                startslot,
14843                ppconstantbuffers
14844                    .as_deref()
14845                    .map_or(0, |slice| slice.len().try_into().unwrap()),
14846                core::mem::transmute(
14847                    ppconstantbuffers
14848                        .as_deref()
14849                        .map_or(core::ptr::null(), |slice| slice.as_ptr()),
14850                ),
14851            )
14852        }
14853    }
14854    pub unsafe fn CSGetShaderResources(
14855        &self,
14856        startslot: u32,
14857        ppshaderresourceviews: Option<&mut [Option<ID3D11ShaderResourceView>]>,
14858    ) {
14859        unsafe {
14860            (windows_core::Interface::vtable(self).CSGetShaderResources)(
14861                windows_core::Interface::as_raw(self),
14862                startslot,
14863                ppshaderresourceviews
14864                    .as_deref()
14865                    .map_or(0, |slice| slice.len().try_into().unwrap()),
14866                core::mem::transmute(
14867                    ppshaderresourceviews
14868                        .as_deref()
14869                        .map_or(core::ptr::null(), |slice| slice.as_ptr()),
14870                ),
14871            )
14872        }
14873    }
14874    pub unsafe fn CSGetUnorderedAccessViews(
14875        &self,
14876        startslot: u32,
14877        ppunorderedaccessviews: Option<&mut [Option<ID3D11UnorderedAccessView>]>,
14878    ) {
14879        unsafe {
14880            (windows_core::Interface::vtable(self).CSGetUnorderedAccessViews)(
14881                windows_core::Interface::as_raw(self),
14882                startslot,
14883                ppunorderedaccessviews
14884                    .as_deref()
14885                    .map_or(0, |slice| slice.len().try_into().unwrap()),
14886                core::mem::transmute(
14887                    ppunorderedaccessviews
14888                        .as_deref()
14889                        .map_or(core::ptr::null(), |slice| slice.as_ptr()),
14890                ),
14891            )
14892        }
14893    }
14894    pub unsafe fn CSGetShader(
14895        &self,
14896        ppcomputeshader: *mut Option<ID3D11ComputeShader>,
14897        ppclassinstances: Option<*mut Option<ID3D11ClassInstance>>,
14898        pnumclassinstances: Option<*mut u32>,
14899    ) {
14900        unsafe {
14901            (windows_core::Interface::vtable(self).CSGetShader)(
14902                windows_core::Interface::as_raw(self),
14903                core::mem::transmute(ppcomputeshader),
14904                core::mem::transmute(ppclassinstances.unwrap_or(core::mem::zeroed())),
14905                core::mem::transmute(pnumclassinstances.unwrap_or(core::mem::zeroed())),
14906            )
14907        }
14908    }
14909    pub unsafe fn CSGetSamplers(
14910        &self,
14911        startslot: u32,
14912        ppsamplers: Option<&mut [Option<ID3D11SamplerState>]>,
14913    ) {
14914        unsafe {
14915            (windows_core::Interface::vtable(self).CSGetSamplers)(
14916                windows_core::Interface::as_raw(self),
14917                startslot,
14918                ppsamplers
14919                    .as_deref()
14920                    .map_or(0, |slice| slice.len().try_into().unwrap()),
14921                core::mem::transmute(
14922                    ppsamplers
14923                        .as_deref()
14924                        .map_or(core::ptr::null(), |slice| slice.as_ptr()),
14925                ),
14926            )
14927        }
14928    }
14929    pub unsafe fn CSGetConstantBuffers(
14930        &self,
14931        startslot: u32,
14932        ppconstantbuffers: Option<&mut [Option<ID3D11Buffer>]>,
14933    ) {
14934        unsafe {
14935            (windows_core::Interface::vtable(self).CSGetConstantBuffers)(
14936                windows_core::Interface::as_raw(self),
14937                startslot,
14938                ppconstantbuffers
14939                    .as_deref()
14940                    .map_or(0, |slice| slice.len().try_into().unwrap()),
14941                core::mem::transmute(
14942                    ppconstantbuffers
14943                        .as_deref()
14944                        .map_or(core::ptr::null(), |slice| slice.as_ptr()),
14945                ),
14946            )
14947        }
14948    }
14949    pub unsafe fn ClearState(&self) {
14950        unsafe {
14951            (windows_core::Interface::vtable(self).ClearState)(windows_core::Interface::as_raw(
14952                self,
14953            ))
14954        }
14955    }
14956    pub unsafe fn Flush(&self) {
14957        unsafe {
14958            (windows_core::Interface::vtable(self).Flush)(windows_core::Interface::as_raw(self))
14959        }
14960    }
14961    pub unsafe fn GetType(&self) -> D3D11_DEVICE_CONTEXT_TYPE {
14962        unsafe {
14963            (windows_core::Interface::vtable(self).GetType)(windows_core::Interface::as_raw(self))
14964        }
14965    }
14966    pub unsafe fn GetContextFlags(&self) -> u32 {
14967        unsafe {
14968            (windows_core::Interface::vtable(self).GetContextFlags)(
14969                windows_core::Interface::as_raw(self),
14970            )
14971        }
14972    }
14973    pub unsafe fn FinishCommandList(
14974        &self,
14975        restoredeferredcontextstate: bool,
14976        ppcommandlist: Option<*mut Option<ID3D11CommandList>>,
14977    ) -> windows_core::Result<()> {
14978        unsafe {
14979            (windows_core::Interface::vtable(self).FinishCommandList)(
14980                windows_core::Interface::as_raw(self),
14981                restoredeferredcontextstate.into(),
14982                core::mem::transmute(ppcommandlist.unwrap_or(core::mem::zeroed())),
14983            )
14984            .ok()
14985        }
14986    }
14987}
14988#[repr(C)]
14989pub struct ID3D11DeviceContext_Vtbl {
14990    pub base__: ID3D11DeviceChild_Vtbl,
14991    pub VSSetConstantBuffers:
14992        unsafe extern "system" fn(*mut core::ffi::c_void, u32, u32, *const *mut core::ffi::c_void),
14993    pub PSSetShaderResources:
14994        unsafe extern "system" fn(*mut core::ffi::c_void, u32, u32, *const *mut core::ffi::c_void),
14995    pub PSSetShader: unsafe extern "system" fn(
14996        *mut core::ffi::c_void,
14997        *mut core::ffi::c_void,
14998        *const *mut core::ffi::c_void,
14999        u32,
15000    ),
15001    pub PSSetSamplers:
15002        unsafe extern "system" fn(*mut core::ffi::c_void, u32, u32, *const *mut core::ffi::c_void),
15003    pub VSSetShader: unsafe extern "system" fn(
15004        *mut core::ffi::c_void,
15005        *mut core::ffi::c_void,
15006        *const *mut core::ffi::c_void,
15007        u32,
15008    ),
15009    pub DrawIndexed: unsafe extern "system" fn(*mut core::ffi::c_void, u32, u32, i32),
15010    pub Draw: unsafe extern "system" fn(*mut core::ffi::c_void, u32, u32),
15011    pub Map: unsafe extern "system" fn(
15012        *mut core::ffi::c_void,
15013        *mut core::ffi::c_void,
15014        u32,
15015        D3D11_MAP,
15016        u32,
15017        *mut D3D11_MAPPED_SUBRESOURCE,
15018    ) -> windows_core::HRESULT,
15019    pub Unmap: unsafe extern "system" fn(*mut core::ffi::c_void, *mut core::ffi::c_void, u32),
15020    pub PSSetConstantBuffers:
15021        unsafe extern "system" fn(*mut core::ffi::c_void, u32, u32, *const *mut core::ffi::c_void),
15022    pub IASetInputLayout: unsafe extern "system" fn(*mut core::ffi::c_void, *mut core::ffi::c_void),
15023    pub IASetVertexBuffers: unsafe extern "system" fn(
15024        *mut core::ffi::c_void,
15025        u32,
15026        u32,
15027        *const *mut core::ffi::c_void,
15028        *const u32,
15029        *const u32,
15030    ),
15031    #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
15032    pub IASetIndexBuffer: unsafe extern "system" fn(
15033        *mut core::ffi::c_void,
15034        *mut core::ffi::c_void,
15035        crate::Dxgi::Common::DXGI_FORMAT,
15036        u32,
15037    ),
15038    #[cfg(not(feature = "Win32_Graphics_Dxgi_Common"))]
15039    IASetIndexBuffer: usize,
15040    pub DrawIndexedInstanced:
15041        unsafe extern "system" fn(*mut core::ffi::c_void, u32, u32, u32, i32, u32),
15042    pub DrawInstanced: unsafe extern "system" fn(*mut core::ffi::c_void, u32, u32, u32, u32),
15043    pub GSSetConstantBuffers:
15044        unsafe extern "system" fn(*mut core::ffi::c_void, u32, u32, *const *mut core::ffi::c_void),
15045    pub GSSetShader: unsafe extern "system" fn(
15046        *mut core::ffi::c_void,
15047        *mut core::ffi::c_void,
15048        *const *mut core::ffi::c_void,
15049        u32,
15050    ),
15051    #[cfg(feature = "Win32_Graphics_Direct3D")]
15052    pub IASetPrimitiveTopology:
15053        unsafe extern "system" fn(*mut core::ffi::c_void, super::Direct3D::D3D_PRIMITIVE_TOPOLOGY),
15054    #[cfg(not(feature = "Win32_Graphics_Direct3D"))]
15055    IASetPrimitiveTopology: usize,
15056    pub VSSetShaderResources:
15057        unsafe extern "system" fn(*mut core::ffi::c_void, u32, u32, *const *mut core::ffi::c_void),
15058    pub VSSetSamplers:
15059        unsafe extern "system" fn(*mut core::ffi::c_void, u32, u32, *const *mut core::ffi::c_void),
15060    pub Begin: unsafe extern "system" fn(*mut core::ffi::c_void, *mut core::ffi::c_void),
15061    pub End: unsafe extern "system" fn(*mut core::ffi::c_void, *mut core::ffi::c_void),
15062    pub GetData: unsafe extern "system" fn(
15063        *mut core::ffi::c_void,
15064        *mut core::ffi::c_void,
15065        *mut core::ffi::c_void,
15066        u32,
15067        u32,
15068    ) -> windows_core::HRESULT,
15069    pub SetPredication: unsafe extern "system" fn(
15070        *mut core::ffi::c_void,
15071        *mut core::ffi::c_void,
15072        crate::Foundation::BOOL,
15073    ),
15074    pub GSSetShaderResources:
15075        unsafe extern "system" fn(*mut core::ffi::c_void, u32, u32, *const *mut core::ffi::c_void),
15076    pub GSSetSamplers:
15077        unsafe extern "system" fn(*mut core::ffi::c_void, u32, u32, *const *mut core::ffi::c_void),
15078    pub OMSetRenderTargets: unsafe extern "system" fn(
15079        *mut core::ffi::c_void,
15080        u32,
15081        *const *mut core::ffi::c_void,
15082        *mut core::ffi::c_void,
15083    ),
15084    pub OMSetRenderTargetsAndUnorderedAccessViews: unsafe extern "system" fn(
15085        *mut core::ffi::c_void,
15086        u32,
15087        *const *mut core::ffi::c_void,
15088        *mut core::ffi::c_void,
15089        u32,
15090        u32,
15091        *const *mut core::ffi::c_void,
15092        *const u32,
15093    ),
15094    pub OMSetBlendState:
15095        unsafe extern "system" fn(*mut core::ffi::c_void, *mut core::ffi::c_void, *const f32, u32),
15096    pub OMSetDepthStencilState:
15097        unsafe extern "system" fn(*mut core::ffi::c_void, *mut core::ffi::c_void, u32),
15098    pub SOSetTargets: unsafe extern "system" fn(
15099        *mut core::ffi::c_void,
15100        u32,
15101        *const *mut core::ffi::c_void,
15102        *const u32,
15103    ),
15104    pub DrawAuto: unsafe extern "system" fn(*mut core::ffi::c_void),
15105    pub DrawIndexedInstancedIndirect:
15106        unsafe extern "system" fn(*mut core::ffi::c_void, *mut core::ffi::c_void, u32),
15107    pub DrawInstancedIndirect:
15108        unsafe extern "system" fn(*mut core::ffi::c_void, *mut core::ffi::c_void, u32),
15109    pub Dispatch: unsafe extern "system" fn(*mut core::ffi::c_void, u32, u32, u32),
15110    pub DispatchIndirect:
15111        unsafe extern "system" fn(*mut core::ffi::c_void, *mut core::ffi::c_void, u32),
15112    pub RSSetState: unsafe extern "system" fn(*mut core::ffi::c_void, *mut core::ffi::c_void),
15113    pub RSSetViewports:
15114        unsafe extern "system" fn(*mut core::ffi::c_void, u32, *const D3D11_VIEWPORT),
15115    pub RSSetScissorRects: unsafe extern "system" fn(
15116        *mut core::ffi::c_void,
15117        u32,
15118        *const crate::Foundation::RECT,
15119    ),
15120    pub CopySubresourceRegion: unsafe extern "system" fn(
15121        *mut core::ffi::c_void,
15122        *mut core::ffi::c_void,
15123        u32,
15124        u32,
15125        u32,
15126        u32,
15127        *mut core::ffi::c_void,
15128        u32,
15129        *const D3D11_BOX,
15130    ),
15131    pub CopyResource: unsafe extern "system" fn(
15132        *mut core::ffi::c_void,
15133        *mut core::ffi::c_void,
15134        *mut core::ffi::c_void,
15135    ),
15136    pub UpdateSubresource: unsafe extern "system" fn(
15137        *mut core::ffi::c_void,
15138        *mut core::ffi::c_void,
15139        u32,
15140        *const D3D11_BOX,
15141        *const core::ffi::c_void,
15142        u32,
15143        u32,
15144    ),
15145    pub CopyStructureCount: unsafe extern "system" fn(
15146        *mut core::ffi::c_void,
15147        *mut core::ffi::c_void,
15148        u32,
15149        *mut core::ffi::c_void,
15150    ),
15151    pub ClearRenderTargetView:
15152        unsafe extern "system" fn(*mut core::ffi::c_void, *mut core::ffi::c_void, *const f32),
15153    pub ClearUnorderedAccessViewUint:
15154        unsafe extern "system" fn(*mut core::ffi::c_void, *mut core::ffi::c_void, *const u32),
15155    pub ClearUnorderedAccessViewFloat:
15156        unsafe extern "system" fn(*mut core::ffi::c_void, *mut core::ffi::c_void, *const f32),
15157    pub ClearDepthStencilView:
15158        unsafe extern "system" fn(*mut core::ffi::c_void, *mut core::ffi::c_void, u32, f32, u8),
15159    pub GenerateMips: unsafe extern "system" fn(*mut core::ffi::c_void, *mut core::ffi::c_void),
15160    pub SetResourceMinLOD:
15161        unsafe extern "system" fn(*mut core::ffi::c_void, *mut core::ffi::c_void, f32),
15162    pub GetResourceMinLOD:
15163        unsafe extern "system" fn(*mut core::ffi::c_void, *mut core::ffi::c_void) -> f32,
15164    #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
15165    pub ResolveSubresource: unsafe extern "system" fn(
15166        *mut core::ffi::c_void,
15167        *mut core::ffi::c_void,
15168        u32,
15169        *mut core::ffi::c_void,
15170        u32,
15171        crate::Dxgi::Common::DXGI_FORMAT,
15172    ),
15173    #[cfg(not(feature = "Win32_Graphics_Dxgi_Common"))]
15174    ResolveSubresource: usize,
15175    pub ExecuteCommandList: unsafe extern "system" fn(
15176        *mut core::ffi::c_void,
15177        *mut core::ffi::c_void,
15178        crate::Foundation::BOOL,
15179    ),
15180    pub HSSetShaderResources:
15181        unsafe extern "system" fn(*mut core::ffi::c_void, u32, u32, *const *mut core::ffi::c_void),
15182    pub HSSetShader: unsafe extern "system" fn(
15183        *mut core::ffi::c_void,
15184        *mut core::ffi::c_void,
15185        *const *mut core::ffi::c_void,
15186        u32,
15187    ),
15188    pub HSSetSamplers:
15189        unsafe extern "system" fn(*mut core::ffi::c_void, u32, u32, *const *mut core::ffi::c_void),
15190    pub HSSetConstantBuffers:
15191        unsafe extern "system" fn(*mut core::ffi::c_void, u32, u32, *const *mut core::ffi::c_void),
15192    pub DSSetShaderResources:
15193        unsafe extern "system" fn(*mut core::ffi::c_void, u32, u32, *const *mut core::ffi::c_void),
15194    pub DSSetShader: unsafe extern "system" fn(
15195        *mut core::ffi::c_void,
15196        *mut core::ffi::c_void,
15197        *const *mut core::ffi::c_void,
15198        u32,
15199    ),
15200    pub DSSetSamplers:
15201        unsafe extern "system" fn(*mut core::ffi::c_void, u32, u32, *const *mut core::ffi::c_void),
15202    pub DSSetConstantBuffers:
15203        unsafe extern "system" fn(*mut core::ffi::c_void, u32, u32, *const *mut core::ffi::c_void),
15204    pub CSSetShaderResources:
15205        unsafe extern "system" fn(*mut core::ffi::c_void, u32, u32, *const *mut core::ffi::c_void),
15206    pub CSSetUnorderedAccessViews: unsafe extern "system" fn(
15207        *mut core::ffi::c_void,
15208        u32,
15209        u32,
15210        *const *mut core::ffi::c_void,
15211        *const u32,
15212    ),
15213    pub CSSetShader: unsafe extern "system" fn(
15214        *mut core::ffi::c_void,
15215        *mut core::ffi::c_void,
15216        *const *mut core::ffi::c_void,
15217        u32,
15218    ),
15219    pub CSSetSamplers:
15220        unsafe extern "system" fn(*mut core::ffi::c_void, u32, u32, *const *mut core::ffi::c_void),
15221    pub CSSetConstantBuffers:
15222        unsafe extern "system" fn(*mut core::ffi::c_void, u32, u32, *const *mut core::ffi::c_void),
15223    pub VSGetConstantBuffers:
15224        unsafe extern "system" fn(*mut core::ffi::c_void, u32, u32, *mut *mut core::ffi::c_void),
15225    pub PSGetShaderResources:
15226        unsafe extern "system" fn(*mut core::ffi::c_void, u32, u32, *mut *mut core::ffi::c_void),
15227    pub PSGetShader: unsafe extern "system" fn(
15228        *mut core::ffi::c_void,
15229        *mut *mut core::ffi::c_void,
15230        *mut *mut core::ffi::c_void,
15231        *mut u32,
15232    ),
15233    pub PSGetSamplers:
15234        unsafe extern "system" fn(*mut core::ffi::c_void, u32, u32, *mut *mut core::ffi::c_void),
15235    pub VSGetShader: unsafe extern "system" fn(
15236        *mut core::ffi::c_void,
15237        *mut *mut core::ffi::c_void,
15238        *mut *mut core::ffi::c_void,
15239        *mut u32,
15240    ),
15241    pub PSGetConstantBuffers:
15242        unsafe extern "system" fn(*mut core::ffi::c_void, u32, u32, *mut *mut core::ffi::c_void),
15243    pub IAGetInputLayout:
15244        unsafe extern "system" fn(*mut core::ffi::c_void, *mut *mut core::ffi::c_void),
15245    pub IAGetVertexBuffers: unsafe extern "system" fn(
15246        *mut core::ffi::c_void,
15247        u32,
15248        u32,
15249        *mut *mut core::ffi::c_void,
15250        *mut u32,
15251        *mut u32,
15252    ),
15253    #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
15254    pub IAGetIndexBuffer: unsafe extern "system" fn(
15255        *mut core::ffi::c_void,
15256        *mut *mut core::ffi::c_void,
15257        *mut crate::Dxgi::Common::DXGI_FORMAT,
15258        *mut u32,
15259    ),
15260    #[cfg(not(feature = "Win32_Graphics_Dxgi_Common"))]
15261    IAGetIndexBuffer: usize,
15262    pub GSGetConstantBuffers:
15263        unsafe extern "system" fn(*mut core::ffi::c_void, u32, u32, *mut *mut core::ffi::c_void),
15264    pub GSGetShader: unsafe extern "system" fn(
15265        *mut core::ffi::c_void,
15266        *mut *mut core::ffi::c_void,
15267        *mut *mut core::ffi::c_void,
15268        *mut u32,
15269    ),
15270    #[cfg(feature = "Win32_Graphics_Direct3D")]
15271    pub IAGetPrimitiveTopology: unsafe extern "system" fn(
15272        *mut core::ffi::c_void,
15273        *mut super::Direct3D::D3D_PRIMITIVE_TOPOLOGY,
15274    ),
15275    #[cfg(not(feature = "Win32_Graphics_Direct3D"))]
15276    IAGetPrimitiveTopology: usize,
15277    pub VSGetShaderResources:
15278        unsafe extern "system" fn(*mut core::ffi::c_void, u32, u32, *mut *mut core::ffi::c_void),
15279    pub VSGetSamplers:
15280        unsafe extern "system" fn(*mut core::ffi::c_void, u32, u32, *mut *mut core::ffi::c_void),
15281    pub GetPredication: unsafe extern "system" fn(
15282        *mut core::ffi::c_void,
15283        *mut *mut core::ffi::c_void,
15284        *mut crate::Foundation::BOOL,
15285    ),
15286    pub GSGetShaderResources:
15287        unsafe extern "system" fn(*mut core::ffi::c_void, u32, u32, *mut *mut core::ffi::c_void),
15288    pub GSGetSamplers:
15289        unsafe extern "system" fn(*mut core::ffi::c_void, u32, u32, *mut *mut core::ffi::c_void),
15290    pub OMGetRenderTargets: unsafe extern "system" fn(
15291        *mut core::ffi::c_void,
15292        u32,
15293        *mut *mut core::ffi::c_void,
15294        *mut *mut core::ffi::c_void,
15295    ),
15296    pub OMGetRenderTargetsAndUnorderedAccessViews: unsafe extern "system" fn(
15297        *mut core::ffi::c_void,
15298        u32,
15299        *mut *mut core::ffi::c_void,
15300        *mut *mut core::ffi::c_void,
15301        u32,
15302        u32,
15303        *mut *mut core::ffi::c_void,
15304    ),
15305    pub OMGetBlendState: unsafe extern "system" fn(
15306        *mut core::ffi::c_void,
15307        *mut *mut core::ffi::c_void,
15308        *mut f32,
15309        *mut u32,
15310    ),
15311    pub OMGetDepthStencilState:
15312        unsafe extern "system" fn(*mut core::ffi::c_void, *mut *mut core::ffi::c_void, *mut u32),
15313    pub SOGetTargets:
15314        unsafe extern "system" fn(*mut core::ffi::c_void, u32, *mut *mut core::ffi::c_void),
15315    pub RSGetState: unsafe extern "system" fn(*mut core::ffi::c_void, *mut *mut core::ffi::c_void),
15316    pub RSGetViewports:
15317        unsafe extern "system" fn(*mut core::ffi::c_void, *mut u32, *mut D3D11_VIEWPORT),
15318    pub RSGetScissorRects: unsafe extern "system" fn(
15319        *mut core::ffi::c_void,
15320        *mut u32,
15321        *mut crate::Foundation::RECT,
15322    ),
15323    pub HSGetShaderResources:
15324        unsafe extern "system" fn(*mut core::ffi::c_void, u32, u32, *mut *mut core::ffi::c_void),
15325    pub HSGetShader: unsafe extern "system" fn(
15326        *mut core::ffi::c_void,
15327        *mut *mut core::ffi::c_void,
15328        *mut *mut core::ffi::c_void,
15329        *mut u32,
15330    ),
15331    pub HSGetSamplers:
15332        unsafe extern "system" fn(*mut core::ffi::c_void, u32, u32, *mut *mut core::ffi::c_void),
15333    pub HSGetConstantBuffers:
15334        unsafe extern "system" fn(*mut core::ffi::c_void, u32, u32, *mut *mut core::ffi::c_void),
15335    pub DSGetShaderResources:
15336        unsafe extern "system" fn(*mut core::ffi::c_void, u32, u32, *mut *mut core::ffi::c_void),
15337    pub DSGetShader: unsafe extern "system" fn(
15338        *mut core::ffi::c_void,
15339        *mut *mut core::ffi::c_void,
15340        *mut *mut core::ffi::c_void,
15341        *mut u32,
15342    ),
15343    pub DSGetSamplers:
15344        unsafe extern "system" fn(*mut core::ffi::c_void, u32, u32, *mut *mut core::ffi::c_void),
15345    pub DSGetConstantBuffers:
15346        unsafe extern "system" fn(*mut core::ffi::c_void, u32, u32, *mut *mut core::ffi::c_void),
15347    pub CSGetShaderResources:
15348        unsafe extern "system" fn(*mut core::ffi::c_void, u32, u32, *mut *mut core::ffi::c_void),
15349    pub CSGetUnorderedAccessViews:
15350        unsafe extern "system" fn(*mut core::ffi::c_void, u32, u32, *mut *mut core::ffi::c_void),
15351    pub CSGetShader: unsafe extern "system" fn(
15352        *mut core::ffi::c_void,
15353        *mut *mut core::ffi::c_void,
15354        *mut *mut core::ffi::c_void,
15355        *mut u32,
15356    ),
15357    pub CSGetSamplers:
15358        unsafe extern "system" fn(*mut core::ffi::c_void, u32, u32, *mut *mut core::ffi::c_void),
15359    pub CSGetConstantBuffers:
15360        unsafe extern "system" fn(*mut core::ffi::c_void, u32, u32, *mut *mut core::ffi::c_void),
15361    pub ClearState: unsafe extern "system" fn(*mut core::ffi::c_void),
15362    pub Flush: unsafe extern "system" fn(*mut core::ffi::c_void),
15363    pub GetType: unsafe extern "system" fn(*mut core::ffi::c_void) -> D3D11_DEVICE_CONTEXT_TYPE,
15364    pub GetContextFlags: unsafe extern "system" fn(*mut core::ffi::c_void) -> u32,
15365    pub FinishCommandList: unsafe extern "system" fn(
15366        *mut core::ffi::c_void,
15367        crate::Foundation::BOOL,
15368        *mut *mut core::ffi::c_void,
15369    ) -> windows_core::HRESULT,
15370}
15371#[cfg(all(
15372    feature = "Win32_Graphics_Direct3D",
15373    feature = "Win32_Graphics_Dxgi_Common"
15374))]
15375pub trait ID3D11DeviceContext_Impl: ID3D11DeviceChild_Impl {
15376    fn VSSetConstantBuffers(
15377        &self,
15378        startslot: u32,
15379        numbuffers: u32,
15380        ppconstantbuffers: *const Option<ID3D11Buffer>,
15381    );
15382    fn PSSetShaderResources(
15383        &self,
15384        startslot: u32,
15385        numviews: u32,
15386        ppshaderresourceviews: *const Option<ID3D11ShaderResourceView>,
15387    );
15388    fn PSSetShader(
15389        &self,
15390        ppixelshader: windows_core::Ref<'_, ID3D11PixelShader>,
15391        ppclassinstances: *const Option<ID3D11ClassInstance>,
15392        numclassinstances: u32,
15393    );
15394    fn PSSetSamplers(
15395        &self,
15396        startslot: u32,
15397        numsamplers: u32,
15398        ppsamplers: *const Option<ID3D11SamplerState>,
15399    );
15400    fn VSSetShader(
15401        &self,
15402        pvertexshader: windows_core::Ref<'_, ID3D11VertexShader>,
15403        ppclassinstances: *const Option<ID3D11ClassInstance>,
15404        numclassinstances: u32,
15405    );
15406    fn DrawIndexed(&self, indexcount: u32, startindexlocation: u32, basevertexlocation: i32);
15407    fn Draw(&self, vertexcount: u32, startvertexlocation: u32);
15408    fn Map(
15409        &self,
15410        presource: windows_core::Ref<'_, ID3D11Resource>,
15411        subresource: u32,
15412        maptype: D3D11_MAP,
15413        mapflags: u32,
15414        pmappedresource: *mut D3D11_MAPPED_SUBRESOURCE,
15415    ) -> windows_core::Result<()>;
15416    fn Unmap(&self, presource: windows_core::Ref<'_, ID3D11Resource>, subresource: u32);
15417    fn PSSetConstantBuffers(
15418        &self,
15419        startslot: u32,
15420        numbuffers: u32,
15421        ppconstantbuffers: *const Option<ID3D11Buffer>,
15422    );
15423    fn IASetInputLayout(&self, pinputlayout: windows_core::Ref<'_, ID3D11InputLayout>);
15424    fn IASetVertexBuffers(
15425        &self,
15426        startslot: u32,
15427        numbuffers: u32,
15428        ppvertexbuffers: *const Option<ID3D11Buffer>,
15429        pstrides: *const u32,
15430        poffsets: *const u32,
15431    );
15432    fn IASetIndexBuffer(
15433        &self,
15434        pindexbuffer: windows_core::Ref<'_, ID3D11Buffer>,
15435        format: crate::Dxgi::Common::DXGI_FORMAT,
15436        offset: u32,
15437    );
15438    fn DrawIndexedInstanced(
15439        &self,
15440        indexcountperinstance: u32,
15441        instancecount: u32,
15442        startindexlocation: u32,
15443        basevertexlocation: i32,
15444        startinstancelocation: u32,
15445    );
15446    fn DrawInstanced(
15447        &self,
15448        vertexcountperinstance: u32,
15449        instancecount: u32,
15450        startvertexlocation: u32,
15451        startinstancelocation: u32,
15452    );
15453    fn GSSetConstantBuffers(
15454        &self,
15455        startslot: u32,
15456        numbuffers: u32,
15457        ppconstantbuffers: *const Option<ID3D11Buffer>,
15458    );
15459    fn GSSetShader(
15460        &self,
15461        pshader: windows_core::Ref<'_, ID3D11GeometryShader>,
15462        ppclassinstances: *const Option<ID3D11ClassInstance>,
15463        numclassinstances: u32,
15464    );
15465    fn IASetPrimitiveTopology(&self, topology: super::Direct3D::D3D_PRIMITIVE_TOPOLOGY);
15466    fn VSSetShaderResources(
15467        &self,
15468        startslot: u32,
15469        numviews: u32,
15470        ppshaderresourceviews: *const Option<ID3D11ShaderResourceView>,
15471    );
15472    fn VSSetSamplers(
15473        &self,
15474        startslot: u32,
15475        numsamplers: u32,
15476        ppsamplers: *const Option<ID3D11SamplerState>,
15477    );
15478    fn Begin(&self, pasync: windows_core::Ref<'_, ID3D11Asynchronous>);
15479    fn End(&self, pasync: windows_core::Ref<'_, ID3D11Asynchronous>);
15480    fn GetData(
15481        &self,
15482        pasync: windows_core::Ref<'_, ID3D11Asynchronous>,
15483        pdata: *mut core::ffi::c_void,
15484        datasize: u32,
15485        getdataflags: u32,
15486    ) -> windows_core::Result<()>;
15487    fn SetPredication(
15488        &self,
15489        ppredicate: windows_core::Ref<'_, ID3D11Predicate>,
15490        predicatevalue: crate::Foundation::BOOL,
15491    );
15492    fn GSSetShaderResources(
15493        &self,
15494        startslot: u32,
15495        numviews: u32,
15496        ppshaderresourceviews: *const Option<ID3D11ShaderResourceView>,
15497    );
15498    fn GSSetSamplers(
15499        &self,
15500        startslot: u32,
15501        numsamplers: u32,
15502        ppsamplers: *const Option<ID3D11SamplerState>,
15503    );
15504    fn OMSetRenderTargets(
15505        &self,
15506        numviews: u32,
15507        pprendertargetviews: *const Option<ID3D11RenderTargetView>,
15508        pdepthstencilview: windows_core::Ref<'_, ID3D11DepthStencilView>,
15509    );
15510    fn OMSetRenderTargetsAndUnorderedAccessViews(
15511        &self,
15512        numrtvs: u32,
15513        pprendertargetviews: *const Option<ID3D11RenderTargetView>,
15514        pdepthstencilview: windows_core::Ref<'_, ID3D11DepthStencilView>,
15515        uavstartslot: u32,
15516        numuavs: u32,
15517        ppunorderedaccessviews: *const Option<ID3D11UnorderedAccessView>,
15518        puavinitialcounts: *const u32,
15519    );
15520    fn OMSetBlendState(
15521        &self,
15522        pblendstate: windows_core::Ref<'_, ID3D11BlendState>,
15523        blendfactor: *const f32,
15524        samplemask: u32,
15525    );
15526    fn OMSetDepthStencilState(
15527        &self,
15528        pdepthstencilstate: windows_core::Ref<'_, ID3D11DepthStencilState>,
15529        stencilref: u32,
15530    );
15531    fn SOSetTargets(
15532        &self,
15533        numbuffers: u32,
15534        ppsotargets: *const Option<ID3D11Buffer>,
15535        poffsets: *const u32,
15536    );
15537    fn DrawAuto(&self);
15538    fn DrawIndexedInstancedIndirect(
15539        &self,
15540        pbufferforargs: windows_core::Ref<'_, ID3D11Buffer>,
15541        alignedbyteoffsetforargs: u32,
15542    );
15543    fn DrawInstancedIndirect(
15544        &self,
15545        pbufferforargs: windows_core::Ref<'_, ID3D11Buffer>,
15546        alignedbyteoffsetforargs: u32,
15547    );
15548    fn Dispatch(&self, threadgroupcountx: u32, threadgroupcounty: u32, threadgroupcountz: u32);
15549    fn DispatchIndirect(
15550        &self,
15551        pbufferforargs: windows_core::Ref<'_, ID3D11Buffer>,
15552        alignedbyteoffsetforargs: u32,
15553    );
15554    fn RSSetState(&self, prasterizerstate: windows_core::Ref<'_, ID3D11RasterizerState>);
15555    fn RSSetViewports(&self, numviewports: u32, pviewports: *const D3D11_VIEWPORT);
15556    fn RSSetScissorRects(&self, numrects: u32, prects: *const crate::Foundation::RECT);
15557    fn CopySubresourceRegion(
15558        &self,
15559        pdstresource: windows_core::Ref<'_, ID3D11Resource>,
15560        dstsubresource: u32,
15561        dstx: u32,
15562        dsty: u32,
15563        dstz: u32,
15564        psrcresource: windows_core::Ref<'_, ID3D11Resource>,
15565        srcsubresource: u32,
15566        psrcbox: *const D3D11_BOX,
15567    );
15568    fn CopyResource(
15569        &self,
15570        pdstresource: windows_core::Ref<'_, ID3D11Resource>,
15571        psrcresource: windows_core::Ref<'_, ID3D11Resource>,
15572    );
15573    fn UpdateSubresource(
15574        &self,
15575        pdstresource: windows_core::Ref<'_, ID3D11Resource>,
15576        dstsubresource: u32,
15577        pdstbox: *const D3D11_BOX,
15578        psrcdata: *const core::ffi::c_void,
15579        srcrowpitch: u32,
15580        srcdepthpitch: u32,
15581    );
15582    fn CopyStructureCount(
15583        &self,
15584        pdstbuffer: windows_core::Ref<'_, ID3D11Buffer>,
15585        dstalignedbyteoffset: u32,
15586        psrcview: windows_core::Ref<'_, ID3D11UnorderedAccessView>,
15587    );
15588    fn ClearRenderTargetView(
15589        &self,
15590        prendertargetview: windows_core::Ref<'_, ID3D11RenderTargetView>,
15591        colorrgba: *const f32,
15592    );
15593    fn ClearUnorderedAccessViewUint(
15594        &self,
15595        punorderedaccessview: windows_core::Ref<'_, ID3D11UnorderedAccessView>,
15596        values: *const u32,
15597    );
15598    fn ClearUnorderedAccessViewFloat(
15599        &self,
15600        punorderedaccessview: windows_core::Ref<'_, ID3D11UnorderedAccessView>,
15601        values: *const f32,
15602    );
15603    fn ClearDepthStencilView(
15604        &self,
15605        pdepthstencilview: windows_core::Ref<'_, ID3D11DepthStencilView>,
15606        clearflags: u32,
15607        depth: f32,
15608        stencil: u8,
15609    );
15610    fn GenerateMips(&self, pshaderresourceview: windows_core::Ref<'_, ID3D11ShaderResourceView>);
15611    fn SetResourceMinLOD(&self, presource: windows_core::Ref<'_, ID3D11Resource>, minlod: f32);
15612    fn GetResourceMinLOD(&self, presource: windows_core::Ref<'_, ID3D11Resource>) -> f32;
15613    fn ResolveSubresource(
15614        &self,
15615        pdstresource: windows_core::Ref<'_, ID3D11Resource>,
15616        dstsubresource: u32,
15617        psrcresource: windows_core::Ref<'_, ID3D11Resource>,
15618        srcsubresource: u32,
15619        format: crate::Dxgi::Common::DXGI_FORMAT,
15620    );
15621    fn ExecuteCommandList(
15622        &self,
15623        pcommandlist: windows_core::Ref<'_, ID3D11CommandList>,
15624        restorecontextstate: crate::Foundation::BOOL,
15625    );
15626    fn HSSetShaderResources(
15627        &self,
15628        startslot: u32,
15629        numviews: u32,
15630        ppshaderresourceviews: *const Option<ID3D11ShaderResourceView>,
15631    );
15632    fn HSSetShader(
15633        &self,
15634        phullshader: windows_core::Ref<'_, ID3D11HullShader>,
15635        ppclassinstances: *const Option<ID3D11ClassInstance>,
15636        numclassinstances: u32,
15637    );
15638    fn HSSetSamplers(
15639        &self,
15640        startslot: u32,
15641        numsamplers: u32,
15642        ppsamplers: *const Option<ID3D11SamplerState>,
15643    );
15644    fn HSSetConstantBuffers(
15645        &self,
15646        startslot: u32,
15647        numbuffers: u32,
15648        ppconstantbuffers: *const Option<ID3D11Buffer>,
15649    );
15650    fn DSSetShaderResources(
15651        &self,
15652        startslot: u32,
15653        numviews: u32,
15654        ppshaderresourceviews: *const Option<ID3D11ShaderResourceView>,
15655    );
15656    fn DSSetShader(
15657        &self,
15658        pdomainshader: windows_core::Ref<'_, ID3D11DomainShader>,
15659        ppclassinstances: *const Option<ID3D11ClassInstance>,
15660        numclassinstances: u32,
15661    );
15662    fn DSSetSamplers(
15663        &self,
15664        startslot: u32,
15665        numsamplers: u32,
15666        ppsamplers: *const Option<ID3D11SamplerState>,
15667    );
15668    fn DSSetConstantBuffers(
15669        &self,
15670        startslot: u32,
15671        numbuffers: u32,
15672        ppconstantbuffers: *const Option<ID3D11Buffer>,
15673    );
15674    fn CSSetShaderResources(
15675        &self,
15676        startslot: u32,
15677        numviews: u32,
15678        ppshaderresourceviews: *const Option<ID3D11ShaderResourceView>,
15679    );
15680    fn CSSetUnorderedAccessViews(
15681        &self,
15682        startslot: u32,
15683        numuavs: u32,
15684        ppunorderedaccessviews: *const Option<ID3D11UnorderedAccessView>,
15685        puavinitialcounts: *const u32,
15686    );
15687    fn CSSetShader(
15688        &self,
15689        pcomputeshader: windows_core::Ref<'_, ID3D11ComputeShader>,
15690        ppclassinstances: *const Option<ID3D11ClassInstance>,
15691        numclassinstances: u32,
15692    );
15693    fn CSSetSamplers(
15694        &self,
15695        startslot: u32,
15696        numsamplers: u32,
15697        ppsamplers: *const Option<ID3D11SamplerState>,
15698    );
15699    fn CSSetConstantBuffers(
15700        &self,
15701        startslot: u32,
15702        numbuffers: u32,
15703        ppconstantbuffers: *const Option<ID3D11Buffer>,
15704    );
15705    fn VSGetConstantBuffers(
15706        &self,
15707        startslot: u32,
15708        numbuffers: u32,
15709        ppconstantbuffers: windows_core::OutRef<'_, ID3D11Buffer>,
15710    );
15711    fn PSGetShaderResources(
15712        &self,
15713        startslot: u32,
15714        numviews: u32,
15715        ppshaderresourceviews: windows_core::OutRef<'_, ID3D11ShaderResourceView>,
15716    );
15717    fn PSGetShader(
15718        &self,
15719        pppixelshader: windows_core::OutRef<'_, ID3D11PixelShader>,
15720        ppclassinstances: windows_core::OutRef<'_, ID3D11ClassInstance>,
15721        pnumclassinstances: *mut u32,
15722    );
15723    fn PSGetSamplers(
15724        &self,
15725        startslot: u32,
15726        numsamplers: u32,
15727        ppsamplers: windows_core::OutRef<'_, ID3D11SamplerState>,
15728    );
15729    fn VSGetShader(
15730        &self,
15731        ppvertexshader: windows_core::OutRef<'_, ID3D11VertexShader>,
15732        ppclassinstances: windows_core::OutRef<'_, ID3D11ClassInstance>,
15733        pnumclassinstances: *mut u32,
15734    );
15735    fn PSGetConstantBuffers(
15736        &self,
15737        startslot: u32,
15738        numbuffers: u32,
15739        ppconstantbuffers: windows_core::OutRef<'_, ID3D11Buffer>,
15740    );
15741    fn IAGetInputLayout(&self, ppinputlayout: windows_core::OutRef<'_, ID3D11InputLayout>);
15742    fn IAGetVertexBuffers(
15743        &self,
15744        startslot: u32,
15745        numbuffers: u32,
15746        ppvertexbuffers: windows_core::OutRef<'_, ID3D11Buffer>,
15747        pstrides: *mut u32,
15748        poffsets: *mut u32,
15749    );
15750    fn IAGetIndexBuffer(
15751        &self,
15752        pindexbuffer: windows_core::OutRef<'_, ID3D11Buffer>,
15753        format: *mut crate::Dxgi::Common::DXGI_FORMAT,
15754        offset: *mut u32,
15755    );
15756    fn GSGetConstantBuffers(
15757        &self,
15758        startslot: u32,
15759        numbuffers: u32,
15760        ppconstantbuffers: windows_core::OutRef<'_, ID3D11Buffer>,
15761    );
15762    fn GSGetShader(
15763        &self,
15764        ppgeometryshader: windows_core::OutRef<'_, ID3D11GeometryShader>,
15765        ppclassinstances: windows_core::OutRef<'_, ID3D11ClassInstance>,
15766        pnumclassinstances: *mut u32,
15767    );
15768    fn IAGetPrimitiveTopology(&self, ptopology: *mut super::Direct3D::D3D_PRIMITIVE_TOPOLOGY);
15769    fn VSGetShaderResources(
15770        &self,
15771        startslot: u32,
15772        numviews: u32,
15773        ppshaderresourceviews: windows_core::OutRef<'_, ID3D11ShaderResourceView>,
15774    );
15775    fn VSGetSamplers(
15776        &self,
15777        startslot: u32,
15778        numsamplers: u32,
15779        ppsamplers: windows_core::OutRef<'_, ID3D11SamplerState>,
15780    );
15781    fn GetPredication(
15782        &self,
15783        pppredicate: windows_core::OutRef<'_, ID3D11Predicate>,
15784        ppredicatevalue: *mut crate::Foundation::BOOL,
15785    );
15786    fn GSGetShaderResources(
15787        &self,
15788        startslot: u32,
15789        numviews: u32,
15790        ppshaderresourceviews: windows_core::OutRef<'_, ID3D11ShaderResourceView>,
15791    );
15792    fn GSGetSamplers(
15793        &self,
15794        startslot: u32,
15795        numsamplers: u32,
15796        ppsamplers: windows_core::OutRef<'_, ID3D11SamplerState>,
15797    );
15798    fn OMGetRenderTargets(
15799        &self,
15800        numviews: u32,
15801        pprendertargetviews: windows_core::OutRef<'_, ID3D11RenderTargetView>,
15802        ppdepthstencilview: windows_core::OutRef<'_, ID3D11DepthStencilView>,
15803    );
15804    fn OMGetRenderTargetsAndUnorderedAccessViews(
15805        &self,
15806        numrtvs: u32,
15807        pprendertargetviews: windows_core::OutRef<'_, ID3D11RenderTargetView>,
15808        ppdepthstencilview: windows_core::OutRef<'_, ID3D11DepthStencilView>,
15809        uavstartslot: u32,
15810        numuavs: u32,
15811        ppunorderedaccessviews: windows_core::OutRef<'_, ID3D11UnorderedAccessView>,
15812    );
15813    fn OMGetBlendState(
15814        &self,
15815        ppblendstate: windows_core::OutRef<'_, ID3D11BlendState>,
15816        blendfactor: *mut f32,
15817        psamplemask: *mut u32,
15818    );
15819    fn OMGetDepthStencilState(
15820        &self,
15821        ppdepthstencilstate: windows_core::OutRef<'_, ID3D11DepthStencilState>,
15822        pstencilref: *mut u32,
15823    );
15824    fn SOGetTargets(&self, numbuffers: u32, ppsotargets: windows_core::OutRef<'_, ID3D11Buffer>);
15825    fn RSGetState(&self, pprasterizerstate: windows_core::OutRef<'_, ID3D11RasterizerState>);
15826    fn RSGetViewports(&self, pnumviewports: *mut u32, pviewports: *mut D3D11_VIEWPORT);
15827    fn RSGetScissorRects(&self, pnumrects: *mut u32, prects: *mut crate::Foundation::RECT);
15828    fn HSGetShaderResources(
15829        &self,
15830        startslot: u32,
15831        numviews: u32,
15832        ppshaderresourceviews: windows_core::OutRef<'_, ID3D11ShaderResourceView>,
15833    );
15834    fn HSGetShader(
15835        &self,
15836        pphullshader: windows_core::OutRef<'_, ID3D11HullShader>,
15837        ppclassinstances: windows_core::OutRef<'_, ID3D11ClassInstance>,
15838        pnumclassinstances: *mut u32,
15839    );
15840    fn HSGetSamplers(
15841        &self,
15842        startslot: u32,
15843        numsamplers: u32,
15844        ppsamplers: windows_core::OutRef<'_, ID3D11SamplerState>,
15845    );
15846    fn HSGetConstantBuffers(
15847        &self,
15848        startslot: u32,
15849        numbuffers: u32,
15850        ppconstantbuffers: windows_core::OutRef<'_, ID3D11Buffer>,
15851    );
15852    fn DSGetShaderResources(
15853        &self,
15854        startslot: u32,
15855        numviews: u32,
15856        ppshaderresourceviews: windows_core::OutRef<'_, ID3D11ShaderResourceView>,
15857    );
15858    fn DSGetShader(
15859        &self,
15860        ppdomainshader: windows_core::OutRef<'_, ID3D11DomainShader>,
15861        ppclassinstances: windows_core::OutRef<'_, ID3D11ClassInstance>,
15862        pnumclassinstances: *mut u32,
15863    );
15864    fn DSGetSamplers(
15865        &self,
15866        startslot: u32,
15867        numsamplers: u32,
15868        ppsamplers: windows_core::OutRef<'_, ID3D11SamplerState>,
15869    );
15870    fn DSGetConstantBuffers(
15871        &self,
15872        startslot: u32,
15873        numbuffers: u32,
15874        ppconstantbuffers: windows_core::OutRef<'_, ID3D11Buffer>,
15875    );
15876    fn CSGetShaderResources(
15877        &self,
15878        startslot: u32,
15879        numviews: u32,
15880        ppshaderresourceviews: windows_core::OutRef<'_, ID3D11ShaderResourceView>,
15881    );
15882    fn CSGetUnorderedAccessViews(
15883        &self,
15884        startslot: u32,
15885        numuavs: u32,
15886        ppunorderedaccessviews: windows_core::OutRef<'_, ID3D11UnorderedAccessView>,
15887    );
15888    fn CSGetShader(
15889        &self,
15890        ppcomputeshader: windows_core::OutRef<'_, ID3D11ComputeShader>,
15891        ppclassinstances: windows_core::OutRef<'_, ID3D11ClassInstance>,
15892        pnumclassinstances: *mut u32,
15893    );
15894    fn CSGetSamplers(
15895        &self,
15896        startslot: u32,
15897        numsamplers: u32,
15898        ppsamplers: windows_core::OutRef<'_, ID3D11SamplerState>,
15899    );
15900    fn CSGetConstantBuffers(
15901        &self,
15902        startslot: u32,
15903        numbuffers: u32,
15904        ppconstantbuffers: windows_core::OutRef<'_, ID3D11Buffer>,
15905    );
15906    fn ClearState(&self);
15907    fn Flush(&self);
15908    fn GetType(&self) -> D3D11_DEVICE_CONTEXT_TYPE;
15909    fn GetContextFlags(&self) -> u32;
15910    fn FinishCommandList(
15911        &self,
15912        restoredeferredcontextstate: crate::Foundation::BOOL,
15913        ppcommandlist: windows_core::OutRef<'_, ID3D11CommandList>,
15914    ) -> windows_core::Result<()>;
15915}
15916#[cfg(all(
15917    feature = "Win32_Graphics_Direct3D",
15918    feature = "Win32_Graphics_Dxgi_Common"
15919))]
15920impl ID3D11DeviceContext_Vtbl {
15921    pub const fn new<Identity: ID3D11DeviceContext_Impl, const OFFSET: isize>() -> Self {
15922        unsafe extern "system" fn VSSetConstantBuffers<
15923            Identity: ID3D11DeviceContext_Impl,
15924            const OFFSET: isize,
15925        >(
15926            this: *mut core::ffi::c_void,
15927            startslot: u32,
15928            numbuffers: u32,
15929            ppconstantbuffers: *const *mut core::ffi::c_void,
15930        ) {
15931            unsafe {
15932                let this: &Identity =
15933                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
15934                ID3D11DeviceContext_Impl::VSSetConstantBuffers(
15935                    this,
15936                    core::mem::transmute_copy(&startslot),
15937                    core::mem::transmute_copy(&numbuffers),
15938                    core::mem::transmute_copy(&ppconstantbuffers),
15939                )
15940            }
15941        }
15942        unsafe extern "system" fn PSSetShaderResources<
15943            Identity: ID3D11DeviceContext_Impl,
15944            const OFFSET: isize,
15945        >(
15946            this: *mut core::ffi::c_void,
15947            startslot: u32,
15948            numviews: u32,
15949            ppshaderresourceviews: *const *mut core::ffi::c_void,
15950        ) {
15951            unsafe {
15952                let this: &Identity =
15953                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
15954                ID3D11DeviceContext_Impl::PSSetShaderResources(
15955                    this,
15956                    core::mem::transmute_copy(&startslot),
15957                    core::mem::transmute_copy(&numviews),
15958                    core::mem::transmute_copy(&ppshaderresourceviews),
15959                )
15960            }
15961        }
15962        unsafe extern "system" fn PSSetShader<
15963            Identity: ID3D11DeviceContext_Impl,
15964            const OFFSET: isize,
15965        >(
15966            this: *mut core::ffi::c_void,
15967            ppixelshader: *mut core::ffi::c_void,
15968            ppclassinstances: *const *mut core::ffi::c_void,
15969            numclassinstances: u32,
15970        ) {
15971            unsafe {
15972                let this: &Identity =
15973                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
15974                ID3D11DeviceContext_Impl::PSSetShader(
15975                    this,
15976                    core::mem::transmute_copy(&ppixelshader),
15977                    core::mem::transmute_copy(&ppclassinstances),
15978                    core::mem::transmute_copy(&numclassinstances),
15979                )
15980            }
15981        }
15982        unsafe extern "system" fn PSSetSamplers<
15983            Identity: ID3D11DeviceContext_Impl,
15984            const OFFSET: isize,
15985        >(
15986            this: *mut core::ffi::c_void,
15987            startslot: u32,
15988            numsamplers: u32,
15989            ppsamplers: *const *mut core::ffi::c_void,
15990        ) {
15991            unsafe {
15992                let this: &Identity =
15993                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
15994                ID3D11DeviceContext_Impl::PSSetSamplers(
15995                    this,
15996                    core::mem::transmute_copy(&startslot),
15997                    core::mem::transmute_copy(&numsamplers),
15998                    core::mem::transmute_copy(&ppsamplers),
15999                )
16000            }
16001        }
16002        unsafe extern "system" fn VSSetShader<
16003            Identity: ID3D11DeviceContext_Impl,
16004            const OFFSET: isize,
16005        >(
16006            this: *mut core::ffi::c_void,
16007            pvertexshader: *mut core::ffi::c_void,
16008            ppclassinstances: *const *mut core::ffi::c_void,
16009            numclassinstances: u32,
16010        ) {
16011            unsafe {
16012                let this: &Identity =
16013                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
16014                ID3D11DeviceContext_Impl::VSSetShader(
16015                    this,
16016                    core::mem::transmute_copy(&pvertexshader),
16017                    core::mem::transmute_copy(&ppclassinstances),
16018                    core::mem::transmute_copy(&numclassinstances),
16019                )
16020            }
16021        }
16022        unsafe extern "system" fn DrawIndexed<
16023            Identity: ID3D11DeviceContext_Impl,
16024            const OFFSET: isize,
16025        >(
16026            this: *mut core::ffi::c_void,
16027            indexcount: u32,
16028            startindexlocation: u32,
16029            basevertexlocation: i32,
16030        ) {
16031            unsafe {
16032                let this: &Identity =
16033                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
16034                ID3D11DeviceContext_Impl::DrawIndexed(
16035                    this,
16036                    core::mem::transmute_copy(&indexcount),
16037                    core::mem::transmute_copy(&startindexlocation),
16038                    core::mem::transmute_copy(&basevertexlocation),
16039                )
16040            }
16041        }
16042        unsafe extern "system" fn Draw<Identity: ID3D11DeviceContext_Impl, const OFFSET: isize>(
16043            this: *mut core::ffi::c_void,
16044            vertexcount: u32,
16045            startvertexlocation: u32,
16046        ) {
16047            unsafe {
16048                let this: &Identity =
16049                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
16050                ID3D11DeviceContext_Impl::Draw(
16051                    this,
16052                    core::mem::transmute_copy(&vertexcount),
16053                    core::mem::transmute_copy(&startvertexlocation),
16054                )
16055            }
16056        }
16057        unsafe extern "system" fn Map<Identity: ID3D11DeviceContext_Impl, const OFFSET: isize>(
16058            this: *mut core::ffi::c_void,
16059            presource: *mut core::ffi::c_void,
16060            subresource: u32,
16061            maptype: D3D11_MAP,
16062            mapflags: u32,
16063            pmappedresource: *mut D3D11_MAPPED_SUBRESOURCE,
16064        ) -> windows_core::HRESULT {
16065            unsafe {
16066                let this: &Identity =
16067                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
16068                ID3D11DeviceContext_Impl::Map(
16069                    this,
16070                    core::mem::transmute_copy(&presource),
16071                    core::mem::transmute_copy(&subresource),
16072                    core::mem::transmute_copy(&maptype),
16073                    core::mem::transmute_copy(&mapflags),
16074                    core::mem::transmute_copy(&pmappedresource),
16075                )
16076                .into()
16077            }
16078        }
16079        unsafe extern "system" fn Unmap<Identity: ID3D11DeviceContext_Impl, const OFFSET: isize>(
16080            this: *mut core::ffi::c_void,
16081            presource: *mut core::ffi::c_void,
16082            subresource: u32,
16083        ) {
16084            unsafe {
16085                let this: &Identity =
16086                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
16087                ID3D11DeviceContext_Impl::Unmap(
16088                    this,
16089                    core::mem::transmute_copy(&presource),
16090                    core::mem::transmute_copy(&subresource),
16091                )
16092            }
16093        }
16094        unsafe extern "system" fn PSSetConstantBuffers<
16095            Identity: ID3D11DeviceContext_Impl,
16096            const OFFSET: isize,
16097        >(
16098            this: *mut core::ffi::c_void,
16099            startslot: u32,
16100            numbuffers: u32,
16101            ppconstantbuffers: *const *mut core::ffi::c_void,
16102        ) {
16103            unsafe {
16104                let this: &Identity =
16105                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
16106                ID3D11DeviceContext_Impl::PSSetConstantBuffers(
16107                    this,
16108                    core::mem::transmute_copy(&startslot),
16109                    core::mem::transmute_copy(&numbuffers),
16110                    core::mem::transmute_copy(&ppconstantbuffers),
16111                )
16112            }
16113        }
16114        unsafe extern "system" fn IASetInputLayout<
16115            Identity: ID3D11DeviceContext_Impl,
16116            const OFFSET: isize,
16117        >(
16118            this: *mut core::ffi::c_void,
16119            pinputlayout: *mut core::ffi::c_void,
16120        ) {
16121            unsafe {
16122                let this: &Identity =
16123                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
16124                ID3D11DeviceContext_Impl::IASetInputLayout(
16125                    this,
16126                    core::mem::transmute_copy(&pinputlayout),
16127                )
16128            }
16129        }
16130        unsafe extern "system" fn IASetVertexBuffers<
16131            Identity: ID3D11DeviceContext_Impl,
16132            const OFFSET: isize,
16133        >(
16134            this: *mut core::ffi::c_void,
16135            startslot: u32,
16136            numbuffers: u32,
16137            ppvertexbuffers: *const *mut core::ffi::c_void,
16138            pstrides: *const u32,
16139            poffsets: *const u32,
16140        ) {
16141            unsafe {
16142                let this: &Identity =
16143                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
16144                ID3D11DeviceContext_Impl::IASetVertexBuffers(
16145                    this,
16146                    core::mem::transmute_copy(&startslot),
16147                    core::mem::transmute_copy(&numbuffers),
16148                    core::mem::transmute_copy(&ppvertexbuffers),
16149                    core::mem::transmute_copy(&pstrides),
16150                    core::mem::transmute_copy(&poffsets),
16151                )
16152            }
16153        }
16154        unsafe extern "system" fn IASetIndexBuffer<
16155            Identity: ID3D11DeviceContext_Impl,
16156            const OFFSET: isize,
16157        >(
16158            this: *mut core::ffi::c_void,
16159            pindexbuffer: *mut core::ffi::c_void,
16160            format: crate::Dxgi::Common::DXGI_FORMAT,
16161            offset: u32,
16162        ) {
16163            unsafe {
16164                let this: &Identity =
16165                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
16166                ID3D11DeviceContext_Impl::IASetIndexBuffer(
16167                    this,
16168                    core::mem::transmute_copy(&pindexbuffer),
16169                    core::mem::transmute_copy(&format),
16170                    core::mem::transmute_copy(&offset),
16171                )
16172            }
16173        }
16174        unsafe extern "system" fn DrawIndexedInstanced<
16175            Identity: ID3D11DeviceContext_Impl,
16176            const OFFSET: isize,
16177        >(
16178            this: *mut core::ffi::c_void,
16179            indexcountperinstance: u32,
16180            instancecount: u32,
16181            startindexlocation: u32,
16182            basevertexlocation: i32,
16183            startinstancelocation: u32,
16184        ) {
16185            unsafe {
16186                let this: &Identity =
16187                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
16188                ID3D11DeviceContext_Impl::DrawIndexedInstanced(
16189                    this,
16190                    core::mem::transmute_copy(&indexcountperinstance),
16191                    core::mem::transmute_copy(&instancecount),
16192                    core::mem::transmute_copy(&startindexlocation),
16193                    core::mem::transmute_copy(&basevertexlocation),
16194                    core::mem::transmute_copy(&startinstancelocation),
16195                )
16196            }
16197        }
16198        unsafe extern "system" fn DrawInstanced<
16199            Identity: ID3D11DeviceContext_Impl,
16200            const OFFSET: isize,
16201        >(
16202            this: *mut core::ffi::c_void,
16203            vertexcountperinstance: u32,
16204            instancecount: u32,
16205            startvertexlocation: u32,
16206            startinstancelocation: u32,
16207        ) {
16208            unsafe {
16209                let this: &Identity =
16210                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
16211                ID3D11DeviceContext_Impl::DrawInstanced(
16212                    this,
16213                    core::mem::transmute_copy(&vertexcountperinstance),
16214                    core::mem::transmute_copy(&instancecount),
16215                    core::mem::transmute_copy(&startvertexlocation),
16216                    core::mem::transmute_copy(&startinstancelocation),
16217                )
16218            }
16219        }
16220        unsafe extern "system" fn GSSetConstantBuffers<
16221            Identity: ID3D11DeviceContext_Impl,
16222            const OFFSET: isize,
16223        >(
16224            this: *mut core::ffi::c_void,
16225            startslot: u32,
16226            numbuffers: u32,
16227            ppconstantbuffers: *const *mut core::ffi::c_void,
16228        ) {
16229            unsafe {
16230                let this: &Identity =
16231                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
16232                ID3D11DeviceContext_Impl::GSSetConstantBuffers(
16233                    this,
16234                    core::mem::transmute_copy(&startslot),
16235                    core::mem::transmute_copy(&numbuffers),
16236                    core::mem::transmute_copy(&ppconstantbuffers),
16237                )
16238            }
16239        }
16240        unsafe extern "system" fn GSSetShader<
16241            Identity: ID3D11DeviceContext_Impl,
16242            const OFFSET: isize,
16243        >(
16244            this: *mut core::ffi::c_void,
16245            pshader: *mut core::ffi::c_void,
16246            ppclassinstances: *const *mut core::ffi::c_void,
16247            numclassinstances: u32,
16248        ) {
16249            unsafe {
16250                let this: &Identity =
16251                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
16252                ID3D11DeviceContext_Impl::GSSetShader(
16253                    this,
16254                    core::mem::transmute_copy(&pshader),
16255                    core::mem::transmute_copy(&ppclassinstances),
16256                    core::mem::transmute_copy(&numclassinstances),
16257                )
16258            }
16259        }
16260        unsafe extern "system" fn IASetPrimitiveTopology<
16261            Identity: ID3D11DeviceContext_Impl,
16262            const OFFSET: isize,
16263        >(
16264            this: *mut core::ffi::c_void,
16265            topology: super::Direct3D::D3D_PRIMITIVE_TOPOLOGY,
16266        ) {
16267            unsafe {
16268                let this: &Identity =
16269                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
16270                ID3D11DeviceContext_Impl::IASetPrimitiveTopology(
16271                    this,
16272                    core::mem::transmute_copy(&topology),
16273                )
16274            }
16275        }
16276        unsafe extern "system" fn VSSetShaderResources<
16277            Identity: ID3D11DeviceContext_Impl,
16278            const OFFSET: isize,
16279        >(
16280            this: *mut core::ffi::c_void,
16281            startslot: u32,
16282            numviews: u32,
16283            ppshaderresourceviews: *const *mut core::ffi::c_void,
16284        ) {
16285            unsafe {
16286                let this: &Identity =
16287                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
16288                ID3D11DeviceContext_Impl::VSSetShaderResources(
16289                    this,
16290                    core::mem::transmute_copy(&startslot),
16291                    core::mem::transmute_copy(&numviews),
16292                    core::mem::transmute_copy(&ppshaderresourceviews),
16293                )
16294            }
16295        }
16296        unsafe extern "system" fn VSSetSamplers<
16297            Identity: ID3D11DeviceContext_Impl,
16298            const OFFSET: isize,
16299        >(
16300            this: *mut core::ffi::c_void,
16301            startslot: u32,
16302            numsamplers: u32,
16303            ppsamplers: *const *mut core::ffi::c_void,
16304        ) {
16305            unsafe {
16306                let this: &Identity =
16307                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
16308                ID3D11DeviceContext_Impl::VSSetSamplers(
16309                    this,
16310                    core::mem::transmute_copy(&startslot),
16311                    core::mem::transmute_copy(&numsamplers),
16312                    core::mem::transmute_copy(&ppsamplers),
16313                )
16314            }
16315        }
16316        unsafe extern "system" fn Begin<Identity: ID3D11DeviceContext_Impl, const OFFSET: isize>(
16317            this: *mut core::ffi::c_void,
16318            pasync: *mut core::ffi::c_void,
16319        ) {
16320            unsafe {
16321                let this: &Identity =
16322                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
16323                ID3D11DeviceContext_Impl::Begin(this, core::mem::transmute_copy(&pasync))
16324            }
16325        }
16326        unsafe extern "system" fn End<Identity: ID3D11DeviceContext_Impl, const OFFSET: isize>(
16327            this: *mut core::ffi::c_void,
16328            pasync: *mut core::ffi::c_void,
16329        ) {
16330            unsafe {
16331                let this: &Identity =
16332                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
16333                ID3D11DeviceContext_Impl::End(this, core::mem::transmute_copy(&pasync))
16334            }
16335        }
16336        unsafe extern "system" fn GetData<
16337            Identity: ID3D11DeviceContext_Impl,
16338            const OFFSET: isize,
16339        >(
16340            this: *mut core::ffi::c_void,
16341            pasync: *mut core::ffi::c_void,
16342            pdata: *mut core::ffi::c_void,
16343            datasize: u32,
16344            getdataflags: u32,
16345        ) -> windows_core::HRESULT {
16346            unsafe {
16347                let this: &Identity =
16348                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
16349                ID3D11DeviceContext_Impl::GetData(
16350                    this,
16351                    core::mem::transmute_copy(&pasync),
16352                    core::mem::transmute_copy(&pdata),
16353                    core::mem::transmute_copy(&datasize),
16354                    core::mem::transmute_copy(&getdataflags),
16355                )
16356                .into()
16357            }
16358        }
16359        unsafe extern "system" fn SetPredication<
16360            Identity: ID3D11DeviceContext_Impl,
16361            const OFFSET: isize,
16362        >(
16363            this: *mut core::ffi::c_void,
16364            ppredicate: *mut core::ffi::c_void,
16365            predicatevalue: crate::Foundation::BOOL,
16366        ) {
16367            unsafe {
16368                let this: &Identity =
16369                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
16370                ID3D11DeviceContext_Impl::SetPredication(
16371                    this,
16372                    core::mem::transmute_copy(&ppredicate),
16373                    core::mem::transmute_copy(&predicatevalue),
16374                )
16375            }
16376        }
16377        unsafe extern "system" fn GSSetShaderResources<
16378            Identity: ID3D11DeviceContext_Impl,
16379            const OFFSET: isize,
16380        >(
16381            this: *mut core::ffi::c_void,
16382            startslot: u32,
16383            numviews: u32,
16384            ppshaderresourceviews: *const *mut core::ffi::c_void,
16385        ) {
16386            unsafe {
16387                let this: &Identity =
16388                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
16389                ID3D11DeviceContext_Impl::GSSetShaderResources(
16390                    this,
16391                    core::mem::transmute_copy(&startslot),
16392                    core::mem::transmute_copy(&numviews),
16393                    core::mem::transmute_copy(&ppshaderresourceviews),
16394                )
16395            }
16396        }
16397        unsafe extern "system" fn GSSetSamplers<
16398            Identity: ID3D11DeviceContext_Impl,
16399            const OFFSET: isize,
16400        >(
16401            this: *mut core::ffi::c_void,
16402            startslot: u32,
16403            numsamplers: u32,
16404            ppsamplers: *const *mut core::ffi::c_void,
16405        ) {
16406            unsafe {
16407                let this: &Identity =
16408                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
16409                ID3D11DeviceContext_Impl::GSSetSamplers(
16410                    this,
16411                    core::mem::transmute_copy(&startslot),
16412                    core::mem::transmute_copy(&numsamplers),
16413                    core::mem::transmute_copy(&ppsamplers),
16414                )
16415            }
16416        }
16417        unsafe extern "system" fn OMSetRenderTargets<
16418            Identity: ID3D11DeviceContext_Impl,
16419            const OFFSET: isize,
16420        >(
16421            this: *mut core::ffi::c_void,
16422            numviews: u32,
16423            pprendertargetviews: *const *mut core::ffi::c_void,
16424            pdepthstencilview: *mut core::ffi::c_void,
16425        ) {
16426            unsafe {
16427                let this: &Identity =
16428                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
16429                ID3D11DeviceContext_Impl::OMSetRenderTargets(
16430                    this,
16431                    core::mem::transmute_copy(&numviews),
16432                    core::mem::transmute_copy(&pprendertargetviews),
16433                    core::mem::transmute_copy(&pdepthstencilview),
16434                )
16435            }
16436        }
16437        unsafe extern "system" fn OMSetRenderTargetsAndUnorderedAccessViews<
16438            Identity: ID3D11DeviceContext_Impl,
16439            const OFFSET: isize,
16440        >(
16441            this: *mut core::ffi::c_void,
16442            numrtvs: u32,
16443            pprendertargetviews: *const *mut core::ffi::c_void,
16444            pdepthstencilview: *mut core::ffi::c_void,
16445            uavstartslot: u32,
16446            numuavs: u32,
16447            ppunorderedaccessviews: *const *mut core::ffi::c_void,
16448            puavinitialcounts: *const u32,
16449        ) {
16450            unsafe {
16451                let this: &Identity =
16452                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
16453                ID3D11DeviceContext_Impl::OMSetRenderTargetsAndUnorderedAccessViews(
16454                    this,
16455                    core::mem::transmute_copy(&numrtvs),
16456                    core::mem::transmute_copy(&pprendertargetviews),
16457                    core::mem::transmute_copy(&pdepthstencilview),
16458                    core::mem::transmute_copy(&uavstartslot),
16459                    core::mem::transmute_copy(&numuavs),
16460                    core::mem::transmute_copy(&ppunorderedaccessviews),
16461                    core::mem::transmute_copy(&puavinitialcounts),
16462                )
16463            }
16464        }
16465        unsafe extern "system" fn OMSetBlendState<
16466            Identity: ID3D11DeviceContext_Impl,
16467            const OFFSET: isize,
16468        >(
16469            this: *mut core::ffi::c_void,
16470            pblendstate: *mut core::ffi::c_void,
16471            blendfactor: *const f32,
16472            samplemask: u32,
16473        ) {
16474            unsafe {
16475                let this: &Identity =
16476                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
16477                ID3D11DeviceContext_Impl::OMSetBlendState(
16478                    this,
16479                    core::mem::transmute_copy(&pblendstate),
16480                    core::mem::transmute_copy(&blendfactor),
16481                    core::mem::transmute_copy(&samplemask),
16482                )
16483            }
16484        }
16485        unsafe extern "system" fn OMSetDepthStencilState<
16486            Identity: ID3D11DeviceContext_Impl,
16487            const OFFSET: isize,
16488        >(
16489            this: *mut core::ffi::c_void,
16490            pdepthstencilstate: *mut core::ffi::c_void,
16491            stencilref: u32,
16492        ) {
16493            unsafe {
16494                let this: &Identity =
16495                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
16496                ID3D11DeviceContext_Impl::OMSetDepthStencilState(
16497                    this,
16498                    core::mem::transmute_copy(&pdepthstencilstate),
16499                    core::mem::transmute_copy(&stencilref),
16500                )
16501            }
16502        }
16503        unsafe extern "system" fn SOSetTargets<
16504            Identity: ID3D11DeviceContext_Impl,
16505            const OFFSET: isize,
16506        >(
16507            this: *mut core::ffi::c_void,
16508            numbuffers: u32,
16509            ppsotargets: *const *mut core::ffi::c_void,
16510            poffsets: *const u32,
16511        ) {
16512            unsafe {
16513                let this: &Identity =
16514                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
16515                ID3D11DeviceContext_Impl::SOSetTargets(
16516                    this,
16517                    core::mem::transmute_copy(&numbuffers),
16518                    core::mem::transmute_copy(&ppsotargets),
16519                    core::mem::transmute_copy(&poffsets),
16520                )
16521            }
16522        }
16523        unsafe extern "system" fn DrawAuto<
16524            Identity: ID3D11DeviceContext_Impl,
16525            const OFFSET: isize,
16526        >(
16527            this: *mut core::ffi::c_void,
16528        ) {
16529            unsafe {
16530                let this: &Identity =
16531                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
16532                ID3D11DeviceContext_Impl::DrawAuto(this)
16533            }
16534        }
16535        unsafe extern "system" fn DrawIndexedInstancedIndirect<
16536            Identity: ID3D11DeviceContext_Impl,
16537            const OFFSET: isize,
16538        >(
16539            this: *mut core::ffi::c_void,
16540            pbufferforargs: *mut core::ffi::c_void,
16541            alignedbyteoffsetforargs: u32,
16542        ) {
16543            unsafe {
16544                let this: &Identity =
16545                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
16546                ID3D11DeviceContext_Impl::DrawIndexedInstancedIndirect(
16547                    this,
16548                    core::mem::transmute_copy(&pbufferforargs),
16549                    core::mem::transmute_copy(&alignedbyteoffsetforargs),
16550                )
16551            }
16552        }
16553        unsafe extern "system" fn DrawInstancedIndirect<
16554            Identity: ID3D11DeviceContext_Impl,
16555            const OFFSET: isize,
16556        >(
16557            this: *mut core::ffi::c_void,
16558            pbufferforargs: *mut core::ffi::c_void,
16559            alignedbyteoffsetforargs: u32,
16560        ) {
16561            unsafe {
16562                let this: &Identity =
16563                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
16564                ID3D11DeviceContext_Impl::DrawInstancedIndirect(
16565                    this,
16566                    core::mem::transmute_copy(&pbufferforargs),
16567                    core::mem::transmute_copy(&alignedbyteoffsetforargs),
16568                )
16569            }
16570        }
16571        unsafe extern "system" fn Dispatch<
16572            Identity: ID3D11DeviceContext_Impl,
16573            const OFFSET: isize,
16574        >(
16575            this: *mut core::ffi::c_void,
16576            threadgroupcountx: u32,
16577            threadgroupcounty: u32,
16578            threadgroupcountz: u32,
16579        ) {
16580            unsafe {
16581                let this: &Identity =
16582                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
16583                ID3D11DeviceContext_Impl::Dispatch(
16584                    this,
16585                    core::mem::transmute_copy(&threadgroupcountx),
16586                    core::mem::transmute_copy(&threadgroupcounty),
16587                    core::mem::transmute_copy(&threadgroupcountz),
16588                )
16589            }
16590        }
16591        unsafe extern "system" fn DispatchIndirect<
16592            Identity: ID3D11DeviceContext_Impl,
16593            const OFFSET: isize,
16594        >(
16595            this: *mut core::ffi::c_void,
16596            pbufferforargs: *mut core::ffi::c_void,
16597            alignedbyteoffsetforargs: u32,
16598        ) {
16599            unsafe {
16600                let this: &Identity =
16601                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
16602                ID3D11DeviceContext_Impl::DispatchIndirect(
16603                    this,
16604                    core::mem::transmute_copy(&pbufferforargs),
16605                    core::mem::transmute_copy(&alignedbyteoffsetforargs),
16606                )
16607            }
16608        }
16609        unsafe extern "system" fn RSSetState<
16610            Identity: ID3D11DeviceContext_Impl,
16611            const OFFSET: isize,
16612        >(
16613            this: *mut core::ffi::c_void,
16614            prasterizerstate: *mut core::ffi::c_void,
16615        ) {
16616            unsafe {
16617                let this: &Identity =
16618                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
16619                ID3D11DeviceContext_Impl::RSSetState(
16620                    this,
16621                    core::mem::transmute_copy(&prasterizerstate),
16622                )
16623            }
16624        }
16625        unsafe extern "system" fn RSSetViewports<
16626            Identity: ID3D11DeviceContext_Impl,
16627            const OFFSET: isize,
16628        >(
16629            this: *mut core::ffi::c_void,
16630            numviewports: u32,
16631            pviewports: *const D3D11_VIEWPORT,
16632        ) {
16633            unsafe {
16634                let this: &Identity =
16635                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
16636                ID3D11DeviceContext_Impl::RSSetViewports(
16637                    this,
16638                    core::mem::transmute_copy(&numviewports),
16639                    core::mem::transmute_copy(&pviewports),
16640                )
16641            }
16642        }
16643        unsafe extern "system" fn RSSetScissorRects<
16644            Identity: ID3D11DeviceContext_Impl,
16645            const OFFSET: isize,
16646        >(
16647            this: *mut core::ffi::c_void,
16648            numrects: u32,
16649            prects: *const crate::Foundation::RECT,
16650        ) {
16651            unsafe {
16652                let this: &Identity =
16653                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
16654                ID3D11DeviceContext_Impl::RSSetScissorRects(
16655                    this,
16656                    core::mem::transmute_copy(&numrects),
16657                    core::mem::transmute_copy(&prects),
16658                )
16659            }
16660        }
16661        unsafe extern "system" fn CopySubresourceRegion<
16662            Identity: ID3D11DeviceContext_Impl,
16663            const OFFSET: isize,
16664        >(
16665            this: *mut core::ffi::c_void,
16666            pdstresource: *mut core::ffi::c_void,
16667            dstsubresource: u32,
16668            dstx: u32,
16669            dsty: u32,
16670            dstz: u32,
16671            psrcresource: *mut core::ffi::c_void,
16672            srcsubresource: u32,
16673            psrcbox: *const D3D11_BOX,
16674        ) {
16675            unsafe {
16676                let this: &Identity =
16677                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
16678                ID3D11DeviceContext_Impl::CopySubresourceRegion(
16679                    this,
16680                    core::mem::transmute_copy(&pdstresource),
16681                    core::mem::transmute_copy(&dstsubresource),
16682                    core::mem::transmute_copy(&dstx),
16683                    core::mem::transmute_copy(&dsty),
16684                    core::mem::transmute_copy(&dstz),
16685                    core::mem::transmute_copy(&psrcresource),
16686                    core::mem::transmute_copy(&srcsubresource),
16687                    core::mem::transmute_copy(&psrcbox),
16688                )
16689            }
16690        }
16691        unsafe extern "system" fn CopyResource<
16692            Identity: ID3D11DeviceContext_Impl,
16693            const OFFSET: isize,
16694        >(
16695            this: *mut core::ffi::c_void,
16696            pdstresource: *mut core::ffi::c_void,
16697            psrcresource: *mut core::ffi::c_void,
16698        ) {
16699            unsafe {
16700                let this: &Identity =
16701                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
16702                ID3D11DeviceContext_Impl::CopyResource(
16703                    this,
16704                    core::mem::transmute_copy(&pdstresource),
16705                    core::mem::transmute_copy(&psrcresource),
16706                )
16707            }
16708        }
16709        unsafe extern "system" fn UpdateSubresource<
16710            Identity: ID3D11DeviceContext_Impl,
16711            const OFFSET: isize,
16712        >(
16713            this: *mut core::ffi::c_void,
16714            pdstresource: *mut core::ffi::c_void,
16715            dstsubresource: u32,
16716            pdstbox: *const D3D11_BOX,
16717            psrcdata: *const core::ffi::c_void,
16718            srcrowpitch: u32,
16719            srcdepthpitch: u32,
16720        ) {
16721            unsafe {
16722                let this: &Identity =
16723                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
16724                ID3D11DeviceContext_Impl::UpdateSubresource(
16725                    this,
16726                    core::mem::transmute_copy(&pdstresource),
16727                    core::mem::transmute_copy(&dstsubresource),
16728                    core::mem::transmute_copy(&pdstbox),
16729                    core::mem::transmute_copy(&psrcdata),
16730                    core::mem::transmute_copy(&srcrowpitch),
16731                    core::mem::transmute_copy(&srcdepthpitch),
16732                )
16733            }
16734        }
16735        unsafe extern "system" fn CopyStructureCount<
16736            Identity: ID3D11DeviceContext_Impl,
16737            const OFFSET: isize,
16738        >(
16739            this: *mut core::ffi::c_void,
16740            pdstbuffer: *mut core::ffi::c_void,
16741            dstalignedbyteoffset: u32,
16742            psrcview: *mut core::ffi::c_void,
16743        ) {
16744            unsafe {
16745                let this: &Identity =
16746                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
16747                ID3D11DeviceContext_Impl::CopyStructureCount(
16748                    this,
16749                    core::mem::transmute_copy(&pdstbuffer),
16750                    core::mem::transmute_copy(&dstalignedbyteoffset),
16751                    core::mem::transmute_copy(&psrcview),
16752                )
16753            }
16754        }
16755        unsafe extern "system" fn ClearRenderTargetView<
16756            Identity: ID3D11DeviceContext_Impl,
16757            const OFFSET: isize,
16758        >(
16759            this: *mut core::ffi::c_void,
16760            prendertargetview: *mut core::ffi::c_void,
16761            colorrgba: *const f32,
16762        ) {
16763            unsafe {
16764                let this: &Identity =
16765                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
16766                ID3D11DeviceContext_Impl::ClearRenderTargetView(
16767                    this,
16768                    core::mem::transmute_copy(&prendertargetview),
16769                    core::mem::transmute_copy(&colorrgba),
16770                )
16771            }
16772        }
16773        unsafe extern "system" fn ClearUnorderedAccessViewUint<
16774            Identity: ID3D11DeviceContext_Impl,
16775            const OFFSET: isize,
16776        >(
16777            this: *mut core::ffi::c_void,
16778            punorderedaccessview: *mut core::ffi::c_void,
16779            values: *const u32,
16780        ) {
16781            unsafe {
16782                let this: &Identity =
16783                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
16784                ID3D11DeviceContext_Impl::ClearUnorderedAccessViewUint(
16785                    this,
16786                    core::mem::transmute_copy(&punorderedaccessview),
16787                    core::mem::transmute_copy(&values),
16788                )
16789            }
16790        }
16791        unsafe extern "system" fn ClearUnorderedAccessViewFloat<
16792            Identity: ID3D11DeviceContext_Impl,
16793            const OFFSET: isize,
16794        >(
16795            this: *mut core::ffi::c_void,
16796            punorderedaccessview: *mut core::ffi::c_void,
16797            values: *const f32,
16798        ) {
16799            unsafe {
16800                let this: &Identity =
16801                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
16802                ID3D11DeviceContext_Impl::ClearUnorderedAccessViewFloat(
16803                    this,
16804                    core::mem::transmute_copy(&punorderedaccessview),
16805                    core::mem::transmute_copy(&values),
16806                )
16807            }
16808        }
16809        unsafe extern "system" fn ClearDepthStencilView<
16810            Identity: ID3D11DeviceContext_Impl,
16811            const OFFSET: isize,
16812        >(
16813            this: *mut core::ffi::c_void,
16814            pdepthstencilview: *mut core::ffi::c_void,
16815            clearflags: u32,
16816            depth: f32,
16817            stencil: u8,
16818        ) {
16819            unsafe {
16820                let this: &Identity =
16821                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
16822                ID3D11DeviceContext_Impl::ClearDepthStencilView(
16823                    this,
16824                    core::mem::transmute_copy(&pdepthstencilview),
16825                    core::mem::transmute_copy(&clearflags),
16826                    core::mem::transmute_copy(&depth),
16827                    core::mem::transmute_copy(&stencil),
16828                )
16829            }
16830        }
16831        unsafe extern "system" fn GenerateMips<
16832            Identity: ID3D11DeviceContext_Impl,
16833            const OFFSET: isize,
16834        >(
16835            this: *mut core::ffi::c_void,
16836            pshaderresourceview: *mut core::ffi::c_void,
16837        ) {
16838            unsafe {
16839                let this: &Identity =
16840                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
16841                ID3D11DeviceContext_Impl::GenerateMips(
16842                    this,
16843                    core::mem::transmute_copy(&pshaderresourceview),
16844                )
16845            }
16846        }
16847        unsafe extern "system" fn SetResourceMinLOD<
16848            Identity: ID3D11DeviceContext_Impl,
16849            const OFFSET: isize,
16850        >(
16851            this: *mut core::ffi::c_void,
16852            presource: *mut core::ffi::c_void,
16853            minlod: f32,
16854        ) {
16855            unsafe {
16856                let this: &Identity =
16857                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
16858                ID3D11DeviceContext_Impl::SetResourceMinLOD(
16859                    this,
16860                    core::mem::transmute_copy(&presource),
16861                    core::mem::transmute_copy(&minlod),
16862                )
16863            }
16864        }
16865        unsafe extern "system" fn GetResourceMinLOD<
16866            Identity: ID3D11DeviceContext_Impl,
16867            const OFFSET: isize,
16868        >(
16869            this: *mut core::ffi::c_void,
16870            presource: *mut core::ffi::c_void,
16871        ) -> f32 {
16872            unsafe {
16873                let this: &Identity =
16874                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
16875                ID3D11DeviceContext_Impl::GetResourceMinLOD(
16876                    this,
16877                    core::mem::transmute_copy(&presource),
16878                )
16879            }
16880        }
16881        unsafe extern "system" fn ResolveSubresource<
16882            Identity: ID3D11DeviceContext_Impl,
16883            const OFFSET: isize,
16884        >(
16885            this: *mut core::ffi::c_void,
16886            pdstresource: *mut core::ffi::c_void,
16887            dstsubresource: u32,
16888            psrcresource: *mut core::ffi::c_void,
16889            srcsubresource: u32,
16890            format: crate::Dxgi::Common::DXGI_FORMAT,
16891        ) {
16892            unsafe {
16893                let this: &Identity =
16894                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
16895                ID3D11DeviceContext_Impl::ResolveSubresource(
16896                    this,
16897                    core::mem::transmute_copy(&pdstresource),
16898                    core::mem::transmute_copy(&dstsubresource),
16899                    core::mem::transmute_copy(&psrcresource),
16900                    core::mem::transmute_copy(&srcsubresource),
16901                    core::mem::transmute_copy(&format),
16902                )
16903            }
16904        }
16905        unsafe extern "system" fn ExecuteCommandList<
16906            Identity: ID3D11DeviceContext_Impl,
16907            const OFFSET: isize,
16908        >(
16909            this: *mut core::ffi::c_void,
16910            pcommandlist: *mut core::ffi::c_void,
16911            restorecontextstate: crate::Foundation::BOOL,
16912        ) {
16913            unsafe {
16914                let this: &Identity =
16915                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
16916                ID3D11DeviceContext_Impl::ExecuteCommandList(
16917                    this,
16918                    core::mem::transmute_copy(&pcommandlist),
16919                    core::mem::transmute_copy(&restorecontextstate),
16920                )
16921            }
16922        }
16923        unsafe extern "system" fn HSSetShaderResources<
16924            Identity: ID3D11DeviceContext_Impl,
16925            const OFFSET: isize,
16926        >(
16927            this: *mut core::ffi::c_void,
16928            startslot: u32,
16929            numviews: u32,
16930            ppshaderresourceviews: *const *mut core::ffi::c_void,
16931        ) {
16932            unsafe {
16933                let this: &Identity =
16934                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
16935                ID3D11DeviceContext_Impl::HSSetShaderResources(
16936                    this,
16937                    core::mem::transmute_copy(&startslot),
16938                    core::mem::transmute_copy(&numviews),
16939                    core::mem::transmute_copy(&ppshaderresourceviews),
16940                )
16941            }
16942        }
16943        unsafe extern "system" fn HSSetShader<
16944            Identity: ID3D11DeviceContext_Impl,
16945            const OFFSET: isize,
16946        >(
16947            this: *mut core::ffi::c_void,
16948            phullshader: *mut core::ffi::c_void,
16949            ppclassinstances: *const *mut core::ffi::c_void,
16950            numclassinstances: u32,
16951        ) {
16952            unsafe {
16953                let this: &Identity =
16954                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
16955                ID3D11DeviceContext_Impl::HSSetShader(
16956                    this,
16957                    core::mem::transmute_copy(&phullshader),
16958                    core::mem::transmute_copy(&ppclassinstances),
16959                    core::mem::transmute_copy(&numclassinstances),
16960                )
16961            }
16962        }
16963        unsafe extern "system" fn HSSetSamplers<
16964            Identity: ID3D11DeviceContext_Impl,
16965            const OFFSET: isize,
16966        >(
16967            this: *mut core::ffi::c_void,
16968            startslot: u32,
16969            numsamplers: u32,
16970            ppsamplers: *const *mut core::ffi::c_void,
16971        ) {
16972            unsafe {
16973                let this: &Identity =
16974                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
16975                ID3D11DeviceContext_Impl::HSSetSamplers(
16976                    this,
16977                    core::mem::transmute_copy(&startslot),
16978                    core::mem::transmute_copy(&numsamplers),
16979                    core::mem::transmute_copy(&ppsamplers),
16980                )
16981            }
16982        }
16983        unsafe extern "system" fn HSSetConstantBuffers<
16984            Identity: ID3D11DeviceContext_Impl,
16985            const OFFSET: isize,
16986        >(
16987            this: *mut core::ffi::c_void,
16988            startslot: u32,
16989            numbuffers: u32,
16990            ppconstantbuffers: *const *mut core::ffi::c_void,
16991        ) {
16992            unsafe {
16993                let this: &Identity =
16994                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
16995                ID3D11DeviceContext_Impl::HSSetConstantBuffers(
16996                    this,
16997                    core::mem::transmute_copy(&startslot),
16998                    core::mem::transmute_copy(&numbuffers),
16999                    core::mem::transmute_copy(&ppconstantbuffers),
17000                )
17001            }
17002        }
17003        unsafe extern "system" fn DSSetShaderResources<
17004            Identity: ID3D11DeviceContext_Impl,
17005            const OFFSET: isize,
17006        >(
17007            this: *mut core::ffi::c_void,
17008            startslot: u32,
17009            numviews: u32,
17010            ppshaderresourceviews: *const *mut core::ffi::c_void,
17011        ) {
17012            unsafe {
17013                let this: &Identity =
17014                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
17015                ID3D11DeviceContext_Impl::DSSetShaderResources(
17016                    this,
17017                    core::mem::transmute_copy(&startslot),
17018                    core::mem::transmute_copy(&numviews),
17019                    core::mem::transmute_copy(&ppshaderresourceviews),
17020                )
17021            }
17022        }
17023        unsafe extern "system" fn DSSetShader<
17024            Identity: ID3D11DeviceContext_Impl,
17025            const OFFSET: isize,
17026        >(
17027            this: *mut core::ffi::c_void,
17028            pdomainshader: *mut core::ffi::c_void,
17029            ppclassinstances: *const *mut core::ffi::c_void,
17030            numclassinstances: u32,
17031        ) {
17032            unsafe {
17033                let this: &Identity =
17034                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
17035                ID3D11DeviceContext_Impl::DSSetShader(
17036                    this,
17037                    core::mem::transmute_copy(&pdomainshader),
17038                    core::mem::transmute_copy(&ppclassinstances),
17039                    core::mem::transmute_copy(&numclassinstances),
17040                )
17041            }
17042        }
17043        unsafe extern "system" fn DSSetSamplers<
17044            Identity: ID3D11DeviceContext_Impl,
17045            const OFFSET: isize,
17046        >(
17047            this: *mut core::ffi::c_void,
17048            startslot: u32,
17049            numsamplers: u32,
17050            ppsamplers: *const *mut core::ffi::c_void,
17051        ) {
17052            unsafe {
17053                let this: &Identity =
17054                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
17055                ID3D11DeviceContext_Impl::DSSetSamplers(
17056                    this,
17057                    core::mem::transmute_copy(&startslot),
17058                    core::mem::transmute_copy(&numsamplers),
17059                    core::mem::transmute_copy(&ppsamplers),
17060                )
17061            }
17062        }
17063        unsafe extern "system" fn DSSetConstantBuffers<
17064            Identity: ID3D11DeviceContext_Impl,
17065            const OFFSET: isize,
17066        >(
17067            this: *mut core::ffi::c_void,
17068            startslot: u32,
17069            numbuffers: u32,
17070            ppconstantbuffers: *const *mut core::ffi::c_void,
17071        ) {
17072            unsafe {
17073                let this: &Identity =
17074                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
17075                ID3D11DeviceContext_Impl::DSSetConstantBuffers(
17076                    this,
17077                    core::mem::transmute_copy(&startslot),
17078                    core::mem::transmute_copy(&numbuffers),
17079                    core::mem::transmute_copy(&ppconstantbuffers),
17080                )
17081            }
17082        }
17083        unsafe extern "system" fn CSSetShaderResources<
17084            Identity: ID3D11DeviceContext_Impl,
17085            const OFFSET: isize,
17086        >(
17087            this: *mut core::ffi::c_void,
17088            startslot: u32,
17089            numviews: u32,
17090            ppshaderresourceviews: *const *mut core::ffi::c_void,
17091        ) {
17092            unsafe {
17093                let this: &Identity =
17094                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
17095                ID3D11DeviceContext_Impl::CSSetShaderResources(
17096                    this,
17097                    core::mem::transmute_copy(&startslot),
17098                    core::mem::transmute_copy(&numviews),
17099                    core::mem::transmute_copy(&ppshaderresourceviews),
17100                )
17101            }
17102        }
17103        unsafe extern "system" fn CSSetUnorderedAccessViews<
17104            Identity: ID3D11DeviceContext_Impl,
17105            const OFFSET: isize,
17106        >(
17107            this: *mut core::ffi::c_void,
17108            startslot: u32,
17109            numuavs: u32,
17110            ppunorderedaccessviews: *const *mut core::ffi::c_void,
17111            puavinitialcounts: *const u32,
17112        ) {
17113            unsafe {
17114                let this: &Identity =
17115                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
17116                ID3D11DeviceContext_Impl::CSSetUnorderedAccessViews(
17117                    this,
17118                    core::mem::transmute_copy(&startslot),
17119                    core::mem::transmute_copy(&numuavs),
17120                    core::mem::transmute_copy(&ppunorderedaccessviews),
17121                    core::mem::transmute_copy(&puavinitialcounts),
17122                )
17123            }
17124        }
17125        unsafe extern "system" fn CSSetShader<
17126            Identity: ID3D11DeviceContext_Impl,
17127            const OFFSET: isize,
17128        >(
17129            this: *mut core::ffi::c_void,
17130            pcomputeshader: *mut core::ffi::c_void,
17131            ppclassinstances: *const *mut core::ffi::c_void,
17132            numclassinstances: u32,
17133        ) {
17134            unsafe {
17135                let this: &Identity =
17136                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
17137                ID3D11DeviceContext_Impl::CSSetShader(
17138                    this,
17139                    core::mem::transmute_copy(&pcomputeshader),
17140                    core::mem::transmute_copy(&ppclassinstances),
17141                    core::mem::transmute_copy(&numclassinstances),
17142                )
17143            }
17144        }
17145        unsafe extern "system" fn CSSetSamplers<
17146            Identity: ID3D11DeviceContext_Impl,
17147            const OFFSET: isize,
17148        >(
17149            this: *mut core::ffi::c_void,
17150            startslot: u32,
17151            numsamplers: u32,
17152            ppsamplers: *const *mut core::ffi::c_void,
17153        ) {
17154            unsafe {
17155                let this: &Identity =
17156                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
17157                ID3D11DeviceContext_Impl::CSSetSamplers(
17158                    this,
17159                    core::mem::transmute_copy(&startslot),
17160                    core::mem::transmute_copy(&numsamplers),
17161                    core::mem::transmute_copy(&ppsamplers),
17162                )
17163            }
17164        }
17165        unsafe extern "system" fn CSSetConstantBuffers<
17166            Identity: ID3D11DeviceContext_Impl,
17167            const OFFSET: isize,
17168        >(
17169            this: *mut core::ffi::c_void,
17170            startslot: u32,
17171            numbuffers: u32,
17172            ppconstantbuffers: *const *mut core::ffi::c_void,
17173        ) {
17174            unsafe {
17175                let this: &Identity =
17176                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
17177                ID3D11DeviceContext_Impl::CSSetConstantBuffers(
17178                    this,
17179                    core::mem::transmute_copy(&startslot),
17180                    core::mem::transmute_copy(&numbuffers),
17181                    core::mem::transmute_copy(&ppconstantbuffers),
17182                )
17183            }
17184        }
17185        unsafe extern "system" fn VSGetConstantBuffers<
17186            Identity: ID3D11DeviceContext_Impl,
17187            const OFFSET: isize,
17188        >(
17189            this: *mut core::ffi::c_void,
17190            startslot: u32,
17191            numbuffers: u32,
17192            ppconstantbuffers: *mut *mut core::ffi::c_void,
17193        ) {
17194            unsafe {
17195                let this: &Identity =
17196                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
17197                ID3D11DeviceContext_Impl::VSGetConstantBuffers(
17198                    this,
17199                    core::mem::transmute_copy(&startslot),
17200                    core::mem::transmute_copy(&numbuffers),
17201                    core::mem::transmute_copy(&ppconstantbuffers),
17202                )
17203            }
17204        }
17205        unsafe extern "system" fn PSGetShaderResources<
17206            Identity: ID3D11DeviceContext_Impl,
17207            const OFFSET: isize,
17208        >(
17209            this: *mut core::ffi::c_void,
17210            startslot: u32,
17211            numviews: u32,
17212            ppshaderresourceviews: *mut *mut core::ffi::c_void,
17213        ) {
17214            unsafe {
17215                let this: &Identity =
17216                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
17217                ID3D11DeviceContext_Impl::PSGetShaderResources(
17218                    this,
17219                    core::mem::transmute_copy(&startslot),
17220                    core::mem::transmute_copy(&numviews),
17221                    core::mem::transmute_copy(&ppshaderresourceviews),
17222                )
17223            }
17224        }
17225        unsafe extern "system" fn PSGetShader<
17226            Identity: ID3D11DeviceContext_Impl,
17227            const OFFSET: isize,
17228        >(
17229            this: *mut core::ffi::c_void,
17230            pppixelshader: *mut *mut core::ffi::c_void,
17231            ppclassinstances: *mut *mut core::ffi::c_void,
17232            pnumclassinstances: *mut u32,
17233        ) {
17234            unsafe {
17235                let this: &Identity =
17236                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
17237                ID3D11DeviceContext_Impl::PSGetShader(
17238                    this,
17239                    core::mem::transmute_copy(&pppixelshader),
17240                    core::mem::transmute_copy(&ppclassinstances),
17241                    core::mem::transmute_copy(&pnumclassinstances),
17242                )
17243            }
17244        }
17245        unsafe extern "system" fn PSGetSamplers<
17246            Identity: ID3D11DeviceContext_Impl,
17247            const OFFSET: isize,
17248        >(
17249            this: *mut core::ffi::c_void,
17250            startslot: u32,
17251            numsamplers: u32,
17252            ppsamplers: *mut *mut core::ffi::c_void,
17253        ) {
17254            unsafe {
17255                let this: &Identity =
17256                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
17257                ID3D11DeviceContext_Impl::PSGetSamplers(
17258                    this,
17259                    core::mem::transmute_copy(&startslot),
17260                    core::mem::transmute_copy(&numsamplers),
17261                    core::mem::transmute_copy(&ppsamplers),
17262                )
17263            }
17264        }
17265        unsafe extern "system" fn VSGetShader<
17266            Identity: ID3D11DeviceContext_Impl,
17267            const OFFSET: isize,
17268        >(
17269            this: *mut core::ffi::c_void,
17270            ppvertexshader: *mut *mut core::ffi::c_void,
17271            ppclassinstances: *mut *mut core::ffi::c_void,
17272            pnumclassinstances: *mut u32,
17273        ) {
17274            unsafe {
17275                let this: &Identity =
17276                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
17277                ID3D11DeviceContext_Impl::VSGetShader(
17278                    this,
17279                    core::mem::transmute_copy(&ppvertexshader),
17280                    core::mem::transmute_copy(&ppclassinstances),
17281                    core::mem::transmute_copy(&pnumclassinstances),
17282                )
17283            }
17284        }
17285        unsafe extern "system" fn PSGetConstantBuffers<
17286            Identity: ID3D11DeviceContext_Impl,
17287            const OFFSET: isize,
17288        >(
17289            this: *mut core::ffi::c_void,
17290            startslot: u32,
17291            numbuffers: u32,
17292            ppconstantbuffers: *mut *mut core::ffi::c_void,
17293        ) {
17294            unsafe {
17295                let this: &Identity =
17296                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
17297                ID3D11DeviceContext_Impl::PSGetConstantBuffers(
17298                    this,
17299                    core::mem::transmute_copy(&startslot),
17300                    core::mem::transmute_copy(&numbuffers),
17301                    core::mem::transmute_copy(&ppconstantbuffers),
17302                )
17303            }
17304        }
17305        unsafe extern "system" fn IAGetInputLayout<
17306            Identity: ID3D11DeviceContext_Impl,
17307            const OFFSET: isize,
17308        >(
17309            this: *mut core::ffi::c_void,
17310            ppinputlayout: *mut *mut core::ffi::c_void,
17311        ) {
17312            unsafe {
17313                let this: &Identity =
17314                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
17315                ID3D11DeviceContext_Impl::IAGetInputLayout(
17316                    this,
17317                    core::mem::transmute_copy(&ppinputlayout),
17318                )
17319            }
17320        }
17321        unsafe extern "system" fn IAGetVertexBuffers<
17322            Identity: ID3D11DeviceContext_Impl,
17323            const OFFSET: isize,
17324        >(
17325            this: *mut core::ffi::c_void,
17326            startslot: u32,
17327            numbuffers: u32,
17328            ppvertexbuffers: *mut *mut core::ffi::c_void,
17329            pstrides: *mut u32,
17330            poffsets: *mut u32,
17331        ) {
17332            unsafe {
17333                let this: &Identity =
17334                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
17335                ID3D11DeviceContext_Impl::IAGetVertexBuffers(
17336                    this,
17337                    core::mem::transmute_copy(&startslot),
17338                    core::mem::transmute_copy(&numbuffers),
17339                    core::mem::transmute_copy(&ppvertexbuffers),
17340                    core::mem::transmute_copy(&pstrides),
17341                    core::mem::transmute_copy(&poffsets),
17342                )
17343            }
17344        }
17345        unsafe extern "system" fn IAGetIndexBuffer<
17346            Identity: ID3D11DeviceContext_Impl,
17347            const OFFSET: isize,
17348        >(
17349            this: *mut core::ffi::c_void,
17350            pindexbuffer: *mut *mut core::ffi::c_void,
17351            format: *mut crate::Dxgi::Common::DXGI_FORMAT,
17352            offset: *mut u32,
17353        ) {
17354            unsafe {
17355                let this: &Identity =
17356                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
17357                ID3D11DeviceContext_Impl::IAGetIndexBuffer(
17358                    this,
17359                    core::mem::transmute_copy(&pindexbuffer),
17360                    core::mem::transmute_copy(&format),
17361                    core::mem::transmute_copy(&offset),
17362                )
17363            }
17364        }
17365        unsafe extern "system" fn GSGetConstantBuffers<
17366            Identity: ID3D11DeviceContext_Impl,
17367            const OFFSET: isize,
17368        >(
17369            this: *mut core::ffi::c_void,
17370            startslot: u32,
17371            numbuffers: u32,
17372            ppconstantbuffers: *mut *mut core::ffi::c_void,
17373        ) {
17374            unsafe {
17375                let this: &Identity =
17376                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
17377                ID3D11DeviceContext_Impl::GSGetConstantBuffers(
17378                    this,
17379                    core::mem::transmute_copy(&startslot),
17380                    core::mem::transmute_copy(&numbuffers),
17381                    core::mem::transmute_copy(&ppconstantbuffers),
17382                )
17383            }
17384        }
17385        unsafe extern "system" fn GSGetShader<
17386            Identity: ID3D11DeviceContext_Impl,
17387            const OFFSET: isize,
17388        >(
17389            this: *mut core::ffi::c_void,
17390            ppgeometryshader: *mut *mut core::ffi::c_void,
17391            ppclassinstances: *mut *mut core::ffi::c_void,
17392            pnumclassinstances: *mut u32,
17393        ) {
17394            unsafe {
17395                let this: &Identity =
17396                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
17397                ID3D11DeviceContext_Impl::GSGetShader(
17398                    this,
17399                    core::mem::transmute_copy(&ppgeometryshader),
17400                    core::mem::transmute_copy(&ppclassinstances),
17401                    core::mem::transmute_copy(&pnumclassinstances),
17402                )
17403            }
17404        }
17405        unsafe extern "system" fn IAGetPrimitiveTopology<
17406            Identity: ID3D11DeviceContext_Impl,
17407            const OFFSET: isize,
17408        >(
17409            this: *mut core::ffi::c_void,
17410            ptopology: *mut super::Direct3D::D3D_PRIMITIVE_TOPOLOGY,
17411        ) {
17412            unsafe {
17413                let this: &Identity =
17414                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
17415                ID3D11DeviceContext_Impl::IAGetPrimitiveTopology(
17416                    this,
17417                    core::mem::transmute_copy(&ptopology),
17418                )
17419            }
17420        }
17421        unsafe extern "system" fn VSGetShaderResources<
17422            Identity: ID3D11DeviceContext_Impl,
17423            const OFFSET: isize,
17424        >(
17425            this: *mut core::ffi::c_void,
17426            startslot: u32,
17427            numviews: u32,
17428            ppshaderresourceviews: *mut *mut core::ffi::c_void,
17429        ) {
17430            unsafe {
17431                let this: &Identity =
17432                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
17433                ID3D11DeviceContext_Impl::VSGetShaderResources(
17434                    this,
17435                    core::mem::transmute_copy(&startslot),
17436                    core::mem::transmute_copy(&numviews),
17437                    core::mem::transmute_copy(&ppshaderresourceviews),
17438                )
17439            }
17440        }
17441        unsafe extern "system" fn VSGetSamplers<
17442            Identity: ID3D11DeviceContext_Impl,
17443            const OFFSET: isize,
17444        >(
17445            this: *mut core::ffi::c_void,
17446            startslot: u32,
17447            numsamplers: u32,
17448            ppsamplers: *mut *mut core::ffi::c_void,
17449        ) {
17450            unsafe {
17451                let this: &Identity =
17452                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
17453                ID3D11DeviceContext_Impl::VSGetSamplers(
17454                    this,
17455                    core::mem::transmute_copy(&startslot),
17456                    core::mem::transmute_copy(&numsamplers),
17457                    core::mem::transmute_copy(&ppsamplers),
17458                )
17459            }
17460        }
17461        unsafe extern "system" fn GetPredication<
17462            Identity: ID3D11DeviceContext_Impl,
17463            const OFFSET: isize,
17464        >(
17465            this: *mut core::ffi::c_void,
17466            pppredicate: *mut *mut core::ffi::c_void,
17467            ppredicatevalue: *mut crate::Foundation::BOOL,
17468        ) {
17469            unsafe {
17470                let this: &Identity =
17471                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
17472                ID3D11DeviceContext_Impl::GetPredication(
17473                    this,
17474                    core::mem::transmute_copy(&pppredicate),
17475                    core::mem::transmute_copy(&ppredicatevalue),
17476                )
17477            }
17478        }
17479        unsafe extern "system" fn GSGetShaderResources<
17480            Identity: ID3D11DeviceContext_Impl,
17481            const OFFSET: isize,
17482        >(
17483            this: *mut core::ffi::c_void,
17484            startslot: u32,
17485            numviews: u32,
17486            ppshaderresourceviews: *mut *mut core::ffi::c_void,
17487        ) {
17488            unsafe {
17489                let this: &Identity =
17490                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
17491                ID3D11DeviceContext_Impl::GSGetShaderResources(
17492                    this,
17493                    core::mem::transmute_copy(&startslot),
17494                    core::mem::transmute_copy(&numviews),
17495                    core::mem::transmute_copy(&ppshaderresourceviews),
17496                )
17497            }
17498        }
17499        unsafe extern "system" fn GSGetSamplers<
17500            Identity: ID3D11DeviceContext_Impl,
17501            const OFFSET: isize,
17502        >(
17503            this: *mut core::ffi::c_void,
17504            startslot: u32,
17505            numsamplers: u32,
17506            ppsamplers: *mut *mut core::ffi::c_void,
17507        ) {
17508            unsafe {
17509                let this: &Identity =
17510                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
17511                ID3D11DeviceContext_Impl::GSGetSamplers(
17512                    this,
17513                    core::mem::transmute_copy(&startslot),
17514                    core::mem::transmute_copy(&numsamplers),
17515                    core::mem::transmute_copy(&ppsamplers),
17516                )
17517            }
17518        }
17519        unsafe extern "system" fn OMGetRenderTargets<
17520            Identity: ID3D11DeviceContext_Impl,
17521            const OFFSET: isize,
17522        >(
17523            this: *mut core::ffi::c_void,
17524            numviews: u32,
17525            pprendertargetviews: *mut *mut core::ffi::c_void,
17526            ppdepthstencilview: *mut *mut core::ffi::c_void,
17527        ) {
17528            unsafe {
17529                let this: &Identity =
17530                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
17531                ID3D11DeviceContext_Impl::OMGetRenderTargets(
17532                    this,
17533                    core::mem::transmute_copy(&numviews),
17534                    core::mem::transmute_copy(&pprendertargetviews),
17535                    core::mem::transmute_copy(&ppdepthstencilview),
17536                )
17537            }
17538        }
17539        unsafe extern "system" fn OMGetRenderTargetsAndUnorderedAccessViews<
17540            Identity: ID3D11DeviceContext_Impl,
17541            const OFFSET: isize,
17542        >(
17543            this: *mut core::ffi::c_void,
17544            numrtvs: u32,
17545            pprendertargetviews: *mut *mut core::ffi::c_void,
17546            ppdepthstencilview: *mut *mut core::ffi::c_void,
17547            uavstartslot: u32,
17548            numuavs: u32,
17549            ppunorderedaccessviews: *mut *mut core::ffi::c_void,
17550        ) {
17551            unsafe {
17552                let this: &Identity =
17553                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
17554                ID3D11DeviceContext_Impl::OMGetRenderTargetsAndUnorderedAccessViews(
17555                    this,
17556                    core::mem::transmute_copy(&numrtvs),
17557                    core::mem::transmute_copy(&pprendertargetviews),
17558                    core::mem::transmute_copy(&ppdepthstencilview),
17559                    core::mem::transmute_copy(&uavstartslot),
17560                    core::mem::transmute_copy(&numuavs),
17561                    core::mem::transmute_copy(&ppunorderedaccessviews),
17562                )
17563            }
17564        }
17565        unsafe extern "system" fn OMGetBlendState<
17566            Identity: ID3D11DeviceContext_Impl,
17567            const OFFSET: isize,
17568        >(
17569            this: *mut core::ffi::c_void,
17570            ppblendstate: *mut *mut core::ffi::c_void,
17571            blendfactor: *mut f32,
17572            psamplemask: *mut u32,
17573        ) {
17574            unsafe {
17575                let this: &Identity =
17576                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
17577                ID3D11DeviceContext_Impl::OMGetBlendState(
17578                    this,
17579                    core::mem::transmute_copy(&ppblendstate),
17580                    core::mem::transmute_copy(&blendfactor),
17581                    core::mem::transmute_copy(&psamplemask),
17582                )
17583            }
17584        }
17585        unsafe extern "system" fn OMGetDepthStencilState<
17586            Identity: ID3D11DeviceContext_Impl,
17587            const OFFSET: isize,
17588        >(
17589            this: *mut core::ffi::c_void,
17590            ppdepthstencilstate: *mut *mut core::ffi::c_void,
17591            pstencilref: *mut u32,
17592        ) {
17593            unsafe {
17594                let this: &Identity =
17595                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
17596                ID3D11DeviceContext_Impl::OMGetDepthStencilState(
17597                    this,
17598                    core::mem::transmute_copy(&ppdepthstencilstate),
17599                    core::mem::transmute_copy(&pstencilref),
17600                )
17601            }
17602        }
17603        unsafe extern "system" fn SOGetTargets<
17604            Identity: ID3D11DeviceContext_Impl,
17605            const OFFSET: isize,
17606        >(
17607            this: *mut core::ffi::c_void,
17608            numbuffers: u32,
17609            ppsotargets: *mut *mut core::ffi::c_void,
17610        ) {
17611            unsafe {
17612                let this: &Identity =
17613                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
17614                ID3D11DeviceContext_Impl::SOGetTargets(
17615                    this,
17616                    core::mem::transmute_copy(&numbuffers),
17617                    core::mem::transmute_copy(&ppsotargets),
17618                )
17619            }
17620        }
17621        unsafe extern "system" fn RSGetState<
17622            Identity: ID3D11DeviceContext_Impl,
17623            const OFFSET: isize,
17624        >(
17625            this: *mut core::ffi::c_void,
17626            pprasterizerstate: *mut *mut core::ffi::c_void,
17627        ) {
17628            unsafe {
17629                let this: &Identity =
17630                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
17631                ID3D11DeviceContext_Impl::RSGetState(
17632                    this,
17633                    core::mem::transmute_copy(&pprasterizerstate),
17634                )
17635            }
17636        }
17637        unsafe extern "system" fn RSGetViewports<
17638            Identity: ID3D11DeviceContext_Impl,
17639            const OFFSET: isize,
17640        >(
17641            this: *mut core::ffi::c_void,
17642            pnumviewports: *mut u32,
17643            pviewports: *mut D3D11_VIEWPORT,
17644        ) {
17645            unsafe {
17646                let this: &Identity =
17647                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
17648                ID3D11DeviceContext_Impl::RSGetViewports(
17649                    this,
17650                    core::mem::transmute_copy(&pnumviewports),
17651                    core::mem::transmute_copy(&pviewports),
17652                )
17653            }
17654        }
17655        unsafe extern "system" fn RSGetScissorRects<
17656            Identity: ID3D11DeviceContext_Impl,
17657            const OFFSET: isize,
17658        >(
17659            this: *mut core::ffi::c_void,
17660            pnumrects: *mut u32,
17661            prects: *mut crate::Foundation::RECT,
17662        ) {
17663            unsafe {
17664                let this: &Identity =
17665                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
17666                ID3D11DeviceContext_Impl::RSGetScissorRects(
17667                    this,
17668                    core::mem::transmute_copy(&pnumrects),
17669                    core::mem::transmute_copy(&prects),
17670                )
17671            }
17672        }
17673        unsafe extern "system" fn HSGetShaderResources<
17674            Identity: ID3D11DeviceContext_Impl,
17675            const OFFSET: isize,
17676        >(
17677            this: *mut core::ffi::c_void,
17678            startslot: u32,
17679            numviews: u32,
17680            ppshaderresourceviews: *mut *mut core::ffi::c_void,
17681        ) {
17682            unsafe {
17683                let this: &Identity =
17684                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
17685                ID3D11DeviceContext_Impl::HSGetShaderResources(
17686                    this,
17687                    core::mem::transmute_copy(&startslot),
17688                    core::mem::transmute_copy(&numviews),
17689                    core::mem::transmute_copy(&ppshaderresourceviews),
17690                )
17691            }
17692        }
17693        unsafe extern "system" fn HSGetShader<
17694            Identity: ID3D11DeviceContext_Impl,
17695            const OFFSET: isize,
17696        >(
17697            this: *mut core::ffi::c_void,
17698            pphullshader: *mut *mut core::ffi::c_void,
17699            ppclassinstances: *mut *mut core::ffi::c_void,
17700            pnumclassinstances: *mut u32,
17701        ) {
17702            unsafe {
17703                let this: &Identity =
17704                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
17705                ID3D11DeviceContext_Impl::HSGetShader(
17706                    this,
17707                    core::mem::transmute_copy(&pphullshader),
17708                    core::mem::transmute_copy(&ppclassinstances),
17709                    core::mem::transmute_copy(&pnumclassinstances),
17710                )
17711            }
17712        }
17713        unsafe extern "system" fn HSGetSamplers<
17714            Identity: ID3D11DeviceContext_Impl,
17715            const OFFSET: isize,
17716        >(
17717            this: *mut core::ffi::c_void,
17718            startslot: u32,
17719            numsamplers: u32,
17720            ppsamplers: *mut *mut core::ffi::c_void,
17721        ) {
17722            unsafe {
17723                let this: &Identity =
17724                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
17725                ID3D11DeviceContext_Impl::HSGetSamplers(
17726                    this,
17727                    core::mem::transmute_copy(&startslot),
17728                    core::mem::transmute_copy(&numsamplers),
17729                    core::mem::transmute_copy(&ppsamplers),
17730                )
17731            }
17732        }
17733        unsafe extern "system" fn HSGetConstantBuffers<
17734            Identity: ID3D11DeviceContext_Impl,
17735            const OFFSET: isize,
17736        >(
17737            this: *mut core::ffi::c_void,
17738            startslot: u32,
17739            numbuffers: u32,
17740            ppconstantbuffers: *mut *mut core::ffi::c_void,
17741        ) {
17742            unsafe {
17743                let this: &Identity =
17744                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
17745                ID3D11DeviceContext_Impl::HSGetConstantBuffers(
17746                    this,
17747                    core::mem::transmute_copy(&startslot),
17748                    core::mem::transmute_copy(&numbuffers),
17749                    core::mem::transmute_copy(&ppconstantbuffers),
17750                )
17751            }
17752        }
17753        unsafe extern "system" fn DSGetShaderResources<
17754            Identity: ID3D11DeviceContext_Impl,
17755            const OFFSET: isize,
17756        >(
17757            this: *mut core::ffi::c_void,
17758            startslot: u32,
17759            numviews: u32,
17760            ppshaderresourceviews: *mut *mut core::ffi::c_void,
17761        ) {
17762            unsafe {
17763                let this: &Identity =
17764                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
17765                ID3D11DeviceContext_Impl::DSGetShaderResources(
17766                    this,
17767                    core::mem::transmute_copy(&startslot),
17768                    core::mem::transmute_copy(&numviews),
17769                    core::mem::transmute_copy(&ppshaderresourceviews),
17770                )
17771            }
17772        }
17773        unsafe extern "system" fn DSGetShader<
17774            Identity: ID3D11DeviceContext_Impl,
17775            const OFFSET: isize,
17776        >(
17777            this: *mut core::ffi::c_void,
17778            ppdomainshader: *mut *mut core::ffi::c_void,
17779            ppclassinstances: *mut *mut core::ffi::c_void,
17780            pnumclassinstances: *mut u32,
17781        ) {
17782            unsafe {
17783                let this: &Identity =
17784                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
17785                ID3D11DeviceContext_Impl::DSGetShader(
17786                    this,
17787                    core::mem::transmute_copy(&ppdomainshader),
17788                    core::mem::transmute_copy(&ppclassinstances),
17789                    core::mem::transmute_copy(&pnumclassinstances),
17790                )
17791            }
17792        }
17793        unsafe extern "system" fn DSGetSamplers<
17794            Identity: ID3D11DeviceContext_Impl,
17795            const OFFSET: isize,
17796        >(
17797            this: *mut core::ffi::c_void,
17798            startslot: u32,
17799            numsamplers: u32,
17800            ppsamplers: *mut *mut core::ffi::c_void,
17801        ) {
17802            unsafe {
17803                let this: &Identity =
17804                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
17805                ID3D11DeviceContext_Impl::DSGetSamplers(
17806                    this,
17807                    core::mem::transmute_copy(&startslot),
17808                    core::mem::transmute_copy(&numsamplers),
17809                    core::mem::transmute_copy(&ppsamplers),
17810                )
17811            }
17812        }
17813        unsafe extern "system" fn DSGetConstantBuffers<
17814            Identity: ID3D11DeviceContext_Impl,
17815            const OFFSET: isize,
17816        >(
17817            this: *mut core::ffi::c_void,
17818            startslot: u32,
17819            numbuffers: u32,
17820            ppconstantbuffers: *mut *mut core::ffi::c_void,
17821        ) {
17822            unsafe {
17823                let this: &Identity =
17824                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
17825                ID3D11DeviceContext_Impl::DSGetConstantBuffers(
17826                    this,
17827                    core::mem::transmute_copy(&startslot),
17828                    core::mem::transmute_copy(&numbuffers),
17829                    core::mem::transmute_copy(&ppconstantbuffers),
17830                )
17831            }
17832        }
17833        unsafe extern "system" fn CSGetShaderResources<
17834            Identity: ID3D11DeviceContext_Impl,
17835            const OFFSET: isize,
17836        >(
17837            this: *mut core::ffi::c_void,
17838            startslot: u32,
17839            numviews: u32,
17840            ppshaderresourceviews: *mut *mut core::ffi::c_void,
17841        ) {
17842            unsafe {
17843                let this: &Identity =
17844                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
17845                ID3D11DeviceContext_Impl::CSGetShaderResources(
17846                    this,
17847                    core::mem::transmute_copy(&startslot),
17848                    core::mem::transmute_copy(&numviews),
17849                    core::mem::transmute_copy(&ppshaderresourceviews),
17850                )
17851            }
17852        }
17853        unsafe extern "system" fn CSGetUnorderedAccessViews<
17854            Identity: ID3D11DeviceContext_Impl,
17855            const OFFSET: isize,
17856        >(
17857            this: *mut core::ffi::c_void,
17858            startslot: u32,
17859            numuavs: u32,
17860            ppunorderedaccessviews: *mut *mut core::ffi::c_void,
17861        ) {
17862            unsafe {
17863                let this: &Identity =
17864                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
17865                ID3D11DeviceContext_Impl::CSGetUnorderedAccessViews(
17866                    this,
17867                    core::mem::transmute_copy(&startslot),
17868                    core::mem::transmute_copy(&numuavs),
17869                    core::mem::transmute_copy(&ppunorderedaccessviews),
17870                )
17871            }
17872        }
17873        unsafe extern "system" fn CSGetShader<
17874            Identity: ID3D11DeviceContext_Impl,
17875            const OFFSET: isize,
17876        >(
17877            this: *mut core::ffi::c_void,
17878            ppcomputeshader: *mut *mut core::ffi::c_void,
17879            ppclassinstances: *mut *mut core::ffi::c_void,
17880            pnumclassinstances: *mut u32,
17881        ) {
17882            unsafe {
17883                let this: &Identity =
17884                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
17885                ID3D11DeviceContext_Impl::CSGetShader(
17886                    this,
17887                    core::mem::transmute_copy(&ppcomputeshader),
17888                    core::mem::transmute_copy(&ppclassinstances),
17889                    core::mem::transmute_copy(&pnumclassinstances),
17890                )
17891            }
17892        }
17893        unsafe extern "system" fn CSGetSamplers<
17894            Identity: ID3D11DeviceContext_Impl,
17895            const OFFSET: isize,
17896        >(
17897            this: *mut core::ffi::c_void,
17898            startslot: u32,
17899            numsamplers: u32,
17900            ppsamplers: *mut *mut core::ffi::c_void,
17901        ) {
17902            unsafe {
17903                let this: &Identity =
17904                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
17905                ID3D11DeviceContext_Impl::CSGetSamplers(
17906                    this,
17907                    core::mem::transmute_copy(&startslot),
17908                    core::mem::transmute_copy(&numsamplers),
17909                    core::mem::transmute_copy(&ppsamplers),
17910                )
17911            }
17912        }
17913        unsafe extern "system" fn CSGetConstantBuffers<
17914            Identity: ID3D11DeviceContext_Impl,
17915            const OFFSET: isize,
17916        >(
17917            this: *mut core::ffi::c_void,
17918            startslot: u32,
17919            numbuffers: u32,
17920            ppconstantbuffers: *mut *mut core::ffi::c_void,
17921        ) {
17922            unsafe {
17923                let this: &Identity =
17924                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
17925                ID3D11DeviceContext_Impl::CSGetConstantBuffers(
17926                    this,
17927                    core::mem::transmute_copy(&startslot),
17928                    core::mem::transmute_copy(&numbuffers),
17929                    core::mem::transmute_copy(&ppconstantbuffers),
17930                )
17931            }
17932        }
17933        unsafe extern "system" fn ClearState<
17934            Identity: ID3D11DeviceContext_Impl,
17935            const OFFSET: isize,
17936        >(
17937            this: *mut core::ffi::c_void,
17938        ) {
17939            unsafe {
17940                let this: &Identity =
17941                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
17942                ID3D11DeviceContext_Impl::ClearState(this)
17943            }
17944        }
17945        unsafe extern "system" fn Flush<Identity: ID3D11DeviceContext_Impl, const OFFSET: isize>(
17946            this: *mut core::ffi::c_void,
17947        ) {
17948            unsafe {
17949                let this: &Identity =
17950                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
17951                ID3D11DeviceContext_Impl::Flush(this)
17952            }
17953        }
17954        unsafe extern "system" fn GetType<
17955            Identity: ID3D11DeviceContext_Impl,
17956            const OFFSET: isize,
17957        >(
17958            this: *mut core::ffi::c_void,
17959        ) -> D3D11_DEVICE_CONTEXT_TYPE {
17960            unsafe {
17961                let this: &Identity =
17962                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
17963                ID3D11DeviceContext_Impl::GetType(this)
17964            }
17965        }
17966        unsafe extern "system" fn GetContextFlags<
17967            Identity: ID3D11DeviceContext_Impl,
17968            const OFFSET: isize,
17969        >(
17970            this: *mut core::ffi::c_void,
17971        ) -> u32 {
17972            unsafe {
17973                let this: &Identity =
17974                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
17975                ID3D11DeviceContext_Impl::GetContextFlags(this)
17976            }
17977        }
17978        unsafe extern "system" fn FinishCommandList<
17979            Identity: ID3D11DeviceContext_Impl,
17980            const OFFSET: isize,
17981        >(
17982            this: *mut core::ffi::c_void,
17983            restoredeferredcontextstate: crate::Foundation::BOOL,
17984            ppcommandlist: *mut *mut core::ffi::c_void,
17985        ) -> windows_core::HRESULT {
17986            unsafe {
17987                let this: &Identity =
17988                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
17989                ID3D11DeviceContext_Impl::FinishCommandList(
17990                    this,
17991                    core::mem::transmute_copy(&restoredeferredcontextstate),
17992                    core::mem::transmute_copy(&ppcommandlist),
17993                )
17994                .into()
17995            }
17996        }
17997        Self {
17998            base__: ID3D11DeviceChild_Vtbl::new::<Identity, OFFSET>(),
17999            VSSetConstantBuffers: VSSetConstantBuffers::<Identity, OFFSET>,
18000            PSSetShaderResources: PSSetShaderResources::<Identity, OFFSET>,
18001            PSSetShader: PSSetShader::<Identity, OFFSET>,
18002            PSSetSamplers: PSSetSamplers::<Identity, OFFSET>,
18003            VSSetShader: VSSetShader::<Identity, OFFSET>,
18004            DrawIndexed: DrawIndexed::<Identity, OFFSET>,
18005            Draw: Draw::<Identity, OFFSET>,
18006            Map: Map::<Identity, OFFSET>,
18007            Unmap: Unmap::<Identity, OFFSET>,
18008            PSSetConstantBuffers: PSSetConstantBuffers::<Identity, OFFSET>,
18009            IASetInputLayout: IASetInputLayout::<Identity, OFFSET>,
18010            IASetVertexBuffers: IASetVertexBuffers::<Identity, OFFSET>,
18011            IASetIndexBuffer: IASetIndexBuffer::<Identity, OFFSET>,
18012            DrawIndexedInstanced: DrawIndexedInstanced::<Identity, OFFSET>,
18013            DrawInstanced: DrawInstanced::<Identity, OFFSET>,
18014            GSSetConstantBuffers: GSSetConstantBuffers::<Identity, OFFSET>,
18015            GSSetShader: GSSetShader::<Identity, OFFSET>,
18016            IASetPrimitiveTopology: IASetPrimitiveTopology::<Identity, OFFSET>,
18017            VSSetShaderResources: VSSetShaderResources::<Identity, OFFSET>,
18018            VSSetSamplers: VSSetSamplers::<Identity, OFFSET>,
18019            Begin: Begin::<Identity, OFFSET>,
18020            End: End::<Identity, OFFSET>,
18021            GetData: GetData::<Identity, OFFSET>,
18022            SetPredication: SetPredication::<Identity, OFFSET>,
18023            GSSetShaderResources: GSSetShaderResources::<Identity, OFFSET>,
18024            GSSetSamplers: GSSetSamplers::<Identity, OFFSET>,
18025            OMSetRenderTargets: OMSetRenderTargets::<Identity, OFFSET>,
18026            OMSetRenderTargetsAndUnorderedAccessViews: OMSetRenderTargetsAndUnorderedAccessViews::<
18027                Identity,
18028                OFFSET,
18029            >,
18030            OMSetBlendState: OMSetBlendState::<Identity, OFFSET>,
18031            OMSetDepthStencilState: OMSetDepthStencilState::<Identity, OFFSET>,
18032            SOSetTargets: SOSetTargets::<Identity, OFFSET>,
18033            DrawAuto: DrawAuto::<Identity, OFFSET>,
18034            DrawIndexedInstancedIndirect: DrawIndexedInstancedIndirect::<Identity, OFFSET>,
18035            DrawInstancedIndirect: DrawInstancedIndirect::<Identity, OFFSET>,
18036            Dispatch: Dispatch::<Identity, OFFSET>,
18037            DispatchIndirect: DispatchIndirect::<Identity, OFFSET>,
18038            RSSetState: RSSetState::<Identity, OFFSET>,
18039            RSSetViewports: RSSetViewports::<Identity, OFFSET>,
18040            RSSetScissorRects: RSSetScissorRects::<Identity, OFFSET>,
18041            CopySubresourceRegion: CopySubresourceRegion::<Identity, OFFSET>,
18042            CopyResource: CopyResource::<Identity, OFFSET>,
18043            UpdateSubresource: UpdateSubresource::<Identity, OFFSET>,
18044            CopyStructureCount: CopyStructureCount::<Identity, OFFSET>,
18045            ClearRenderTargetView: ClearRenderTargetView::<Identity, OFFSET>,
18046            ClearUnorderedAccessViewUint: ClearUnorderedAccessViewUint::<Identity, OFFSET>,
18047            ClearUnorderedAccessViewFloat: ClearUnorderedAccessViewFloat::<Identity, OFFSET>,
18048            ClearDepthStencilView: ClearDepthStencilView::<Identity, OFFSET>,
18049            GenerateMips: GenerateMips::<Identity, OFFSET>,
18050            SetResourceMinLOD: SetResourceMinLOD::<Identity, OFFSET>,
18051            GetResourceMinLOD: GetResourceMinLOD::<Identity, OFFSET>,
18052            ResolveSubresource: ResolveSubresource::<Identity, OFFSET>,
18053            ExecuteCommandList: ExecuteCommandList::<Identity, OFFSET>,
18054            HSSetShaderResources: HSSetShaderResources::<Identity, OFFSET>,
18055            HSSetShader: HSSetShader::<Identity, OFFSET>,
18056            HSSetSamplers: HSSetSamplers::<Identity, OFFSET>,
18057            HSSetConstantBuffers: HSSetConstantBuffers::<Identity, OFFSET>,
18058            DSSetShaderResources: DSSetShaderResources::<Identity, OFFSET>,
18059            DSSetShader: DSSetShader::<Identity, OFFSET>,
18060            DSSetSamplers: DSSetSamplers::<Identity, OFFSET>,
18061            DSSetConstantBuffers: DSSetConstantBuffers::<Identity, OFFSET>,
18062            CSSetShaderResources: CSSetShaderResources::<Identity, OFFSET>,
18063            CSSetUnorderedAccessViews: CSSetUnorderedAccessViews::<Identity, OFFSET>,
18064            CSSetShader: CSSetShader::<Identity, OFFSET>,
18065            CSSetSamplers: CSSetSamplers::<Identity, OFFSET>,
18066            CSSetConstantBuffers: CSSetConstantBuffers::<Identity, OFFSET>,
18067            VSGetConstantBuffers: VSGetConstantBuffers::<Identity, OFFSET>,
18068            PSGetShaderResources: PSGetShaderResources::<Identity, OFFSET>,
18069            PSGetShader: PSGetShader::<Identity, OFFSET>,
18070            PSGetSamplers: PSGetSamplers::<Identity, OFFSET>,
18071            VSGetShader: VSGetShader::<Identity, OFFSET>,
18072            PSGetConstantBuffers: PSGetConstantBuffers::<Identity, OFFSET>,
18073            IAGetInputLayout: IAGetInputLayout::<Identity, OFFSET>,
18074            IAGetVertexBuffers: IAGetVertexBuffers::<Identity, OFFSET>,
18075            IAGetIndexBuffer: IAGetIndexBuffer::<Identity, OFFSET>,
18076            GSGetConstantBuffers: GSGetConstantBuffers::<Identity, OFFSET>,
18077            GSGetShader: GSGetShader::<Identity, OFFSET>,
18078            IAGetPrimitiveTopology: IAGetPrimitiveTopology::<Identity, OFFSET>,
18079            VSGetShaderResources: VSGetShaderResources::<Identity, OFFSET>,
18080            VSGetSamplers: VSGetSamplers::<Identity, OFFSET>,
18081            GetPredication: GetPredication::<Identity, OFFSET>,
18082            GSGetShaderResources: GSGetShaderResources::<Identity, OFFSET>,
18083            GSGetSamplers: GSGetSamplers::<Identity, OFFSET>,
18084            OMGetRenderTargets: OMGetRenderTargets::<Identity, OFFSET>,
18085            OMGetRenderTargetsAndUnorderedAccessViews: OMGetRenderTargetsAndUnorderedAccessViews::<
18086                Identity,
18087                OFFSET,
18088            >,
18089            OMGetBlendState: OMGetBlendState::<Identity, OFFSET>,
18090            OMGetDepthStencilState: OMGetDepthStencilState::<Identity, OFFSET>,
18091            SOGetTargets: SOGetTargets::<Identity, OFFSET>,
18092            RSGetState: RSGetState::<Identity, OFFSET>,
18093            RSGetViewports: RSGetViewports::<Identity, OFFSET>,
18094            RSGetScissorRects: RSGetScissorRects::<Identity, OFFSET>,
18095            HSGetShaderResources: HSGetShaderResources::<Identity, OFFSET>,
18096            HSGetShader: HSGetShader::<Identity, OFFSET>,
18097            HSGetSamplers: HSGetSamplers::<Identity, OFFSET>,
18098            HSGetConstantBuffers: HSGetConstantBuffers::<Identity, OFFSET>,
18099            DSGetShaderResources: DSGetShaderResources::<Identity, OFFSET>,
18100            DSGetShader: DSGetShader::<Identity, OFFSET>,
18101            DSGetSamplers: DSGetSamplers::<Identity, OFFSET>,
18102            DSGetConstantBuffers: DSGetConstantBuffers::<Identity, OFFSET>,
18103            CSGetShaderResources: CSGetShaderResources::<Identity, OFFSET>,
18104            CSGetUnorderedAccessViews: CSGetUnorderedAccessViews::<Identity, OFFSET>,
18105            CSGetShader: CSGetShader::<Identity, OFFSET>,
18106            CSGetSamplers: CSGetSamplers::<Identity, OFFSET>,
18107            CSGetConstantBuffers: CSGetConstantBuffers::<Identity, OFFSET>,
18108            ClearState: ClearState::<Identity, OFFSET>,
18109            Flush: Flush::<Identity, OFFSET>,
18110            GetType: GetType::<Identity, OFFSET>,
18111            GetContextFlags: GetContextFlags::<Identity, OFFSET>,
18112            FinishCommandList: FinishCommandList::<Identity, OFFSET>,
18113        }
18114    }
18115    pub fn matches(iid: &windows_core::GUID) -> bool {
18116        iid == &<ID3D11DeviceContext as windows_core::Interface>::IID
18117            || iid == &<ID3D11DeviceChild as windows_core::Interface>::IID
18118    }
18119}
18120#[cfg(all(
18121    feature = "Win32_Graphics_Direct3D",
18122    feature = "Win32_Graphics_Dxgi_Common"
18123))]
18124impl windows_core::RuntimeName for ID3D11DeviceContext {}
18125#[cfg(all(
18126    feature = "Win32_Graphics_Direct3D",
18127    feature = "Win32_Graphics_Dxgi_Common"
18128))]
18129unsafe impl Send for ID3D11DeviceContext {}
18130#[cfg(all(
18131    feature = "Win32_Graphics_Direct3D",
18132    feature = "Win32_Graphics_Dxgi_Common"
18133))]
18134unsafe impl Sync for ID3D11DeviceContext {}
18135windows_core::imp::define_interface!(
18136    ID3D11DeviceContext1,
18137    ID3D11DeviceContext1_Vtbl,
18138    0xbb2c6faa_b5fb_4082_8e6b_388b8cfa90e1
18139);
18140impl core::ops::Deref for ID3D11DeviceContext1 {
18141    type Target = ID3D11DeviceContext;
18142    fn deref(&self) -> &Self::Target {
18143        unsafe { core::mem::transmute(self) }
18144    }
18145}
18146windows_core::imp::interface_hierarchy!(
18147    ID3D11DeviceContext1,
18148    windows_core::IUnknown,
18149    ID3D11DeviceChild,
18150    ID3D11DeviceContext
18151);
18152impl ID3D11DeviceContext1 {
18153    pub unsafe fn CopySubresourceRegion1<P0, P5>(
18154        &self,
18155        pdstresource: P0,
18156        dstsubresource: u32,
18157        dstx: u32,
18158        dsty: u32,
18159        dstz: u32,
18160        psrcresource: P5,
18161        srcsubresource: u32,
18162        psrcbox: Option<*const D3D11_BOX>,
18163        copyflags: u32,
18164    ) where
18165        P0: windows_core::Param<ID3D11Resource>,
18166        P5: windows_core::Param<ID3D11Resource>,
18167    {
18168        unsafe {
18169            (windows_core::Interface::vtable(self).CopySubresourceRegion1)(
18170                windows_core::Interface::as_raw(self),
18171                pdstresource.param().abi(),
18172                dstsubresource,
18173                dstx,
18174                dsty,
18175                dstz,
18176                psrcresource.param().abi(),
18177                srcsubresource,
18178                core::mem::transmute(psrcbox.unwrap_or(core::mem::zeroed())),
18179                copyflags,
18180            )
18181        }
18182    }
18183    pub unsafe fn UpdateSubresource1<P0>(
18184        &self,
18185        pdstresource: P0,
18186        dstsubresource: u32,
18187        pdstbox: Option<*const D3D11_BOX>,
18188        psrcdata: *const core::ffi::c_void,
18189        srcrowpitch: u32,
18190        srcdepthpitch: u32,
18191        copyflags: u32,
18192    ) where
18193        P0: windows_core::Param<ID3D11Resource>,
18194    {
18195        unsafe {
18196            (windows_core::Interface::vtable(self).UpdateSubresource1)(
18197                windows_core::Interface::as_raw(self),
18198                pdstresource.param().abi(),
18199                dstsubresource,
18200                core::mem::transmute(pdstbox.unwrap_or(core::mem::zeroed())),
18201                psrcdata,
18202                srcrowpitch,
18203                srcdepthpitch,
18204                copyflags,
18205            )
18206        }
18207    }
18208    pub unsafe fn DiscardResource<P0>(&self, presource: P0)
18209    where
18210        P0: windows_core::Param<ID3D11Resource>,
18211    {
18212        unsafe {
18213            (windows_core::Interface::vtable(self).DiscardResource)(
18214                windows_core::Interface::as_raw(self),
18215                presource.param().abi(),
18216            )
18217        }
18218    }
18219    pub unsafe fn DiscardView<P0>(&self, presourceview: P0)
18220    where
18221        P0: windows_core::Param<ID3D11View>,
18222    {
18223        unsafe {
18224            (windows_core::Interface::vtable(self).DiscardView)(
18225                windows_core::Interface::as_raw(self),
18226                presourceview.param().abi(),
18227            )
18228        }
18229    }
18230    pub unsafe fn VSSetConstantBuffers1(
18231        &self,
18232        startslot: u32,
18233        numbuffers: u32,
18234        ppconstantbuffers: Option<*const Option<ID3D11Buffer>>,
18235        pfirstconstant: Option<*const u32>,
18236        pnumconstants: Option<*const u32>,
18237    ) {
18238        unsafe {
18239            (windows_core::Interface::vtable(self).VSSetConstantBuffers1)(
18240                windows_core::Interface::as_raw(self),
18241                startslot,
18242                numbuffers,
18243                core::mem::transmute(ppconstantbuffers.unwrap_or(core::mem::zeroed())),
18244                core::mem::transmute(pfirstconstant.unwrap_or(core::mem::zeroed())),
18245                core::mem::transmute(pnumconstants.unwrap_or(core::mem::zeroed())),
18246            )
18247        }
18248    }
18249    pub unsafe fn HSSetConstantBuffers1(
18250        &self,
18251        startslot: u32,
18252        numbuffers: u32,
18253        ppconstantbuffers: Option<*const Option<ID3D11Buffer>>,
18254        pfirstconstant: Option<*const u32>,
18255        pnumconstants: Option<*const u32>,
18256    ) {
18257        unsafe {
18258            (windows_core::Interface::vtable(self).HSSetConstantBuffers1)(
18259                windows_core::Interface::as_raw(self),
18260                startslot,
18261                numbuffers,
18262                core::mem::transmute(ppconstantbuffers.unwrap_or(core::mem::zeroed())),
18263                core::mem::transmute(pfirstconstant.unwrap_or(core::mem::zeroed())),
18264                core::mem::transmute(pnumconstants.unwrap_or(core::mem::zeroed())),
18265            )
18266        }
18267    }
18268    pub unsafe fn DSSetConstantBuffers1(
18269        &self,
18270        startslot: u32,
18271        numbuffers: u32,
18272        ppconstantbuffers: Option<*const Option<ID3D11Buffer>>,
18273        pfirstconstant: Option<*const u32>,
18274        pnumconstants: Option<*const u32>,
18275    ) {
18276        unsafe {
18277            (windows_core::Interface::vtable(self).DSSetConstantBuffers1)(
18278                windows_core::Interface::as_raw(self),
18279                startslot,
18280                numbuffers,
18281                core::mem::transmute(ppconstantbuffers.unwrap_or(core::mem::zeroed())),
18282                core::mem::transmute(pfirstconstant.unwrap_or(core::mem::zeroed())),
18283                core::mem::transmute(pnumconstants.unwrap_or(core::mem::zeroed())),
18284            )
18285        }
18286    }
18287    pub unsafe fn GSSetConstantBuffers1(
18288        &self,
18289        startslot: u32,
18290        numbuffers: u32,
18291        ppconstantbuffers: Option<*const Option<ID3D11Buffer>>,
18292        pfirstconstant: Option<*const u32>,
18293        pnumconstants: Option<*const u32>,
18294    ) {
18295        unsafe {
18296            (windows_core::Interface::vtable(self).GSSetConstantBuffers1)(
18297                windows_core::Interface::as_raw(self),
18298                startslot,
18299                numbuffers,
18300                core::mem::transmute(ppconstantbuffers.unwrap_or(core::mem::zeroed())),
18301                core::mem::transmute(pfirstconstant.unwrap_or(core::mem::zeroed())),
18302                core::mem::transmute(pnumconstants.unwrap_or(core::mem::zeroed())),
18303            )
18304        }
18305    }
18306    pub unsafe fn PSSetConstantBuffers1(
18307        &self,
18308        startslot: u32,
18309        numbuffers: u32,
18310        ppconstantbuffers: Option<*const Option<ID3D11Buffer>>,
18311        pfirstconstant: Option<*const u32>,
18312        pnumconstants: Option<*const u32>,
18313    ) {
18314        unsafe {
18315            (windows_core::Interface::vtable(self).PSSetConstantBuffers1)(
18316                windows_core::Interface::as_raw(self),
18317                startslot,
18318                numbuffers,
18319                core::mem::transmute(ppconstantbuffers.unwrap_or(core::mem::zeroed())),
18320                core::mem::transmute(pfirstconstant.unwrap_or(core::mem::zeroed())),
18321                core::mem::transmute(pnumconstants.unwrap_or(core::mem::zeroed())),
18322            )
18323        }
18324    }
18325    pub unsafe fn CSSetConstantBuffers1(
18326        &self,
18327        startslot: u32,
18328        numbuffers: u32,
18329        ppconstantbuffers: Option<*const Option<ID3D11Buffer>>,
18330        pfirstconstant: Option<*const u32>,
18331        pnumconstants: Option<*const u32>,
18332    ) {
18333        unsafe {
18334            (windows_core::Interface::vtable(self).CSSetConstantBuffers1)(
18335                windows_core::Interface::as_raw(self),
18336                startslot,
18337                numbuffers,
18338                core::mem::transmute(ppconstantbuffers.unwrap_or(core::mem::zeroed())),
18339                core::mem::transmute(pfirstconstant.unwrap_or(core::mem::zeroed())),
18340                core::mem::transmute(pnumconstants.unwrap_or(core::mem::zeroed())),
18341            )
18342        }
18343    }
18344    pub unsafe fn VSGetConstantBuffers1(
18345        &self,
18346        startslot: u32,
18347        numbuffers: u32,
18348        ppconstantbuffers: Option<*mut Option<ID3D11Buffer>>,
18349        pfirstconstant: Option<*mut u32>,
18350        pnumconstants: Option<*mut u32>,
18351    ) {
18352        unsafe {
18353            (windows_core::Interface::vtable(self).VSGetConstantBuffers1)(
18354                windows_core::Interface::as_raw(self),
18355                startslot,
18356                numbuffers,
18357                core::mem::transmute(ppconstantbuffers.unwrap_or(core::mem::zeroed())),
18358                core::mem::transmute(pfirstconstant.unwrap_or(core::mem::zeroed())),
18359                core::mem::transmute(pnumconstants.unwrap_or(core::mem::zeroed())),
18360            )
18361        }
18362    }
18363    pub unsafe fn HSGetConstantBuffers1(
18364        &self,
18365        startslot: u32,
18366        numbuffers: u32,
18367        ppconstantbuffers: Option<*mut Option<ID3D11Buffer>>,
18368        pfirstconstant: Option<*mut u32>,
18369        pnumconstants: Option<*mut u32>,
18370    ) {
18371        unsafe {
18372            (windows_core::Interface::vtable(self).HSGetConstantBuffers1)(
18373                windows_core::Interface::as_raw(self),
18374                startslot,
18375                numbuffers,
18376                core::mem::transmute(ppconstantbuffers.unwrap_or(core::mem::zeroed())),
18377                core::mem::transmute(pfirstconstant.unwrap_or(core::mem::zeroed())),
18378                core::mem::transmute(pnumconstants.unwrap_or(core::mem::zeroed())),
18379            )
18380        }
18381    }
18382    pub unsafe fn DSGetConstantBuffers1(
18383        &self,
18384        startslot: u32,
18385        numbuffers: u32,
18386        ppconstantbuffers: Option<*mut Option<ID3D11Buffer>>,
18387        pfirstconstant: Option<*mut u32>,
18388        pnumconstants: Option<*mut u32>,
18389    ) {
18390        unsafe {
18391            (windows_core::Interface::vtable(self).DSGetConstantBuffers1)(
18392                windows_core::Interface::as_raw(self),
18393                startslot,
18394                numbuffers,
18395                core::mem::transmute(ppconstantbuffers.unwrap_or(core::mem::zeroed())),
18396                core::mem::transmute(pfirstconstant.unwrap_or(core::mem::zeroed())),
18397                core::mem::transmute(pnumconstants.unwrap_or(core::mem::zeroed())),
18398            )
18399        }
18400    }
18401    pub unsafe fn GSGetConstantBuffers1(
18402        &self,
18403        startslot: u32,
18404        numbuffers: u32,
18405        ppconstantbuffers: Option<*mut Option<ID3D11Buffer>>,
18406        pfirstconstant: Option<*mut u32>,
18407        pnumconstants: Option<*mut u32>,
18408    ) {
18409        unsafe {
18410            (windows_core::Interface::vtable(self).GSGetConstantBuffers1)(
18411                windows_core::Interface::as_raw(self),
18412                startslot,
18413                numbuffers,
18414                core::mem::transmute(ppconstantbuffers.unwrap_or(core::mem::zeroed())),
18415                core::mem::transmute(pfirstconstant.unwrap_or(core::mem::zeroed())),
18416                core::mem::transmute(pnumconstants.unwrap_or(core::mem::zeroed())),
18417            )
18418        }
18419    }
18420    pub unsafe fn PSGetConstantBuffers1(
18421        &self,
18422        startslot: u32,
18423        numbuffers: u32,
18424        ppconstantbuffers: Option<*mut Option<ID3D11Buffer>>,
18425        pfirstconstant: Option<*mut u32>,
18426        pnumconstants: Option<*mut u32>,
18427    ) {
18428        unsafe {
18429            (windows_core::Interface::vtable(self).PSGetConstantBuffers1)(
18430                windows_core::Interface::as_raw(self),
18431                startslot,
18432                numbuffers,
18433                core::mem::transmute(ppconstantbuffers.unwrap_or(core::mem::zeroed())),
18434                core::mem::transmute(pfirstconstant.unwrap_or(core::mem::zeroed())),
18435                core::mem::transmute(pnumconstants.unwrap_or(core::mem::zeroed())),
18436            )
18437        }
18438    }
18439    pub unsafe fn CSGetConstantBuffers1(
18440        &self,
18441        startslot: u32,
18442        numbuffers: u32,
18443        ppconstantbuffers: Option<*mut Option<ID3D11Buffer>>,
18444        pfirstconstant: Option<*mut u32>,
18445        pnumconstants: Option<*mut u32>,
18446    ) {
18447        unsafe {
18448            (windows_core::Interface::vtable(self).CSGetConstantBuffers1)(
18449                windows_core::Interface::as_raw(self),
18450                startslot,
18451                numbuffers,
18452                core::mem::transmute(ppconstantbuffers.unwrap_or(core::mem::zeroed())),
18453                core::mem::transmute(pfirstconstant.unwrap_or(core::mem::zeroed())),
18454                core::mem::transmute(pnumconstants.unwrap_or(core::mem::zeroed())),
18455            )
18456        }
18457    }
18458    pub unsafe fn SwapDeviceContextState<P0>(
18459        &self,
18460        pstate: P0,
18461        pppreviousstate: Option<*mut Option<ID3DDeviceContextState>>,
18462    ) where
18463        P0: windows_core::Param<ID3DDeviceContextState>,
18464    {
18465        unsafe {
18466            (windows_core::Interface::vtable(self).SwapDeviceContextState)(
18467                windows_core::Interface::as_raw(self),
18468                pstate.param().abi(),
18469                core::mem::transmute(pppreviousstate.unwrap_or(core::mem::zeroed())),
18470            )
18471        }
18472    }
18473    pub unsafe fn ClearView<P0>(
18474        &self,
18475        pview: P0,
18476        color: &[f32; 4],
18477        prect: Option<&[crate::Foundation::RECT]>,
18478    ) where
18479        P0: windows_core::Param<ID3D11View>,
18480    {
18481        unsafe {
18482            (windows_core::Interface::vtable(self).ClearView)(
18483                windows_core::Interface::as_raw(self),
18484                pview.param().abi(),
18485                core::mem::transmute(color.as_ptr()),
18486                core::mem::transmute(
18487                    prect
18488                        .map_or(core::ptr::null(), |slice| slice.as_ptr()),
18489                ),
18490                prect
18491                    .map_or(0, |slice| slice.len().try_into().unwrap()),
18492            )
18493        }
18494    }
18495    pub unsafe fn DiscardView1<P0>(
18496        &self,
18497        presourceview: P0,
18498        prects: Option<&[crate::Foundation::RECT]>,
18499    ) where
18500        P0: windows_core::Param<ID3D11View>,
18501    {
18502        unsafe {
18503            (windows_core::Interface::vtable(self).DiscardView1)(
18504                windows_core::Interface::as_raw(self),
18505                presourceview.param().abi(),
18506                core::mem::transmute(
18507                    prects
18508                        .map_or(core::ptr::null(), |slice| slice.as_ptr()),
18509                ),
18510                prects
18511                    .map_or(0, |slice| slice.len().try_into().unwrap()),
18512            )
18513        }
18514    }
18515}
18516#[repr(C)]
18517pub struct ID3D11DeviceContext1_Vtbl {
18518    pub base__: ID3D11DeviceContext_Vtbl,
18519    pub CopySubresourceRegion1: unsafe extern "system" fn(
18520        *mut core::ffi::c_void,
18521        *mut core::ffi::c_void,
18522        u32,
18523        u32,
18524        u32,
18525        u32,
18526        *mut core::ffi::c_void,
18527        u32,
18528        *const D3D11_BOX,
18529        u32,
18530    ),
18531    pub UpdateSubresource1: unsafe extern "system" fn(
18532        *mut core::ffi::c_void,
18533        *mut core::ffi::c_void,
18534        u32,
18535        *const D3D11_BOX,
18536        *const core::ffi::c_void,
18537        u32,
18538        u32,
18539        u32,
18540    ),
18541    pub DiscardResource: unsafe extern "system" fn(*mut core::ffi::c_void, *mut core::ffi::c_void),
18542    pub DiscardView: unsafe extern "system" fn(*mut core::ffi::c_void, *mut core::ffi::c_void),
18543    pub VSSetConstantBuffers1: unsafe extern "system" fn(
18544        *mut core::ffi::c_void,
18545        u32,
18546        u32,
18547        *const *mut core::ffi::c_void,
18548        *const u32,
18549        *const u32,
18550    ),
18551    pub HSSetConstantBuffers1: unsafe extern "system" fn(
18552        *mut core::ffi::c_void,
18553        u32,
18554        u32,
18555        *const *mut core::ffi::c_void,
18556        *const u32,
18557        *const u32,
18558    ),
18559    pub DSSetConstantBuffers1: unsafe extern "system" fn(
18560        *mut core::ffi::c_void,
18561        u32,
18562        u32,
18563        *const *mut core::ffi::c_void,
18564        *const u32,
18565        *const u32,
18566    ),
18567    pub GSSetConstantBuffers1: unsafe extern "system" fn(
18568        *mut core::ffi::c_void,
18569        u32,
18570        u32,
18571        *const *mut core::ffi::c_void,
18572        *const u32,
18573        *const u32,
18574    ),
18575    pub PSSetConstantBuffers1: unsafe extern "system" fn(
18576        *mut core::ffi::c_void,
18577        u32,
18578        u32,
18579        *const *mut core::ffi::c_void,
18580        *const u32,
18581        *const u32,
18582    ),
18583    pub CSSetConstantBuffers1: unsafe extern "system" fn(
18584        *mut core::ffi::c_void,
18585        u32,
18586        u32,
18587        *const *mut core::ffi::c_void,
18588        *const u32,
18589        *const u32,
18590    ),
18591    pub VSGetConstantBuffers1: unsafe extern "system" fn(
18592        *mut core::ffi::c_void,
18593        u32,
18594        u32,
18595        *mut *mut core::ffi::c_void,
18596        *mut u32,
18597        *mut u32,
18598    ),
18599    pub HSGetConstantBuffers1: unsafe extern "system" fn(
18600        *mut core::ffi::c_void,
18601        u32,
18602        u32,
18603        *mut *mut core::ffi::c_void,
18604        *mut u32,
18605        *mut u32,
18606    ),
18607    pub DSGetConstantBuffers1: unsafe extern "system" fn(
18608        *mut core::ffi::c_void,
18609        u32,
18610        u32,
18611        *mut *mut core::ffi::c_void,
18612        *mut u32,
18613        *mut u32,
18614    ),
18615    pub GSGetConstantBuffers1: unsafe extern "system" fn(
18616        *mut core::ffi::c_void,
18617        u32,
18618        u32,
18619        *mut *mut core::ffi::c_void,
18620        *mut u32,
18621        *mut u32,
18622    ),
18623    pub PSGetConstantBuffers1: unsafe extern "system" fn(
18624        *mut core::ffi::c_void,
18625        u32,
18626        u32,
18627        *mut *mut core::ffi::c_void,
18628        *mut u32,
18629        *mut u32,
18630    ),
18631    pub CSGetConstantBuffers1: unsafe extern "system" fn(
18632        *mut core::ffi::c_void,
18633        u32,
18634        u32,
18635        *mut *mut core::ffi::c_void,
18636        *mut u32,
18637        *mut u32,
18638    ),
18639    pub SwapDeviceContextState: unsafe extern "system" fn(
18640        *mut core::ffi::c_void,
18641        *mut core::ffi::c_void,
18642        *mut *mut core::ffi::c_void,
18643    ),
18644    pub ClearView: unsafe extern "system" fn(
18645        *mut core::ffi::c_void,
18646        *mut core::ffi::c_void,
18647        *const f32,
18648        *const crate::Foundation::RECT,
18649        u32,
18650    ),
18651    pub DiscardView1: unsafe extern "system" fn(
18652        *mut core::ffi::c_void,
18653        *mut core::ffi::c_void,
18654        *const crate::Foundation::RECT,
18655        u32,
18656    ),
18657}
18658#[cfg(all(
18659    feature = "Win32_Graphics_Direct3D",
18660    feature = "Win32_Graphics_Dxgi_Common"
18661))]
18662pub trait ID3D11DeviceContext1_Impl: ID3D11DeviceContext_Impl {
18663    fn CopySubresourceRegion1(
18664        &self,
18665        pdstresource: windows_core::Ref<'_, ID3D11Resource>,
18666        dstsubresource: u32,
18667        dstx: u32,
18668        dsty: u32,
18669        dstz: u32,
18670        psrcresource: windows_core::Ref<'_, ID3D11Resource>,
18671        srcsubresource: u32,
18672        psrcbox: *const D3D11_BOX,
18673        copyflags: u32,
18674    );
18675    fn UpdateSubresource1(
18676        &self,
18677        pdstresource: windows_core::Ref<'_, ID3D11Resource>,
18678        dstsubresource: u32,
18679        pdstbox: *const D3D11_BOX,
18680        psrcdata: *const core::ffi::c_void,
18681        srcrowpitch: u32,
18682        srcdepthpitch: u32,
18683        copyflags: u32,
18684    );
18685    fn DiscardResource(&self, presource: windows_core::Ref<'_, ID3D11Resource>);
18686    fn DiscardView(&self, presourceview: windows_core::Ref<'_, ID3D11View>);
18687    fn VSSetConstantBuffers1(
18688        &self,
18689        startslot: u32,
18690        numbuffers: u32,
18691        ppconstantbuffers: *const Option<ID3D11Buffer>,
18692        pfirstconstant: *const u32,
18693        pnumconstants: *const u32,
18694    );
18695    fn HSSetConstantBuffers1(
18696        &self,
18697        startslot: u32,
18698        numbuffers: u32,
18699        ppconstantbuffers: *const Option<ID3D11Buffer>,
18700        pfirstconstant: *const u32,
18701        pnumconstants: *const u32,
18702    );
18703    fn DSSetConstantBuffers1(
18704        &self,
18705        startslot: u32,
18706        numbuffers: u32,
18707        ppconstantbuffers: *const Option<ID3D11Buffer>,
18708        pfirstconstant: *const u32,
18709        pnumconstants: *const u32,
18710    );
18711    fn GSSetConstantBuffers1(
18712        &self,
18713        startslot: u32,
18714        numbuffers: u32,
18715        ppconstantbuffers: *const Option<ID3D11Buffer>,
18716        pfirstconstant: *const u32,
18717        pnumconstants: *const u32,
18718    );
18719    fn PSSetConstantBuffers1(
18720        &self,
18721        startslot: u32,
18722        numbuffers: u32,
18723        ppconstantbuffers: *const Option<ID3D11Buffer>,
18724        pfirstconstant: *const u32,
18725        pnumconstants: *const u32,
18726    );
18727    fn CSSetConstantBuffers1(
18728        &self,
18729        startslot: u32,
18730        numbuffers: u32,
18731        ppconstantbuffers: *const Option<ID3D11Buffer>,
18732        pfirstconstant: *const u32,
18733        pnumconstants: *const u32,
18734    );
18735    fn VSGetConstantBuffers1(
18736        &self,
18737        startslot: u32,
18738        numbuffers: u32,
18739        ppconstantbuffers: windows_core::OutRef<'_, ID3D11Buffer>,
18740        pfirstconstant: *mut u32,
18741        pnumconstants: *mut u32,
18742    );
18743    fn HSGetConstantBuffers1(
18744        &self,
18745        startslot: u32,
18746        numbuffers: u32,
18747        ppconstantbuffers: windows_core::OutRef<'_, ID3D11Buffer>,
18748        pfirstconstant: *mut u32,
18749        pnumconstants: *mut u32,
18750    );
18751    fn DSGetConstantBuffers1(
18752        &self,
18753        startslot: u32,
18754        numbuffers: u32,
18755        ppconstantbuffers: windows_core::OutRef<'_, ID3D11Buffer>,
18756        pfirstconstant: *mut u32,
18757        pnumconstants: *mut u32,
18758    );
18759    fn GSGetConstantBuffers1(
18760        &self,
18761        startslot: u32,
18762        numbuffers: u32,
18763        ppconstantbuffers: windows_core::OutRef<'_, ID3D11Buffer>,
18764        pfirstconstant: *mut u32,
18765        pnumconstants: *mut u32,
18766    );
18767    fn PSGetConstantBuffers1(
18768        &self,
18769        startslot: u32,
18770        numbuffers: u32,
18771        ppconstantbuffers: windows_core::OutRef<'_, ID3D11Buffer>,
18772        pfirstconstant: *mut u32,
18773        pnumconstants: *mut u32,
18774    );
18775    fn CSGetConstantBuffers1(
18776        &self,
18777        startslot: u32,
18778        numbuffers: u32,
18779        ppconstantbuffers: windows_core::OutRef<'_, ID3D11Buffer>,
18780        pfirstconstant: *mut u32,
18781        pnumconstants: *mut u32,
18782    );
18783    fn SwapDeviceContextState(
18784        &self,
18785        pstate: windows_core::Ref<'_, ID3DDeviceContextState>,
18786        pppreviousstate: windows_core::OutRef<'_, ID3DDeviceContextState>,
18787    );
18788    fn ClearView(
18789        &self,
18790        pview: windows_core::Ref<'_, ID3D11View>,
18791        color: *const f32,
18792        prect: *const crate::Foundation::RECT,
18793        numrects: u32,
18794    );
18795    fn DiscardView1(
18796        &self,
18797        presourceview: windows_core::Ref<'_, ID3D11View>,
18798        prects: *const crate::Foundation::RECT,
18799        numrects: u32,
18800    );
18801}
18802#[cfg(all(
18803    feature = "Win32_Graphics_Direct3D",
18804    feature = "Win32_Graphics_Dxgi_Common"
18805))]
18806impl ID3D11DeviceContext1_Vtbl {
18807    pub const fn new<Identity: ID3D11DeviceContext1_Impl, const OFFSET: isize>() -> Self {
18808        unsafe extern "system" fn CopySubresourceRegion1<
18809            Identity: ID3D11DeviceContext1_Impl,
18810            const OFFSET: isize,
18811        >(
18812            this: *mut core::ffi::c_void,
18813            pdstresource: *mut core::ffi::c_void,
18814            dstsubresource: u32,
18815            dstx: u32,
18816            dsty: u32,
18817            dstz: u32,
18818            psrcresource: *mut core::ffi::c_void,
18819            srcsubresource: u32,
18820            psrcbox: *const D3D11_BOX,
18821            copyflags: u32,
18822        ) {
18823            unsafe {
18824                let this: &Identity =
18825                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
18826                ID3D11DeviceContext1_Impl::CopySubresourceRegion1(
18827                    this,
18828                    core::mem::transmute_copy(&pdstresource),
18829                    core::mem::transmute_copy(&dstsubresource),
18830                    core::mem::transmute_copy(&dstx),
18831                    core::mem::transmute_copy(&dsty),
18832                    core::mem::transmute_copy(&dstz),
18833                    core::mem::transmute_copy(&psrcresource),
18834                    core::mem::transmute_copy(&srcsubresource),
18835                    core::mem::transmute_copy(&psrcbox),
18836                    core::mem::transmute_copy(&copyflags),
18837                )
18838            }
18839        }
18840        unsafe extern "system" fn UpdateSubresource1<
18841            Identity: ID3D11DeviceContext1_Impl,
18842            const OFFSET: isize,
18843        >(
18844            this: *mut core::ffi::c_void,
18845            pdstresource: *mut core::ffi::c_void,
18846            dstsubresource: u32,
18847            pdstbox: *const D3D11_BOX,
18848            psrcdata: *const core::ffi::c_void,
18849            srcrowpitch: u32,
18850            srcdepthpitch: u32,
18851            copyflags: u32,
18852        ) {
18853            unsafe {
18854                let this: &Identity =
18855                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
18856                ID3D11DeviceContext1_Impl::UpdateSubresource1(
18857                    this,
18858                    core::mem::transmute_copy(&pdstresource),
18859                    core::mem::transmute_copy(&dstsubresource),
18860                    core::mem::transmute_copy(&pdstbox),
18861                    core::mem::transmute_copy(&psrcdata),
18862                    core::mem::transmute_copy(&srcrowpitch),
18863                    core::mem::transmute_copy(&srcdepthpitch),
18864                    core::mem::transmute_copy(&copyflags),
18865                )
18866            }
18867        }
18868        unsafe extern "system" fn DiscardResource<
18869            Identity: ID3D11DeviceContext1_Impl,
18870            const OFFSET: isize,
18871        >(
18872            this: *mut core::ffi::c_void,
18873            presource: *mut core::ffi::c_void,
18874        ) {
18875            unsafe {
18876                let this: &Identity =
18877                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
18878                ID3D11DeviceContext1_Impl::DiscardResource(
18879                    this,
18880                    core::mem::transmute_copy(&presource),
18881                )
18882            }
18883        }
18884        unsafe extern "system" fn DiscardView<
18885            Identity: ID3D11DeviceContext1_Impl,
18886            const OFFSET: isize,
18887        >(
18888            this: *mut core::ffi::c_void,
18889            presourceview: *mut core::ffi::c_void,
18890        ) {
18891            unsafe {
18892                let this: &Identity =
18893                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
18894                ID3D11DeviceContext1_Impl::DiscardView(
18895                    this,
18896                    core::mem::transmute_copy(&presourceview),
18897                )
18898            }
18899        }
18900        unsafe extern "system" fn VSSetConstantBuffers1<
18901            Identity: ID3D11DeviceContext1_Impl,
18902            const OFFSET: isize,
18903        >(
18904            this: *mut core::ffi::c_void,
18905            startslot: u32,
18906            numbuffers: u32,
18907            ppconstantbuffers: *const *mut core::ffi::c_void,
18908            pfirstconstant: *const u32,
18909            pnumconstants: *const u32,
18910        ) {
18911            unsafe {
18912                let this: &Identity =
18913                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
18914                ID3D11DeviceContext1_Impl::VSSetConstantBuffers1(
18915                    this,
18916                    core::mem::transmute_copy(&startslot),
18917                    core::mem::transmute_copy(&numbuffers),
18918                    core::mem::transmute_copy(&ppconstantbuffers),
18919                    core::mem::transmute_copy(&pfirstconstant),
18920                    core::mem::transmute_copy(&pnumconstants),
18921                )
18922            }
18923        }
18924        unsafe extern "system" fn HSSetConstantBuffers1<
18925            Identity: ID3D11DeviceContext1_Impl,
18926            const OFFSET: isize,
18927        >(
18928            this: *mut core::ffi::c_void,
18929            startslot: u32,
18930            numbuffers: u32,
18931            ppconstantbuffers: *const *mut core::ffi::c_void,
18932            pfirstconstant: *const u32,
18933            pnumconstants: *const u32,
18934        ) {
18935            unsafe {
18936                let this: &Identity =
18937                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
18938                ID3D11DeviceContext1_Impl::HSSetConstantBuffers1(
18939                    this,
18940                    core::mem::transmute_copy(&startslot),
18941                    core::mem::transmute_copy(&numbuffers),
18942                    core::mem::transmute_copy(&ppconstantbuffers),
18943                    core::mem::transmute_copy(&pfirstconstant),
18944                    core::mem::transmute_copy(&pnumconstants),
18945                )
18946            }
18947        }
18948        unsafe extern "system" fn DSSetConstantBuffers1<
18949            Identity: ID3D11DeviceContext1_Impl,
18950            const OFFSET: isize,
18951        >(
18952            this: *mut core::ffi::c_void,
18953            startslot: u32,
18954            numbuffers: u32,
18955            ppconstantbuffers: *const *mut core::ffi::c_void,
18956            pfirstconstant: *const u32,
18957            pnumconstants: *const u32,
18958        ) {
18959            unsafe {
18960                let this: &Identity =
18961                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
18962                ID3D11DeviceContext1_Impl::DSSetConstantBuffers1(
18963                    this,
18964                    core::mem::transmute_copy(&startslot),
18965                    core::mem::transmute_copy(&numbuffers),
18966                    core::mem::transmute_copy(&ppconstantbuffers),
18967                    core::mem::transmute_copy(&pfirstconstant),
18968                    core::mem::transmute_copy(&pnumconstants),
18969                )
18970            }
18971        }
18972        unsafe extern "system" fn GSSetConstantBuffers1<
18973            Identity: ID3D11DeviceContext1_Impl,
18974            const OFFSET: isize,
18975        >(
18976            this: *mut core::ffi::c_void,
18977            startslot: u32,
18978            numbuffers: u32,
18979            ppconstantbuffers: *const *mut core::ffi::c_void,
18980            pfirstconstant: *const u32,
18981            pnumconstants: *const u32,
18982        ) {
18983            unsafe {
18984                let this: &Identity =
18985                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
18986                ID3D11DeviceContext1_Impl::GSSetConstantBuffers1(
18987                    this,
18988                    core::mem::transmute_copy(&startslot),
18989                    core::mem::transmute_copy(&numbuffers),
18990                    core::mem::transmute_copy(&ppconstantbuffers),
18991                    core::mem::transmute_copy(&pfirstconstant),
18992                    core::mem::transmute_copy(&pnumconstants),
18993                )
18994            }
18995        }
18996        unsafe extern "system" fn PSSetConstantBuffers1<
18997            Identity: ID3D11DeviceContext1_Impl,
18998            const OFFSET: isize,
18999        >(
19000            this: *mut core::ffi::c_void,
19001            startslot: u32,
19002            numbuffers: u32,
19003            ppconstantbuffers: *const *mut core::ffi::c_void,
19004            pfirstconstant: *const u32,
19005            pnumconstants: *const u32,
19006        ) {
19007            unsafe {
19008                let this: &Identity =
19009                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
19010                ID3D11DeviceContext1_Impl::PSSetConstantBuffers1(
19011                    this,
19012                    core::mem::transmute_copy(&startslot),
19013                    core::mem::transmute_copy(&numbuffers),
19014                    core::mem::transmute_copy(&ppconstantbuffers),
19015                    core::mem::transmute_copy(&pfirstconstant),
19016                    core::mem::transmute_copy(&pnumconstants),
19017                )
19018            }
19019        }
19020        unsafe extern "system" fn CSSetConstantBuffers1<
19021            Identity: ID3D11DeviceContext1_Impl,
19022            const OFFSET: isize,
19023        >(
19024            this: *mut core::ffi::c_void,
19025            startslot: u32,
19026            numbuffers: u32,
19027            ppconstantbuffers: *const *mut core::ffi::c_void,
19028            pfirstconstant: *const u32,
19029            pnumconstants: *const u32,
19030        ) {
19031            unsafe {
19032                let this: &Identity =
19033                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
19034                ID3D11DeviceContext1_Impl::CSSetConstantBuffers1(
19035                    this,
19036                    core::mem::transmute_copy(&startslot),
19037                    core::mem::transmute_copy(&numbuffers),
19038                    core::mem::transmute_copy(&ppconstantbuffers),
19039                    core::mem::transmute_copy(&pfirstconstant),
19040                    core::mem::transmute_copy(&pnumconstants),
19041                )
19042            }
19043        }
19044        unsafe extern "system" fn VSGetConstantBuffers1<
19045            Identity: ID3D11DeviceContext1_Impl,
19046            const OFFSET: isize,
19047        >(
19048            this: *mut core::ffi::c_void,
19049            startslot: u32,
19050            numbuffers: u32,
19051            ppconstantbuffers: *mut *mut core::ffi::c_void,
19052            pfirstconstant: *mut u32,
19053            pnumconstants: *mut u32,
19054        ) {
19055            unsafe {
19056                let this: &Identity =
19057                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
19058                ID3D11DeviceContext1_Impl::VSGetConstantBuffers1(
19059                    this,
19060                    core::mem::transmute_copy(&startslot),
19061                    core::mem::transmute_copy(&numbuffers),
19062                    core::mem::transmute_copy(&ppconstantbuffers),
19063                    core::mem::transmute_copy(&pfirstconstant),
19064                    core::mem::transmute_copy(&pnumconstants),
19065                )
19066            }
19067        }
19068        unsafe extern "system" fn HSGetConstantBuffers1<
19069            Identity: ID3D11DeviceContext1_Impl,
19070            const OFFSET: isize,
19071        >(
19072            this: *mut core::ffi::c_void,
19073            startslot: u32,
19074            numbuffers: u32,
19075            ppconstantbuffers: *mut *mut core::ffi::c_void,
19076            pfirstconstant: *mut u32,
19077            pnumconstants: *mut u32,
19078        ) {
19079            unsafe {
19080                let this: &Identity =
19081                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
19082                ID3D11DeviceContext1_Impl::HSGetConstantBuffers1(
19083                    this,
19084                    core::mem::transmute_copy(&startslot),
19085                    core::mem::transmute_copy(&numbuffers),
19086                    core::mem::transmute_copy(&ppconstantbuffers),
19087                    core::mem::transmute_copy(&pfirstconstant),
19088                    core::mem::transmute_copy(&pnumconstants),
19089                )
19090            }
19091        }
19092        unsafe extern "system" fn DSGetConstantBuffers1<
19093            Identity: ID3D11DeviceContext1_Impl,
19094            const OFFSET: isize,
19095        >(
19096            this: *mut core::ffi::c_void,
19097            startslot: u32,
19098            numbuffers: u32,
19099            ppconstantbuffers: *mut *mut core::ffi::c_void,
19100            pfirstconstant: *mut u32,
19101            pnumconstants: *mut u32,
19102        ) {
19103            unsafe {
19104                let this: &Identity =
19105                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
19106                ID3D11DeviceContext1_Impl::DSGetConstantBuffers1(
19107                    this,
19108                    core::mem::transmute_copy(&startslot),
19109                    core::mem::transmute_copy(&numbuffers),
19110                    core::mem::transmute_copy(&ppconstantbuffers),
19111                    core::mem::transmute_copy(&pfirstconstant),
19112                    core::mem::transmute_copy(&pnumconstants),
19113                )
19114            }
19115        }
19116        unsafe extern "system" fn GSGetConstantBuffers1<
19117            Identity: ID3D11DeviceContext1_Impl,
19118            const OFFSET: isize,
19119        >(
19120            this: *mut core::ffi::c_void,
19121            startslot: u32,
19122            numbuffers: u32,
19123            ppconstantbuffers: *mut *mut core::ffi::c_void,
19124            pfirstconstant: *mut u32,
19125            pnumconstants: *mut u32,
19126        ) {
19127            unsafe {
19128                let this: &Identity =
19129                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
19130                ID3D11DeviceContext1_Impl::GSGetConstantBuffers1(
19131                    this,
19132                    core::mem::transmute_copy(&startslot),
19133                    core::mem::transmute_copy(&numbuffers),
19134                    core::mem::transmute_copy(&ppconstantbuffers),
19135                    core::mem::transmute_copy(&pfirstconstant),
19136                    core::mem::transmute_copy(&pnumconstants),
19137                )
19138            }
19139        }
19140        unsafe extern "system" fn PSGetConstantBuffers1<
19141            Identity: ID3D11DeviceContext1_Impl,
19142            const OFFSET: isize,
19143        >(
19144            this: *mut core::ffi::c_void,
19145            startslot: u32,
19146            numbuffers: u32,
19147            ppconstantbuffers: *mut *mut core::ffi::c_void,
19148            pfirstconstant: *mut u32,
19149            pnumconstants: *mut u32,
19150        ) {
19151            unsafe {
19152                let this: &Identity =
19153                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
19154                ID3D11DeviceContext1_Impl::PSGetConstantBuffers1(
19155                    this,
19156                    core::mem::transmute_copy(&startslot),
19157                    core::mem::transmute_copy(&numbuffers),
19158                    core::mem::transmute_copy(&ppconstantbuffers),
19159                    core::mem::transmute_copy(&pfirstconstant),
19160                    core::mem::transmute_copy(&pnumconstants),
19161                )
19162            }
19163        }
19164        unsafe extern "system" fn CSGetConstantBuffers1<
19165            Identity: ID3D11DeviceContext1_Impl,
19166            const OFFSET: isize,
19167        >(
19168            this: *mut core::ffi::c_void,
19169            startslot: u32,
19170            numbuffers: u32,
19171            ppconstantbuffers: *mut *mut core::ffi::c_void,
19172            pfirstconstant: *mut u32,
19173            pnumconstants: *mut u32,
19174        ) {
19175            unsafe {
19176                let this: &Identity =
19177                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
19178                ID3D11DeviceContext1_Impl::CSGetConstantBuffers1(
19179                    this,
19180                    core::mem::transmute_copy(&startslot),
19181                    core::mem::transmute_copy(&numbuffers),
19182                    core::mem::transmute_copy(&ppconstantbuffers),
19183                    core::mem::transmute_copy(&pfirstconstant),
19184                    core::mem::transmute_copy(&pnumconstants),
19185                )
19186            }
19187        }
19188        unsafe extern "system" fn SwapDeviceContextState<
19189            Identity: ID3D11DeviceContext1_Impl,
19190            const OFFSET: isize,
19191        >(
19192            this: *mut core::ffi::c_void,
19193            pstate: *mut core::ffi::c_void,
19194            pppreviousstate: *mut *mut core::ffi::c_void,
19195        ) {
19196            unsafe {
19197                let this: &Identity =
19198                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
19199                ID3D11DeviceContext1_Impl::SwapDeviceContextState(
19200                    this,
19201                    core::mem::transmute_copy(&pstate),
19202                    core::mem::transmute_copy(&pppreviousstate),
19203                )
19204            }
19205        }
19206        unsafe extern "system" fn ClearView<
19207            Identity: ID3D11DeviceContext1_Impl,
19208            const OFFSET: isize,
19209        >(
19210            this: *mut core::ffi::c_void,
19211            pview: *mut core::ffi::c_void,
19212            color: *const f32,
19213            prect: *const crate::Foundation::RECT,
19214            numrects: u32,
19215        ) {
19216            unsafe {
19217                let this: &Identity =
19218                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
19219                ID3D11DeviceContext1_Impl::ClearView(
19220                    this,
19221                    core::mem::transmute_copy(&pview),
19222                    core::mem::transmute_copy(&color),
19223                    core::mem::transmute_copy(&prect),
19224                    core::mem::transmute_copy(&numrects),
19225                )
19226            }
19227        }
19228        unsafe extern "system" fn DiscardView1<
19229            Identity: ID3D11DeviceContext1_Impl,
19230            const OFFSET: isize,
19231        >(
19232            this: *mut core::ffi::c_void,
19233            presourceview: *mut core::ffi::c_void,
19234            prects: *const crate::Foundation::RECT,
19235            numrects: u32,
19236        ) {
19237            unsafe {
19238                let this: &Identity =
19239                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
19240                ID3D11DeviceContext1_Impl::DiscardView1(
19241                    this,
19242                    core::mem::transmute_copy(&presourceview),
19243                    core::mem::transmute_copy(&prects),
19244                    core::mem::transmute_copy(&numrects),
19245                )
19246            }
19247        }
19248        Self {
19249            base__: ID3D11DeviceContext_Vtbl::new::<Identity, OFFSET>(),
19250            CopySubresourceRegion1: CopySubresourceRegion1::<Identity, OFFSET>,
19251            UpdateSubresource1: UpdateSubresource1::<Identity, OFFSET>,
19252            DiscardResource: DiscardResource::<Identity, OFFSET>,
19253            DiscardView: DiscardView::<Identity, OFFSET>,
19254            VSSetConstantBuffers1: VSSetConstantBuffers1::<Identity, OFFSET>,
19255            HSSetConstantBuffers1: HSSetConstantBuffers1::<Identity, OFFSET>,
19256            DSSetConstantBuffers1: DSSetConstantBuffers1::<Identity, OFFSET>,
19257            GSSetConstantBuffers1: GSSetConstantBuffers1::<Identity, OFFSET>,
19258            PSSetConstantBuffers1: PSSetConstantBuffers1::<Identity, OFFSET>,
19259            CSSetConstantBuffers1: CSSetConstantBuffers1::<Identity, OFFSET>,
19260            VSGetConstantBuffers1: VSGetConstantBuffers1::<Identity, OFFSET>,
19261            HSGetConstantBuffers1: HSGetConstantBuffers1::<Identity, OFFSET>,
19262            DSGetConstantBuffers1: DSGetConstantBuffers1::<Identity, OFFSET>,
19263            GSGetConstantBuffers1: GSGetConstantBuffers1::<Identity, OFFSET>,
19264            PSGetConstantBuffers1: PSGetConstantBuffers1::<Identity, OFFSET>,
19265            CSGetConstantBuffers1: CSGetConstantBuffers1::<Identity, OFFSET>,
19266            SwapDeviceContextState: SwapDeviceContextState::<Identity, OFFSET>,
19267            ClearView: ClearView::<Identity, OFFSET>,
19268            DiscardView1: DiscardView1::<Identity, OFFSET>,
19269        }
19270    }
19271    pub fn matches(iid: &windows_core::GUID) -> bool {
19272        iid == &<ID3D11DeviceContext1 as windows_core::Interface>::IID
19273            || iid == &<ID3D11DeviceChild as windows_core::Interface>::IID
19274            || iid == &<ID3D11DeviceContext as windows_core::Interface>::IID
19275    }
19276}
19277#[cfg(all(
19278    feature = "Win32_Graphics_Direct3D",
19279    feature = "Win32_Graphics_Dxgi_Common"
19280))]
19281impl windows_core::RuntimeName for ID3D11DeviceContext1 {}
19282#[cfg(all(
19283    feature = "Win32_Graphics_Direct3D",
19284    feature = "Win32_Graphics_Dxgi_Common"
19285))]
19286unsafe impl Send for ID3D11DeviceContext1 {}
19287#[cfg(all(
19288    feature = "Win32_Graphics_Direct3D",
19289    feature = "Win32_Graphics_Dxgi_Common"
19290))]
19291unsafe impl Sync for ID3D11DeviceContext1 {}
19292windows_core::imp::define_interface!(
19293    ID3D11DeviceContext2,
19294    ID3D11DeviceContext2_Vtbl,
19295    0x420d5b32_b90c_4da4_bef0_359f6a24a83a
19296);
19297impl core::ops::Deref for ID3D11DeviceContext2 {
19298    type Target = ID3D11DeviceContext1;
19299    fn deref(&self) -> &Self::Target {
19300        unsafe { core::mem::transmute(self) }
19301    }
19302}
19303windows_core::imp::interface_hierarchy!(
19304    ID3D11DeviceContext2,
19305    windows_core::IUnknown,
19306    ID3D11DeviceChild,
19307    ID3D11DeviceContext,
19308    ID3D11DeviceContext1
19309);
19310impl ID3D11DeviceContext2 {
19311    pub unsafe fn UpdateTileMappings<P0, P4>(
19312        &self,
19313        ptiledresource: P0,
19314        numtiledresourceregions: u32,
19315        ptiledresourceregionstartcoordinates: Option<*const D3D11_TILED_RESOURCE_COORDINATE>,
19316        ptiledresourceregionsizes: Option<*const D3D11_TILE_REGION_SIZE>,
19317        ptilepool: P4,
19318        numranges: u32,
19319        prangeflags: Option<*const u32>,
19320        ptilepoolstartoffsets: Option<*const u32>,
19321        prangetilecounts: Option<*const u32>,
19322        flags: u32,
19323    ) -> windows_core::Result<()>
19324    where
19325        P0: windows_core::Param<ID3D11Resource>,
19326        P4: windows_core::Param<ID3D11Buffer>,
19327    {
19328        unsafe {
19329            (windows_core::Interface::vtable(self).UpdateTileMappings)(
19330                windows_core::Interface::as_raw(self),
19331                ptiledresource.param().abi(),
19332                numtiledresourceregions,
19333                core::mem::transmute(
19334                    ptiledresourceregionstartcoordinates.unwrap_or(core::mem::zeroed()),
19335                ),
19336                core::mem::transmute(ptiledresourceregionsizes.unwrap_or(core::mem::zeroed())),
19337                ptilepool.param().abi(),
19338                numranges,
19339                core::mem::transmute(prangeflags.unwrap_or(core::mem::zeroed())),
19340                core::mem::transmute(ptilepoolstartoffsets.unwrap_or(core::mem::zeroed())),
19341                core::mem::transmute(prangetilecounts.unwrap_or(core::mem::zeroed())),
19342                flags,
19343            )
19344            .ok()
19345        }
19346    }
19347    pub unsafe fn CopyTileMappings<P0, P2>(
19348        &self,
19349        pdesttiledresource: P0,
19350        pdestregionstartcoordinate: *const D3D11_TILED_RESOURCE_COORDINATE,
19351        psourcetiledresource: P2,
19352        psourceregionstartcoordinate: *const D3D11_TILED_RESOURCE_COORDINATE,
19353        ptileregionsize: *const D3D11_TILE_REGION_SIZE,
19354        flags: u32,
19355    ) -> windows_core::Result<()>
19356    where
19357        P0: windows_core::Param<ID3D11Resource>,
19358        P2: windows_core::Param<ID3D11Resource>,
19359    {
19360        unsafe {
19361            (windows_core::Interface::vtable(self).CopyTileMappings)(
19362                windows_core::Interface::as_raw(self),
19363                pdesttiledresource.param().abi(),
19364                pdestregionstartcoordinate,
19365                psourcetiledresource.param().abi(),
19366                psourceregionstartcoordinate,
19367                ptileregionsize,
19368                flags,
19369            )
19370            .ok()
19371        }
19372    }
19373    pub unsafe fn CopyTiles<P0, P3>(
19374        &self,
19375        ptiledresource: P0,
19376        ptileregionstartcoordinate: *const D3D11_TILED_RESOURCE_COORDINATE,
19377        ptileregionsize: *const D3D11_TILE_REGION_SIZE,
19378        pbuffer: P3,
19379        bufferstartoffsetinbytes: u64,
19380        flags: u32,
19381    ) where
19382        P0: windows_core::Param<ID3D11Resource>,
19383        P3: windows_core::Param<ID3D11Buffer>,
19384    {
19385        unsafe {
19386            (windows_core::Interface::vtable(self).CopyTiles)(
19387                windows_core::Interface::as_raw(self),
19388                ptiledresource.param().abi(),
19389                ptileregionstartcoordinate,
19390                ptileregionsize,
19391                pbuffer.param().abi(),
19392                bufferstartoffsetinbytes,
19393                flags,
19394            )
19395        }
19396    }
19397    pub unsafe fn UpdateTiles<P0>(
19398        &self,
19399        pdesttiledresource: P0,
19400        pdesttileregionstartcoordinate: *const D3D11_TILED_RESOURCE_COORDINATE,
19401        pdesttileregionsize: *const D3D11_TILE_REGION_SIZE,
19402        psourcetiledata: *const core::ffi::c_void,
19403        flags: u32,
19404    ) where
19405        P0: windows_core::Param<ID3D11Resource>,
19406    {
19407        unsafe {
19408            (windows_core::Interface::vtable(self).UpdateTiles)(
19409                windows_core::Interface::as_raw(self),
19410                pdesttiledresource.param().abi(),
19411                pdesttileregionstartcoordinate,
19412                pdesttileregionsize,
19413                psourcetiledata,
19414                flags,
19415            )
19416        }
19417    }
19418    pub unsafe fn ResizeTilePool<P0>(
19419        &self,
19420        ptilepool: P0,
19421        newsizeinbytes: u64,
19422    ) -> windows_core::Result<()>
19423    where
19424        P0: windows_core::Param<ID3D11Buffer>,
19425    {
19426        unsafe {
19427            (windows_core::Interface::vtable(self).ResizeTilePool)(
19428                windows_core::Interface::as_raw(self),
19429                ptilepool.param().abi(),
19430                newsizeinbytes,
19431            )
19432            .ok()
19433        }
19434    }
19435    pub unsafe fn TiledResourceBarrier<P0, P1>(
19436        &self,
19437        ptiledresourceorviewaccessbeforebarrier: P0,
19438        ptiledresourceorviewaccessafterbarrier: P1,
19439    ) where
19440        P0: windows_core::Param<ID3D11DeviceChild>,
19441        P1: windows_core::Param<ID3D11DeviceChild>,
19442    {
19443        unsafe {
19444            (windows_core::Interface::vtable(self).TiledResourceBarrier)(
19445                windows_core::Interface::as_raw(self),
19446                ptiledresourceorviewaccessbeforebarrier.param().abi(),
19447                ptiledresourceorviewaccessafterbarrier.param().abi(),
19448            )
19449        }
19450    }
19451    pub unsafe fn IsAnnotationEnabled(&self) -> crate::Foundation::BOOL {
19452        unsafe {
19453            (windows_core::Interface::vtable(self).IsAnnotationEnabled)(
19454                windows_core::Interface::as_raw(self),
19455            )
19456        }
19457    }
19458    pub unsafe fn SetMarkerInt<P0>(&self, plabel: P0, data: i32)
19459    where
19460        P0: windows_core::Param<crate::core_supplemental::PCWSTR>,
19461    {
19462        unsafe {
19463            (windows_core::Interface::vtable(self).SetMarkerInt)(
19464                windows_core::Interface::as_raw(self),
19465                plabel.param().abi(),
19466                data,
19467            )
19468        }
19469    }
19470    pub unsafe fn BeginEventInt<P0>(&self, plabel: P0, data: i32)
19471    where
19472        P0: windows_core::Param<crate::core_supplemental::PCWSTR>,
19473    {
19474        unsafe {
19475            (windows_core::Interface::vtable(self).BeginEventInt)(
19476                windows_core::Interface::as_raw(self),
19477                plabel.param().abi(),
19478                data,
19479            )
19480        }
19481    }
19482    pub unsafe fn EndEvent(&self) {
19483        unsafe {
19484            (windows_core::Interface::vtable(self).EndEvent)(windows_core::Interface::as_raw(self))
19485        }
19486    }
19487}
19488#[repr(C)]
19489pub struct ID3D11DeviceContext2_Vtbl {
19490    pub base__: ID3D11DeviceContext1_Vtbl,
19491    pub UpdateTileMappings: unsafe extern "system" fn(
19492        *mut core::ffi::c_void,
19493        *mut core::ffi::c_void,
19494        u32,
19495        *const D3D11_TILED_RESOURCE_COORDINATE,
19496        *const D3D11_TILE_REGION_SIZE,
19497        *mut core::ffi::c_void,
19498        u32,
19499        *const u32,
19500        *const u32,
19501        *const u32,
19502        u32,
19503    ) -> windows_core::HRESULT,
19504    pub CopyTileMappings: unsafe extern "system" fn(
19505        *mut core::ffi::c_void,
19506        *mut core::ffi::c_void,
19507        *const D3D11_TILED_RESOURCE_COORDINATE,
19508        *mut core::ffi::c_void,
19509        *const D3D11_TILED_RESOURCE_COORDINATE,
19510        *const D3D11_TILE_REGION_SIZE,
19511        u32,
19512    ) -> windows_core::HRESULT,
19513    pub CopyTiles: unsafe extern "system" fn(
19514        *mut core::ffi::c_void,
19515        *mut core::ffi::c_void,
19516        *const D3D11_TILED_RESOURCE_COORDINATE,
19517        *const D3D11_TILE_REGION_SIZE,
19518        *mut core::ffi::c_void,
19519        u64,
19520        u32,
19521    ),
19522    pub UpdateTiles: unsafe extern "system" fn(
19523        *mut core::ffi::c_void,
19524        *mut core::ffi::c_void,
19525        *const D3D11_TILED_RESOURCE_COORDINATE,
19526        *const D3D11_TILE_REGION_SIZE,
19527        *const core::ffi::c_void,
19528        u32,
19529    ),
19530    pub ResizeTilePool: unsafe extern "system" fn(
19531        *mut core::ffi::c_void,
19532        *mut core::ffi::c_void,
19533        u64,
19534    ) -> windows_core::HRESULT,
19535    pub TiledResourceBarrier: unsafe extern "system" fn(
19536        *mut core::ffi::c_void,
19537        *mut core::ffi::c_void,
19538        *mut core::ffi::c_void,
19539    ),
19540    pub IsAnnotationEnabled:
19541        unsafe extern "system" fn(*mut core::ffi::c_void) -> crate::Foundation::BOOL,
19542    pub SetMarkerInt: unsafe extern "system" fn(*mut core::ffi::c_void, crate::core_supplemental::PCWSTR, i32),
19543    pub BeginEventInt: unsafe extern "system" fn(*mut core::ffi::c_void, crate::core_supplemental::PCWSTR, i32),
19544    pub EndEvent: unsafe extern "system" fn(*mut core::ffi::c_void),
19545}
19546#[cfg(all(
19547    feature = "Win32_Graphics_Direct3D",
19548    feature = "Win32_Graphics_Dxgi_Common"
19549))]
19550pub trait ID3D11DeviceContext2_Impl: ID3D11DeviceContext1_Impl {
19551    fn UpdateTileMappings(
19552        &self,
19553        ptiledresource: windows_core::Ref<'_, ID3D11Resource>,
19554        numtiledresourceregions: u32,
19555        ptiledresourceregionstartcoordinates: *const D3D11_TILED_RESOURCE_COORDINATE,
19556        ptiledresourceregionsizes: *const D3D11_TILE_REGION_SIZE,
19557        ptilepool: windows_core::Ref<'_, ID3D11Buffer>,
19558        numranges: u32,
19559        prangeflags: *const u32,
19560        ptilepoolstartoffsets: *const u32,
19561        prangetilecounts: *const u32,
19562        flags: u32,
19563    ) -> windows_core::Result<()>;
19564    fn CopyTileMappings(
19565        &self,
19566        pdesttiledresource: windows_core::Ref<'_, ID3D11Resource>,
19567        pdestregionstartcoordinate: *const D3D11_TILED_RESOURCE_COORDINATE,
19568        psourcetiledresource: windows_core::Ref<'_, ID3D11Resource>,
19569        psourceregionstartcoordinate: *const D3D11_TILED_RESOURCE_COORDINATE,
19570        ptileregionsize: *const D3D11_TILE_REGION_SIZE,
19571        flags: u32,
19572    ) -> windows_core::Result<()>;
19573    fn CopyTiles(
19574        &self,
19575        ptiledresource: windows_core::Ref<'_, ID3D11Resource>,
19576        ptileregionstartcoordinate: *const D3D11_TILED_RESOURCE_COORDINATE,
19577        ptileregionsize: *const D3D11_TILE_REGION_SIZE,
19578        pbuffer: windows_core::Ref<'_, ID3D11Buffer>,
19579        bufferstartoffsetinbytes: u64,
19580        flags: u32,
19581    );
19582    fn UpdateTiles(
19583        &self,
19584        pdesttiledresource: windows_core::Ref<'_, ID3D11Resource>,
19585        pdesttileregionstartcoordinate: *const D3D11_TILED_RESOURCE_COORDINATE,
19586        pdesttileregionsize: *const D3D11_TILE_REGION_SIZE,
19587        psourcetiledata: *const core::ffi::c_void,
19588        flags: u32,
19589    );
19590    fn ResizeTilePool(
19591        &self,
19592        ptilepool: windows_core::Ref<'_, ID3D11Buffer>,
19593        newsizeinbytes: u64,
19594    ) -> windows_core::Result<()>;
19595    fn TiledResourceBarrier(
19596        &self,
19597        ptiledresourceorviewaccessbeforebarrier: windows_core::Ref<'_, ID3D11DeviceChild>,
19598        ptiledresourceorviewaccessafterbarrier: windows_core::Ref<'_, ID3D11DeviceChild>,
19599    );
19600    fn IsAnnotationEnabled(&self) -> crate::Foundation::BOOL;
19601    fn SetMarkerInt(&self, plabel: &crate::core_supplemental::PCWSTR, data: i32);
19602    fn BeginEventInt(&self, plabel: &crate::core_supplemental::PCWSTR, data: i32);
19603    fn EndEvent(&self);
19604}
19605#[cfg(all(
19606    feature = "Win32_Graphics_Direct3D",
19607    feature = "Win32_Graphics_Dxgi_Common"
19608))]
19609impl ID3D11DeviceContext2_Vtbl {
19610    pub const fn new<Identity: ID3D11DeviceContext2_Impl, const OFFSET: isize>() -> Self {
19611        unsafe extern "system" fn UpdateTileMappings<
19612            Identity: ID3D11DeviceContext2_Impl,
19613            const OFFSET: isize,
19614        >(
19615            this: *mut core::ffi::c_void,
19616            ptiledresource: *mut core::ffi::c_void,
19617            numtiledresourceregions: u32,
19618            ptiledresourceregionstartcoordinates: *const D3D11_TILED_RESOURCE_COORDINATE,
19619            ptiledresourceregionsizes: *const D3D11_TILE_REGION_SIZE,
19620            ptilepool: *mut core::ffi::c_void,
19621            numranges: u32,
19622            prangeflags: *const u32,
19623            ptilepoolstartoffsets: *const u32,
19624            prangetilecounts: *const u32,
19625            flags: u32,
19626        ) -> windows_core::HRESULT {
19627            unsafe {
19628                let this: &Identity =
19629                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
19630                ID3D11DeviceContext2_Impl::UpdateTileMappings(
19631                    this,
19632                    core::mem::transmute_copy(&ptiledresource),
19633                    core::mem::transmute_copy(&numtiledresourceregions),
19634                    core::mem::transmute_copy(&ptiledresourceregionstartcoordinates),
19635                    core::mem::transmute_copy(&ptiledresourceregionsizes),
19636                    core::mem::transmute_copy(&ptilepool),
19637                    core::mem::transmute_copy(&numranges),
19638                    core::mem::transmute_copy(&prangeflags),
19639                    core::mem::transmute_copy(&ptilepoolstartoffsets),
19640                    core::mem::transmute_copy(&prangetilecounts),
19641                    core::mem::transmute_copy(&flags),
19642                )
19643                .into()
19644            }
19645        }
19646        unsafe extern "system" fn CopyTileMappings<
19647            Identity: ID3D11DeviceContext2_Impl,
19648            const OFFSET: isize,
19649        >(
19650            this: *mut core::ffi::c_void,
19651            pdesttiledresource: *mut core::ffi::c_void,
19652            pdestregionstartcoordinate: *const D3D11_TILED_RESOURCE_COORDINATE,
19653            psourcetiledresource: *mut core::ffi::c_void,
19654            psourceregionstartcoordinate: *const D3D11_TILED_RESOURCE_COORDINATE,
19655            ptileregionsize: *const D3D11_TILE_REGION_SIZE,
19656            flags: u32,
19657        ) -> windows_core::HRESULT {
19658            unsafe {
19659                let this: &Identity =
19660                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
19661                ID3D11DeviceContext2_Impl::CopyTileMappings(
19662                    this,
19663                    core::mem::transmute_copy(&pdesttiledresource),
19664                    core::mem::transmute_copy(&pdestregionstartcoordinate),
19665                    core::mem::transmute_copy(&psourcetiledresource),
19666                    core::mem::transmute_copy(&psourceregionstartcoordinate),
19667                    core::mem::transmute_copy(&ptileregionsize),
19668                    core::mem::transmute_copy(&flags),
19669                )
19670                .into()
19671            }
19672        }
19673        unsafe extern "system" fn CopyTiles<
19674            Identity: ID3D11DeviceContext2_Impl,
19675            const OFFSET: isize,
19676        >(
19677            this: *mut core::ffi::c_void,
19678            ptiledresource: *mut core::ffi::c_void,
19679            ptileregionstartcoordinate: *const D3D11_TILED_RESOURCE_COORDINATE,
19680            ptileregionsize: *const D3D11_TILE_REGION_SIZE,
19681            pbuffer: *mut core::ffi::c_void,
19682            bufferstartoffsetinbytes: u64,
19683            flags: u32,
19684        ) {
19685            unsafe {
19686                let this: &Identity =
19687                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
19688                ID3D11DeviceContext2_Impl::CopyTiles(
19689                    this,
19690                    core::mem::transmute_copy(&ptiledresource),
19691                    core::mem::transmute_copy(&ptileregionstartcoordinate),
19692                    core::mem::transmute_copy(&ptileregionsize),
19693                    core::mem::transmute_copy(&pbuffer),
19694                    core::mem::transmute_copy(&bufferstartoffsetinbytes),
19695                    core::mem::transmute_copy(&flags),
19696                )
19697            }
19698        }
19699        unsafe extern "system" fn UpdateTiles<
19700            Identity: ID3D11DeviceContext2_Impl,
19701            const OFFSET: isize,
19702        >(
19703            this: *mut core::ffi::c_void,
19704            pdesttiledresource: *mut core::ffi::c_void,
19705            pdesttileregionstartcoordinate: *const D3D11_TILED_RESOURCE_COORDINATE,
19706            pdesttileregionsize: *const D3D11_TILE_REGION_SIZE,
19707            psourcetiledata: *const core::ffi::c_void,
19708            flags: u32,
19709        ) {
19710            unsafe {
19711                let this: &Identity =
19712                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
19713                ID3D11DeviceContext2_Impl::UpdateTiles(
19714                    this,
19715                    core::mem::transmute_copy(&pdesttiledresource),
19716                    core::mem::transmute_copy(&pdesttileregionstartcoordinate),
19717                    core::mem::transmute_copy(&pdesttileregionsize),
19718                    core::mem::transmute_copy(&psourcetiledata),
19719                    core::mem::transmute_copy(&flags),
19720                )
19721            }
19722        }
19723        unsafe extern "system" fn ResizeTilePool<
19724            Identity: ID3D11DeviceContext2_Impl,
19725            const OFFSET: isize,
19726        >(
19727            this: *mut core::ffi::c_void,
19728            ptilepool: *mut core::ffi::c_void,
19729            newsizeinbytes: u64,
19730        ) -> windows_core::HRESULT {
19731            unsafe {
19732                let this: &Identity =
19733                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
19734                ID3D11DeviceContext2_Impl::ResizeTilePool(
19735                    this,
19736                    core::mem::transmute_copy(&ptilepool),
19737                    core::mem::transmute_copy(&newsizeinbytes),
19738                )
19739                .into()
19740            }
19741        }
19742        unsafe extern "system" fn TiledResourceBarrier<
19743            Identity: ID3D11DeviceContext2_Impl,
19744            const OFFSET: isize,
19745        >(
19746            this: *mut core::ffi::c_void,
19747            ptiledresourceorviewaccessbeforebarrier: *mut core::ffi::c_void,
19748            ptiledresourceorviewaccessafterbarrier: *mut core::ffi::c_void,
19749        ) {
19750            unsafe {
19751                let this: &Identity =
19752                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
19753                ID3D11DeviceContext2_Impl::TiledResourceBarrier(
19754                    this,
19755                    core::mem::transmute_copy(&ptiledresourceorviewaccessbeforebarrier),
19756                    core::mem::transmute_copy(&ptiledresourceorviewaccessafterbarrier),
19757                )
19758            }
19759        }
19760        unsafe extern "system" fn IsAnnotationEnabled<
19761            Identity: ID3D11DeviceContext2_Impl,
19762            const OFFSET: isize,
19763        >(
19764            this: *mut core::ffi::c_void,
19765        ) -> crate::Foundation::BOOL {
19766            unsafe {
19767                let this: &Identity =
19768                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
19769                ID3D11DeviceContext2_Impl::IsAnnotationEnabled(this)
19770            }
19771        }
19772        unsafe extern "system" fn SetMarkerInt<
19773            Identity: ID3D11DeviceContext2_Impl,
19774            const OFFSET: isize,
19775        >(
19776            this: *mut core::ffi::c_void,
19777            plabel: crate::core_supplemental::PCWSTR,
19778            data: i32,
19779        ) {
19780            unsafe {
19781                let this: &Identity =
19782                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
19783                ID3D11DeviceContext2_Impl::SetMarkerInt(
19784                    this,
19785                    core::mem::transmute(&plabel),
19786                    core::mem::transmute_copy(&data),
19787                )
19788            }
19789        }
19790        unsafe extern "system" fn BeginEventInt<
19791            Identity: ID3D11DeviceContext2_Impl,
19792            const OFFSET: isize,
19793        >(
19794            this: *mut core::ffi::c_void,
19795            plabel: crate::core_supplemental::PCWSTR,
19796            data: i32,
19797        ) {
19798            unsafe {
19799                let this: &Identity =
19800                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
19801                ID3D11DeviceContext2_Impl::BeginEventInt(
19802                    this,
19803                    core::mem::transmute(&plabel),
19804                    core::mem::transmute_copy(&data),
19805                )
19806            }
19807        }
19808        unsafe extern "system" fn EndEvent<
19809            Identity: ID3D11DeviceContext2_Impl,
19810            const OFFSET: isize,
19811        >(
19812            this: *mut core::ffi::c_void,
19813        ) {
19814            unsafe {
19815                let this: &Identity =
19816                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
19817                ID3D11DeviceContext2_Impl::EndEvent(this)
19818            }
19819        }
19820        Self {
19821            base__: ID3D11DeviceContext1_Vtbl::new::<Identity, OFFSET>(),
19822            UpdateTileMappings: UpdateTileMappings::<Identity, OFFSET>,
19823            CopyTileMappings: CopyTileMappings::<Identity, OFFSET>,
19824            CopyTiles: CopyTiles::<Identity, OFFSET>,
19825            UpdateTiles: UpdateTiles::<Identity, OFFSET>,
19826            ResizeTilePool: ResizeTilePool::<Identity, OFFSET>,
19827            TiledResourceBarrier: TiledResourceBarrier::<Identity, OFFSET>,
19828            IsAnnotationEnabled: IsAnnotationEnabled::<Identity, OFFSET>,
19829            SetMarkerInt: SetMarkerInt::<Identity, OFFSET>,
19830            BeginEventInt: BeginEventInt::<Identity, OFFSET>,
19831            EndEvent: EndEvent::<Identity, OFFSET>,
19832        }
19833    }
19834    pub fn matches(iid: &windows_core::GUID) -> bool {
19835        iid == &<ID3D11DeviceContext2 as windows_core::Interface>::IID
19836            || iid == &<ID3D11DeviceChild as windows_core::Interface>::IID
19837            || iid == &<ID3D11DeviceContext as windows_core::Interface>::IID
19838            || iid == &<ID3D11DeviceContext1 as windows_core::Interface>::IID
19839    }
19840}
19841#[cfg(all(
19842    feature = "Win32_Graphics_Direct3D",
19843    feature = "Win32_Graphics_Dxgi_Common"
19844))]
19845impl windows_core::RuntimeName for ID3D11DeviceContext2 {}
19846#[cfg(all(
19847    feature = "Win32_Graphics_Direct3D",
19848    feature = "Win32_Graphics_Dxgi_Common"
19849))]
19850unsafe impl Send for ID3D11DeviceContext2 {}
19851#[cfg(all(
19852    feature = "Win32_Graphics_Direct3D",
19853    feature = "Win32_Graphics_Dxgi_Common"
19854))]
19855unsafe impl Sync for ID3D11DeviceContext2 {}
19856windows_core::imp::define_interface!(
19857    ID3D11DeviceContext3,
19858    ID3D11DeviceContext3_Vtbl,
19859    0xb4e3c01d_e79e_4637_91b2_510e9f4c9b8f
19860);
19861impl core::ops::Deref for ID3D11DeviceContext3 {
19862    type Target = ID3D11DeviceContext2;
19863    fn deref(&self) -> &Self::Target {
19864        unsafe { core::mem::transmute(self) }
19865    }
19866}
19867windows_core::imp::interface_hierarchy!(
19868    ID3D11DeviceContext3,
19869    windows_core::IUnknown,
19870    ID3D11DeviceChild,
19871    ID3D11DeviceContext,
19872    ID3D11DeviceContext1,
19873    ID3D11DeviceContext2
19874);
19875impl ID3D11DeviceContext3 {
19876    pub unsafe fn Flush1(
19877        &self,
19878        contexttype: D3D11_CONTEXT_TYPE,
19879        hevent: Option<crate::Foundation::HANDLE>,
19880    ) {
19881        unsafe {
19882            (windows_core::Interface::vtable(self).Flush1)(
19883                windows_core::Interface::as_raw(self),
19884                contexttype,
19885                core::mem::transmute(hevent.unwrap_or_default()),
19886            )
19887        }
19888    }
19889    pub unsafe fn SetHardwareProtectionState(&self, hwprotectionenable: bool) {
19890        unsafe {
19891            (windows_core::Interface::vtable(self).SetHardwareProtectionState)(
19892                windows_core::Interface::as_raw(self),
19893                hwprotectionenable.into(),
19894            )
19895        }
19896    }
19897    pub unsafe fn GetHardwareProtectionState(&self) -> crate::Foundation::BOOL {
19898        unsafe {
19899            let mut result__ = core::mem::zeroed();
19900            (windows_core::Interface::vtable(self).GetHardwareProtectionState)(
19901                windows_core::Interface::as_raw(self),
19902                &mut result__,
19903            );
19904            result__
19905        }
19906    }
19907}
19908#[repr(C)]
19909pub struct ID3D11DeviceContext3_Vtbl {
19910    pub base__: ID3D11DeviceContext2_Vtbl,
19911    pub Flush1: unsafe extern "system" fn(
19912        *mut core::ffi::c_void,
19913        D3D11_CONTEXT_TYPE,
19914        crate::Foundation::HANDLE,
19915    ),
19916    pub SetHardwareProtectionState:
19917        unsafe extern "system" fn(*mut core::ffi::c_void, crate::Foundation::BOOL),
19918    pub GetHardwareProtectionState:
19919        unsafe extern "system" fn(*mut core::ffi::c_void, *mut crate::Foundation::BOOL),
19920}
19921#[cfg(all(
19922    feature = "Win32_Graphics_Direct3D",
19923    feature = "Win32_Graphics_Dxgi_Common"
19924))]
19925pub trait ID3D11DeviceContext3_Impl: ID3D11DeviceContext2_Impl {
19926    fn Flush1(&self, contexttype: D3D11_CONTEXT_TYPE, hevent: crate::Foundation::HANDLE);
19927    fn SetHardwareProtectionState(&self, hwprotectionenable: crate::Foundation::BOOL);
19928    fn GetHardwareProtectionState(&self, phwprotectionenable: *mut crate::Foundation::BOOL);
19929}
19930#[cfg(all(
19931    feature = "Win32_Graphics_Direct3D",
19932    feature = "Win32_Graphics_Dxgi_Common"
19933))]
19934impl ID3D11DeviceContext3_Vtbl {
19935    pub const fn new<Identity: ID3D11DeviceContext3_Impl, const OFFSET: isize>() -> Self {
19936        unsafe extern "system" fn Flush1<
19937            Identity: ID3D11DeviceContext3_Impl,
19938            const OFFSET: isize,
19939        >(
19940            this: *mut core::ffi::c_void,
19941            contexttype: D3D11_CONTEXT_TYPE,
19942            hevent: crate::Foundation::HANDLE,
19943        ) {
19944            unsafe {
19945                let this: &Identity =
19946                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
19947                ID3D11DeviceContext3_Impl::Flush1(
19948                    this,
19949                    core::mem::transmute_copy(&contexttype),
19950                    core::mem::transmute_copy(&hevent),
19951                )
19952            }
19953        }
19954        unsafe extern "system" fn SetHardwareProtectionState<
19955            Identity: ID3D11DeviceContext3_Impl,
19956            const OFFSET: isize,
19957        >(
19958            this: *mut core::ffi::c_void,
19959            hwprotectionenable: crate::Foundation::BOOL,
19960        ) {
19961            unsafe {
19962                let this: &Identity =
19963                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
19964                ID3D11DeviceContext3_Impl::SetHardwareProtectionState(
19965                    this,
19966                    core::mem::transmute_copy(&hwprotectionenable),
19967                )
19968            }
19969        }
19970        unsafe extern "system" fn GetHardwareProtectionState<
19971            Identity: ID3D11DeviceContext3_Impl,
19972            const OFFSET: isize,
19973        >(
19974            this: *mut core::ffi::c_void,
19975            phwprotectionenable: *mut crate::Foundation::BOOL,
19976        ) {
19977            unsafe {
19978                let this: &Identity =
19979                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
19980                ID3D11DeviceContext3_Impl::GetHardwareProtectionState(
19981                    this,
19982                    core::mem::transmute_copy(&phwprotectionenable),
19983                )
19984            }
19985        }
19986        Self {
19987            base__: ID3D11DeviceContext2_Vtbl::new::<Identity, OFFSET>(),
19988            Flush1: Flush1::<Identity, OFFSET>,
19989            SetHardwareProtectionState: SetHardwareProtectionState::<Identity, OFFSET>,
19990            GetHardwareProtectionState: GetHardwareProtectionState::<Identity, OFFSET>,
19991        }
19992    }
19993    pub fn matches(iid: &windows_core::GUID) -> bool {
19994        iid == &<ID3D11DeviceContext3 as windows_core::Interface>::IID
19995            || iid == &<ID3D11DeviceChild as windows_core::Interface>::IID
19996            || iid == &<ID3D11DeviceContext as windows_core::Interface>::IID
19997            || iid == &<ID3D11DeviceContext1 as windows_core::Interface>::IID
19998            || iid == &<ID3D11DeviceContext2 as windows_core::Interface>::IID
19999    }
20000}
20001#[cfg(all(
20002    feature = "Win32_Graphics_Direct3D",
20003    feature = "Win32_Graphics_Dxgi_Common"
20004))]
20005impl windows_core::RuntimeName for ID3D11DeviceContext3 {}
20006#[cfg(all(
20007    feature = "Win32_Graphics_Direct3D",
20008    feature = "Win32_Graphics_Dxgi_Common"
20009))]
20010unsafe impl Send for ID3D11DeviceContext3 {}
20011#[cfg(all(
20012    feature = "Win32_Graphics_Direct3D",
20013    feature = "Win32_Graphics_Dxgi_Common"
20014))]
20015unsafe impl Sync for ID3D11DeviceContext3 {}
20016windows_core::imp::define_interface!(
20017    ID3D11DeviceContext4,
20018    ID3D11DeviceContext4_Vtbl,
20019    0x917600da_f58c_4c33_98d8_3e15b390fa24
20020);
20021impl core::ops::Deref for ID3D11DeviceContext4 {
20022    type Target = ID3D11DeviceContext3;
20023    fn deref(&self) -> &Self::Target {
20024        unsafe { core::mem::transmute(self) }
20025    }
20026}
20027windows_core::imp::interface_hierarchy!(
20028    ID3D11DeviceContext4,
20029    windows_core::IUnknown,
20030    ID3D11DeviceChild,
20031    ID3D11DeviceContext,
20032    ID3D11DeviceContext1,
20033    ID3D11DeviceContext2,
20034    ID3D11DeviceContext3
20035);
20036impl ID3D11DeviceContext4 {
20037    pub unsafe fn Signal<P0>(&self, pfence: P0, value: u64) -> windows_core::Result<()>
20038    where
20039        P0: windows_core::Param<ID3D11Fence>,
20040    {
20041        unsafe {
20042            (windows_core::Interface::vtable(self).Signal)(
20043                windows_core::Interface::as_raw(self),
20044                pfence.param().abi(),
20045                value,
20046            )
20047            .ok()
20048        }
20049    }
20050    pub unsafe fn Wait<P0>(&self, pfence: P0, value: u64) -> windows_core::Result<()>
20051    where
20052        P0: windows_core::Param<ID3D11Fence>,
20053    {
20054        unsafe {
20055            (windows_core::Interface::vtable(self).Wait)(
20056                windows_core::Interface::as_raw(self),
20057                pfence.param().abi(),
20058                value,
20059            )
20060            .ok()
20061        }
20062    }
20063}
20064#[repr(C)]
20065pub struct ID3D11DeviceContext4_Vtbl {
20066    pub base__: ID3D11DeviceContext3_Vtbl,
20067    pub Signal: unsafe extern "system" fn(
20068        *mut core::ffi::c_void,
20069        *mut core::ffi::c_void,
20070        u64,
20071    ) -> windows_core::HRESULT,
20072    pub Wait: unsafe extern "system" fn(
20073        *mut core::ffi::c_void,
20074        *mut core::ffi::c_void,
20075        u64,
20076    ) -> windows_core::HRESULT,
20077}
20078#[cfg(all(
20079    feature = "Win32_Graphics_Direct3D",
20080    feature = "Win32_Graphics_Dxgi_Common"
20081))]
20082pub trait ID3D11DeviceContext4_Impl: ID3D11DeviceContext3_Impl {
20083    fn Signal(
20084        &self,
20085        pfence: windows_core::Ref<'_, ID3D11Fence>,
20086        value: u64,
20087    ) -> windows_core::Result<()>;
20088    fn Wait(
20089        &self,
20090        pfence: windows_core::Ref<'_, ID3D11Fence>,
20091        value: u64,
20092    ) -> windows_core::Result<()>;
20093}
20094#[cfg(all(
20095    feature = "Win32_Graphics_Direct3D",
20096    feature = "Win32_Graphics_Dxgi_Common"
20097))]
20098impl ID3D11DeviceContext4_Vtbl {
20099    pub const fn new<Identity: ID3D11DeviceContext4_Impl, const OFFSET: isize>() -> Self {
20100        unsafe extern "system" fn Signal<
20101            Identity: ID3D11DeviceContext4_Impl,
20102            const OFFSET: isize,
20103        >(
20104            this: *mut core::ffi::c_void,
20105            pfence: *mut core::ffi::c_void,
20106            value: u64,
20107        ) -> windows_core::HRESULT {
20108            unsafe {
20109                let this: &Identity =
20110                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
20111                ID3D11DeviceContext4_Impl::Signal(
20112                    this,
20113                    core::mem::transmute_copy(&pfence),
20114                    core::mem::transmute_copy(&value),
20115                )
20116                .into()
20117            }
20118        }
20119        unsafe extern "system" fn Wait<Identity: ID3D11DeviceContext4_Impl, const OFFSET: isize>(
20120            this: *mut core::ffi::c_void,
20121            pfence: *mut core::ffi::c_void,
20122            value: u64,
20123        ) -> windows_core::HRESULT {
20124            unsafe {
20125                let this: &Identity =
20126                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
20127                ID3D11DeviceContext4_Impl::Wait(
20128                    this,
20129                    core::mem::transmute_copy(&pfence),
20130                    core::mem::transmute_copy(&value),
20131                )
20132                .into()
20133            }
20134        }
20135        Self {
20136            base__: ID3D11DeviceContext3_Vtbl::new::<Identity, OFFSET>(),
20137            Signal: Signal::<Identity, OFFSET>,
20138            Wait: Wait::<Identity, OFFSET>,
20139        }
20140    }
20141    pub fn matches(iid: &windows_core::GUID) -> bool {
20142        iid == &<ID3D11DeviceContext4 as windows_core::Interface>::IID
20143            || iid == &<ID3D11DeviceChild as windows_core::Interface>::IID
20144            || iid == &<ID3D11DeviceContext as windows_core::Interface>::IID
20145            || iid == &<ID3D11DeviceContext1 as windows_core::Interface>::IID
20146            || iid == &<ID3D11DeviceContext2 as windows_core::Interface>::IID
20147            || iid == &<ID3D11DeviceContext3 as windows_core::Interface>::IID
20148    }
20149}
20150#[cfg(all(
20151    feature = "Win32_Graphics_Direct3D",
20152    feature = "Win32_Graphics_Dxgi_Common"
20153))]
20154impl windows_core::RuntimeName for ID3D11DeviceContext4 {}
20155#[cfg(all(
20156    feature = "Win32_Graphics_Direct3D",
20157    feature = "Win32_Graphics_Dxgi_Common"
20158))]
20159unsafe impl Send for ID3D11DeviceContext4 {}
20160#[cfg(all(
20161    feature = "Win32_Graphics_Direct3D",
20162    feature = "Win32_Graphics_Dxgi_Common"
20163))]
20164unsafe impl Sync for ID3D11DeviceContext4 {}
20165windows_core::imp::define_interface!(
20166    ID3D11DomainShader,
20167    ID3D11DomainShader_Vtbl,
20168    0xf582c508_0f36_490c_9977_31eece268cfa
20169);
20170impl core::ops::Deref for ID3D11DomainShader {
20171    type Target = ID3D11DeviceChild;
20172    fn deref(&self) -> &Self::Target {
20173        unsafe { core::mem::transmute(self) }
20174    }
20175}
20176windows_core::imp::interface_hierarchy!(
20177    ID3D11DomainShader,
20178    windows_core::IUnknown,
20179    ID3D11DeviceChild
20180);
20181#[repr(C)]
20182pub struct ID3D11DomainShader_Vtbl {
20183    pub base__: ID3D11DeviceChild_Vtbl,
20184}
20185pub trait ID3D11DomainShader_Impl: ID3D11DeviceChild_Impl {}
20186impl ID3D11DomainShader_Vtbl {
20187    pub const fn new<Identity: ID3D11DomainShader_Impl, const OFFSET: isize>() -> Self {
20188        Self {
20189            base__: ID3D11DeviceChild_Vtbl::new::<Identity, OFFSET>(),
20190        }
20191    }
20192    pub fn matches(iid: &windows_core::GUID) -> bool {
20193        iid == &<ID3D11DomainShader as windows_core::Interface>::IID
20194            || iid == &<ID3D11DeviceChild as windows_core::Interface>::IID
20195    }
20196}
20197impl windows_core::RuntimeName for ID3D11DomainShader {}
20198unsafe impl Send for ID3D11DomainShader {}
20199unsafe impl Sync for ID3D11DomainShader {}
20200windows_core::imp::define_interface!(
20201    ID3D11Fence,
20202    ID3D11Fence_Vtbl,
20203    0xaffde9d1_1df7_4bb7_8a34_0f46251dab80
20204);
20205impl core::ops::Deref for ID3D11Fence {
20206    type Target = ID3D11DeviceChild;
20207    fn deref(&self) -> &Self::Target {
20208        unsafe { core::mem::transmute(self) }
20209    }
20210}
20211windows_core::imp::interface_hierarchy!(ID3D11Fence, windows_core::IUnknown, ID3D11DeviceChild);
20212impl ID3D11Fence {
20213    #[cfg(feature = "Win32_Security")]
20214    pub unsafe fn CreateSharedHandle<P2>(
20215        &self,
20216        pattributes: Option<*const crate::Security::SECURITY_ATTRIBUTES>,
20217        dwaccess: u32,
20218        lpname: P2,
20219    ) -> windows_core::Result<crate::Foundation::HANDLE>
20220    where
20221        P2: windows_core::Param<crate::core_supplemental::PCWSTR>,
20222    {
20223        unsafe {
20224            let mut result__ = core::mem::zeroed();
20225            (windows_core::Interface::vtable(self).CreateSharedHandle)(
20226                windows_core::Interface::as_raw(self),
20227                core::mem::transmute(pattributes.unwrap_or(core::mem::zeroed())),
20228                dwaccess,
20229                lpname.param().abi(),
20230                &mut result__,
20231            )
20232            .map(|| result__)
20233        }
20234    }
20235    pub unsafe fn GetCompletedValue(&self) -> u64 {
20236        unsafe {
20237            (windows_core::Interface::vtable(self).GetCompletedValue)(
20238                windows_core::Interface::as_raw(self),
20239            )
20240        }
20241    }
20242    pub unsafe fn SetEventOnCompletion(
20243        &self,
20244        value: u64,
20245        hevent: crate::Foundation::HANDLE,
20246    ) -> windows_core::Result<()> {
20247        unsafe {
20248            (windows_core::Interface::vtable(self).SetEventOnCompletion)(
20249                windows_core::Interface::as_raw(self),
20250                value,
20251                hevent,
20252            )
20253            .ok()
20254        }
20255    }
20256}
20257#[repr(C)]
20258pub struct ID3D11Fence_Vtbl {
20259    pub base__: ID3D11DeviceChild_Vtbl,
20260    #[cfg(feature = "Win32_Security")]
20261    pub CreateSharedHandle: unsafe extern "system" fn(
20262        *mut core::ffi::c_void,
20263        *const crate::Security::SECURITY_ATTRIBUTES,
20264        u32,
20265        crate::core_supplemental::PCWSTR,
20266        *mut crate::Foundation::HANDLE,
20267    ) -> windows_core::HRESULT,
20268    #[cfg(not(feature = "Win32_Security"))]
20269    CreateSharedHandle: usize,
20270    pub GetCompletedValue: unsafe extern "system" fn(*mut core::ffi::c_void) -> u64,
20271    pub SetEventOnCompletion: unsafe extern "system" fn(
20272        *mut core::ffi::c_void,
20273        u64,
20274        crate::Foundation::HANDLE,
20275    ) -> windows_core::HRESULT,
20276}
20277#[cfg(feature = "Win32_Security")]
20278pub trait ID3D11Fence_Impl: ID3D11DeviceChild_Impl {
20279    fn CreateSharedHandle(
20280        &self,
20281        pattributes: *const crate::Security::SECURITY_ATTRIBUTES,
20282        dwaccess: u32,
20283        lpname: &crate::core_supplemental::PCWSTR,
20284    ) -> windows_core::Result<crate::Foundation::HANDLE>;
20285    fn GetCompletedValue(&self) -> u64;
20286    fn SetEventOnCompletion(
20287        &self,
20288        value: u64,
20289        hevent: crate::Foundation::HANDLE,
20290    ) -> windows_core::Result<()>;
20291}
20292#[cfg(feature = "Win32_Security")]
20293impl ID3D11Fence_Vtbl {
20294    pub const fn new<Identity: ID3D11Fence_Impl, const OFFSET: isize>() -> Self {
20295        unsafe extern "system" fn CreateSharedHandle<
20296            Identity: ID3D11Fence_Impl,
20297            const OFFSET: isize,
20298        >(
20299            this: *mut core::ffi::c_void,
20300            pattributes: *const crate::Security::SECURITY_ATTRIBUTES,
20301            dwaccess: u32,
20302            lpname: crate::core_supplemental::PCWSTR,
20303            phandle: *mut crate::Foundation::HANDLE,
20304        ) -> windows_core::HRESULT {
20305            unsafe {
20306                let this: &Identity =
20307                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
20308                match ID3D11Fence_Impl::CreateSharedHandle(
20309                    this,
20310                    core::mem::transmute_copy(&pattributes),
20311                    core::mem::transmute_copy(&dwaccess),
20312                    core::mem::transmute(&lpname),
20313                ) {
20314                    Ok(ok__) => {
20315                        phandle.write(core::mem::transmute(ok__));
20316                        windows_core::HRESULT(0)
20317                    }
20318                    Err(err) => err.into(),
20319                }
20320            }
20321        }
20322        unsafe extern "system" fn GetCompletedValue<
20323            Identity: ID3D11Fence_Impl,
20324            const OFFSET: isize,
20325        >(
20326            this: *mut core::ffi::c_void,
20327        ) -> u64 {
20328            unsafe {
20329                let this: &Identity =
20330                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
20331                ID3D11Fence_Impl::GetCompletedValue(this)
20332            }
20333        }
20334        unsafe extern "system" fn SetEventOnCompletion<
20335            Identity: ID3D11Fence_Impl,
20336            const OFFSET: isize,
20337        >(
20338            this: *mut core::ffi::c_void,
20339            value: u64,
20340            hevent: crate::Foundation::HANDLE,
20341        ) -> windows_core::HRESULT {
20342            unsafe {
20343                let this: &Identity =
20344                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
20345                ID3D11Fence_Impl::SetEventOnCompletion(
20346                    this,
20347                    core::mem::transmute_copy(&value),
20348                    core::mem::transmute_copy(&hevent),
20349                )
20350                .into()
20351            }
20352        }
20353        Self {
20354            base__: ID3D11DeviceChild_Vtbl::new::<Identity, OFFSET>(),
20355            CreateSharedHandle: CreateSharedHandle::<Identity, OFFSET>,
20356            GetCompletedValue: GetCompletedValue::<Identity, OFFSET>,
20357            SetEventOnCompletion: SetEventOnCompletion::<Identity, OFFSET>,
20358        }
20359    }
20360    pub fn matches(iid: &windows_core::GUID) -> bool {
20361        iid == &<ID3D11Fence as windows_core::Interface>::IID
20362            || iid == &<ID3D11DeviceChild as windows_core::Interface>::IID
20363    }
20364}
20365#[cfg(feature = "Win32_Security")]
20366impl windows_core::RuntimeName for ID3D11Fence {}
20367#[cfg(feature = "Win32_Security")]
20368unsafe impl Send for ID3D11Fence {}
20369#[cfg(feature = "Win32_Security")]
20370unsafe impl Sync for ID3D11Fence {}
20371windows_core::imp::define_interface!(
20372    ID3D11FunctionLinkingGraph,
20373    ID3D11FunctionLinkingGraph_Vtbl,
20374    0x54133220_1ce8_43d3_8236_9855c5ceecff
20375);
20376windows_core::imp::interface_hierarchy!(ID3D11FunctionLinkingGraph, windows_core::IUnknown);
20377impl ID3D11FunctionLinkingGraph {
20378    #[cfg(feature = "Win32_Graphics_Direct3D")]
20379    pub unsafe fn CreateModuleInstance(
20380        &self,
20381        ppmoduleinstance: *mut Option<ID3D11ModuleInstance>,
20382        pperrorbuffer: Option<*mut Option<super::Direct3D::ID3DBlob>>,
20383    ) -> windows_core::Result<()> {
20384        unsafe {
20385            (windows_core::Interface::vtable(self).CreateModuleInstance)(
20386                windows_core::Interface::as_raw(self),
20387                core::mem::transmute(ppmoduleinstance),
20388                core::mem::transmute(pperrorbuffer.unwrap_or(core::mem::zeroed())),
20389            )
20390            .ok()
20391        }
20392    }
20393    #[cfg(feature = "Win32_Graphics_Direct3D")]
20394    pub unsafe fn SetInputSignature(
20395        &self,
20396        pinputparameters: &[D3D11_PARAMETER_DESC],
20397    ) -> windows_core::Result<ID3D11LinkingNode> {
20398        unsafe {
20399            let mut result__ = core::mem::zeroed();
20400            (windows_core::Interface::vtable(self).SetInputSignature)(
20401                windows_core::Interface::as_raw(self),
20402                core::mem::transmute(pinputparameters.as_ptr()),
20403                pinputparameters.len().try_into().unwrap(),
20404                &mut result__,
20405            )
20406            .and_then(|| windows_core::Type::from_abi(result__))
20407        }
20408    }
20409    #[cfg(feature = "Win32_Graphics_Direct3D")]
20410    pub unsafe fn SetOutputSignature(
20411        &self,
20412        poutputparameters: &[D3D11_PARAMETER_DESC],
20413    ) -> windows_core::Result<ID3D11LinkingNode> {
20414        unsafe {
20415            let mut result__ = core::mem::zeroed();
20416            (windows_core::Interface::vtable(self).SetOutputSignature)(
20417                windows_core::Interface::as_raw(self),
20418                core::mem::transmute(poutputparameters.as_ptr()),
20419                poutputparameters.len().try_into().unwrap(),
20420                &mut result__,
20421            )
20422            .and_then(|| windows_core::Type::from_abi(result__))
20423        }
20424    }
20425    pub unsafe fn CallFunction<P0, P1, P2>(
20426        &self,
20427        pmoduleinstancenamespace: P0,
20428        pmodulewithfunctionprototype: P1,
20429        pfunctionname: P2,
20430    ) -> windows_core::Result<ID3D11LinkingNode>
20431    where
20432        P0: windows_core::Param<crate::core_supplemental::PCSTR>,
20433        P1: windows_core::Param<ID3D11Module>,
20434        P2: windows_core::Param<crate::core_supplemental::PCSTR>,
20435    {
20436        unsafe {
20437            let mut result__ = core::mem::zeroed();
20438            (windows_core::Interface::vtable(self).CallFunction)(
20439                windows_core::Interface::as_raw(self),
20440                pmoduleinstancenamespace.param().abi(),
20441                pmodulewithfunctionprototype.param().abi(),
20442                pfunctionname.param().abi(),
20443                &mut result__,
20444            )
20445            .and_then(|| windows_core::Type::from_abi(result__))
20446        }
20447    }
20448    pub unsafe fn PassValue<P0, P2>(
20449        &self,
20450        psrcnode: P0,
20451        srcparameterindex: i32,
20452        pdstnode: P2,
20453        dstparameterindex: i32,
20454    ) -> windows_core::Result<()>
20455    where
20456        P0: windows_core::Param<ID3D11LinkingNode>,
20457        P2: windows_core::Param<ID3D11LinkingNode>,
20458    {
20459        unsafe {
20460            (windows_core::Interface::vtable(self).PassValue)(
20461                windows_core::Interface::as_raw(self),
20462                psrcnode.param().abi(),
20463                srcparameterindex,
20464                pdstnode.param().abi(),
20465                dstparameterindex,
20466            )
20467            .ok()
20468        }
20469    }
20470    pub unsafe fn PassValueWithSwizzle<P0, P2, P3, P5>(
20471        &self,
20472        psrcnode: P0,
20473        srcparameterindex: i32,
20474        psrcswizzle: P2,
20475        pdstnode: P3,
20476        dstparameterindex: i32,
20477        pdstswizzle: P5,
20478    ) -> windows_core::Result<()>
20479    where
20480        P0: windows_core::Param<ID3D11LinkingNode>,
20481        P2: windows_core::Param<crate::core_supplemental::PCSTR>,
20482        P3: windows_core::Param<ID3D11LinkingNode>,
20483        P5: windows_core::Param<crate::core_supplemental::PCSTR>,
20484    {
20485        unsafe {
20486            (windows_core::Interface::vtable(self).PassValueWithSwizzle)(
20487                windows_core::Interface::as_raw(self),
20488                psrcnode.param().abi(),
20489                srcparameterindex,
20490                psrcswizzle.param().abi(),
20491                pdstnode.param().abi(),
20492                dstparameterindex,
20493                pdstswizzle.param().abi(),
20494            )
20495            .ok()
20496        }
20497    }
20498    #[cfg(feature = "Win32_Graphics_Direct3D")]
20499    pub unsafe fn GetLastError(
20500        &self,
20501        pperrorbuffer: Option<*mut Option<super::Direct3D::ID3DBlob>>,
20502    ) -> windows_core::Result<()> {
20503        unsafe {
20504            (windows_core::Interface::vtable(self).GetLastError)(
20505                windows_core::Interface::as_raw(self),
20506                core::mem::transmute(pperrorbuffer.unwrap_or(core::mem::zeroed())),
20507            )
20508            .ok()
20509        }
20510    }
20511    #[cfg(feature = "Win32_Graphics_Direct3D")]
20512    pub unsafe fn GenerateHlsl(
20513        &self,
20514        uflags: u32,
20515    ) -> windows_core::Result<super::Direct3D::ID3DBlob> {
20516        unsafe {
20517            let mut result__ = core::mem::zeroed();
20518            (windows_core::Interface::vtable(self).GenerateHlsl)(
20519                windows_core::Interface::as_raw(self),
20520                uflags,
20521                &mut result__,
20522            )
20523            .and_then(|| windows_core::Type::from_abi(result__))
20524        }
20525    }
20526}
20527#[repr(C)]
20528pub struct ID3D11FunctionLinkingGraph_Vtbl {
20529    pub base__: windows_core::IUnknown_Vtbl,
20530    #[cfg(feature = "Win32_Graphics_Direct3D")]
20531    pub CreateModuleInstance: unsafe extern "system" fn(
20532        *mut core::ffi::c_void,
20533        *mut *mut core::ffi::c_void,
20534        *mut *mut core::ffi::c_void,
20535    ) -> windows_core::HRESULT,
20536    #[cfg(not(feature = "Win32_Graphics_Direct3D"))]
20537    CreateModuleInstance: usize,
20538    #[cfg(feature = "Win32_Graphics_Direct3D")]
20539    pub SetInputSignature: unsafe extern "system" fn(
20540        *mut core::ffi::c_void,
20541        *const D3D11_PARAMETER_DESC,
20542        u32,
20543        *mut *mut core::ffi::c_void,
20544    ) -> windows_core::HRESULT,
20545    #[cfg(not(feature = "Win32_Graphics_Direct3D"))]
20546    SetInputSignature: usize,
20547    #[cfg(feature = "Win32_Graphics_Direct3D")]
20548    pub SetOutputSignature: unsafe extern "system" fn(
20549        *mut core::ffi::c_void,
20550        *const D3D11_PARAMETER_DESC,
20551        u32,
20552        *mut *mut core::ffi::c_void,
20553    ) -> windows_core::HRESULT,
20554    #[cfg(not(feature = "Win32_Graphics_Direct3D"))]
20555    SetOutputSignature: usize,
20556    pub CallFunction: unsafe extern "system" fn(
20557        *mut core::ffi::c_void,
20558        crate::core_supplemental::PCSTR,
20559        *mut core::ffi::c_void,
20560        crate::core_supplemental::PCSTR,
20561        *mut *mut core::ffi::c_void,
20562    ) -> windows_core::HRESULT,
20563    pub PassValue: unsafe extern "system" fn(
20564        *mut core::ffi::c_void,
20565        *mut core::ffi::c_void,
20566        i32,
20567        *mut core::ffi::c_void,
20568        i32,
20569    ) -> windows_core::HRESULT,
20570    pub PassValueWithSwizzle: unsafe extern "system" fn(
20571        *mut core::ffi::c_void,
20572        *mut core::ffi::c_void,
20573        i32,
20574        crate::core_supplemental::PCSTR,
20575        *mut core::ffi::c_void,
20576        i32,
20577        crate::core_supplemental::PCSTR,
20578    ) -> windows_core::HRESULT,
20579    #[cfg(feature = "Win32_Graphics_Direct3D")]
20580    pub GetLastError: unsafe extern "system" fn(
20581        *mut core::ffi::c_void,
20582        *mut *mut core::ffi::c_void,
20583    ) -> windows_core::HRESULT,
20584    #[cfg(not(feature = "Win32_Graphics_Direct3D"))]
20585    GetLastError: usize,
20586    #[cfg(feature = "Win32_Graphics_Direct3D")]
20587    pub GenerateHlsl: unsafe extern "system" fn(
20588        *mut core::ffi::c_void,
20589        u32,
20590        *mut *mut core::ffi::c_void,
20591    ) -> windows_core::HRESULT,
20592    #[cfg(not(feature = "Win32_Graphics_Direct3D"))]
20593    GenerateHlsl: usize,
20594}
20595#[cfg(feature = "Win32_Graphics_Direct3D")]
20596pub trait ID3D11FunctionLinkingGraph_Impl: windows_core::IUnknownImpl {
20597    fn CreateModuleInstance(
20598        &self,
20599        ppmoduleinstance: windows_core::OutRef<'_, ID3D11ModuleInstance>,
20600        pperrorbuffer: windows_core::OutRef<'_, super::Direct3D::ID3DBlob>,
20601    ) -> windows_core::Result<()>;
20602    fn SetInputSignature(
20603        &self,
20604        pinputparameters: *const D3D11_PARAMETER_DESC,
20605        cinputparameters: u32,
20606    ) -> windows_core::Result<ID3D11LinkingNode>;
20607    fn SetOutputSignature(
20608        &self,
20609        poutputparameters: *const D3D11_PARAMETER_DESC,
20610        coutputparameters: u32,
20611    ) -> windows_core::Result<ID3D11LinkingNode>;
20612    fn CallFunction(
20613        &self,
20614        pmoduleinstancenamespace: &crate::core_supplemental::PCSTR,
20615        pmodulewithfunctionprototype: windows_core::Ref<'_, ID3D11Module>,
20616        pfunctionname: &crate::core_supplemental::PCSTR,
20617    ) -> windows_core::Result<ID3D11LinkingNode>;
20618    fn PassValue(
20619        &self,
20620        psrcnode: windows_core::Ref<'_, ID3D11LinkingNode>,
20621        srcparameterindex: i32,
20622        pdstnode: windows_core::Ref<'_, ID3D11LinkingNode>,
20623        dstparameterindex: i32,
20624    ) -> windows_core::Result<()>;
20625    fn PassValueWithSwizzle(
20626        &self,
20627        psrcnode: windows_core::Ref<'_, ID3D11LinkingNode>,
20628        srcparameterindex: i32,
20629        psrcswizzle: &crate::core_supplemental::PCSTR,
20630        pdstnode: windows_core::Ref<'_, ID3D11LinkingNode>,
20631        dstparameterindex: i32,
20632        pdstswizzle: &crate::core_supplemental::PCSTR,
20633    ) -> windows_core::Result<()>;
20634    fn GetLastError(
20635        &self,
20636        pperrorbuffer: windows_core::OutRef<'_, super::Direct3D::ID3DBlob>,
20637    ) -> windows_core::Result<()>;
20638    fn GenerateHlsl(&self, uflags: u32) -> windows_core::Result<super::Direct3D::ID3DBlob>;
20639}
20640#[cfg(feature = "Win32_Graphics_Direct3D")]
20641impl ID3D11FunctionLinkingGraph_Vtbl {
20642    pub const fn new<Identity: ID3D11FunctionLinkingGraph_Impl, const OFFSET: isize>() -> Self {
20643        unsafe extern "system" fn CreateModuleInstance<
20644            Identity: ID3D11FunctionLinkingGraph_Impl,
20645            const OFFSET: isize,
20646        >(
20647            this: *mut core::ffi::c_void,
20648            ppmoduleinstance: *mut *mut core::ffi::c_void,
20649            pperrorbuffer: *mut *mut core::ffi::c_void,
20650        ) -> windows_core::HRESULT {
20651            unsafe {
20652                let this: &Identity =
20653                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
20654                ID3D11FunctionLinkingGraph_Impl::CreateModuleInstance(
20655                    this,
20656                    core::mem::transmute_copy(&ppmoduleinstance),
20657                    core::mem::transmute_copy(&pperrorbuffer),
20658                )
20659                .into()
20660            }
20661        }
20662        unsafe extern "system" fn SetInputSignature<
20663            Identity: ID3D11FunctionLinkingGraph_Impl,
20664            const OFFSET: isize,
20665        >(
20666            this: *mut core::ffi::c_void,
20667            pinputparameters: *const D3D11_PARAMETER_DESC,
20668            cinputparameters: u32,
20669            ppinputnode: *mut *mut core::ffi::c_void,
20670        ) -> windows_core::HRESULT {
20671            unsafe {
20672                let this: &Identity =
20673                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
20674                match ID3D11FunctionLinkingGraph_Impl::SetInputSignature(
20675                    this,
20676                    core::mem::transmute_copy(&pinputparameters),
20677                    core::mem::transmute_copy(&cinputparameters),
20678                ) {
20679                    Ok(ok__) => {
20680                        ppinputnode.write(core::mem::transmute(ok__));
20681                        windows_core::HRESULT(0)
20682                    }
20683                    Err(err) => err.into(),
20684                }
20685            }
20686        }
20687        unsafe extern "system" fn SetOutputSignature<
20688            Identity: ID3D11FunctionLinkingGraph_Impl,
20689            const OFFSET: isize,
20690        >(
20691            this: *mut core::ffi::c_void,
20692            poutputparameters: *const D3D11_PARAMETER_DESC,
20693            coutputparameters: u32,
20694            ppoutputnode: *mut *mut core::ffi::c_void,
20695        ) -> windows_core::HRESULT {
20696            unsafe {
20697                let this: &Identity =
20698                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
20699                match ID3D11FunctionLinkingGraph_Impl::SetOutputSignature(
20700                    this,
20701                    core::mem::transmute_copy(&poutputparameters),
20702                    core::mem::transmute_copy(&coutputparameters),
20703                ) {
20704                    Ok(ok__) => {
20705                        ppoutputnode.write(core::mem::transmute(ok__));
20706                        windows_core::HRESULT(0)
20707                    }
20708                    Err(err) => err.into(),
20709                }
20710            }
20711        }
20712        unsafe extern "system" fn CallFunction<
20713            Identity: ID3D11FunctionLinkingGraph_Impl,
20714            const OFFSET: isize,
20715        >(
20716            this: *mut core::ffi::c_void,
20717            pmoduleinstancenamespace: crate::core_supplemental::PCSTR,
20718            pmodulewithfunctionprototype: *mut core::ffi::c_void,
20719            pfunctionname: crate::core_supplemental::PCSTR,
20720            ppcallnode: *mut *mut core::ffi::c_void,
20721        ) -> windows_core::HRESULT {
20722            unsafe {
20723                let this: &Identity =
20724                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
20725                match ID3D11FunctionLinkingGraph_Impl::CallFunction(
20726                    this,
20727                    core::mem::transmute(&pmoduleinstancenamespace),
20728                    core::mem::transmute_copy(&pmodulewithfunctionprototype),
20729                    core::mem::transmute(&pfunctionname),
20730                ) {
20731                    Ok(ok__) => {
20732                        ppcallnode.write(core::mem::transmute(ok__));
20733                        windows_core::HRESULT(0)
20734                    }
20735                    Err(err) => err.into(),
20736                }
20737            }
20738        }
20739        unsafe extern "system" fn PassValue<
20740            Identity: ID3D11FunctionLinkingGraph_Impl,
20741            const OFFSET: isize,
20742        >(
20743            this: *mut core::ffi::c_void,
20744            psrcnode: *mut core::ffi::c_void,
20745            srcparameterindex: i32,
20746            pdstnode: *mut core::ffi::c_void,
20747            dstparameterindex: i32,
20748        ) -> windows_core::HRESULT {
20749            unsafe {
20750                let this: &Identity =
20751                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
20752                ID3D11FunctionLinkingGraph_Impl::PassValue(
20753                    this,
20754                    core::mem::transmute_copy(&psrcnode),
20755                    core::mem::transmute_copy(&srcparameterindex),
20756                    core::mem::transmute_copy(&pdstnode),
20757                    core::mem::transmute_copy(&dstparameterindex),
20758                )
20759                .into()
20760            }
20761        }
20762        unsafe extern "system" fn PassValueWithSwizzle<
20763            Identity: ID3D11FunctionLinkingGraph_Impl,
20764            const OFFSET: isize,
20765        >(
20766            this: *mut core::ffi::c_void,
20767            psrcnode: *mut core::ffi::c_void,
20768            srcparameterindex: i32,
20769            psrcswizzle: crate::core_supplemental::PCSTR,
20770            pdstnode: *mut core::ffi::c_void,
20771            dstparameterindex: i32,
20772            pdstswizzle: crate::core_supplemental::PCSTR,
20773        ) -> windows_core::HRESULT {
20774            unsafe {
20775                let this: &Identity =
20776                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
20777                ID3D11FunctionLinkingGraph_Impl::PassValueWithSwizzle(
20778                    this,
20779                    core::mem::transmute_copy(&psrcnode),
20780                    core::mem::transmute_copy(&srcparameterindex),
20781                    core::mem::transmute(&psrcswizzle),
20782                    core::mem::transmute_copy(&pdstnode),
20783                    core::mem::transmute_copy(&dstparameterindex),
20784                    core::mem::transmute(&pdstswizzle),
20785                )
20786                .into()
20787            }
20788        }
20789        unsafe extern "system" fn GetLastError<
20790            Identity: ID3D11FunctionLinkingGraph_Impl,
20791            const OFFSET: isize,
20792        >(
20793            this: *mut core::ffi::c_void,
20794            pperrorbuffer: *mut *mut core::ffi::c_void,
20795        ) -> windows_core::HRESULT {
20796            unsafe {
20797                let this: &Identity =
20798                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
20799                ID3D11FunctionLinkingGraph_Impl::GetLastError(
20800                    this,
20801                    core::mem::transmute_copy(&pperrorbuffer),
20802                )
20803                .into()
20804            }
20805        }
20806        unsafe extern "system" fn GenerateHlsl<
20807            Identity: ID3D11FunctionLinkingGraph_Impl,
20808            const OFFSET: isize,
20809        >(
20810            this: *mut core::ffi::c_void,
20811            uflags: u32,
20812            ppbuffer: *mut *mut core::ffi::c_void,
20813        ) -> windows_core::HRESULT {
20814            unsafe {
20815                let this: &Identity =
20816                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
20817                match ID3D11FunctionLinkingGraph_Impl::GenerateHlsl(
20818                    this,
20819                    core::mem::transmute_copy(&uflags),
20820                ) {
20821                    Ok(ok__) => {
20822                        ppbuffer.write(core::mem::transmute(ok__));
20823                        windows_core::HRESULT(0)
20824                    }
20825                    Err(err) => err.into(),
20826                }
20827            }
20828        }
20829        Self {
20830            base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
20831            CreateModuleInstance: CreateModuleInstance::<Identity, OFFSET>,
20832            SetInputSignature: SetInputSignature::<Identity, OFFSET>,
20833            SetOutputSignature: SetOutputSignature::<Identity, OFFSET>,
20834            CallFunction: CallFunction::<Identity, OFFSET>,
20835            PassValue: PassValue::<Identity, OFFSET>,
20836            PassValueWithSwizzle: PassValueWithSwizzle::<Identity, OFFSET>,
20837            GetLastError: GetLastError::<Identity, OFFSET>,
20838            GenerateHlsl: GenerateHlsl::<Identity, OFFSET>,
20839        }
20840    }
20841    pub fn matches(iid: &windows_core::GUID) -> bool {
20842        iid == &<ID3D11FunctionLinkingGraph as windows_core::Interface>::IID
20843    }
20844}
20845#[cfg(feature = "Win32_Graphics_Direct3D")]
20846impl windows_core::RuntimeName for ID3D11FunctionLinkingGraph {}
20847#[cfg(feature = "Win32_Graphics_Direct3D")]
20848unsafe impl Send for ID3D11FunctionLinkingGraph {}
20849#[cfg(feature = "Win32_Graphics_Direct3D")]
20850unsafe impl Sync for ID3D11FunctionLinkingGraph {}
20851windows_core::imp::define_interface!(
20852    ID3D11FunctionParameterReflection,
20853    ID3D11FunctionParameterReflection_Vtbl
20854);
20855impl ID3D11FunctionParameterReflection {
20856    #[cfg(feature = "Win32_Graphics_Direct3D")]
20857    pub unsafe fn GetDesc(&self, pdesc: *mut D3D11_PARAMETER_DESC) -> windows_core::Result<()> {
20858        unsafe {
20859            (windows_core::Interface::vtable(self).GetDesc)(
20860                windows_core::Interface::as_raw(self),
20861                core::mem::transmute(pdesc),
20862            )
20863            .ok()
20864        }
20865    }
20866}
20867#[repr(C)]
20868pub struct ID3D11FunctionParameterReflection_Vtbl {
20869    #[cfg(feature = "Win32_Graphics_Direct3D")]
20870    pub GetDesc: unsafe extern "system" fn(
20871        *mut core::ffi::c_void,
20872        *mut D3D11_PARAMETER_DESC,
20873    ) -> windows_core::HRESULT,
20874    #[cfg(not(feature = "Win32_Graphics_Direct3D"))]
20875    GetDesc: usize,
20876}
20877#[cfg(feature = "Win32_Graphics_Direct3D")]
20878pub trait ID3D11FunctionParameterReflection_Impl {
20879    fn GetDesc(&self, pdesc: *mut D3D11_PARAMETER_DESC) -> windows_core::Result<()>;
20880}
20881#[cfg(feature = "Win32_Graphics_Direct3D")]
20882impl ID3D11FunctionParameterReflection_Vtbl {
20883    pub const fn new<Identity: ID3D11FunctionParameterReflection_Impl>() -> Self {
20884        unsafe extern "system" fn GetDesc<Identity: ID3D11FunctionParameterReflection_Impl>(
20885            this: *mut core::ffi::c_void,
20886            pdesc: *mut D3D11_PARAMETER_DESC,
20887        ) -> windows_core::HRESULT {
20888            unsafe {
20889                let this = (this as *mut *mut core::ffi::c_void) as *const windows_core::ScopedHeap;
20890                let this = &*((*this).this as *const Identity);
20891                ID3D11FunctionParameterReflection_Impl::GetDesc(
20892                    this,
20893                    core::mem::transmute_copy(&pdesc),
20894                )
20895                .into()
20896            }
20897        }
20898        Self {
20899            GetDesc: GetDesc::<Identity>,
20900        }
20901    }
20902}
20903#[cfg(feature = "Win32_Graphics_Direct3D")]
20904struct ID3D11FunctionParameterReflection_ImplVtbl<T: ID3D11FunctionParameterReflection_Impl>(
20905    core::marker::PhantomData<T>,
20906);
20907#[cfg(feature = "Win32_Graphics_Direct3D")]
20908impl<T: ID3D11FunctionParameterReflection_Impl> ID3D11FunctionParameterReflection_ImplVtbl<T> {
20909    const VTABLE: ID3D11FunctionParameterReflection_Vtbl =
20910        ID3D11FunctionParameterReflection_Vtbl::new::<T>();
20911}
20912#[cfg(feature = "Win32_Graphics_Direct3D")]
20913impl ID3D11FunctionParameterReflection {
20914    pub fn new<T: ID3D11FunctionParameterReflection_Impl>(
20915        this: &T,
20916    ) -> windows_core::ScopedInterface<'_, Self> {
20917        let this = windows_core::ScopedHeap {
20918            vtable: &ID3D11FunctionParameterReflection_ImplVtbl::<T>::VTABLE as *const _
20919                as *const _,
20920            this: this as *const _ as *const _,
20921        };
20922        let this = core::mem::ManuallyDrop::new(windows_core::imp::Box::new(this));
20923        unsafe { windows_core::ScopedInterface::new(core::mem::transmute(&this.vtable)) }
20924    }
20925}
20926#[cfg(feature = "Win32_Graphics_Direct3D")]
20927unsafe impl Send for ID3D11FunctionParameterReflection {}
20928#[cfg(feature = "Win32_Graphics_Direct3D")]
20929unsafe impl Sync for ID3D11FunctionParameterReflection {}
20930windows_core::imp::define_interface!(ID3D11FunctionReflection, ID3D11FunctionReflection_Vtbl);
20931impl ID3D11FunctionReflection {
20932    #[cfg(feature = "Win32_Graphics_Direct3D")]
20933    pub unsafe fn GetDesc(&self, pdesc: *mut D3D11_FUNCTION_DESC) -> windows_core::Result<()> {
20934        unsafe {
20935            (windows_core::Interface::vtable(self).GetDesc)(
20936                windows_core::Interface::as_raw(self),
20937                core::mem::transmute(pdesc),
20938            )
20939            .ok()
20940        }
20941    }
20942    pub unsafe fn GetConstantBufferByIndex(
20943        &self,
20944        bufferindex: u32,
20945    ) -> Option<ID3D11ShaderReflectionConstantBuffer> {
20946        unsafe {
20947            (windows_core::Interface::vtable(self).GetConstantBufferByIndex)(
20948                windows_core::Interface::as_raw(self),
20949                bufferindex,
20950            )
20951        }
20952    }
20953    pub unsafe fn GetConstantBufferByName<P0>(
20954        &self,
20955        name: P0,
20956    ) -> Option<ID3D11ShaderReflectionConstantBuffer>
20957    where
20958        P0: windows_core::Param<crate::core_supplemental::PCSTR>,
20959    {
20960        unsafe {
20961            (windows_core::Interface::vtable(self).GetConstantBufferByName)(
20962                windows_core::Interface::as_raw(self),
20963                name.param().abi(),
20964            )
20965        }
20966    }
20967    #[cfg(feature = "Win32_Graphics_Direct3D")]
20968    pub unsafe fn GetResourceBindingDesc(
20969        &self,
20970        resourceindex: u32,
20971        pdesc: *mut D3D11_SHADER_INPUT_BIND_DESC,
20972    ) -> windows_core::Result<()> {
20973        unsafe {
20974            (windows_core::Interface::vtable(self).GetResourceBindingDesc)(
20975                windows_core::Interface::as_raw(self),
20976                resourceindex,
20977                core::mem::transmute(pdesc),
20978            )
20979            .ok()
20980        }
20981    }
20982    pub unsafe fn GetVariableByName<P0>(&self, name: P0) -> Option<ID3D11ShaderReflectionVariable>
20983    where
20984        P0: windows_core::Param<crate::core_supplemental::PCSTR>,
20985    {
20986        unsafe {
20987            (windows_core::Interface::vtable(self).GetVariableByName)(
20988                windows_core::Interface::as_raw(self),
20989                name.param().abi(),
20990            )
20991        }
20992    }
20993    #[cfg(feature = "Win32_Graphics_Direct3D")]
20994    pub unsafe fn GetResourceBindingDescByName<P0>(
20995        &self,
20996        name: P0,
20997        pdesc: *mut D3D11_SHADER_INPUT_BIND_DESC,
20998    ) -> windows_core::Result<()>
20999    where
21000        P0: windows_core::Param<crate::core_supplemental::PCSTR>,
21001    {
21002        unsafe {
21003            (windows_core::Interface::vtable(self).GetResourceBindingDescByName)(
21004                windows_core::Interface::as_raw(self),
21005                name.param().abi(),
21006                core::mem::transmute(pdesc),
21007            )
21008            .ok()
21009        }
21010    }
21011    pub unsafe fn GetFunctionParameter(
21012        &self,
21013        parameterindex: i32,
21014    ) -> Option<ID3D11FunctionParameterReflection> {
21015        unsafe {
21016            (windows_core::Interface::vtable(self).GetFunctionParameter)(
21017                windows_core::Interface::as_raw(self),
21018                parameterindex,
21019            )
21020        }
21021    }
21022}
21023#[repr(C)]
21024pub struct ID3D11FunctionReflection_Vtbl {
21025    #[cfg(feature = "Win32_Graphics_Direct3D")]
21026    pub GetDesc: unsafe extern "system" fn(
21027        *mut core::ffi::c_void,
21028        *mut D3D11_FUNCTION_DESC,
21029    ) -> windows_core::HRESULT,
21030    #[cfg(not(feature = "Win32_Graphics_Direct3D"))]
21031    GetDesc: usize,
21032    pub GetConstantBufferByIndex:
21033        unsafe extern "system" fn(
21034            *mut core::ffi::c_void,
21035            u32,
21036        ) -> Option<ID3D11ShaderReflectionConstantBuffer>,
21037    pub GetConstantBufferByName:
21038        unsafe extern "system" fn(
21039            *mut core::ffi::c_void,
21040            crate::core_supplemental::PCSTR,
21041        ) -> Option<ID3D11ShaderReflectionConstantBuffer>,
21042    #[cfg(feature = "Win32_Graphics_Direct3D")]
21043    pub GetResourceBindingDesc: unsafe extern "system" fn(
21044        *mut core::ffi::c_void,
21045        u32,
21046        *mut D3D11_SHADER_INPUT_BIND_DESC,
21047    ) -> windows_core::HRESULT,
21048    #[cfg(not(feature = "Win32_Graphics_Direct3D"))]
21049    GetResourceBindingDesc: usize,
21050    pub GetVariableByName: unsafe extern "system" fn(
21051        *mut core::ffi::c_void,
21052        crate::core_supplemental::PCSTR,
21053    ) -> Option<ID3D11ShaderReflectionVariable>,
21054    #[cfg(feature = "Win32_Graphics_Direct3D")]
21055    pub GetResourceBindingDescByName: unsafe extern "system" fn(
21056        *mut core::ffi::c_void,
21057        crate::core_supplemental::PCSTR,
21058        *mut D3D11_SHADER_INPUT_BIND_DESC,
21059    ) -> windows_core::HRESULT,
21060    #[cfg(not(feature = "Win32_Graphics_Direct3D"))]
21061    GetResourceBindingDescByName: usize,
21062    pub GetFunctionParameter:
21063        unsafe extern "system" fn(
21064            *mut core::ffi::c_void,
21065            i32,
21066        ) -> Option<ID3D11FunctionParameterReflection>,
21067}
21068#[cfg(feature = "Win32_Graphics_Direct3D")]
21069pub trait ID3D11FunctionReflection_Impl {
21070    fn GetDesc(&self, pdesc: *mut D3D11_FUNCTION_DESC) -> windows_core::Result<()>;
21071    fn GetConstantBufferByIndex(
21072        &self,
21073        bufferindex: u32,
21074    ) -> Option<ID3D11ShaderReflectionConstantBuffer>;
21075    fn GetConstantBufferByName(
21076        &self,
21077        name: &crate::core_supplemental::PCSTR,
21078    ) -> Option<ID3D11ShaderReflectionConstantBuffer>;
21079    fn GetResourceBindingDesc(
21080        &self,
21081        resourceindex: u32,
21082        pdesc: *mut D3D11_SHADER_INPUT_BIND_DESC,
21083    ) -> windows_core::Result<()>;
21084    fn GetVariableByName(
21085        &self,
21086        name: &crate::core_supplemental::PCSTR,
21087    ) -> Option<ID3D11ShaderReflectionVariable>;
21088    fn GetResourceBindingDescByName(
21089        &self,
21090        name: &crate::core_supplemental::PCSTR,
21091        pdesc: *mut D3D11_SHADER_INPUT_BIND_DESC,
21092    ) -> windows_core::Result<()>;
21093    fn GetFunctionParameter(
21094        &self,
21095        parameterindex: i32,
21096    ) -> Option<ID3D11FunctionParameterReflection>;
21097}
21098#[cfg(feature = "Win32_Graphics_Direct3D")]
21099impl ID3D11FunctionReflection_Vtbl {
21100    pub const fn new<Identity: ID3D11FunctionReflection_Impl>() -> Self {
21101        unsafe extern "system" fn GetDesc<Identity: ID3D11FunctionReflection_Impl>(
21102            this: *mut core::ffi::c_void,
21103            pdesc: *mut D3D11_FUNCTION_DESC,
21104        ) -> windows_core::HRESULT {
21105            unsafe {
21106                let this = (this as *mut *mut core::ffi::c_void) as *const windows_core::ScopedHeap;
21107                let this = &*((*this).this as *const Identity);
21108                ID3D11FunctionReflection_Impl::GetDesc(this, core::mem::transmute_copy(&pdesc))
21109                    .into()
21110            }
21111        }
21112        unsafe extern "system" fn GetConstantBufferByIndex<
21113            Identity: ID3D11FunctionReflection_Impl,
21114        >(
21115            this: *mut core::ffi::c_void,
21116            bufferindex: u32,
21117        ) -> Option<ID3D11ShaderReflectionConstantBuffer> {
21118            unsafe {
21119                let this = (this as *mut *mut core::ffi::c_void) as *const windows_core::ScopedHeap;
21120                let this = &*((*this).this as *const Identity);
21121                ID3D11FunctionReflection_Impl::GetConstantBufferByIndex(
21122                    this,
21123                    core::mem::transmute_copy(&bufferindex),
21124                )
21125            }
21126        }
21127        unsafe extern "system" fn GetConstantBufferByName<
21128            Identity: ID3D11FunctionReflection_Impl,
21129        >(
21130            this: *mut core::ffi::c_void,
21131            name: crate::core_supplemental::PCSTR,
21132        ) -> Option<ID3D11ShaderReflectionConstantBuffer> {
21133            unsafe {
21134                let this = (this as *mut *mut core::ffi::c_void) as *const windows_core::ScopedHeap;
21135                let this = &*((*this).this as *const Identity);
21136                ID3D11FunctionReflection_Impl::GetConstantBufferByName(
21137                    this,
21138                    core::mem::transmute(&name),
21139                )
21140            }
21141        }
21142        unsafe extern "system" fn GetResourceBindingDesc<
21143            Identity: ID3D11FunctionReflection_Impl,
21144        >(
21145            this: *mut core::ffi::c_void,
21146            resourceindex: u32,
21147            pdesc: *mut D3D11_SHADER_INPUT_BIND_DESC,
21148        ) -> windows_core::HRESULT {
21149            unsafe {
21150                let this = (this as *mut *mut core::ffi::c_void) as *const windows_core::ScopedHeap;
21151                let this = &*((*this).this as *const Identity);
21152                ID3D11FunctionReflection_Impl::GetResourceBindingDesc(
21153                    this,
21154                    core::mem::transmute_copy(&resourceindex),
21155                    core::mem::transmute_copy(&pdesc),
21156                )
21157                .into()
21158            }
21159        }
21160        unsafe extern "system" fn GetVariableByName<Identity: ID3D11FunctionReflection_Impl>(
21161            this: *mut core::ffi::c_void,
21162            name: crate::core_supplemental::PCSTR,
21163        ) -> Option<ID3D11ShaderReflectionVariable> {
21164            unsafe {
21165                let this = (this as *mut *mut core::ffi::c_void) as *const windows_core::ScopedHeap;
21166                let this = &*((*this).this as *const Identity);
21167                ID3D11FunctionReflection_Impl::GetVariableByName(this, core::mem::transmute(&name))
21168            }
21169        }
21170        unsafe extern "system" fn GetResourceBindingDescByName<
21171            Identity: ID3D11FunctionReflection_Impl,
21172        >(
21173            this: *mut core::ffi::c_void,
21174            name: crate::core_supplemental::PCSTR,
21175            pdesc: *mut D3D11_SHADER_INPUT_BIND_DESC,
21176        ) -> windows_core::HRESULT {
21177            unsafe {
21178                let this = (this as *mut *mut core::ffi::c_void) as *const windows_core::ScopedHeap;
21179                let this = &*((*this).this as *const Identity);
21180                ID3D11FunctionReflection_Impl::GetResourceBindingDescByName(
21181                    this,
21182                    core::mem::transmute(&name),
21183                    core::mem::transmute_copy(&pdesc),
21184                )
21185                .into()
21186            }
21187        }
21188        unsafe extern "system" fn GetFunctionParameter<Identity: ID3D11FunctionReflection_Impl>(
21189            this: *mut core::ffi::c_void,
21190            parameterindex: i32,
21191        ) -> Option<ID3D11FunctionParameterReflection> {
21192            unsafe {
21193                let this = (this as *mut *mut core::ffi::c_void) as *const windows_core::ScopedHeap;
21194                let this = &*((*this).this as *const Identity);
21195                ID3D11FunctionReflection_Impl::GetFunctionParameter(
21196                    this,
21197                    core::mem::transmute_copy(&parameterindex),
21198                )
21199            }
21200        }
21201        Self {
21202            GetDesc: GetDesc::<Identity>,
21203            GetConstantBufferByIndex: GetConstantBufferByIndex::<Identity>,
21204            GetConstantBufferByName: GetConstantBufferByName::<Identity>,
21205            GetResourceBindingDesc: GetResourceBindingDesc::<Identity>,
21206            GetVariableByName: GetVariableByName::<Identity>,
21207            GetResourceBindingDescByName: GetResourceBindingDescByName::<Identity>,
21208            GetFunctionParameter: GetFunctionParameter::<Identity>,
21209        }
21210    }
21211}
21212#[cfg(feature = "Win32_Graphics_Direct3D")]
21213struct ID3D11FunctionReflection_ImplVtbl<T: ID3D11FunctionReflection_Impl>(
21214    core::marker::PhantomData<T>,
21215);
21216#[cfg(feature = "Win32_Graphics_Direct3D")]
21217impl<T: ID3D11FunctionReflection_Impl> ID3D11FunctionReflection_ImplVtbl<T> {
21218    const VTABLE: ID3D11FunctionReflection_Vtbl = ID3D11FunctionReflection_Vtbl::new::<T>();
21219}
21220#[cfg(feature = "Win32_Graphics_Direct3D")]
21221impl ID3D11FunctionReflection {
21222    pub fn new<T: ID3D11FunctionReflection_Impl>(
21223        this: &T,
21224    ) -> windows_core::ScopedInterface<'_, Self> {
21225        let this = windows_core::ScopedHeap {
21226            vtable: &ID3D11FunctionReflection_ImplVtbl::<T>::VTABLE as *const _ as *const _,
21227            this: this as *const _ as *const _,
21228        };
21229        let this = core::mem::ManuallyDrop::new(windows_core::imp::Box::new(this));
21230        unsafe { windows_core::ScopedInterface::new(core::mem::transmute(&this.vtable)) }
21231    }
21232}
21233#[cfg(feature = "Win32_Graphics_Direct3D")]
21234unsafe impl Send for ID3D11FunctionReflection {}
21235#[cfg(feature = "Win32_Graphics_Direct3D")]
21236unsafe impl Sync for ID3D11FunctionReflection {}
21237windows_core::imp::define_interface!(
21238    ID3D11GeometryShader,
21239    ID3D11GeometryShader_Vtbl,
21240    0x38325b96_effb_4022_ba02_2e795b70275c
21241);
21242impl core::ops::Deref for ID3D11GeometryShader {
21243    type Target = ID3D11DeviceChild;
21244    fn deref(&self) -> &Self::Target {
21245        unsafe { core::mem::transmute(self) }
21246    }
21247}
21248windows_core::imp::interface_hierarchy!(
21249    ID3D11GeometryShader,
21250    windows_core::IUnknown,
21251    ID3D11DeviceChild
21252);
21253#[repr(C)]
21254pub struct ID3D11GeometryShader_Vtbl {
21255    pub base__: ID3D11DeviceChild_Vtbl,
21256}
21257pub trait ID3D11GeometryShader_Impl: ID3D11DeviceChild_Impl {}
21258impl ID3D11GeometryShader_Vtbl {
21259    pub const fn new<Identity: ID3D11GeometryShader_Impl, const OFFSET: isize>() -> Self {
21260        Self {
21261            base__: ID3D11DeviceChild_Vtbl::new::<Identity, OFFSET>(),
21262        }
21263    }
21264    pub fn matches(iid: &windows_core::GUID) -> bool {
21265        iid == &<ID3D11GeometryShader as windows_core::Interface>::IID
21266            || iid == &<ID3D11DeviceChild as windows_core::Interface>::IID
21267    }
21268}
21269impl windows_core::RuntimeName for ID3D11GeometryShader {}
21270unsafe impl Send for ID3D11GeometryShader {}
21271unsafe impl Sync for ID3D11GeometryShader {}
21272windows_core::imp::define_interface!(
21273    ID3D11HullShader,
21274    ID3D11HullShader_Vtbl,
21275    0x8e5c6061_628a_4c8e_8264_bbe45cb3d5dd
21276);
21277impl core::ops::Deref for ID3D11HullShader {
21278    type Target = ID3D11DeviceChild;
21279    fn deref(&self) -> &Self::Target {
21280        unsafe { core::mem::transmute(self) }
21281    }
21282}
21283windows_core::imp::interface_hierarchy!(
21284    ID3D11HullShader,
21285    windows_core::IUnknown,
21286    ID3D11DeviceChild
21287);
21288#[repr(C)]
21289pub struct ID3D11HullShader_Vtbl {
21290    pub base__: ID3D11DeviceChild_Vtbl,
21291}
21292pub trait ID3D11HullShader_Impl: ID3D11DeviceChild_Impl {}
21293impl ID3D11HullShader_Vtbl {
21294    pub const fn new<Identity: ID3D11HullShader_Impl, const OFFSET: isize>() -> Self {
21295        Self {
21296            base__: ID3D11DeviceChild_Vtbl::new::<Identity, OFFSET>(),
21297        }
21298    }
21299    pub fn matches(iid: &windows_core::GUID) -> bool {
21300        iid == &<ID3D11HullShader as windows_core::Interface>::IID
21301            || iid == &<ID3D11DeviceChild as windows_core::Interface>::IID
21302    }
21303}
21304impl windows_core::RuntimeName for ID3D11HullShader {}
21305unsafe impl Send for ID3D11HullShader {}
21306unsafe impl Sync for ID3D11HullShader {}
21307windows_core::imp::define_interface!(
21308    ID3D11InfoQueue,
21309    ID3D11InfoQueue_Vtbl,
21310    0x6543dbb6_1b48_42f5_ab82_e97ec74326f6
21311);
21312windows_core::imp::interface_hierarchy!(ID3D11InfoQueue, windows_core::IUnknown);
21313impl ID3D11InfoQueue {
21314    pub unsafe fn SetMessageCountLimit(&self, messagecountlimit: u64) -> windows_core::Result<()> {
21315        unsafe {
21316            (windows_core::Interface::vtable(self).SetMessageCountLimit)(
21317                windows_core::Interface::as_raw(self),
21318                messagecountlimit,
21319            )
21320            .ok()
21321        }
21322    }
21323    pub unsafe fn ClearStoredMessages(&self) {
21324        unsafe {
21325            (windows_core::Interface::vtable(self).ClearStoredMessages)(
21326                windows_core::Interface::as_raw(self),
21327            )
21328        }
21329    }
21330    pub unsafe fn GetMessage(
21331        &self,
21332        messageindex: u64,
21333        pmessage: Option<*mut D3D11_MESSAGE>,
21334        pmessagebytelength: *mut usize,
21335    ) -> windows_core::Result<()> {
21336        unsafe {
21337            (windows_core::Interface::vtable(self).GetMessage)(
21338                windows_core::Interface::as_raw(self),
21339                messageindex,
21340                core::mem::transmute(pmessage.unwrap_or(core::mem::zeroed())),
21341                core::mem::transmute(pmessagebytelength),
21342            )
21343            .ok()
21344        }
21345    }
21346    pub unsafe fn GetNumMessagesAllowedByStorageFilter(&self) -> u64 {
21347        unsafe {
21348            (windows_core::Interface::vtable(self).GetNumMessagesAllowedByStorageFilter)(
21349                windows_core::Interface::as_raw(self),
21350            )
21351        }
21352    }
21353    pub unsafe fn GetNumMessagesDeniedByStorageFilter(&self) -> u64 {
21354        unsafe {
21355            (windows_core::Interface::vtable(self).GetNumMessagesDeniedByStorageFilter)(
21356                windows_core::Interface::as_raw(self),
21357            )
21358        }
21359    }
21360    pub unsafe fn GetNumStoredMessages(&self) -> u64 {
21361        unsafe {
21362            (windows_core::Interface::vtable(self).GetNumStoredMessages)(
21363                windows_core::Interface::as_raw(self),
21364            )
21365        }
21366    }
21367    pub unsafe fn GetNumStoredMessagesAllowedByRetrievalFilter(&self) -> u64 {
21368        unsafe {
21369            (windows_core::Interface::vtable(self).GetNumStoredMessagesAllowedByRetrievalFilter)(
21370                windows_core::Interface::as_raw(self),
21371            )
21372        }
21373    }
21374    pub unsafe fn GetNumMessagesDiscardedByMessageCountLimit(&self) -> u64 {
21375        unsafe {
21376            (windows_core::Interface::vtable(self).GetNumMessagesDiscardedByMessageCountLimit)(
21377                windows_core::Interface::as_raw(self),
21378            )
21379        }
21380    }
21381    pub unsafe fn GetMessageCountLimit(&self) -> u64 {
21382        unsafe {
21383            (windows_core::Interface::vtable(self).GetMessageCountLimit)(
21384                windows_core::Interface::as_raw(self),
21385            )
21386        }
21387    }
21388    pub unsafe fn AddStorageFilterEntries(
21389        &self,
21390        pfilter: *const D3D11_INFO_QUEUE_FILTER,
21391    ) -> windows_core::Result<()> {
21392        unsafe {
21393            (windows_core::Interface::vtable(self).AddStorageFilterEntries)(
21394                windows_core::Interface::as_raw(self),
21395                pfilter,
21396            )
21397            .ok()
21398        }
21399    }
21400    pub unsafe fn GetStorageFilter(
21401        &self,
21402        pfilter: Option<*mut D3D11_INFO_QUEUE_FILTER>,
21403        pfilterbytelength: *mut usize,
21404    ) -> windows_core::Result<()> {
21405        unsafe {
21406            (windows_core::Interface::vtable(self).GetStorageFilter)(
21407                windows_core::Interface::as_raw(self),
21408                core::mem::transmute(pfilter.unwrap_or(core::mem::zeroed())),
21409                core::mem::transmute(pfilterbytelength),
21410            )
21411            .ok()
21412        }
21413    }
21414    pub unsafe fn ClearStorageFilter(&self) {
21415        unsafe {
21416            (windows_core::Interface::vtable(self).ClearStorageFilter)(
21417                windows_core::Interface::as_raw(self),
21418            )
21419        }
21420    }
21421    pub unsafe fn PushEmptyStorageFilter(&self) -> windows_core::Result<()> {
21422        unsafe {
21423            (windows_core::Interface::vtable(self).PushEmptyStorageFilter)(
21424                windows_core::Interface::as_raw(self),
21425            )
21426            .ok()
21427        }
21428    }
21429    pub unsafe fn PushCopyOfStorageFilter(&self) -> windows_core::Result<()> {
21430        unsafe {
21431            (windows_core::Interface::vtable(self).PushCopyOfStorageFilter)(
21432                windows_core::Interface::as_raw(self),
21433            )
21434            .ok()
21435        }
21436    }
21437    pub unsafe fn PushStorageFilter(
21438        &self,
21439        pfilter: *const D3D11_INFO_QUEUE_FILTER,
21440    ) -> windows_core::Result<()> {
21441        unsafe {
21442            (windows_core::Interface::vtable(self).PushStorageFilter)(
21443                windows_core::Interface::as_raw(self),
21444                pfilter,
21445            )
21446            .ok()
21447        }
21448    }
21449    pub unsafe fn PopStorageFilter(&self) {
21450        unsafe {
21451            (windows_core::Interface::vtable(self).PopStorageFilter)(
21452                windows_core::Interface::as_raw(self),
21453            )
21454        }
21455    }
21456    pub unsafe fn GetStorageFilterStackSize(&self) -> u32 {
21457        unsafe {
21458            (windows_core::Interface::vtable(self).GetStorageFilterStackSize)(
21459                windows_core::Interface::as_raw(self),
21460            )
21461        }
21462    }
21463    pub unsafe fn AddRetrievalFilterEntries(
21464        &self,
21465        pfilter: *const D3D11_INFO_QUEUE_FILTER,
21466    ) -> windows_core::Result<()> {
21467        unsafe {
21468            (windows_core::Interface::vtable(self).AddRetrievalFilterEntries)(
21469                windows_core::Interface::as_raw(self),
21470                pfilter,
21471            )
21472            .ok()
21473        }
21474    }
21475    pub unsafe fn GetRetrievalFilter(
21476        &self,
21477        pfilter: Option<*mut D3D11_INFO_QUEUE_FILTER>,
21478        pfilterbytelength: *mut usize,
21479    ) -> windows_core::Result<()> {
21480        unsafe {
21481            (windows_core::Interface::vtable(self).GetRetrievalFilter)(
21482                windows_core::Interface::as_raw(self),
21483                core::mem::transmute(pfilter.unwrap_or(core::mem::zeroed())),
21484                core::mem::transmute(pfilterbytelength),
21485            )
21486            .ok()
21487        }
21488    }
21489    pub unsafe fn ClearRetrievalFilter(&self) {
21490        unsafe {
21491            (windows_core::Interface::vtable(self).ClearRetrievalFilter)(
21492                windows_core::Interface::as_raw(self),
21493            )
21494        }
21495    }
21496    pub unsafe fn PushEmptyRetrievalFilter(&self) -> windows_core::Result<()> {
21497        unsafe {
21498            (windows_core::Interface::vtable(self).PushEmptyRetrievalFilter)(
21499                windows_core::Interface::as_raw(self),
21500            )
21501            .ok()
21502        }
21503    }
21504    pub unsafe fn PushCopyOfRetrievalFilter(&self) -> windows_core::Result<()> {
21505        unsafe {
21506            (windows_core::Interface::vtable(self).PushCopyOfRetrievalFilter)(
21507                windows_core::Interface::as_raw(self),
21508            )
21509            .ok()
21510        }
21511    }
21512    pub unsafe fn PushRetrievalFilter(
21513        &self,
21514        pfilter: *const D3D11_INFO_QUEUE_FILTER,
21515    ) -> windows_core::Result<()> {
21516        unsafe {
21517            (windows_core::Interface::vtable(self).PushRetrievalFilter)(
21518                windows_core::Interface::as_raw(self),
21519                pfilter,
21520            )
21521            .ok()
21522        }
21523    }
21524    pub unsafe fn PopRetrievalFilter(&self) {
21525        unsafe {
21526            (windows_core::Interface::vtable(self).PopRetrievalFilter)(
21527                windows_core::Interface::as_raw(self),
21528            )
21529        }
21530    }
21531    pub unsafe fn GetRetrievalFilterStackSize(&self) -> u32 {
21532        unsafe {
21533            (windows_core::Interface::vtable(self).GetRetrievalFilterStackSize)(
21534                windows_core::Interface::as_raw(self),
21535            )
21536        }
21537    }
21538    pub unsafe fn AddMessage<P3>(
21539        &self,
21540        category: D3D11_MESSAGE_CATEGORY,
21541        severity: D3D11_MESSAGE_SEVERITY,
21542        id: D3D11_MESSAGE_ID,
21543        pdescription: P3,
21544    ) -> windows_core::Result<()>
21545    where
21546        P3: windows_core::Param<crate::core_supplemental::PCSTR>,
21547    {
21548        unsafe {
21549            (windows_core::Interface::vtable(self).AddMessage)(
21550                windows_core::Interface::as_raw(self),
21551                category,
21552                severity,
21553                id,
21554                pdescription.param().abi(),
21555            )
21556            .ok()
21557        }
21558    }
21559    pub unsafe fn AddApplicationMessage<P1>(
21560        &self,
21561        severity: D3D11_MESSAGE_SEVERITY,
21562        pdescription: P1,
21563    ) -> windows_core::Result<()>
21564    where
21565        P1: windows_core::Param<crate::core_supplemental::PCSTR>,
21566    {
21567        unsafe {
21568            (windows_core::Interface::vtable(self).AddApplicationMessage)(
21569                windows_core::Interface::as_raw(self),
21570                severity,
21571                pdescription.param().abi(),
21572            )
21573            .ok()
21574        }
21575    }
21576    pub unsafe fn SetBreakOnCategory(
21577        &self,
21578        category: D3D11_MESSAGE_CATEGORY,
21579        benable: bool,
21580    ) -> windows_core::Result<()> {
21581        unsafe {
21582            (windows_core::Interface::vtable(self).SetBreakOnCategory)(
21583                windows_core::Interface::as_raw(self),
21584                category,
21585                benable.into(),
21586            )
21587            .ok()
21588        }
21589    }
21590    pub unsafe fn SetBreakOnSeverity(
21591        &self,
21592        severity: D3D11_MESSAGE_SEVERITY,
21593        benable: bool,
21594    ) -> windows_core::Result<()> {
21595        unsafe {
21596            (windows_core::Interface::vtable(self).SetBreakOnSeverity)(
21597                windows_core::Interface::as_raw(self),
21598                severity,
21599                benable.into(),
21600            )
21601            .ok()
21602        }
21603    }
21604    pub unsafe fn SetBreakOnID(
21605        &self,
21606        id: D3D11_MESSAGE_ID,
21607        benable: bool,
21608    ) -> windows_core::Result<()> {
21609        unsafe {
21610            (windows_core::Interface::vtable(self).SetBreakOnID)(
21611                windows_core::Interface::as_raw(self),
21612                id,
21613                benable.into(),
21614            )
21615            .ok()
21616        }
21617    }
21618    pub unsafe fn GetBreakOnCategory(
21619        &self,
21620        category: D3D11_MESSAGE_CATEGORY,
21621    ) -> crate::Foundation::BOOL {
21622        unsafe {
21623            (windows_core::Interface::vtable(self).GetBreakOnCategory)(
21624                windows_core::Interface::as_raw(self),
21625                category,
21626            )
21627        }
21628    }
21629    pub unsafe fn GetBreakOnSeverity(
21630        &self,
21631        severity: D3D11_MESSAGE_SEVERITY,
21632    ) -> crate::Foundation::BOOL {
21633        unsafe {
21634            (windows_core::Interface::vtable(self).GetBreakOnSeverity)(
21635                windows_core::Interface::as_raw(self),
21636                severity,
21637            )
21638        }
21639    }
21640    pub unsafe fn GetBreakOnID(&self, id: D3D11_MESSAGE_ID) -> crate::Foundation::BOOL {
21641        unsafe {
21642            (windows_core::Interface::vtable(self).GetBreakOnID)(
21643                windows_core::Interface::as_raw(self),
21644                id,
21645            )
21646        }
21647    }
21648    pub unsafe fn SetMuteDebugOutput(&self, bmute: bool) {
21649        unsafe {
21650            (windows_core::Interface::vtable(self).SetMuteDebugOutput)(
21651                windows_core::Interface::as_raw(self),
21652                bmute.into(),
21653            )
21654        }
21655    }
21656    pub unsafe fn GetMuteDebugOutput(&self) -> crate::Foundation::BOOL {
21657        unsafe {
21658            (windows_core::Interface::vtable(self).GetMuteDebugOutput)(
21659                windows_core::Interface::as_raw(self),
21660            )
21661        }
21662    }
21663}
21664#[repr(C)]
21665pub struct ID3D11InfoQueue_Vtbl {
21666    pub base__: windows_core::IUnknown_Vtbl,
21667    pub SetMessageCountLimit:
21668        unsafe extern "system" fn(*mut core::ffi::c_void, u64) -> windows_core::HRESULT,
21669    pub ClearStoredMessages: unsafe extern "system" fn(*mut core::ffi::c_void),
21670    pub GetMessage: unsafe extern "system" fn(
21671        *mut core::ffi::c_void,
21672        u64,
21673        *mut D3D11_MESSAGE,
21674        *mut usize,
21675    ) -> windows_core::HRESULT,
21676    pub GetNumMessagesAllowedByStorageFilter:
21677        unsafe extern "system" fn(*mut core::ffi::c_void) -> u64,
21678    pub GetNumMessagesDeniedByStorageFilter:
21679        unsafe extern "system" fn(*mut core::ffi::c_void) -> u64,
21680    pub GetNumStoredMessages: unsafe extern "system" fn(*mut core::ffi::c_void) -> u64,
21681    pub GetNumStoredMessagesAllowedByRetrievalFilter:
21682        unsafe extern "system" fn(*mut core::ffi::c_void) -> u64,
21683    pub GetNumMessagesDiscardedByMessageCountLimit:
21684        unsafe extern "system" fn(*mut core::ffi::c_void) -> u64,
21685    pub GetMessageCountLimit: unsafe extern "system" fn(*mut core::ffi::c_void) -> u64,
21686    pub AddStorageFilterEntries: unsafe extern "system" fn(
21687        *mut core::ffi::c_void,
21688        *const D3D11_INFO_QUEUE_FILTER,
21689    ) -> windows_core::HRESULT,
21690    pub GetStorageFilter: unsafe extern "system" fn(
21691        *mut core::ffi::c_void,
21692        *mut D3D11_INFO_QUEUE_FILTER,
21693        *mut usize,
21694    ) -> windows_core::HRESULT,
21695    pub ClearStorageFilter: unsafe extern "system" fn(*mut core::ffi::c_void),
21696    pub PushEmptyStorageFilter:
21697        unsafe extern "system" fn(*mut core::ffi::c_void) -> windows_core::HRESULT,
21698    pub PushCopyOfStorageFilter:
21699        unsafe extern "system" fn(*mut core::ffi::c_void) -> windows_core::HRESULT,
21700    pub PushStorageFilter: unsafe extern "system" fn(
21701        *mut core::ffi::c_void,
21702        *const D3D11_INFO_QUEUE_FILTER,
21703    ) -> windows_core::HRESULT,
21704    pub PopStorageFilter: unsafe extern "system" fn(*mut core::ffi::c_void),
21705    pub GetStorageFilterStackSize: unsafe extern "system" fn(*mut core::ffi::c_void) -> u32,
21706    pub AddRetrievalFilterEntries: unsafe extern "system" fn(
21707        *mut core::ffi::c_void,
21708        *const D3D11_INFO_QUEUE_FILTER,
21709    ) -> windows_core::HRESULT,
21710    pub GetRetrievalFilter: unsafe extern "system" fn(
21711        *mut core::ffi::c_void,
21712        *mut D3D11_INFO_QUEUE_FILTER,
21713        *mut usize,
21714    ) -> windows_core::HRESULT,
21715    pub ClearRetrievalFilter: unsafe extern "system" fn(*mut core::ffi::c_void),
21716    pub PushEmptyRetrievalFilter:
21717        unsafe extern "system" fn(*mut core::ffi::c_void) -> windows_core::HRESULT,
21718    pub PushCopyOfRetrievalFilter:
21719        unsafe extern "system" fn(*mut core::ffi::c_void) -> windows_core::HRESULT,
21720    pub PushRetrievalFilter: unsafe extern "system" fn(
21721        *mut core::ffi::c_void,
21722        *const D3D11_INFO_QUEUE_FILTER,
21723    ) -> windows_core::HRESULT,
21724    pub PopRetrievalFilter: unsafe extern "system" fn(*mut core::ffi::c_void),
21725    pub GetRetrievalFilterStackSize: unsafe extern "system" fn(*mut core::ffi::c_void) -> u32,
21726    pub AddMessage: unsafe extern "system" fn(
21727        *mut core::ffi::c_void,
21728        D3D11_MESSAGE_CATEGORY,
21729        D3D11_MESSAGE_SEVERITY,
21730        D3D11_MESSAGE_ID,
21731        crate::core_supplemental::PCSTR,
21732    ) -> windows_core::HRESULT,
21733    pub AddApplicationMessage: unsafe extern "system" fn(
21734        *mut core::ffi::c_void,
21735        D3D11_MESSAGE_SEVERITY,
21736        crate::core_supplemental::PCSTR,
21737    ) -> windows_core::HRESULT,
21738    pub SetBreakOnCategory: unsafe extern "system" fn(
21739        *mut core::ffi::c_void,
21740        D3D11_MESSAGE_CATEGORY,
21741        crate::Foundation::BOOL,
21742    ) -> windows_core::HRESULT,
21743    pub SetBreakOnSeverity: unsafe extern "system" fn(
21744        *mut core::ffi::c_void,
21745        D3D11_MESSAGE_SEVERITY,
21746        crate::Foundation::BOOL,
21747    ) -> windows_core::HRESULT,
21748    pub SetBreakOnID: unsafe extern "system" fn(
21749        *mut core::ffi::c_void,
21750        D3D11_MESSAGE_ID,
21751        crate::Foundation::BOOL,
21752    ) -> windows_core::HRESULT,
21753    pub GetBreakOnCategory: unsafe extern "system" fn(
21754        *mut core::ffi::c_void,
21755        D3D11_MESSAGE_CATEGORY,
21756    ) -> crate::Foundation::BOOL,
21757    pub GetBreakOnSeverity: unsafe extern "system" fn(
21758        *mut core::ffi::c_void,
21759        D3D11_MESSAGE_SEVERITY,
21760    ) -> crate::Foundation::BOOL,
21761    pub GetBreakOnID: unsafe extern "system" fn(
21762        *mut core::ffi::c_void,
21763        D3D11_MESSAGE_ID,
21764    ) -> crate::Foundation::BOOL,
21765    pub SetMuteDebugOutput:
21766        unsafe extern "system" fn(*mut core::ffi::c_void, crate::Foundation::BOOL),
21767    pub GetMuteDebugOutput:
21768        unsafe extern "system" fn(*mut core::ffi::c_void) -> crate::Foundation::BOOL,
21769}
21770pub trait ID3D11InfoQueue_Impl: windows_core::IUnknownImpl {
21771    fn SetMessageCountLimit(&self, messagecountlimit: u64) -> windows_core::Result<()>;
21772    fn ClearStoredMessages(&self);
21773    fn GetMessage(
21774        &self,
21775        messageindex: u64,
21776        pmessage: *mut D3D11_MESSAGE,
21777        pmessagebytelength: *mut usize,
21778    ) -> windows_core::Result<()>;
21779    fn GetNumMessagesAllowedByStorageFilter(&self) -> u64;
21780    fn GetNumMessagesDeniedByStorageFilter(&self) -> u64;
21781    fn GetNumStoredMessages(&self) -> u64;
21782    fn GetNumStoredMessagesAllowedByRetrievalFilter(&self) -> u64;
21783    fn GetNumMessagesDiscardedByMessageCountLimit(&self) -> u64;
21784    fn GetMessageCountLimit(&self) -> u64;
21785    fn AddStorageFilterEntries(
21786        &self,
21787        pfilter: *const D3D11_INFO_QUEUE_FILTER,
21788    ) -> windows_core::Result<()>;
21789    fn GetStorageFilter(
21790        &self,
21791        pfilter: *mut D3D11_INFO_QUEUE_FILTER,
21792        pfilterbytelength: *mut usize,
21793    ) -> windows_core::Result<()>;
21794    fn ClearStorageFilter(&self);
21795    fn PushEmptyStorageFilter(&self) -> windows_core::Result<()>;
21796    fn PushCopyOfStorageFilter(&self) -> windows_core::Result<()>;
21797    fn PushStorageFilter(
21798        &self,
21799        pfilter: *const D3D11_INFO_QUEUE_FILTER,
21800    ) -> windows_core::Result<()>;
21801    fn PopStorageFilter(&self);
21802    fn GetStorageFilterStackSize(&self) -> u32;
21803    fn AddRetrievalFilterEntries(
21804        &self,
21805        pfilter: *const D3D11_INFO_QUEUE_FILTER,
21806    ) -> windows_core::Result<()>;
21807    fn GetRetrievalFilter(
21808        &self,
21809        pfilter: *mut D3D11_INFO_QUEUE_FILTER,
21810        pfilterbytelength: *mut usize,
21811    ) -> windows_core::Result<()>;
21812    fn ClearRetrievalFilter(&self);
21813    fn PushEmptyRetrievalFilter(&self) -> windows_core::Result<()>;
21814    fn PushCopyOfRetrievalFilter(&self) -> windows_core::Result<()>;
21815    fn PushRetrievalFilter(
21816        &self,
21817        pfilter: *const D3D11_INFO_QUEUE_FILTER,
21818    ) -> windows_core::Result<()>;
21819    fn PopRetrievalFilter(&self);
21820    fn GetRetrievalFilterStackSize(&self) -> u32;
21821    fn AddMessage(
21822        &self,
21823        category: D3D11_MESSAGE_CATEGORY,
21824        severity: D3D11_MESSAGE_SEVERITY,
21825        id: D3D11_MESSAGE_ID,
21826        pdescription: &crate::core_supplemental::PCSTR,
21827    ) -> windows_core::Result<()>;
21828    fn AddApplicationMessage(
21829        &self,
21830        severity: D3D11_MESSAGE_SEVERITY,
21831        pdescription: &crate::core_supplemental::PCSTR,
21832    ) -> windows_core::Result<()>;
21833    fn SetBreakOnCategory(
21834        &self,
21835        category: D3D11_MESSAGE_CATEGORY,
21836        benable: crate::Foundation::BOOL,
21837    ) -> windows_core::Result<()>;
21838    fn SetBreakOnSeverity(
21839        &self,
21840        severity: D3D11_MESSAGE_SEVERITY,
21841        benable: crate::Foundation::BOOL,
21842    ) -> windows_core::Result<()>;
21843    fn SetBreakOnID(
21844        &self,
21845        id: D3D11_MESSAGE_ID,
21846        benable: crate::Foundation::BOOL,
21847    ) -> windows_core::Result<()>;
21848    fn GetBreakOnCategory(
21849        &self,
21850        category: D3D11_MESSAGE_CATEGORY,
21851    ) -> crate::Foundation::BOOL;
21852    fn GetBreakOnSeverity(
21853        &self,
21854        severity: D3D11_MESSAGE_SEVERITY,
21855    ) -> crate::Foundation::BOOL;
21856    fn GetBreakOnID(&self, id: D3D11_MESSAGE_ID) -> crate::Foundation::BOOL;
21857    fn SetMuteDebugOutput(&self, bmute: crate::Foundation::BOOL);
21858    fn GetMuteDebugOutput(&self) -> crate::Foundation::BOOL;
21859}
21860impl ID3D11InfoQueue_Vtbl {
21861    pub const fn new<Identity: ID3D11InfoQueue_Impl, const OFFSET: isize>() -> Self {
21862        unsafe extern "system" fn SetMessageCountLimit<
21863            Identity: ID3D11InfoQueue_Impl,
21864            const OFFSET: isize,
21865        >(
21866            this: *mut core::ffi::c_void,
21867            messagecountlimit: u64,
21868        ) -> windows_core::HRESULT {
21869            unsafe {
21870                let this: &Identity =
21871                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
21872                ID3D11InfoQueue_Impl::SetMessageCountLimit(
21873                    this,
21874                    core::mem::transmute_copy(&messagecountlimit),
21875                )
21876                .into()
21877            }
21878        }
21879        unsafe extern "system" fn ClearStoredMessages<
21880            Identity: ID3D11InfoQueue_Impl,
21881            const OFFSET: isize,
21882        >(
21883            this: *mut core::ffi::c_void,
21884        ) {
21885            unsafe {
21886                let this: &Identity =
21887                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
21888                ID3D11InfoQueue_Impl::ClearStoredMessages(this)
21889            }
21890        }
21891        unsafe extern "system" fn GetMessage<
21892            Identity: ID3D11InfoQueue_Impl,
21893            const OFFSET: isize,
21894        >(
21895            this: *mut core::ffi::c_void,
21896            messageindex: u64,
21897            pmessage: *mut D3D11_MESSAGE,
21898            pmessagebytelength: *mut usize,
21899        ) -> windows_core::HRESULT {
21900            unsafe {
21901                let this: &Identity =
21902                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
21903                ID3D11InfoQueue_Impl::GetMessage(
21904                    this,
21905                    core::mem::transmute_copy(&messageindex),
21906                    core::mem::transmute_copy(&pmessage),
21907                    core::mem::transmute_copy(&pmessagebytelength),
21908                )
21909                .into()
21910            }
21911        }
21912        unsafe extern "system" fn GetNumMessagesAllowedByStorageFilter<
21913            Identity: ID3D11InfoQueue_Impl,
21914            const OFFSET: isize,
21915        >(
21916            this: *mut core::ffi::c_void,
21917        ) -> u64 {
21918            unsafe {
21919                let this: &Identity =
21920                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
21921                ID3D11InfoQueue_Impl::GetNumMessagesAllowedByStorageFilter(this)
21922            }
21923        }
21924        unsafe extern "system" fn GetNumMessagesDeniedByStorageFilter<
21925            Identity: ID3D11InfoQueue_Impl,
21926            const OFFSET: isize,
21927        >(
21928            this: *mut core::ffi::c_void,
21929        ) -> u64 {
21930            unsafe {
21931                let this: &Identity =
21932                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
21933                ID3D11InfoQueue_Impl::GetNumMessagesDeniedByStorageFilter(this)
21934            }
21935        }
21936        unsafe extern "system" fn GetNumStoredMessages<
21937            Identity: ID3D11InfoQueue_Impl,
21938            const OFFSET: isize,
21939        >(
21940            this: *mut core::ffi::c_void,
21941        ) -> u64 {
21942            unsafe {
21943                let this: &Identity =
21944                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
21945                ID3D11InfoQueue_Impl::GetNumStoredMessages(this)
21946            }
21947        }
21948        unsafe extern "system" fn GetNumStoredMessagesAllowedByRetrievalFilter<
21949            Identity: ID3D11InfoQueue_Impl,
21950            const OFFSET: isize,
21951        >(
21952            this: *mut core::ffi::c_void,
21953        ) -> u64 {
21954            unsafe {
21955                let this: &Identity =
21956                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
21957                ID3D11InfoQueue_Impl::GetNumStoredMessagesAllowedByRetrievalFilter(this)
21958            }
21959        }
21960        unsafe extern "system" fn GetNumMessagesDiscardedByMessageCountLimit<
21961            Identity: ID3D11InfoQueue_Impl,
21962            const OFFSET: isize,
21963        >(
21964            this: *mut core::ffi::c_void,
21965        ) -> u64 {
21966            unsafe {
21967                let this: &Identity =
21968                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
21969                ID3D11InfoQueue_Impl::GetNumMessagesDiscardedByMessageCountLimit(this)
21970            }
21971        }
21972        unsafe extern "system" fn GetMessageCountLimit<
21973            Identity: ID3D11InfoQueue_Impl,
21974            const OFFSET: isize,
21975        >(
21976            this: *mut core::ffi::c_void,
21977        ) -> u64 {
21978            unsafe {
21979                let this: &Identity =
21980                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
21981                ID3D11InfoQueue_Impl::GetMessageCountLimit(this)
21982            }
21983        }
21984        unsafe extern "system" fn AddStorageFilterEntries<
21985            Identity: ID3D11InfoQueue_Impl,
21986            const OFFSET: isize,
21987        >(
21988            this: *mut core::ffi::c_void,
21989            pfilter: *const D3D11_INFO_QUEUE_FILTER,
21990        ) -> windows_core::HRESULT {
21991            unsafe {
21992                let this: &Identity =
21993                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
21994                ID3D11InfoQueue_Impl::AddStorageFilterEntries(
21995                    this,
21996                    core::mem::transmute_copy(&pfilter),
21997                )
21998                .into()
21999            }
22000        }
22001        unsafe extern "system" fn GetStorageFilter<
22002            Identity: ID3D11InfoQueue_Impl,
22003            const OFFSET: isize,
22004        >(
22005            this: *mut core::ffi::c_void,
22006            pfilter: *mut D3D11_INFO_QUEUE_FILTER,
22007            pfilterbytelength: *mut usize,
22008        ) -> windows_core::HRESULT {
22009            unsafe {
22010                let this: &Identity =
22011                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
22012                ID3D11InfoQueue_Impl::GetStorageFilter(
22013                    this,
22014                    core::mem::transmute_copy(&pfilter),
22015                    core::mem::transmute_copy(&pfilterbytelength),
22016                )
22017                .into()
22018            }
22019        }
22020        unsafe extern "system" fn ClearStorageFilter<
22021            Identity: ID3D11InfoQueue_Impl,
22022            const OFFSET: isize,
22023        >(
22024            this: *mut core::ffi::c_void,
22025        ) {
22026            unsafe {
22027                let this: &Identity =
22028                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
22029                ID3D11InfoQueue_Impl::ClearStorageFilter(this)
22030            }
22031        }
22032        unsafe extern "system" fn PushEmptyStorageFilter<
22033            Identity: ID3D11InfoQueue_Impl,
22034            const OFFSET: isize,
22035        >(
22036            this: *mut core::ffi::c_void,
22037        ) -> windows_core::HRESULT {
22038            unsafe {
22039                let this: &Identity =
22040                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
22041                ID3D11InfoQueue_Impl::PushEmptyStorageFilter(this).into()
22042            }
22043        }
22044        unsafe extern "system" fn PushCopyOfStorageFilter<
22045            Identity: ID3D11InfoQueue_Impl,
22046            const OFFSET: isize,
22047        >(
22048            this: *mut core::ffi::c_void,
22049        ) -> windows_core::HRESULT {
22050            unsafe {
22051                let this: &Identity =
22052                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
22053                ID3D11InfoQueue_Impl::PushCopyOfStorageFilter(this).into()
22054            }
22055        }
22056        unsafe extern "system" fn PushStorageFilter<
22057            Identity: ID3D11InfoQueue_Impl,
22058            const OFFSET: isize,
22059        >(
22060            this: *mut core::ffi::c_void,
22061            pfilter: *const D3D11_INFO_QUEUE_FILTER,
22062        ) -> windows_core::HRESULT {
22063            unsafe {
22064                let this: &Identity =
22065                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
22066                ID3D11InfoQueue_Impl::PushStorageFilter(this, core::mem::transmute_copy(&pfilter))
22067                    .into()
22068            }
22069        }
22070        unsafe extern "system" fn PopStorageFilter<
22071            Identity: ID3D11InfoQueue_Impl,
22072            const OFFSET: isize,
22073        >(
22074            this: *mut core::ffi::c_void,
22075        ) {
22076            unsafe {
22077                let this: &Identity =
22078                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
22079                ID3D11InfoQueue_Impl::PopStorageFilter(this)
22080            }
22081        }
22082        unsafe extern "system" fn GetStorageFilterStackSize<
22083            Identity: ID3D11InfoQueue_Impl,
22084            const OFFSET: isize,
22085        >(
22086            this: *mut core::ffi::c_void,
22087        ) -> u32 {
22088            unsafe {
22089                let this: &Identity =
22090                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
22091                ID3D11InfoQueue_Impl::GetStorageFilterStackSize(this)
22092            }
22093        }
22094        unsafe extern "system" fn AddRetrievalFilterEntries<
22095            Identity: ID3D11InfoQueue_Impl,
22096            const OFFSET: isize,
22097        >(
22098            this: *mut core::ffi::c_void,
22099            pfilter: *const D3D11_INFO_QUEUE_FILTER,
22100        ) -> windows_core::HRESULT {
22101            unsafe {
22102                let this: &Identity =
22103                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
22104                ID3D11InfoQueue_Impl::AddRetrievalFilterEntries(
22105                    this,
22106                    core::mem::transmute_copy(&pfilter),
22107                )
22108                .into()
22109            }
22110        }
22111        unsafe extern "system" fn GetRetrievalFilter<
22112            Identity: ID3D11InfoQueue_Impl,
22113            const OFFSET: isize,
22114        >(
22115            this: *mut core::ffi::c_void,
22116            pfilter: *mut D3D11_INFO_QUEUE_FILTER,
22117            pfilterbytelength: *mut usize,
22118        ) -> windows_core::HRESULT {
22119            unsafe {
22120                let this: &Identity =
22121                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
22122                ID3D11InfoQueue_Impl::GetRetrievalFilter(
22123                    this,
22124                    core::mem::transmute_copy(&pfilter),
22125                    core::mem::transmute_copy(&pfilterbytelength),
22126                )
22127                .into()
22128            }
22129        }
22130        unsafe extern "system" fn ClearRetrievalFilter<
22131            Identity: ID3D11InfoQueue_Impl,
22132            const OFFSET: isize,
22133        >(
22134            this: *mut core::ffi::c_void,
22135        ) {
22136            unsafe {
22137                let this: &Identity =
22138                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
22139                ID3D11InfoQueue_Impl::ClearRetrievalFilter(this)
22140            }
22141        }
22142        unsafe extern "system" fn PushEmptyRetrievalFilter<
22143            Identity: ID3D11InfoQueue_Impl,
22144            const OFFSET: isize,
22145        >(
22146            this: *mut core::ffi::c_void,
22147        ) -> windows_core::HRESULT {
22148            unsafe {
22149                let this: &Identity =
22150                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
22151                ID3D11InfoQueue_Impl::PushEmptyRetrievalFilter(this).into()
22152            }
22153        }
22154        unsafe extern "system" fn PushCopyOfRetrievalFilter<
22155            Identity: ID3D11InfoQueue_Impl,
22156            const OFFSET: isize,
22157        >(
22158            this: *mut core::ffi::c_void,
22159        ) -> windows_core::HRESULT {
22160            unsafe {
22161                let this: &Identity =
22162                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
22163                ID3D11InfoQueue_Impl::PushCopyOfRetrievalFilter(this).into()
22164            }
22165        }
22166        unsafe extern "system" fn PushRetrievalFilter<
22167            Identity: ID3D11InfoQueue_Impl,
22168            const OFFSET: isize,
22169        >(
22170            this: *mut core::ffi::c_void,
22171            pfilter: *const D3D11_INFO_QUEUE_FILTER,
22172        ) -> windows_core::HRESULT {
22173            unsafe {
22174                let this: &Identity =
22175                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
22176                ID3D11InfoQueue_Impl::PushRetrievalFilter(this, core::mem::transmute_copy(&pfilter))
22177                    .into()
22178            }
22179        }
22180        unsafe extern "system" fn PopRetrievalFilter<
22181            Identity: ID3D11InfoQueue_Impl,
22182            const OFFSET: isize,
22183        >(
22184            this: *mut core::ffi::c_void,
22185        ) {
22186            unsafe {
22187                let this: &Identity =
22188                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
22189                ID3D11InfoQueue_Impl::PopRetrievalFilter(this)
22190            }
22191        }
22192        unsafe extern "system" fn GetRetrievalFilterStackSize<
22193            Identity: ID3D11InfoQueue_Impl,
22194            const OFFSET: isize,
22195        >(
22196            this: *mut core::ffi::c_void,
22197        ) -> u32 {
22198            unsafe {
22199                let this: &Identity =
22200                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
22201                ID3D11InfoQueue_Impl::GetRetrievalFilterStackSize(this)
22202            }
22203        }
22204        unsafe extern "system" fn AddMessage<
22205            Identity: ID3D11InfoQueue_Impl,
22206            const OFFSET: isize,
22207        >(
22208            this: *mut core::ffi::c_void,
22209            category: D3D11_MESSAGE_CATEGORY,
22210            severity: D3D11_MESSAGE_SEVERITY,
22211            id: D3D11_MESSAGE_ID,
22212            pdescription: crate::core_supplemental::PCSTR,
22213        ) -> windows_core::HRESULT {
22214            unsafe {
22215                let this: &Identity =
22216                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
22217                ID3D11InfoQueue_Impl::AddMessage(
22218                    this,
22219                    core::mem::transmute_copy(&category),
22220                    core::mem::transmute_copy(&severity),
22221                    core::mem::transmute_copy(&id),
22222                    core::mem::transmute(&pdescription),
22223                )
22224                .into()
22225            }
22226        }
22227        unsafe extern "system" fn AddApplicationMessage<
22228            Identity: ID3D11InfoQueue_Impl,
22229            const OFFSET: isize,
22230        >(
22231            this: *mut core::ffi::c_void,
22232            severity: D3D11_MESSAGE_SEVERITY,
22233            pdescription: crate::core_supplemental::PCSTR,
22234        ) -> windows_core::HRESULT {
22235            unsafe {
22236                let this: &Identity =
22237                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
22238                ID3D11InfoQueue_Impl::AddApplicationMessage(
22239                    this,
22240                    core::mem::transmute_copy(&severity),
22241                    core::mem::transmute(&pdescription),
22242                )
22243                .into()
22244            }
22245        }
22246        unsafe extern "system" fn SetBreakOnCategory<
22247            Identity: ID3D11InfoQueue_Impl,
22248            const OFFSET: isize,
22249        >(
22250            this: *mut core::ffi::c_void,
22251            category: D3D11_MESSAGE_CATEGORY,
22252            benable: crate::Foundation::BOOL,
22253        ) -> windows_core::HRESULT {
22254            unsafe {
22255                let this: &Identity =
22256                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
22257                ID3D11InfoQueue_Impl::SetBreakOnCategory(
22258                    this,
22259                    core::mem::transmute_copy(&category),
22260                    core::mem::transmute_copy(&benable),
22261                )
22262                .into()
22263            }
22264        }
22265        unsafe extern "system" fn SetBreakOnSeverity<
22266            Identity: ID3D11InfoQueue_Impl,
22267            const OFFSET: isize,
22268        >(
22269            this: *mut core::ffi::c_void,
22270            severity: D3D11_MESSAGE_SEVERITY,
22271            benable: crate::Foundation::BOOL,
22272        ) -> windows_core::HRESULT {
22273            unsafe {
22274                let this: &Identity =
22275                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
22276                ID3D11InfoQueue_Impl::SetBreakOnSeverity(
22277                    this,
22278                    core::mem::transmute_copy(&severity),
22279                    core::mem::transmute_copy(&benable),
22280                )
22281                .into()
22282            }
22283        }
22284        unsafe extern "system" fn SetBreakOnID<
22285            Identity: ID3D11InfoQueue_Impl,
22286            const OFFSET: isize,
22287        >(
22288            this: *mut core::ffi::c_void,
22289            id: D3D11_MESSAGE_ID,
22290            benable: crate::Foundation::BOOL,
22291        ) -> windows_core::HRESULT {
22292            unsafe {
22293                let this: &Identity =
22294                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
22295                ID3D11InfoQueue_Impl::SetBreakOnID(
22296                    this,
22297                    core::mem::transmute_copy(&id),
22298                    core::mem::transmute_copy(&benable),
22299                )
22300                .into()
22301            }
22302        }
22303        unsafe extern "system" fn GetBreakOnCategory<
22304            Identity: ID3D11InfoQueue_Impl,
22305            const OFFSET: isize,
22306        >(
22307            this: *mut core::ffi::c_void,
22308            category: D3D11_MESSAGE_CATEGORY,
22309        ) -> crate::Foundation::BOOL {
22310            unsafe {
22311                let this: &Identity =
22312                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
22313                ID3D11InfoQueue_Impl::GetBreakOnCategory(this, core::mem::transmute_copy(&category))
22314            }
22315        }
22316        unsafe extern "system" fn GetBreakOnSeverity<
22317            Identity: ID3D11InfoQueue_Impl,
22318            const OFFSET: isize,
22319        >(
22320            this: *mut core::ffi::c_void,
22321            severity: D3D11_MESSAGE_SEVERITY,
22322        ) -> crate::Foundation::BOOL {
22323            unsafe {
22324                let this: &Identity =
22325                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
22326                ID3D11InfoQueue_Impl::GetBreakOnSeverity(this, core::mem::transmute_copy(&severity))
22327            }
22328        }
22329        unsafe extern "system" fn GetBreakOnID<
22330            Identity: ID3D11InfoQueue_Impl,
22331            const OFFSET: isize,
22332        >(
22333            this: *mut core::ffi::c_void,
22334            id: D3D11_MESSAGE_ID,
22335        ) -> crate::Foundation::BOOL {
22336            unsafe {
22337                let this: &Identity =
22338                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
22339                ID3D11InfoQueue_Impl::GetBreakOnID(this, core::mem::transmute_copy(&id))
22340            }
22341        }
22342        unsafe extern "system" fn SetMuteDebugOutput<
22343            Identity: ID3D11InfoQueue_Impl,
22344            const OFFSET: isize,
22345        >(
22346            this: *mut core::ffi::c_void,
22347            bmute: crate::Foundation::BOOL,
22348        ) {
22349            unsafe {
22350                let this: &Identity =
22351                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
22352                ID3D11InfoQueue_Impl::SetMuteDebugOutput(this, core::mem::transmute_copy(&bmute))
22353            }
22354        }
22355        unsafe extern "system" fn GetMuteDebugOutput<
22356            Identity: ID3D11InfoQueue_Impl,
22357            const OFFSET: isize,
22358        >(
22359            this: *mut core::ffi::c_void,
22360        ) -> crate::Foundation::BOOL {
22361            unsafe {
22362                let this: &Identity =
22363                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
22364                ID3D11InfoQueue_Impl::GetMuteDebugOutput(this)
22365            }
22366        }
22367        Self {
22368            base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
22369            SetMessageCountLimit: SetMessageCountLimit::<Identity, OFFSET>,
22370            ClearStoredMessages: ClearStoredMessages::<Identity, OFFSET>,
22371            GetMessage: GetMessage::<Identity, OFFSET>,
22372            GetNumMessagesAllowedByStorageFilter: GetNumMessagesAllowedByStorageFilter::<
22373                Identity,
22374                OFFSET,
22375            >,
22376            GetNumMessagesDeniedByStorageFilter: GetNumMessagesDeniedByStorageFilter::<
22377                Identity,
22378                OFFSET,
22379            >,
22380            GetNumStoredMessages: GetNumStoredMessages::<Identity, OFFSET>,
22381            GetNumStoredMessagesAllowedByRetrievalFilter:
22382                GetNumStoredMessagesAllowedByRetrievalFilter::<Identity, OFFSET>,
22383            GetNumMessagesDiscardedByMessageCountLimit: GetNumMessagesDiscardedByMessageCountLimit::<
22384                Identity,
22385                OFFSET,
22386            >,
22387            GetMessageCountLimit: GetMessageCountLimit::<Identity, OFFSET>,
22388            AddStorageFilterEntries: AddStorageFilterEntries::<Identity, OFFSET>,
22389            GetStorageFilter: GetStorageFilter::<Identity, OFFSET>,
22390            ClearStorageFilter: ClearStorageFilter::<Identity, OFFSET>,
22391            PushEmptyStorageFilter: PushEmptyStorageFilter::<Identity, OFFSET>,
22392            PushCopyOfStorageFilter: PushCopyOfStorageFilter::<Identity, OFFSET>,
22393            PushStorageFilter: PushStorageFilter::<Identity, OFFSET>,
22394            PopStorageFilter: PopStorageFilter::<Identity, OFFSET>,
22395            GetStorageFilterStackSize: GetStorageFilterStackSize::<Identity, OFFSET>,
22396            AddRetrievalFilterEntries: AddRetrievalFilterEntries::<Identity, OFFSET>,
22397            GetRetrievalFilter: GetRetrievalFilter::<Identity, OFFSET>,
22398            ClearRetrievalFilter: ClearRetrievalFilter::<Identity, OFFSET>,
22399            PushEmptyRetrievalFilter: PushEmptyRetrievalFilter::<Identity, OFFSET>,
22400            PushCopyOfRetrievalFilter: PushCopyOfRetrievalFilter::<Identity, OFFSET>,
22401            PushRetrievalFilter: PushRetrievalFilter::<Identity, OFFSET>,
22402            PopRetrievalFilter: PopRetrievalFilter::<Identity, OFFSET>,
22403            GetRetrievalFilterStackSize: GetRetrievalFilterStackSize::<Identity, OFFSET>,
22404            AddMessage: AddMessage::<Identity, OFFSET>,
22405            AddApplicationMessage: AddApplicationMessage::<Identity, OFFSET>,
22406            SetBreakOnCategory: SetBreakOnCategory::<Identity, OFFSET>,
22407            SetBreakOnSeverity: SetBreakOnSeverity::<Identity, OFFSET>,
22408            SetBreakOnID: SetBreakOnID::<Identity, OFFSET>,
22409            GetBreakOnCategory: GetBreakOnCategory::<Identity, OFFSET>,
22410            GetBreakOnSeverity: GetBreakOnSeverity::<Identity, OFFSET>,
22411            GetBreakOnID: GetBreakOnID::<Identity, OFFSET>,
22412            SetMuteDebugOutput: SetMuteDebugOutput::<Identity, OFFSET>,
22413            GetMuteDebugOutput: GetMuteDebugOutput::<Identity, OFFSET>,
22414        }
22415    }
22416    pub fn matches(iid: &windows_core::GUID) -> bool {
22417        iid == &<ID3D11InfoQueue as windows_core::Interface>::IID
22418    }
22419}
22420impl windows_core::RuntimeName for ID3D11InfoQueue {}
22421unsafe impl Send for ID3D11InfoQueue {}
22422unsafe impl Sync for ID3D11InfoQueue {}
22423windows_core::imp::define_interface!(
22424    ID3D11InputLayout,
22425    ID3D11InputLayout_Vtbl,
22426    0xe4819ddc_4cf0_4025_bd26_5de82a3e07b7
22427);
22428impl core::ops::Deref for ID3D11InputLayout {
22429    type Target = ID3D11DeviceChild;
22430    fn deref(&self) -> &Self::Target {
22431        unsafe { core::mem::transmute(self) }
22432    }
22433}
22434windows_core::imp::interface_hierarchy!(
22435    ID3D11InputLayout,
22436    windows_core::IUnknown,
22437    ID3D11DeviceChild
22438);
22439#[repr(C)]
22440pub struct ID3D11InputLayout_Vtbl {
22441    pub base__: ID3D11DeviceChild_Vtbl,
22442}
22443pub trait ID3D11InputLayout_Impl: ID3D11DeviceChild_Impl {}
22444impl ID3D11InputLayout_Vtbl {
22445    pub const fn new<Identity: ID3D11InputLayout_Impl, const OFFSET: isize>() -> Self {
22446        Self {
22447            base__: ID3D11DeviceChild_Vtbl::new::<Identity, OFFSET>(),
22448        }
22449    }
22450    pub fn matches(iid: &windows_core::GUID) -> bool {
22451        iid == &<ID3D11InputLayout as windows_core::Interface>::IID
22452            || iid == &<ID3D11DeviceChild as windows_core::Interface>::IID
22453    }
22454}
22455impl windows_core::RuntimeName for ID3D11InputLayout {}
22456unsafe impl Send for ID3D11InputLayout {}
22457unsafe impl Sync for ID3D11InputLayout {}
22458windows_core::imp::define_interface!(
22459    ID3D11LibraryReflection,
22460    ID3D11LibraryReflection_Vtbl,
22461    0x54384f1b_5b3e_4bb7_ae01_60ba3097cbb6
22462);
22463windows_core::imp::interface_hierarchy!(ID3D11LibraryReflection, windows_core::IUnknown);
22464impl ID3D11LibraryReflection {
22465    pub unsafe fn GetDesc(&self) -> windows_core::Result<D3D11_LIBRARY_DESC> {
22466        unsafe {
22467            let mut result__ = core::mem::zeroed();
22468            (windows_core::Interface::vtable(self).GetDesc)(
22469                windows_core::Interface::as_raw(self),
22470                &mut result__,
22471            )
22472            .map(|| result__)
22473        }
22474    }
22475    pub unsafe fn GetFunctionByIndex(
22476        &self,
22477        functionindex: i32,
22478    ) -> Option<ID3D11FunctionReflection> {
22479        unsafe {
22480            (windows_core::Interface::vtable(self).GetFunctionByIndex)(
22481                windows_core::Interface::as_raw(self),
22482                functionindex,
22483            )
22484        }
22485    }
22486}
22487#[repr(C)]
22488pub struct ID3D11LibraryReflection_Vtbl {
22489    pub base__: windows_core::IUnknown_Vtbl,
22490    pub GetDesc: unsafe extern "system" fn(
22491        *mut core::ffi::c_void,
22492        *mut D3D11_LIBRARY_DESC,
22493    ) -> windows_core::HRESULT,
22494    pub GetFunctionByIndex:
22495        unsafe extern "system" fn(*mut core::ffi::c_void, i32) -> Option<ID3D11FunctionReflection>,
22496}
22497pub trait ID3D11LibraryReflection_Impl: windows_core::IUnknownImpl {
22498    fn GetDesc(&self) -> windows_core::Result<D3D11_LIBRARY_DESC>;
22499    fn GetFunctionByIndex(&self, functionindex: i32) -> Option<ID3D11FunctionReflection>;
22500}
22501impl ID3D11LibraryReflection_Vtbl {
22502    pub const fn new<Identity: ID3D11LibraryReflection_Impl, const OFFSET: isize>() -> Self {
22503        unsafe extern "system" fn GetDesc<
22504            Identity: ID3D11LibraryReflection_Impl,
22505            const OFFSET: isize,
22506        >(
22507            this: *mut core::ffi::c_void,
22508            pdesc: *mut D3D11_LIBRARY_DESC,
22509        ) -> windows_core::HRESULT {
22510            unsafe {
22511                let this: &Identity =
22512                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
22513                match ID3D11LibraryReflection_Impl::GetDesc(this) {
22514                    Ok(ok__) => {
22515                        pdesc.write(core::mem::transmute(ok__));
22516                        windows_core::HRESULT(0)
22517                    }
22518                    Err(err) => err.into(),
22519                }
22520            }
22521        }
22522        unsafe extern "system" fn GetFunctionByIndex<
22523            Identity: ID3D11LibraryReflection_Impl,
22524            const OFFSET: isize,
22525        >(
22526            this: *mut core::ffi::c_void,
22527            functionindex: i32,
22528        ) -> Option<ID3D11FunctionReflection> {
22529            unsafe {
22530                let this: &Identity =
22531                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
22532                ID3D11LibraryReflection_Impl::GetFunctionByIndex(
22533                    this,
22534                    core::mem::transmute_copy(&functionindex),
22535                )
22536            }
22537        }
22538        Self {
22539            base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
22540            GetDesc: GetDesc::<Identity, OFFSET>,
22541            GetFunctionByIndex: GetFunctionByIndex::<Identity, OFFSET>,
22542        }
22543    }
22544    pub fn matches(iid: &windows_core::GUID) -> bool {
22545        iid == &<ID3D11LibraryReflection as windows_core::Interface>::IID
22546    }
22547}
22548impl windows_core::RuntimeName for ID3D11LibraryReflection {}
22549unsafe impl Send for ID3D11LibraryReflection {}
22550unsafe impl Sync for ID3D11LibraryReflection {}
22551windows_core::imp::define_interface!(
22552    ID3D11Linker,
22553    ID3D11Linker_Vtbl,
22554    0x59a6cd0e_e10d_4c1f_88c0_63aba1daf30e
22555);
22556windows_core::imp::interface_hierarchy!(ID3D11Linker, windows_core::IUnknown);
22557impl ID3D11Linker {
22558    #[cfg(feature = "Win32_Graphics_Direct3D")]
22559    pub unsafe fn Link<P0, P1, P2>(
22560        &self,
22561        pentry: P0,
22562        pentryname: P1,
22563        ptargetname: P2,
22564        uflags: u32,
22565        ppshaderblob: *mut Option<super::Direct3D::ID3DBlob>,
22566        pperrorbuffer: Option<*mut Option<super::Direct3D::ID3DBlob>>,
22567    ) -> windows_core::Result<()>
22568    where
22569        P0: windows_core::Param<ID3D11ModuleInstance>,
22570        P1: windows_core::Param<crate::core_supplemental::PCSTR>,
22571        P2: windows_core::Param<crate::core_supplemental::PCSTR>,
22572    {
22573        unsafe {
22574            (windows_core::Interface::vtable(self).Link)(
22575                windows_core::Interface::as_raw(self),
22576                pentry.param().abi(),
22577                pentryname.param().abi(),
22578                ptargetname.param().abi(),
22579                uflags,
22580                core::mem::transmute(ppshaderblob),
22581                core::mem::transmute(pperrorbuffer.unwrap_or(core::mem::zeroed())),
22582            )
22583            .ok()
22584        }
22585    }
22586    pub unsafe fn UseLibrary<P0>(&self, plibrarymi: P0) -> windows_core::Result<()>
22587    where
22588        P0: windows_core::Param<ID3D11ModuleInstance>,
22589    {
22590        unsafe {
22591            (windows_core::Interface::vtable(self).UseLibrary)(
22592                windows_core::Interface::as_raw(self),
22593                plibrarymi.param().abi(),
22594            )
22595            .ok()
22596        }
22597    }
22598    pub unsafe fn AddClipPlaneFromCBuffer(
22599        &self,
22600        ucbufferslot: u32,
22601        ucbufferentry: u32,
22602    ) -> windows_core::Result<()> {
22603        unsafe {
22604            (windows_core::Interface::vtable(self).AddClipPlaneFromCBuffer)(
22605                windows_core::Interface::as_raw(self),
22606                ucbufferslot,
22607                ucbufferentry,
22608            )
22609            .ok()
22610        }
22611    }
22612}
22613#[repr(C)]
22614pub struct ID3D11Linker_Vtbl {
22615    pub base__: windows_core::IUnknown_Vtbl,
22616    #[cfg(feature = "Win32_Graphics_Direct3D")]
22617    pub Link: unsafe extern "system" fn(
22618        *mut core::ffi::c_void,
22619        *mut core::ffi::c_void,
22620        crate::core_supplemental::PCSTR,
22621        crate::core_supplemental::PCSTR,
22622        u32,
22623        *mut *mut core::ffi::c_void,
22624        *mut *mut core::ffi::c_void,
22625    ) -> windows_core::HRESULT,
22626    #[cfg(not(feature = "Win32_Graphics_Direct3D"))]
22627    Link: usize,
22628    pub UseLibrary: unsafe extern "system" fn(
22629        *mut core::ffi::c_void,
22630        *mut core::ffi::c_void,
22631    ) -> windows_core::HRESULT,
22632    pub AddClipPlaneFromCBuffer:
22633        unsafe extern "system" fn(*mut core::ffi::c_void, u32, u32) -> windows_core::HRESULT,
22634}
22635#[cfg(feature = "Win32_Graphics_Direct3D")]
22636pub trait ID3D11Linker_Impl: windows_core::IUnknownImpl {
22637    fn Link(
22638        &self,
22639        pentry: windows_core::Ref<'_, ID3D11ModuleInstance>,
22640        pentryname: &crate::core_supplemental::PCSTR,
22641        ptargetname: &crate::core_supplemental::PCSTR,
22642        uflags: u32,
22643        ppshaderblob: windows_core::OutRef<'_, super::Direct3D::ID3DBlob>,
22644        pperrorbuffer: windows_core::OutRef<'_, super::Direct3D::ID3DBlob>,
22645    ) -> windows_core::Result<()>;
22646    fn UseLibrary(
22647        &self,
22648        plibrarymi: windows_core::Ref<'_, ID3D11ModuleInstance>,
22649    ) -> windows_core::Result<()>;
22650    fn AddClipPlaneFromCBuffer(
22651        &self,
22652        ucbufferslot: u32,
22653        ucbufferentry: u32,
22654    ) -> windows_core::Result<()>;
22655}
22656#[cfg(feature = "Win32_Graphics_Direct3D")]
22657impl ID3D11Linker_Vtbl {
22658    pub const fn new<Identity: ID3D11Linker_Impl, const OFFSET: isize>() -> Self {
22659        unsafe extern "system" fn Link<Identity: ID3D11Linker_Impl, const OFFSET: isize>(
22660            this: *mut core::ffi::c_void,
22661            pentry: *mut core::ffi::c_void,
22662            pentryname: crate::core_supplemental::PCSTR,
22663            ptargetname: crate::core_supplemental::PCSTR,
22664            uflags: u32,
22665            ppshaderblob: *mut *mut core::ffi::c_void,
22666            pperrorbuffer: *mut *mut core::ffi::c_void,
22667        ) -> windows_core::HRESULT {
22668            unsafe {
22669                let this: &Identity =
22670                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
22671                ID3D11Linker_Impl::Link(
22672                    this,
22673                    core::mem::transmute_copy(&pentry),
22674                    core::mem::transmute(&pentryname),
22675                    core::mem::transmute(&ptargetname),
22676                    core::mem::transmute_copy(&uflags),
22677                    core::mem::transmute_copy(&ppshaderblob),
22678                    core::mem::transmute_copy(&pperrorbuffer),
22679                )
22680                .into()
22681            }
22682        }
22683        unsafe extern "system" fn UseLibrary<Identity: ID3D11Linker_Impl, const OFFSET: isize>(
22684            this: *mut core::ffi::c_void,
22685            plibrarymi: *mut core::ffi::c_void,
22686        ) -> windows_core::HRESULT {
22687            unsafe {
22688                let this: &Identity =
22689                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
22690                ID3D11Linker_Impl::UseLibrary(this, core::mem::transmute_copy(&plibrarymi)).into()
22691            }
22692        }
22693        unsafe extern "system" fn AddClipPlaneFromCBuffer<
22694            Identity: ID3D11Linker_Impl,
22695            const OFFSET: isize,
22696        >(
22697            this: *mut core::ffi::c_void,
22698            ucbufferslot: u32,
22699            ucbufferentry: u32,
22700        ) -> windows_core::HRESULT {
22701            unsafe {
22702                let this: &Identity =
22703                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
22704                ID3D11Linker_Impl::AddClipPlaneFromCBuffer(
22705                    this,
22706                    core::mem::transmute_copy(&ucbufferslot),
22707                    core::mem::transmute_copy(&ucbufferentry),
22708                )
22709                .into()
22710            }
22711        }
22712        Self {
22713            base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
22714            Link: Link::<Identity, OFFSET>,
22715            UseLibrary: UseLibrary::<Identity, OFFSET>,
22716            AddClipPlaneFromCBuffer: AddClipPlaneFromCBuffer::<Identity, OFFSET>,
22717        }
22718    }
22719    pub fn matches(iid: &windows_core::GUID) -> bool {
22720        iid == &<ID3D11Linker as windows_core::Interface>::IID
22721    }
22722}
22723#[cfg(feature = "Win32_Graphics_Direct3D")]
22724impl windows_core::RuntimeName for ID3D11Linker {}
22725#[cfg(feature = "Win32_Graphics_Direct3D")]
22726unsafe impl Send for ID3D11Linker {}
22727#[cfg(feature = "Win32_Graphics_Direct3D")]
22728unsafe impl Sync for ID3D11Linker {}
22729windows_core::imp::define_interface!(
22730    ID3D11LinkingNode,
22731    ID3D11LinkingNode_Vtbl,
22732    0xd80dd70c_8d2f_4751_94a1_03c79b3556db
22733);
22734windows_core::imp::interface_hierarchy!(ID3D11LinkingNode, windows_core::IUnknown);
22735#[repr(C)]
22736pub struct ID3D11LinkingNode_Vtbl {
22737    pub base__: windows_core::IUnknown_Vtbl,
22738}
22739pub trait ID3D11LinkingNode_Impl: windows_core::IUnknownImpl {}
22740impl ID3D11LinkingNode_Vtbl {
22741    pub const fn new<Identity: ID3D11LinkingNode_Impl, const OFFSET: isize>() -> Self {
22742        Self {
22743            base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
22744        }
22745    }
22746    pub fn matches(iid: &windows_core::GUID) -> bool {
22747        iid == &<ID3D11LinkingNode as windows_core::Interface>::IID
22748    }
22749}
22750impl windows_core::RuntimeName for ID3D11LinkingNode {}
22751unsafe impl Send for ID3D11LinkingNode {}
22752unsafe impl Sync for ID3D11LinkingNode {}
22753windows_core::imp::define_interface!(
22754    ID3D11Module,
22755    ID3D11Module_Vtbl,
22756    0xcac701ee_80fc_4122_8242_10b39c8cec34
22757);
22758windows_core::imp::interface_hierarchy!(ID3D11Module, windows_core::IUnknown);
22759impl ID3D11Module {
22760    pub unsafe fn CreateInstance<P0>(
22761        &self,
22762        pnamespace: P0,
22763    ) -> windows_core::Result<ID3D11ModuleInstance>
22764    where
22765        P0: windows_core::Param<crate::core_supplemental::PCSTR>,
22766    {
22767        unsafe {
22768            let mut result__ = core::mem::zeroed();
22769            (windows_core::Interface::vtable(self).CreateInstance)(
22770                windows_core::Interface::as_raw(self),
22771                pnamespace.param().abi(),
22772                &mut result__,
22773            )
22774            .and_then(|| windows_core::Type::from_abi(result__))
22775        }
22776    }
22777}
22778#[repr(C)]
22779pub struct ID3D11Module_Vtbl {
22780    pub base__: windows_core::IUnknown_Vtbl,
22781    pub CreateInstance: unsafe extern "system" fn(
22782        *mut core::ffi::c_void,
22783        crate::core_supplemental::PCSTR,
22784        *mut *mut core::ffi::c_void,
22785    ) -> windows_core::HRESULT,
22786}
22787pub trait ID3D11Module_Impl: windows_core::IUnknownImpl {
22788    fn CreateInstance(
22789        &self,
22790        pnamespace: &crate::core_supplemental::PCSTR,
22791    ) -> windows_core::Result<ID3D11ModuleInstance>;
22792}
22793impl ID3D11Module_Vtbl {
22794    pub const fn new<Identity: ID3D11Module_Impl, const OFFSET: isize>() -> Self {
22795        unsafe extern "system" fn CreateInstance<
22796            Identity: ID3D11Module_Impl,
22797            const OFFSET: isize,
22798        >(
22799            this: *mut core::ffi::c_void,
22800            pnamespace: crate::core_supplemental::PCSTR,
22801            ppmoduleinstance: *mut *mut core::ffi::c_void,
22802        ) -> windows_core::HRESULT {
22803            unsafe {
22804                let this: &Identity =
22805                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
22806                match ID3D11Module_Impl::CreateInstance(this, core::mem::transmute(&pnamespace)) {
22807                    Ok(ok__) => {
22808                        ppmoduleinstance.write(core::mem::transmute(ok__));
22809                        windows_core::HRESULT(0)
22810                    }
22811                    Err(err) => err.into(),
22812                }
22813            }
22814        }
22815        Self {
22816            base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
22817            CreateInstance: CreateInstance::<Identity, OFFSET>,
22818        }
22819    }
22820    pub fn matches(iid: &windows_core::GUID) -> bool {
22821        iid == &<ID3D11Module as windows_core::Interface>::IID
22822    }
22823}
22824impl windows_core::RuntimeName for ID3D11Module {}
22825unsafe impl Send for ID3D11Module {}
22826unsafe impl Sync for ID3D11Module {}
22827windows_core::imp::define_interface!(
22828    ID3D11ModuleInstance,
22829    ID3D11ModuleInstance_Vtbl,
22830    0x469e07f7_045a_48d5_aa12_68a478cdf75d
22831);
22832windows_core::imp::interface_hierarchy!(ID3D11ModuleInstance, windows_core::IUnknown);
22833impl ID3D11ModuleInstance {
22834    pub unsafe fn BindConstantBuffer(
22835        &self,
22836        usrcslot: u32,
22837        udstslot: u32,
22838        cbdstoffset: u32,
22839    ) -> windows_core::Result<()> {
22840        unsafe {
22841            (windows_core::Interface::vtable(self).BindConstantBuffer)(
22842                windows_core::Interface::as_raw(self),
22843                usrcslot,
22844                udstslot,
22845                cbdstoffset,
22846            )
22847            .ok()
22848        }
22849    }
22850    pub unsafe fn BindConstantBufferByName<P0>(
22851        &self,
22852        pname: P0,
22853        udstslot: u32,
22854        cbdstoffset: u32,
22855    ) -> windows_core::Result<()>
22856    where
22857        P0: windows_core::Param<crate::core_supplemental::PCSTR>,
22858    {
22859        unsafe {
22860            (windows_core::Interface::vtable(self).BindConstantBufferByName)(
22861                windows_core::Interface::as_raw(self),
22862                pname.param().abi(),
22863                udstslot,
22864                cbdstoffset,
22865            )
22866            .ok()
22867        }
22868    }
22869    pub unsafe fn BindResource(
22870        &self,
22871        usrcslot: u32,
22872        udstslot: u32,
22873        ucount: u32,
22874    ) -> windows_core::Result<()> {
22875        unsafe {
22876            (windows_core::Interface::vtable(self).BindResource)(
22877                windows_core::Interface::as_raw(self),
22878                usrcslot,
22879                udstslot,
22880                ucount,
22881            )
22882            .ok()
22883        }
22884    }
22885    pub unsafe fn BindResourceByName<P0>(
22886        &self,
22887        pname: P0,
22888        udstslot: u32,
22889        ucount: u32,
22890    ) -> windows_core::Result<()>
22891    where
22892        P0: windows_core::Param<crate::core_supplemental::PCSTR>,
22893    {
22894        unsafe {
22895            (windows_core::Interface::vtable(self).BindResourceByName)(
22896                windows_core::Interface::as_raw(self),
22897                pname.param().abi(),
22898                udstslot,
22899                ucount,
22900            )
22901            .ok()
22902        }
22903    }
22904    pub unsafe fn BindSampler(
22905        &self,
22906        usrcslot: u32,
22907        udstslot: u32,
22908        ucount: u32,
22909    ) -> windows_core::Result<()> {
22910        unsafe {
22911            (windows_core::Interface::vtable(self).BindSampler)(
22912                windows_core::Interface::as_raw(self),
22913                usrcslot,
22914                udstslot,
22915                ucount,
22916            )
22917            .ok()
22918        }
22919    }
22920    pub unsafe fn BindSamplerByName<P0>(
22921        &self,
22922        pname: P0,
22923        udstslot: u32,
22924        ucount: u32,
22925    ) -> windows_core::Result<()>
22926    where
22927        P0: windows_core::Param<crate::core_supplemental::PCSTR>,
22928    {
22929        unsafe {
22930            (windows_core::Interface::vtable(self).BindSamplerByName)(
22931                windows_core::Interface::as_raw(self),
22932                pname.param().abi(),
22933                udstslot,
22934                ucount,
22935            )
22936            .ok()
22937        }
22938    }
22939    pub unsafe fn BindUnorderedAccessView(
22940        &self,
22941        usrcslot: u32,
22942        udstslot: u32,
22943        ucount: u32,
22944    ) -> windows_core::Result<()> {
22945        unsafe {
22946            (windows_core::Interface::vtable(self).BindUnorderedAccessView)(
22947                windows_core::Interface::as_raw(self),
22948                usrcslot,
22949                udstslot,
22950                ucount,
22951            )
22952            .ok()
22953        }
22954    }
22955    pub unsafe fn BindUnorderedAccessViewByName<P0>(
22956        &self,
22957        pname: P0,
22958        udstslot: u32,
22959        ucount: u32,
22960    ) -> windows_core::Result<()>
22961    where
22962        P0: windows_core::Param<crate::core_supplemental::PCSTR>,
22963    {
22964        unsafe {
22965            (windows_core::Interface::vtable(self).BindUnorderedAccessViewByName)(
22966                windows_core::Interface::as_raw(self),
22967                pname.param().abi(),
22968                udstslot,
22969                ucount,
22970            )
22971            .ok()
22972        }
22973    }
22974    pub unsafe fn BindResourceAsUnorderedAccessView(
22975        &self,
22976        usrcsrvslot: u32,
22977        udstuavslot: u32,
22978        ucount: u32,
22979    ) -> windows_core::Result<()> {
22980        unsafe {
22981            (windows_core::Interface::vtable(self).BindResourceAsUnorderedAccessView)(
22982                windows_core::Interface::as_raw(self),
22983                usrcsrvslot,
22984                udstuavslot,
22985                ucount,
22986            )
22987            .ok()
22988        }
22989    }
22990    pub unsafe fn BindResourceAsUnorderedAccessViewByName<P0>(
22991        &self,
22992        psrvname: P0,
22993        udstuavslot: u32,
22994        ucount: u32,
22995    ) -> windows_core::Result<()>
22996    where
22997        P0: windows_core::Param<crate::core_supplemental::PCSTR>,
22998    {
22999        unsafe {
23000            (windows_core::Interface::vtable(self).BindResourceAsUnorderedAccessViewByName)(
23001                windows_core::Interface::as_raw(self),
23002                psrvname.param().abi(),
23003                udstuavslot,
23004                ucount,
23005            )
23006            .ok()
23007        }
23008    }
23009}
23010#[repr(C)]
23011pub struct ID3D11ModuleInstance_Vtbl {
23012    pub base__: windows_core::IUnknown_Vtbl,
23013    pub BindConstantBuffer:
23014        unsafe extern "system" fn(*mut core::ffi::c_void, u32, u32, u32) -> windows_core::HRESULT,
23015    pub BindConstantBufferByName: unsafe extern "system" fn(
23016        *mut core::ffi::c_void,
23017        crate::core_supplemental::PCSTR,
23018        u32,
23019        u32,
23020    ) -> windows_core::HRESULT,
23021    pub BindResource:
23022        unsafe extern "system" fn(*mut core::ffi::c_void, u32, u32, u32) -> windows_core::HRESULT,
23023    pub BindResourceByName: unsafe extern "system" fn(
23024        *mut core::ffi::c_void,
23025        crate::core_supplemental::PCSTR,
23026        u32,
23027        u32,
23028    ) -> windows_core::HRESULT,
23029    pub BindSampler:
23030        unsafe extern "system" fn(*mut core::ffi::c_void, u32, u32, u32) -> windows_core::HRESULT,
23031    pub BindSamplerByName: unsafe extern "system" fn(
23032        *mut core::ffi::c_void,
23033        crate::core_supplemental::PCSTR,
23034        u32,
23035        u32,
23036    ) -> windows_core::HRESULT,
23037    pub BindUnorderedAccessView:
23038        unsafe extern "system" fn(*mut core::ffi::c_void, u32, u32, u32) -> windows_core::HRESULT,
23039    pub BindUnorderedAccessViewByName: unsafe extern "system" fn(
23040        *mut core::ffi::c_void,
23041        crate::core_supplemental::PCSTR,
23042        u32,
23043        u32,
23044    ) -> windows_core::HRESULT,
23045    pub BindResourceAsUnorderedAccessView:
23046        unsafe extern "system" fn(*mut core::ffi::c_void, u32, u32, u32) -> windows_core::HRESULT,
23047    pub BindResourceAsUnorderedAccessViewByName: unsafe extern "system" fn(
23048        *mut core::ffi::c_void,
23049        crate::core_supplemental::PCSTR,
23050        u32,
23051        u32,
23052    )
23053        -> windows_core::HRESULT,
23054}
23055pub trait ID3D11ModuleInstance_Impl: windows_core::IUnknownImpl {
23056    fn BindConstantBuffer(
23057        &self,
23058        usrcslot: u32,
23059        udstslot: u32,
23060        cbdstoffset: u32,
23061    ) -> windows_core::Result<()>;
23062    fn BindConstantBufferByName(
23063        &self,
23064        pname: &crate::core_supplemental::PCSTR,
23065        udstslot: u32,
23066        cbdstoffset: u32,
23067    ) -> windows_core::Result<()>;
23068    fn BindResource(&self, usrcslot: u32, udstslot: u32, ucount: u32) -> windows_core::Result<()>;
23069    fn BindResourceByName(
23070        &self,
23071        pname: &crate::core_supplemental::PCSTR,
23072        udstslot: u32,
23073        ucount: u32,
23074    ) -> windows_core::Result<()>;
23075    fn BindSampler(&self, usrcslot: u32, udstslot: u32, ucount: u32) -> windows_core::Result<()>;
23076    fn BindSamplerByName(
23077        &self,
23078        pname: &crate::core_supplemental::PCSTR,
23079        udstslot: u32,
23080        ucount: u32,
23081    ) -> windows_core::Result<()>;
23082    fn BindUnorderedAccessView(
23083        &self,
23084        usrcslot: u32,
23085        udstslot: u32,
23086        ucount: u32,
23087    ) -> windows_core::Result<()>;
23088    fn BindUnorderedAccessViewByName(
23089        &self,
23090        pname: &crate::core_supplemental::PCSTR,
23091        udstslot: u32,
23092        ucount: u32,
23093    ) -> windows_core::Result<()>;
23094    fn BindResourceAsUnorderedAccessView(
23095        &self,
23096        usrcsrvslot: u32,
23097        udstuavslot: u32,
23098        ucount: u32,
23099    ) -> windows_core::Result<()>;
23100    fn BindResourceAsUnorderedAccessViewByName(
23101        &self,
23102        psrvname: &crate::core_supplemental::PCSTR,
23103        udstuavslot: u32,
23104        ucount: u32,
23105    ) -> windows_core::Result<()>;
23106}
23107impl ID3D11ModuleInstance_Vtbl {
23108    pub const fn new<Identity: ID3D11ModuleInstance_Impl, const OFFSET: isize>() -> Self {
23109        unsafe extern "system" fn BindConstantBuffer<
23110            Identity: ID3D11ModuleInstance_Impl,
23111            const OFFSET: isize,
23112        >(
23113            this: *mut core::ffi::c_void,
23114            usrcslot: u32,
23115            udstslot: u32,
23116            cbdstoffset: u32,
23117        ) -> windows_core::HRESULT {
23118            unsafe {
23119                let this: &Identity =
23120                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
23121                ID3D11ModuleInstance_Impl::BindConstantBuffer(
23122                    this,
23123                    core::mem::transmute_copy(&usrcslot),
23124                    core::mem::transmute_copy(&udstslot),
23125                    core::mem::transmute_copy(&cbdstoffset),
23126                )
23127                .into()
23128            }
23129        }
23130        unsafe extern "system" fn BindConstantBufferByName<
23131            Identity: ID3D11ModuleInstance_Impl,
23132            const OFFSET: isize,
23133        >(
23134            this: *mut core::ffi::c_void,
23135            pname: crate::core_supplemental::PCSTR,
23136            udstslot: u32,
23137            cbdstoffset: u32,
23138        ) -> windows_core::HRESULT {
23139            unsafe {
23140                let this: &Identity =
23141                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
23142                ID3D11ModuleInstance_Impl::BindConstantBufferByName(
23143                    this,
23144                    core::mem::transmute(&pname),
23145                    core::mem::transmute_copy(&udstslot),
23146                    core::mem::transmute_copy(&cbdstoffset),
23147                )
23148                .into()
23149            }
23150        }
23151        unsafe extern "system" fn BindResource<
23152            Identity: ID3D11ModuleInstance_Impl,
23153            const OFFSET: isize,
23154        >(
23155            this: *mut core::ffi::c_void,
23156            usrcslot: u32,
23157            udstslot: u32,
23158            ucount: u32,
23159        ) -> windows_core::HRESULT {
23160            unsafe {
23161                let this: &Identity =
23162                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
23163                ID3D11ModuleInstance_Impl::BindResource(
23164                    this,
23165                    core::mem::transmute_copy(&usrcslot),
23166                    core::mem::transmute_copy(&udstslot),
23167                    core::mem::transmute_copy(&ucount),
23168                )
23169                .into()
23170            }
23171        }
23172        unsafe extern "system" fn BindResourceByName<
23173            Identity: ID3D11ModuleInstance_Impl,
23174            const OFFSET: isize,
23175        >(
23176            this: *mut core::ffi::c_void,
23177            pname: crate::core_supplemental::PCSTR,
23178            udstslot: u32,
23179            ucount: u32,
23180        ) -> windows_core::HRESULT {
23181            unsafe {
23182                let this: &Identity =
23183                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
23184                ID3D11ModuleInstance_Impl::BindResourceByName(
23185                    this,
23186                    core::mem::transmute(&pname),
23187                    core::mem::transmute_copy(&udstslot),
23188                    core::mem::transmute_copy(&ucount),
23189                )
23190                .into()
23191            }
23192        }
23193        unsafe extern "system" fn BindSampler<
23194            Identity: ID3D11ModuleInstance_Impl,
23195            const OFFSET: isize,
23196        >(
23197            this: *mut core::ffi::c_void,
23198            usrcslot: u32,
23199            udstslot: u32,
23200            ucount: u32,
23201        ) -> windows_core::HRESULT {
23202            unsafe {
23203                let this: &Identity =
23204                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
23205                ID3D11ModuleInstance_Impl::BindSampler(
23206                    this,
23207                    core::mem::transmute_copy(&usrcslot),
23208                    core::mem::transmute_copy(&udstslot),
23209                    core::mem::transmute_copy(&ucount),
23210                )
23211                .into()
23212            }
23213        }
23214        unsafe extern "system" fn BindSamplerByName<
23215            Identity: ID3D11ModuleInstance_Impl,
23216            const OFFSET: isize,
23217        >(
23218            this: *mut core::ffi::c_void,
23219            pname: crate::core_supplemental::PCSTR,
23220            udstslot: u32,
23221            ucount: u32,
23222        ) -> windows_core::HRESULT {
23223            unsafe {
23224                let this: &Identity =
23225                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
23226                ID3D11ModuleInstance_Impl::BindSamplerByName(
23227                    this,
23228                    core::mem::transmute(&pname),
23229                    core::mem::transmute_copy(&udstslot),
23230                    core::mem::transmute_copy(&ucount),
23231                )
23232                .into()
23233            }
23234        }
23235        unsafe extern "system" fn BindUnorderedAccessView<
23236            Identity: ID3D11ModuleInstance_Impl,
23237            const OFFSET: isize,
23238        >(
23239            this: *mut core::ffi::c_void,
23240            usrcslot: u32,
23241            udstslot: u32,
23242            ucount: u32,
23243        ) -> windows_core::HRESULT {
23244            unsafe {
23245                let this: &Identity =
23246                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
23247                ID3D11ModuleInstance_Impl::BindUnorderedAccessView(
23248                    this,
23249                    core::mem::transmute_copy(&usrcslot),
23250                    core::mem::transmute_copy(&udstslot),
23251                    core::mem::transmute_copy(&ucount),
23252                )
23253                .into()
23254            }
23255        }
23256        unsafe extern "system" fn BindUnorderedAccessViewByName<
23257            Identity: ID3D11ModuleInstance_Impl,
23258            const OFFSET: isize,
23259        >(
23260            this: *mut core::ffi::c_void,
23261            pname: crate::core_supplemental::PCSTR,
23262            udstslot: u32,
23263            ucount: u32,
23264        ) -> windows_core::HRESULT {
23265            unsafe {
23266                let this: &Identity =
23267                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
23268                ID3D11ModuleInstance_Impl::BindUnorderedAccessViewByName(
23269                    this,
23270                    core::mem::transmute(&pname),
23271                    core::mem::transmute_copy(&udstslot),
23272                    core::mem::transmute_copy(&ucount),
23273                )
23274                .into()
23275            }
23276        }
23277        unsafe extern "system" fn BindResourceAsUnorderedAccessView<
23278            Identity: ID3D11ModuleInstance_Impl,
23279            const OFFSET: isize,
23280        >(
23281            this: *mut core::ffi::c_void,
23282            usrcsrvslot: u32,
23283            udstuavslot: u32,
23284            ucount: u32,
23285        ) -> windows_core::HRESULT {
23286            unsafe {
23287                let this: &Identity =
23288                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
23289                ID3D11ModuleInstance_Impl::BindResourceAsUnorderedAccessView(
23290                    this,
23291                    core::mem::transmute_copy(&usrcsrvslot),
23292                    core::mem::transmute_copy(&udstuavslot),
23293                    core::mem::transmute_copy(&ucount),
23294                )
23295                .into()
23296            }
23297        }
23298        unsafe extern "system" fn BindResourceAsUnorderedAccessViewByName<
23299            Identity: ID3D11ModuleInstance_Impl,
23300            const OFFSET: isize,
23301        >(
23302            this: *mut core::ffi::c_void,
23303            psrvname: crate::core_supplemental::PCSTR,
23304            udstuavslot: u32,
23305            ucount: u32,
23306        ) -> windows_core::HRESULT {
23307            unsafe {
23308                let this: &Identity =
23309                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
23310                ID3D11ModuleInstance_Impl::BindResourceAsUnorderedAccessViewByName(
23311                    this,
23312                    core::mem::transmute(&psrvname),
23313                    core::mem::transmute_copy(&udstuavslot),
23314                    core::mem::transmute_copy(&ucount),
23315                )
23316                .into()
23317            }
23318        }
23319        Self {
23320            base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
23321            BindConstantBuffer: BindConstantBuffer::<Identity, OFFSET>,
23322            BindConstantBufferByName: BindConstantBufferByName::<Identity, OFFSET>,
23323            BindResource: BindResource::<Identity, OFFSET>,
23324            BindResourceByName: BindResourceByName::<Identity, OFFSET>,
23325            BindSampler: BindSampler::<Identity, OFFSET>,
23326            BindSamplerByName: BindSamplerByName::<Identity, OFFSET>,
23327            BindUnorderedAccessView: BindUnorderedAccessView::<Identity, OFFSET>,
23328            BindUnorderedAccessViewByName: BindUnorderedAccessViewByName::<Identity, OFFSET>,
23329            BindResourceAsUnorderedAccessView: BindResourceAsUnorderedAccessView::<Identity, OFFSET>,
23330            BindResourceAsUnorderedAccessViewByName: BindResourceAsUnorderedAccessViewByName::<
23331                Identity,
23332                OFFSET,
23333            >,
23334        }
23335    }
23336    pub fn matches(iid: &windows_core::GUID) -> bool {
23337        iid == &<ID3D11ModuleInstance as windows_core::Interface>::IID
23338    }
23339}
23340impl windows_core::RuntimeName for ID3D11ModuleInstance {}
23341unsafe impl Send for ID3D11ModuleInstance {}
23342unsafe impl Sync for ID3D11ModuleInstance {}
23343windows_core::imp::define_interface!(
23344    ID3D11Multithread,
23345    ID3D11Multithread_Vtbl,
23346    0x9b7e4e00_342c_4106_a19f_4f2704f689f0
23347);
23348windows_core::imp::interface_hierarchy!(ID3D11Multithread, windows_core::IUnknown);
23349impl ID3D11Multithread {
23350    pub unsafe fn Enter(&self) {
23351        unsafe {
23352            (windows_core::Interface::vtable(self).Enter)(windows_core::Interface::as_raw(self))
23353        }
23354    }
23355    pub unsafe fn Leave(&self) {
23356        unsafe {
23357            (windows_core::Interface::vtable(self).Leave)(windows_core::Interface::as_raw(self))
23358        }
23359    }
23360    pub unsafe fn SetMultithreadProtected(
23361        &self,
23362        bmtprotect: bool,
23363    ) -> crate::Foundation::BOOL {
23364        unsafe {
23365            (windows_core::Interface::vtable(self).SetMultithreadProtected)(
23366                windows_core::Interface::as_raw(self),
23367                bmtprotect.into(),
23368            )
23369        }
23370    }
23371    pub unsafe fn GetMultithreadProtected(&self) -> crate::Foundation::BOOL {
23372        unsafe {
23373            (windows_core::Interface::vtable(self).GetMultithreadProtected)(
23374                windows_core::Interface::as_raw(self),
23375            )
23376        }
23377    }
23378}
23379#[repr(C)]
23380pub struct ID3D11Multithread_Vtbl {
23381    pub base__: windows_core::IUnknown_Vtbl,
23382    pub Enter: unsafe extern "system" fn(*mut core::ffi::c_void),
23383    pub Leave: unsafe extern "system" fn(*mut core::ffi::c_void),
23384    pub SetMultithreadProtected: unsafe extern "system" fn(
23385        *mut core::ffi::c_void,
23386        crate::Foundation::BOOL,
23387    ) -> crate::Foundation::BOOL,
23388    pub GetMultithreadProtected:
23389        unsafe extern "system" fn(*mut core::ffi::c_void) -> crate::Foundation::BOOL,
23390}
23391pub trait ID3D11Multithread_Impl: windows_core::IUnknownImpl {
23392    fn Enter(&self);
23393    fn Leave(&self);
23394    fn SetMultithreadProtected(
23395        &self,
23396        bmtprotect: crate::Foundation::BOOL,
23397    ) -> crate::Foundation::BOOL;
23398    fn GetMultithreadProtected(&self) -> crate::Foundation::BOOL;
23399}
23400impl ID3D11Multithread_Vtbl {
23401    pub const fn new<Identity: ID3D11Multithread_Impl, const OFFSET: isize>() -> Self {
23402        unsafe extern "system" fn Enter<Identity: ID3D11Multithread_Impl, const OFFSET: isize>(
23403            this: *mut core::ffi::c_void,
23404        ) {
23405            unsafe {
23406                let this: &Identity =
23407                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
23408                ID3D11Multithread_Impl::Enter(this)
23409            }
23410        }
23411        unsafe extern "system" fn Leave<Identity: ID3D11Multithread_Impl, const OFFSET: isize>(
23412            this: *mut core::ffi::c_void,
23413        ) {
23414            unsafe {
23415                let this: &Identity =
23416                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
23417                ID3D11Multithread_Impl::Leave(this)
23418            }
23419        }
23420        unsafe extern "system" fn SetMultithreadProtected<
23421            Identity: ID3D11Multithread_Impl,
23422            const OFFSET: isize,
23423        >(
23424            this: *mut core::ffi::c_void,
23425            bmtprotect: crate::Foundation::BOOL,
23426        ) -> crate::Foundation::BOOL {
23427            unsafe {
23428                let this: &Identity =
23429                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
23430                ID3D11Multithread_Impl::SetMultithreadProtected(
23431                    this,
23432                    core::mem::transmute_copy(&bmtprotect),
23433                )
23434            }
23435        }
23436        unsafe extern "system" fn GetMultithreadProtected<
23437            Identity: ID3D11Multithread_Impl,
23438            const OFFSET: isize,
23439        >(
23440            this: *mut core::ffi::c_void,
23441        ) -> crate::Foundation::BOOL {
23442            unsafe {
23443                let this: &Identity =
23444                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
23445                ID3D11Multithread_Impl::GetMultithreadProtected(this)
23446            }
23447        }
23448        Self {
23449            base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
23450            Enter: Enter::<Identity, OFFSET>,
23451            Leave: Leave::<Identity, OFFSET>,
23452            SetMultithreadProtected: SetMultithreadProtected::<Identity, OFFSET>,
23453            GetMultithreadProtected: GetMultithreadProtected::<Identity, OFFSET>,
23454        }
23455    }
23456    pub fn matches(iid: &windows_core::GUID) -> bool {
23457        iid == &<ID3D11Multithread as windows_core::Interface>::IID
23458    }
23459}
23460impl windows_core::RuntimeName for ID3D11Multithread {}
23461unsafe impl Send for ID3D11Multithread {}
23462unsafe impl Sync for ID3D11Multithread {}
23463windows_core::imp::define_interface!(
23464    ID3D11PixelShader,
23465    ID3D11PixelShader_Vtbl,
23466    0xea82e40d_51dc_4f33_93d4_db7c9125ae8c
23467);
23468impl core::ops::Deref for ID3D11PixelShader {
23469    type Target = ID3D11DeviceChild;
23470    fn deref(&self) -> &Self::Target {
23471        unsafe { core::mem::transmute(self) }
23472    }
23473}
23474windows_core::imp::interface_hierarchy!(
23475    ID3D11PixelShader,
23476    windows_core::IUnknown,
23477    ID3D11DeviceChild
23478);
23479#[repr(C)]
23480pub struct ID3D11PixelShader_Vtbl {
23481    pub base__: ID3D11DeviceChild_Vtbl,
23482}
23483pub trait ID3D11PixelShader_Impl: ID3D11DeviceChild_Impl {}
23484impl ID3D11PixelShader_Vtbl {
23485    pub const fn new<Identity: ID3D11PixelShader_Impl, const OFFSET: isize>() -> Self {
23486        Self {
23487            base__: ID3D11DeviceChild_Vtbl::new::<Identity, OFFSET>(),
23488        }
23489    }
23490    pub fn matches(iid: &windows_core::GUID) -> bool {
23491        iid == &<ID3D11PixelShader as windows_core::Interface>::IID
23492            || iid == &<ID3D11DeviceChild as windows_core::Interface>::IID
23493    }
23494}
23495impl windows_core::RuntimeName for ID3D11PixelShader {}
23496unsafe impl Send for ID3D11PixelShader {}
23497unsafe impl Sync for ID3D11PixelShader {}
23498windows_core::imp::define_interface!(
23499    ID3D11Predicate,
23500    ID3D11Predicate_Vtbl,
23501    0x9eb576dd_9f77_4d86_81aa_8bab5fe490e2
23502);
23503impl core::ops::Deref for ID3D11Predicate {
23504    type Target = ID3D11Query;
23505    fn deref(&self) -> &Self::Target {
23506        unsafe { core::mem::transmute(self) }
23507    }
23508}
23509windows_core::imp::interface_hierarchy!(
23510    ID3D11Predicate,
23511    windows_core::IUnknown,
23512    ID3D11DeviceChild,
23513    ID3D11Asynchronous,
23514    ID3D11Query
23515);
23516#[repr(C)]
23517pub struct ID3D11Predicate_Vtbl {
23518    pub base__: ID3D11Query_Vtbl,
23519}
23520pub trait ID3D11Predicate_Impl: ID3D11Query_Impl {}
23521impl ID3D11Predicate_Vtbl {
23522    pub const fn new<Identity: ID3D11Predicate_Impl, const OFFSET: isize>() -> Self {
23523        Self {
23524            base__: ID3D11Query_Vtbl::new::<Identity, OFFSET>(),
23525        }
23526    }
23527    pub fn matches(iid: &windows_core::GUID) -> bool {
23528        iid == &<ID3D11Predicate as windows_core::Interface>::IID
23529            || iid == &<ID3D11DeviceChild as windows_core::Interface>::IID
23530            || iid == &<ID3D11Asynchronous as windows_core::Interface>::IID
23531            || iid == &<ID3D11Query as windows_core::Interface>::IID
23532    }
23533}
23534impl windows_core::RuntimeName for ID3D11Predicate {}
23535unsafe impl Send for ID3D11Predicate {}
23536unsafe impl Sync for ID3D11Predicate {}
23537windows_core::imp::define_interface!(
23538    ID3D11Query,
23539    ID3D11Query_Vtbl,
23540    0xd6c00747_87b7_425e_b84d_44d108560afd
23541);
23542impl core::ops::Deref for ID3D11Query {
23543    type Target = ID3D11Asynchronous;
23544    fn deref(&self) -> &Self::Target {
23545        unsafe { core::mem::transmute(self) }
23546    }
23547}
23548windows_core::imp::interface_hierarchy!(
23549    ID3D11Query,
23550    windows_core::IUnknown,
23551    ID3D11DeviceChild,
23552    ID3D11Asynchronous
23553);
23554impl ID3D11Query {
23555    pub unsafe fn GetDesc(&self) -> D3D11_QUERY_DESC {
23556        unsafe {
23557            let mut result__ = core::mem::zeroed();
23558            (windows_core::Interface::vtable(self).GetDesc)(
23559                windows_core::Interface::as_raw(self),
23560                &mut result__,
23561            );
23562            result__
23563        }
23564    }
23565}
23566#[repr(C)]
23567pub struct ID3D11Query_Vtbl {
23568    pub base__: ID3D11Asynchronous_Vtbl,
23569    pub GetDesc: unsafe extern "system" fn(*mut core::ffi::c_void, *mut D3D11_QUERY_DESC),
23570}
23571pub trait ID3D11Query_Impl: ID3D11Asynchronous_Impl {
23572    fn GetDesc(&self, pdesc: *mut D3D11_QUERY_DESC);
23573}
23574impl ID3D11Query_Vtbl {
23575    pub const fn new<Identity: ID3D11Query_Impl, const OFFSET: isize>() -> Self {
23576        unsafe extern "system" fn GetDesc<Identity: ID3D11Query_Impl, const OFFSET: isize>(
23577            this: *mut core::ffi::c_void,
23578            pdesc: *mut D3D11_QUERY_DESC,
23579        ) {
23580            unsafe {
23581                let this: &Identity =
23582                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
23583                ID3D11Query_Impl::GetDesc(this, core::mem::transmute_copy(&pdesc))
23584            }
23585        }
23586        Self {
23587            base__: ID3D11Asynchronous_Vtbl::new::<Identity, OFFSET>(),
23588            GetDesc: GetDesc::<Identity, OFFSET>,
23589        }
23590    }
23591    pub fn matches(iid: &windows_core::GUID) -> bool {
23592        iid == &<ID3D11Query as windows_core::Interface>::IID
23593            || iid == &<ID3D11DeviceChild as windows_core::Interface>::IID
23594            || iid == &<ID3D11Asynchronous as windows_core::Interface>::IID
23595    }
23596}
23597impl windows_core::RuntimeName for ID3D11Query {}
23598unsafe impl Send for ID3D11Query {}
23599unsafe impl Sync for ID3D11Query {}
23600windows_core::imp::define_interface!(
23601    ID3D11Query1,
23602    ID3D11Query1_Vtbl,
23603    0x631b4766_36dc_461d_8db6_c47e13e60916
23604);
23605impl core::ops::Deref for ID3D11Query1 {
23606    type Target = ID3D11Query;
23607    fn deref(&self) -> &Self::Target {
23608        unsafe { core::mem::transmute(self) }
23609    }
23610}
23611windows_core::imp::interface_hierarchy!(
23612    ID3D11Query1,
23613    windows_core::IUnknown,
23614    ID3D11DeviceChild,
23615    ID3D11Asynchronous,
23616    ID3D11Query
23617);
23618impl ID3D11Query1 {
23619    pub unsafe fn GetDesc1(&self) -> D3D11_QUERY_DESC1 {
23620        unsafe {
23621            let mut result__ = core::mem::zeroed();
23622            (windows_core::Interface::vtable(self).GetDesc1)(
23623                windows_core::Interface::as_raw(self),
23624                &mut result__,
23625            );
23626            result__
23627        }
23628    }
23629}
23630#[repr(C)]
23631pub struct ID3D11Query1_Vtbl {
23632    pub base__: ID3D11Query_Vtbl,
23633    pub GetDesc1: unsafe extern "system" fn(*mut core::ffi::c_void, *mut D3D11_QUERY_DESC1),
23634}
23635pub trait ID3D11Query1_Impl: ID3D11Query_Impl {
23636    fn GetDesc1(&self, pdesc1: *mut D3D11_QUERY_DESC1);
23637}
23638impl ID3D11Query1_Vtbl {
23639    pub const fn new<Identity: ID3D11Query1_Impl, const OFFSET: isize>() -> Self {
23640        unsafe extern "system" fn GetDesc1<Identity: ID3D11Query1_Impl, const OFFSET: isize>(
23641            this: *mut core::ffi::c_void,
23642            pdesc1: *mut D3D11_QUERY_DESC1,
23643        ) {
23644            unsafe {
23645                let this: &Identity =
23646                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
23647                ID3D11Query1_Impl::GetDesc1(this, core::mem::transmute_copy(&pdesc1))
23648            }
23649        }
23650        Self {
23651            base__: ID3D11Query_Vtbl::new::<Identity, OFFSET>(),
23652            GetDesc1: GetDesc1::<Identity, OFFSET>,
23653        }
23654    }
23655    pub fn matches(iid: &windows_core::GUID) -> bool {
23656        iid == &<ID3D11Query1 as windows_core::Interface>::IID
23657            || iid == &<ID3D11DeviceChild as windows_core::Interface>::IID
23658            || iid == &<ID3D11Asynchronous as windows_core::Interface>::IID
23659            || iid == &<ID3D11Query as windows_core::Interface>::IID
23660    }
23661}
23662impl windows_core::RuntimeName for ID3D11Query1 {}
23663unsafe impl Send for ID3D11Query1 {}
23664unsafe impl Sync for ID3D11Query1 {}
23665windows_core::imp::define_interface!(
23666    ID3D11RasterizerState,
23667    ID3D11RasterizerState_Vtbl,
23668    0x9bb4ab81_ab1a_4d8f_b506_fc04200b6ee7
23669);
23670impl core::ops::Deref for ID3D11RasterizerState {
23671    type Target = ID3D11DeviceChild;
23672    fn deref(&self) -> &Self::Target {
23673        unsafe { core::mem::transmute(self) }
23674    }
23675}
23676windows_core::imp::interface_hierarchy!(
23677    ID3D11RasterizerState,
23678    windows_core::IUnknown,
23679    ID3D11DeviceChild
23680);
23681impl ID3D11RasterizerState {
23682    pub unsafe fn GetDesc(&self, pdesc: *mut D3D11_RASTERIZER_DESC) {
23683        unsafe {
23684            (windows_core::Interface::vtable(self).GetDesc)(
23685                windows_core::Interface::as_raw(self),
23686                core::mem::transmute(pdesc),
23687            )
23688        }
23689    }
23690}
23691#[repr(C)]
23692pub struct ID3D11RasterizerState_Vtbl {
23693    pub base__: ID3D11DeviceChild_Vtbl,
23694    pub GetDesc: unsafe extern "system" fn(*mut core::ffi::c_void, *mut D3D11_RASTERIZER_DESC),
23695}
23696pub trait ID3D11RasterizerState_Impl: ID3D11DeviceChild_Impl {
23697    fn GetDesc(&self, pdesc: *mut D3D11_RASTERIZER_DESC);
23698}
23699impl ID3D11RasterizerState_Vtbl {
23700    pub const fn new<Identity: ID3D11RasterizerState_Impl, const OFFSET: isize>() -> Self {
23701        unsafe extern "system" fn GetDesc<
23702            Identity: ID3D11RasterizerState_Impl,
23703            const OFFSET: isize,
23704        >(
23705            this: *mut core::ffi::c_void,
23706            pdesc: *mut D3D11_RASTERIZER_DESC,
23707        ) {
23708            unsafe {
23709                let this: &Identity =
23710                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
23711                ID3D11RasterizerState_Impl::GetDesc(this, core::mem::transmute_copy(&pdesc))
23712            }
23713        }
23714        Self {
23715            base__: ID3D11DeviceChild_Vtbl::new::<Identity, OFFSET>(),
23716            GetDesc: GetDesc::<Identity, OFFSET>,
23717        }
23718    }
23719    pub fn matches(iid: &windows_core::GUID) -> bool {
23720        iid == &<ID3D11RasterizerState as windows_core::Interface>::IID
23721            || iid == &<ID3D11DeviceChild as windows_core::Interface>::IID
23722    }
23723}
23724impl windows_core::RuntimeName for ID3D11RasterizerState {}
23725unsafe impl Send for ID3D11RasterizerState {}
23726unsafe impl Sync for ID3D11RasterizerState {}
23727windows_core::imp::define_interface!(
23728    ID3D11RasterizerState1,
23729    ID3D11RasterizerState1_Vtbl,
23730    0x1217d7a6_5039_418c_b042_9cbe256afd6e
23731);
23732impl core::ops::Deref for ID3D11RasterizerState1 {
23733    type Target = ID3D11RasterizerState;
23734    fn deref(&self) -> &Self::Target {
23735        unsafe { core::mem::transmute(self) }
23736    }
23737}
23738windows_core::imp::interface_hierarchy!(
23739    ID3D11RasterizerState1,
23740    windows_core::IUnknown,
23741    ID3D11DeviceChild,
23742    ID3D11RasterizerState
23743);
23744impl ID3D11RasterizerState1 {
23745    pub unsafe fn GetDesc1(&self, pdesc: *mut D3D11_RASTERIZER_DESC1) {
23746        unsafe {
23747            (windows_core::Interface::vtable(self).GetDesc1)(
23748                windows_core::Interface::as_raw(self),
23749                core::mem::transmute(pdesc),
23750            )
23751        }
23752    }
23753}
23754#[repr(C)]
23755pub struct ID3D11RasterizerState1_Vtbl {
23756    pub base__: ID3D11RasterizerState_Vtbl,
23757    pub GetDesc1: unsafe extern "system" fn(*mut core::ffi::c_void, *mut D3D11_RASTERIZER_DESC1),
23758}
23759pub trait ID3D11RasterizerState1_Impl: ID3D11RasterizerState_Impl {
23760    fn GetDesc1(&self, pdesc: *mut D3D11_RASTERIZER_DESC1);
23761}
23762impl ID3D11RasterizerState1_Vtbl {
23763    pub const fn new<Identity: ID3D11RasterizerState1_Impl, const OFFSET: isize>() -> Self {
23764        unsafe extern "system" fn GetDesc1<
23765            Identity: ID3D11RasterizerState1_Impl,
23766            const OFFSET: isize,
23767        >(
23768            this: *mut core::ffi::c_void,
23769            pdesc: *mut D3D11_RASTERIZER_DESC1,
23770        ) {
23771            unsafe {
23772                let this: &Identity =
23773                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
23774                ID3D11RasterizerState1_Impl::GetDesc1(this, core::mem::transmute_copy(&pdesc))
23775            }
23776        }
23777        Self {
23778            base__: ID3D11RasterizerState_Vtbl::new::<Identity, OFFSET>(),
23779            GetDesc1: GetDesc1::<Identity, OFFSET>,
23780        }
23781    }
23782    pub fn matches(iid: &windows_core::GUID) -> bool {
23783        iid == &<ID3D11RasterizerState1 as windows_core::Interface>::IID
23784            || iid == &<ID3D11DeviceChild as windows_core::Interface>::IID
23785            || iid == &<ID3D11RasterizerState as windows_core::Interface>::IID
23786    }
23787}
23788impl windows_core::RuntimeName for ID3D11RasterizerState1 {}
23789unsafe impl Send for ID3D11RasterizerState1 {}
23790unsafe impl Sync for ID3D11RasterizerState1 {}
23791windows_core::imp::define_interface!(
23792    ID3D11RasterizerState2,
23793    ID3D11RasterizerState2_Vtbl,
23794    0x6fbd02fb_209f_46c4_b059_2ed15586a6ac
23795);
23796impl core::ops::Deref for ID3D11RasterizerState2 {
23797    type Target = ID3D11RasterizerState1;
23798    fn deref(&self) -> &Self::Target {
23799        unsafe { core::mem::transmute(self) }
23800    }
23801}
23802windows_core::imp::interface_hierarchy!(
23803    ID3D11RasterizerState2,
23804    windows_core::IUnknown,
23805    ID3D11DeviceChild,
23806    ID3D11RasterizerState,
23807    ID3D11RasterizerState1
23808);
23809impl ID3D11RasterizerState2 {
23810    pub unsafe fn GetDesc2(&self, pdesc: *mut D3D11_RASTERIZER_DESC2) {
23811        unsafe {
23812            (windows_core::Interface::vtable(self).GetDesc2)(
23813                windows_core::Interface::as_raw(self),
23814                core::mem::transmute(pdesc),
23815            )
23816        }
23817    }
23818}
23819#[repr(C)]
23820pub struct ID3D11RasterizerState2_Vtbl {
23821    pub base__: ID3D11RasterizerState1_Vtbl,
23822    pub GetDesc2: unsafe extern "system" fn(*mut core::ffi::c_void, *mut D3D11_RASTERIZER_DESC2),
23823}
23824pub trait ID3D11RasterizerState2_Impl: ID3D11RasterizerState1_Impl {
23825    fn GetDesc2(&self, pdesc: *mut D3D11_RASTERIZER_DESC2);
23826}
23827impl ID3D11RasterizerState2_Vtbl {
23828    pub const fn new<Identity: ID3D11RasterizerState2_Impl, const OFFSET: isize>() -> Self {
23829        unsafe extern "system" fn GetDesc2<
23830            Identity: ID3D11RasterizerState2_Impl,
23831            const OFFSET: isize,
23832        >(
23833            this: *mut core::ffi::c_void,
23834            pdesc: *mut D3D11_RASTERIZER_DESC2,
23835        ) {
23836            unsafe {
23837                let this: &Identity =
23838                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
23839                ID3D11RasterizerState2_Impl::GetDesc2(this, core::mem::transmute_copy(&pdesc))
23840            }
23841        }
23842        Self {
23843            base__: ID3D11RasterizerState1_Vtbl::new::<Identity, OFFSET>(),
23844            GetDesc2: GetDesc2::<Identity, OFFSET>,
23845        }
23846    }
23847    pub fn matches(iid: &windows_core::GUID) -> bool {
23848        iid == &<ID3D11RasterizerState2 as windows_core::Interface>::IID
23849            || iid == &<ID3D11DeviceChild as windows_core::Interface>::IID
23850            || iid == &<ID3D11RasterizerState as windows_core::Interface>::IID
23851            || iid == &<ID3D11RasterizerState1 as windows_core::Interface>::IID
23852    }
23853}
23854impl windows_core::RuntimeName for ID3D11RasterizerState2 {}
23855unsafe impl Send for ID3D11RasterizerState2 {}
23856unsafe impl Sync for ID3D11RasterizerState2 {}
23857windows_core::imp::define_interface!(
23858    ID3D11RefDefaultTrackingOptions,
23859    ID3D11RefDefaultTrackingOptions_Vtbl,
23860    0x03916615_c644_418c_9bf4_75db5be63ca0
23861);
23862windows_core::imp::interface_hierarchy!(ID3D11RefDefaultTrackingOptions, windows_core::IUnknown);
23863impl ID3D11RefDefaultTrackingOptions {
23864    pub unsafe fn SetTrackingOptions(
23865        &self,
23866        resourcetypeflags: u32,
23867        options: u32,
23868    ) -> windows_core::Result<()> {
23869        unsafe {
23870            (windows_core::Interface::vtable(self).SetTrackingOptions)(
23871                windows_core::Interface::as_raw(self),
23872                resourcetypeflags,
23873                options,
23874            )
23875            .ok()
23876        }
23877    }
23878}
23879#[repr(C)]
23880pub struct ID3D11RefDefaultTrackingOptions_Vtbl {
23881    pub base__: windows_core::IUnknown_Vtbl,
23882    pub SetTrackingOptions:
23883        unsafe extern "system" fn(*mut core::ffi::c_void, u32, u32) -> windows_core::HRESULT,
23884}
23885pub trait ID3D11RefDefaultTrackingOptions_Impl: windows_core::IUnknownImpl {
23886    fn SetTrackingOptions(&self, resourcetypeflags: u32, options: u32) -> windows_core::Result<()>;
23887}
23888impl ID3D11RefDefaultTrackingOptions_Vtbl {
23889    pub const fn new<Identity: ID3D11RefDefaultTrackingOptions_Impl, const OFFSET: isize>() -> Self
23890    {
23891        unsafe extern "system" fn SetTrackingOptions<
23892            Identity: ID3D11RefDefaultTrackingOptions_Impl,
23893            const OFFSET: isize,
23894        >(
23895            this: *mut core::ffi::c_void,
23896            resourcetypeflags: u32,
23897            options: u32,
23898        ) -> windows_core::HRESULT {
23899            unsafe {
23900                let this: &Identity =
23901                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
23902                ID3D11RefDefaultTrackingOptions_Impl::SetTrackingOptions(
23903                    this,
23904                    core::mem::transmute_copy(&resourcetypeflags),
23905                    core::mem::transmute_copy(&options),
23906                )
23907                .into()
23908            }
23909        }
23910        Self {
23911            base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
23912            SetTrackingOptions: SetTrackingOptions::<Identity, OFFSET>,
23913        }
23914    }
23915    pub fn matches(iid: &windows_core::GUID) -> bool {
23916        iid == &<ID3D11RefDefaultTrackingOptions as windows_core::Interface>::IID
23917    }
23918}
23919impl windows_core::RuntimeName for ID3D11RefDefaultTrackingOptions {}
23920unsafe impl Send for ID3D11RefDefaultTrackingOptions {}
23921unsafe impl Sync for ID3D11RefDefaultTrackingOptions {}
23922windows_core::imp::define_interface!(
23923    ID3D11RefTrackingOptions,
23924    ID3D11RefTrackingOptions_Vtbl,
23925    0x193dacdf_0db2_4c05_a55c_ef06cac56fd9
23926);
23927windows_core::imp::interface_hierarchy!(ID3D11RefTrackingOptions, windows_core::IUnknown);
23928impl ID3D11RefTrackingOptions {
23929    pub unsafe fn SetTrackingOptions(&self, uoptions: u32) -> windows_core::Result<()> {
23930        unsafe {
23931            (windows_core::Interface::vtable(self).SetTrackingOptions)(
23932                windows_core::Interface::as_raw(self),
23933                uoptions,
23934            )
23935            .ok()
23936        }
23937    }
23938}
23939#[repr(C)]
23940pub struct ID3D11RefTrackingOptions_Vtbl {
23941    pub base__: windows_core::IUnknown_Vtbl,
23942    pub SetTrackingOptions:
23943        unsafe extern "system" fn(*mut core::ffi::c_void, u32) -> windows_core::HRESULT,
23944}
23945pub trait ID3D11RefTrackingOptions_Impl: windows_core::IUnknownImpl {
23946    fn SetTrackingOptions(&self, uoptions: u32) -> windows_core::Result<()>;
23947}
23948impl ID3D11RefTrackingOptions_Vtbl {
23949    pub const fn new<Identity: ID3D11RefTrackingOptions_Impl, const OFFSET: isize>() -> Self {
23950        unsafe extern "system" fn SetTrackingOptions<
23951            Identity: ID3D11RefTrackingOptions_Impl,
23952            const OFFSET: isize,
23953        >(
23954            this: *mut core::ffi::c_void,
23955            uoptions: u32,
23956        ) -> windows_core::HRESULT {
23957            unsafe {
23958                let this: &Identity =
23959                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
23960                ID3D11RefTrackingOptions_Impl::SetTrackingOptions(
23961                    this,
23962                    core::mem::transmute_copy(&uoptions),
23963                )
23964                .into()
23965            }
23966        }
23967        Self {
23968            base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
23969            SetTrackingOptions: SetTrackingOptions::<Identity, OFFSET>,
23970        }
23971    }
23972    pub fn matches(iid: &windows_core::GUID) -> bool {
23973        iid == &<ID3D11RefTrackingOptions as windows_core::Interface>::IID
23974    }
23975}
23976impl windows_core::RuntimeName for ID3D11RefTrackingOptions {}
23977unsafe impl Send for ID3D11RefTrackingOptions {}
23978unsafe impl Sync for ID3D11RefTrackingOptions {}
23979windows_core::imp::define_interface!(
23980    ID3D11RenderTargetView,
23981    ID3D11RenderTargetView_Vtbl,
23982    0xdfdba067_0b8d_4865_875b_d7b4516cc164
23983);
23984impl core::ops::Deref for ID3D11RenderTargetView {
23985    type Target = ID3D11View;
23986    fn deref(&self) -> &Self::Target {
23987        unsafe { core::mem::transmute(self) }
23988    }
23989}
23990windows_core::imp::interface_hierarchy!(
23991    ID3D11RenderTargetView,
23992    windows_core::IUnknown,
23993    ID3D11DeviceChild,
23994    ID3D11View
23995);
23996impl ID3D11RenderTargetView {
23997    #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
23998    pub unsafe fn GetDesc(&self, pdesc: *mut D3D11_RENDER_TARGET_VIEW_DESC) {
23999        unsafe {
24000            (windows_core::Interface::vtable(self).GetDesc)(
24001                windows_core::Interface::as_raw(self),
24002                core::mem::transmute(pdesc),
24003            )
24004        }
24005    }
24006}
24007#[repr(C)]
24008pub struct ID3D11RenderTargetView_Vtbl {
24009    pub base__: ID3D11View_Vtbl,
24010    #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
24011    pub GetDesc:
24012        unsafe extern "system" fn(*mut core::ffi::c_void, *mut D3D11_RENDER_TARGET_VIEW_DESC),
24013    #[cfg(not(feature = "Win32_Graphics_Dxgi_Common"))]
24014    GetDesc: usize,
24015}
24016#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
24017pub trait ID3D11RenderTargetView_Impl: ID3D11View_Impl {
24018    fn GetDesc(&self, pdesc: *mut D3D11_RENDER_TARGET_VIEW_DESC);
24019}
24020#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
24021impl ID3D11RenderTargetView_Vtbl {
24022    pub const fn new<Identity: ID3D11RenderTargetView_Impl, const OFFSET: isize>() -> Self {
24023        unsafe extern "system" fn GetDesc<
24024            Identity: ID3D11RenderTargetView_Impl,
24025            const OFFSET: isize,
24026        >(
24027            this: *mut core::ffi::c_void,
24028            pdesc: *mut D3D11_RENDER_TARGET_VIEW_DESC,
24029        ) {
24030            unsafe {
24031                let this: &Identity =
24032                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
24033                ID3D11RenderTargetView_Impl::GetDesc(this, core::mem::transmute_copy(&pdesc))
24034            }
24035        }
24036        Self {
24037            base__: ID3D11View_Vtbl::new::<Identity, OFFSET>(),
24038            GetDesc: GetDesc::<Identity, OFFSET>,
24039        }
24040    }
24041    pub fn matches(iid: &windows_core::GUID) -> bool {
24042        iid == &<ID3D11RenderTargetView as windows_core::Interface>::IID
24043            || iid == &<ID3D11DeviceChild as windows_core::Interface>::IID
24044            || iid == &<ID3D11View as windows_core::Interface>::IID
24045    }
24046}
24047#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
24048impl windows_core::RuntimeName for ID3D11RenderTargetView {}
24049#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
24050unsafe impl Send for ID3D11RenderTargetView {}
24051#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
24052unsafe impl Sync for ID3D11RenderTargetView {}
24053windows_core::imp::define_interface!(
24054    ID3D11RenderTargetView1,
24055    ID3D11RenderTargetView1_Vtbl,
24056    0xffbe2e23_f011_418a_ac56_5ceed7c5b94b
24057);
24058impl core::ops::Deref for ID3D11RenderTargetView1 {
24059    type Target = ID3D11RenderTargetView;
24060    fn deref(&self) -> &Self::Target {
24061        unsafe { core::mem::transmute(self) }
24062    }
24063}
24064windows_core::imp::interface_hierarchy!(
24065    ID3D11RenderTargetView1,
24066    windows_core::IUnknown,
24067    ID3D11DeviceChild,
24068    ID3D11View,
24069    ID3D11RenderTargetView
24070);
24071impl ID3D11RenderTargetView1 {
24072    #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
24073    pub unsafe fn GetDesc1(&self, pdesc1: *mut D3D11_RENDER_TARGET_VIEW_DESC1) {
24074        unsafe {
24075            (windows_core::Interface::vtable(self).GetDesc1)(
24076                windows_core::Interface::as_raw(self),
24077                core::mem::transmute(pdesc1),
24078            )
24079        }
24080    }
24081}
24082#[repr(C)]
24083pub struct ID3D11RenderTargetView1_Vtbl {
24084    pub base__: ID3D11RenderTargetView_Vtbl,
24085    #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
24086    pub GetDesc1:
24087        unsafe extern "system" fn(*mut core::ffi::c_void, *mut D3D11_RENDER_TARGET_VIEW_DESC1),
24088    #[cfg(not(feature = "Win32_Graphics_Dxgi_Common"))]
24089    GetDesc1: usize,
24090}
24091#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
24092pub trait ID3D11RenderTargetView1_Impl: ID3D11RenderTargetView_Impl {
24093    fn GetDesc1(&self, pdesc1: *mut D3D11_RENDER_TARGET_VIEW_DESC1);
24094}
24095#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
24096impl ID3D11RenderTargetView1_Vtbl {
24097    pub const fn new<Identity: ID3D11RenderTargetView1_Impl, const OFFSET: isize>() -> Self {
24098        unsafe extern "system" fn GetDesc1<
24099            Identity: ID3D11RenderTargetView1_Impl,
24100            const OFFSET: isize,
24101        >(
24102            this: *mut core::ffi::c_void,
24103            pdesc1: *mut D3D11_RENDER_TARGET_VIEW_DESC1,
24104        ) {
24105            unsafe {
24106                let this: &Identity =
24107                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
24108                ID3D11RenderTargetView1_Impl::GetDesc1(this, core::mem::transmute_copy(&pdesc1))
24109            }
24110        }
24111        Self {
24112            base__: ID3D11RenderTargetView_Vtbl::new::<Identity, OFFSET>(),
24113            GetDesc1: GetDesc1::<Identity, OFFSET>,
24114        }
24115    }
24116    pub fn matches(iid: &windows_core::GUID) -> bool {
24117        iid == &<ID3D11RenderTargetView1 as windows_core::Interface>::IID
24118            || iid == &<ID3D11DeviceChild as windows_core::Interface>::IID
24119            || iid == &<ID3D11View as windows_core::Interface>::IID
24120            || iid == &<ID3D11RenderTargetView as windows_core::Interface>::IID
24121    }
24122}
24123#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
24124impl windows_core::RuntimeName for ID3D11RenderTargetView1 {}
24125#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
24126unsafe impl Send for ID3D11RenderTargetView1 {}
24127#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
24128unsafe impl Sync for ID3D11RenderTargetView1 {}
24129windows_core::imp::define_interface!(
24130    ID3D11Resource,
24131    ID3D11Resource_Vtbl,
24132    0xdc8e63f3_d12b_4952_b47b_5e45026a862d
24133);
24134impl core::ops::Deref for ID3D11Resource {
24135    type Target = ID3D11DeviceChild;
24136    fn deref(&self) -> &Self::Target {
24137        unsafe { core::mem::transmute(self) }
24138    }
24139}
24140windows_core::imp::interface_hierarchy!(ID3D11Resource, windows_core::IUnknown, ID3D11DeviceChild);
24141impl ID3D11Resource {
24142    pub unsafe fn GetType(&self) -> D3D11_RESOURCE_DIMENSION {
24143        unsafe {
24144            let mut result__ = core::mem::zeroed();
24145            (windows_core::Interface::vtable(self).GetType)(
24146                windows_core::Interface::as_raw(self),
24147                &mut result__,
24148            );
24149            result__
24150        }
24151    }
24152    pub unsafe fn SetEvictionPriority(&self, evictionpriority: u32) {
24153        unsafe {
24154            (windows_core::Interface::vtable(self).SetEvictionPriority)(
24155                windows_core::Interface::as_raw(self),
24156                evictionpriority,
24157            )
24158        }
24159    }
24160    pub unsafe fn GetEvictionPriority(&self) -> u32 {
24161        unsafe {
24162            (windows_core::Interface::vtable(self).GetEvictionPriority)(
24163                windows_core::Interface::as_raw(self),
24164            )
24165        }
24166    }
24167}
24168#[repr(C)]
24169pub struct ID3D11Resource_Vtbl {
24170    pub base__: ID3D11DeviceChild_Vtbl,
24171    pub GetType: unsafe extern "system" fn(*mut core::ffi::c_void, *mut D3D11_RESOURCE_DIMENSION),
24172    pub SetEvictionPriority: unsafe extern "system" fn(*mut core::ffi::c_void, u32),
24173    pub GetEvictionPriority: unsafe extern "system" fn(*mut core::ffi::c_void) -> u32,
24174}
24175pub trait ID3D11Resource_Impl: ID3D11DeviceChild_Impl {
24176    fn GetType(&self, presourcedimension: *mut D3D11_RESOURCE_DIMENSION);
24177    fn SetEvictionPriority(&self, evictionpriority: u32);
24178    fn GetEvictionPriority(&self) -> u32;
24179}
24180impl ID3D11Resource_Vtbl {
24181    pub const fn new<Identity: ID3D11Resource_Impl, const OFFSET: isize>() -> Self {
24182        unsafe extern "system" fn GetType<Identity: ID3D11Resource_Impl, const OFFSET: isize>(
24183            this: *mut core::ffi::c_void,
24184            presourcedimension: *mut D3D11_RESOURCE_DIMENSION,
24185        ) {
24186            unsafe {
24187                let this: &Identity =
24188                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
24189                ID3D11Resource_Impl::GetType(this, core::mem::transmute_copy(&presourcedimension))
24190            }
24191        }
24192        unsafe extern "system" fn SetEvictionPriority<
24193            Identity: ID3D11Resource_Impl,
24194            const OFFSET: isize,
24195        >(
24196            this: *mut core::ffi::c_void,
24197            evictionpriority: u32,
24198        ) {
24199            unsafe {
24200                let this: &Identity =
24201                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
24202                ID3D11Resource_Impl::SetEvictionPriority(
24203                    this,
24204                    core::mem::transmute_copy(&evictionpriority),
24205                )
24206            }
24207        }
24208        unsafe extern "system" fn GetEvictionPriority<
24209            Identity: ID3D11Resource_Impl,
24210            const OFFSET: isize,
24211        >(
24212            this: *mut core::ffi::c_void,
24213        ) -> u32 {
24214            unsafe {
24215                let this: &Identity =
24216                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
24217                ID3D11Resource_Impl::GetEvictionPriority(this)
24218            }
24219        }
24220        Self {
24221            base__: ID3D11DeviceChild_Vtbl::new::<Identity, OFFSET>(),
24222            GetType: GetType::<Identity, OFFSET>,
24223            SetEvictionPriority: SetEvictionPriority::<Identity, OFFSET>,
24224            GetEvictionPriority: GetEvictionPriority::<Identity, OFFSET>,
24225        }
24226    }
24227    pub fn matches(iid: &windows_core::GUID) -> bool {
24228        iid == &<ID3D11Resource as windows_core::Interface>::IID
24229            || iid == &<ID3D11DeviceChild as windows_core::Interface>::IID
24230    }
24231}
24232impl windows_core::RuntimeName for ID3D11Resource {}
24233unsafe impl Send for ID3D11Resource {}
24234unsafe impl Sync for ID3D11Resource {}
24235windows_core::imp::define_interface!(
24236    ID3D11SamplerState,
24237    ID3D11SamplerState_Vtbl,
24238    0xda6fea51_564c_4487_9810_f0d0f9b4e3a5
24239);
24240impl core::ops::Deref for ID3D11SamplerState {
24241    type Target = ID3D11DeviceChild;
24242    fn deref(&self) -> &Self::Target {
24243        unsafe { core::mem::transmute(self) }
24244    }
24245}
24246windows_core::imp::interface_hierarchy!(
24247    ID3D11SamplerState,
24248    windows_core::IUnknown,
24249    ID3D11DeviceChild
24250);
24251impl ID3D11SamplerState {
24252    pub unsafe fn GetDesc(&self, pdesc: *mut D3D11_SAMPLER_DESC) {
24253        unsafe {
24254            (windows_core::Interface::vtable(self).GetDesc)(
24255                windows_core::Interface::as_raw(self),
24256                core::mem::transmute(pdesc),
24257            )
24258        }
24259    }
24260}
24261#[repr(C)]
24262pub struct ID3D11SamplerState_Vtbl {
24263    pub base__: ID3D11DeviceChild_Vtbl,
24264    pub GetDesc: unsafe extern "system" fn(*mut core::ffi::c_void, *mut D3D11_SAMPLER_DESC),
24265}
24266pub trait ID3D11SamplerState_Impl: ID3D11DeviceChild_Impl {
24267    fn GetDesc(&self, pdesc: *mut D3D11_SAMPLER_DESC);
24268}
24269impl ID3D11SamplerState_Vtbl {
24270    pub const fn new<Identity: ID3D11SamplerState_Impl, const OFFSET: isize>() -> Self {
24271        unsafe extern "system" fn GetDesc<
24272            Identity: ID3D11SamplerState_Impl,
24273            const OFFSET: isize,
24274        >(
24275            this: *mut core::ffi::c_void,
24276            pdesc: *mut D3D11_SAMPLER_DESC,
24277        ) {
24278            unsafe {
24279                let this: &Identity =
24280                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
24281                ID3D11SamplerState_Impl::GetDesc(this, core::mem::transmute_copy(&pdesc))
24282            }
24283        }
24284        Self {
24285            base__: ID3D11DeviceChild_Vtbl::new::<Identity, OFFSET>(),
24286            GetDesc: GetDesc::<Identity, OFFSET>,
24287        }
24288    }
24289    pub fn matches(iid: &windows_core::GUID) -> bool {
24290        iid == &<ID3D11SamplerState as windows_core::Interface>::IID
24291            || iid == &<ID3D11DeviceChild as windows_core::Interface>::IID
24292    }
24293}
24294impl windows_core::RuntimeName for ID3D11SamplerState {}
24295unsafe impl Send for ID3D11SamplerState {}
24296unsafe impl Sync for ID3D11SamplerState {}
24297windows_core::imp::define_interface!(
24298    ID3D11ShaderReflection,
24299    ID3D11ShaderReflection_Vtbl,
24300    0x8d536ca1_0cca_4956_a837_786963755584
24301);
24302windows_core::imp::interface_hierarchy!(ID3D11ShaderReflection, windows_core::IUnknown);
24303impl ID3D11ShaderReflection {
24304    #[cfg(feature = "Win32_Graphics_Direct3D")]
24305    pub unsafe fn GetDesc(&self, pdesc: *mut D3D11_SHADER_DESC) -> windows_core::Result<()> {
24306        unsafe {
24307            (windows_core::Interface::vtable(self).GetDesc)(
24308                windows_core::Interface::as_raw(self),
24309                core::mem::transmute(pdesc),
24310            )
24311            .ok()
24312        }
24313    }
24314    pub unsafe fn GetConstantBufferByIndex(
24315        &self,
24316        index: u32,
24317    ) -> Option<ID3D11ShaderReflectionConstantBuffer> {
24318        unsafe {
24319            (windows_core::Interface::vtable(self).GetConstantBufferByIndex)(
24320                windows_core::Interface::as_raw(self),
24321                index,
24322            )
24323        }
24324    }
24325    pub unsafe fn GetConstantBufferByName<P0>(
24326        &self,
24327        name: P0,
24328    ) -> Option<ID3D11ShaderReflectionConstantBuffer>
24329    where
24330        P0: windows_core::Param<crate::core_supplemental::PCSTR>,
24331    {
24332        unsafe {
24333            (windows_core::Interface::vtable(self).GetConstantBufferByName)(
24334                windows_core::Interface::as_raw(self),
24335                name.param().abi(),
24336            )
24337        }
24338    }
24339    #[cfg(feature = "Win32_Graphics_Direct3D")]
24340    pub unsafe fn GetResourceBindingDesc(
24341        &self,
24342        resourceindex: u32,
24343        pdesc: *mut D3D11_SHADER_INPUT_BIND_DESC,
24344    ) -> windows_core::Result<()> {
24345        unsafe {
24346            (windows_core::Interface::vtable(self).GetResourceBindingDesc)(
24347                windows_core::Interface::as_raw(self),
24348                resourceindex,
24349                core::mem::transmute(pdesc),
24350            )
24351            .ok()
24352        }
24353    }
24354    #[cfg(feature = "Win32_Graphics_Direct3D")]
24355    pub unsafe fn GetInputParameterDesc(
24356        &self,
24357        parameterindex: u32,
24358        pdesc: *mut D3D11_SIGNATURE_PARAMETER_DESC,
24359    ) -> windows_core::Result<()> {
24360        unsafe {
24361            (windows_core::Interface::vtable(self).GetInputParameterDesc)(
24362                windows_core::Interface::as_raw(self),
24363                parameterindex,
24364                core::mem::transmute(pdesc),
24365            )
24366            .ok()
24367        }
24368    }
24369    #[cfg(feature = "Win32_Graphics_Direct3D")]
24370    pub unsafe fn GetOutputParameterDesc(
24371        &self,
24372        parameterindex: u32,
24373        pdesc: *mut D3D11_SIGNATURE_PARAMETER_DESC,
24374    ) -> windows_core::Result<()> {
24375        unsafe {
24376            (windows_core::Interface::vtable(self).GetOutputParameterDesc)(
24377                windows_core::Interface::as_raw(self),
24378                parameterindex,
24379                core::mem::transmute(pdesc),
24380            )
24381            .ok()
24382        }
24383    }
24384    #[cfg(feature = "Win32_Graphics_Direct3D")]
24385    pub unsafe fn GetPatchConstantParameterDesc(
24386        &self,
24387        parameterindex: u32,
24388        pdesc: *mut D3D11_SIGNATURE_PARAMETER_DESC,
24389    ) -> windows_core::Result<()> {
24390        unsafe {
24391            (windows_core::Interface::vtable(self).GetPatchConstantParameterDesc)(
24392                windows_core::Interface::as_raw(self),
24393                parameterindex,
24394                core::mem::transmute(pdesc),
24395            )
24396            .ok()
24397        }
24398    }
24399    pub unsafe fn GetVariableByName<P0>(&self, name: P0) -> Option<ID3D11ShaderReflectionVariable>
24400    where
24401        P0: windows_core::Param<crate::core_supplemental::PCSTR>,
24402    {
24403        unsafe {
24404            (windows_core::Interface::vtable(self).GetVariableByName)(
24405                windows_core::Interface::as_raw(self),
24406                name.param().abi(),
24407            )
24408        }
24409    }
24410    #[cfg(feature = "Win32_Graphics_Direct3D")]
24411    pub unsafe fn GetResourceBindingDescByName<P0>(
24412        &self,
24413        name: P0,
24414        pdesc: *mut D3D11_SHADER_INPUT_BIND_DESC,
24415    ) -> windows_core::Result<()>
24416    where
24417        P0: windows_core::Param<crate::core_supplemental::PCSTR>,
24418    {
24419        unsafe {
24420            (windows_core::Interface::vtable(self).GetResourceBindingDescByName)(
24421                windows_core::Interface::as_raw(self),
24422                name.param().abi(),
24423                core::mem::transmute(pdesc),
24424            )
24425            .ok()
24426        }
24427    }
24428    pub unsafe fn GetMovInstructionCount(&self) -> u32 {
24429        unsafe {
24430            (windows_core::Interface::vtable(self).GetMovInstructionCount)(
24431                windows_core::Interface::as_raw(self),
24432            )
24433        }
24434    }
24435    pub unsafe fn GetMovcInstructionCount(&self) -> u32 {
24436        unsafe {
24437            (windows_core::Interface::vtable(self).GetMovcInstructionCount)(
24438                windows_core::Interface::as_raw(self),
24439            )
24440        }
24441    }
24442    pub unsafe fn GetConversionInstructionCount(&self) -> u32 {
24443        unsafe {
24444            (windows_core::Interface::vtable(self).GetConversionInstructionCount)(
24445                windows_core::Interface::as_raw(self),
24446            )
24447        }
24448    }
24449    pub unsafe fn GetBitwiseInstructionCount(&self) -> u32 {
24450        unsafe {
24451            (windows_core::Interface::vtable(self).GetBitwiseInstructionCount)(
24452                windows_core::Interface::as_raw(self),
24453            )
24454        }
24455    }
24456    #[cfg(feature = "Win32_Graphics_Direct3D")]
24457    pub unsafe fn GetGSInputPrimitive(&self) -> super::Direct3D::D3D_PRIMITIVE {
24458        unsafe {
24459            (windows_core::Interface::vtable(self).GetGSInputPrimitive)(
24460                windows_core::Interface::as_raw(self),
24461            )
24462        }
24463    }
24464    pub unsafe fn IsSampleFrequencyShader(&self) -> crate::Foundation::BOOL {
24465        unsafe {
24466            (windows_core::Interface::vtable(self).IsSampleFrequencyShader)(
24467                windows_core::Interface::as_raw(self),
24468            )
24469        }
24470    }
24471    pub unsafe fn GetNumInterfaceSlots(&self) -> u32 {
24472        unsafe {
24473            (windows_core::Interface::vtable(self).GetNumInterfaceSlots)(
24474                windows_core::Interface::as_raw(self),
24475            )
24476        }
24477    }
24478    #[cfg(feature = "Win32_Graphics_Direct3D")]
24479    pub unsafe fn GetMinFeatureLevel(
24480        &self,
24481    ) -> windows_core::Result<super::Direct3D::D3D_FEATURE_LEVEL> {
24482        unsafe {
24483            let mut result__ = core::mem::zeroed();
24484            (windows_core::Interface::vtable(self).GetMinFeatureLevel)(
24485                windows_core::Interface::as_raw(self),
24486                &mut result__,
24487            )
24488            .map(|| result__)
24489        }
24490    }
24491    pub unsafe fn GetThreadGroupSize(
24492        &self,
24493        psizex: Option<*mut u32>,
24494        psizey: Option<*mut u32>,
24495        psizez: Option<*mut u32>,
24496    ) -> u32 {
24497        unsafe {
24498            (windows_core::Interface::vtable(self).GetThreadGroupSize)(
24499                windows_core::Interface::as_raw(self),
24500                core::mem::transmute(psizex.unwrap_or(core::mem::zeroed())),
24501                core::mem::transmute(psizey.unwrap_or(core::mem::zeroed())),
24502                core::mem::transmute(psizez.unwrap_or(core::mem::zeroed())),
24503            )
24504        }
24505    }
24506    pub unsafe fn GetRequiresFlags(&self) -> u64 {
24507        unsafe {
24508            (windows_core::Interface::vtable(self).GetRequiresFlags)(
24509                windows_core::Interface::as_raw(self),
24510            )
24511        }
24512    }
24513}
24514#[repr(C)]
24515pub struct ID3D11ShaderReflection_Vtbl {
24516    pub base__: windows_core::IUnknown_Vtbl,
24517    #[cfg(feature = "Win32_Graphics_Direct3D")]
24518    pub GetDesc: unsafe extern "system" fn(
24519        *mut core::ffi::c_void,
24520        *mut D3D11_SHADER_DESC,
24521    ) -> windows_core::HRESULT,
24522    #[cfg(not(feature = "Win32_Graphics_Direct3D"))]
24523    GetDesc: usize,
24524    pub GetConstantBufferByIndex:
24525        unsafe extern "system" fn(
24526            *mut core::ffi::c_void,
24527            u32,
24528        ) -> Option<ID3D11ShaderReflectionConstantBuffer>,
24529    pub GetConstantBufferByName:
24530        unsafe extern "system" fn(
24531            *mut core::ffi::c_void,
24532            crate::core_supplemental::PCSTR,
24533        ) -> Option<ID3D11ShaderReflectionConstantBuffer>,
24534    #[cfg(feature = "Win32_Graphics_Direct3D")]
24535    pub GetResourceBindingDesc: unsafe extern "system" fn(
24536        *mut core::ffi::c_void,
24537        u32,
24538        *mut D3D11_SHADER_INPUT_BIND_DESC,
24539    ) -> windows_core::HRESULT,
24540    #[cfg(not(feature = "Win32_Graphics_Direct3D"))]
24541    GetResourceBindingDesc: usize,
24542    #[cfg(feature = "Win32_Graphics_Direct3D")]
24543    pub GetInputParameterDesc: unsafe extern "system" fn(
24544        *mut core::ffi::c_void,
24545        u32,
24546        *mut D3D11_SIGNATURE_PARAMETER_DESC,
24547    ) -> windows_core::HRESULT,
24548    #[cfg(not(feature = "Win32_Graphics_Direct3D"))]
24549    GetInputParameterDesc: usize,
24550    #[cfg(feature = "Win32_Graphics_Direct3D")]
24551    pub GetOutputParameterDesc: unsafe extern "system" fn(
24552        *mut core::ffi::c_void,
24553        u32,
24554        *mut D3D11_SIGNATURE_PARAMETER_DESC,
24555    ) -> windows_core::HRESULT,
24556    #[cfg(not(feature = "Win32_Graphics_Direct3D"))]
24557    GetOutputParameterDesc: usize,
24558    #[cfg(feature = "Win32_Graphics_Direct3D")]
24559    pub GetPatchConstantParameterDesc: unsafe extern "system" fn(
24560        *mut core::ffi::c_void,
24561        u32,
24562        *mut D3D11_SIGNATURE_PARAMETER_DESC,
24563    ) -> windows_core::HRESULT,
24564    #[cfg(not(feature = "Win32_Graphics_Direct3D"))]
24565    GetPatchConstantParameterDesc: usize,
24566    pub GetVariableByName: unsafe extern "system" fn(
24567        *mut core::ffi::c_void,
24568        crate::core_supplemental::PCSTR,
24569    ) -> Option<ID3D11ShaderReflectionVariable>,
24570    #[cfg(feature = "Win32_Graphics_Direct3D")]
24571    pub GetResourceBindingDescByName: unsafe extern "system" fn(
24572        *mut core::ffi::c_void,
24573        crate::core_supplemental::PCSTR,
24574        *mut D3D11_SHADER_INPUT_BIND_DESC,
24575    ) -> windows_core::HRESULT,
24576    #[cfg(not(feature = "Win32_Graphics_Direct3D"))]
24577    GetResourceBindingDescByName: usize,
24578    pub GetMovInstructionCount: unsafe extern "system" fn(*mut core::ffi::c_void) -> u32,
24579    pub GetMovcInstructionCount: unsafe extern "system" fn(*mut core::ffi::c_void) -> u32,
24580    pub GetConversionInstructionCount: unsafe extern "system" fn(*mut core::ffi::c_void) -> u32,
24581    pub GetBitwiseInstructionCount: unsafe extern "system" fn(*mut core::ffi::c_void) -> u32,
24582    #[cfg(feature = "Win32_Graphics_Direct3D")]
24583    pub GetGSInputPrimitive:
24584        unsafe extern "system" fn(*mut core::ffi::c_void) -> super::Direct3D::D3D_PRIMITIVE,
24585    #[cfg(not(feature = "Win32_Graphics_Direct3D"))]
24586    GetGSInputPrimitive: usize,
24587    pub IsSampleFrequencyShader:
24588        unsafe extern "system" fn(*mut core::ffi::c_void) -> crate::Foundation::BOOL,
24589    pub GetNumInterfaceSlots: unsafe extern "system" fn(*mut core::ffi::c_void) -> u32,
24590    #[cfg(feature = "Win32_Graphics_Direct3D")]
24591    pub GetMinFeatureLevel: unsafe extern "system" fn(
24592        *mut core::ffi::c_void,
24593        *mut super::Direct3D::D3D_FEATURE_LEVEL,
24594    ) -> windows_core::HRESULT,
24595    #[cfg(not(feature = "Win32_Graphics_Direct3D"))]
24596    GetMinFeatureLevel: usize,
24597    pub GetThreadGroupSize:
24598        unsafe extern "system" fn(*mut core::ffi::c_void, *mut u32, *mut u32, *mut u32) -> u32,
24599    pub GetRequiresFlags: unsafe extern "system" fn(*mut core::ffi::c_void) -> u64,
24600}
24601#[cfg(feature = "Win32_Graphics_Direct3D")]
24602pub trait ID3D11ShaderReflection_Impl: windows_core::IUnknownImpl {
24603    fn GetDesc(&self, pdesc: *mut D3D11_SHADER_DESC) -> windows_core::Result<()>;
24604    fn GetConstantBufferByIndex(&self, index: u32) -> Option<ID3D11ShaderReflectionConstantBuffer>;
24605    fn GetConstantBufferByName(
24606        &self,
24607        name: &crate::core_supplemental::PCSTR,
24608    ) -> Option<ID3D11ShaderReflectionConstantBuffer>;
24609    fn GetResourceBindingDesc(
24610        &self,
24611        resourceindex: u32,
24612        pdesc: *mut D3D11_SHADER_INPUT_BIND_DESC,
24613    ) -> windows_core::Result<()>;
24614    fn GetInputParameterDesc(
24615        &self,
24616        parameterindex: u32,
24617        pdesc: *mut D3D11_SIGNATURE_PARAMETER_DESC,
24618    ) -> windows_core::Result<()>;
24619    fn GetOutputParameterDesc(
24620        &self,
24621        parameterindex: u32,
24622        pdesc: *mut D3D11_SIGNATURE_PARAMETER_DESC,
24623    ) -> windows_core::Result<()>;
24624    fn GetPatchConstantParameterDesc(
24625        &self,
24626        parameterindex: u32,
24627        pdesc: *mut D3D11_SIGNATURE_PARAMETER_DESC,
24628    ) -> windows_core::Result<()>;
24629    fn GetVariableByName(
24630        &self,
24631        name: &crate::core_supplemental::PCSTR,
24632    ) -> Option<ID3D11ShaderReflectionVariable>;
24633    fn GetResourceBindingDescByName(
24634        &self,
24635        name: &crate::core_supplemental::PCSTR,
24636        pdesc: *mut D3D11_SHADER_INPUT_BIND_DESC,
24637    ) -> windows_core::Result<()>;
24638    fn GetMovInstructionCount(&self) -> u32;
24639    fn GetMovcInstructionCount(&self) -> u32;
24640    fn GetConversionInstructionCount(&self) -> u32;
24641    fn GetBitwiseInstructionCount(&self) -> u32;
24642    fn GetGSInputPrimitive(&self) -> super::Direct3D::D3D_PRIMITIVE;
24643    fn IsSampleFrequencyShader(&self) -> crate::Foundation::BOOL;
24644    fn GetNumInterfaceSlots(&self) -> u32;
24645    fn GetMinFeatureLevel(&self) -> windows_core::Result<super::Direct3D::D3D_FEATURE_LEVEL>;
24646    fn GetThreadGroupSize(&self, psizex: *mut u32, psizey: *mut u32, psizez: *mut u32) -> u32;
24647    fn GetRequiresFlags(&self) -> u64;
24648}
24649#[cfg(feature = "Win32_Graphics_Direct3D")]
24650impl ID3D11ShaderReflection_Vtbl {
24651    pub const fn new<Identity: ID3D11ShaderReflection_Impl, const OFFSET: isize>() -> Self {
24652        unsafe extern "system" fn GetDesc<
24653            Identity: ID3D11ShaderReflection_Impl,
24654            const OFFSET: isize,
24655        >(
24656            this: *mut core::ffi::c_void,
24657            pdesc: *mut D3D11_SHADER_DESC,
24658        ) -> windows_core::HRESULT {
24659            unsafe {
24660                let this: &Identity =
24661                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
24662                ID3D11ShaderReflection_Impl::GetDesc(this, core::mem::transmute_copy(&pdesc)).into()
24663            }
24664        }
24665        unsafe extern "system" fn GetConstantBufferByIndex<
24666            Identity: ID3D11ShaderReflection_Impl,
24667            const OFFSET: isize,
24668        >(
24669            this: *mut core::ffi::c_void,
24670            index: u32,
24671        ) -> Option<ID3D11ShaderReflectionConstantBuffer> {
24672            unsafe {
24673                let this: &Identity =
24674                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
24675                ID3D11ShaderReflection_Impl::GetConstantBufferByIndex(
24676                    this,
24677                    core::mem::transmute_copy(&index),
24678                )
24679            }
24680        }
24681        unsafe extern "system" fn GetConstantBufferByName<
24682            Identity: ID3D11ShaderReflection_Impl,
24683            const OFFSET: isize,
24684        >(
24685            this: *mut core::ffi::c_void,
24686            name: crate::core_supplemental::PCSTR,
24687        ) -> Option<ID3D11ShaderReflectionConstantBuffer> {
24688            unsafe {
24689                let this: &Identity =
24690                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
24691                ID3D11ShaderReflection_Impl::GetConstantBufferByName(
24692                    this,
24693                    core::mem::transmute(&name),
24694                )
24695            }
24696        }
24697        unsafe extern "system" fn GetResourceBindingDesc<
24698            Identity: ID3D11ShaderReflection_Impl,
24699            const OFFSET: isize,
24700        >(
24701            this: *mut core::ffi::c_void,
24702            resourceindex: u32,
24703            pdesc: *mut D3D11_SHADER_INPUT_BIND_DESC,
24704        ) -> windows_core::HRESULT {
24705            unsafe {
24706                let this: &Identity =
24707                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
24708                ID3D11ShaderReflection_Impl::GetResourceBindingDesc(
24709                    this,
24710                    core::mem::transmute_copy(&resourceindex),
24711                    core::mem::transmute_copy(&pdesc),
24712                )
24713                .into()
24714            }
24715        }
24716        unsafe extern "system" fn GetInputParameterDesc<
24717            Identity: ID3D11ShaderReflection_Impl,
24718            const OFFSET: isize,
24719        >(
24720            this: *mut core::ffi::c_void,
24721            parameterindex: u32,
24722            pdesc: *mut D3D11_SIGNATURE_PARAMETER_DESC,
24723        ) -> windows_core::HRESULT {
24724            unsafe {
24725                let this: &Identity =
24726                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
24727                ID3D11ShaderReflection_Impl::GetInputParameterDesc(
24728                    this,
24729                    core::mem::transmute_copy(&parameterindex),
24730                    core::mem::transmute_copy(&pdesc),
24731                )
24732                .into()
24733            }
24734        }
24735        unsafe extern "system" fn GetOutputParameterDesc<
24736            Identity: ID3D11ShaderReflection_Impl,
24737            const OFFSET: isize,
24738        >(
24739            this: *mut core::ffi::c_void,
24740            parameterindex: u32,
24741            pdesc: *mut D3D11_SIGNATURE_PARAMETER_DESC,
24742        ) -> windows_core::HRESULT {
24743            unsafe {
24744                let this: &Identity =
24745                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
24746                ID3D11ShaderReflection_Impl::GetOutputParameterDesc(
24747                    this,
24748                    core::mem::transmute_copy(&parameterindex),
24749                    core::mem::transmute_copy(&pdesc),
24750                )
24751                .into()
24752            }
24753        }
24754        unsafe extern "system" fn GetPatchConstantParameterDesc<
24755            Identity: ID3D11ShaderReflection_Impl,
24756            const OFFSET: isize,
24757        >(
24758            this: *mut core::ffi::c_void,
24759            parameterindex: u32,
24760            pdesc: *mut D3D11_SIGNATURE_PARAMETER_DESC,
24761        ) -> windows_core::HRESULT {
24762            unsafe {
24763                let this: &Identity =
24764                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
24765                ID3D11ShaderReflection_Impl::GetPatchConstantParameterDesc(
24766                    this,
24767                    core::mem::transmute_copy(&parameterindex),
24768                    core::mem::transmute_copy(&pdesc),
24769                )
24770                .into()
24771            }
24772        }
24773        unsafe extern "system" fn GetVariableByName<
24774            Identity: ID3D11ShaderReflection_Impl,
24775            const OFFSET: isize,
24776        >(
24777            this: *mut core::ffi::c_void,
24778            name: crate::core_supplemental::PCSTR,
24779        ) -> Option<ID3D11ShaderReflectionVariable> {
24780            unsafe {
24781                let this: &Identity =
24782                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
24783                ID3D11ShaderReflection_Impl::GetVariableByName(this, core::mem::transmute(&name))
24784            }
24785        }
24786        unsafe extern "system" fn GetResourceBindingDescByName<
24787            Identity: ID3D11ShaderReflection_Impl,
24788            const OFFSET: isize,
24789        >(
24790            this: *mut core::ffi::c_void,
24791            name: crate::core_supplemental::PCSTR,
24792            pdesc: *mut D3D11_SHADER_INPUT_BIND_DESC,
24793        ) -> windows_core::HRESULT {
24794            unsafe {
24795                let this: &Identity =
24796                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
24797                ID3D11ShaderReflection_Impl::GetResourceBindingDescByName(
24798                    this,
24799                    core::mem::transmute(&name),
24800                    core::mem::transmute_copy(&pdesc),
24801                )
24802                .into()
24803            }
24804        }
24805        unsafe extern "system" fn GetMovInstructionCount<
24806            Identity: ID3D11ShaderReflection_Impl,
24807            const OFFSET: isize,
24808        >(
24809            this: *mut core::ffi::c_void,
24810        ) -> u32 {
24811            unsafe {
24812                let this: &Identity =
24813                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
24814                ID3D11ShaderReflection_Impl::GetMovInstructionCount(this)
24815            }
24816        }
24817        unsafe extern "system" fn GetMovcInstructionCount<
24818            Identity: ID3D11ShaderReflection_Impl,
24819            const OFFSET: isize,
24820        >(
24821            this: *mut core::ffi::c_void,
24822        ) -> u32 {
24823            unsafe {
24824                let this: &Identity =
24825                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
24826                ID3D11ShaderReflection_Impl::GetMovcInstructionCount(this)
24827            }
24828        }
24829        unsafe extern "system" fn GetConversionInstructionCount<
24830            Identity: ID3D11ShaderReflection_Impl,
24831            const OFFSET: isize,
24832        >(
24833            this: *mut core::ffi::c_void,
24834        ) -> u32 {
24835            unsafe {
24836                let this: &Identity =
24837                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
24838                ID3D11ShaderReflection_Impl::GetConversionInstructionCount(this)
24839            }
24840        }
24841        unsafe extern "system" fn GetBitwiseInstructionCount<
24842            Identity: ID3D11ShaderReflection_Impl,
24843            const OFFSET: isize,
24844        >(
24845            this: *mut core::ffi::c_void,
24846        ) -> u32 {
24847            unsafe {
24848                let this: &Identity =
24849                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
24850                ID3D11ShaderReflection_Impl::GetBitwiseInstructionCount(this)
24851            }
24852        }
24853        unsafe extern "system" fn GetGSInputPrimitive<
24854            Identity: ID3D11ShaderReflection_Impl,
24855            const OFFSET: isize,
24856        >(
24857            this: *mut core::ffi::c_void,
24858        ) -> super::Direct3D::D3D_PRIMITIVE {
24859            unsafe {
24860                let this: &Identity =
24861                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
24862                ID3D11ShaderReflection_Impl::GetGSInputPrimitive(this)
24863            }
24864        }
24865        unsafe extern "system" fn IsSampleFrequencyShader<
24866            Identity: ID3D11ShaderReflection_Impl,
24867            const OFFSET: isize,
24868        >(
24869            this: *mut core::ffi::c_void,
24870        ) -> crate::Foundation::BOOL {
24871            unsafe {
24872                let this: &Identity =
24873                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
24874                ID3D11ShaderReflection_Impl::IsSampleFrequencyShader(this)
24875            }
24876        }
24877        unsafe extern "system" fn GetNumInterfaceSlots<
24878            Identity: ID3D11ShaderReflection_Impl,
24879            const OFFSET: isize,
24880        >(
24881            this: *mut core::ffi::c_void,
24882        ) -> u32 {
24883            unsafe {
24884                let this: &Identity =
24885                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
24886                ID3D11ShaderReflection_Impl::GetNumInterfaceSlots(this)
24887            }
24888        }
24889        unsafe extern "system" fn GetMinFeatureLevel<
24890            Identity: ID3D11ShaderReflection_Impl,
24891            const OFFSET: isize,
24892        >(
24893            this: *mut core::ffi::c_void,
24894            plevel: *mut super::Direct3D::D3D_FEATURE_LEVEL,
24895        ) -> windows_core::HRESULT {
24896            unsafe {
24897                let this: &Identity =
24898                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
24899                match ID3D11ShaderReflection_Impl::GetMinFeatureLevel(this) {
24900                    Ok(ok__) => {
24901                        plevel.write(core::mem::transmute(ok__));
24902                        windows_core::HRESULT(0)
24903                    }
24904                    Err(err) => err.into(),
24905                }
24906            }
24907        }
24908        unsafe extern "system" fn GetThreadGroupSize<
24909            Identity: ID3D11ShaderReflection_Impl,
24910            const OFFSET: isize,
24911        >(
24912            this: *mut core::ffi::c_void,
24913            psizex: *mut u32,
24914            psizey: *mut u32,
24915            psizez: *mut u32,
24916        ) -> u32 {
24917            unsafe {
24918                let this: &Identity =
24919                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
24920                ID3D11ShaderReflection_Impl::GetThreadGroupSize(
24921                    this,
24922                    core::mem::transmute_copy(&psizex),
24923                    core::mem::transmute_copy(&psizey),
24924                    core::mem::transmute_copy(&psizez),
24925                )
24926            }
24927        }
24928        unsafe extern "system" fn GetRequiresFlags<
24929            Identity: ID3D11ShaderReflection_Impl,
24930            const OFFSET: isize,
24931        >(
24932            this: *mut core::ffi::c_void,
24933        ) -> u64 {
24934            unsafe {
24935                let this: &Identity =
24936                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
24937                ID3D11ShaderReflection_Impl::GetRequiresFlags(this)
24938            }
24939        }
24940        Self {
24941            base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
24942            GetDesc: GetDesc::<Identity, OFFSET>,
24943            GetConstantBufferByIndex: GetConstantBufferByIndex::<Identity, OFFSET>,
24944            GetConstantBufferByName: GetConstantBufferByName::<Identity, OFFSET>,
24945            GetResourceBindingDesc: GetResourceBindingDesc::<Identity, OFFSET>,
24946            GetInputParameterDesc: GetInputParameterDesc::<Identity, OFFSET>,
24947            GetOutputParameterDesc: GetOutputParameterDesc::<Identity, OFFSET>,
24948            GetPatchConstantParameterDesc: GetPatchConstantParameterDesc::<Identity, OFFSET>,
24949            GetVariableByName: GetVariableByName::<Identity, OFFSET>,
24950            GetResourceBindingDescByName: GetResourceBindingDescByName::<Identity, OFFSET>,
24951            GetMovInstructionCount: GetMovInstructionCount::<Identity, OFFSET>,
24952            GetMovcInstructionCount: GetMovcInstructionCount::<Identity, OFFSET>,
24953            GetConversionInstructionCount: GetConversionInstructionCount::<Identity, OFFSET>,
24954            GetBitwiseInstructionCount: GetBitwiseInstructionCount::<Identity, OFFSET>,
24955            GetGSInputPrimitive: GetGSInputPrimitive::<Identity, OFFSET>,
24956            IsSampleFrequencyShader: IsSampleFrequencyShader::<Identity, OFFSET>,
24957            GetNumInterfaceSlots: GetNumInterfaceSlots::<Identity, OFFSET>,
24958            GetMinFeatureLevel: GetMinFeatureLevel::<Identity, OFFSET>,
24959            GetThreadGroupSize: GetThreadGroupSize::<Identity, OFFSET>,
24960            GetRequiresFlags: GetRequiresFlags::<Identity, OFFSET>,
24961        }
24962    }
24963    pub fn matches(iid: &windows_core::GUID) -> bool {
24964        iid == &<ID3D11ShaderReflection as windows_core::Interface>::IID
24965    }
24966}
24967#[cfg(feature = "Win32_Graphics_Direct3D")]
24968impl windows_core::RuntimeName for ID3D11ShaderReflection {}
24969#[cfg(feature = "Win32_Graphics_Direct3D")]
24970unsafe impl Send for ID3D11ShaderReflection {}
24971#[cfg(feature = "Win32_Graphics_Direct3D")]
24972unsafe impl Sync for ID3D11ShaderReflection {}
24973windows_core::imp::define_interface!(
24974    ID3D11ShaderReflectionConstantBuffer,
24975    ID3D11ShaderReflectionConstantBuffer_Vtbl
24976);
24977impl ID3D11ShaderReflectionConstantBuffer {
24978    #[cfg(feature = "Win32_Graphics_Direct3D")]
24979    pub unsafe fn GetDesc(&self, pdesc: *mut D3D11_SHADER_BUFFER_DESC) -> windows_core::Result<()> {
24980        unsafe {
24981            (windows_core::Interface::vtable(self).GetDesc)(
24982                windows_core::Interface::as_raw(self),
24983                core::mem::transmute(pdesc),
24984            )
24985            .ok()
24986        }
24987    }
24988    pub unsafe fn GetVariableByIndex(&self, index: u32) -> Option<ID3D11ShaderReflectionVariable> {
24989        unsafe {
24990            (windows_core::Interface::vtable(self).GetVariableByIndex)(
24991                windows_core::Interface::as_raw(self),
24992                index,
24993            )
24994        }
24995    }
24996    pub unsafe fn GetVariableByName<P0>(&self, name: P0) -> Option<ID3D11ShaderReflectionVariable>
24997    where
24998        P0: windows_core::Param<crate::core_supplemental::PCSTR>,
24999    {
25000        unsafe {
25001            (windows_core::Interface::vtable(self).GetVariableByName)(
25002                windows_core::Interface::as_raw(self),
25003                name.param().abi(),
25004            )
25005        }
25006    }
25007}
25008#[repr(C)]
25009pub struct ID3D11ShaderReflectionConstantBuffer_Vtbl {
25010    #[cfg(feature = "Win32_Graphics_Direct3D")]
25011    pub GetDesc: unsafe extern "system" fn(
25012        *mut core::ffi::c_void,
25013        *mut D3D11_SHADER_BUFFER_DESC,
25014    ) -> windows_core::HRESULT,
25015    #[cfg(not(feature = "Win32_Graphics_Direct3D"))]
25016    GetDesc: usize,
25017    pub GetVariableByIndex: unsafe extern "system" fn(
25018        *mut core::ffi::c_void,
25019        u32,
25020    )
25021        -> Option<ID3D11ShaderReflectionVariable>,
25022    pub GetVariableByName: unsafe extern "system" fn(
25023        *mut core::ffi::c_void,
25024        crate::core_supplemental::PCSTR,
25025    ) -> Option<ID3D11ShaderReflectionVariable>,
25026}
25027#[cfg(feature = "Win32_Graphics_Direct3D")]
25028pub trait ID3D11ShaderReflectionConstantBuffer_Impl {
25029    fn GetDesc(&self, pdesc: *mut D3D11_SHADER_BUFFER_DESC) -> windows_core::Result<()>;
25030    fn GetVariableByIndex(&self, index: u32) -> Option<ID3D11ShaderReflectionVariable>;
25031    fn GetVariableByName(
25032        &self,
25033        name: &crate::core_supplemental::PCSTR,
25034    ) -> Option<ID3D11ShaderReflectionVariable>;
25035}
25036#[cfg(feature = "Win32_Graphics_Direct3D")]
25037impl ID3D11ShaderReflectionConstantBuffer_Vtbl {
25038    pub const fn new<Identity: ID3D11ShaderReflectionConstantBuffer_Impl>() -> Self {
25039        unsafe extern "system" fn GetDesc<Identity: ID3D11ShaderReflectionConstantBuffer_Impl>(
25040            this: *mut core::ffi::c_void,
25041            pdesc: *mut D3D11_SHADER_BUFFER_DESC,
25042        ) -> windows_core::HRESULT {
25043            unsafe {
25044                let this = (this as *mut *mut core::ffi::c_void) as *const windows_core::ScopedHeap;
25045                let this = &*((*this).this as *const Identity);
25046                ID3D11ShaderReflectionConstantBuffer_Impl::GetDesc(
25047                    this,
25048                    core::mem::transmute_copy(&pdesc),
25049                )
25050                .into()
25051            }
25052        }
25053        unsafe extern "system" fn GetVariableByIndex<
25054            Identity: ID3D11ShaderReflectionConstantBuffer_Impl,
25055        >(
25056            this: *mut core::ffi::c_void,
25057            index: u32,
25058        ) -> Option<ID3D11ShaderReflectionVariable> {
25059            unsafe {
25060                let this = (this as *mut *mut core::ffi::c_void) as *const windows_core::ScopedHeap;
25061                let this = &*((*this).this as *const Identity);
25062                ID3D11ShaderReflectionConstantBuffer_Impl::GetVariableByIndex(
25063                    this,
25064                    core::mem::transmute_copy(&index),
25065                )
25066            }
25067        }
25068        unsafe extern "system" fn GetVariableByName<
25069            Identity: ID3D11ShaderReflectionConstantBuffer_Impl,
25070        >(
25071            this: *mut core::ffi::c_void,
25072            name: crate::core_supplemental::PCSTR,
25073        ) -> Option<ID3D11ShaderReflectionVariable> {
25074            unsafe {
25075                let this = (this as *mut *mut core::ffi::c_void) as *const windows_core::ScopedHeap;
25076                let this = &*((*this).this as *const Identity);
25077                ID3D11ShaderReflectionConstantBuffer_Impl::GetVariableByName(
25078                    this,
25079                    core::mem::transmute(&name),
25080                )
25081            }
25082        }
25083        Self {
25084            GetDesc: GetDesc::<Identity>,
25085            GetVariableByIndex: GetVariableByIndex::<Identity>,
25086            GetVariableByName: GetVariableByName::<Identity>,
25087        }
25088    }
25089}
25090#[cfg(feature = "Win32_Graphics_Direct3D")]
25091struct ID3D11ShaderReflectionConstantBuffer_ImplVtbl<T: ID3D11ShaderReflectionConstantBuffer_Impl>(
25092    core::marker::PhantomData<T>,
25093);
25094#[cfg(feature = "Win32_Graphics_Direct3D")]
25095impl<T: ID3D11ShaderReflectionConstantBuffer_Impl>
25096    ID3D11ShaderReflectionConstantBuffer_ImplVtbl<T>
25097{
25098    const VTABLE: ID3D11ShaderReflectionConstantBuffer_Vtbl =
25099        ID3D11ShaderReflectionConstantBuffer_Vtbl::new::<T>();
25100}
25101#[cfg(feature = "Win32_Graphics_Direct3D")]
25102impl ID3D11ShaderReflectionConstantBuffer {
25103    pub fn new<T: ID3D11ShaderReflectionConstantBuffer_Impl>(
25104        this: &T,
25105    ) -> windows_core::ScopedInterface<'_, Self> {
25106        let this = windows_core::ScopedHeap {
25107            vtable: &ID3D11ShaderReflectionConstantBuffer_ImplVtbl::<T>::VTABLE as *const _
25108                as *const _,
25109            this: this as *const _ as *const _,
25110        };
25111        let this = core::mem::ManuallyDrop::new(windows_core::imp::Box::new(this));
25112        unsafe { windows_core::ScopedInterface::new(core::mem::transmute(&this.vtable)) }
25113    }
25114}
25115#[cfg(feature = "Win32_Graphics_Direct3D")]
25116unsafe impl Send for ID3D11ShaderReflectionConstantBuffer {}
25117#[cfg(feature = "Win32_Graphics_Direct3D")]
25118unsafe impl Sync for ID3D11ShaderReflectionConstantBuffer {}
25119windows_core::imp::define_interface!(ID3D11ShaderReflectionType, ID3D11ShaderReflectionType_Vtbl);
25120impl ID3D11ShaderReflectionType {
25121    #[cfg(feature = "Win32_Graphics_Direct3D")]
25122    pub unsafe fn GetDesc(&self, pdesc: *mut D3D11_SHADER_TYPE_DESC) -> windows_core::Result<()> {
25123        unsafe {
25124            (windows_core::Interface::vtable(self).GetDesc)(
25125                windows_core::Interface::as_raw(self),
25126                core::mem::transmute(pdesc),
25127            )
25128            .ok()
25129        }
25130    }
25131    pub unsafe fn GetMemberTypeByIndex(&self, index: u32) -> Option<ID3D11ShaderReflectionType> {
25132        unsafe {
25133            (windows_core::Interface::vtable(self).GetMemberTypeByIndex)(
25134                windows_core::Interface::as_raw(self),
25135                index,
25136            )
25137        }
25138    }
25139    pub unsafe fn GetMemberTypeByName<P0>(&self, name: P0) -> Option<ID3D11ShaderReflectionType>
25140    where
25141        P0: windows_core::Param<crate::core_supplemental::PCSTR>,
25142    {
25143        unsafe {
25144            (windows_core::Interface::vtable(self).GetMemberTypeByName)(
25145                windows_core::Interface::as_raw(self),
25146                name.param().abi(),
25147            )
25148        }
25149    }
25150    pub unsafe fn GetMemberTypeName(&self, index: u32) -> crate::core_supplemental::PCSTR {
25151        unsafe {
25152            (windows_core::Interface::vtable(self).GetMemberTypeName)(
25153                windows_core::Interface::as_raw(self),
25154                index,
25155            )
25156        }
25157    }
25158    pub unsafe fn IsEqual<P0>(&self, ptype: P0) -> windows_core::Result<()>
25159    where
25160        P0: windows_core::Param<ID3D11ShaderReflectionType>,
25161    {
25162        unsafe {
25163            (windows_core::Interface::vtable(self).IsEqual)(
25164                windows_core::Interface::as_raw(self),
25165                ptype.param().abi(),
25166            )
25167            .ok()
25168        }
25169    }
25170    pub unsafe fn GetSubType(&self) -> Option<ID3D11ShaderReflectionType> {
25171        unsafe {
25172            (windows_core::Interface::vtable(self).GetSubType)(windows_core::Interface::as_raw(
25173                self,
25174            ))
25175        }
25176    }
25177    pub unsafe fn GetBaseClass(&self) -> Option<ID3D11ShaderReflectionType> {
25178        unsafe {
25179            (windows_core::Interface::vtable(self).GetBaseClass)(windows_core::Interface::as_raw(
25180                self,
25181            ))
25182        }
25183    }
25184    pub unsafe fn GetNumInterfaces(&self) -> u32 {
25185        unsafe {
25186            (windows_core::Interface::vtable(self).GetNumInterfaces)(
25187                windows_core::Interface::as_raw(self),
25188            )
25189        }
25190    }
25191    pub unsafe fn GetInterfaceByIndex(&self, uindex: u32) -> Option<ID3D11ShaderReflectionType> {
25192        unsafe {
25193            (windows_core::Interface::vtable(self).GetInterfaceByIndex)(
25194                windows_core::Interface::as_raw(self),
25195                uindex,
25196            )
25197        }
25198    }
25199    pub unsafe fn IsOfType<P0>(&self, ptype: P0) -> windows_core::Result<()>
25200    where
25201        P0: windows_core::Param<ID3D11ShaderReflectionType>,
25202    {
25203        unsafe {
25204            (windows_core::Interface::vtable(self).IsOfType)(
25205                windows_core::Interface::as_raw(self),
25206                ptype.param().abi(),
25207            )
25208            .ok()
25209        }
25210    }
25211    pub unsafe fn ImplementsInterface<P0>(&self, pbase: P0) -> windows_core::Result<()>
25212    where
25213        P0: windows_core::Param<ID3D11ShaderReflectionType>,
25214    {
25215        unsafe {
25216            (windows_core::Interface::vtable(self).ImplementsInterface)(
25217                windows_core::Interface::as_raw(self),
25218                pbase.param().abi(),
25219            )
25220            .ok()
25221        }
25222    }
25223}
25224#[repr(C)]
25225pub struct ID3D11ShaderReflectionType_Vtbl {
25226    #[cfg(feature = "Win32_Graphics_Direct3D")]
25227    pub GetDesc: unsafe extern "system" fn(
25228        *mut core::ffi::c_void,
25229        *mut D3D11_SHADER_TYPE_DESC,
25230    ) -> windows_core::HRESULT,
25231    #[cfg(not(feature = "Win32_Graphics_Direct3D"))]
25232    GetDesc: usize,
25233    pub GetMemberTypeByIndex: unsafe extern "system" fn(
25234        *mut core::ffi::c_void,
25235        u32,
25236    ) -> Option<ID3D11ShaderReflectionType>,
25237    pub GetMemberTypeByName: unsafe extern "system" fn(
25238        *mut core::ffi::c_void,
25239        crate::core_supplemental::PCSTR,
25240    ) -> Option<ID3D11ShaderReflectionType>,
25241    pub GetMemberTypeName:
25242        unsafe extern "system" fn(*mut core::ffi::c_void, u32) -> crate::core_supplemental::PCSTR,
25243    pub IsEqual: unsafe extern "system" fn(
25244        *mut core::ffi::c_void,
25245        *mut core::ffi::c_void,
25246    ) -> windows_core::HRESULT,
25247    pub GetSubType:
25248        unsafe extern "system" fn(*mut core::ffi::c_void) -> Option<ID3D11ShaderReflectionType>,
25249    pub GetBaseClass:
25250        unsafe extern "system" fn(*mut core::ffi::c_void) -> Option<ID3D11ShaderReflectionType>,
25251    pub GetNumInterfaces: unsafe extern "system" fn(*mut core::ffi::c_void) -> u32,
25252    pub GetInterfaceByIndex: unsafe extern "system" fn(
25253        *mut core::ffi::c_void,
25254        u32,
25255    ) -> Option<ID3D11ShaderReflectionType>,
25256    pub IsOfType: unsafe extern "system" fn(
25257        *mut core::ffi::c_void,
25258        *mut core::ffi::c_void,
25259    ) -> windows_core::HRESULT,
25260    pub ImplementsInterface: unsafe extern "system" fn(
25261        *mut core::ffi::c_void,
25262        *mut core::ffi::c_void,
25263    ) -> windows_core::HRESULT,
25264}
25265#[cfg(feature = "Win32_Graphics_Direct3D")]
25266pub trait ID3D11ShaderReflectionType_Impl {
25267    fn GetDesc(&self, pdesc: *mut D3D11_SHADER_TYPE_DESC) -> windows_core::Result<()>;
25268    fn GetMemberTypeByIndex(&self, index: u32) -> Option<ID3D11ShaderReflectionType>;
25269    fn GetMemberTypeByName(&self, name: &crate::core_supplemental::PCSTR)
25270        -> Option<ID3D11ShaderReflectionType>;
25271    fn GetMemberTypeName(&self, index: u32) -> crate::core_supplemental::PCSTR;
25272    fn IsEqual(
25273        &self,
25274        ptype: windows_core::Ref<'_, ID3D11ShaderReflectionType>,
25275    ) -> windows_core::Result<()>;
25276    fn GetSubType(&self) -> Option<ID3D11ShaderReflectionType>;
25277    fn GetBaseClass(&self) -> Option<ID3D11ShaderReflectionType>;
25278    fn GetNumInterfaces(&self) -> u32;
25279    fn GetInterfaceByIndex(&self, uindex: u32) -> Option<ID3D11ShaderReflectionType>;
25280    fn IsOfType(
25281        &self,
25282        ptype: windows_core::Ref<'_, ID3D11ShaderReflectionType>,
25283    ) -> windows_core::Result<()>;
25284    fn ImplementsInterface(
25285        &self,
25286        pbase: windows_core::Ref<'_, ID3D11ShaderReflectionType>,
25287    ) -> windows_core::Result<()>;
25288}
25289#[cfg(feature = "Win32_Graphics_Direct3D")]
25290impl ID3D11ShaderReflectionType_Vtbl {
25291    pub const fn new<Identity: ID3D11ShaderReflectionType_Impl>() -> Self {
25292        unsafe extern "system" fn GetDesc<Identity: ID3D11ShaderReflectionType_Impl>(
25293            this: *mut core::ffi::c_void,
25294            pdesc: *mut D3D11_SHADER_TYPE_DESC,
25295        ) -> windows_core::HRESULT {
25296            unsafe {
25297                let this = (this as *mut *mut core::ffi::c_void) as *const windows_core::ScopedHeap;
25298                let this = &*((*this).this as *const Identity);
25299                ID3D11ShaderReflectionType_Impl::GetDesc(this, core::mem::transmute_copy(&pdesc))
25300                    .into()
25301            }
25302        }
25303        unsafe extern "system" fn GetMemberTypeByIndex<
25304            Identity: ID3D11ShaderReflectionType_Impl,
25305        >(
25306            this: *mut core::ffi::c_void,
25307            index: u32,
25308        ) -> Option<ID3D11ShaderReflectionType> {
25309            unsafe {
25310                let this = (this as *mut *mut core::ffi::c_void) as *const windows_core::ScopedHeap;
25311                let this = &*((*this).this as *const Identity);
25312                ID3D11ShaderReflectionType_Impl::GetMemberTypeByIndex(
25313                    this,
25314                    core::mem::transmute_copy(&index),
25315                )
25316            }
25317        }
25318        unsafe extern "system" fn GetMemberTypeByName<Identity: ID3D11ShaderReflectionType_Impl>(
25319            this: *mut core::ffi::c_void,
25320            name: crate::core_supplemental::PCSTR,
25321        ) -> Option<ID3D11ShaderReflectionType> {
25322            unsafe {
25323                let this = (this as *mut *mut core::ffi::c_void) as *const windows_core::ScopedHeap;
25324                let this = &*((*this).this as *const Identity);
25325                ID3D11ShaderReflectionType_Impl::GetMemberTypeByName(
25326                    this,
25327                    core::mem::transmute(&name),
25328                )
25329            }
25330        }
25331        unsafe extern "system" fn GetMemberTypeName<Identity: ID3D11ShaderReflectionType_Impl>(
25332            this: *mut core::ffi::c_void,
25333            index: u32,
25334        ) -> crate::core_supplemental::PCSTR {
25335            unsafe {
25336                let this = (this as *mut *mut core::ffi::c_void) as *const windows_core::ScopedHeap;
25337                let this = &*((*this).this as *const Identity);
25338                ID3D11ShaderReflectionType_Impl::GetMemberTypeName(
25339                    this,
25340                    core::mem::transmute_copy(&index),
25341                )
25342            }
25343        }
25344        unsafe extern "system" fn IsEqual<Identity: ID3D11ShaderReflectionType_Impl>(
25345            this: *mut core::ffi::c_void,
25346            ptype: *mut core::ffi::c_void,
25347        ) -> windows_core::HRESULT {
25348            unsafe {
25349                let this = (this as *mut *mut core::ffi::c_void) as *const windows_core::ScopedHeap;
25350                let this = &*((*this).this as *const Identity);
25351                ID3D11ShaderReflectionType_Impl::IsEqual(this, core::mem::transmute_copy(&ptype))
25352                    .into()
25353            }
25354        }
25355        unsafe extern "system" fn GetSubType<Identity: ID3D11ShaderReflectionType_Impl>(
25356            this: *mut core::ffi::c_void,
25357        ) -> Option<ID3D11ShaderReflectionType> {
25358            unsafe {
25359                let this = (this as *mut *mut core::ffi::c_void) as *const windows_core::ScopedHeap;
25360                let this = &*((*this).this as *const Identity);
25361                ID3D11ShaderReflectionType_Impl::GetSubType(this)
25362            }
25363        }
25364        unsafe extern "system" fn GetBaseClass<Identity: ID3D11ShaderReflectionType_Impl>(
25365            this: *mut core::ffi::c_void,
25366        ) -> Option<ID3D11ShaderReflectionType> {
25367            unsafe {
25368                let this = (this as *mut *mut core::ffi::c_void) as *const windows_core::ScopedHeap;
25369                let this = &*((*this).this as *const Identity);
25370                ID3D11ShaderReflectionType_Impl::GetBaseClass(this)
25371            }
25372        }
25373        unsafe extern "system" fn GetNumInterfaces<Identity: ID3D11ShaderReflectionType_Impl>(
25374            this: *mut core::ffi::c_void,
25375        ) -> u32 {
25376            unsafe {
25377                let this = (this as *mut *mut core::ffi::c_void) as *const windows_core::ScopedHeap;
25378                let this = &*((*this).this as *const Identity);
25379                ID3D11ShaderReflectionType_Impl::GetNumInterfaces(this)
25380            }
25381        }
25382        unsafe extern "system" fn GetInterfaceByIndex<Identity: ID3D11ShaderReflectionType_Impl>(
25383            this: *mut core::ffi::c_void,
25384            uindex: u32,
25385        ) -> Option<ID3D11ShaderReflectionType> {
25386            unsafe {
25387                let this = (this as *mut *mut core::ffi::c_void) as *const windows_core::ScopedHeap;
25388                let this = &*((*this).this as *const Identity);
25389                ID3D11ShaderReflectionType_Impl::GetInterfaceByIndex(
25390                    this,
25391                    core::mem::transmute_copy(&uindex),
25392                )
25393            }
25394        }
25395        unsafe extern "system" fn IsOfType<Identity: ID3D11ShaderReflectionType_Impl>(
25396            this: *mut core::ffi::c_void,
25397            ptype: *mut core::ffi::c_void,
25398        ) -> windows_core::HRESULT {
25399            unsafe {
25400                let this = (this as *mut *mut core::ffi::c_void) as *const windows_core::ScopedHeap;
25401                let this = &*((*this).this as *const Identity);
25402                ID3D11ShaderReflectionType_Impl::IsOfType(this, core::mem::transmute_copy(&ptype))
25403                    .into()
25404            }
25405        }
25406        unsafe extern "system" fn ImplementsInterface<Identity: ID3D11ShaderReflectionType_Impl>(
25407            this: *mut core::ffi::c_void,
25408            pbase: *mut core::ffi::c_void,
25409        ) -> windows_core::HRESULT {
25410            unsafe {
25411                let this = (this as *mut *mut core::ffi::c_void) as *const windows_core::ScopedHeap;
25412                let this = &*((*this).this as *const Identity);
25413                ID3D11ShaderReflectionType_Impl::ImplementsInterface(
25414                    this,
25415                    core::mem::transmute_copy(&pbase),
25416                )
25417                .into()
25418            }
25419        }
25420        Self {
25421            GetDesc: GetDesc::<Identity>,
25422            GetMemberTypeByIndex: GetMemberTypeByIndex::<Identity>,
25423            GetMemberTypeByName: GetMemberTypeByName::<Identity>,
25424            GetMemberTypeName: GetMemberTypeName::<Identity>,
25425            IsEqual: IsEqual::<Identity>,
25426            GetSubType: GetSubType::<Identity>,
25427            GetBaseClass: GetBaseClass::<Identity>,
25428            GetNumInterfaces: GetNumInterfaces::<Identity>,
25429            GetInterfaceByIndex: GetInterfaceByIndex::<Identity>,
25430            IsOfType: IsOfType::<Identity>,
25431            ImplementsInterface: ImplementsInterface::<Identity>,
25432        }
25433    }
25434}
25435#[cfg(feature = "Win32_Graphics_Direct3D")]
25436struct ID3D11ShaderReflectionType_ImplVtbl<T: ID3D11ShaderReflectionType_Impl>(
25437    core::marker::PhantomData<T>,
25438);
25439#[cfg(feature = "Win32_Graphics_Direct3D")]
25440impl<T: ID3D11ShaderReflectionType_Impl> ID3D11ShaderReflectionType_ImplVtbl<T> {
25441    const VTABLE: ID3D11ShaderReflectionType_Vtbl = ID3D11ShaderReflectionType_Vtbl::new::<T>();
25442}
25443#[cfg(feature = "Win32_Graphics_Direct3D")]
25444impl ID3D11ShaderReflectionType {
25445    pub fn new<T: ID3D11ShaderReflectionType_Impl>(
25446        this: &T,
25447    ) -> windows_core::ScopedInterface<'_, Self> {
25448        let this = windows_core::ScopedHeap {
25449            vtable: &ID3D11ShaderReflectionType_ImplVtbl::<T>::VTABLE as *const _ as *const _,
25450            this: this as *const _ as *const _,
25451        };
25452        let this = core::mem::ManuallyDrop::new(windows_core::imp::Box::new(this));
25453        unsafe { windows_core::ScopedInterface::new(core::mem::transmute(&this.vtable)) }
25454    }
25455}
25456#[cfg(feature = "Win32_Graphics_Direct3D")]
25457unsafe impl Send for ID3D11ShaderReflectionType {}
25458#[cfg(feature = "Win32_Graphics_Direct3D")]
25459unsafe impl Sync for ID3D11ShaderReflectionType {}
25460windows_core::imp::define_interface!(
25461    ID3D11ShaderReflectionVariable,
25462    ID3D11ShaderReflectionVariable_Vtbl
25463);
25464impl ID3D11ShaderReflectionVariable {
25465    pub unsafe fn GetDesc(
25466        &self,
25467        pdesc: *mut D3D11_SHADER_VARIABLE_DESC,
25468    ) -> windows_core::Result<()> {
25469        unsafe {
25470            (windows_core::Interface::vtable(self).GetDesc)(
25471                windows_core::Interface::as_raw(self),
25472                core::mem::transmute(pdesc),
25473            )
25474            .ok()
25475        }
25476    }
25477    pub unsafe fn GetType(&self) -> Option<ID3D11ShaderReflectionType> {
25478        unsafe {
25479            (windows_core::Interface::vtable(self).GetType)(windows_core::Interface::as_raw(self))
25480        }
25481    }
25482    pub unsafe fn GetBuffer(&self) -> Option<ID3D11ShaderReflectionConstantBuffer> {
25483        unsafe {
25484            (windows_core::Interface::vtable(self).GetBuffer)(windows_core::Interface::as_raw(self))
25485        }
25486    }
25487    pub unsafe fn GetInterfaceSlot(&self, uarrayindex: u32) -> u32 {
25488        unsafe {
25489            (windows_core::Interface::vtable(self).GetInterfaceSlot)(
25490                windows_core::Interface::as_raw(self),
25491                uarrayindex,
25492            )
25493        }
25494    }
25495}
25496#[repr(C)]
25497pub struct ID3D11ShaderReflectionVariable_Vtbl {
25498    pub GetDesc: unsafe extern "system" fn(
25499        *mut core::ffi::c_void,
25500        *mut D3D11_SHADER_VARIABLE_DESC,
25501    ) -> windows_core::HRESULT,
25502    pub GetType:
25503        unsafe extern "system" fn(*mut core::ffi::c_void) -> Option<ID3D11ShaderReflectionType>,
25504    pub GetBuffer: unsafe extern "system" fn(
25505        *mut core::ffi::c_void,
25506    ) -> Option<ID3D11ShaderReflectionConstantBuffer>,
25507    pub GetInterfaceSlot: unsafe extern "system" fn(*mut core::ffi::c_void, u32) -> u32,
25508}
25509pub trait ID3D11ShaderReflectionVariable_Impl {
25510    fn GetDesc(&self, pdesc: *mut D3D11_SHADER_VARIABLE_DESC) -> windows_core::Result<()>;
25511    fn GetType(&self) -> Option<ID3D11ShaderReflectionType>;
25512    fn GetBuffer(&self) -> Option<ID3D11ShaderReflectionConstantBuffer>;
25513    fn GetInterfaceSlot(&self, uarrayindex: u32) -> u32;
25514}
25515impl ID3D11ShaderReflectionVariable_Vtbl {
25516    pub const fn new<Identity: ID3D11ShaderReflectionVariable_Impl>() -> Self {
25517        unsafe extern "system" fn GetDesc<Identity: ID3D11ShaderReflectionVariable_Impl>(
25518            this: *mut core::ffi::c_void,
25519            pdesc: *mut D3D11_SHADER_VARIABLE_DESC,
25520        ) -> windows_core::HRESULT {
25521            unsafe {
25522                let this = (this as *mut *mut core::ffi::c_void) as *const windows_core::ScopedHeap;
25523                let this = &*((*this).this as *const Identity);
25524                ID3D11ShaderReflectionVariable_Impl::GetDesc(
25525                    this,
25526                    core::mem::transmute_copy(&pdesc),
25527                )
25528                .into()
25529            }
25530        }
25531        unsafe extern "system" fn GetType<Identity: ID3D11ShaderReflectionVariable_Impl>(
25532            this: *mut core::ffi::c_void,
25533        ) -> Option<ID3D11ShaderReflectionType> {
25534            unsafe {
25535                let this = (this as *mut *mut core::ffi::c_void) as *const windows_core::ScopedHeap;
25536                let this = &*((*this).this as *const Identity);
25537                ID3D11ShaderReflectionVariable_Impl::GetType(this)
25538            }
25539        }
25540        unsafe extern "system" fn GetBuffer<Identity: ID3D11ShaderReflectionVariable_Impl>(
25541            this: *mut core::ffi::c_void,
25542        ) -> Option<ID3D11ShaderReflectionConstantBuffer> {
25543            unsafe {
25544                let this = (this as *mut *mut core::ffi::c_void) as *const windows_core::ScopedHeap;
25545                let this = &*((*this).this as *const Identity);
25546                ID3D11ShaderReflectionVariable_Impl::GetBuffer(this)
25547            }
25548        }
25549        unsafe extern "system" fn GetInterfaceSlot<
25550            Identity: ID3D11ShaderReflectionVariable_Impl,
25551        >(
25552            this: *mut core::ffi::c_void,
25553            uarrayindex: u32,
25554        ) -> u32 {
25555            unsafe {
25556                let this = (this as *mut *mut core::ffi::c_void) as *const windows_core::ScopedHeap;
25557                let this = &*((*this).this as *const Identity);
25558                ID3D11ShaderReflectionVariable_Impl::GetInterfaceSlot(
25559                    this,
25560                    core::mem::transmute_copy(&uarrayindex),
25561                )
25562            }
25563        }
25564        Self {
25565            GetDesc: GetDesc::<Identity>,
25566            GetType: GetType::<Identity>,
25567            GetBuffer: GetBuffer::<Identity>,
25568            GetInterfaceSlot: GetInterfaceSlot::<Identity>,
25569        }
25570    }
25571}
25572struct ID3D11ShaderReflectionVariable_ImplVtbl<T: ID3D11ShaderReflectionVariable_Impl>(
25573    core::marker::PhantomData<T>,
25574);
25575impl<T: ID3D11ShaderReflectionVariable_Impl> ID3D11ShaderReflectionVariable_ImplVtbl<T> {
25576    const VTABLE: ID3D11ShaderReflectionVariable_Vtbl =
25577        ID3D11ShaderReflectionVariable_Vtbl::new::<T>();
25578}
25579impl ID3D11ShaderReflectionVariable {
25580    pub fn new<T: ID3D11ShaderReflectionVariable_Impl>(
25581        this: &T,
25582    ) -> windows_core::ScopedInterface<'_, Self> {
25583        let this = windows_core::ScopedHeap {
25584            vtable: &ID3D11ShaderReflectionVariable_ImplVtbl::<T>::VTABLE as *const _ as *const _,
25585            this: this as *const _ as *const _,
25586        };
25587        let this = core::mem::ManuallyDrop::new(windows_core::imp::Box::new(this));
25588        unsafe { windows_core::ScopedInterface::new(core::mem::transmute(&this.vtable)) }
25589    }
25590}
25591unsafe impl Send for ID3D11ShaderReflectionVariable {}
25592unsafe impl Sync for ID3D11ShaderReflectionVariable {}
25593windows_core::imp::define_interface!(
25594    ID3D11ShaderResourceView,
25595    ID3D11ShaderResourceView_Vtbl,
25596    0xb0e06fe0_8192_4e1a_b1ca_36d7414710b2
25597);
25598impl core::ops::Deref for ID3D11ShaderResourceView {
25599    type Target = ID3D11View;
25600    fn deref(&self) -> &Self::Target {
25601        unsafe { core::mem::transmute(self) }
25602    }
25603}
25604windows_core::imp::interface_hierarchy!(
25605    ID3D11ShaderResourceView,
25606    windows_core::IUnknown,
25607    ID3D11DeviceChild,
25608    ID3D11View
25609);
25610impl ID3D11ShaderResourceView {
25611    #[cfg(all(
25612        feature = "Win32_Graphics_Direct3D",
25613        feature = "Win32_Graphics_Dxgi_Common"
25614    ))]
25615    pub unsafe fn GetDesc(&self, pdesc: *mut D3D11_SHADER_RESOURCE_VIEW_DESC) {
25616        unsafe {
25617            (windows_core::Interface::vtable(self).GetDesc)(
25618                windows_core::Interface::as_raw(self),
25619                core::mem::transmute(pdesc),
25620            )
25621        }
25622    }
25623}
25624#[repr(C)]
25625pub struct ID3D11ShaderResourceView_Vtbl {
25626    pub base__: ID3D11View_Vtbl,
25627    #[cfg(all(
25628        feature = "Win32_Graphics_Direct3D",
25629        feature = "Win32_Graphics_Dxgi_Common"
25630    ))]
25631    pub GetDesc:
25632        unsafe extern "system" fn(*mut core::ffi::c_void, *mut D3D11_SHADER_RESOURCE_VIEW_DESC),
25633    #[cfg(not(all(
25634        feature = "Win32_Graphics_Direct3D",
25635        feature = "Win32_Graphics_Dxgi_Common"
25636    )))]
25637    GetDesc: usize,
25638}
25639#[cfg(all(
25640    feature = "Win32_Graphics_Direct3D",
25641    feature = "Win32_Graphics_Dxgi_Common"
25642))]
25643pub trait ID3D11ShaderResourceView_Impl: ID3D11View_Impl {
25644    fn GetDesc(&self, pdesc: *mut D3D11_SHADER_RESOURCE_VIEW_DESC);
25645}
25646#[cfg(all(
25647    feature = "Win32_Graphics_Direct3D",
25648    feature = "Win32_Graphics_Dxgi_Common"
25649))]
25650impl ID3D11ShaderResourceView_Vtbl {
25651    pub const fn new<Identity: ID3D11ShaderResourceView_Impl, const OFFSET: isize>() -> Self {
25652        unsafe extern "system" fn GetDesc<
25653            Identity: ID3D11ShaderResourceView_Impl,
25654            const OFFSET: isize,
25655        >(
25656            this: *mut core::ffi::c_void,
25657            pdesc: *mut D3D11_SHADER_RESOURCE_VIEW_DESC,
25658        ) {
25659            unsafe {
25660                let this: &Identity =
25661                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
25662                ID3D11ShaderResourceView_Impl::GetDesc(this, core::mem::transmute_copy(&pdesc))
25663            }
25664        }
25665        Self {
25666            base__: ID3D11View_Vtbl::new::<Identity, OFFSET>(),
25667            GetDesc: GetDesc::<Identity, OFFSET>,
25668        }
25669    }
25670    pub fn matches(iid: &windows_core::GUID) -> bool {
25671        iid == &<ID3D11ShaderResourceView as windows_core::Interface>::IID
25672            || iid == &<ID3D11DeviceChild as windows_core::Interface>::IID
25673            || iid == &<ID3D11View as windows_core::Interface>::IID
25674    }
25675}
25676#[cfg(all(
25677    feature = "Win32_Graphics_Direct3D",
25678    feature = "Win32_Graphics_Dxgi_Common"
25679))]
25680impl windows_core::RuntimeName for ID3D11ShaderResourceView {}
25681#[cfg(all(
25682    feature = "Win32_Graphics_Direct3D",
25683    feature = "Win32_Graphics_Dxgi_Common"
25684))]
25685unsafe impl Send for ID3D11ShaderResourceView {}
25686#[cfg(all(
25687    feature = "Win32_Graphics_Direct3D",
25688    feature = "Win32_Graphics_Dxgi_Common"
25689))]
25690unsafe impl Sync for ID3D11ShaderResourceView {}
25691windows_core::imp::define_interface!(
25692    ID3D11ShaderResourceView1,
25693    ID3D11ShaderResourceView1_Vtbl,
25694    0x91308b87_9040_411d_8c67_c39253ce3802
25695);
25696impl core::ops::Deref for ID3D11ShaderResourceView1 {
25697    type Target = ID3D11ShaderResourceView;
25698    fn deref(&self) -> &Self::Target {
25699        unsafe { core::mem::transmute(self) }
25700    }
25701}
25702windows_core::imp::interface_hierarchy!(
25703    ID3D11ShaderResourceView1,
25704    windows_core::IUnknown,
25705    ID3D11DeviceChild,
25706    ID3D11View,
25707    ID3D11ShaderResourceView
25708);
25709impl ID3D11ShaderResourceView1 {
25710    #[cfg(all(
25711        feature = "Win32_Graphics_Direct3D",
25712        feature = "Win32_Graphics_Dxgi_Common"
25713    ))]
25714    pub unsafe fn GetDesc1(&self, pdesc1: *mut D3D11_SHADER_RESOURCE_VIEW_DESC1) {
25715        unsafe {
25716            (windows_core::Interface::vtable(self).GetDesc1)(
25717                windows_core::Interface::as_raw(self),
25718                core::mem::transmute(pdesc1),
25719            )
25720        }
25721    }
25722}
25723#[repr(C)]
25724pub struct ID3D11ShaderResourceView1_Vtbl {
25725    pub base__: ID3D11ShaderResourceView_Vtbl,
25726    #[cfg(all(
25727        feature = "Win32_Graphics_Direct3D",
25728        feature = "Win32_Graphics_Dxgi_Common"
25729    ))]
25730    pub GetDesc1:
25731        unsafe extern "system" fn(*mut core::ffi::c_void, *mut D3D11_SHADER_RESOURCE_VIEW_DESC1),
25732    #[cfg(not(all(
25733        feature = "Win32_Graphics_Direct3D",
25734        feature = "Win32_Graphics_Dxgi_Common"
25735    )))]
25736    GetDesc1: usize,
25737}
25738#[cfg(all(
25739    feature = "Win32_Graphics_Direct3D",
25740    feature = "Win32_Graphics_Dxgi_Common"
25741))]
25742pub trait ID3D11ShaderResourceView1_Impl: ID3D11ShaderResourceView_Impl {
25743    fn GetDesc1(&self, pdesc1: *mut D3D11_SHADER_RESOURCE_VIEW_DESC1);
25744}
25745#[cfg(all(
25746    feature = "Win32_Graphics_Direct3D",
25747    feature = "Win32_Graphics_Dxgi_Common"
25748))]
25749impl ID3D11ShaderResourceView1_Vtbl {
25750    pub const fn new<Identity: ID3D11ShaderResourceView1_Impl, const OFFSET: isize>() -> Self {
25751        unsafe extern "system" fn GetDesc1<
25752            Identity: ID3D11ShaderResourceView1_Impl,
25753            const OFFSET: isize,
25754        >(
25755            this: *mut core::ffi::c_void,
25756            pdesc1: *mut D3D11_SHADER_RESOURCE_VIEW_DESC1,
25757        ) {
25758            unsafe {
25759                let this: &Identity =
25760                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
25761                ID3D11ShaderResourceView1_Impl::GetDesc1(this, core::mem::transmute_copy(&pdesc1))
25762            }
25763        }
25764        Self {
25765            base__: ID3D11ShaderResourceView_Vtbl::new::<Identity, OFFSET>(),
25766            GetDesc1: GetDesc1::<Identity, OFFSET>,
25767        }
25768    }
25769    pub fn matches(iid: &windows_core::GUID) -> bool {
25770        iid == &<ID3D11ShaderResourceView1 as windows_core::Interface>::IID
25771            || iid == &<ID3D11DeviceChild as windows_core::Interface>::IID
25772            || iid == &<ID3D11View as windows_core::Interface>::IID
25773            || iid == &<ID3D11ShaderResourceView as windows_core::Interface>::IID
25774    }
25775}
25776#[cfg(all(
25777    feature = "Win32_Graphics_Direct3D",
25778    feature = "Win32_Graphics_Dxgi_Common"
25779))]
25780impl windows_core::RuntimeName for ID3D11ShaderResourceView1 {}
25781#[cfg(all(
25782    feature = "Win32_Graphics_Direct3D",
25783    feature = "Win32_Graphics_Dxgi_Common"
25784))]
25785unsafe impl Send for ID3D11ShaderResourceView1 {}
25786#[cfg(all(
25787    feature = "Win32_Graphics_Direct3D",
25788    feature = "Win32_Graphics_Dxgi_Common"
25789))]
25790unsafe impl Sync for ID3D11ShaderResourceView1 {}
25791windows_core::imp::define_interface!(
25792    ID3D11ShaderTrace,
25793    ID3D11ShaderTrace_Vtbl,
25794    0x36b013e6_2811_4845_baa7_d623fe0df104
25795);
25796windows_core::imp::interface_hierarchy!(ID3D11ShaderTrace, windows_core::IUnknown);
25797impl ID3D11ShaderTrace {
25798    pub unsafe fn TraceReady(&self, ptestcount: Option<*mut u64>) -> windows_core::Result<()> {
25799        unsafe {
25800            (windows_core::Interface::vtable(self).TraceReady)(
25801                windows_core::Interface::as_raw(self),
25802                core::mem::transmute(ptestcount.unwrap_or(core::mem::zeroed())),
25803            )
25804            .ok()
25805        }
25806    }
25807    pub unsafe fn ResetTrace(&self) {
25808        unsafe {
25809            (windows_core::Interface::vtable(self).ResetTrace)(windows_core::Interface::as_raw(
25810                self,
25811            ))
25812        }
25813    }
25814    pub unsafe fn GetTraceStats(
25815        &self,
25816        ptracestats: *mut D3D11_TRACE_STATS,
25817    ) -> windows_core::Result<()> {
25818        unsafe {
25819            (windows_core::Interface::vtable(self).GetTraceStats)(
25820                windows_core::Interface::as_raw(self),
25821                core::mem::transmute(ptracestats),
25822            )
25823            .ok()
25824        }
25825    }
25826    pub unsafe fn PSSelectStamp(&self, stampindex: u32) -> windows_core::Result<()> {
25827        unsafe {
25828            (windows_core::Interface::vtable(self).PSSelectStamp)(
25829                windows_core::Interface::as_raw(self),
25830                stampindex,
25831            )
25832            .ok()
25833        }
25834    }
25835    pub unsafe fn GetInitialRegisterContents(
25836        &self,
25837        pregister: *const D3D11_TRACE_REGISTER,
25838        pvalue: *mut D3D11_TRACE_VALUE,
25839    ) -> windows_core::Result<()> {
25840        unsafe {
25841            (windows_core::Interface::vtable(self).GetInitialRegisterContents)(
25842                windows_core::Interface::as_raw(self),
25843                pregister,
25844                core::mem::transmute(pvalue),
25845            )
25846            .ok()
25847        }
25848    }
25849    pub unsafe fn GetStep(
25850        &self,
25851        stepindex: u32,
25852        ptracestep: *mut D3D11_TRACE_STEP,
25853    ) -> windows_core::Result<()> {
25854        unsafe {
25855            (windows_core::Interface::vtable(self).GetStep)(
25856                windows_core::Interface::as_raw(self),
25857                stepindex,
25858                core::mem::transmute(ptracestep),
25859            )
25860            .ok()
25861        }
25862    }
25863    pub unsafe fn GetWrittenRegister(
25864        &self,
25865        stepindex: u32,
25866        writtenregisterindex: u32,
25867        pregister: *mut D3D11_TRACE_REGISTER,
25868        pvalue: *mut D3D11_TRACE_VALUE,
25869    ) -> windows_core::Result<()> {
25870        unsafe {
25871            (windows_core::Interface::vtable(self).GetWrittenRegister)(
25872                windows_core::Interface::as_raw(self),
25873                stepindex,
25874                writtenregisterindex,
25875                core::mem::transmute(pregister),
25876                core::mem::transmute(pvalue),
25877            )
25878            .ok()
25879        }
25880    }
25881    pub unsafe fn GetReadRegister(
25882        &self,
25883        stepindex: u32,
25884        readregisterindex: u32,
25885        pregister: *mut D3D11_TRACE_REGISTER,
25886        pvalue: *mut D3D11_TRACE_VALUE,
25887    ) -> windows_core::Result<()> {
25888        unsafe {
25889            (windows_core::Interface::vtable(self).GetReadRegister)(
25890                windows_core::Interface::as_raw(self),
25891                stepindex,
25892                readregisterindex,
25893                core::mem::transmute(pregister),
25894                core::mem::transmute(pvalue),
25895            )
25896            .ok()
25897        }
25898    }
25899}
25900#[repr(C)]
25901pub struct ID3D11ShaderTrace_Vtbl {
25902    pub base__: windows_core::IUnknown_Vtbl,
25903    pub TraceReady:
25904        unsafe extern "system" fn(*mut core::ffi::c_void, *mut u64) -> windows_core::HRESULT,
25905    pub ResetTrace: unsafe extern "system" fn(*mut core::ffi::c_void),
25906    pub GetTraceStats: unsafe extern "system" fn(
25907        *mut core::ffi::c_void,
25908        *mut D3D11_TRACE_STATS,
25909    ) -> windows_core::HRESULT,
25910    pub PSSelectStamp:
25911        unsafe extern "system" fn(*mut core::ffi::c_void, u32) -> windows_core::HRESULT,
25912    pub GetInitialRegisterContents: unsafe extern "system" fn(
25913        *mut core::ffi::c_void,
25914        *const D3D11_TRACE_REGISTER,
25915        *mut D3D11_TRACE_VALUE,
25916    ) -> windows_core::HRESULT,
25917    pub GetStep: unsafe extern "system" fn(
25918        *mut core::ffi::c_void,
25919        u32,
25920        *mut D3D11_TRACE_STEP,
25921    ) -> windows_core::HRESULT,
25922    pub GetWrittenRegister: unsafe extern "system" fn(
25923        *mut core::ffi::c_void,
25924        u32,
25925        u32,
25926        *mut D3D11_TRACE_REGISTER,
25927        *mut D3D11_TRACE_VALUE,
25928    ) -> windows_core::HRESULT,
25929    pub GetReadRegister: unsafe extern "system" fn(
25930        *mut core::ffi::c_void,
25931        u32,
25932        u32,
25933        *mut D3D11_TRACE_REGISTER,
25934        *mut D3D11_TRACE_VALUE,
25935    ) -> windows_core::HRESULT,
25936}
25937pub trait ID3D11ShaderTrace_Impl: windows_core::IUnknownImpl {
25938    fn TraceReady(&self, ptestcount: *mut u64) -> windows_core::Result<()>;
25939    fn ResetTrace(&self);
25940    fn GetTraceStats(&self, ptracestats: *mut D3D11_TRACE_STATS) -> windows_core::Result<()>;
25941    fn PSSelectStamp(&self, stampindex: u32) -> windows_core::Result<()>;
25942    fn GetInitialRegisterContents(
25943        &self,
25944        pregister: *const D3D11_TRACE_REGISTER,
25945        pvalue: *mut D3D11_TRACE_VALUE,
25946    ) -> windows_core::Result<()>;
25947    fn GetStep(
25948        &self,
25949        stepindex: u32,
25950        ptracestep: *mut D3D11_TRACE_STEP,
25951    ) -> windows_core::Result<()>;
25952    fn GetWrittenRegister(
25953        &self,
25954        stepindex: u32,
25955        writtenregisterindex: u32,
25956        pregister: *mut D3D11_TRACE_REGISTER,
25957        pvalue: *mut D3D11_TRACE_VALUE,
25958    ) -> windows_core::Result<()>;
25959    fn GetReadRegister(
25960        &self,
25961        stepindex: u32,
25962        readregisterindex: u32,
25963        pregister: *mut D3D11_TRACE_REGISTER,
25964        pvalue: *mut D3D11_TRACE_VALUE,
25965    ) -> windows_core::Result<()>;
25966}
25967impl ID3D11ShaderTrace_Vtbl {
25968    pub const fn new<Identity: ID3D11ShaderTrace_Impl, const OFFSET: isize>() -> Self {
25969        unsafe extern "system" fn TraceReady<
25970            Identity: ID3D11ShaderTrace_Impl,
25971            const OFFSET: isize,
25972        >(
25973            this: *mut core::ffi::c_void,
25974            ptestcount: *mut u64,
25975        ) -> windows_core::HRESULT {
25976            unsafe {
25977                let this: &Identity =
25978                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
25979                ID3D11ShaderTrace_Impl::TraceReady(this, core::mem::transmute_copy(&ptestcount))
25980                    .into()
25981            }
25982        }
25983        unsafe extern "system" fn ResetTrace<
25984            Identity: ID3D11ShaderTrace_Impl,
25985            const OFFSET: isize,
25986        >(
25987            this: *mut core::ffi::c_void,
25988        ) {
25989            unsafe {
25990                let this: &Identity =
25991                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
25992                ID3D11ShaderTrace_Impl::ResetTrace(this)
25993            }
25994        }
25995        unsafe extern "system" fn GetTraceStats<
25996            Identity: ID3D11ShaderTrace_Impl,
25997            const OFFSET: isize,
25998        >(
25999            this: *mut core::ffi::c_void,
26000            ptracestats: *mut D3D11_TRACE_STATS,
26001        ) -> windows_core::HRESULT {
26002            unsafe {
26003                let this: &Identity =
26004                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
26005                ID3D11ShaderTrace_Impl::GetTraceStats(this, core::mem::transmute_copy(&ptracestats))
26006                    .into()
26007            }
26008        }
26009        unsafe extern "system" fn PSSelectStamp<
26010            Identity: ID3D11ShaderTrace_Impl,
26011            const OFFSET: isize,
26012        >(
26013            this: *mut core::ffi::c_void,
26014            stampindex: u32,
26015        ) -> windows_core::HRESULT {
26016            unsafe {
26017                let this: &Identity =
26018                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
26019                ID3D11ShaderTrace_Impl::PSSelectStamp(this, core::mem::transmute_copy(&stampindex))
26020                    .into()
26021            }
26022        }
26023        unsafe extern "system" fn GetInitialRegisterContents<
26024            Identity: ID3D11ShaderTrace_Impl,
26025            const OFFSET: isize,
26026        >(
26027            this: *mut core::ffi::c_void,
26028            pregister: *const D3D11_TRACE_REGISTER,
26029            pvalue: *mut D3D11_TRACE_VALUE,
26030        ) -> windows_core::HRESULT {
26031            unsafe {
26032                let this: &Identity =
26033                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
26034                ID3D11ShaderTrace_Impl::GetInitialRegisterContents(
26035                    this,
26036                    core::mem::transmute_copy(&pregister),
26037                    core::mem::transmute_copy(&pvalue),
26038                )
26039                .into()
26040            }
26041        }
26042        unsafe extern "system" fn GetStep<Identity: ID3D11ShaderTrace_Impl, const OFFSET: isize>(
26043            this: *mut core::ffi::c_void,
26044            stepindex: u32,
26045            ptracestep: *mut D3D11_TRACE_STEP,
26046        ) -> windows_core::HRESULT {
26047            unsafe {
26048                let this: &Identity =
26049                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
26050                ID3D11ShaderTrace_Impl::GetStep(
26051                    this,
26052                    core::mem::transmute_copy(&stepindex),
26053                    core::mem::transmute_copy(&ptracestep),
26054                )
26055                .into()
26056            }
26057        }
26058        unsafe extern "system" fn GetWrittenRegister<
26059            Identity: ID3D11ShaderTrace_Impl,
26060            const OFFSET: isize,
26061        >(
26062            this: *mut core::ffi::c_void,
26063            stepindex: u32,
26064            writtenregisterindex: u32,
26065            pregister: *mut D3D11_TRACE_REGISTER,
26066            pvalue: *mut D3D11_TRACE_VALUE,
26067        ) -> windows_core::HRESULT {
26068            unsafe {
26069                let this: &Identity =
26070                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
26071                ID3D11ShaderTrace_Impl::GetWrittenRegister(
26072                    this,
26073                    core::mem::transmute_copy(&stepindex),
26074                    core::mem::transmute_copy(&writtenregisterindex),
26075                    core::mem::transmute_copy(&pregister),
26076                    core::mem::transmute_copy(&pvalue),
26077                )
26078                .into()
26079            }
26080        }
26081        unsafe extern "system" fn GetReadRegister<
26082            Identity: ID3D11ShaderTrace_Impl,
26083            const OFFSET: isize,
26084        >(
26085            this: *mut core::ffi::c_void,
26086            stepindex: u32,
26087            readregisterindex: u32,
26088            pregister: *mut D3D11_TRACE_REGISTER,
26089            pvalue: *mut D3D11_TRACE_VALUE,
26090        ) -> windows_core::HRESULT {
26091            unsafe {
26092                let this: &Identity =
26093                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
26094                ID3D11ShaderTrace_Impl::GetReadRegister(
26095                    this,
26096                    core::mem::transmute_copy(&stepindex),
26097                    core::mem::transmute_copy(&readregisterindex),
26098                    core::mem::transmute_copy(&pregister),
26099                    core::mem::transmute_copy(&pvalue),
26100                )
26101                .into()
26102            }
26103        }
26104        Self {
26105            base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
26106            TraceReady: TraceReady::<Identity, OFFSET>,
26107            ResetTrace: ResetTrace::<Identity, OFFSET>,
26108            GetTraceStats: GetTraceStats::<Identity, OFFSET>,
26109            PSSelectStamp: PSSelectStamp::<Identity, OFFSET>,
26110            GetInitialRegisterContents: GetInitialRegisterContents::<Identity, OFFSET>,
26111            GetStep: GetStep::<Identity, OFFSET>,
26112            GetWrittenRegister: GetWrittenRegister::<Identity, OFFSET>,
26113            GetReadRegister: GetReadRegister::<Identity, OFFSET>,
26114        }
26115    }
26116    pub fn matches(iid: &windows_core::GUID) -> bool {
26117        iid == &<ID3D11ShaderTrace as windows_core::Interface>::IID
26118    }
26119}
26120impl windows_core::RuntimeName for ID3D11ShaderTrace {}
26121unsafe impl Send for ID3D11ShaderTrace {}
26122unsafe impl Sync for ID3D11ShaderTrace {}
26123windows_core::imp::define_interface!(
26124    ID3D11ShaderTraceFactory,
26125    ID3D11ShaderTraceFactory_Vtbl,
26126    0x1fbad429_66ab_41cc_9617_667ac10e4459
26127);
26128windows_core::imp::interface_hierarchy!(ID3D11ShaderTraceFactory, windows_core::IUnknown);
26129impl ID3D11ShaderTraceFactory {
26130    pub unsafe fn CreateShaderTrace<P0>(
26131        &self,
26132        pshader: P0,
26133        ptracedesc: *const D3D11_SHADER_TRACE_DESC,
26134    ) -> windows_core::Result<ID3D11ShaderTrace>
26135    where
26136        P0: windows_core::Param<windows_core::IUnknown>,
26137    {
26138        unsafe {
26139            let mut result__ = core::mem::zeroed();
26140            (windows_core::Interface::vtable(self).CreateShaderTrace)(
26141                windows_core::Interface::as_raw(self),
26142                pshader.param().abi(),
26143                ptracedesc,
26144                &mut result__,
26145            )
26146            .and_then(|| windows_core::Type::from_abi(result__))
26147        }
26148    }
26149}
26150#[repr(C)]
26151pub struct ID3D11ShaderTraceFactory_Vtbl {
26152    pub base__: windows_core::IUnknown_Vtbl,
26153    pub CreateShaderTrace: unsafe extern "system" fn(
26154        *mut core::ffi::c_void,
26155        *mut core::ffi::c_void,
26156        *const D3D11_SHADER_TRACE_DESC,
26157        *mut *mut core::ffi::c_void,
26158    ) -> windows_core::HRESULT,
26159}
26160pub trait ID3D11ShaderTraceFactory_Impl: windows_core::IUnknownImpl {
26161    fn CreateShaderTrace(
26162        &self,
26163        pshader: windows_core::Ref<'_, windows_core::IUnknown>,
26164        ptracedesc: *const D3D11_SHADER_TRACE_DESC,
26165    ) -> windows_core::Result<ID3D11ShaderTrace>;
26166}
26167impl ID3D11ShaderTraceFactory_Vtbl {
26168    pub const fn new<Identity: ID3D11ShaderTraceFactory_Impl, const OFFSET: isize>() -> Self {
26169        unsafe extern "system" fn CreateShaderTrace<
26170            Identity: ID3D11ShaderTraceFactory_Impl,
26171            const OFFSET: isize,
26172        >(
26173            this: *mut core::ffi::c_void,
26174            pshader: *mut core::ffi::c_void,
26175            ptracedesc: *const D3D11_SHADER_TRACE_DESC,
26176            ppshadertrace: *mut *mut core::ffi::c_void,
26177        ) -> windows_core::HRESULT {
26178            unsafe {
26179                let this: &Identity =
26180                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
26181                match ID3D11ShaderTraceFactory_Impl::CreateShaderTrace(
26182                    this,
26183                    core::mem::transmute_copy(&pshader),
26184                    core::mem::transmute_copy(&ptracedesc),
26185                ) {
26186                    Ok(ok__) => {
26187                        ppshadertrace.write(core::mem::transmute(ok__));
26188                        windows_core::HRESULT(0)
26189                    }
26190                    Err(err) => err.into(),
26191                }
26192            }
26193        }
26194        Self {
26195            base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
26196            CreateShaderTrace: CreateShaderTrace::<Identity, OFFSET>,
26197        }
26198    }
26199    pub fn matches(iid: &windows_core::GUID) -> bool {
26200        iid == &<ID3D11ShaderTraceFactory as windows_core::Interface>::IID
26201    }
26202}
26203impl windows_core::RuntimeName for ID3D11ShaderTraceFactory {}
26204unsafe impl Send for ID3D11ShaderTraceFactory {}
26205unsafe impl Sync for ID3D11ShaderTraceFactory {}
26206windows_core::imp::define_interface!(
26207    ID3D11SwitchToRef,
26208    ID3D11SwitchToRef_Vtbl,
26209    0x1ef337e3_58e7_4f83_a692_db221f5ed47e
26210);
26211windows_core::imp::interface_hierarchy!(ID3D11SwitchToRef, windows_core::IUnknown);
26212impl ID3D11SwitchToRef {
26213    pub unsafe fn SetUseRef(&self, useref: bool) -> crate::Foundation::BOOL {
26214        unsafe {
26215            (windows_core::Interface::vtable(self).SetUseRef)(
26216                windows_core::Interface::as_raw(self),
26217                useref.into(),
26218            )
26219        }
26220    }
26221    pub unsafe fn GetUseRef(&self) -> crate::Foundation::BOOL {
26222        unsafe {
26223            (windows_core::Interface::vtable(self).GetUseRef)(windows_core::Interface::as_raw(self))
26224        }
26225    }
26226}
26227#[repr(C)]
26228pub struct ID3D11SwitchToRef_Vtbl {
26229    pub base__: windows_core::IUnknown_Vtbl,
26230    pub SetUseRef: unsafe extern "system" fn(
26231        *mut core::ffi::c_void,
26232        crate::Foundation::BOOL,
26233    ) -> crate::Foundation::BOOL,
26234    pub GetUseRef:
26235        unsafe extern "system" fn(*mut core::ffi::c_void) -> crate::Foundation::BOOL,
26236}
26237pub trait ID3D11SwitchToRef_Impl: windows_core::IUnknownImpl {
26238    fn SetUseRef(&self, useref: crate::Foundation::BOOL) -> crate::Foundation::BOOL;
26239    fn GetUseRef(&self) -> crate::Foundation::BOOL;
26240}
26241impl ID3D11SwitchToRef_Vtbl {
26242    pub const fn new<Identity: ID3D11SwitchToRef_Impl, const OFFSET: isize>() -> Self {
26243        unsafe extern "system" fn SetUseRef<
26244            Identity: ID3D11SwitchToRef_Impl,
26245            const OFFSET: isize,
26246        >(
26247            this: *mut core::ffi::c_void,
26248            useref: crate::Foundation::BOOL,
26249        ) -> crate::Foundation::BOOL {
26250            unsafe {
26251                let this: &Identity =
26252                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
26253                ID3D11SwitchToRef_Impl::SetUseRef(this, core::mem::transmute_copy(&useref))
26254            }
26255        }
26256        unsafe extern "system" fn GetUseRef<
26257            Identity: ID3D11SwitchToRef_Impl,
26258            const OFFSET: isize,
26259        >(
26260            this: *mut core::ffi::c_void,
26261        ) -> crate::Foundation::BOOL {
26262            unsafe {
26263                let this: &Identity =
26264                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
26265                ID3D11SwitchToRef_Impl::GetUseRef(this)
26266            }
26267        }
26268        Self {
26269            base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
26270            SetUseRef: SetUseRef::<Identity, OFFSET>,
26271            GetUseRef: GetUseRef::<Identity, OFFSET>,
26272        }
26273    }
26274    pub fn matches(iid: &windows_core::GUID) -> bool {
26275        iid == &<ID3D11SwitchToRef as windows_core::Interface>::IID
26276    }
26277}
26278impl windows_core::RuntimeName for ID3D11SwitchToRef {}
26279unsafe impl Send for ID3D11SwitchToRef {}
26280unsafe impl Sync for ID3D11SwitchToRef {}
26281windows_core::imp::define_interface!(
26282    ID3D11Texture1D,
26283    ID3D11Texture1D_Vtbl,
26284    0xf8fb5c27_c6b3_4f75_a4c8_439af2ef564c
26285);
26286impl core::ops::Deref for ID3D11Texture1D {
26287    type Target = ID3D11Resource;
26288    fn deref(&self) -> &Self::Target {
26289        unsafe { core::mem::transmute(self) }
26290    }
26291}
26292windows_core::imp::interface_hierarchy!(
26293    ID3D11Texture1D,
26294    windows_core::IUnknown,
26295    ID3D11DeviceChild,
26296    ID3D11Resource
26297);
26298impl ID3D11Texture1D {
26299    #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
26300    pub unsafe fn GetDesc(&self, pdesc: *mut D3D11_TEXTURE1D_DESC) {
26301        unsafe {
26302            (windows_core::Interface::vtable(self).GetDesc)(
26303                windows_core::Interface::as_raw(self),
26304                core::mem::transmute(pdesc),
26305            )
26306        }
26307    }
26308}
26309#[repr(C)]
26310pub struct ID3D11Texture1D_Vtbl {
26311    pub base__: ID3D11Resource_Vtbl,
26312    #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
26313    pub GetDesc: unsafe extern "system" fn(*mut core::ffi::c_void, *mut D3D11_TEXTURE1D_DESC),
26314    #[cfg(not(feature = "Win32_Graphics_Dxgi_Common"))]
26315    GetDesc: usize,
26316}
26317#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
26318pub trait ID3D11Texture1D_Impl: ID3D11Resource_Impl {
26319    fn GetDesc(&self, pdesc: *mut D3D11_TEXTURE1D_DESC);
26320}
26321#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
26322impl ID3D11Texture1D_Vtbl {
26323    pub const fn new<Identity: ID3D11Texture1D_Impl, const OFFSET: isize>() -> Self {
26324        unsafe extern "system" fn GetDesc<Identity: ID3D11Texture1D_Impl, const OFFSET: isize>(
26325            this: *mut core::ffi::c_void,
26326            pdesc: *mut D3D11_TEXTURE1D_DESC,
26327        ) {
26328            unsafe {
26329                let this: &Identity =
26330                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
26331                ID3D11Texture1D_Impl::GetDesc(this, core::mem::transmute_copy(&pdesc))
26332            }
26333        }
26334        Self {
26335            base__: ID3D11Resource_Vtbl::new::<Identity, OFFSET>(),
26336            GetDesc: GetDesc::<Identity, OFFSET>,
26337        }
26338    }
26339    pub fn matches(iid: &windows_core::GUID) -> bool {
26340        iid == &<ID3D11Texture1D as windows_core::Interface>::IID
26341            || iid == &<ID3D11DeviceChild as windows_core::Interface>::IID
26342            || iid == &<ID3D11Resource as windows_core::Interface>::IID
26343    }
26344}
26345#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
26346impl windows_core::RuntimeName for ID3D11Texture1D {}
26347#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
26348unsafe impl Send for ID3D11Texture1D {}
26349#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
26350unsafe impl Sync for ID3D11Texture1D {}
26351windows_core::imp::define_interface!(
26352    ID3D11Texture2D,
26353    ID3D11Texture2D_Vtbl,
26354    0x6f15aaf2_d208_4e89_9ab4_489535d34f9c
26355);
26356impl core::ops::Deref for ID3D11Texture2D {
26357    type Target = ID3D11Resource;
26358    fn deref(&self) -> &Self::Target {
26359        unsafe { core::mem::transmute(self) }
26360    }
26361}
26362windows_core::imp::interface_hierarchy!(
26363    ID3D11Texture2D,
26364    windows_core::IUnknown,
26365    ID3D11DeviceChild,
26366    ID3D11Resource
26367);
26368impl ID3D11Texture2D {
26369    #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
26370    pub unsafe fn GetDesc(&self, pdesc: *mut D3D11_TEXTURE2D_DESC) {
26371        unsafe {
26372            (windows_core::Interface::vtable(self).GetDesc)(
26373                windows_core::Interface::as_raw(self),
26374                core::mem::transmute(pdesc),
26375            )
26376        }
26377    }
26378}
26379#[repr(C)]
26380pub struct ID3D11Texture2D_Vtbl {
26381    pub base__: ID3D11Resource_Vtbl,
26382    #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
26383    pub GetDesc: unsafe extern "system" fn(*mut core::ffi::c_void, *mut D3D11_TEXTURE2D_DESC),
26384    #[cfg(not(feature = "Win32_Graphics_Dxgi_Common"))]
26385    GetDesc: usize,
26386}
26387#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
26388pub trait ID3D11Texture2D_Impl: ID3D11Resource_Impl {
26389    fn GetDesc(&self, pdesc: *mut D3D11_TEXTURE2D_DESC);
26390}
26391#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
26392impl ID3D11Texture2D_Vtbl {
26393    pub const fn new<Identity: ID3D11Texture2D_Impl, const OFFSET: isize>() -> Self {
26394        unsafe extern "system" fn GetDesc<Identity: ID3D11Texture2D_Impl, const OFFSET: isize>(
26395            this: *mut core::ffi::c_void,
26396            pdesc: *mut D3D11_TEXTURE2D_DESC,
26397        ) {
26398            unsafe {
26399                let this: &Identity =
26400                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
26401                ID3D11Texture2D_Impl::GetDesc(this, core::mem::transmute_copy(&pdesc))
26402            }
26403        }
26404        Self {
26405            base__: ID3D11Resource_Vtbl::new::<Identity, OFFSET>(),
26406            GetDesc: GetDesc::<Identity, OFFSET>,
26407        }
26408    }
26409    pub fn matches(iid: &windows_core::GUID) -> bool {
26410        iid == &<ID3D11Texture2D as windows_core::Interface>::IID
26411            || iid == &<ID3D11DeviceChild as windows_core::Interface>::IID
26412            || iid == &<ID3D11Resource as windows_core::Interface>::IID
26413    }
26414}
26415#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
26416impl windows_core::RuntimeName for ID3D11Texture2D {}
26417#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
26418unsafe impl Send for ID3D11Texture2D {}
26419#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
26420unsafe impl Sync for ID3D11Texture2D {}
26421windows_core::imp::define_interface!(
26422    ID3D11Texture2D1,
26423    ID3D11Texture2D1_Vtbl,
26424    0x51218251_1e33_4617_9ccb_4d3a4367e7bb
26425);
26426impl core::ops::Deref for ID3D11Texture2D1 {
26427    type Target = ID3D11Texture2D;
26428    fn deref(&self) -> &Self::Target {
26429        unsafe { core::mem::transmute(self) }
26430    }
26431}
26432windows_core::imp::interface_hierarchy!(
26433    ID3D11Texture2D1,
26434    windows_core::IUnknown,
26435    ID3D11DeviceChild,
26436    ID3D11Resource,
26437    ID3D11Texture2D
26438);
26439impl ID3D11Texture2D1 {
26440    #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
26441    pub unsafe fn GetDesc1(&self, pdesc: *mut D3D11_TEXTURE2D_DESC1) {
26442        unsafe {
26443            (windows_core::Interface::vtable(self).GetDesc1)(
26444                windows_core::Interface::as_raw(self),
26445                core::mem::transmute(pdesc),
26446            )
26447        }
26448    }
26449}
26450#[repr(C)]
26451pub struct ID3D11Texture2D1_Vtbl {
26452    pub base__: ID3D11Texture2D_Vtbl,
26453    #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
26454    pub GetDesc1: unsafe extern "system" fn(*mut core::ffi::c_void, *mut D3D11_TEXTURE2D_DESC1),
26455    #[cfg(not(feature = "Win32_Graphics_Dxgi_Common"))]
26456    GetDesc1: usize,
26457}
26458#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
26459pub trait ID3D11Texture2D1_Impl: ID3D11Texture2D_Impl {
26460    fn GetDesc1(&self, pdesc: *mut D3D11_TEXTURE2D_DESC1);
26461}
26462#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
26463impl ID3D11Texture2D1_Vtbl {
26464    pub const fn new<Identity: ID3D11Texture2D1_Impl, const OFFSET: isize>() -> Self {
26465        unsafe extern "system" fn GetDesc1<Identity: ID3D11Texture2D1_Impl, const OFFSET: isize>(
26466            this: *mut core::ffi::c_void,
26467            pdesc: *mut D3D11_TEXTURE2D_DESC1,
26468        ) {
26469            unsafe {
26470                let this: &Identity =
26471                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
26472                ID3D11Texture2D1_Impl::GetDesc1(this, core::mem::transmute_copy(&pdesc))
26473            }
26474        }
26475        Self {
26476            base__: ID3D11Texture2D_Vtbl::new::<Identity, OFFSET>(),
26477            GetDesc1: GetDesc1::<Identity, OFFSET>,
26478        }
26479    }
26480    pub fn matches(iid: &windows_core::GUID) -> bool {
26481        iid == &<ID3D11Texture2D1 as windows_core::Interface>::IID
26482            || iid == &<ID3D11DeviceChild as windows_core::Interface>::IID
26483            || iid == &<ID3D11Resource as windows_core::Interface>::IID
26484            || iid == &<ID3D11Texture2D as windows_core::Interface>::IID
26485    }
26486}
26487#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
26488impl windows_core::RuntimeName for ID3D11Texture2D1 {}
26489#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
26490unsafe impl Send for ID3D11Texture2D1 {}
26491#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
26492unsafe impl Sync for ID3D11Texture2D1 {}
26493windows_core::imp::define_interface!(
26494    ID3D11Texture3D,
26495    ID3D11Texture3D_Vtbl,
26496    0x037e866e_f56d_4357_a8af_9dabbe6e250e
26497);
26498impl core::ops::Deref for ID3D11Texture3D {
26499    type Target = ID3D11Resource;
26500    fn deref(&self) -> &Self::Target {
26501        unsafe { core::mem::transmute(self) }
26502    }
26503}
26504windows_core::imp::interface_hierarchy!(
26505    ID3D11Texture3D,
26506    windows_core::IUnknown,
26507    ID3D11DeviceChild,
26508    ID3D11Resource
26509);
26510impl ID3D11Texture3D {
26511    #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
26512    pub unsafe fn GetDesc(&self, pdesc: *mut D3D11_TEXTURE3D_DESC) {
26513        unsafe {
26514            (windows_core::Interface::vtable(self).GetDesc)(
26515                windows_core::Interface::as_raw(self),
26516                core::mem::transmute(pdesc),
26517            )
26518        }
26519    }
26520}
26521#[repr(C)]
26522pub struct ID3D11Texture3D_Vtbl {
26523    pub base__: ID3D11Resource_Vtbl,
26524    #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
26525    pub GetDesc: unsafe extern "system" fn(*mut core::ffi::c_void, *mut D3D11_TEXTURE3D_DESC),
26526    #[cfg(not(feature = "Win32_Graphics_Dxgi_Common"))]
26527    GetDesc: usize,
26528}
26529#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
26530pub trait ID3D11Texture3D_Impl: ID3D11Resource_Impl {
26531    fn GetDesc(&self, pdesc: *mut D3D11_TEXTURE3D_DESC);
26532}
26533#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
26534impl ID3D11Texture3D_Vtbl {
26535    pub const fn new<Identity: ID3D11Texture3D_Impl, const OFFSET: isize>() -> Self {
26536        unsafe extern "system" fn GetDesc<Identity: ID3D11Texture3D_Impl, const OFFSET: isize>(
26537            this: *mut core::ffi::c_void,
26538            pdesc: *mut D3D11_TEXTURE3D_DESC,
26539        ) {
26540            unsafe {
26541                let this: &Identity =
26542                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
26543                ID3D11Texture3D_Impl::GetDesc(this, core::mem::transmute_copy(&pdesc))
26544            }
26545        }
26546        Self {
26547            base__: ID3D11Resource_Vtbl::new::<Identity, OFFSET>(),
26548            GetDesc: GetDesc::<Identity, OFFSET>,
26549        }
26550    }
26551    pub fn matches(iid: &windows_core::GUID) -> bool {
26552        iid == &<ID3D11Texture3D as windows_core::Interface>::IID
26553            || iid == &<ID3D11DeviceChild as windows_core::Interface>::IID
26554            || iid == &<ID3D11Resource as windows_core::Interface>::IID
26555    }
26556}
26557#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
26558impl windows_core::RuntimeName for ID3D11Texture3D {}
26559#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
26560unsafe impl Send for ID3D11Texture3D {}
26561#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
26562unsafe impl Sync for ID3D11Texture3D {}
26563windows_core::imp::define_interface!(
26564    ID3D11Texture3D1,
26565    ID3D11Texture3D1_Vtbl,
26566    0x0c711683_2853_4846_9bb0_f3e60639e46a
26567);
26568impl core::ops::Deref for ID3D11Texture3D1 {
26569    type Target = ID3D11Texture3D;
26570    fn deref(&self) -> &Self::Target {
26571        unsafe { core::mem::transmute(self) }
26572    }
26573}
26574windows_core::imp::interface_hierarchy!(
26575    ID3D11Texture3D1,
26576    windows_core::IUnknown,
26577    ID3D11DeviceChild,
26578    ID3D11Resource,
26579    ID3D11Texture3D
26580);
26581impl ID3D11Texture3D1 {
26582    #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
26583    pub unsafe fn GetDesc1(&self, pdesc: *mut D3D11_TEXTURE3D_DESC1) {
26584        unsafe {
26585            (windows_core::Interface::vtable(self).GetDesc1)(
26586                windows_core::Interface::as_raw(self),
26587                core::mem::transmute(pdesc),
26588            )
26589        }
26590    }
26591}
26592#[repr(C)]
26593pub struct ID3D11Texture3D1_Vtbl {
26594    pub base__: ID3D11Texture3D_Vtbl,
26595    #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
26596    pub GetDesc1: unsafe extern "system" fn(*mut core::ffi::c_void, *mut D3D11_TEXTURE3D_DESC1),
26597    #[cfg(not(feature = "Win32_Graphics_Dxgi_Common"))]
26598    GetDesc1: usize,
26599}
26600#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
26601pub trait ID3D11Texture3D1_Impl: ID3D11Texture3D_Impl {
26602    fn GetDesc1(&self, pdesc: *mut D3D11_TEXTURE3D_DESC1);
26603}
26604#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
26605impl ID3D11Texture3D1_Vtbl {
26606    pub const fn new<Identity: ID3D11Texture3D1_Impl, const OFFSET: isize>() -> Self {
26607        unsafe extern "system" fn GetDesc1<Identity: ID3D11Texture3D1_Impl, const OFFSET: isize>(
26608            this: *mut core::ffi::c_void,
26609            pdesc: *mut D3D11_TEXTURE3D_DESC1,
26610        ) {
26611            unsafe {
26612                let this: &Identity =
26613                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
26614                ID3D11Texture3D1_Impl::GetDesc1(this, core::mem::transmute_copy(&pdesc))
26615            }
26616        }
26617        Self {
26618            base__: ID3D11Texture3D_Vtbl::new::<Identity, OFFSET>(),
26619            GetDesc1: GetDesc1::<Identity, OFFSET>,
26620        }
26621    }
26622    pub fn matches(iid: &windows_core::GUID) -> bool {
26623        iid == &<ID3D11Texture3D1 as windows_core::Interface>::IID
26624            || iid == &<ID3D11DeviceChild as windows_core::Interface>::IID
26625            || iid == &<ID3D11Resource as windows_core::Interface>::IID
26626            || iid == &<ID3D11Texture3D as windows_core::Interface>::IID
26627    }
26628}
26629#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
26630impl windows_core::RuntimeName for ID3D11Texture3D1 {}
26631#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
26632unsafe impl Send for ID3D11Texture3D1 {}
26633#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
26634unsafe impl Sync for ID3D11Texture3D1 {}
26635windows_core::imp::define_interface!(
26636    ID3D11TracingDevice,
26637    ID3D11TracingDevice_Vtbl,
26638    0x1911c771_1587_413e_a7e0_fb26c3de0268
26639);
26640windows_core::imp::interface_hierarchy!(ID3D11TracingDevice, windows_core::IUnknown);
26641impl ID3D11TracingDevice {
26642    pub unsafe fn SetShaderTrackingOptionsByType(
26643        &self,
26644        resourcetypeflags: u32,
26645        options: u32,
26646    ) -> windows_core::Result<()> {
26647        unsafe {
26648            (windows_core::Interface::vtable(self).SetShaderTrackingOptionsByType)(
26649                windows_core::Interface::as_raw(self),
26650                resourcetypeflags,
26651                options,
26652            )
26653            .ok()
26654        }
26655    }
26656    pub unsafe fn SetShaderTrackingOptions<P0>(
26657        &self,
26658        pshader: P0,
26659        options: u32,
26660    ) -> windows_core::Result<()>
26661    where
26662        P0: windows_core::Param<windows_core::IUnknown>,
26663    {
26664        unsafe {
26665            (windows_core::Interface::vtable(self).SetShaderTrackingOptions)(
26666                windows_core::Interface::as_raw(self),
26667                pshader.param().abi(),
26668                options,
26669            )
26670            .ok()
26671        }
26672    }
26673}
26674#[repr(C)]
26675pub struct ID3D11TracingDevice_Vtbl {
26676    pub base__: windows_core::IUnknown_Vtbl,
26677    pub SetShaderTrackingOptionsByType:
26678        unsafe extern "system" fn(*mut core::ffi::c_void, u32, u32) -> windows_core::HRESULT,
26679    pub SetShaderTrackingOptions: unsafe extern "system" fn(
26680        *mut core::ffi::c_void,
26681        *mut core::ffi::c_void,
26682        u32,
26683    ) -> windows_core::HRESULT,
26684}
26685pub trait ID3D11TracingDevice_Impl: windows_core::IUnknownImpl {
26686    fn SetShaderTrackingOptionsByType(
26687        &self,
26688        resourcetypeflags: u32,
26689        options: u32,
26690    ) -> windows_core::Result<()>;
26691    fn SetShaderTrackingOptions(
26692        &self,
26693        pshader: windows_core::Ref<'_, windows_core::IUnknown>,
26694        options: u32,
26695    ) -> windows_core::Result<()>;
26696}
26697impl ID3D11TracingDevice_Vtbl {
26698    pub const fn new<Identity: ID3D11TracingDevice_Impl, const OFFSET: isize>() -> Self {
26699        unsafe extern "system" fn SetShaderTrackingOptionsByType<
26700            Identity: ID3D11TracingDevice_Impl,
26701            const OFFSET: isize,
26702        >(
26703            this: *mut core::ffi::c_void,
26704            resourcetypeflags: u32,
26705            options: u32,
26706        ) -> windows_core::HRESULT {
26707            unsafe {
26708                let this: &Identity =
26709                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
26710                ID3D11TracingDevice_Impl::SetShaderTrackingOptionsByType(
26711                    this,
26712                    core::mem::transmute_copy(&resourcetypeflags),
26713                    core::mem::transmute_copy(&options),
26714                )
26715                .into()
26716            }
26717        }
26718        unsafe extern "system" fn SetShaderTrackingOptions<
26719            Identity: ID3D11TracingDevice_Impl,
26720            const OFFSET: isize,
26721        >(
26722            this: *mut core::ffi::c_void,
26723            pshader: *mut core::ffi::c_void,
26724            options: u32,
26725        ) -> windows_core::HRESULT {
26726            unsafe {
26727                let this: &Identity =
26728                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
26729                ID3D11TracingDevice_Impl::SetShaderTrackingOptions(
26730                    this,
26731                    core::mem::transmute_copy(&pshader),
26732                    core::mem::transmute_copy(&options),
26733                )
26734                .into()
26735            }
26736        }
26737        Self {
26738            base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
26739            SetShaderTrackingOptionsByType: SetShaderTrackingOptionsByType::<Identity, OFFSET>,
26740            SetShaderTrackingOptions: SetShaderTrackingOptions::<Identity, OFFSET>,
26741        }
26742    }
26743    pub fn matches(iid: &windows_core::GUID) -> bool {
26744        iid == &<ID3D11TracingDevice as windows_core::Interface>::IID
26745    }
26746}
26747impl windows_core::RuntimeName for ID3D11TracingDevice {}
26748unsafe impl Send for ID3D11TracingDevice {}
26749unsafe impl Sync for ID3D11TracingDevice {}
26750windows_core::imp::define_interface!(
26751    ID3D11UnorderedAccessView,
26752    ID3D11UnorderedAccessView_Vtbl,
26753    0x28acf509_7f5c_48f6_8611_f316010a6380
26754);
26755impl core::ops::Deref for ID3D11UnorderedAccessView {
26756    type Target = ID3D11View;
26757    fn deref(&self) -> &Self::Target {
26758        unsafe { core::mem::transmute(self) }
26759    }
26760}
26761windows_core::imp::interface_hierarchy!(
26762    ID3D11UnorderedAccessView,
26763    windows_core::IUnknown,
26764    ID3D11DeviceChild,
26765    ID3D11View
26766);
26767impl ID3D11UnorderedAccessView {
26768    #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
26769    pub unsafe fn GetDesc(&self, pdesc: *mut D3D11_UNORDERED_ACCESS_VIEW_DESC) {
26770        unsafe {
26771            (windows_core::Interface::vtable(self).GetDesc)(
26772                windows_core::Interface::as_raw(self),
26773                core::mem::transmute(pdesc),
26774            )
26775        }
26776    }
26777}
26778#[repr(C)]
26779pub struct ID3D11UnorderedAccessView_Vtbl {
26780    pub base__: ID3D11View_Vtbl,
26781    #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
26782    pub GetDesc:
26783        unsafe extern "system" fn(*mut core::ffi::c_void, *mut D3D11_UNORDERED_ACCESS_VIEW_DESC),
26784    #[cfg(not(feature = "Win32_Graphics_Dxgi_Common"))]
26785    GetDesc: usize,
26786}
26787#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
26788pub trait ID3D11UnorderedAccessView_Impl: ID3D11View_Impl {
26789    fn GetDesc(&self, pdesc: *mut D3D11_UNORDERED_ACCESS_VIEW_DESC);
26790}
26791#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
26792impl ID3D11UnorderedAccessView_Vtbl {
26793    pub const fn new<Identity: ID3D11UnorderedAccessView_Impl, const OFFSET: isize>() -> Self {
26794        unsafe extern "system" fn GetDesc<
26795            Identity: ID3D11UnorderedAccessView_Impl,
26796            const OFFSET: isize,
26797        >(
26798            this: *mut core::ffi::c_void,
26799            pdesc: *mut D3D11_UNORDERED_ACCESS_VIEW_DESC,
26800        ) {
26801            unsafe {
26802                let this: &Identity =
26803                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
26804                ID3D11UnorderedAccessView_Impl::GetDesc(this, core::mem::transmute_copy(&pdesc))
26805            }
26806        }
26807        Self {
26808            base__: ID3D11View_Vtbl::new::<Identity, OFFSET>(),
26809            GetDesc: GetDesc::<Identity, OFFSET>,
26810        }
26811    }
26812    pub fn matches(iid: &windows_core::GUID) -> bool {
26813        iid == &<ID3D11UnorderedAccessView as windows_core::Interface>::IID
26814            || iid == &<ID3D11DeviceChild as windows_core::Interface>::IID
26815            || iid == &<ID3D11View as windows_core::Interface>::IID
26816    }
26817}
26818#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
26819impl windows_core::RuntimeName for ID3D11UnorderedAccessView {}
26820#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
26821unsafe impl Send for ID3D11UnorderedAccessView {}
26822#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
26823unsafe impl Sync for ID3D11UnorderedAccessView {}
26824windows_core::imp::define_interface!(
26825    ID3D11UnorderedAccessView1,
26826    ID3D11UnorderedAccessView1_Vtbl,
26827    0x7b3b6153_a886_4544_ab37_6537c8500403
26828);
26829impl core::ops::Deref for ID3D11UnorderedAccessView1 {
26830    type Target = ID3D11UnorderedAccessView;
26831    fn deref(&self) -> &Self::Target {
26832        unsafe { core::mem::transmute(self) }
26833    }
26834}
26835windows_core::imp::interface_hierarchy!(
26836    ID3D11UnorderedAccessView1,
26837    windows_core::IUnknown,
26838    ID3D11DeviceChild,
26839    ID3D11View,
26840    ID3D11UnorderedAccessView
26841);
26842impl ID3D11UnorderedAccessView1 {
26843    #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
26844    pub unsafe fn GetDesc1(&self, pdesc1: *mut D3D11_UNORDERED_ACCESS_VIEW_DESC1) {
26845        unsafe {
26846            (windows_core::Interface::vtable(self).GetDesc1)(
26847                windows_core::Interface::as_raw(self),
26848                core::mem::transmute(pdesc1),
26849            )
26850        }
26851    }
26852}
26853#[repr(C)]
26854pub struct ID3D11UnorderedAccessView1_Vtbl {
26855    pub base__: ID3D11UnorderedAccessView_Vtbl,
26856    #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
26857    pub GetDesc1:
26858        unsafe extern "system" fn(*mut core::ffi::c_void, *mut D3D11_UNORDERED_ACCESS_VIEW_DESC1),
26859    #[cfg(not(feature = "Win32_Graphics_Dxgi_Common"))]
26860    GetDesc1: usize,
26861}
26862#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
26863pub trait ID3D11UnorderedAccessView1_Impl: ID3D11UnorderedAccessView_Impl {
26864    fn GetDesc1(&self, pdesc1: *mut D3D11_UNORDERED_ACCESS_VIEW_DESC1);
26865}
26866#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
26867impl ID3D11UnorderedAccessView1_Vtbl {
26868    pub const fn new<Identity: ID3D11UnorderedAccessView1_Impl, const OFFSET: isize>() -> Self {
26869        unsafe extern "system" fn GetDesc1<
26870            Identity: ID3D11UnorderedAccessView1_Impl,
26871            const OFFSET: isize,
26872        >(
26873            this: *mut core::ffi::c_void,
26874            pdesc1: *mut D3D11_UNORDERED_ACCESS_VIEW_DESC1,
26875        ) {
26876            unsafe {
26877                let this: &Identity =
26878                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
26879                ID3D11UnorderedAccessView1_Impl::GetDesc1(this, core::mem::transmute_copy(&pdesc1))
26880            }
26881        }
26882        Self {
26883            base__: ID3D11UnorderedAccessView_Vtbl::new::<Identity, OFFSET>(),
26884            GetDesc1: GetDesc1::<Identity, OFFSET>,
26885        }
26886    }
26887    pub fn matches(iid: &windows_core::GUID) -> bool {
26888        iid == &<ID3D11UnorderedAccessView1 as windows_core::Interface>::IID
26889            || iid == &<ID3D11DeviceChild as windows_core::Interface>::IID
26890            || iid == &<ID3D11View as windows_core::Interface>::IID
26891            || iid == &<ID3D11UnorderedAccessView as windows_core::Interface>::IID
26892    }
26893}
26894#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
26895impl windows_core::RuntimeName for ID3D11UnorderedAccessView1 {}
26896#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
26897unsafe impl Send for ID3D11UnorderedAccessView1 {}
26898#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
26899unsafe impl Sync for ID3D11UnorderedAccessView1 {}
26900windows_core::imp::define_interface!(
26901    ID3D11VertexShader,
26902    ID3D11VertexShader_Vtbl,
26903    0x3b301d64_d678_4289_8897_22f8928b72f3
26904);
26905impl core::ops::Deref for ID3D11VertexShader {
26906    type Target = ID3D11DeviceChild;
26907    fn deref(&self) -> &Self::Target {
26908        unsafe { core::mem::transmute(self) }
26909    }
26910}
26911windows_core::imp::interface_hierarchy!(
26912    ID3D11VertexShader,
26913    windows_core::IUnknown,
26914    ID3D11DeviceChild
26915);
26916#[repr(C)]
26917pub struct ID3D11VertexShader_Vtbl {
26918    pub base__: ID3D11DeviceChild_Vtbl,
26919}
26920pub trait ID3D11VertexShader_Impl: ID3D11DeviceChild_Impl {}
26921impl ID3D11VertexShader_Vtbl {
26922    pub const fn new<Identity: ID3D11VertexShader_Impl, const OFFSET: isize>() -> Self {
26923        Self {
26924            base__: ID3D11DeviceChild_Vtbl::new::<Identity, OFFSET>(),
26925        }
26926    }
26927    pub fn matches(iid: &windows_core::GUID) -> bool {
26928        iid == &<ID3D11VertexShader as windows_core::Interface>::IID
26929            || iid == &<ID3D11DeviceChild as windows_core::Interface>::IID
26930    }
26931}
26932impl windows_core::RuntimeName for ID3D11VertexShader {}
26933unsafe impl Send for ID3D11VertexShader {}
26934unsafe impl Sync for ID3D11VertexShader {}
26935windows_core::imp::define_interface!(
26936    ID3D11VideoContext,
26937    ID3D11VideoContext_Vtbl,
26938    0x61f21c45_3c0e_4a74_9cea_67100d9ad5e4
26939);
26940impl core::ops::Deref for ID3D11VideoContext {
26941    type Target = ID3D11DeviceChild;
26942    fn deref(&self) -> &Self::Target {
26943        unsafe { core::mem::transmute(self) }
26944    }
26945}
26946windows_core::imp::interface_hierarchy!(
26947    ID3D11VideoContext,
26948    windows_core::IUnknown,
26949    ID3D11DeviceChild
26950);
26951impl ID3D11VideoContext {
26952    pub unsafe fn GetDecoderBuffer<P0>(
26953        &self,
26954        pdecoder: P0,
26955        r#type: D3D11_VIDEO_DECODER_BUFFER_TYPE,
26956        pbuffersize: *mut u32,
26957        ppbuffer: *mut *mut core::ffi::c_void,
26958    ) -> windows_core::Result<()>
26959    where
26960        P0: windows_core::Param<ID3D11VideoDecoder>,
26961    {
26962        unsafe {
26963            (windows_core::Interface::vtable(self).GetDecoderBuffer)(
26964                windows_core::Interface::as_raw(self),
26965                pdecoder.param().abi(),
26966                r#type,
26967                core::mem::transmute(pbuffersize),
26968                core::mem::transmute(ppbuffer),
26969            )
26970            .ok()
26971        }
26972    }
26973    pub unsafe fn ReleaseDecoderBuffer<P0>(
26974        &self,
26975        pdecoder: P0,
26976        r#type: D3D11_VIDEO_DECODER_BUFFER_TYPE,
26977    ) -> windows_core::Result<()>
26978    where
26979        P0: windows_core::Param<ID3D11VideoDecoder>,
26980    {
26981        unsafe {
26982            (windows_core::Interface::vtable(self).ReleaseDecoderBuffer)(
26983                windows_core::Interface::as_raw(self),
26984                pdecoder.param().abi(),
26985                r#type,
26986            )
26987            .ok()
26988        }
26989    }
26990    pub unsafe fn DecoderBeginFrame<P0, P1>(
26991        &self,
26992        pdecoder: P0,
26993        pview: P1,
26994        contentkeysize: u32,
26995        pcontentkey: Option<*const core::ffi::c_void>,
26996    ) -> windows_core::Result<()>
26997    where
26998        P0: windows_core::Param<ID3D11VideoDecoder>,
26999        P1: windows_core::Param<ID3D11VideoDecoderOutputView>,
27000    {
27001        unsafe {
27002            (windows_core::Interface::vtable(self).DecoderBeginFrame)(
27003                windows_core::Interface::as_raw(self),
27004                pdecoder.param().abi(),
27005                pview.param().abi(),
27006                contentkeysize,
27007                core::mem::transmute(pcontentkey.unwrap_or(core::mem::zeroed())),
27008            )
27009            .ok()
27010        }
27011    }
27012    pub unsafe fn DecoderEndFrame<P0>(&self, pdecoder: P0) -> windows_core::Result<()>
27013    where
27014        P0: windows_core::Param<ID3D11VideoDecoder>,
27015    {
27016        unsafe {
27017            (windows_core::Interface::vtable(self).DecoderEndFrame)(
27018                windows_core::Interface::as_raw(self),
27019                pdecoder.param().abi(),
27020            )
27021            .ok()
27022        }
27023    }
27024    pub unsafe fn SubmitDecoderBuffers<P0>(
27025        &self,
27026        pdecoder: P0,
27027        pbufferdesc: &[D3D11_VIDEO_DECODER_BUFFER_DESC],
27028    ) -> windows_core::Result<()>
27029    where
27030        P0: windows_core::Param<ID3D11VideoDecoder>,
27031    {
27032        unsafe {
27033            (windows_core::Interface::vtable(self).SubmitDecoderBuffers)(
27034                windows_core::Interface::as_raw(self),
27035                pdecoder.param().abi(),
27036                pbufferdesc.len().try_into().unwrap(),
27037                core::mem::transmute(pbufferdesc.as_ptr()),
27038            )
27039            .ok()
27040        }
27041    }
27042    pub unsafe fn DecoderExtension<P0>(
27043        &self,
27044        pdecoder: P0,
27045        pextensiondata: *const D3D11_VIDEO_DECODER_EXTENSION,
27046    ) -> i32
27047    where
27048        P0: windows_core::Param<ID3D11VideoDecoder>,
27049    {
27050        unsafe {
27051            (windows_core::Interface::vtable(self).DecoderExtension)(
27052                windows_core::Interface::as_raw(self),
27053                pdecoder.param().abi(),
27054                pextensiondata,
27055            )
27056        }
27057    }
27058    pub unsafe fn VideoProcessorSetOutputTargetRect<P0>(
27059        &self,
27060        pvideoprocessor: P0,
27061        enable: bool,
27062        prect: Option<*const crate::Foundation::RECT>,
27063    ) where
27064        P0: windows_core::Param<ID3D11VideoProcessor>,
27065    {
27066        unsafe {
27067            (windows_core::Interface::vtable(self).VideoProcessorSetOutputTargetRect)(
27068                windows_core::Interface::as_raw(self),
27069                pvideoprocessor.param().abi(),
27070                enable.into(),
27071                core::mem::transmute(prect.unwrap_or(core::mem::zeroed())),
27072            )
27073        }
27074    }
27075    pub unsafe fn VideoProcessorSetOutputBackgroundColor<P0>(
27076        &self,
27077        pvideoprocessor: P0,
27078        ycbcr: bool,
27079        pcolor: *const D3D11_VIDEO_COLOR,
27080    ) where
27081        P0: windows_core::Param<ID3D11VideoProcessor>,
27082    {
27083        unsafe {
27084            (windows_core::Interface::vtable(self).VideoProcessorSetOutputBackgroundColor)(
27085                windows_core::Interface::as_raw(self),
27086                pvideoprocessor.param().abi(),
27087                ycbcr.into(),
27088                pcolor,
27089            )
27090        }
27091    }
27092    pub unsafe fn VideoProcessorSetOutputColorSpace<P0>(
27093        &self,
27094        pvideoprocessor: P0,
27095        pcolorspace: *const D3D11_VIDEO_PROCESSOR_COLOR_SPACE,
27096    ) where
27097        P0: windows_core::Param<ID3D11VideoProcessor>,
27098    {
27099        unsafe {
27100            (windows_core::Interface::vtable(self).VideoProcessorSetOutputColorSpace)(
27101                windows_core::Interface::as_raw(self),
27102                pvideoprocessor.param().abi(),
27103                pcolorspace,
27104            )
27105        }
27106    }
27107    pub unsafe fn VideoProcessorSetOutputAlphaFillMode<P0>(
27108        &self,
27109        pvideoprocessor: P0,
27110        alphafillmode: D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE,
27111        streamindex: u32,
27112    ) where
27113        P0: windows_core::Param<ID3D11VideoProcessor>,
27114    {
27115        unsafe {
27116            (windows_core::Interface::vtable(self).VideoProcessorSetOutputAlphaFillMode)(
27117                windows_core::Interface::as_raw(self),
27118                pvideoprocessor.param().abi(),
27119                alphafillmode,
27120                streamindex,
27121            )
27122        }
27123    }
27124    pub unsafe fn VideoProcessorSetOutputConstriction<P0>(
27125        &self,
27126        pvideoprocessor: P0,
27127        enable: bool,
27128        size: crate::Foundation::SIZE,
27129    ) where
27130        P0: windows_core::Param<ID3D11VideoProcessor>,
27131    {
27132        unsafe {
27133            (windows_core::Interface::vtable(self).VideoProcessorSetOutputConstriction)(
27134                windows_core::Interface::as_raw(self),
27135                pvideoprocessor.param().abi(),
27136                enable.into(),
27137                core::mem::transmute(size),
27138            )
27139        }
27140    }
27141    pub unsafe fn VideoProcessorSetOutputStereoMode<P0>(&self, pvideoprocessor: P0, enable: bool)
27142    where
27143        P0: windows_core::Param<ID3D11VideoProcessor>,
27144    {
27145        unsafe {
27146            (windows_core::Interface::vtable(self).VideoProcessorSetOutputStereoMode)(
27147                windows_core::Interface::as_raw(self),
27148                pvideoprocessor.param().abi(),
27149                enable.into(),
27150            )
27151        }
27152    }
27153    pub unsafe fn VideoProcessorSetOutputExtension<P0>(
27154        &self,
27155        pvideoprocessor: P0,
27156        pextensionguid: *const windows_core::GUID,
27157        datasize: u32,
27158        pdata: *const core::ffi::c_void,
27159    ) -> i32
27160    where
27161        P0: windows_core::Param<ID3D11VideoProcessor>,
27162    {
27163        unsafe {
27164            (windows_core::Interface::vtable(self).VideoProcessorSetOutputExtension)(
27165                windows_core::Interface::as_raw(self),
27166                pvideoprocessor.param().abi(),
27167                pextensionguid,
27168                datasize,
27169                pdata,
27170            )
27171        }
27172    }
27173    pub unsafe fn VideoProcessorGetOutputTargetRect<P0>(
27174        &self,
27175        pvideoprocessor: P0,
27176        enabled: *mut crate::Foundation::BOOL,
27177        prect: *mut crate::Foundation::RECT,
27178    ) where
27179        P0: windows_core::Param<ID3D11VideoProcessor>,
27180    {
27181        unsafe {
27182            (windows_core::Interface::vtable(self).VideoProcessorGetOutputTargetRect)(
27183                windows_core::Interface::as_raw(self),
27184                pvideoprocessor.param().abi(),
27185                core::mem::transmute(enabled),
27186                core::mem::transmute(prect),
27187            )
27188        }
27189    }
27190    pub unsafe fn VideoProcessorGetOutputBackgroundColor<P0>(
27191        &self,
27192        pvideoprocessor: P0,
27193        pycbcr: *mut crate::Foundation::BOOL,
27194        pcolor: *mut D3D11_VIDEO_COLOR,
27195    ) where
27196        P0: windows_core::Param<ID3D11VideoProcessor>,
27197    {
27198        unsafe {
27199            (windows_core::Interface::vtable(self).VideoProcessorGetOutputBackgroundColor)(
27200                windows_core::Interface::as_raw(self),
27201                pvideoprocessor.param().abi(),
27202                core::mem::transmute(pycbcr),
27203                core::mem::transmute(pcolor),
27204            )
27205        }
27206    }
27207    pub unsafe fn VideoProcessorGetOutputColorSpace<P0>(
27208        &self,
27209        pvideoprocessor: P0,
27210    ) -> D3D11_VIDEO_PROCESSOR_COLOR_SPACE
27211    where
27212        P0: windows_core::Param<ID3D11VideoProcessor>,
27213    {
27214        unsafe {
27215            let mut result__ = core::mem::zeroed();
27216            (windows_core::Interface::vtable(self).VideoProcessorGetOutputColorSpace)(
27217                windows_core::Interface::as_raw(self),
27218                pvideoprocessor.param().abi(),
27219                &mut result__,
27220            );
27221            result__
27222        }
27223    }
27224    pub unsafe fn VideoProcessorGetOutputAlphaFillMode<P0>(
27225        &self,
27226        pvideoprocessor: P0,
27227        palphafillmode: *mut D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE,
27228        pstreamindex: *mut u32,
27229    ) where
27230        P0: windows_core::Param<ID3D11VideoProcessor>,
27231    {
27232        unsafe {
27233            (windows_core::Interface::vtable(self).VideoProcessorGetOutputAlphaFillMode)(
27234                windows_core::Interface::as_raw(self),
27235                pvideoprocessor.param().abi(),
27236                core::mem::transmute(palphafillmode),
27237                core::mem::transmute(pstreamindex),
27238            )
27239        }
27240    }
27241    pub unsafe fn VideoProcessorGetOutputConstriction<P0>(
27242        &self,
27243        pvideoprocessor: P0,
27244        penabled: *mut crate::Foundation::BOOL,
27245        psize: *mut crate::Foundation::SIZE,
27246    ) where
27247        P0: windows_core::Param<ID3D11VideoProcessor>,
27248    {
27249        unsafe {
27250            (windows_core::Interface::vtable(self).VideoProcessorGetOutputConstriction)(
27251                windows_core::Interface::as_raw(self),
27252                pvideoprocessor.param().abi(),
27253                core::mem::transmute(penabled),
27254                core::mem::transmute(psize),
27255            )
27256        }
27257    }
27258    pub unsafe fn VideoProcessorGetOutputStereoMode<P0>(
27259        &self,
27260        pvideoprocessor: P0,
27261    ) -> crate::Foundation::BOOL
27262    where
27263        P0: windows_core::Param<ID3D11VideoProcessor>,
27264    {
27265        unsafe {
27266            let mut result__ = core::mem::zeroed();
27267            (windows_core::Interface::vtable(self).VideoProcessorGetOutputStereoMode)(
27268                windows_core::Interface::as_raw(self),
27269                pvideoprocessor.param().abi(),
27270                &mut result__,
27271            );
27272            result__
27273        }
27274    }
27275    pub unsafe fn VideoProcessorGetOutputExtension<P0>(
27276        &self,
27277        pvideoprocessor: P0,
27278        pextensionguid: *const windows_core::GUID,
27279        datasize: u32,
27280        pdata: *mut core::ffi::c_void,
27281    ) -> i32
27282    where
27283        P0: windows_core::Param<ID3D11VideoProcessor>,
27284    {
27285        unsafe {
27286            (windows_core::Interface::vtable(self).VideoProcessorGetOutputExtension)(
27287                windows_core::Interface::as_raw(self),
27288                pvideoprocessor.param().abi(),
27289                pextensionguid,
27290                datasize,
27291                core::mem::transmute(pdata),
27292            )
27293        }
27294    }
27295    pub unsafe fn VideoProcessorSetStreamFrameFormat<P0>(
27296        &self,
27297        pvideoprocessor: P0,
27298        streamindex: u32,
27299        frameformat: D3D11_VIDEO_FRAME_FORMAT,
27300    ) where
27301        P0: windows_core::Param<ID3D11VideoProcessor>,
27302    {
27303        unsafe {
27304            (windows_core::Interface::vtable(self).VideoProcessorSetStreamFrameFormat)(
27305                windows_core::Interface::as_raw(self),
27306                pvideoprocessor.param().abi(),
27307                streamindex,
27308                frameformat,
27309            )
27310        }
27311    }
27312    pub unsafe fn VideoProcessorSetStreamColorSpace<P0>(
27313        &self,
27314        pvideoprocessor: P0,
27315        streamindex: u32,
27316        pcolorspace: *const D3D11_VIDEO_PROCESSOR_COLOR_SPACE,
27317    ) where
27318        P0: windows_core::Param<ID3D11VideoProcessor>,
27319    {
27320        unsafe {
27321            (windows_core::Interface::vtable(self).VideoProcessorSetStreamColorSpace)(
27322                windows_core::Interface::as_raw(self),
27323                pvideoprocessor.param().abi(),
27324                streamindex,
27325                pcolorspace,
27326            )
27327        }
27328    }
27329    #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
27330    pub unsafe fn VideoProcessorSetStreamOutputRate<P0>(
27331        &self,
27332        pvideoprocessor: P0,
27333        streamindex: u32,
27334        outputrate: D3D11_VIDEO_PROCESSOR_OUTPUT_RATE,
27335        repeatframe: bool,
27336        pcustomrate: Option<*const crate::Dxgi::Common::DXGI_RATIONAL>,
27337    ) where
27338        P0: windows_core::Param<ID3D11VideoProcessor>,
27339    {
27340        unsafe {
27341            (windows_core::Interface::vtable(self).VideoProcessorSetStreamOutputRate)(
27342                windows_core::Interface::as_raw(self),
27343                pvideoprocessor.param().abi(),
27344                streamindex,
27345                outputrate,
27346                repeatframe.into(),
27347                core::mem::transmute(pcustomrate.unwrap_or(core::mem::zeroed())),
27348            )
27349        }
27350    }
27351    pub unsafe fn VideoProcessorSetStreamSourceRect<P0>(
27352        &self,
27353        pvideoprocessor: P0,
27354        streamindex: u32,
27355        enable: bool,
27356        prect: Option<*const crate::Foundation::RECT>,
27357    ) where
27358        P0: windows_core::Param<ID3D11VideoProcessor>,
27359    {
27360        unsafe {
27361            (windows_core::Interface::vtable(self).VideoProcessorSetStreamSourceRect)(
27362                windows_core::Interface::as_raw(self),
27363                pvideoprocessor.param().abi(),
27364                streamindex,
27365                enable.into(),
27366                core::mem::transmute(prect.unwrap_or(core::mem::zeroed())),
27367            )
27368        }
27369    }
27370    pub unsafe fn VideoProcessorSetStreamDestRect<P0>(
27371        &self,
27372        pvideoprocessor: P0,
27373        streamindex: u32,
27374        enable: bool,
27375        prect: Option<*const crate::Foundation::RECT>,
27376    ) where
27377        P0: windows_core::Param<ID3D11VideoProcessor>,
27378    {
27379        unsafe {
27380            (windows_core::Interface::vtable(self).VideoProcessorSetStreamDestRect)(
27381                windows_core::Interface::as_raw(self),
27382                pvideoprocessor.param().abi(),
27383                streamindex,
27384                enable.into(),
27385                core::mem::transmute(prect.unwrap_or(core::mem::zeroed())),
27386            )
27387        }
27388    }
27389    pub unsafe fn VideoProcessorSetStreamAlpha<P0>(
27390        &self,
27391        pvideoprocessor: P0,
27392        streamindex: u32,
27393        enable: bool,
27394        alpha: f32,
27395    ) where
27396        P0: windows_core::Param<ID3D11VideoProcessor>,
27397    {
27398        unsafe {
27399            (windows_core::Interface::vtable(self).VideoProcessorSetStreamAlpha)(
27400                windows_core::Interface::as_raw(self),
27401                pvideoprocessor.param().abi(),
27402                streamindex,
27403                enable.into(),
27404                alpha,
27405            )
27406        }
27407    }
27408    pub unsafe fn VideoProcessorSetStreamPalette<P0>(
27409        &self,
27410        pvideoprocessor: P0,
27411        streamindex: u32,
27412        pentries: Option<&[u32]>,
27413    ) where
27414        P0: windows_core::Param<ID3D11VideoProcessor>,
27415    {
27416        unsafe {
27417            (windows_core::Interface::vtable(self).VideoProcessorSetStreamPalette)(
27418                windows_core::Interface::as_raw(self),
27419                pvideoprocessor.param().abi(),
27420                streamindex,
27421                pentries
27422                    .map_or(0, |slice| slice.len().try_into().unwrap()),
27423                core::mem::transmute(
27424                    pentries
27425                        .map_or(core::ptr::null(), |slice| slice.as_ptr()),
27426                ),
27427            )
27428        }
27429    }
27430    #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
27431    pub unsafe fn VideoProcessorSetStreamPixelAspectRatio<P0>(
27432        &self,
27433        pvideoprocessor: P0,
27434        streamindex: u32,
27435        enable: bool,
27436        psourceaspectratio: Option<*const crate::Dxgi::Common::DXGI_RATIONAL>,
27437        pdestinationaspectratio: Option<*const crate::Dxgi::Common::DXGI_RATIONAL>,
27438    ) where
27439        P0: windows_core::Param<ID3D11VideoProcessor>,
27440    {
27441        unsafe {
27442            (windows_core::Interface::vtable(self).VideoProcessorSetStreamPixelAspectRatio)(
27443                windows_core::Interface::as_raw(self),
27444                pvideoprocessor.param().abi(),
27445                streamindex,
27446                enable.into(),
27447                core::mem::transmute(psourceaspectratio.unwrap_or(core::mem::zeroed())),
27448                core::mem::transmute(pdestinationaspectratio.unwrap_or(core::mem::zeroed())),
27449            )
27450        }
27451    }
27452    pub unsafe fn VideoProcessorSetStreamLumaKey<P0>(
27453        &self,
27454        pvideoprocessor: P0,
27455        streamindex: u32,
27456        enable: bool,
27457        lower: f32,
27458        upper: f32,
27459    ) where
27460        P0: windows_core::Param<ID3D11VideoProcessor>,
27461    {
27462        unsafe {
27463            (windows_core::Interface::vtable(self).VideoProcessorSetStreamLumaKey)(
27464                windows_core::Interface::as_raw(self),
27465                pvideoprocessor.param().abi(),
27466                streamindex,
27467                enable.into(),
27468                lower,
27469                upper,
27470            )
27471        }
27472    }
27473    pub unsafe fn VideoProcessorSetStreamStereoFormat<P0>(
27474        &self,
27475        pvideoprocessor: P0,
27476        streamindex: u32,
27477        enable: bool,
27478        format: D3D11_VIDEO_PROCESSOR_STEREO_FORMAT,
27479        leftviewframe0: bool,
27480        baseviewframe0: bool,
27481        flipmode: D3D11_VIDEO_PROCESSOR_STEREO_FLIP_MODE,
27482        monooffset: i32,
27483    ) where
27484        P0: windows_core::Param<ID3D11VideoProcessor>,
27485    {
27486        unsafe {
27487            (windows_core::Interface::vtable(self).VideoProcessorSetStreamStereoFormat)(
27488                windows_core::Interface::as_raw(self),
27489                pvideoprocessor.param().abi(),
27490                streamindex,
27491                enable.into(),
27492                format,
27493                leftviewframe0.into(),
27494                baseviewframe0.into(),
27495                flipmode,
27496                monooffset,
27497            )
27498        }
27499    }
27500    pub unsafe fn VideoProcessorSetStreamAutoProcessingMode<P0>(
27501        &self,
27502        pvideoprocessor: P0,
27503        streamindex: u32,
27504        enable: bool,
27505    ) where
27506        P0: windows_core::Param<ID3D11VideoProcessor>,
27507    {
27508        unsafe {
27509            (windows_core::Interface::vtable(self).VideoProcessorSetStreamAutoProcessingMode)(
27510                windows_core::Interface::as_raw(self),
27511                pvideoprocessor.param().abi(),
27512                streamindex,
27513                enable.into(),
27514            )
27515        }
27516    }
27517    pub unsafe fn VideoProcessorSetStreamFilter<P0>(
27518        &self,
27519        pvideoprocessor: P0,
27520        streamindex: u32,
27521        filter: D3D11_VIDEO_PROCESSOR_FILTER,
27522        enable: bool,
27523        level: i32,
27524    ) where
27525        P0: windows_core::Param<ID3D11VideoProcessor>,
27526    {
27527        unsafe {
27528            (windows_core::Interface::vtable(self).VideoProcessorSetStreamFilter)(
27529                windows_core::Interface::as_raw(self),
27530                pvideoprocessor.param().abi(),
27531                streamindex,
27532                filter,
27533                enable.into(),
27534                level,
27535            )
27536        }
27537    }
27538    pub unsafe fn VideoProcessorSetStreamExtension<P0>(
27539        &self,
27540        pvideoprocessor: P0,
27541        streamindex: u32,
27542        pextensionguid: *const windows_core::GUID,
27543        datasize: u32,
27544        pdata: *const core::ffi::c_void,
27545    ) -> i32
27546    where
27547        P0: windows_core::Param<ID3D11VideoProcessor>,
27548    {
27549        unsafe {
27550            (windows_core::Interface::vtable(self).VideoProcessorSetStreamExtension)(
27551                windows_core::Interface::as_raw(self),
27552                pvideoprocessor.param().abi(),
27553                streamindex,
27554                pextensionguid,
27555                datasize,
27556                pdata,
27557            )
27558        }
27559    }
27560    pub unsafe fn VideoProcessorGetStreamFrameFormat<P0>(
27561        &self,
27562        pvideoprocessor: P0,
27563        streamindex: u32,
27564    ) -> D3D11_VIDEO_FRAME_FORMAT
27565    where
27566        P0: windows_core::Param<ID3D11VideoProcessor>,
27567    {
27568        unsafe {
27569            let mut result__ = core::mem::zeroed();
27570            (windows_core::Interface::vtable(self).VideoProcessorGetStreamFrameFormat)(
27571                windows_core::Interface::as_raw(self),
27572                pvideoprocessor.param().abi(),
27573                streamindex,
27574                &mut result__,
27575            );
27576            result__
27577        }
27578    }
27579    pub unsafe fn VideoProcessorGetStreamColorSpace<P0>(
27580        &self,
27581        pvideoprocessor: P0,
27582        streamindex: u32,
27583    ) -> D3D11_VIDEO_PROCESSOR_COLOR_SPACE
27584    where
27585        P0: windows_core::Param<ID3D11VideoProcessor>,
27586    {
27587        unsafe {
27588            let mut result__ = core::mem::zeroed();
27589            (windows_core::Interface::vtable(self).VideoProcessorGetStreamColorSpace)(
27590                windows_core::Interface::as_raw(self),
27591                pvideoprocessor.param().abi(),
27592                streamindex,
27593                &mut result__,
27594            );
27595            result__
27596        }
27597    }
27598    #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
27599    pub unsafe fn VideoProcessorGetStreamOutputRate<P0>(
27600        &self,
27601        pvideoprocessor: P0,
27602        streamindex: u32,
27603        poutputrate: *mut D3D11_VIDEO_PROCESSOR_OUTPUT_RATE,
27604        prepeatframe: *mut crate::Foundation::BOOL,
27605        pcustomrate: *mut crate::Dxgi::Common::DXGI_RATIONAL,
27606    ) where
27607        P0: windows_core::Param<ID3D11VideoProcessor>,
27608    {
27609        unsafe {
27610            (windows_core::Interface::vtable(self).VideoProcessorGetStreamOutputRate)(
27611                windows_core::Interface::as_raw(self),
27612                pvideoprocessor.param().abi(),
27613                streamindex,
27614                core::mem::transmute(poutputrate),
27615                core::mem::transmute(prepeatframe),
27616                core::mem::transmute(pcustomrate),
27617            )
27618        }
27619    }
27620    pub unsafe fn VideoProcessorGetStreamSourceRect<P0>(
27621        &self,
27622        pvideoprocessor: P0,
27623        streamindex: u32,
27624        penabled: *mut crate::Foundation::BOOL,
27625        prect: *mut crate::Foundation::RECT,
27626    ) where
27627        P0: windows_core::Param<ID3D11VideoProcessor>,
27628    {
27629        unsafe {
27630            (windows_core::Interface::vtable(self).VideoProcessorGetStreamSourceRect)(
27631                windows_core::Interface::as_raw(self),
27632                pvideoprocessor.param().abi(),
27633                streamindex,
27634                core::mem::transmute(penabled),
27635                core::mem::transmute(prect),
27636            )
27637        }
27638    }
27639    pub unsafe fn VideoProcessorGetStreamDestRect<P0>(
27640        &self,
27641        pvideoprocessor: P0,
27642        streamindex: u32,
27643        penabled: *mut crate::Foundation::BOOL,
27644        prect: *mut crate::Foundation::RECT,
27645    ) where
27646        P0: windows_core::Param<ID3D11VideoProcessor>,
27647    {
27648        unsafe {
27649            (windows_core::Interface::vtable(self).VideoProcessorGetStreamDestRect)(
27650                windows_core::Interface::as_raw(self),
27651                pvideoprocessor.param().abi(),
27652                streamindex,
27653                core::mem::transmute(penabled),
27654                core::mem::transmute(prect),
27655            )
27656        }
27657    }
27658    pub unsafe fn VideoProcessorGetStreamAlpha<P0>(
27659        &self,
27660        pvideoprocessor: P0,
27661        streamindex: u32,
27662        penabled: *mut crate::Foundation::BOOL,
27663        palpha: *mut f32,
27664    ) where
27665        P0: windows_core::Param<ID3D11VideoProcessor>,
27666    {
27667        unsafe {
27668            (windows_core::Interface::vtable(self).VideoProcessorGetStreamAlpha)(
27669                windows_core::Interface::as_raw(self),
27670                pvideoprocessor.param().abi(),
27671                streamindex,
27672                core::mem::transmute(penabled),
27673                core::mem::transmute(palpha),
27674            )
27675        }
27676    }
27677    pub unsafe fn VideoProcessorGetStreamPalette<P0>(
27678        &self,
27679        pvideoprocessor: P0,
27680        streamindex: u32,
27681        pentries: &mut [u32],
27682    ) where
27683        P0: windows_core::Param<ID3D11VideoProcessor>,
27684    {
27685        unsafe {
27686            (windows_core::Interface::vtable(self).VideoProcessorGetStreamPalette)(
27687                windows_core::Interface::as_raw(self),
27688                pvideoprocessor.param().abi(),
27689                streamindex,
27690                pentries.len().try_into().unwrap(),
27691                core::mem::transmute(pentries.as_ptr()),
27692            )
27693        }
27694    }
27695    #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
27696    pub unsafe fn VideoProcessorGetStreamPixelAspectRatio<P0>(
27697        &self,
27698        pvideoprocessor: P0,
27699        streamindex: u32,
27700        penabled: *mut crate::Foundation::BOOL,
27701        psourceaspectratio: *mut crate::Dxgi::Common::DXGI_RATIONAL,
27702        pdestinationaspectratio: *mut crate::Dxgi::Common::DXGI_RATIONAL,
27703    ) where
27704        P0: windows_core::Param<ID3D11VideoProcessor>,
27705    {
27706        unsafe {
27707            (windows_core::Interface::vtable(self).VideoProcessorGetStreamPixelAspectRatio)(
27708                windows_core::Interface::as_raw(self),
27709                pvideoprocessor.param().abi(),
27710                streamindex,
27711                core::mem::transmute(penabled),
27712                core::mem::transmute(psourceaspectratio),
27713                core::mem::transmute(pdestinationaspectratio),
27714            )
27715        }
27716    }
27717    pub unsafe fn VideoProcessorGetStreamLumaKey<P0>(
27718        &self,
27719        pvideoprocessor: P0,
27720        streamindex: u32,
27721        penabled: *mut crate::Foundation::BOOL,
27722        plower: *mut f32,
27723        pupper: *mut f32,
27724    ) where
27725        P0: windows_core::Param<ID3D11VideoProcessor>,
27726    {
27727        unsafe {
27728            (windows_core::Interface::vtable(self).VideoProcessorGetStreamLumaKey)(
27729                windows_core::Interface::as_raw(self),
27730                pvideoprocessor.param().abi(),
27731                streamindex,
27732                core::mem::transmute(penabled),
27733                core::mem::transmute(plower),
27734                core::mem::transmute(pupper),
27735            )
27736        }
27737    }
27738    pub unsafe fn VideoProcessorGetStreamStereoFormat<P0>(
27739        &self,
27740        pvideoprocessor: P0,
27741        streamindex: u32,
27742        penable: *mut crate::Foundation::BOOL,
27743        pformat: *mut D3D11_VIDEO_PROCESSOR_STEREO_FORMAT,
27744        pleftviewframe0: *mut crate::Foundation::BOOL,
27745        pbaseviewframe0: *mut crate::Foundation::BOOL,
27746        pflipmode: *mut D3D11_VIDEO_PROCESSOR_STEREO_FLIP_MODE,
27747        monooffset: *mut i32,
27748    ) where
27749        P0: windows_core::Param<ID3D11VideoProcessor>,
27750    {
27751        unsafe {
27752            (windows_core::Interface::vtable(self).VideoProcessorGetStreamStereoFormat)(
27753                windows_core::Interface::as_raw(self),
27754                pvideoprocessor.param().abi(),
27755                streamindex,
27756                core::mem::transmute(penable),
27757                core::mem::transmute(pformat),
27758                core::mem::transmute(pleftviewframe0),
27759                core::mem::transmute(pbaseviewframe0),
27760                core::mem::transmute(pflipmode),
27761                core::mem::transmute(monooffset),
27762            )
27763        }
27764    }
27765    pub unsafe fn VideoProcessorGetStreamAutoProcessingMode<P0>(
27766        &self,
27767        pvideoprocessor: P0,
27768        streamindex: u32,
27769    ) -> crate::Foundation::BOOL
27770    where
27771        P0: windows_core::Param<ID3D11VideoProcessor>,
27772    {
27773        unsafe {
27774            let mut result__ = core::mem::zeroed();
27775            (windows_core::Interface::vtable(self).VideoProcessorGetStreamAutoProcessingMode)(
27776                windows_core::Interface::as_raw(self),
27777                pvideoprocessor.param().abi(),
27778                streamindex,
27779                &mut result__,
27780            );
27781            result__
27782        }
27783    }
27784    pub unsafe fn VideoProcessorGetStreamFilter<P0>(
27785        &self,
27786        pvideoprocessor: P0,
27787        streamindex: u32,
27788        filter: D3D11_VIDEO_PROCESSOR_FILTER,
27789        penabled: *mut crate::Foundation::BOOL,
27790        plevel: *mut i32,
27791    ) where
27792        P0: windows_core::Param<ID3D11VideoProcessor>,
27793    {
27794        unsafe {
27795            (windows_core::Interface::vtable(self).VideoProcessorGetStreamFilter)(
27796                windows_core::Interface::as_raw(self),
27797                pvideoprocessor.param().abi(),
27798                streamindex,
27799                filter,
27800                core::mem::transmute(penabled),
27801                core::mem::transmute(plevel),
27802            )
27803        }
27804    }
27805    pub unsafe fn VideoProcessorGetStreamExtension<P0>(
27806        &self,
27807        pvideoprocessor: P0,
27808        streamindex: u32,
27809        pextensionguid: *const windows_core::GUID,
27810        datasize: u32,
27811        pdata: *mut core::ffi::c_void,
27812    ) -> i32
27813    where
27814        P0: windows_core::Param<ID3D11VideoProcessor>,
27815    {
27816        unsafe {
27817            (windows_core::Interface::vtable(self).VideoProcessorGetStreamExtension)(
27818                windows_core::Interface::as_raw(self),
27819                pvideoprocessor.param().abi(),
27820                streamindex,
27821                pextensionguid,
27822                datasize,
27823                core::mem::transmute(pdata),
27824            )
27825        }
27826    }
27827    pub unsafe fn VideoProcessorBlt<P0, P1>(
27828        &self,
27829        pvideoprocessor: P0,
27830        pview: P1,
27831        outputframe: u32,
27832        pstreams: &[D3D11_VIDEO_PROCESSOR_STREAM],
27833    ) -> windows_core::Result<()>
27834    where
27835        P0: windows_core::Param<ID3D11VideoProcessor>,
27836        P1: windows_core::Param<ID3D11VideoProcessorOutputView>,
27837    {
27838        unsafe {
27839            (windows_core::Interface::vtable(self).VideoProcessorBlt)(
27840                windows_core::Interface::as_raw(self),
27841                pvideoprocessor.param().abi(),
27842                pview.param().abi(),
27843                outputframe,
27844                pstreams.len().try_into().unwrap(),
27845                core::mem::transmute(pstreams.as_ptr()),
27846            )
27847            .ok()
27848        }
27849    }
27850    pub unsafe fn NegotiateCryptoSessionKeyExchange<P0>(
27851        &self,
27852        pcryptosession: P0,
27853        datasize: u32,
27854        pdata: *mut core::ffi::c_void,
27855    ) -> windows_core::Result<()>
27856    where
27857        P0: windows_core::Param<ID3D11CryptoSession>,
27858    {
27859        unsafe {
27860            (windows_core::Interface::vtable(self).NegotiateCryptoSessionKeyExchange)(
27861                windows_core::Interface::as_raw(self),
27862                pcryptosession.param().abi(),
27863                datasize,
27864                core::mem::transmute(pdata),
27865            )
27866            .ok()
27867        }
27868    }
27869    pub unsafe fn EncryptionBlt<P0, P1, P2>(
27870        &self,
27871        pcryptosession: P0,
27872        psrcsurface: P1,
27873        pdstsurface: P2,
27874        ivsize: u32,
27875        piv: Option<*mut core::ffi::c_void>,
27876    ) where
27877        P0: windows_core::Param<ID3D11CryptoSession>,
27878        P1: windows_core::Param<ID3D11Texture2D>,
27879        P2: windows_core::Param<ID3D11Texture2D>,
27880    {
27881        unsafe {
27882            (windows_core::Interface::vtable(self).EncryptionBlt)(
27883                windows_core::Interface::as_raw(self),
27884                pcryptosession.param().abi(),
27885                psrcsurface.param().abi(),
27886                pdstsurface.param().abi(),
27887                ivsize,
27888                core::mem::transmute(piv.unwrap_or(core::mem::zeroed())),
27889            )
27890        }
27891    }
27892    pub unsafe fn DecryptionBlt<P0, P1, P2>(
27893        &self,
27894        pcryptosession: P0,
27895        psrcsurface: P1,
27896        pdstsurface: P2,
27897        pencryptedblockinfo: Option<*const D3D11_ENCRYPTED_BLOCK_INFO>,
27898        contentkeysize: u32,
27899        pcontentkey: Option<*const core::ffi::c_void>,
27900        ivsize: u32,
27901        piv: Option<*mut core::ffi::c_void>,
27902    ) where
27903        P0: windows_core::Param<ID3D11CryptoSession>,
27904        P1: windows_core::Param<ID3D11Texture2D>,
27905        P2: windows_core::Param<ID3D11Texture2D>,
27906    {
27907        unsafe {
27908            (windows_core::Interface::vtable(self).DecryptionBlt)(
27909                windows_core::Interface::as_raw(self),
27910                pcryptosession.param().abi(),
27911                psrcsurface.param().abi(),
27912                pdstsurface.param().abi(),
27913                core::mem::transmute(pencryptedblockinfo.unwrap_or(core::mem::zeroed())),
27914                contentkeysize,
27915                core::mem::transmute(pcontentkey.unwrap_or(core::mem::zeroed())),
27916                ivsize,
27917                core::mem::transmute(piv.unwrap_or(core::mem::zeroed())),
27918            )
27919        }
27920    }
27921    pub unsafe fn StartSessionKeyRefresh<P0>(
27922        &self,
27923        pcryptosession: P0,
27924        randomnumbersize: u32,
27925        prandomnumber: *mut core::ffi::c_void,
27926    ) where
27927        P0: windows_core::Param<ID3D11CryptoSession>,
27928    {
27929        unsafe {
27930            (windows_core::Interface::vtable(self).StartSessionKeyRefresh)(
27931                windows_core::Interface::as_raw(self),
27932                pcryptosession.param().abi(),
27933                randomnumbersize,
27934                core::mem::transmute(prandomnumber),
27935            )
27936        }
27937    }
27938    pub unsafe fn FinishSessionKeyRefresh<P0>(&self, pcryptosession: P0)
27939    where
27940        P0: windows_core::Param<ID3D11CryptoSession>,
27941    {
27942        unsafe {
27943            (windows_core::Interface::vtable(self).FinishSessionKeyRefresh)(
27944                windows_core::Interface::as_raw(self),
27945                pcryptosession.param().abi(),
27946            )
27947        }
27948    }
27949    pub unsafe fn GetEncryptionBltKey<P0>(
27950        &self,
27951        pcryptosession: P0,
27952        keysize: u32,
27953        preadbackkey: *mut core::ffi::c_void,
27954    ) -> windows_core::Result<()>
27955    where
27956        P0: windows_core::Param<ID3D11CryptoSession>,
27957    {
27958        unsafe {
27959            (windows_core::Interface::vtable(self).GetEncryptionBltKey)(
27960                windows_core::Interface::as_raw(self),
27961                pcryptosession.param().abi(),
27962                keysize,
27963                core::mem::transmute(preadbackkey),
27964            )
27965            .ok()
27966        }
27967    }
27968    pub unsafe fn NegotiateAuthenticatedChannelKeyExchange<P0>(
27969        &self,
27970        pchannel: P0,
27971        datasize: u32,
27972        pdata: *mut core::ffi::c_void,
27973    ) -> windows_core::Result<()>
27974    where
27975        P0: windows_core::Param<ID3D11AuthenticatedChannel>,
27976    {
27977        unsafe {
27978            (windows_core::Interface::vtable(self).NegotiateAuthenticatedChannelKeyExchange)(
27979                windows_core::Interface::as_raw(self),
27980                pchannel.param().abi(),
27981                datasize,
27982                core::mem::transmute(pdata),
27983            )
27984            .ok()
27985        }
27986    }
27987    pub unsafe fn QueryAuthenticatedChannel<P0>(
27988        &self,
27989        pchannel: P0,
27990        inputsize: u32,
27991        pinput: *const core::ffi::c_void,
27992        outputsize: u32,
27993        poutput: *mut core::ffi::c_void,
27994    ) -> windows_core::Result<()>
27995    where
27996        P0: windows_core::Param<ID3D11AuthenticatedChannel>,
27997    {
27998        unsafe {
27999            (windows_core::Interface::vtable(self).QueryAuthenticatedChannel)(
28000                windows_core::Interface::as_raw(self),
28001                pchannel.param().abi(),
28002                inputsize,
28003                pinput,
28004                outputsize,
28005                core::mem::transmute(poutput),
28006            )
28007            .ok()
28008        }
28009    }
28010    pub unsafe fn ConfigureAuthenticatedChannel<P0>(
28011        &self,
28012        pchannel: P0,
28013        inputsize: u32,
28014        pinput: *const core::ffi::c_void,
28015        poutput: *mut D3D11_AUTHENTICATED_CONFIGURE_OUTPUT,
28016    ) -> windows_core::Result<()>
28017    where
28018        P0: windows_core::Param<ID3D11AuthenticatedChannel>,
28019    {
28020        unsafe {
28021            (windows_core::Interface::vtable(self).ConfigureAuthenticatedChannel)(
28022                windows_core::Interface::as_raw(self),
28023                pchannel.param().abi(),
28024                inputsize,
28025                pinput,
28026                core::mem::transmute(poutput),
28027            )
28028            .ok()
28029        }
28030    }
28031    pub unsafe fn VideoProcessorSetStreamRotation<P0>(
28032        &self,
28033        pvideoprocessor: P0,
28034        streamindex: u32,
28035        enable: bool,
28036        rotation: D3D11_VIDEO_PROCESSOR_ROTATION,
28037    ) where
28038        P0: windows_core::Param<ID3D11VideoProcessor>,
28039    {
28040        unsafe {
28041            (windows_core::Interface::vtable(self).VideoProcessorSetStreamRotation)(
28042                windows_core::Interface::as_raw(self),
28043                pvideoprocessor.param().abi(),
28044                streamindex,
28045                enable.into(),
28046                rotation,
28047            )
28048        }
28049    }
28050    pub unsafe fn VideoProcessorGetStreamRotation<P0>(
28051        &self,
28052        pvideoprocessor: P0,
28053        streamindex: u32,
28054        penable: *mut crate::Foundation::BOOL,
28055        protation: *mut D3D11_VIDEO_PROCESSOR_ROTATION,
28056    ) where
28057        P0: windows_core::Param<ID3D11VideoProcessor>,
28058    {
28059        unsafe {
28060            (windows_core::Interface::vtable(self).VideoProcessorGetStreamRotation)(
28061                windows_core::Interface::as_raw(self),
28062                pvideoprocessor.param().abi(),
28063                streamindex,
28064                core::mem::transmute(penable),
28065                core::mem::transmute(protation),
28066            )
28067        }
28068    }
28069}
28070#[repr(C)]
28071pub struct ID3D11VideoContext_Vtbl {
28072    pub base__: ID3D11DeviceChild_Vtbl,
28073    pub GetDecoderBuffer: unsafe extern "system" fn(
28074        *mut core::ffi::c_void,
28075        *mut core::ffi::c_void,
28076        D3D11_VIDEO_DECODER_BUFFER_TYPE,
28077        *mut u32,
28078        *mut *mut core::ffi::c_void,
28079    ) -> windows_core::HRESULT,
28080    pub ReleaseDecoderBuffer: unsafe extern "system" fn(
28081        *mut core::ffi::c_void,
28082        *mut core::ffi::c_void,
28083        D3D11_VIDEO_DECODER_BUFFER_TYPE,
28084    ) -> windows_core::HRESULT,
28085    pub DecoderBeginFrame: unsafe extern "system" fn(
28086        *mut core::ffi::c_void,
28087        *mut core::ffi::c_void,
28088        *mut core::ffi::c_void,
28089        u32,
28090        *const core::ffi::c_void,
28091    ) -> windows_core::HRESULT,
28092    pub DecoderEndFrame: unsafe extern "system" fn(
28093        *mut core::ffi::c_void,
28094        *mut core::ffi::c_void,
28095    ) -> windows_core::HRESULT,
28096    pub SubmitDecoderBuffers: unsafe extern "system" fn(
28097        *mut core::ffi::c_void,
28098        *mut core::ffi::c_void,
28099        u32,
28100        *const D3D11_VIDEO_DECODER_BUFFER_DESC,
28101    ) -> windows_core::HRESULT,
28102    pub DecoderExtension: unsafe extern "system" fn(
28103        *mut core::ffi::c_void,
28104        *mut core::ffi::c_void,
28105        *const D3D11_VIDEO_DECODER_EXTENSION,
28106    ) -> i32,
28107    pub VideoProcessorSetOutputTargetRect: unsafe extern "system" fn(
28108        *mut core::ffi::c_void,
28109        *mut core::ffi::c_void,
28110        crate::Foundation::BOOL,
28111        *const crate::Foundation::RECT,
28112    ),
28113    pub VideoProcessorSetOutputBackgroundColor: unsafe extern "system" fn(
28114        *mut core::ffi::c_void,
28115        *mut core::ffi::c_void,
28116        crate::Foundation::BOOL,
28117        *const D3D11_VIDEO_COLOR,
28118    ),
28119    pub VideoProcessorSetOutputColorSpace: unsafe extern "system" fn(
28120        *mut core::ffi::c_void,
28121        *mut core::ffi::c_void,
28122        *const D3D11_VIDEO_PROCESSOR_COLOR_SPACE,
28123    ),
28124    pub VideoProcessorSetOutputAlphaFillMode: unsafe extern "system" fn(
28125        *mut core::ffi::c_void,
28126        *mut core::ffi::c_void,
28127        D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE,
28128        u32,
28129    ),
28130    pub VideoProcessorSetOutputConstriction: unsafe extern "system" fn(
28131        *mut core::ffi::c_void,
28132        *mut core::ffi::c_void,
28133        crate::Foundation::BOOL,
28134        crate::Foundation::SIZE,
28135    ),
28136    pub VideoProcessorSetOutputStereoMode: unsafe extern "system" fn(
28137        *mut core::ffi::c_void,
28138        *mut core::ffi::c_void,
28139        crate::Foundation::BOOL,
28140    ),
28141    pub VideoProcessorSetOutputExtension: unsafe extern "system" fn(
28142        *mut core::ffi::c_void,
28143        *mut core::ffi::c_void,
28144        *const windows_core::GUID,
28145        u32,
28146        *const core::ffi::c_void,
28147    ) -> i32,
28148    pub VideoProcessorGetOutputTargetRect: unsafe extern "system" fn(
28149        *mut core::ffi::c_void,
28150        *mut core::ffi::c_void,
28151        *mut crate::Foundation::BOOL,
28152        *mut crate::Foundation::RECT,
28153    ),
28154    pub VideoProcessorGetOutputBackgroundColor: unsafe extern "system" fn(
28155        *mut core::ffi::c_void,
28156        *mut core::ffi::c_void,
28157        *mut crate::Foundation::BOOL,
28158        *mut D3D11_VIDEO_COLOR,
28159    ),
28160    pub VideoProcessorGetOutputColorSpace: unsafe extern "system" fn(
28161        *mut core::ffi::c_void,
28162        *mut core::ffi::c_void,
28163        *mut D3D11_VIDEO_PROCESSOR_COLOR_SPACE,
28164    ),
28165    pub VideoProcessorGetOutputAlphaFillMode: unsafe extern "system" fn(
28166        *mut core::ffi::c_void,
28167        *mut core::ffi::c_void,
28168        *mut D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE,
28169        *mut u32,
28170    ),
28171    pub VideoProcessorGetOutputConstriction: unsafe extern "system" fn(
28172        *mut core::ffi::c_void,
28173        *mut core::ffi::c_void,
28174        *mut crate::Foundation::BOOL,
28175        *mut crate::Foundation::SIZE,
28176    ),
28177    pub VideoProcessorGetOutputStereoMode: unsafe extern "system" fn(
28178        *mut core::ffi::c_void,
28179        *mut core::ffi::c_void,
28180        *mut crate::Foundation::BOOL,
28181    ),
28182    pub VideoProcessorGetOutputExtension: unsafe extern "system" fn(
28183        *mut core::ffi::c_void,
28184        *mut core::ffi::c_void,
28185        *const windows_core::GUID,
28186        u32,
28187        *mut core::ffi::c_void,
28188    ) -> i32,
28189    pub VideoProcessorSetStreamFrameFormat: unsafe extern "system" fn(
28190        *mut core::ffi::c_void,
28191        *mut core::ffi::c_void,
28192        u32,
28193        D3D11_VIDEO_FRAME_FORMAT,
28194    ),
28195    pub VideoProcessorSetStreamColorSpace: unsafe extern "system" fn(
28196        *mut core::ffi::c_void,
28197        *mut core::ffi::c_void,
28198        u32,
28199        *const D3D11_VIDEO_PROCESSOR_COLOR_SPACE,
28200    ),
28201    #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
28202    pub VideoProcessorSetStreamOutputRate: unsafe extern "system" fn(
28203        *mut core::ffi::c_void,
28204        *mut core::ffi::c_void,
28205        u32,
28206        D3D11_VIDEO_PROCESSOR_OUTPUT_RATE,
28207        crate::Foundation::BOOL,
28208        *const crate::Dxgi::Common::DXGI_RATIONAL,
28209    ),
28210    #[cfg(not(feature = "Win32_Graphics_Dxgi_Common"))]
28211    VideoProcessorSetStreamOutputRate: usize,
28212    pub VideoProcessorSetStreamSourceRect: unsafe extern "system" fn(
28213        *mut core::ffi::c_void,
28214        *mut core::ffi::c_void,
28215        u32,
28216        crate::Foundation::BOOL,
28217        *const crate::Foundation::RECT,
28218    ),
28219    pub VideoProcessorSetStreamDestRect: unsafe extern "system" fn(
28220        *mut core::ffi::c_void,
28221        *mut core::ffi::c_void,
28222        u32,
28223        crate::Foundation::BOOL,
28224        *const crate::Foundation::RECT,
28225    ),
28226    pub VideoProcessorSetStreamAlpha: unsafe extern "system" fn(
28227        *mut core::ffi::c_void,
28228        *mut core::ffi::c_void,
28229        u32,
28230        crate::Foundation::BOOL,
28231        f32,
28232    ),
28233    pub VideoProcessorSetStreamPalette: unsafe extern "system" fn(
28234        *mut core::ffi::c_void,
28235        *mut core::ffi::c_void,
28236        u32,
28237        u32,
28238        *const u32,
28239    ),
28240    #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
28241    pub VideoProcessorSetStreamPixelAspectRatio: unsafe extern "system" fn(
28242        *mut core::ffi::c_void,
28243        *mut core::ffi::c_void,
28244        u32,
28245        crate::Foundation::BOOL,
28246        *const crate::Dxgi::Common::DXGI_RATIONAL,
28247        *const crate::Dxgi::Common::DXGI_RATIONAL,
28248    ),
28249    #[cfg(not(feature = "Win32_Graphics_Dxgi_Common"))]
28250    VideoProcessorSetStreamPixelAspectRatio: usize,
28251    pub VideoProcessorSetStreamLumaKey: unsafe extern "system" fn(
28252        *mut core::ffi::c_void,
28253        *mut core::ffi::c_void,
28254        u32,
28255        crate::Foundation::BOOL,
28256        f32,
28257        f32,
28258    ),
28259    pub VideoProcessorSetStreamStereoFormat: unsafe extern "system" fn(
28260        *mut core::ffi::c_void,
28261        *mut core::ffi::c_void,
28262        u32,
28263        crate::Foundation::BOOL,
28264        D3D11_VIDEO_PROCESSOR_STEREO_FORMAT,
28265        crate::Foundation::BOOL,
28266        crate::Foundation::BOOL,
28267        D3D11_VIDEO_PROCESSOR_STEREO_FLIP_MODE,
28268        i32,
28269    ),
28270    pub VideoProcessorSetStreamAutoProcessingMode: unsafe extern "system" fn(
28271        *mut core::ffi::c_void,
28272        *mut core::ffi::c_void,
28273        u32,
28274        crate::Foundation::BOOL,
28275    ),
28276    pub VideoProcessorSetStreamFilter: unsafe extern "system" fn(
28277        *mut core::ffi::c_void,
28278        *mut core::ffi::c_void,
28279        u32,
28280        D3D11_VIDEO_PROCESSOR_FILTER,
28281        crate::Foundation::BOOL,
28282        i32,
28283    ),
28284    pub VideoProcessorSetStreamExtension: unsafe extern "system" fn(
28285        *mut core::ffi::c_void,
28286        *mut core::ffi::c_void,
28287        u32,
28288        *const windows_core::GUID,
28289        u32,
28290        *const core::ffi::c_void,
28291    ) -> i32,
28292    pub VideoProcessorGetStreamFrameFormat: unsafe extern "system" fn(
28293        *mut core::ffi::c_void,
28294        *mut core::ffi::c_void,
28295        u32,
28296        *mut D3D11_VIDEO_FRAME_FORMAT,
28297    ),
28298    pub VideoProcessorGetStreamColorSpace: unsafe extern "system" fn(
28299        *mut core::ffi::c_void,
28300        *mut core::ffi::c_void,
28301        u32,
28302        *mut D3D11_VIDEO_PROCESSOR_COLOR_SPACE,
28303    ),
28304    #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
28305    pub VideoProcessorGetStreamOutputRate: unsafe extern "system" fn(
28306        *mut core::ffi::c_void,
28307        *mut core::ffi::c_void,
28308        u32,
28309        *mut D3D11_VIDEO_PROCESSOR_OUTPUT_RATE,
28310        *mut crate::Foundation::BOOL,
28311        *mut crate::Dxgi::Common::DXGI_RATIONAL,
28312    ),
28313    #[cfg(not(feature = "Win32_Graphics_Dxgi_Common"))]
28314    VideoProcessorGetStreamOutputRate: usize,
28315    pub VideoProcessorGetStreamSourceRect: unsafe extern "system" fn(
28316        *mut core::ffi::c_void,
28317        *mut core::ffi::c_void,
28318        u32,
28319        *mut crate::Foundation::BOOL,
28320        *mut crate::Foundation::RECT,
28321    ),
28322    pub VideoProcessorGetStreamDestRect: unsafe extern "system" fn(
28323        *mut core::ffi::c_void,
28324        *mut core::ffi::c_void,
28325        u32,
28326        *mut crate::Foundation::BOOL,
28327        *mut crate::Foundation::RECT,
28328    ),
28329    pub VideoProcessorGetStreamAlpha: unsafe extern "system" fn(
28330        *mut core::ffi::c_void,
28331        *mut core::ffi::c_void,
28332        u32,
28333        *mut crate::Foundation::BOOL,
28334        *mut f32,
28335    ),
28336    pub VideoProcessorGetStreamPalette: unsafe extern "system" fn(
28337        *mut core::ffi::c_void,
28338        *mut core::ffi::c_void,
28339        u32,
28340        u32,
28341        *mut u32,
28342    ),
28343    #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
28344    pub VideoProcessorGetStreamPixelAspectRatio: unsafe extern "system" fn(
28345        *mut core::ffi::c_void,
28346        *mut core::ffi::c_void,
28347        u32,
28348        *mut crate::Foundation::BOOL,
28349        *mut crate::Dxgi::Common::DXGI_RATIONAL,
28350        *mut crate::Dxgi::Common::DXGI_RATIONAL,
28351    ),
28352    #[cfg(not(feature = "Win32_Graphics_Dxgi_Common"))]
28353    VideoProcessorGetStreamPixelAspectRatio: usize,
28354    pub VideoProcessorGetStreamLumaKey: unsafe extern "system" fn(
28355        *mut core::ffi::c_void,
28356        *mut core::ffi::c_void,
28357        u32,
28358        *mut crate::Foundation::BOOL,
28359        *mut f32,
28360        *mut f32,
28361    ),
28362    pub VideoProcessorGetStreamStereoFormat: unsafe extern "system" fn(
28363        *mut core::ffi::c_void,
28364        *mut core::ffi::c_void,
28365        u32,
28366        *mut crate::Foundation::BOOL,
28367        *mut D3D11_VIDEO_PROCESSOR_STEREO_FORMAT,
28368        *mut crate::Foundation::BOOL,
28369        *mut crate::Foundation::BOOL,
28370        *mut D3D11_VIDEO_PROCESSOR_STEREO_FLIP_MODE,
28371        *mut i32,
28372    ),
28373    pub VideoProcessorGetStreamAutoProcessingMode: unsafe extern "system" fn(
28374        *mut core::ffi::c_void,
28375        *mut core::ffi::c_void,
28376        u32,
28377        *mut crate::Foundation::BOOL,
28378    ),
28379    pub VideoProcessorGetStreamFilter: unsafe extern "system" fn(
28380        *mut core::ffi::c_void,
28381        *mut core::ffi::c_void,
28382        u32,
28383        D3D11_VIDEO_PROCESSOR_FILTER,
28384        *mut crate::Foundation::BOOL,
28385        *mut i32,
28386    ),
28387    pub VideoProcessorGetStreamExtension: unsafe extern "system" fn(
28388        *mut core::ffi::c_void,
28389        *mut core::ffi::c_void,
28390        u32,
28391        *const windows_core::GUID,
28392        u32,
28393        *mut core::ffi::c_void,
28394    ) -> i32,
28395    pub VideoProcessorBlt: unsafe extern "system" fn(
28396        *mut core::ffi::c_void,
28397        *mut core::ffi::c_void,
28398        *mut core::ffi::c_void,
28399        u32,
28400        u32,
28401        *const D3D11_VIDEO_PROCESSOR_STREAM,
28402    ) -> windows_core::HRESULT,
28403    pub NegotiateCryptoSessionKeyExchange: unsafe extern "system" fn(
28404        *mut core::ffi::c_void,
28405        *mut core::ffi::c_void,
28406        u32,
28407        *mut core::ffi::c_void,
28408    ) -> windows_core::HRESULT,
28409    pub EncryptionBlt: unsafe extern "system" fn(
28410        *mut core::ffi::c_void,
28411        *mut core::ffi::c_void,
28412        *mut core::ffi::c_void,
28413        *mut core::ffi::c_void,
28414        u32,
28415        *mut core::ffi::c_void,
28416    ),
28417    pub DecryptionBlt: unsafe extern "system" fn(
28418        *mut core::ffi::c_void,
28419        *mut core::ffi::c_void,
28420        *mut core::ffi::c_void,
28421        *mut core::ffi::c_void,
28422        *const D3D11_ENCRYPTED_BLOCK_INFO,
28423        u32,
28424        *const core::ffi::c_void,
28425        u32,
28426        *mut core::ffi::c_void,
28427    ),
28428    pub StartSessionKeyRefresh: unsafe extern "system" fn(
28429        *mut core::ffi::c_void,
28430        *mut core::ffi::c_void,
28431        u32,
28432        *mut core::ffi::c_void,
28433    ),
28434    pub FinishSessionKeyRefresh:
28435        unsafe extern "system" fn(*mut core::ffi::c_void, *mut core::ffi::c_void),
28436    pub GetEncryptionBltKey: unsafe extern "system" fn(
28437        *mut core::ffi::c_void,
28438        *mut core::ffi::c_void,
28439        u32,
28440        *mut core::ffi::c_void,
28441    ) -> windows_core::HRESULT,
28442    pub NegotiateAuthenticatedChannelKeyExchange:
28443        unsafe extern "system" fn(
28444            *mut core::ffi::c_void,
28445            *mut core::ffi::c_void,
28446            u32,
28447            *mut core::ffi::c_void,
28448        ) -> windows_core::HRESULT,
28449    pub QueryAuthenticatedChannel: unsafe extern "system" fn(
28450        *mut core::ffi::c_void,
28451        *mut core::ffi::c_void,
28452        u32,
28453        *const core::ffi::c_void,
28454        u32,
28455        *mut core::ffi::c_void,
28456    ) -> windows_core::HRESULT,
28457    pub ConfigureAuthenticatedChannel: unsafe extern "system" fn(
28458        *mut core::ffi::c_void,
28459        *mut core::ffi::c_void,
28460        u32,
28461        *const core::ffi::c_void,
28462        *mut D3D11_AUTHENTICATED_CONFIGURE_OUTPUT,
28463    ) -> windows_core::HRESULT,
28464    pub VideoProcessorSetStreamRotation: unsafe extern "system" fn(
28465        *mut core::ffi::c_void,
28466        *mut core::ffi::c_void,
28467        u32,
28468        crate::Foundation::BOOL,
28469        D3D11_VIDEO_PROCESSOR_ROTATION,
28470    ),
28471    pub VideoProcessorGetStreamRotation: unsafe extern "system" fn(
28472        *mut core::ffi::c_void,
28473        *mut core::ffi::c_void,
28474        u32,
28475        *mut crate::Foundation::BOOL,
28476        *mut D3D11_VIDEO_PROCESSOR_ROTATION,
28477    ),
28478}
28479#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
28480pub trait ID3D11VideoContext_Impl: ID3D11DeviceChild_Impl {
28481    fn GetDecoderBuffer(
28482        &self,
28483        pdecoder: windows_core::Ref<'_, ID3D11VideoDecoder>,
28484        r#type: D3D11_VIDEO_DECODER_BUFFER_TYPE,
28485        pbuffersize: *mut u32,
28486        ppbuffer: *mut *mut core::ffi::c_void,
28487    ) -> windows_core::Result<()>;
28488    fn ReleaseDecoderBuffer(
28489        &self,
28490        pdecoder: windows_core::Ref<'_, ID3D11VideoDecoder>,
28491        r#type: D3D11_VIDEO_DECODER_BUFFER_TYPE,
28492    ) -> windows_core::Result<()>;
28493    fn DecoderBeginFrame(
28494        &self,
28495        pdecoder: windows_core::Ref<'_, ID3D11VideoDecoder>,
28496        pview: windows_core::Ref<'_, ID3D11VideoDecoderOutputView>,
28497        contentkeysize: u32,
28498        pcontentkey: *const core::ffi::c_void,
28499    ) -> windows_core::Result<()>;
28500    fn DecoderEndFrame(
28501        &self,
28502        pdecoder: windows_core::Ref<'_, ID3D11VideoDecoder>,
28503    ) -> windows_core::Result<()>;
28504    fn SubmitDecoderBuffers(
28505        &self,
28506        pdecoder: windows_core::Ref<'_, ID3D11VideoDecoder>,
28507        numbuffers: u32,
28508        pbufferdesc: *const D3D11_VIDEO_DECODER_BUFFER_DESC,
28509    ) -> windows_core::Result<()>;
28510    fn DecoderExtension(
28511        &self,
28512        pdecoder: windows_core::Ref<'_, ID3D11VideoDecoder>,
28513        pextensiondata: *const D3D11_VIDEO_DECODER_EXTENSION,
28514    ) -> i32;
28515    fn VideoProcessorSetOutputTargetRect(
28516        &self,
28517        pvideoprocessor: windows_core::Ref<'_, ID3D11VideoProcessor>,
28518        enable: crate::Foundation::BOOL,
28519        prect: *const crate::Foundation::RECT,
28520    );
28521    fn VideoProcessorSetOutputBackgroundColor(
28522        &self,
28523        pvideoprocessor: windows_core::Ref<'_, ID3D11VideoProcessor>,
28524        ycbcr: crate::Foundation::BOOL,
28525        pcolor: *const D3D11_VIDEO_COLOR,
28526    );
28527    fn VideoProcessorSetOutputColorSpace(
28528        &self,
28529        pvideoprocessor: windows_core::Ref<'_, ID3D11VideoProcessor>,
28530        pcolorspace: *const D3D11_VIDEO_PROCESSOR_COLOR_SPACE,
28531    );
28532    fn VideoProcessorSetOutputAlphaFillMode(
28533        &self,
28534        pvideoprocessor: windows_core::Ref<'_, ID3D11VideoProcessor>,
28535        alphafillmode: D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE,
28536        streamindex: u32,
28537    );
28538    fn VideoProcessorSetOutputConstriction(
28539        &self,
28540        pvideoprocessor: windows_core::Ref<'_, ID3D11VideoProcessor>,
28541        enable: crate::Foundation::BOOL,
28542        size: &crate::Foundation::SIZE,
28543    );
28544    fn VideoProcessorSetOutputStereoMode(
28545        &self,
28546        pvideoprocessor: windows_core::Ref<'_, ID3D11VideoProcessor>,
28547        enable: crate::Foundation::BOOL,
28548    );
28549    fn VideoProcessorSetOutputExtension(
28550        &self,
28551        pvideoprocessor: windows_core::Ref<'_, ID3D11VideoProcessor>,
28552        pextensionguid: *const windows_core::GUID,
28553        datasize: u32,
28554        pdata: *const core::ffi::c_void,
28555    ) -> i32;
28556    fn VideoProcessorGetOutputTargetRect(
28557        &self,
28558        pvideoprocessor: windows_core::Ref<'_, ID3D11VideoProcessor>,
28559        enabled: *mut crate::Foundation::BOOL,
28560        prect: *mut crate::Foundation::RECT,
28561    );
28562    fn VideoProcessorGetOutputBackgroundColor(
28563        &self,
28564        pvideoprocessor: windows_core::Ref<'_, ID3D11VideoProcessor>,
28565        pycbcr: *mut crate::Foundation::BOOL,
28566        pcolor: *mut D3D11_VIDEO_COLOR,
28567    );
28568    fn VideoProcessorGetOutputColorSpace(
28569        &self,
28570        pvideoprocessor: windows_core::Ref<'_, ID3D11VideoProcessor>,
28571        pcolorspace: *mut D3D11_VIDEO_PROCESSOR_COLOR_SPACE,
28572    );
28573    fn VideoProcessorGetOutputAlphaFillMode(
28574        &self,
28575        pvideoprocessor: windows_core::Ref<'_, ID3D11VideoProcessor>,
28576        palphafillmode: *mut D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE,
28577        pstreamindex: *mut u32,
28578    );
28579    fn VideoProcessorGetOutputConstriction(
28580        &self,
28581        pvideoprocessor: windows_core::Ref<'_, ID3D11VideoProcessor>,
28582        penabled: *mut crate::Foundation::BOOL,
28583        psize: *mut crate::Foundation::SIZE,
28584    );
28585    fn VideoProcessorGetOutputStereoMode(
28586        &self,
28587        pvideoprocessor: windows_core::Ref<'_, ID3D11VideoProcessor>,
28588        penabled: *mut crate::Foundation::BOOL,
28589    );
28590    fn VideoProcessorGetOutputExtension(
28591        &self,
28592        pvideoprocessor: windows_core::Ref<'_, ID3D11VideoProcessor>,
28593        pextensionguid: *const windows_core::GUID,
28594        datasize: u32,
28595        pdata: *mut core::ffi::c_void,
28596    ) -> i32;
28597    fn VideoProcessorSetStreamFrameFormat(
28598        &self,
28599        pvideoprocessor: windows_core::Ref<'_, ID3D11VideoProcessor>,
28600        streamindex: u32,
28601        frameformat: D3D11_VIDEO_FRAME_FORMAT,
28602    );
28603    fn VideoProcessorSetStreamColorSpace(
28604        &self,
28605        pvideoprocessor: windows_core::Ref<'_, ID3D11VideoProcessor>,
28606        streamindex: u32,
28607        pcolorspace: *const D3D11_VIDEO_PROCESSOR_COLOR_SPACE,
28608    );
28609    fn VideoProcessorSetStreamOutputRate(
28610        &self,
28611        pvideoprocessor: windows_core::Ref<'_, ID3D11VideoProcessor>,
28612        streamindex: u32,
28613        outputrate: D3D11_VIDEO_PROCESSOR_OUTPUT_RATE,
28614        repeatframe: crate::Foundation::BOOL,
28615        pcustomrate: *const crate::Dxgi::Common::DXGI_RATIONAL,
28616    );
28617    fn VideoProcessorSetStreamSourceRect(
28618        &self,
28619        pvideoprocessor: windows_core::Ref<'_, ID3D11VideoProcessor>,
28620        streamindex: u32,
28621        enable: crate::Foundation::BOOL,
28622        prect: *const crate::Foundation::RECT,
28623    );
28624    fn VideoProcessorSetStreamDestRect(
28625        &self,
28626        pvideoprocessor: windows_core::Ref<'_, ID3D11VideoProcessor>,
28627        streamindex: u32,
28628        enable: crate::Foundation::BOOL,
28629        prect: *const crate::Foundation::RECT,
28630    );
28631    fn VideoProcessorSetStreamAlpha(
28632        &self,
28633        pvideoprocessor: windows_core::Ref<'_, ID3D11VideoProcessor>,
28634        streamindex: u32,
28635        enable: crate::Foundation::BOOL,
28636        alpha: f32,
28637    );
28638    fn VideoProcessorSetStreamPalette(
28639        &self,
28640        pvideoprocessor: windows_core::Ref<'_, ID3D11VideoProcessor>,
28641        streamindex: u32,
28642        count: u32,
28643        pentries: *const u32,
28644    );
28645    fn VideoProcessorSetStreamPixelAspectRatio(
28646        &self,
28647        pvideoprocessor: windows_core::Ref<'_, ID3D11VideoProcessor>,
28648        streamindex: u32,
28649        enable: crate::Foundation::BOOL,
28650        psourceaspectratio: *const crate::Dxgi::Common::DXGI_RATIONAL,
28651        pdestinationaspectratio: *const crate::Dxgi::Common::DXGI_RATIONAL,
28652    );
28653    fn VideoProcessorSetStreamLumaKey(
28654        &self,
28655        pvideoprocessor: windows_core::Ref<'_, ID3D11VideoProcessor>,
28656        streamindex: u32,
28657        enable: crate::Foundation::BOOL,
28658        lower: f32,
28659        upper: f32,
28660    );
28661    fn VideoProcessorSetStreamStereoFormat(
28662        &self,
28663        pvideoprocessor: windows_core::Ref<'_, ID3D11VideoProcessor>,
28664        streamindex: u32,
28665        enable: crate::Foundation::BOOL,
28666        format: D3D11_VIDEO_PROCESSOR_STEREO_FORMAT,
28667        leftviewframe0: crate::Foundation::BOOL,
28668        baseviewframe0: crate::Foundation::BOOL,
28669        flipmode: D3D11_VIDEO_PROCESSOR_STEREO_FLIP_MODE,
28670        monooffset: i32,
28671    );
28672    fn VideoProcessorSetStreamAutoProcessingMode(
28673        &self,
28674        pvideoprocessor: windows_core::Ref<'_, ID3D11VideoProcessor>,
28675        streamindex: u32,
28676        enable: crate::Foundation::BOOL,
28677    );
28678    fn VideoProcessorSetStreamFilter(
28679        &self,
28680        pvideoprocessor: windows_core::Ref<'_, ID3D11VideoProcessor>,
28681        streamindex: u32,
28682        filter: D3D11_VIDEO_PROCESSOR_FILTER,
28683        enable: crate::Foundation::BOOL,
28684        level: i32,
28685    );
28686    fn VideoProcessorSetStreamExtension(
28687        &self,
28688        pvideoprocessor: windows_core::Ref<'_, ID3D11VideoProcessor>,
28689        streamindex: u32,
28690        pextensionguid: *const windows_core::GUID,
28691        datasize: u32,
28692        pdata: *const core::ffi::c_void,
28693    ) -> i32;
28694    fn VideoProcessorGetStreamFrameFormat(
28695        &self,
28696        pvideoprocessor: windows_core::Ref<'_, ID3D11VideoProcessor>,
28697        streamindex: u32,
28698        pframeformat: *mut D3D11_VIDEO_FRAME_FORMAT,
28699    );
28700    fn VideoProcessorGetStreamColorSpace(
28701        &self,
28702        pvideoprocessor: windows_core::Ref<'_, ID3D11VideoProcessor>,
28703        streamindex: u32,
28704        pcolorspace: *mut D3D11_VIDEO_PROCESSOR_COLOR_SPACE,
28705    );
28706    fn VideoProcessorGetStreamOutputRate(
28707        &self,
28708        pvideoprocessor: windows_core::Ref<'_, ID3D11VideoProcessor>,
28709        streamindex: u32,
28710        poutputrate: *mut D3D11_VIDEO_PROCESSOR_OUTPUT_RATE,
28711        prepeatframe: *mut crate::Foundation::BOOL,
28712        pcustomrate: *mut crate::Dxgi::Common::DXGI_RATIONAL,
28713    );
28714    fn VideoProcessorGetStreamSourceRect(
28715        &self,
28716        pvideoprocessor: windows_core::Ref<'_, ID3D11VideoProcessor>,
28717        streamindex: u32,
28718        penabled: *mut crate::Foundation::BOOL,
28719        prect: *mut crate::Foundation::RECT,
28720    );
28721    fn VideoProcessorGetStreamDestRect(
28722        &self,
28723        pvideoprocessor: windows_core::Ref<'_, ID3D11VideoProcessor>,
28724        streamindex: u32,
28725        penabled: *mut crate::Foundation::BOOL,
28726        prect: *mut crate::Foundation::RECT,
28727    );
28728    fn VideoProcessorGetStreamAlpha(
28729        &self,
28730        pvideoprocessor: windows_core::Ref<'_, ID3D11VideoProcessor>,
28731        streamindex: u32,
28732        penabled: *mut crate::Foundation::BOOL,
28733        palpha: *mut f32,
28734    );
28735    fn VideoProcessorGetStreamPalette(
28736        &self,
28737        pvideoprocessor: windows_core::Ref<'_, ID3D11VideoProcessor>,
28738        streamindex: u32,
28739        count: u32,
28740        pentries: *mut u32,
28741    );
28742    fn VideoProcessorGetStreamPixelAspectRatio(
28743        &self,
28744        pvideoprocessor: windows_core::Ref<'_, ID3D11VideoProcessor>,
28745        streamindex: u32,
28746        penabled: *mut crate::Foundation::BOOL,
28747        psourceaspectratio: *mut crate::Dxgi::Common::DXGI_RATIONAL,
28748        pdestinationaspectratio: *mut crate::Dxgi::Common::DXGI_RATIONAL,
28749    );
28750    fn VideoProcessorGetStreamLumaKey(
28751        &self,
28752        pvideoprocessor: windows_core::Ref<'_, ID3D11VideoProcessor>,
28753        streamindex: u32,
28754        penabled: *mut crate::Foundation::BOOL,
28755        plower: *mut f32,
28756        pupper: *mut f32,
28757    );
28758    fn VideoProcessorGetStreamStereoFormat(
28759        &self,
28760        pvideoprocessor: windows_core::Ref<'_, ID3D11VideoProcessor>,
28761        streamindex: u32,
28762        penable: *mut crate::Foundation::BOOL,
28763        pformat: *mut D3D11_VIDEO_PROCESSOR_STEREO_FORMAT,
28764        pleftviewframe0: *mut crate::Foundation::BOOL,
28765        pbaseviewframe0: *mut crate::Foundation::BOOL,
28766        pflipmode: *mut D3D11_VIDEO_PROCESSOR_STEREO_FLIP_MODE,
28767        monooffset: *mut i32,
28768    );
28769    fn VideoProcessorGetStreamAutoProcessingMode(
28770        &self,
28771        pvideoprocessor: windows_core::Ref<'_, ID3D11VideoProcessor>,
28772        streamindex: u32,
28773        penabled: *mut crate::Foundation::BOOL,
28774    );
28775    fn VideoProcessorGetStreamFilter(
28776        &self,
28777        pvideoprocessor: windows_core::Ref<'_, ID3D11VideoProcessor>,
28778        streamindex: u32,
28779        filter: D3D11_VIDEO_PROCESSOR_FILTER,
28780        penabled: *mut crate::Foundation::BOOL,
28781        plevel: *mut i32,
28782    );
28783    fn VideoProcessorGetStreamExtension(
28784        &self,
28785        pvideoprocessor: windows_core::Ref<'_, ID3D11VideoProcessor>,
28786        streamindex: u32,
28787        pextensionguid: *const windows_core::GUID,
28788        datasize: u32,
28789        pdata: *mut core::ffi::c_void,
28790    ) -> i32;
28791    fn VideoProcessorBlt(
28792        &self,
28793        pvideoprocessor: windows_core::Ref<'_, ID3D11VideoProcessor>,
28794        pview: windows_core::Ref<'_, ID3D11VideoProcessorOutputView>,
28795        outputframe: u32,
28796        streamcount: u32,
28797        pstreams: *const D3D11_VIDEO_PROCESSOR_STREAM,
28798    ) -> windows_core::Result<()>;
28799    fn NegotiateCryptoSessionKeyExchange(
28800        &self,
28801        pcryptosession: windows_core::Ref<'_, ID3D11CryptoSession>,
28802        datasize: u32,
28803        pdata: *mut core::ffi::c_void,
28804    ) -> windows_core::Result<()>;
28805    fn EncryptionBlt(
28806        &self,
28807        pcryptosession: windows_core::Ref<'_, ID3D11CryptoSession>,
28808        psrcsurface: windows_core::Ref<'_, ID3D11Texture2D>,
28809        pdstsurface: windows_core::Ref<'_, ID3D11Texture2D>,
28810        ivsize: u32,
28811        piv: *mut core::ffi::c_void,
28812    );
28813    fn DecryptionBlt(
28814        &self,
28815        pcryptosession: windows_core::Ref<'_, ID3D11CryptoSession>,
28816        psrcsurface: windows_core::Ref<'_, ID3D11Texture2D>,
28817        pdstsurface: windows_core::Ref<'_, ID3D11Texture2D>,
28818        pencryptedblockinfo: *const D3D11_ENCRYPTED_BLOCK_INFO,
28819        contentkeysize: u32,
28820        pcontentkey: *const core::ffi::c_void,
28821        ivsize: u32,
28822        piv: *mut core::ffi::c_void,
28823    );
28824    fn StartSessionKeyRefresh(
28825        &self,
28826        pcryptosession: windows_core::Ref<'_, ID3D11CryptoSession>,
28827        randomnumbersize: u32,
28828        prandomnumber: *mut core::ffi::c_void,
28829    );
28830    fn FinishSessionKeyRefresh(&self, pcryptosession: windows_core::Ref<'_, ID3D11CryptoSession>);
28831    fn GetEncryptionBltKey(
28832        &self,
28833        pcryptosession: windows_core::Ref<'_, ID3D11CryptoSession>,
28834        keysize: u32,
28835        preadbackkey: *mut core::ffi::c_void,
28836    ) -> windows_core::Result<()>;
28837    fn NegotiateAuthenticatedChannelKeyExchange(
28838        &self,
28839        pchannel: windows_core::Ref<'_, ID3D11AuthenticatedChannel>,
28840        datasize: u32,
28841        pdata: *mut core::ffi::c_void,
28842    ) -> windows_core::Result<()>;
28843    fn QueryAuthenticatedChannel(
28844        &self,
28845        pchannel: windows_core::Ref<'_, ID3D11AuthenticatedChannel>,
28846        inputsize: u32,
28847        pinput: *const core::ffi::c_void,
28848        outputsize: u32,
28849        poutput: *mut core::ffi::c_void,
28850    ) -> windows_core::Result<()>;
28851    fn ConfigureAuthenticatedChannel(
28852        &self,
28853        pchannel: windows_core::Ref<'_, ID3D11AuthenticatedChannel>,
28854        inputsize: u32,
28855        pinput: *const core::ffi::c_void,
28856        poutput: *mut D3D11_AUTHENTICATED_CONFIGURE_OUTPUT,
28857    ) -> windows_core::Result<()>;
28858    fn VideoProcessorSetStreamRotation(
28859        &self,
28860        pvideoprocessor: windows_core::Ref<'_, ID3D11VideoProcessor>,
28861        streamindex: u32,
28862        enable: crate::Foundation::BOOL,
28863        rotation: D3D11_VIDEO_PROCESSOR_ROTATION,
28864    );
28865    fn VideoProcessorGetStreamRotation(
28866        &self,
28867        pvideoprocessor: windows_core::Ref<'_, ID3D11VideoProcessor>,
28868        streamindex: u32,
28869        penable: *mut crate::Foundation::BOOL,
28870        protation: *mut D3D11_VIDEO_PROCESSOR_ROTATION,
28871    );
28872}
28873#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
28874impl ID3D11VideoContext_Vtbl {
28875    pub const fn new<Identity: ID3D11VideoContext_Impl, const OFFSET: isize>() -> Self {
28876        unsafe extern "system" fn GetDecoderBuffer<
28877            Identity: ID3D11VideoContext_Impl,
28878            const OFFSET: isize,
28879        >(
28880            this: *mut core::ffi::c_void,
28881            pdecoder: *mut core::ffi::c_void,
28882            r#type: D3D11_VIDEO_DECODER_BUFFER_TYPE,
28883            pbuffersize: *mut u32,
28884            ppbuffer: *mut *mut core::ffi::c_void,
28885        ) -> windows_core::HRESULT {
28886            unsafe {
28887                let this: &Identity =
28888                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
28889                ID3D11VideoContext_Impl::GetDecoderBuffer(
28890                    this,
28891                    core::mem::transmute_copy(&pdecoder),
28892                    core::mem::transmute_copy(&r#type),
28893                    core::mem::transmute_copy(&pbuffersize),
28894                    core::mem::transmute_copy(&ppbuffer),
28895                )
28896                .into()
28897            }
28898        }
28899        unsafe extern "system" fn ReleaseDecoderBuffer<
28900            Identity: ID3D11VideoContext_Impl,
28901            const OFFSET: isize,
28902        >(
28903            this: *mut core::ffi::c_void,
28904            pdecoder: *mut core::ffi::c_void,
28905            r#type: D3D11_VIDEO_DECODER_BUFFER_TYPE,
28906        ) -> windows_core::HRESULT {
28907            unsafe {
28908                let this: &Identity =
28909                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
28910                ID3D11VideoContext_Impl::ReleaseDecoderBuffer(
28911                    this,
28912                    core::mem::transmute_copy(&pdecoder),
28913                    core::mem::transmute_copy(&r#type),
28914                )
28915                .into()
28916            }
28917        }
28918        unsafe extern "system" fn DecoderBeginFrame<
28919            Identity: ID3D11VideoContext_Impl,
28920            const OFFSET: isize,
28921        >(
28922            this: *mut core::ffi::c_void,
28923            pdecoder: *mut core::ffi::c_void,
28924            pview: *mut core::ffi::c_void,
28925            contentkeysize: u32,
28926            pcontentkey: *const core::ffi::c_void,
28927        ) -> windows_core::HRESULT {
28928            unsafe {
28929                let this: &Identity =
28930                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
28931                ID3D11VideoContext_Impl::DecoderBeginFrame(
28932                    this,
28933                    core::mem::transmute_copy(&pdecoder),
28934                    core::mem::transmute_copy(&pview),
28935                    core::mem::transmute_copy(&contentkeysize),
28936                    core::mem::transmute_copy(&pcontentkey),
28937                )
28938                .into()
28939            }
28940        }
28941        unsafe extern "system" fn DecoderEndFrame<
28942            Identity: ID3D11VideoContext_Impl,
28943            const OFFSET: isize,
28944        >(
28945            this: *mut core::ffi::c_void,
28946            pdecoder: *mut core::ffi::c_void,
28947        ) -> windows_core::HRESULT {
28948            unsafe {
28949                let this: &Identity =
28950                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
28951                ID3D11VideoContext_Impl::DecoderEndFrame(this, core::mem::transmute_copy(&pdecoder))
28952                    .into()
28953            }
28954        }
28955        unsafe extern "system" fn SubmitDecoderBuffers<
28956            Identity: ID3D11VideoContext_Impl,
28957            const OFFSET: isize,
28958        >(
28959            this: *mut core::ffi::c_void,
28960            pdecoder: *mut core::ffi::c_void,
28961            numbuffers: u32,
28962            pbufferdesc: *const D3D11_VIDEO_DECODER_BUFFER_DESC,
28963        ) -> windows_core::HRESULT {
28964            unsafe {
28965                let this: &Identity =
28966                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
28967                ID3D11VideoContext_Impl::SubmitDecoderBuffers(
28968                    this,
28969                    core::mem::transmute_copy(&pdecoder),
28970                    core::mem::transmute_copy(&numbuffers),
28971                    core::mem::transmute_copy(&pbufferdesc),
28972                )
28973                .into()
28974            }
28975        }
28976        unsafe extern "system" fn DecoderExtension<
28977            Identity: ID3D11VideoContext_Impl,
28978            const OFFSET: isize,
28979        >(
28980            this: *mut core::ffi::c_void,
28981            pdecoder: *mut core::ffi::c_void,
28982            pextensiondata: *const D3D11_VIDEO_DECODER_EXTENSION,
28983        ) -> i32 {
28984            unsafe {
28985                let this: &Identity =
28986                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
28987                ID3D11VideoContext_Impl::DecoderExtension(
28988                    this,
28989                    core::mem::transmute_copy(&pdecoder),
28990                    core::mem::transmute_copy(&pextensiondata),
28991                )
28992            }
28993        }
28994        unsafe extern "system" fn VideoProcessorSetOutputTargetRect<
28995            Identity: ID3D11VideoContext_Impl,
28996            const OFFSET: isize,
28997        >(
28998            this: *mut core::ffi::c_void,
28999            pvideoprocessor: *mut core::ffi::c_void,
29000            enable: crate::Foundation::BOOL,
29001            prect: *const crate::Foundation::RECT,
29002        ) {
29003            unsafe {
29004                let this: &Identity =
29005                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
29006                ID3D11VideoContext_Impl::VideoProcessorSetOutputTargetRect(
29007                    this,
29008                    core::mem::transmute_copy(&pvideoprocessor),
29009                    core::mem::transmute_copy(&enable),
29010                    core::mem::transmute_copy(&prect),
29011                )
29012            }
29013        }
29014        unsafe extern "system" fn VideoProcessorSetOutputBackgroundColor<
29015            Identity: ID3D11VideoContext_Impl,
29016            const OFFSET: isize,
29017        >(
29018            this: *mut core::ffi::c_void,
29019            pvideoprocessor: *mut core::ffi::c_void,
29020            ycbcr: crate::Foundation::BOOL,
29021            pcolor: *const D3D11_VIDEO_COLOR,
29022        ) {
29023            unsafe {
29024                let this: &Identity =
29025                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
29026                ID3D11VideoContext_Impl::VideoProcessorSetOutputBackgroundColor(
29027                    this,
29028                    core::mem::transmute_copy(&pvideoprocessor),
29029                    core::mem::transmute_copy(&ycbcr),
29030                    core::mem::transmute_copy(&pcolor),
29031                )
29032            }
29033        }
29034        unsafe extern "system" fn VideoProcessorSetOutputColorSpace<
29035            Identity: ID3D11VideoContext_Impl,
29036            const OFFSET: isize,
29037        >(
29038            this: *mut core::ffi::c_void,
29039            pvideoprocessor: *mut core::ffi::c_void,
29040            pcolorspace: *const D3D11_VIDEO_PROCESSOR_COLOR_SPACE,
29041        ) {
29042            unsafe {
29043                let this: &Identity =
29044                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
29045                ID3D11VideoContext_Impl::VideoProcessorSetOutputColorSpace(
29046                    this,
29047                    core::mem::transmute_copy(&pvideoprocessor),
29048                    core::mem::transmute_copy(&pcolorspace),
29049                )
29050            }
29051        }
29052        unsafe extern "system" fn VideoProcessorSetOutputAlphaFillMode<
29053            Identity: ID3D11VideoContext_Impl,
29054            const OFFSET: isize,
29055        >(
29056            this: *mut core::ffi::c_void,
29057            pvideoprocessor: *mut core::ffi::c_void,
29058            alphafillmode: D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE,
29059            streamindex: u32,
29060        ) {
29061            unsafe {
29062                let this: &Identity =
29063                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
29064                ID3D11VideoContext_Impl::VideoProcessorSetOutputAlphaFillMode(
29065                    this,
29066                    core::mem::transmute_copy(&pvideoprocessor),
29067                    core::mem::transmute_copy(&alphafillmode),
29068                    core::mem::transmute_copy(&streamindex),
29069                )
29070            }
29071        }
29072        unsafe extern "system" fn VideoProcessorSetOutputConstriction<
29073            Identity: ID3D11VideoContext_Impl,
29074            const OFFSET: isize,
29075        >(
29076            this: *mut core::ffi::c_void,
29077            pvideoprocessor: *mut core::ffi::c_void,
29078            enable: crate::Foundation::BOOL,
29079            size: crate::Foundation::SIZE,
29080        ) {
29081            unsafe {
29082                let this: &Identity =
29083                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
29084                ID3D11VideoContext_Impl::VideoProcessorSetOutputConstriction(
29085                    this,
29086                    core::mem::transmute_copy(&pvideoprocessor),
29087                    core::mem::transmute_copy(&enable),
29088                    core::mem::transmute(&size),
29089                )
29090            }
29091        }
29092        unsafe extern "system" fn VideoProcessorSetOutputStereoMode<
29093            Identity: ID3D11VideoContext_Impl,
29094            const OFFSET: isize,
29095        >(
29096            this: *mut core::ffi::c_void,
29097            pvideoprocessor: *mut core::ffi::c_void,
29098            enable: crate::Foundation::BOOL,
29099        ) {
29100            unsafe {
29101                let this: &Identity =
29102                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
29103                ID3D11VideoContext_Impl::VideoProcessorSetOutputStereoMode(
29104                    this,
29105                    core::mem::transmute_copy(&pvideoprocessor),
29106                    core::mem::transmute_copy(&enable),
29107                )
29108            }
29109        }
29110        unsafe extern "system" fn VideoProcessorSetOutputExtension<
29111            Identity: ID3D11VideoContext_Impl,
29112            const OFFSET: isize,
29113        >(
29114            this: *mut core::ffi::c_void,
29115            pvideoprocessor: *mut core::ffi::c_void,
29116            pextensionguid: *const windows_core::GUID,
29117            datasize: u32,
29118            pdata: *const core::ffi::c_void,
29119        ) -> i32 {
29120            unsafe {
29121                let this: &Identity =
29122                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
29123                ID3D11VideoContext_Impl::VideoProcessorSetOutputExtension(
29124                    this,
29125                    core::mem::transmute_copy(&pvideoprocessor),
29126                    core::mem::transmute_copy(&pextensionguid),
29127                    core::mem::transmute_copy(&datasize),
29128                    core::mem::transmute_copy(&pdata),
29129                )
29130            }
29131        }
29132        unsafe extern "system" fn VideoProcessorGetOutputTargetRect<
29133            Identity: ID3D11VideoContext_Impl,
29134            const OFFSET: isize,
29135        >(
29136            this: *mut core::ffi::c_void,
29137            pvideoprocessor: *mut core::ffi::c_void,
29138            enabled: *mut crate::Foundation::BOOL,
29139            prect: *mut crate::Foundation::RECT,
29140        ) {
29141            unsafe {
29142                let this: &Identity =
29143                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
29144                ID3D11VideoContext_Impl::VideoProcessorGetOutputTargetRect(
29145                    this,
29146                    core::mem::transmute_copy(&pvideoprocessor),
29147                    core::mem::transmute_copy(&enabled),
29148                    core::mem::transmute_copy(&prect),
29149                )
29150            }
29151        }
29152        unsafe extern "system" fn VideoProcessorGetOutputBackgroundColor<
29153            Identity: ID3D11VideoContext_Impl,
29154            const OFFSET: isize,
29155        >(
29156            this: *mut core::ffi::c_void,
29157            pvideoprocessor: *mut core::ffi::c_void,
29158            pycbcr: *mut crate::Foundation::BOOL,
29159            pcolor: *mut D3D11_VIDEO_COLOR,
29160        ) {
29161            unsafe {
29162                let this: &Identity =
29163                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
29164                ID3D11VideoContext_Impl::VideoProcessorGetOutputBackgroundColor(
29165                    this,
29166                    core::mem::transmute_copy(&pvideoprocessor),
29167                    core::mem::transmute_copy(&pycbcr),
29168                    core::mem::transmute_copy(&pcolor),
29169                )
29170            }
29171        }
29172        unsafe extern "system" fn VideoProcessorGetOutputColorSpace<
29173            Identity: ID3D11VideoContext_Impl,
29174            const OFFSET: isize,
29175        >(
29176            this: *mut core::ffi::c_void,
29177            pvideoprocessor: *mut core::ffi::c_void,
29178            pcolorspace: *mut D3D11_VIDEO_PROCESSOR_COLOR_SPACE,
29179        ) {
29180            unsafe {
29181                let this: &Identity =
29182                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
29183                ID3D11VideoContext_Impl::VideoProcessorGetOutputColorSpace(
29184                    this,
29185                    core::mem::transmute_copy(&pvideoprocessor),
29186                    core::mem::transmute_copy(&pcolorspace),
29187                )
29188            }
29189        }
29190        unsafe extern "system" fn VideoProcessorGetOutputAlphaFillMode<
29191            Identity: ID3D11VideoContext_Impl,
29192            const OFFSET: isize,
29193        >(
29194            this: *mut core::ffi::c_void,
29195            pvideoprocessor: *mut core::ffi::c_void,
29196            palphafillmode: *mut D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE,
29197            pstreamindex: *mut u32,
29198        ) {
29199            unsafe {
29200                let this: &Identity =
29201                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
29202                ID3D11VideoContext_Impl::VideoProcessorGetOutputAlphaFillMode(
29203                    this,
29204                    core::mem::transmute_copy(&pvideoprocessor),
29205                    core::mem::transmute_copy(&palphafillmode),
29206                    core::mem::transmute_copy(&pstreamindex),
29207                )
29208            }
29209        }
29210        unsafe extern "system" fn VideoProcessorGetOutputConstriction<
29211            Identity: ID3D11VideoContext_Impl,
29212            const OFFSET: isize,
29213        >(
29214            this: *mut core::ffi::c_void,
29215            pvideoprocessor: *mut core::ffi::c_void,
29216            penabled: *mut crate::Foundation::BOOL,
29217            psize: *mut crate::Foundation::SIZE,
29218        ) {
29219            unsafe {
29220                let this: &Identity =
29221                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
29222                ID3D11VideoContext_Impl::VideoProcessorGetOutputConstriction(
29223                    this,
29224                    core::mem::transmute_copy(&pvideoprocessor),
29225                    core::mem::transmute_copy(&penabled),
29226                    core::mem::transmute_copy(&psize),
29227                )
29228            }
29229        }
29230        unsafe extern "system" fn VideoProcessorGetOutputStereoMode<
29231            Identity: ID3D11VideoContext_Impl,
29232            const OFFSET: isize,
29233        >(
29234            this: *mut core::ffi::c_void,
29235            pvideoprocessor: *mut core::ffi::c_void,
29236            penabled: *mut crate::Foundation::BOOL,
29237        ) {
29238            unsafe {
29239                let this: &Identity =
29240                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
29241                ID3D11VideoContext_Impl::VideoProcessorGetOutputStereoMode(
29242                    this,
29243                    core::mem::transmute_copy(&pvideoprocessor),
29244                    core::mem::transmute_copy(&penabled),
29245                )
29246            }
29247        }
29248        unsafe extern "system" fn VideoProcessorGetOutputExtension<
29249            Identity: ID3D11VideoContext_Impl,
29250            const OFFSET: isize,
29251        >(
29252            this: *mut core::ffi::c_void,
29253            pvideoprocessor: *mut core::ffi::c_void,
29254            pextensionguid: *const windows_core::GUID,
29255            datasize: u32,
29256            pdata: *mut core::ffi::c_void,
29257        ) -> i32 {
29258            unsafe {
29259                let this: &Identity =
29260                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
29261                ID3D11VideoContext_Impl::VideoProcessorGetOutputExtension(
29262                    this,
29263                    core::mem::transmute_copy(&pvideoprocessor),
29264                    core::mem::transmute_copy(&pextensionguid),
29265                    core::mem::transmute_copy(&datasize),
29266                    core::mem::transmute_copy(&pdata),
29267                )
29268            }
29269        }
29270        unsafe extern "system" fn VideoProcessorSetStreamFrameFormat<
29271            Identity: ID3D11VideoContext_Impl,
29272            const OFFSET: isize,
29273        >(
29274            this: *mut core::ffi::c_void,
29275            pvideoprocessor: *mut core::ffi::c_void,
29276            streamindex: u32,
29277            frameformat: D3D11_VIDEO_FRAME_FORMAT,
29278        ) {
29279            unsafe {
29280                let this: &Identity =
29281                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
29282                ID3D11VideoContext_Impl::VideoProcessorSetStreamFrameFormat(
29283                    this,
29284                    core::mem::transmute_copy(&pvideoprocessor),
29285                    core::mem::transmute_copy(&streamindex),
29286                    core::mem::transmute_copy(&frameformat),
29287                )
29288            }
29289        }
29290        unsafe extern "system" fn VideoProcessorSetStreamColorSpace<
29291            Identity: ID3D11VideoContext_Impl,
29292            const OFFSET: isize,
29293        >(
29294            this: *mut core::ffi::c_void,
29295            pvideoprocessor: *mut core::ffi::c_void,
29296            streamindex: u32,
29297            pcolorspace: *const D3D11_VIDEO_PROCESSOR_COLOR_SPACE,
29298        ) {
29299            unsafe {
29300                let this: &Identity =
29301                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
29302                ID3D11VideoContext_Impl::VideoProcessorSetStreamColorSpace(
29303                    this,
29304                    core::mem::transmute_copy(&pvideoprocessor),
29305                    core::mem::transmute_copy(&streamindex),
29306                    core::mem::transmute_copy(&pcolorspace),
29307                )
29308            }
29309        }
29310        unsafe extern "system" fn VideoProcessorSetStreamOutputRate<
29311            Identity: ID3D11VideoContext_Impl,
29312            const OFFSET: isize,
29313        >(
29314            this: *mut core::ffi::c_void,
29315            pvideoprocessor: *mut core::ffi::c_void,
29316            streamindex: u32,
29317            outputrate: D3D11_VIDEO_PROCESSOR_OUTPUT_RATE,
29318            repeatframe: crate::Foundation::BOOL,
29319            pcustomrate: *const crate::Dxgi::Common::DXGI_RATIONAL,
29320        ) {
29321            unsafe {
29322                let this: &Identity =
29323                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
29324                ID3D11VideoContext_Impl::VideoProcessorSetStreamOutputRate(
29325                    this,
29326                    core::mem::transmute_copy(&pvideoprocessor),
29327                    core::mem::transmute_copy(&streamindex),
29328                    core::mem::transmute_copy(&outputrate),
29329                    core::mem::transmute_copy(&repeatframe),
29330                    core::mem::transmute_copy(&pcustomrate),
29331                )
29332            }
29333        }
29334        unsafe extern "system" fn VideoProcessorSetStreamSourceRect<
29335            Identity: ID3D11VideoContext_Impl,
29336            const OFFSET: isize,
29337        >(
29338            this: *mut core::ffi::c_void,
29339            pvideoprocessor: *mut core::ffi::c_void,
29340            streamindex: u32,
29341            enable: crate::Foundation::BOOL,
29342            prect: *const crate::Foundation::RECT,
29343        ) {
29344            unsafe {
29345                let this: &Identity =
29346                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
29347                ID3D11VideoContext_Impl::VideoProcessorSetStreamSourceRect(
29348                    this,
29349                    core::mem::transmute_copy(&pvideoprocessor),
29350                    core::mem::transmute_copy(&streamindex),
29351                    core::mem::transmute_copy(&enable),
29352                    core::mem::transmute_copy(&prect),
29353                )
29354            }
29355        }
29356        unsafe extern "system" fn VideoProcessorSetStreamDestRect<
29357            Identity: ID3D11VideoContext_Impl,
29358            const OFFSET: isize,
29359        >(
29360            this: *mut core::ffi::c_void,
29361            pvideoprocessor: *mut core::ffi::c_void,
29362            streamindex: u32,
29363            enable: crate::Foundation::BOOL,
29364            prect: *const crate::Foundation::RECT,
29365        ) {
29366            unsafe {
29367                let this: &Identity =
29368                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
29369                ID3D11VideoContext_Impl::VideoProcessorSetStreamDestRect(
29370                    this,
29371                    core::mem::transmute_copy(&pvideoprocessor),
29372                    core::mem::transmute_copy(&streamindex),
29373                    core::mem::transmute_copy(&enable),
29374                    core::mem::transmute_copy(&prect),
29375                )
29376            }
29377        }
29378        unsafe extern "system" fn VideoProcessorSetStreamAlpha<
29379            Identity: ID3D11VideoContext_Impl,
29380            const OFFSET: isize,
29381        >(
29382            this: *mut core::ffi::c_void,
29383            pvideoprocessor: *mut core::ffi::c_void,
29384            streamindex: u32,
29385            enable: crate::Foundation::BOOL,
29386            alpha: f32,
29387        ) {
29388            unsafe {
29389                let this: &Identity =
29390                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
29391                ID3D11VideoContext_Impl::VideoProcessorSetStreamAlpha(
29392                    this,
29393                    core::mem::transmute_copy(&pvideoprocessor),
29394                    core::mem::transmute_copy(&streamindex),
29395                    core::mem::transmute_copy(&enable),
29396                    core::mem::transmute_copy(&alpha),
29397                )
29398            }
29399        }
29400        unsafe extern "system" fn VideoProcessorSetStreamPalette<
29401            Identity: ID3D11VideoContext_Impl,
29402            const OFFSET: isize,
29403        >(
29404            this: *mut core::ffi::c_void,
29405            pvideoprocessor: *mut core::ffi::c_void,
29406            streamindex: u32,
29407            count: u32,
29408            pentries: *const u32,
29409        ) {
29410            unsafe {
29411                let this: &Identity =
29412                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
29413                ID3D11VideoContext_Impl::VideoProcessorSetStreamPalette(
29414                    this,
29415                    core::mem::transmute_copy(&pvideoprocessor),
29416                    core::mem::transmute_copy(&streamindex),
29417                    core::mem::transmute_copy(&count),
29418                    core::mem::transmute_copy(&pentries),
29419                )
29420            }
29421        }
29422        unsafe extern "system" fn VideoProcessorSetStreamPixelAspectRatio<
29423            Identity: ID3D11VideoContext_Impl,
29424            const OFFSET: isize,
29425        >(
29426            this: *mut core::ffi::c_void,
29427            pvideoprocessor: *mut core::ffi::c_void,
29428            streamindex: u32,
29429            enable: crate::Foundation::BOOL,
29430            psourceaspectratio: *const crate::Dxgi::Common::DXGI_RATIONAL,
29431            pdestinationaspectratio: *const crate::Dxgi::Common::DXGI_RATIONAL,
29432        ) {
29433            unsafe {
29434                let this: &Identity =
29435                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
29436                ID3D11VideoContext_Impl::VideoProcessorSetStreamPixelAspectRatio(
29437                    this,
29438                    core::mem::transmute_copy(&pvideoprocessor),
29439                    core::mem::transmute_copy(&streamindex),
29440                    core::mem::transmute_copy(&enable),
29441                    core::mem::transmute_copy(&psourceaspectratio),
29442                    core::mem::transmute_copy(&pdestinationaspectratio),
29443                )
29444            }
29445        }
29446        unsafe extern "system" fn VideoProcessorSetStreamLumaKey<
29447            Identity: ID3D11VideoContext_Impl,
29448            const OFFSET: isize,
29449        >(
29450            this: *mut core::ffi::c_void,
29451            pvideoprocessor: *mut core::ffi::c_void,
29452            streamindex: u32,
29453            enable: crate::Foundation::BOOL,
29454            lower: f32,
29455            upper: f32,
29456        ) {
29457            unsafe {
29458                let this: &Identity =
29459                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
29460                ID3D11VideoContext_Impl::VideoProcessorSetStreamLumaKey(
29461                    this,
29462                    core::mem::transmute_copy(&pvideoprocessor),
29463                    core::mem::transmute_copy(&streamindex),
29464                    core::mem::transmute_copy(&enable),
29465                    core::mem::transmute_copy(&lower),
29466                    core::mem::transmute_copy(&upper),
29467                )
29468            }
29469        }
29470        unsafe extern "system" fn VideoProcessorSetStreamStereoFormat<
29471            Identity: ID3D11VideoContext_Impl,
29472            const OFFSET: isize,
29473        >(
29474            this: *mut core::ffi::c_void,
29475            pvideoprocessor: *mut core::ffi::c_void,
29476            streamindex: u32,
29477            enable: crate::Foundation::BOOL,
29478            format: D3D11_VIDEO_PROCESSOR_STEREO_FORMAT,
29479            leftviewframe0: crate::Foundation::BOOL,
29480            baseviewframe0: crate::Foundation::BOOL,
29481            flipmode: D3D11_VIDEO_PROCESSOR_STEREO_FLIP_MODE,
29482            monooffset: i32,
29483        ) {
29484            unsafe {
29485                let this: &Identity =
29486                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
29487                ID3D11VideoContext_Impl::VideoProcessorSetStreamStereoFormat(
29488                    this,
29489                    core::mem::transmute_copy(&pvideoprocessor),
29490                    core::mem::transmute_copy(&streamindex),
29491                    core::mem::transmute_copy(&enable),
29492                    core::mem::transmute_copy(&format),
29493                    core::mem::transmute_copy(&leftviewframe0),
29494                    core::mem::transmute_copy(&baseviewframe0),
29495                    core::mem::transmute_copy(&flipmode),
29496                    core::mem::transmute_copy(&monooffset),
29497                )
29498            }
29499        }
29500        unsafe extern "system" fn VideoProcessorSetStreamAutoProcessingMode<
29501            Identity: ID3D11VideoContext_Impl,
29502            const OFFSET: isize,
29503        >(
29504            this: *mut core::ffi::c_void,
29505            pvideoprocessor: *mut core::ffi::c_void,
29506            streamindex: u32,
29507            enable: crate::Foundation::BOOL,
29508        ) {
29509            unsafe {
29510                let this: &Identity =
29511                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
29512                ID3D11VideoContext_Impl::VideoProcessorSetStreamAutoProcessingMode(
29513                    this,
29514                    core::mem::transmute_copy(&pvideoprocessor),
29515                    core::mem::transmute_copy(&streamindex),
29516                    core::mem::transmute_copy(&enable),
29517                )
29518            }
29519        }
29520        unsafe extern "system" fn VideoProcessorSetStreamFilter<
29521            Identity: ID3D11VideoContext_Impl,
29522            const OFFSET: isize,
29523        >(
29524            this: *mut core::ffi::c_void,
29525            pvideoprocessor: *mut core::ffi::c_void,
29526            streamindex: u32,
29527            filter: D3D11_VIDEO_PROCESSOR_FILTER,
29528            enable: crate::Foundation::BOOL,
29529            level: i32,
29530        ) {
29531            unsafe {
29532                let this: &Identity =
29533                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
29534                ID3D11VideoContext_Impl::VideoProcessorSetStreamFilter(
29535                    this,
29536                    core::mem::transmute_copy(&pvideoprocessor),
29537                    core::mem::transmute_copy(&streamindex),
29538                    core::mem::transmute_copy(&filter),
29539                    core::mem::transmute_copy(&enable),
29540                    core::mem::transmute_copy(&level),
29541                )
29542            }
29543        }
29544        unsafe extern "system" fn VideoProcessorSetStreamExtension<
29545            Identity: ID3D11VideoContext_Impl,
29546            const OFFSET: isize,
29547        >(
29548            this: *mut core::ffi::c_void,
29549            pvideoprocessor: *mut core::ffi::c_void,
29550            streamindex: u32,
29551            pextensionguid: *const windows_core::GUID,
29552            datasize: u32,
29553            pdata: *const core::ffi::c_void,
29554        ) -> i32 {
29555            unsafe {
29556                let this: &Identity =
29557                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
29558                ID3D11VideoContext_Impl::VideoProcessorSetStreamExtension(
29559                    this,
29560                    core::mem::transmute_copy(&pvideoprocessor),
29561                    core::mem::transmute_copy(&streamindex),
29562                    core::mem::transmute_copy(&pextensionguid),
29563                    core::mem::transmute_copy(&datasize),
29564                    core::mem::transmute_copy(&pdata),
29565                )
29566            }
29567        }
29568        unsafe extern "system" fn VideoProcessorGetStreamFrameFormat<
29569            Identity: ID3D11VideoContext_Impl,
29570            const OFFSET: isize,
29571        >(
29572            this: *mut core::ffi::c_void,
29573            pvideoprocessor: *mut core::ffi::c_void,
29574            streamindex: u32,
29575            pframeformat: *mut D3D11_VIDEO_FRAME_FORMAT,
29576        ) {
29577            unsafe {
29578                let this: &Identity =
29579                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
29580                ID3D11VideoContext_Impl::VideoProcessorGetStreamFrameFormat(
29581                    this,
29582                    core::mem::transmute_copy(&pvideoprocessor),
29583                    core::mem::transmute_copy(&streamindex),
29584                    core::mem::transmute_copy(&pframeformat),
29585                )
29586            }
29587        }
29588        unsafe extern "system" fn VideoProcessorGetStreamColorSpace<
29589            Identity: ID3D11VideoContext_Impl,
29590            const OFFSET: isize,
29591        >(
29592            this: *mut core::ffi::c_void,
29593            pvideoprocessor: *mut core::ffi::c_void,
29594            streamindex: u32,
29595            pcolorspace: *mut D3D11_VIDEO_PROCESSOR_COLOR_SPACE,
29596        ) {
29597            unsafe {
29598                let this: &Identity =
29599                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
29600                ID3D11VideoContext_Impl::VideoProcessorGetStreamColorSpace(
29601                    this,
29602                    core::mem::transmute_copy(&pvideoprocessor),
29603                    core::mem::transmute_copy(&streamindex),
29604                    core::mem::transmute_copy(&pcolorspace),
29605                )
29606            }
29607        }
29608        unsafe extern "system" fn VideoProcessorGetStreamOutputRate<
29609            Identity: ID3D11VideoContext_Impl,
29610            const OFFSET: isize,
29611        >(
29612            this: *mut core::ffi::c_void,
29613            pvideoprocessor: *mut core::ffi::c_void,
29614            streamindex: u32,
29615            poutputrate: *mut D3D11_VIDEO_PROCESSOR_OUTPUT_RATE,
29616            prepeatframe: *mut crate::Foundation::BOOL,
29617            pcustomrate: *mut crate::Dxgi::Common::DXGI_RATIONAL,
29618        ) {
29619            unsafe {
29620                let this: &Identity =
29621                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
29622                ID3D11VideoContext_Impl::VideoProcessorGetStreamOutputRate(
29623                    this,
29624                    core::mem::transmute_copy(&pvideoprocessor),
29625                    core::mem::transmute_copy(&streamindex),
29626                    core::mem::transmute_copy(&poutputrate),
29627                    core::mem::transmute_copy(&prepeatframe),
29628                    core::mem::transmute_copy(&pcustomrate),
29629                )
29630            }
29631        }
29632        unsafe extern "system" fn VideoProcessorGetStreamSourceRect<
29633            Identity: ID3D11VideoContext_Impl,
29634            const OFFSET: isize,
29635        >(
29636            this: *mut core::ffi::c_void,
29637            pvideoprocessor: *mut core::ffi::c_void,
29638            streamindex: u32,
29639            penabled: *mut crate::Foundation::BOOL,
29640            prect: *mut crate::Foundation::RECT,
29641        ) {
29642            unsafe {
29643                let this: &Identity =
29644                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
29645                ID3D11VideoContext_Impl::VideoProcessorGetStreamSourceRect(
29646                    this,
29647                    core::mem::transmute_copy(&pvideoprocessor),
29648                    core::mem::transmute_copy(&streamindex),
29649                    core::mem::transmute_copy(&penabled),
29650                    core::mem::transmute_copy(&prect),
29651                )
29652            }
29653        }
29654        unsafe extern "system" fn VideoProcessorGetStreamDestRect<
29655            Identity: ID3D11VideoContext_Impl,
29656            const OFFSET: isize,
29657        >(
29658            this: *mut core::ffi::c_void,
29659            pvideoprocessor: *mut core::ffi::c_void,
29660            streamindex: u32,
29661            penabled: *mut crate::Foundation::BOOL,
29662            prect: *mut crate::Foundation::RECT,
29663        ) {
29664            unsafe {
29665                let this: &Identity =
29666                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
29667                ID3D11VideoContext_Impl::VideoProcessorGetStreamDestRect(
29668                    this,
29669                    core::mem::transmute_copy(&pvideoprocessor),
29670                    core::mem::transmute_copy(&streamindex),
29671                    core::mem::transmute_copy(&penabled),
29672                    core::mem::transmute_copy(&prect),
29673                )
29674            }
29675        }
29676        unsafe extern "system" fn VideoProcessorGetStreamAlpha<
29677            Identity: ID3D11VideoContext_Impl,
29678            const OFFSET: isize,
29679        >(
29680            this: *mut core::ffi::c_void,
29681            pvideoprocessor: *mut core::ffi::c_void,
29682            streamindex: u32,
29683            penabled: *mut crate::Foundation::BOOL,
29684            palpha: *mut f32,
29685        ) {
29686            unsafe {
29687                let this: &Identity =
29688                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
29689                ID3D11VideoContext_Impl::VideoProcessorGetStreamAlpha(
29690                    this,
29691                    core::mem::transmute_copy(&pvideoprocessor),
29692                    core::mem::transmute_copy(&streamindex),
29693                    core::mem::transmute_copy(&penabled),
29694                    core::mem::transmute_copy(&palpha),
29695                )
29696            }
29697        }
29698        unsafe extern "system" fn VideoProcessorGetStreamPalette<
29699            Identity: ID3D11VideoContext_Impl,
29700            const OFFSET: isize,
29701        >(
29702            this: *mut core::ffi::c_void,
29703            pvideoprocessor: *mut core::ffi::c_void,
29704            streamindex: u32,
29705            count: u32,
29706            pentries: *mut u32,
29707        ) {
29708            unsafe {
29709                let this: &Identity =
29710                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
29711                ID3D11VideoContext_Impl::VideoProcessorGetStreamPalette(
29712                    this,
29713                    core::mem::transmute_copy(&pvideoprocessor),
29714                    core::mem::transmute_copy(&streamindex),
29715                    core::mem::transmute_copy(&count),
29716                    core::mem::transmute_copy(&pentries),
29717                )
29718            }
29719        }
29720        unsafe extern "system" fn VideoProcessorGetStreamPixelAspectRatio<
29721            Identity: ID3D11VideoContext_Impl,
29722            const OFFSET: isize,
29723        >(
29724            this: *mut core::ffi::c_void,
29725            pvideoprocessor: *mut core::ffi::c_void,
29726            streamindex: u32,
29727            penabled: *mut crate::Foundation::BOOL,
29728            psourceaspectratio: *mut crate::Dxgi::Common::DXGI_RATIONAL,
29729            pdestinationaspectratio: *mut crate::Dxgi::Common::DXGI_RATIONAL,
29730        ) {
29731            unsafe {
29732                let this: &Identity =
29733                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
29734                ID3D11VideoContext_Impl::VideoProcessorGetStreamPixelAspectRatio(
29735                    this,
29736                    core::mem::transmute_copy(&pvideoprocessor),
29737                    core::mem::transmute_copy(&streamindex),
29738                    core::mem::transmute_copy(&penabled),
29739                    core::mem::transmute_copy(&psourceaspectratio),
29740                    core::mem::transmute_copy(&pdestinationaspectratio),
29741                )
29742            }
29743        }
29744        unsafe extern "system" fn VideoProcessorGetStreamLumaKey<
29745            Identity: ID3D11VideoContext_Impl,
29746            const OFFSET: isize,
29747        >(
29748            this: *mut core::ffi::c_void,
29749            pvideoprocessor: *mut core::ffi::c_void,
29750            streamindex: u32,
29751            penabled: *mut crate::Foundation::BOOL,
29752            plower: *mut f32,
29753            pupper: *mut f32,
29754        ) {
29755            unsafe {
29756                let this: &Identity =
29757                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
29758                ID3D11VideoContext_Impl::VideoProcessorGetStreamLumaKey(
29759                    this,
29760                    core::mem::transmute_copy(&pvideoprocessor),
29761                    core::mem::transmute_copy(&streamindex),
29762                    core::mem::transmute_copy(&penabled),
29763                    core::mem::transmute_copy(&plower),
29764                    core::mem::transmute_copy(&pupper),
29765                )
29766            }
29767        }
29768        unsafe extern "system" fn VideoProcessorGetStreamStereoFormat<
29769            Identity: ID3D11VideoContext_Impl,
29770            const OFFSET: isize,
29771        >(
29772            this: *mut core::ffi::c_void,
29773            pvideoprocessor: *mut core::ffi::c_void,
29774            streamindex: u32,
29775            penable: *mut crate::Foundation::BOOL,
29776            pformat: *mut D3D11_VIDEO_PROCESSOR_STEREO_FORMAT,
29777            pleftviewframe0: *mut crate::Foundation::BOOL,
29778            pbaseviewframe0: *mut crate::Foundation::BOOL,
29779            pflipmode: *mut D3D11_VIDEO_PROCESSOR_STEREO_FLIP_MODE,
29780            monooffset: *mut i32,
29781        ) {
29782            unsafe {
29783                let this: &Identity =
29784                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
29785                ID3D11VideoContext_Impl::VideoProcessorGetStreamStereoFormat(
29786                    this,
29787                    core::mem::transmute_copy(&pvideoprocessor),
29788                    core::mem::transmute_copy(&streamindex),
29789                    core::mem::transmute_copy(&penable),
29790                    core::mem::transmute_copy(&pformat),
29791                    core::mem::transmute_copy(&pleftviewframe0),
29792                    core::mem::transmute_copy(&pbaseviewframe0),
29793                    core::mem::transmute_copy(&pflipmode),
29794                    core::mem::transmute_copy(&monooffset),
29795                )
29796            }
29797        }
29798        unsafe extern "system" fn VideoProcessorGetStreamAutoProcessingMode<
29799            Identity: ID3D11VideoContext_Impl,
29800            const OFFSET: isize,
29801        >(
29802            this: *mut core::ffi::c_void,
29803            pvideoprocessor: *mut core::ffi::c_void,
29804            streamindex: u32,
29805            penabled: *mut crate::Foundation::BOOL,
29806        ) {
29807            unsafe {
29808                let this: &Identity =
29809                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
29810                ID3D11VideoContext_Impl::VideoProcessorGetStreamAutoProcessingMode(
29811                    this,
29812                    core::mem::transmute_copy(&pvideoprocessor),
29813                    core::mem::transmute_copy(&streamindex),
29814                    core::mem::transmute_copy(&penabled),
29815                )
29816            }
29817        }
29818        unsafe extern "system" fn VideoProcessorGetStreamFilter<
29819            Identity: ID3D11VideoContext_Impl,
29820            const OFFSET: isize,
29821        >(
29822            this: *mut core::ffi::c_void,
29823            pvideoprocessor: *mut core::ffi::c_void,
29824            streamindex: u32,
29825            filter: D3D11_VIDEO_PROCESSOR_FILTER,
29826            penabled: *mut crate::Foundation::BOOL,
29827            plevel: *mut i32,
29828        ) {
29829            unsafe {
29830                let this: &Identity =
29831                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
29832                ID3D11VideoContext_Impl::VideoProcessorGetStreamFilter(
29833                    this,
29834                    core::mem::transmute_copy(&pvideoprocessor),
29835                    core::mem::transmute_copy(&streamindex),
29836                    core::mem::transmute_copy(&filter),
29837                    core::mem::transmute_copy(&penabled),
29838                    core::mem::transmute_copy(&plevel),
29839                )
29840            }
29841        }
29842        unsafe extern "system" fn VideoProcessorGetStreamExtension<
29843            Identity: ID3D11VideoContext_Impl,
29844            const OFFSET: isize,
29845        >(
29846            this: *mut core::ffi::c_void,
29847            pvideoprocessor: *mut core::ffi::c_void,
29848            streamindex: u32,
29849            pextensionguid: *const windows_core::GUID,
29850            datasize: u32,
29851            pdata: *mut core::ffi::c_void,
29852        ) -> i32 {
29853            unsafe {
29854                let this: &Identity =
29855                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
29856                ID3D11VideoContext_Impl::VideoProcessorGetStreamExtension(
29857                    this,
29858                    core::mem::transmute_copy(&pvideoprocessor),
29859                    core::mem::transmute_copy(&streamindex),
29860                    core::mem::transmute_copy(&pextensionguid),
29861                    core::mem::transmute_copy(&datasize),
29862                    core::mem::transmute_copy(&pdata),
29863                )
29864            }
29865        }
29866        unsafe extern "system" fn VideoProcessorBlt<
29867            Identity: ID3D11VideoContext_Impl,
29868            const OFFSET: isize,
29869        >(
29870            this: *mut core::ffi::c_void,
29871            pvideoprocessor: *mut core::ffi::c_void,
29872            pview: *mut core::ffi::c_void,
29873            outputframe: u32,
29874            streamcount: u32,
29875            pstreams: *const D3D11_VIDEO_PROCESSOR_STREAM,
29876        ) -> windows_core::HRESULT {
29877            unsafe {
29878                let this: &Identity =
29879                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
29880                ID3D11VideoContext_Impl::VideoProcessorBlt(
29881                    this,
29882                    core::mem::transmute_copy(&pvideoprocessor),
29883                    core::mem::transmute_copy(&pview),
29884                    core::mem::transmute_copy(&outputframe),
29885                    core::mem::transmute_copy(&streamcount),
29886                    core::mem::transmute_copy(&pstreams),
29887                )
29888                .into()
29889            }
29890        }
29891        unsafe extern "system" fn NegotiateCryptoSessionKeyExchange<
29892            Identity: ID3D11VideoContext_Impl,
29893            const OFFSET: isize,
29894        >(
29895            this: *mut core::ffi::c_void,
29896            pcryptosession: *mut core::ffi::c_void,
29897            datasize: u32,
29898            pdata: *mut core::ffi::c_void,
29899        ) -> windows_core::HRESULT {
29900            unsafe {
29901                let this: &Identity =
29902                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
29903                ID3D11VideoContext_Impl::NegotiateCryptoSessionKeyExchange(
29904                    this,
29905                    core::mem::transmute_copy(&pcryptosession),
29906                    core::mem::transmute_copy(&datasize),
29907                    core::mem::transmute_copy(&pdata),
29908                )
29909                .into()
29910            }
29911        }
29912        unsafe extern "system" fn EncryptionBlt<
29913            Identity: ID3D11VideoContext_Impl,
29914            const OFFSET: isize,
29915        >(
29916            this: *mut core::ffi::c_void,
29917            pcryptosession: *mut core::ffi::c_void,
29918            psrcsurface: *mut core::ffi::c_void,
29919            pdstsurface: *mut core::ffi::c_void,
29920            ivsize: u32,
29921            piv: *mut core::ffi::c_void,
29922        ) {
29923            unsafe {
29924                let this: &Identity =
29925                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
29926                ID3D11VideoContext_Impl::EncryptionBlt(
29927                    this,
29928                    core::mem::transmute_copy(&pcryptosession),
29929                    core::mem::transmute_copy(&psrcsurface),
29930                    core::mem::transmute_copy(&pdstsurface),
29931                    core::mem::transmute_copy(&ivsize),
29932                    core::mem::transmute_copy(&piv),
29933                )
29934            }
29935        }
29936        unsafe extern "system" fn DecryptionBlt<
29937            Identity: ID3D11VideoContext_Impl,
29938            const OFFSET: isize,
29939        >(
29940            this: *mut core::ffi::c_void,
29941            pcryptosession: *mut core::ffi::c_void,
29942            psrcsurface: *mut core::ffi::c_void,
29943            pdstsurface: *mut core::ffi::c_void,
29944            pencryptedblockinfo: *const D3D11_ENCRYPTED_BLOCK_INFO,
29945            contentkeysize: u32,
29946            pcontentkey: *const core::ffi::c_void,
29947            ivsize: u32,
29948            piv: *mut core::ffi::c_void,
29949        ) {
29950            unsafe {
29951                let this: &Identity =
29952                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
29953                ID3D11VideoContext_Impl::DecryptionBlt(
29954                    this,
29955                    core::mem::transmute_copy(&pcryptosession),
29956                    core::mem::transmute_copy(&psrcsurface),
29957                    core::mem::transmute_copy(&pdstsurface),
29958                    core::mem::transmute_copy(&pencryptedblockinfo),
29959                    core::mem::transmute_copy(&contentkeysize),
29960                    core::mem::transmute_copy(&pcontentkey),
29961                    core::mem::transmute_copy(&ivsize),
29962                    core::mem::transmute_copy(&piv),
29963                )
29964            }
29965        }
29966        unsafe extern "system" fn StartSessionKeyRefresh<
29967            Identity: ID3D11VideoContext_Impl,
29968            const OFFSET: isize,
29969        >(
29970            this: *mut core::ffi::c_void,
29971            pcryptosession: *mut core::ffi::c_void,
29972            randomnumbersize: u32,
29973            prandomnumber: *mut core::ffi::c_void,
29974        ) {
29975            unsafe {
29976                let this: &Identity =
29977                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
29978                ID3D11VideoContext_Impl::StartSessionKeyRefresh(
29979                    this,
29980                    core::mem::transmute_copy(&pcryptosession),
29981                    core::mem::transmute_copy(&randomnumbersize),
29982                    core::mem::transmute_copy(&prandomnumber),
29983                )
29984            }
29985        }
29986        unsafe extern "system" fn FinishSessionKeyRefresh<
29987            Identity: ID3D11VideoContext_Impl,
29988            const OFFSET: isize,
29989        >(
29990            this: *mut core::ffi::c_void,
29991            pcryptosession: *mut core::ffi::c_void,
29992        ) {
29993            unsafe {
29994                let this: &Identity =
29995                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
29996                ID3D11VideoContext_Impl::FinishSessionKeyRefresh(
29997                    this,
29998                    core::mem::transmute_copy(&pcryptosession),
29999                )
30000            }
30001        }
30002        unsafe extern "system" fn GetEncryptionBltKey<
30003            Identity: ID3D11VideoContext_Impl,
30004            const OFFSET: isize,
30005        >(
30006            this: *mut core::ffi::c_void,
30007            pcryptosession: *mut core::ffi::c_void,
30008            keysize: u32,
30009            preadbackkey: *mut core::ffi::c_void,
30010        ) -> windows_core::HRESULT {
30011            unsafe {
30012                let this: &Identity =
30013                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
30014                ID3D11VideoContext_Impl::GetEncryptionBltKey(
30015                    this,
30016                    core::mem::transmute_copy(&pcryptosession),
30017                    core::mem::transmute_copy(&keysize),
30018                    core::mem::transmute_copy(&preadbackkey),
30019                )
30020                .into()
30021            }
30022        }
30023        unsafe extern "system" fn NegotiateAuthenticatedChannelKeyExchange<
30024            Identity: ID3D11VideoContext_Impl,
30025            const OFFSET: isize,
30026        >(
30027            this: *mut core::ffi::c_void,
30028            pchannel: *mut core::ffi::c_void,
30029            datasize: u32,
30030            pdata: *mut core::ffi::c_void,
30031        ) -> windows_core::HRESULT {
30032            unsafe {
30033                let this: &Identity =
30034                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
30035                ID3D11VideoContext_Impl::NegotiateAuthenticatedChannelKeyExchange(
30036                    this,
30037                    core::mem::transmute_copy(&pchannel),
30038                    core::mem::transmute_copy(&datasize),
30039                    core::mem::transmute_copy(&pdata),
30040                )
30041                .into()
30042            }
30043        }
30044        unsafe extern "system" fn QueryAuthenticatedChannel<
30045            Identity: ID3D11VideoContext_Impl,
30046            const OFFSET: isize,
30047        >(
30048            this: *mut core::ffi::c_void,
30049            pchannel: *mut core::ffi::c_void,
30050            inputsize: u32,
30051            pinput: *const core::ffi::c_void,
30052            outputsize: u32,
30053            poutput: *mut core::ffi::c_void,
30054        ) -> windows_core::HRESULT {
30055            unsafe {
30056                let this: &Identity =
30057                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
30058                ID3D11VideoContext_Impl::QueryAuthenticatedChannel(
30059                    this,
30060                    core::mem::transmute_copy(&pchannel),
30061                    core::mem::transmute_copy(&inputsize),
30062                    core::mem::transmute_copy(&pinput),
30063                    core::mem::transmute_copy(&outputsize),
30064                    core::mem::transmute_copy(&poutput),
30065                )
30066                .into()
30067            }
30068        }
30069        unsafe extern "system" fn ConfigureAuthenticatedChannel<
30070            Identity: ID3D11VideoContext_Impl,
30071            const OFFSET: isize,
30072        >(
30073            this: *mut core::ffi::c_void,
30074            pchannel: *mut core::ffi::c_void,
30075            inputsize: u32,
30076            pinput: *const core::ffi::c_void,
30077            poutput: *mut D3D11_AUTHENTICATED_CONFIGURE_OUTPUT,
30078        ) -> windows_core::HRESULT {
30079            unsafe {
30080                let this: &Identity =
30081                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
30082                ID3D11VideoContext_Impl::ConfigureAuthenticatedChannel(
30083                    this,
30084                    core::mem::transmute_copy(&pchannel),
30085                    core::mem::transmute_copy(&inputsize),
30086                    core::mem::transmute_copy(&pinput),
30087                    core::mem::transmute_copy(&poutput),
30088                )
30089                .into()
30090            }
30091        }
30092        unsafe extern "system" fn VideoProcessorSetStreamRotation<
30093            Identity: ID3D11VideoContext_Impl,
30094            const OFFSET: isize,
30095        >(
30096            this: *mut core::ffi::c_void,
30097            pvideoprocessor: *mut core::ffi::c_void,
30098            streamindex: u32,
30099            enable: crate::Foundation::BOOL,
30100            rotation: D3D11_VIDEO_PROCESSOR_ROTATION,
30101        ) {
30102            unsafe {
30103                let this: &Identity =
30104                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
30105                ID3D11VideoContext_Impl::VideoProcessorSetStreamRotation(
30106                    this,
30107                    core::mem::transmute_copy(&pvideoprocessor),
30108                    core::mem::transmute_copy(&streamindex),
30109                    core::mem::transmute_copy(&enable),
30110                    core::mem::transmute_copy(&rotation),
30111                )
30112            }
30113        }
30114        unsafe extern "system" fn VideoProcessorGetStreamRotation<
30115            Identity: ID3D11VideoContext_Impl,
30116            const OFFSET: isize,
30117        >(
30118            this: *mut core::ffi::c_void,
30119            pvideoprocessor: *mut core::ffi::c_void,
30120            streamindex: u32,
30121            penable: *mut crate::Foundation::BOOL,
30122            protation: *mut D3D11_VIDEO_PROCESSOR_ROTATION,
30123        ) {
30124            unsafe {
30125                let this: &Identity =
30126                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
30127                ID3D11VideoContext_Impl::VideoProcessorGetStreamRotation(
30128                    this,
30129                    core::mem::transmute_copy(&pvideoprocessor),
30130                    core::mem::transmute_copy(&streamindex),
30131                    core::mem::transmute_copy(&penable),
30132                    core::mem::transmute_copy(&protation),
30133                )
30134            }
30135        }
30136        Self {
30137            base__: ID3D11DeviceChild_Vtbl::new::<Identity, OFFSET>(),
30138            GetDecoderBuffer: GetDecoderBuffer::<Identity, OFFSET>,
30139            ReleaseDecoderBuffer: ReleaseDecoderBuffer::<Identity, OFFSET>,
30140            DecoderBeginFrame: DecoderBeginFrame::<Identity, OFFSET>,
30141            DecoderEndFrame: DecoderEndFrame::<Identity, OFFSET>,
30142            SubmitDecoderBuffers: SubmitDecoderBuffers::<Identity, OFFSET>,
30143            DecoderExtension: DecoderExtension::<Identity, OFFSET>,
30144            VideoProcessorSetOutputTargetRect: VideoProcessorSetOutputTargetRect::<Identity, OFFSET>,
30145            VideoProcessorSetOutputBackgroundColor: VideoProcessorSetOutputBackgroundColor::<
30146                Identity,
30147                OFFSET,
30148            >,
30149            VideoProcessorSetOutputColorSpace: VideoProcessorSetOutputColorSpace::<Identity, OFFSET>,
30150            VideoProcessorSetOutputAlphaFillMode: VideoProcessorSetOutputAlphaFillMode::<
30151                Identity,
30152                OFFSET,
30153            >,
30154            VideoProcessorSetOutputConstriction: VideoProcessorSetOutputConstriction::<
30155                Identity,
30156                OFFSET,
30157            >,
30158            VideoProcessorSetOutputStereoMode: VideoProcessorSetOutputStereoMode::<Identity, OFFSET>,
30159            VideoProcessorSetOutputExtension: VideoProcessorSetOutputExtension::<Identity, OFFSET>,
30160            VideoProcessorGetOutputTargetRect: VideoProcessorGetOutputTargetRect::<Identity, OFFSET>,
30161            VideoProcessorGetOutputBackgroundColor: VideoProcessorGetOutputBackgroundColor::<
30162                Identity,
30163                OFFSET,
30164            >,
30165            VideoProcessorGetOutputColorSpace: VideoProcessorGetOutputColorSpace::<Identity, OFFSET>,
30166            VideoProcessorGetOutputAlphaFillMode: VideoProcessorGetOutputAlphaFillMode::<
30167                Identity,
30168                OFFSET,
30169            >,
30170            VideoProcessorGetOutputConstriction: VideoProcessorGetOutputConstriction::<
30171                Identity,
30172                OFFSET,
30173            >,
30174            VideoProcessorGetOutputStereoMode: VideoProcessorGetOutputStereoMode::<Identity, OFFSET>,
30175            VideoProcessorGetOutputExtension: VideoProcessorGetOutputExtension::<Identity, OFFSET>,
30176            VideoProcessorSetStreamFrameFormat: VideoProcessorSetStreamFrameFormat::<
30177                Identity,
30178                OFFSET,
30179            >,
30180            VideoProcessorSetStreamColorSpace: VideoProcessorSetStreamColorSpace::<Identity, OFFSET>,
30181            VideoProcessorSetStreamOutputRate: VideoProcessorSetStreamOutputRate::<Identity, OFFSET>,
30182            VideoProcessorSetStreamSourceRect: VideoProcessorSetStreamSourceRect::<Identity, OFFSET>,
30183            VideoProcessorSetStreamDestRect: VideoProcessorSetStreamDestRect::<Identity, OFFSET>,
30184            VideoProcessorSetStreamAlpha: VideoProcessorSetStreamAlpha::<Identity, OFFSET>,
30185            VideoProcessorSetStreamPalette: VideoProcessorSetStreamPalette::<Identity, OFFSET>,
30186            VideoProcessorSetStreamPixelAspectRatio: VideoProcessorSetStreamPixelAspectRatio::<
30187                Identity,
30188                OFFSET,
30189            >,
30190            VideoProcessorSetStreamLumaKey: VideoProcessorSetStreamLumaKey::<Identity, OFFSET>,
30191            VideoProcessorSetStreamStereoFormat: VideoProcessorSetStreamStereoFormat::<
30192                Identity,
30193                OFFSET,
30194            >,
30195            VideoProcessorSetStreamAutoProcessingMode: VideoProcessorSetStreamAutoProcessingMode::<
30196                Identity,
30197                OFFSET,
30198            >,
30199            VideoProcessorSetStreamFilter: VideoProcessorSetStreamFilter::<Identity, OFFSET>,
30200            VideoProcessorSetStreamExtension: VideoProcessorSetStreamExtension::<Identity, OFFSET>,
30201            VideoProcessorGetStreamFrameFormat: VideoProcessorGetStreamFrameFormat::<
30202                Identity,
30203                OFFSET,
30204            >,
30205            VideoProcessorGetStreamColorSpace: VideoProcessorGetStreamColorSpace::<Identity, OFFSET>,
30206            VideoProcessorGetStreamOutputRate: VideoProcessorGetStreamOutputRate::<Identity, OFFSET>,
30207            VideoProcessorGetStreamSourceRect: VideoProcessorGetStreamSourceRect::<Identity, OFFSET>,
30208            VideoProcessorGetStreamDestRect: VideoProcessorGetStreamDestRect::<Identity, OFFSET>,
30209            VideoProcessorGetStreamAlpha: VideoProcessorGetStreamAlpha::<Identity, OFFSET>,
30210            VideoProcessorGetStreamPalette: VideoProcessorGetStreamPalette::<Identity, OFFSET>,
30211            VideoProcessorGetStreamPixelAspectRatio: VideoProcessorGetStreamPixelAspectRatio::<
30212                Identity,
30213                OFFSET,
30214            >,
30215            VideoProcessorGetStreamLumaKey: VideoProcessorGetStreamLumaKey::<Identity, OFFSET>,
30216            VideoProcessorGetStreamStereoFormat: VideoProcessorGetStreamStereoFormat::<
30217                Identity,
30218                OFFSET,
30219            >,
30220            VideoProcessorGetStreamAutoProcessingMode: VideoProcessorGetStreamAutoProcessingMode::<
30221                Identity,
30222                OFFSET,
30223            >,
30224            VideoProcessorGetStreamFilter: VideoProcessorGetStreamFilter::<Identity, OFFSET>,
30225            VideoProcessorGetStreamExtension: VideoProcessorGetStreamExtension::<Identity, OFFSET>,
30226            VideoProcessorBlt: VideoProcessorBlt::<Identity, OFFSET>,
30227            NegotiateCryptoSessionKeyExchange: NegotiateCryptoSessionKeyExchange::<Identity, OFFSET>,
30228            EncryptionBlt: EncryptionBlt::<Identity, OFFSET>,
30229            DecryptionBlt: DecryptionBlt::<Identity, OFFSET>,
30230            StartSessionKeyRefresh: StartSessionKeyRefresh::<Identity, OFFSET>,
30231            FinishSessionKeyRefresh: FinishSessionKeyRefresh::<Identity, OFFSET>,
30232            GetEncryptionBltKey: GetEncryptionBltKey::<Identity, OFFSET>,
30233            NegotiateAuthenticatedChannelKeyExchange: NegotiateAuthenticatedChannelKeyExchange::<
30234                Identity,
30235                OFFSET,
30236            >,
30237            QueryAuthenticatedChannel: QueryAuthenticatedChannel::<Identity, OFFSET>,
30238            ConfigureAuthenticatedChannel: ConfigureAuthenticatedChannel::<Identity, OFFSET>,
30239            VideoProcessorSetStreamRotation: VideoProcessorSetStreamRotation::<Identity, OFFSET>,
30240            VideoProcessorGetStreamRotation: VideoProcessorGetStreamRotation::<Identity, OFFSET>,
30241        }
30242    }
30243    pub fn matches(iid: &windows_core::GUID) -> bool {
30244        iid == &<ID3D11VideoContext as windows_core::Interface>::IID
30245            || iid == &<ID3D11DeviceChild as windows_core::Interface>::IID
30246    }
30247}
30248#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
30249impl windows_core::RuntimeName for ID3D11VideoContext {}
30250#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
30251unsafe impl Send for ID3D11VideoContext {}
30252#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
30253unsafe impl Sync for ID3D11VideoContext {}
30254windows_core::imp::define_interface!(
30255    ID3D11VideoContext1,
30256    ID3D11VideoContext1_Vtbl,
30257    0xa7f026da_a5f8_4487_a564_15e34357651e
30258);
30259impl core::ops::Deref for ID3D11VideoContext1 {
30260    type Target = ID3D11VideoContext;
30261    fn deref(&self) -> &Self::Target {
30262        unsafe { core::mem::transmute(self) }
30263    }
30264}
30265windows_core::imp::interface_hierarchy!(
30266    ID3D11VideoContext1,
30267    windows_core::IUnknown,
30268    ID3D11DeviceChild,
30269    ID3D11VideoContext
30270);
30271impl ID3D11VideoContext1 {
30272    pub unsafe fn SubmitDecoderBuffers1<P0>(
30273        &self,
30274        pdecoder: P0,
30275        pbufferdesc: &[D3D11_VIDEO_DECODER_BUFFER_DESC1],
30276    ) -> windows_core::Result<()>
30277    where
30278        P0: windows_core::Param<ID3D11VideoDecoder>,
30279    {
30280        unsafe {
30281            (windows_core::Interface::vtable(self).SubmitDecoderBuffers1)(
30282                windows_core::Interface::as_raw(self),
30283                pdecoder.param().abi(),
30284                pbufferdesc.len().try_into().unwrap(),
30285                core::mem::transmute(pbufferdesc.as_ptr()),
30286            )
30287            .ok()
30288        }
30289    }
30290    pub unsafe fn GetDataForNewHardwareKey<P0>(
30291        &self,
30292        pcryptosession: P0,
30293        pprivatinputdata: &[u8],
30294    ) -> windows_core::Result<u64>
30295    where
30296        P0: windows_core::Param<ID3D11CryptoSession>,
30297    {
30298        unsafe {
30299            let mut result__ = core::mem::zeroed();
30300            (windows_core::Interface::vtable(self).GetDataForNewHardwareKey)(
30301                windows_core::Interface::as_raw(self),
30302                pcryptosession.param().abi(),
30303                pprivatinputdata.len().try_into().unwrap(),
30304                core::mem::transmute(pprivatinputdata.as_ptr()),
30305                &mut result__,
30306            )
30307            .map(|| result__)
30308        }
30309    }
30310    pub unsafe fn CheckCryptoSessionStatus<P0>(
30311        &self,
30312        pcryptosession: P0,
30313    ) -> windows_core::Result<D3D11_CRYPTO_SESSION_STATUS>
30314    where
30315        P0: windows_core::Param<ID3D11CryptoSession>,
30316    {
30317        unsafe {
30318            let mut result__ = core::mem::zeroed();
30319            (windows_core::Interface::vtable(self).CheckCryptoSessionStatus)(
30320                windows_core::Interface::as_raw(self),
30321                pcryptosession.param().abi(),
30322                &mut result__,
30323            )
30324            .map(|| result__)
30325        }
30326    }
30327    #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
30328    pub unsafe fn DecoderEnableDownsampling<P0>(
30329        &self,
30330        pdecoder: P0,
30331        inputcolorspace: crate::Dxgi::Common::DXGI_COLOR_SPACE_TYPE,
30332        poutputdesc: *const D3D11_VIDEO_SAMPLE_DESC,
30333        referenceframecount: u32,
30334    ) -> windows_core::Result<()>
30335    where
30336        P0: windows_core::Param<ID3D11VideoDecoder>,
30337    {
30338        unsafe {
30339            (windows_core::Interface::vtable(self).DecoderEnableDownsampling)(
30340                windows_core::Interface::as_raw(self),
30341                pdecoder.param().abi(),
30342                inputcolorspace,
30343                poutputdesc,
30344                referenceframecount,
30345            )
30346            .ok()
30347        }
30348    }
30349    #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
30350    pub unsafe fn DecoderUpdateDownsampling<P0>(
30351        &self,
30352        pdecoder: P0,
30353        poutputdesc: *const D3D11_VIDEO_SAMPLE_DESC,
30354    ) -> windows_core::Result<()>
30355    where
30356        P0: windows_core::Param<ID3D11VideoDecoder>,
30357    {
30358        unsafe {
30359            (windows_core::Interface::vtable(self).DecoderUpdateDownsampling)(
30360                windows_core::Interface::as_raw(self),
30361                pdecoder.param().abi(),
30362                poutputdesc,
30363            )
30364            .ok()
30365        }
30366    }
30367    #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
30368    pub unsafe fn VideoProcessorSetOutputColorSpace1<P0>(
30369        &self,
30370        pvideoprocessor: P0,
30371        colorspace: crate::Dxgi::Common::DXGI_COLOR_SPACE_TYPE,
30372    ) where
30373        P0: windows_core::Param<ID3D11VideoProcessor>,
30374    {
30375        unsafe {
30376            (windows_core::Interface::vtable(self).VideoProcessorSetOutputColorSpace1)(
30377                windows_core::Interface::as_raw(self),
30378                pvideoprocessor.param().abi(),
30379                colorspace,
30380            )
30381        }
30382    }
30383    pub unsafe fn VideoProcessorSetOutputShaderUsage<P0>(
30384        &self,
30385        pvideoprocessor: P0,
30386        shaderusage: bool,
30387    ) where
30388        P0: windows_core::Param<ID3D11VideoProcessor>,
30389    {
30390        unsafe {
30391            (windows_core::Interface::vtable(self).VideoProcessorSetOutputShaderUsage)(
30392                windows_core::Interface::as_raw(self),
30393                pvideoprocessor.param().abi(),
30394                shaderusage.into(),
30395            )
30396        }
30397    }
30398    #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
30399    pub unsafe fn VideoProcessorGetOutputColorSpace1<P0>(
30400        &self,
30401        pvideoprocessor: P0,
30402    ) -> crate::Dxgi::Common::DXGI_COLOR_SPACE_TYPE
30403    where
30404        P0: windows_core::Param<ID3D11VideoProcessor>,
30405    {
30406        unsafe {
30407            let mut result__ = core::mem::zeroed();
30408            (windows_core::Interface::vtable(self).VideoProcessorGetOutputColorSpace1)(
30409                windows_core::Interface::as_raw(self),
30410                pvideoprocessor.param().abi(),
30411                &mut result__,
30412            );
30413            result__
30414        }
30415    }
30416    pub unsafe fn VideoProcessorGetOutputShaderUsage<P0>(
30417        &self,
30418        pvideoprocessor: P0,
30419    ) -> crate::Foundation::BOOL
30420    where
30421        P0: windows_core::Param<ID3D11VideoProcessor>,
30422    {
30423        unsafe {
30424            let mut result__ = core::mem::zeroed();
30425            (windows_core::Interface::vtable(self).VideoProcessorGetOutputShaderUsage)(
30426                windows_core::Interface::as_raw(self),
30427                pvideoprocessor.param().abi(),
30428                &mut result__,
30429            );
30430            result__
30431        }
30432    }
30433    #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
30434    pub unsafe fn VideoProcessorSetStreamColorSpace1<P0>(
30435        &self,
30436        pvideoprocessor: P0,
30437        streamindex: u32,
30438        colorspace: crate::Dxgi::Common::DXGI_COLOR_SPACE_TYPE,
30439    ) where
30440        P0: windows_core::Param<ID3D11VideoProcessor>,
30441    {
30442        unsafe {
30443            (windows_core::Interface::vtable(self).VideoProcessorSetStreamColorSpace1)(
30444                windows_core::Interface::as_raw(self),
30445                pvideoprocessor.param().abi(),
30446                streamindex,
30447                colorspace,
30448            )
30449        }
30450    }
30451    pub unsafe fn VideoProcessorSetStreamMirror<P0>(
30452        &self,
30453        pvideoprocessor: P0,
30454        streamindex: u32,
30455        enable: bool,
30456        fliphorizontal: bool,
30457        flipvertical: bool,
30458    ) where
30459        P0: windows_core::Param<ID3D11VideoProcessor>,
30460    {
30461        unsafe {
30462            (windows_core::Interface::vtable(self).VideoProcessorSetStreamMirror)(
30463                windows_core::Interface::as_raw(self),
30464                pvideoprocessor.param().abi(),
30465                streamindex,
30466                enable.into(),
30467                fliphorizontal.into(),
30468                flipvertical.into(),
30469            )
30470        }
30471    }
30472    #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
30473    pub unsafe fn VideoProcessorGetStreamColorSpace1<P0>(
30474        &self,
30475        pvideoprocessor: P0,
30476        streamindex: u32,
30477    ) -> crate::Dxgi::Common::DXGI_COLOR_SPACE_TYPE
30478    where
30479        P0: windows_core::Param<ID3D11VideoProcessor>,
30480    {
30481        unsafe {
30482            let mut result__ = core::mem::zeroed();
30483            (windows_core::Interface::vtable(self).VideoProcessorGetStreamColorSpace1)(
30484                windows_core::Interface::as_raw(self),
30485                pvideoprocessor.param().abi(),
30486                streamindex,
30487                &mut result__,
30488            );
30489            result__
30490        }
30491    }
30492    pub unsafe fn VideoProcessorGetStreamMirror<P0>(
30493        &self,
30494        pvideoprocessor: P0,
30495        streamindex: u32,
30496        penable: *mut crate::Foundation::BOOL,
30497        pfliphorizontal: *mut crate::Foundation::BOOL,
30498        pflipvertical: *mut crate::Foundation::BOOL,
30499    ) where
30500        P0: windows_core::Param<ID3D11VideoProcessor>,
30501    {
30502        unsafe {
30503            (windows_core::Interface::vtable(self).VideoProcessorGetStreamMirror)(
30504                windows_core::Interface::as_raw(self),
30505                pvideoprocessor.param().abi(),
30506                streamindex,
30507                core::mem::transmute(penable),
30508                core::mem::transmute(pfliphorizontal),
30509                core::mem::transmute(pflipvertical),
30510            )
30511        }
30512    }
30513    #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
30514    pub unsafe fn VideoProcessorGetBehaviorHints<P0>(
30515        &self,
30516        pvideoprocessor: P0,
30517        outputwidth: u32,
30518        outputheight: u32,
30519        outputformat: crate::Dxgi::Common::DXGI_FORMAT,
30520        pstreams: &[D3D11_VIDEO_PROCESSOR_STREAM_BEHAVIOR_HINT],
30521    ) -> windows_core::Result<u32>
30522    where
30523        P0: windows_core::Param<ID3D11VideoProcessor>,
30524    {
30525        unsafe {
30526            let mut result__ = core::mem::zeroed();
30527            (windows_core::Interface::vtable(self).VideoProcessorGetBehaviorHints)(
30528                windows_core::Interface::as_raw(self),
30529                pvideoprocessor.param().abi(),
30530                outputwidth,
30531                outputheight,
30532                outputformat,
30533                pstreams.len().try_into().unwrap(),
30534                core::mem::transmute(pstreams.as_ptr()),
30535                &mut result__,
30536            )
30537            .map(|| result__)
30538        }
30539    }
30540}
30541#[repr(C)]
30542pub struct ID3D11VideoContext1_Vtbl {
30543    pub base__: ID3D11VideoContext_Vtbl,
30544    pub SubmitDecoderBuffers1: unsafe extern "system" fn(
30545        *mut core::ffi::c_void,
30546        *mut core::ffi::c_void,
30547        u32,
30548        *const D3D11_VIDEO_DECODER_BUFFER_DESC1,
30549    ) -> windows_core::HRESULT,
30550    pub GetDataForNewHardwareKey: unsafe extern "system" fn(
30551        *mut core::ffi::c_void,
30552        *mut core::ffi::c_void,
30553        u32,
30554        *const core::ffi::c_void,
30555        *mut u64,
30556    ) -> windows_core::HRESULT,
30557    pub CheckCryptoSessionStatus: unsafe extern "system" fn(
30558        *mut core::ffi::c_void,
30559        *mut core::ffi::c_void,
30560        *mut D3D11_CRYPTO_SESSION_STATUS,
30561    ) -> windows_core::HRESULT,
30562    #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
30563    pub DecoderEnableDownsampling: unsafe extern "system" fn(
30564        *mut core::ffi::c_void,
30565        *mut core::ffi::c_void,
30566        crate::Dxgi::Common::DXGI_COLOR_SPACE_TYPE,
30567        *const D3D11_VIDEO_SAMPLE_DESC,
30568        u32,
30569    ) -> windows_core::HRESULT,
30570    #[cfg(not(feature = "Win32_Graphics_Dxgi_Common"))]
30571    DecoderEnableDownsampling: usize,
30572    #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
30573    pub DecoderUpdateDownsampling: unsafe extern "system" fn(
30574        *mut core::ffi::c_void,
30575        *mut core::ffi::c_void,
30576        *const D3D11_VIDEO_SAMPLE_DESC,
30577    ) -> windows_core::HRESULT,
30578    #[cfg(not(feature = "Win32_Graphics_Dxgi_Common"))]
30579    DecoderUpdateDownsampling: usize,
30580    #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
30581    pub VideoProcessorSetOutputColorSpace1: unsafe extern "system" fn(
30582        *mut core::ffi::c_void,
30583        *mut core::ffi::c_void,
30584        crate::Dxgi::Common::DXGI_COLOR_SPACE_TYPE,
30585    ),
30586    #[cfg(not(feature = "Win32_Graphics_Dxgi_Common"))]
30587    VideoProcessorSetOutputColorSpace1: usize,
30588    pub VideoProcessorSetOutputShaderUsage: unsafe extern "system" fn(
30589        *mut core::ffi::c_void,
30590        *mut core::ffi::c_void,
30591        crate::Foundation::BOOL,
30592    ),
30593    #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
30594    pub VideoProcessorGetOutputColorSpace1: unsafe extern "system" fn(
30595        *mut core::ffi::c_void,
30596        *mut core::ffi::c_void,
30597        *mut crate::Dxgi::Common::DXGI_COLOR_SPACE_TYPE,
30598    ),
30599    #[cfg(not(feature = "Win32_Graphics_Dxgi_Common"))]
30600    VideoProcessorGetOutputColorSpace1: usize,
30601    pub VideoProcessorGetOutputShaderUsage: unsafe extern "system" fn(
30602        *mut core::ffi::c_void,
30603        *mut core::ffi::c_void,
30604        *mut crate::Foundation::BOOL,
30605    ),
30606    #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
30607    pub VideoProcessorSetStreamColorSpace1: unsafe extern "system" fn(
30608        *mut core::ffi::c_void,
30609        *mut core::ffi::c_void,
30610        u32,
30611        crate::Dxgi::Common::DXGI_COLOR_SPACE_TYPE,
30612    ),
30613    #[cfg(not(feature = "Win32_Graphics_Dxgi_Common"))]
30614    VideoProcessorSetStreamColorSpace1: usize,
30615    pub VideoProcessorSetStreamMirror: unsafe extern "system" fn(
30616        *mut core::ffi::c_void,
30617        *mut core::ffi::c_void,
30618        u32,
30619        crate::Foundation::BOOL,
30620        crate::Foundation::BOOL,
30621        crate::Foundation::BOOL,
30622    ),
30623    #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
30624    pub VideoProcessorGetStreamColorSpace1: unsafe extern "system" fn(
30625        *mut core::ffi::c_void,
30626        *mut core::ffi::c_void,
30627        u32,
30628        *mut crate::Dxgi::Common::DXGI_COLOR_SPACE_TYPE,
30629    ),
30630    #[cfg(not(feature = "Win32_Graphics_Dxgi_Common"))]
30631    VideoProcessorGetStreamColorSpace1: usize,
30632    pub VideoProcessorGetStreamMirror: unsafe extern "system" fn(
30633        *mut core::ffi::c_void,
30634        *mut core::ffi::c_void,
30635        u32,
30636        *mut crate::Foundation::BOOL,
30637        *mut crate::Foundation::BOOL,
30638        *mut crate::Foundation::BOOL,
30639    ),
30640    #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
30641    pub VideoProcessorGetBehaviorHints: unsafe extern "system" fn(
30642        *mut core::ffi::c_void,
30643        *mut core::ffi::c_void,
30644        u32,
30645        u32,
30646        crate::Dxgi::Common::DXGI_FORMAT,
30647        u32,
30648        *const D3D11_VIDEO_PROCESSOR_STREAM_BEHAVIOR_HINT,
30649        *mut u32,
30650    ) -> windows_core::HRESULT,
30651    #[cfg(not(feature = "Win32_Graphics_Dxgi_Common"))]
30652    VideoProcessorGetBehaviorHints: usize,
30653}
30654#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
30655pub trait ID3D11VideoContext1_Impl: ID3D11VideoContext_Impl {
30656    fn SubmitDecoderBuffers1(
30657        &self,
30658        pdecoder: windows_core::Ref<'_, ID3D11VideoDecoder>,
30659        numbuffers: u32,
30660        pbufferdesc: *const D3D11_VIDEO_DECODER_BUFFER_DESC1,
30661    ) -> windows_core::Result<()>;
30662    fn GetDataForNewHardwareKey(
30663        &self,
30664        pcryptosession: windows_core::Ref<'_, ID3D11CryptoSession>,
30665        privateinputsize: u32,
30666        pprivatinputdata: *const core::ffi::c_void,
30667    ) -> windows_core::Result<u64>;
30668    fn CheckCryptoSessionStatus(
30669        &self,
30670        pcryptosession: windows_core::Ref<'_, ID3D11CryptoSession>,
30671    ) -> windows_core::Result<D3D11_CRYPTO_SESSION_STATUS>;
30672    fn DecoderEnableDownsampling(
30673        &self,
30674        pdecoder: windows_core::Ref<'_, ID3D11VideoDecoder>,
30675        inputcolorspace: crate::Dxgi::Common::DXGI_COLOR_SPACE_TYPE,
30676        poutputdesc: *const D3D11_VIDEO_SAMPLE_DESC,
30677        referenceframecount: u32,
30678    ) -> windows_core::Result<()>;
30679    fn DecoderUpdateDownsampling(
30680        &self,
30681        pdecoder: windows_core::Ref<'_, ID3D11VideoDecoder>,
30682        poutputdesc: *const D3D11_VIDEO_SAMPLE_DESC,
30683    ) -> windows_core::Result<()>;
30684    fn VideoProcessorSetOutputColorSpace1(
30685        &self,
30686        pvideoprocessor: windows_core::Ref<'_, ID3D11VideoProcessor>,
30687        colorspace: crate::Dxgi::Common::DXGI_COLOR_SPACE_TYPE,
30688    );
30689    fn VideoProcessorSetOutputShaderUsage(
30690        &self,
30691        pvideoprocessor: windows_core::Ref<'_, ID3D11VideoProcessor>,
30692        shaderusage: crate::Foundation::BOOL,
30693    );
30694    fn VideoProcessorGetOutputColorSpace1(
30695        &self,
30696        pvideoprocessor: windows_core::Ref<'_, ID3D11VideoProcessor>,
30697        pcolorspace: *mut crate::Dxgi::Common::DXGI_COLOR_SPACE_TYPE,
30698    );
30699    fn VideoProcessorGetOutputShaderUsage(
30700        &self,
30701        pvideoprocessor: windows_core::Ref<'_, ID3D11VideoProcessor>,
30702        pshaderusage: *mut crate::Foundation::BOOL,
30703    );
30704    fn VideoProcessorSetStreamColorSpace1(
30705        &self,
30706        pvideoprocessor: windows_core::Ref<'_, ID3D11VideoProcessor>,
30707        streamindex: u32,
30708        colorspace: crate::Dxgi::Common::DXGI_COLOR_SPACE_TYPE,
30709    );
30710    fn VideoProcessorSetStreamMirror(
30711        &self,
30712        pvideoprocessor: windows_core::Ref<'_, ID3D11VideoProcessor>,
30713        streamindex: u32,
30714        enable: crate::Foundation::BOOL,
30715        fliphorizontal: crate::Foundation::BOOL,
30716        flipvertical: crate::Foundation::BOOL,
30717    );
30718    fn VideoProcessorGetStreamColorSpace1(
30719        &self,
30720        pvideoprocessor: windows_core::Ref<'_, ID3D11VideoProcessor>,
30721        streamindex: u32,
30722        pcolorspace: *mut crate::Dxgi::Common::DXGI_COLOR_SPACE_TYPE,
30723    );
30724    fn VideoProcessorGetStreamMirror(
30725        &self,
30726        pvideoprocessor: windows_core::Ref<'_, ID3D11VideoProcessor>,
30727        streamindex: u32,
30728        penable: *mut crate::Foundation::BOOL,
30729        pfliphorizontal: *mut crate::Foundation::BOOL,
30730        pflipvertical: *mut crate::Foundation::BOOL,
30731    );
30732    fn VideoProcessorGetBehaviorHints(
30733        &self,
30734        pvideoprocessor: windows_core::Ref<'_, ID3D11VideoProcessor>,
30735        outputwidth: u32,
30736        outputheight: u32,
30737        outputformat: crate::Dxgi::Common::DXGI_FORMAT,
30738        streamcount: u32,
30739        pstreams: *const D3D11_VIDEO_PROCESSOR_STREAM_BEHAVIOR_HINT,
30740    ) -> windows_core::Result<u32>;
30741}
30742#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
30743impl ID3D11VideoContext1_Vtbl {
30744    pub const fn new<Identity: ID3D11VideoContext1_Impl, const OFFSET: isize>() -> Self {
30745        unsafe extern "system" fn SubmitDecoderBuffers1<
30746            Identity: ID3D11VideoContext1_Impl,
30747            const OFFSET: isize,
30748        >(
30749            this: *mut core::ffi::c_void,
30750            pdecoder: *mut core::ffi::c_void,
30751            numbuffers: u32,
30752            pbufferdesc: *const D3D11_VIDEO_DECODER_BUFFER_DESC1,
30753        ) -> windows_core::HRESULT {
30754            unsafe {
30755                let this: &Identity =
30756                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
30757                ID3D11VideoContext1_Impl::SubmitDecoderBuffers1(
30758                    this,
30759                    core::mem::transmute_copy(&pdecoder),
30760                    core::mem::transmute_copy(&numbuffers),
30761                    core::mem::transmute_copy(&pbufferdesc),
30762                )
30763                .into()
30764            }
30765        }
30766        unsafe extern "system" fn GetDataForNewHardwareKey<
30767            Identity: ID3D11VideoContext1_Impl,
30768            const OFFSET: isize,
30769        >(
30770            this: *mut core::ffi::c_void,
30771            pcryptosession: *mut core::ffi::c_void,
30772            privateinputsize: u32,
30773            pprivatinputdata: *const core::ffi::c_void,
30774            pprivateoutputdata: *mut u64,
30775        ) -> windows_core::HRESULT {
30776            unsafe {
30777                let this: &Identity =
30778                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
30779                match ID3D11VideoContext1_Impl::GetDataForNewHardwareKey(
30780                    this,
30781                    core::mem::transmute_copy(&pcryptosession),
30782                    core::mem::transmute_copy(&privateinputsize),
30783                    core::mem::transmute_copy(&pprivatinputdata),
30784                ) {
30785                    Ok(ok__) => {
30786                        pprivateoutputdata.write(core::mem::transmute(ok__));
30787                        windows_core::HRESULT(0)
30788                    }
30789                    Err(err) => err.into(),
30790                }
30791            }
30792        }
30793        unsafe extern "system" fn CheckCryptoSessionStatus<
30794            Identity: ID3D11VideoContext1_Impl,
30795            const OFFSET: isize,
30796        >(
30797            this: *mut core::ffi::c_void,
30798            pcryptosession: *mut core::ffi::c_void,
30799            pstatus: *mut D3D11_CRYPTO_SESSION_STATUS,
30800        ) -> windows_core::HRESULT {
30801            unsafe {
30802                let this: &Identity =
30803                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
30804                match ID3D11VideoContext1_Impl::CheckCryptoSessionStatus(
30805                    this,
30806                    core::mem::transmute_copy(&pcryptosession),
30807                ) {
30808                    Ok(ok__) => {
30809                        pstatus.write(core::mem::transmute(ok__));
30810                        windows_core::HRESULT(0)
30811                    }
30812                    Err(err) => err.into(),
30813                }
30814            }
30815        }
30816        unsafe extern "system" fn DecoderEnableDownsampling<
30817            Identity: ID3D11VideoContext1_Impl,
30818            const OFFSET: isize,
30819        >(
30820            this: *mut core::ffi::c_void,
30821            pdecoder: *mut core::ffi::c_void,
30822            inputcolorspace: crate::Dxgi::Common::DXGI_COLOR_SPACE_TYPE,
30823            poutputdesc: *const D3D11_VIDEO_SAMPLE_DESC,
30824            referenceframecount: u32,
30825        ) -> windows_core::HRESULT {
30826            unsafe {
30827                let this: &Identity =
30828                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
30829                ID3D11VideoContext1_Impl::DecoderEnableDownsampling(
30830                    this,
30831                    core::mem::transmute_copy(&pdecoder),
30832                    core::mem::transmute_copy(&inputcolorspace),
30833                    core::mem::transmute_copy(&poutputdesc),
30834                    core::mem::transmute_copy(&referenceframecount),
30835                )
30836                .into()
30837            }
30838        }
30839        unsafe extern "system" fn DecoderUpdateDownsampling<
30840            Identity: ID3D11VideoContext1_Impl,
30841            const OFFSET: isize,
30842        >(
30843            this: *mut core::ffi::c_void,
30844            pdecoder: *mut core::ffi::c_void,
30845            poutputdesc: *const D3D11_VIDEO_SAMPLE_DESC,
30846        ) -> windows_core::HRESULT {
30847            unsafe {
30848                let this: &Identity =
30849                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
30850                ID3D11VideoContext1_Impl::DecoderUpdateDownsampling(
30851                    this,
30852                    core::mem::transmute_copy(&pdecoder),
30853                    core::mem::transmute_copy(&poutputdesc),
30854                )
30855                .into()
30856            }
30857        }
30858        unsafe extern "system" fn VideoProcessorSetOutputColorSpace1<
30859            Identity: ID3D11VideoContext1_Impl,
30860            const OFFSET: isize,
30861        >(
30862            this: *mut core::ffi::c_void,
30863            pvideoprocessor: *mut core::ffi::c_void,
30864            colorspace: crate::Dxgi::Common::DXGI_COLOR_SPACE_TYPE,
30865        ) {
30866            unsafe {
30867                let this: &Identity =
30868                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
30869                ID3D11VideoContext1_Impl::VideoProcessorSetOutputColorSpace1(
30870                    this,
30871                    core::mem::transmute_copy(&pvideoprocessor),
30872                    core::mem::transmute_copy(&colorspace),
30873                )
30874            }
30875        }
30876        unsafe extern "system" fn VideoProcessorSetOutputShaderUsage<
30877            Identity: ID3D11VideoContext1_Impl,
30878            const OFFSET: isize,
30879        >(
30880            this: *mut core::ffi::c_void,
30881            pvideoprocessor: *mut core::ffi::c_void,
30882            shaderusage: crate::Foundation::BOOL,
30883        ) {
30884            unsafe {
30885                let this: &Identity =
30886                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
30887                ID3D11VideoContext1_Impl::VideoProcessorSetOutputShaderUsage(
30888                    this,
30889                    core::mem::transmute_copy(&pvideoprocessor),
30890                    core::mem::transmute_copy(&shaderusage),
30891                )
30892            }
30893        }
30894        unsafe extern "system" fn VideoProcessorGetOutputColorSpace1<
30895            Identity: ID3D11VideoContext1_Impl,
30896            const OFFSET: isize,
30897        >(
30898            this: *mut core::ffi::c_void,
30899            pvideoprocessor: *mut core::ffi::c_void,
30900            pcolorspace: *mut crate::Dxgi::Common::DXGI_COLOR_SPACE_TYPE,
30901        ) {
30902            unsafe {
30903                let this: &Identity =
30904                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
30905                ID3D11VideoContext1_Impl::VideoProcessorGetOutputColorSpace1(
30906                    this,
30907                    core::mem::transmute_copy(&pvideoprocessor),
30908                    core::mem::transmute_copy(&pcolorspace),
30909                )
30910            }
30911        }
30912        unsafe extern "system" fn VideoProcessorGetOutputShaderUsage<
30913            Identity: ID3D11VideoContext1_Impl,
30914            const OFFSET: isize,
30915        >(
30916            this: *mut core::ffi::c_void,
30917            pvideoprocessor: *mut core::ffi::c_void,
30918            pshaderusage: *mut crate::Foundation::BOOL,
30919        ) {
30920            unsafe {
30921                let this: &Identity =
30922                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
30923                ID3D11VideoContext1_Impl::VideoProcessorGetOutputShaderUsage(
30924                    this,
30925                    core::mem::transmute_copy(&pvideoprocessor),
30926                    core::mem::transmute_copy(&pshaderusage),
30927                )
30928            }
30929        }
30930        unsafe extern "system" fn VideoProcessorSetStreamColorSpace1<
30931            Identity: ID3D11VideoContext1_Impl,
30932            const OFFSET: isize,
30933        >(
30934            this: *mut core::ffi::c_void,
30935            pvideoprocessor: *mut core::ffi::c_void,
30936            streamindex: u32,
30937            colorspace: crate::Dxgi::Common::DXGI_COLOR_SPACE_TYPE,
30938        ) {
30939            unsafe {
30940                let this: &Identity =
30941                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
30942                ID3D11VideoContext1_Impl::VideoProcessorSetStreamColorSpace1(
30943                    this,
30944                    core::mem::transmute_copy(&pvideoprocessor),
30945                    core::mem::transmute_copy(&streamindex),
30946                    core::mem::transmute_copy(&colorspace),
30947                )
30948            }
30949        }
30950        unsafe extern "system" fn VideoProcessorSetStreamMirror<
30951            Identity: ID3D11VideoContext1_Impl,
30952            const OFFSET: isize,
30953        >(
30954            this: *mut core::ffi::c_void,
30955            pvideoprocessor: *mut core::ffi::c_void,
30956            streamindex: u32,
30957            enable: crate::Foundation::BOOL,
30958            fliphorizontal: crate::Foundation::BOOL,
30959            flipvertical: crate::Foundation::BOOL,
30960        ) {
30961            unsafe {
30962                let this: &Identity =
30963                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
30964                ID3D11VideoContext1_Impl::VideoProcessorSetStreamMirror(
30965                    this,
30966                    core::mem::transmute_copy(&pvideoprocessor),
30967                    core::mem::transmute_copy(&streamindex),
30968                    core::mem::transmute_copy(&enable),
30969                    core::mem::transmute_copy(&fliphorizontal),
30970                    core::mem::transmute_copy(&flipvertical),
30971                )
30972            }
30973        }
30974        unsafe extern "system" fn VideoProcessorGetStreamColorSpace1<
30975            Identity: ID3D11VideoContext1_Impl,
30976            const OFFSET: isize,
30977        >(
30978            this: *mut core::ffi::c_void,
30979            pvideoprocessor: *mut core::ffi::c_void,
30980            streamindex: u32,
30981            pcolorspace: *mut crate::Dxgi::Common::DXGI_COLOR_SPACE_TYPE,
30982        ) {
30983            unsafe {
30984                let this: &Identity =
30985                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
30986                ID3D11VideoContext1_Impl::VideoProcessorGetStreamColorSpace1(
30987                    this,
30988                    core::mem::transmute_copy(&pvideoprocessor),
30989                    core::mem::transmute_copy(&streamindex),
30990                    core::mem::transmute_copy(&pcolorspace),
30991                )
30992            }
30993        }
30994        unsafe extern "system" fn VideoProcessorGetStreamMirror<
30995            Identity: ID3D11VideoContext1_Impl,
30996            const OFFSET: isize,
30997        >(
30998            this: *mut core::ffi::c_void,
30999            pvideoprocessor: *mut core::ffi::c_void,
31000            streamindex: u32,
31001            penable: *mut crate::Foundation::BOOL,
31002            pfliphorizontal: *mut crate::Foundation::BOOL,
31003            pflipvertical: *mut crate::Foundation::BOOL,
31004        ) {
31005            unsafe {
31006                let this: &Identity =
31007                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
31008                ID3D11VideoContext1_Impl::VideoProcessorGetStreamMirror(
31009                    this,
31010                    core::mem::transmute_copy(&pvideoprocessor),
31011                    core::mem::transmute_copy(&streamindex),
31012                    core::mem::transmute_copy(&penable),
31013                    core::mem::transmute_copy(&pfliphorizontal),
31014                    core::mem::transmute_copy(&pflipvertical),
31015                )
31016            }
31017        }
31018        unsafe extern "system" fn VideoProcessorGetBehaviorHints<
31019            Identity: ID3D11VideoContext1_Impl,
31020            const OFFSET: isize,
31021        >(
31022            this: *mut core::ffi::c_void,
31023            pvideoprocessor: *mut core::ffi::c_void,
31024            outputwidth: u32,
31025            outputheight: u32,
31026            outputformat: crate::Dxgi::Common::DXGI_FORMAT,
31027            streamcount: u32,
31028            pstreams: *const D3D11_VIDEO_PROCESSOR_STREAM_BEHAVIOR_HINT,
31029            pbehaviorhints: *mut u32,
31030        ) -> windows_core::HRESULT {
31031            unsafe {
31032                let this: &Identity =
31033                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
31034                match ID3D11VideoContext1_Impl::VideoProcessorGetBehaviorHints(
31035                    this,
31036                    core::mem::transmute_copy(&pvideoprocessor),
31037                    core::mem::transmute_copy(&outputwidth),
31038                    core::mem::transmute_copy(&outputheight),
31039                    core::mem::transmute_copy(&outputformat),
31040                    core::mem::transmute_copy(&streamcount),
31041                    core::mem::transmute_copy(&pstreams),
31042                ) {
31043                    Ok(ok__) => {
31044                        pbehaviorhints.write(core::mem::transmute(ok__));
31045                        windows_core::HRESULT(0)
31046                    }
31047                    Err(err) => err.into(),
31048                }
31049            }
31050        }
31051        Self {
31052            base__: ID3D11VideoContext_Vtbl::new::<Identity, OFFSET>(),
31053            SubmitDecoderBuffers1: SubmitDecoderBuffers1::<Identity, OFFSET>,
31054            GetDataForNewHardwareKey: GetDataForNewHardwareKey::<Identity, OFFSET>,
31055            CheckCryptoSessionStatus: CheckCryptoSessionStatus::<Identity, OFFSET>,
31056            DecoderEnableDownsampling: DecoderEnableDownsampling::<Identity, OFFSET>,
31057            DecoderUpdateDownsampling: DecoderUpdateDownsampling::<Identity, OFFSET>,
31058            VideoProcessorSetOutputColorSpace1: VideoProcessorSetOutputColorSpace1::<
31059                Identity,
31060                OFFSET,
31061            >,
31062            VideoProcessorSetOutputShaderUsage: VideoProcessorSetOutputShaderUsage::<
31063                Identity,
31064                OFFSET,
31065            >,
31066            VideoProcessorGetOutputColorSpace1: VideoProcessorGetOutputColorSpace1::<
31067                Identity,
31068                OFFSET,
31069            >,
31070            VideoProcessorGetOutputShaderUsage: VideoProcessorGetOutputShaderUsage::<
31071                Identity,
31072                OFFSET,
31073            >,
31074            VideoProcessorSetStreamColorSpace1: VideoProcessorSetStreamColorSpace1::<
31075                Identity,
31076                OFFSET,
31077            >,
31078            VideoProcessorSetStreamMirror: VideoProcessorSetStreamMirror::<Identity, OFFSET>,
31079            VideoProcessorGetStreamColorSpace1: VideoProcessorGetStreamColorSpace1::<
31080                Identity,
31081                OFFSET,
31082            >,
31083            VideoProcessorGetStreamMirror: VideoProcessorGetStreamMirror::<Identity, OFFSET>,
31084            VideoProcessorGetBehaviorHints: VideoProcessorGetBehaviorHints::<Identity, OFFSET>,
31085        }
31086    }
31087    pub fn matches(iid: &windows_core::GUID) -> bool {
31088        iid == &<ID3D11VideoContext1 as windows_core::Interface>::IID
31089            || iid == &<ID3D11DeviceChild as windows_core::Interface>::IID
31090            || iid == &<ID3D11VideoContext as windows_core::Interface>::IID
31091    }
31092}
31093#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
31094impl windows_core::RuntimeName for ID3D11VideoContext1 {}
31095#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
31096unsafe impl Send for ID3D11VideoContext1 {}
31097#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
31098unsafe impl Sync for ID3D11VideoContext1 {}
31099windows_core::imp::define_interface!(
31100    ID3D11VideoContext2,
31101    ID3D11VideoContext2_Vtbl,
31102    0xc4e7374c_6243_4d1b_ae87_52b4f740e261
31103);
31104impl core::ops::Deref for ID3D11VideoContext2 {
31105    type Target = ID3D11VideoContext1;
31106    fn deref(&self) -> &Self::Target {
31107        unsafe { core::mem::transmute(self) }
31108    }
31109}
31110windows_core::imp::interface_hierarchy!(
31111    ID3D11VideoContext2,
31112    windows_core::IUnknown,
31113    ID3D11DeviceChild,
31114    ID3D11VideoContext,
31115    ID3D11VideoContext1
31116);
31117impl ID3D11VideoContext2 {
31118    #[cfg(feature = "Win32_Graphics_Dxgi")]
31119    pub unsafe fn VideoProcessorSetOutputHDRMetaData<P0>(
31120        &self,
31121        pvideoprocessor: P0,
31122        r#type: crate::Dxgi::DXGI_HDR_METADATA_TYPE,
31123        size: u32,
31124        phdrmetadata: Option<*const core::ffi::c_void>,
31125    ) where
31126        P0: windows_core::Param<ID3D11VideoProcessor>,
31127    {
31128        unsafe {
31129            (windows_core::Interface::vtable(self).VideoProcessorSetOutputHDRMetaData)(
31130                windows_core::Interface::as_raw(self),
31131                pvideoprocessor.param().abi(),
31132                r#type,
31133                size,
31134                core::mem::transmute(phdrmetadata.unwrap_or(core::mem::zeroed())),
31135            )
31136        }
31137    }
31138    #[cfg(feature = "Win32_Graphics_Dxgi")]
31139    pub unsafe fn VideoProcessorGetOutputHDRMetaData<P0>(
31140        &self,
31141        pvideoprocessor: P0,
31142        ptype: *mut crate::Dxgi::DXGI_HDR_METADATA_TYPE,
31143        size: u32,
31144        pmetadata: Option<*mut core::ffi::c_void>,
31145    ) where
31146        P0: windows_core::Param<ID3D11VideoProcessor>,
31147    {
31148        unsafe {
31149            (windows_core::Interface::vtable(self).VideoProcessorGetOutputHDRMetaData)(
31150                windows_core::Interface::as_raw(self),
31151                pvideoprocessor.param().abi(),
31152                core::mem::transmute(ptype),
31153                size,
31154                core::mem::transmute(pmetadata.unwrap_or(core::mem::zeroed())),
31155            )
31156        }
31157    }
31158    #[cfg(feature = "Win32_Graphics_Dxgi")]
31159    pub unsafe fn VideoProcessorSetStreamHDRMetaData<P0>(
31160        &self,
31161        pvideoprocessor: P0,
31162        streamindex: u32,
31163        r#type: crate::Dxgi::DXGI_HDR_METADATA_TYPE,
31164        size: u32,
31165        phdrmetadata: Option<*const core::ffi::c_void>,
31166    ) where
31167        P0: windows_core::Param<ID3D11VideoProcessor>,
31168    {
31169        unsafe {
31170            (windows_core::Interface::vtable(self).VideoProcessorSetStreamHDRMetaData)(
31171                windows_core::Interface::as_raw(self),
31172                pvideoprocessor.param().abi(),
31173                streamindex,
31174                r#type,
31175                size,
31176                core::mem::transmute(phdrmetadata.unwrap_or(core::mem::zeroed())),
31177            )
31178        }
31179    }
31180    #[cfg(feature = "Win32_Graphics_Dxgi")]
31181    pub unsafe fn VideoProcessorGetStreamHDRMetaData<P0>(
31182        &self,
31183        pvideoprocessor: P0,
31184        streamindex: u32,
31185        ptype: *mut crate::Dxgi::DXGI_HDR_METADATA_TYPE,
31186        size: u32,
31187        pmetadata: Option<*mut core::ffi::c_void>,
31188    ) where
31189        P0: windows_core::Param<ID3D11VideoProcessor>,
31190    {
31191        unsafe {
31192            (windows_core::Interface::vtable(self).VideoProcessorGetStreamHDRMetaData)(
31193                windows_core::Interface::as_raw(self),
31194                pvideoprocessor.param().abi(),
31195                streamindex,
31196                core::mem::transmute(ptype),
31197                size,
31198                core::mem::transmute(pmetadata.unwrap_or(core::mem::zeroed())),
31199            )
31200        }
31201    }
31202}
31203#[repr(C)]
31204pub struct ID3D11VideoContext2_Vtbl {
31205    pub base__: ID3D11VideoContext1_Vtbl,
31206    #[cfg(feature = "Win32_Graphics_Dxgi")]
31207    pub VideoProcessorSetOutputHDRMetaData: unsafe extern "system" fn(
31208        *mut core::ffi::c_void,
31209        *mut core::ffi::c_void,
31210        crate::Dxgi::DXGI_HDR_METADATA_TYPE,
31211        u32,
31212        *const core::ffi::c_void,
31213    ),
31214    #[cfg(not(feature = "Win32_Graphics_Dxgi"))]
31215    VideoProcessorSetOutputHDRMetaData: usize,
31216    #[cfg(feature = "Win32_Graphics_Dxgi")]
31217    pub VideoProcessorGetOutputHDRMetaData: unsafe extern "system" fn(
31218        *mut core::ffi::c_void,
31219        *mut core::ffi::c_void,
31220        *mut crate::Dxgi::DXGI_HDR_METADATA_TYPE,
31221        u32,
31222        *mut core::ffi::c_void,
31223    ),
31224    #[cfg(not(feature = "Win32_Graphics_Dxgi"))]
31225    VideoProcessorGetOutputHDRMetaData: usize,
31226    #[cfg(feature = "Win32_Graphics_Dxgi")]
31227    pub VideoProcessorSetStreamHDRMetaData: unsafe extern "system" fn(
31228        *mut core::ffi::c_void,
31229        *mut core::ffi::c_void,
31230        u32,
31231        crate::Dxgi::DXGI_HDR_METADATA_TYPE,
31232        u32,
31233        *const core::ffi::c_void,
31234    ),
31235    #[cfg(not(feature = "Win32_Graphics_Dxgi"))]
31236    VideoProcessorSetStreamHDRMetaData: usize,
31237    #[cfg(feature = "Win32_Graphics_Dxgi")]
31238    pub VideoProcessorGetStreamHDRMetaData: unsafe extern "system" fn(
31239        *mut core::ffi::c_void,
31240        *mut core::ffi::c_void,
31241        u32,
31242        *mut crate::Dxgi::DXGI_HDR_METADATA_TYPE,
31243        u32,
31244        *mut core::ffi::c_void,
31245    ),
31246    #[cfg(not(feature = "Win32_Graphics_Dxgi"))]
31247    VideoProcessorGetStreamHDRMetaData: usize,
31248}
31249#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
31250pub trait ID3D11VideoContext2_Impl: ID3D11VideoContext1_Impl {
31251    fn VideoProcessorSetOutputHDRMetaData(
31252        &self,
31253        pvideoprocessor: windows_core::Ref<'_, ID3D11VideoProcessor>,
31254        r#type: crate::Dxgi::DXGI_HDR_METADATA_TYPE,
31255        size: u32,
31256        phdrmetadata: *const core::ffi::c_void,
31257    );
31258    fn VideoProcessorGetOutputHDRMetaData(
31259        &self,
31260        pvideoprocessor: windows_core::Ref<'_, ID3D11VideoProcessor>,
31261        ptype: *mut crate::Dxgi::DXGI_HDR_METADATA_TYPE,
31262        size: u32,
31263        pmetadata: *mut core::ffi::c_void,
31264    );
31265    fn VideoProcessorSetStreamHDRMetaData(
31266        &self,
31267        pvideoprocessor: windows_core::Ref<'_, ID3D11VideoProcessor>,
31268        streamindex: u32,
31269        r#type: crate::Dxgi::DXGI_HDR_METADATA_TYPE,
31270        size: u32,
31271        phdrmetadata: *const core::ffi::c_void,
31272    );
31273    fn VideoProcessorGetStreamHDRMetaData(
31274        &self,
31275        pvideoprocessor: windows_core::Ref<'_, ID3D11VideoProcessor>,
31276        streamindex: u32,
31277        ptype: *mut crate::Dxgi::DXGI_HDR_METADATA_TYPE,
31278        size: u32,
31279        pmetadata: *mut core::ffi::c_void,
31280    );
31281}
31282#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
31283impl ID3D11VideoContext2_Vtbl {
31284    pub const fn new<Identity: ID3D11VideoContext2_Impl, const OFFSET: isize>() -> Self {
31285        unsafe extern "system" fn VideoProcessorSetOutputHDRMetaData<
31286            Identity: ID3D11VideoContext2_Impl,
31287            const OFFSET: isize,
31288        >(
31289            this: *mut core::ffi::c_void,
31290            pvideoprocessor: *mut core::ffi::c_void,
31291            r#type: crate::Dxgi::DXGI_HDR_METADATA_TYPE,
31292            size: u32,
31293            phdrmetadata: *const core::ffi::c_void,
31294        ) {
31295            unsafe {
31296                let this: &Identity =
31297                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
31298                ID3D11VideoContext2_Impl::VideoProcessorSetOutputHDRMetaData(
31299                    this,
31300                    core::mem::transmute_copy(&pvideoprocessor),
31301                    core::mem::transmute_copy(&r#type),
31302                    core::mem::transmute_copy(&size),
31303                    core::mem::transmute_copy(&phdrmetadata),
31304                )
31305            }
31306        }
31307        unsafe extern "system" fn VideoProcessorGetOutputHDRMetaData<
31308            Identity: ID3D11VideoContext2_Impl,
31309            const OFFSET: isize,
31310        >(
31311            this: *mut core::ffi::c_void,
31312            pvideoprocessor: *mut core::ffi::c_void,
31313            ptype: *mut crate::Dxgi::DXGI_HDR_METADATA_TYPE,
31314            size: u32,
31315            pmetadata: *mut core::ffi::c_void,
31316        ) {
31317            unsafe {
31318                let this: &Identity =
31319                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
31320                ID3D11VideoContext2_Impl::VideoProcessorGetOutputHDRMetaData(
31321                    this,
31322                    core::mem::transmute_copy(&pvideoprocessor),
31323                    core::mem::transmute_copy(&ptype),
31324                    core::mem::transmute_copy(&size),
31325                    core::mem::transmute_copy(&pmetadata),
31326                )
31327            }
31328        }
31329        unsafe extern "system" fn VideoProcessorSetStreamHDRMetaData<
31330            Identity: ID3D11VideoContext2_Impl,
31331            const OFFSET: isize,
31332        >(
31333            this: *mut core::ffi::c_void,
31334            pvideoprocessor: *mut core::ffi::c_void,
31335            streamindex: u32,
31336            r#type: crate::Dxgi::DXGI_HDR_METADATA_TYPE,
31337            size: u32,
31338            phdrmetadata: *const core::ffi::c_void,
31339        ) {
31340            unsafe {
31341                let this: &Identity =
31342                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
31343                ID3D11VideoContext2_Impl::VideoProcessorSetStreamHDRMetaData(
31344                    this,
31345                    core::mem::transmute_copy(&pvideoprocessor),
31346                    core::mem::transmute_copy(&streamindex),
31347                    core::mem::transmute_copy(&r#type),
31348                    core::mem::transmute_copy(&size),
31349                    core::mem::transmute_copy(&phdrmetadata),
31350                )
31351            }
31352        }
31353        unsafe extern "system" fn VideoProcessorGetStreamHDRMetaData<
31354            Identity: ID3D11VideoContext2_Impl,
31355            const OFFSET: isize,
31356        >(
31357            this: *mut core::ffi::c_void,
31358            pvideoprocessor: *mut core::ffi::c_void,
31359            streamindex: u32,
31360            ptype: *mut crate::Dxgi::DXGI_HDR_METADATA_TYPE,
31361            size: u32,
31362            pmetadata: *mut core::ffi::c_void,
31363        ) {
31364            unsafe {
31365                let this: &Identity =
31366                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
31367                ID3D11VideoContext2_Impl::VideoProcessorGetStreamHDRMetaData(
31368                    this,
31369                    core::mem::transmute_copy(&pvideoprocessor),
31370                    core::mem::transmute_copy(&streamindex),
31371                    core::mem::transmute_copy(&ptype),
31372                    core::mem::transmute_copy(&size),
31373                    core::mem::transmute_copy(&pmetadata),
31374                )
31375            }
31376        }
31377        Self {
31378            base__: ID3D11VideoContext1_Vtbl::new::<Identity, OFFSET>(),
31379            VideoProcessorSetOutputHDRMetaData: VideoProcessorSetOutputHDRMetaData::<
31380                Identity,
31381                OFFSET,
31382            >,
31383            VideoProcessorGetOutputHDRMetaData: VideoProcessorGetOutputHDRMetaData::<
31384                Identity,
31385                OFFSET,
31386            >,
31387            VideoProcessorSetStreamHDRMetaData: VideoProcessorSetStreamHDRMetaData::<
31388                Identity,
31389                OFFSET,
31390            >,
31391            VideoProcessorGetStreamHDRMetaData: VideoProcessorGetStreamHDRMetaData::<
31392                Identity,
31393                OFFSET,
31394            >,
31395        }
31396    }
31397    pub fn matches(iid: &windows_core::GUID) -> bool {
31398        iid == &<ID3D11VideoContext2 as windows_core::Interface>::IID
31399            || iid == &<ID3D11DeviceChild as windows_core::Interface>::IID
31400            || iid == &<ID3D11VideoContext as windows_core::Interface>::IID
31401            || iid == &<ID3D11VideoContext1 as windows_core::Interface>::IID
31402    }
31403}
31404#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
31405impl windows_core::RuntimeName for ID3D11VideoContext2 {}
31406#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
31407unsafe impl Send for ID3D11VideoContext2 {}
31408#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
31409unsafe impl Sync for ID3D11VideoContext2 {}
31410windows_core::imp::define_interface!(
31411    ID3D11VideoContext3,
31412    ID3D11VideoContext3_Vtbl,
31413    0xa9e2faa0_cb39_418f_a0b7_d8aad4de672e
31414);
31415impl core::ops::Deref for ID3D11VideoContext3 {
31416    type Target = ID3D11VideoContext2;
31417    fn deref(&self) -> &Self::Target {
31418        unsafe { core::mem::transmute(self) }
31419    }
31420}
31421windows_core::imp::interface_hierarchy!(
31422    ID3D11VideoContext3,
31423    windows_core::IUnknown,
31424    ID3D11DeviceChild,
31425    ID3D11VideoContext,
31426    ID3D11VideoContext1,
31427    ID3D11VideoContext2
31428);
31429impl ID3D11VideoContext3 {
31430    pub unsafe fn DecoderBeginFrame1<P0, P1>(
31431        &self,
31432        pdecoder: P0,
31433        pview: P1,
31434        contentkeysize: u32,
31435        pcontentkey: Option<*const core::ffi::c_void>,
31436        numcomponenthistograms: u32,
31437        phistogramoffsets: Option<*const u32>,
31438        pphistogrambuffers: Option<*const Option<ID3D11Buffer>>,
31439    ) -> windows_core::Result<()>
31440    where
31441        P0: windows_core::Param<ID3D11VideoDecoder>,
31442        P1: windows_core::Param<ID3D11VideoDecoderOutputView>,
31443    {
31444        unsafe {
31445            (windows_core::Interface::vtable(self).DecoderBeginFrame1)(
31446                windows_core::Interface::as_raw(self),
31447                pdecoder.param().abi(),
31448                pview.param().abi(),
31449                contentkeysize,
31450                core::mem::transmute(pcontentkey.unwrap_or(core::mem::zeroed())),
31451                numcomponenthistograms,
31452                core::mem::transmute(phistogramoffsets.unwrap_or(core::mem::zeroed())),
31453                core::mem::transmute(pphistogrambuffers.unwrap_or(core::mem::zeroed())),
31454            )
31455            .ok()
31456        }
31457    }
31458    pub unsafe fn SubmitDecoderBuffers2<P0>(
31459        &self,
31460        pdecoder: P0,
31461        pbufferdesc: &[D3D11_VIDEO_DECODER_BUFFER_DESC2],
31462    ) -> windows_core::Result<()>
31463    where
31464        P0: windows_core::Param<ID3D11VideoDecoder>,
31465    {
31466        unsafe {
31467            (windows_core::Interface::vtable(self).SubmitDecoderBuffers2)(
31468                windows_core::Interface::as_raw(self),
31469                pdecoder.param().abi(),
31470                pbufferdesc.len().try_into().unwrap(),
31471                core::mem::transmute(pbufferdesc.as_ptr()),
31472            )
31473            .ok()
31474        }
31475    }
31476}
31477#[repr(C)]
31478pub struct ID3D11VideoContext3_Vtbl {
31479    pub base__: ID3D11VideoContext2_Vtbl,
31480    pub DecoderBeginFrame1: unsafe extern "system" fn(
31481        *mut core::ffi::c_void,
31482        *mut core::ffi::c_void,
31483        *mut core::ffi::c_void,
31484        u32,
31485        *const core::ffi::c_void,
31486        u32,
31487        *const u32,
31488        *const *mut core::ffi::c_void,
31489    ) -> windows_core::HRESULT,
31490    pub SubmitDecoderBuffers2: unsafe extern "system" fn(
31491        *mut core::ffi::c_void,
31492        *mut core::ffi::c_void,
31493        u32,
31494        *const D3D11_VIDEO_DECODER_BUFFER_DESC2,
31495    ) -> windows_core::HRESULT,
31496}
31497#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
31498pub trait ID3D11VideoContext3_Impl: ID3D11VideoContext2_Impl {
31499    fn DecoderBeginFrame1(
31500        &self,
31501        pdecoder: windows_core::Ref<'_, ID3D11VideoDecoder>,
31502        pview: windows_core::Ref<'_, ID3D11VideoDecoderOutputView>,
31503        contentkeysize: u32,
31504        pcontentkey: *const core::ffi::c_void,
31505        numcomponenthistograms: u32,
31506        phistogramoffsets: *const u32,
31507        pphistogrambuffers: *const Option<ID3D11Buffer>,
31508    ) -> windows_core::Result<()>;
31509    fn SubmitDecoderBuffers2(
31510        &self,
31511        pdecoder: windows_core::Ref<'_, ID3D11VideoDecoder>,
31512        numbuffers: u32,
31513        pbufferdesc: *const D3D11_VIDEO_DECODER_BUFFER_DESC2,
31514    ) -> windows_core::Result<()>;
31515}
31516#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
31517impl ID3D11VideoContext3_Vtbl {
31518    pub const fn new<Identity: ID3D11VideoContext3_Impl, const OFFSET: isize>() -> Self {
31519        unsafe extern "system" fn DecoderBeginFrame1<
31520            Identity: ID3D11VideoContext3_Impl,
31521            const OFFSET: isize,
31522        >(
31523            this: *mut core::ffi::c_void,
31524            pdecoder: *mut core::ffi::c_void,
31525            pview: *mut core::ffi::c_void,
31526            contentkeysize: u32,
31527            pcontentkey: *const core::ffi::c_void,
31528            numcomponenthistograms: u32,
31529            phistogramoffsets: *const u32,
31530            pphistogrambuffers: *const *mut core::ffi::c_void,
31531        ) -> windows_core::HRESULT {
31532            unsafe {
31533                let this: &Identity =
31534                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
31535                ID3D11VideoContext3_Impl::DecoderBeginFrame1(
31536                    this,
31537                    core::mem::transmute_copy(&pdecoder),
31538                    core::mem::transmute_copy(&pview),
31539                    core::mem::transmute_copy(&contentkeysize),
31540                    core::mem::transmute_copy(&pcontentkey),
31541                    core::mem::transmute_copy(&numcomponenthistograms),
31542                    core::mem::transmute_copy(&phistogramoffsets),
31543                    core::mem::transmute_copy(&pphistogrambuffers),
31544                )
31545                .into()
31546            }
31547        }
31548        unsafe extern "system" fn SubmitDecoderBuffers2<
31549            Identity: ID3D11VideoContext3_Impl,
31550            const OFFSET: isize,
31551        >(
31552            this: *mut core::ffi::c_void,
31553            pdecoder: *mut core::ffi::c_void,
31554            numbuffers: u32,
31555            pbufferdesc: *const D3D11_VIDEO_DECODER_BUFFER_DESC2,
31556        ) -> windows_core::HRESULT {
31557            unsafe {
31558                let this: &Identity =
31559                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
31560                ID3D11VideoContext3_Impl::SubmitDecoderBuffers2(
31561                    this,
31562                    core::mem::transmute_copy(&pdecoder),
31563                    core::mem::transmute_copy(&numbuffers),
31564                    core::mem::transmute_copy(&pbufferdesc),
31565                )
31566                .into()
31567            }
31568        }
31569        Self {
31570            base__: ID3D11VideoContext2_Vtbl::new::<Identity, OFFSET>(),
31571            DecoderBeginFrame1: DecoderBeginFrame1::<Identity, OFFSET>,
31572            SubmitDecoderBuffers2: SubmitDecoderBuffers2::<Identity, OFFSET>,
31573        }
31574    }
31575    pub fn matches(iid: &windows_core::GUID) -> bool {
31576        iid == &<ID3D11VideoContext3 as windows_core::Interface>::IID
31577            || iid == &<ID3D11DeviceChild as windows_core::Interface>::IID
31578            || iid == &<ID3D11VideoContext as windows_core::Interface>::IID
31579            || iid == &<ID3D11VideoContext1 as windows_core::Interface>::IID
31580            || iid == &<ID3D11VideoContext2 as windows_core::Interface>::IID
31581    }
31582}
31583#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
31584impl windows_core::RuntimeName for ID3D11VideoContext3 {}
31585#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
31586unsafe impl Send for ID3D11VideoContext3 {}
31587#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
31588unsafe impl Sync for ID3D11VideoContext3 {}
31589windows_core::imp::define_interface!(
31590    ID3D11VideoDecoder,
31591    ID3D11VideoDecoder_Vtbl,
31592    0x3c9c5b51_995d_48d1_9b8d_fa5caeded65c
31593);
31594impl core::ops::Deref for ID3D11VideoDecoder {
31595    type Target = ID3D11DeviceChild;
31596    fn deref(&self) -> &Self::Target {
31597        unsafe { core::mem::transmute(self) }
31598    }
31599}
31600windows_core::imp::interface_hierarchy!(
31601    ID3D11VideoDecoder,
31602    windows_core::IUnknown,
31603    ID3D11DeviceChild
31604);
31605impl ID3D11VideoDecoder {
31606    #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
31607    pub unsafe fn GetCreationParameters(
31608        &self,
31609        pvideodesc: *mut D3D11_VIDEO_DECODER_DESC,
31610        pconfig: *mut D3D11_VIDEO_DECODER_CONFIG,
31611    ) -> windows_core::Result<()> {
31612        unsafe {
31613            (windows_core::Interface::vtable(self).GetCreationParameters)(
31614                windows_core::Interface::as_raw(self),
31615                core::mem::transmute(pvideodesc),
31616                core::mem::transmute(pconfig),
31617            )
31618            .ok()
31619        }
31620    }
31621    pub unsafe fn GetDriverHandle(&self) -> windows_core::Result<crate::Foundation::HANDLE> {
31622        unsafe {
31623            let mut result__ = core::mem::zeroed();
31624            (windows_core::Interface::vtable(self).GetDriverHandle)(
31625                windows_core::Interface::as_raw(self),
31626                &mut result__,
31627            )
31628            .map(|| result__)
31629        }
31630    }
31631}
31632#[repr(C)]
31633pub struct ID3D11VideoDecoder_Vtbl {
31634    pub base__: ID3D11DeviceChild_Vtbl,
31635    #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
31636    pub GetCreationParameters: unsafe extern "system" fn(
31637        *mut core::ffi::c_void,
31638        *mut D3D11_VIDEO_DECODER_DESC,
31639        *mut D3D11_VIDEO_DECODER_CONFIG,
31640    ) -> windows_core::HRESULT,
31641    #[cfg(not(feature = "Win32_Graphics_Dxgi_Common"))]
31642    GetCreationParameters: usize,
31643    pub GetDriverHandle: unsafe extern "system" fn(
31644        *mut core::ffi::c_void,
31645        *mut crate::Foundation::HANDLE,
31646    ) -> windows_core::HRESULT,
31647}
31648#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
31649pub trait ID3D11VideoDecoder_Impl: ID3D11DeviceChild_Impl {
31650    fn GetCreationParameters(
31651        &self,
31652        pvideodesc: *mut D3D11_VIDEO_DECODER_DESC,
31653        pconfig: *mut D3D11_VIDEO_DECODER_CONFIG,
31654    ) -> windows_core::Result<()>;
31655    fn GetDriverHandle(&self) -> windows_core::Result<crate::Foundation::HANDLE>;
31656}
31657#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
31658impl ID3D11VideoDecoder_Vtbl {
31659    pub const fn new<Identity: ID3D11VideoDecoder_Impl, const OFFSET: isize>() -> Self {
31660        unsafe extern "system" fn GetCreationParameters<
31661            Identity: ID3D11VideoDecoder_Impl,
31662            const OFFSET: isize,
31663        >(
31664            this: *mut core::ffi::c_void,
31665            pvideodesc: *mut D3D11_VIDEO_DECODER_DESC,
31666            pconfig: *mut D3D11_VIDEO_DECODER_CONFIG,
31667        ) -> windows_core::HRESULT {
31668            unsafe {
31669                let this: &Identity =
31670                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
31671                ID3D11VideoDecoder_Impl::GetCreationParameters(
31672                    this,
31673                    core::mem::transmute_copy(&pvideodesc),
31674                    core::mem::transmute_copy(&pconfig),
31675                )
31676                .into()
31677            }
31678        }
31679        unsafe extern "system" fn GetDriverHandle<
31680            Identity: ID3D11VideoDecoder_Impl,
31681            const OFFSET: isize,
31682        >(
31683            this: *mut core::ffi::c_void,
31684            pdriverhandle: *mut crate::Foundation::HANDLE,
31685        ) -> windows_core::HRESULT {
31686            unsafe {
31687                let this: &Identity =
31688                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
31689                match ID3D11VideoDecoder_Impl::GetDriverHandle(this) {
31690                    Ok(ok__) => {
31691                        pdriverhandle.write(core::mem::transmute(ok__));
31692                        windows_core::HRESULT(0)
31693                    }
31694                    Err(err) => err.into(),
31695                }
31696            }
31697        }
31698        Self {
31699            base__: ID3D11DeviceChild_Vtbl::new::<Identity, OFFSET>(),
31700            GetCreationParameters: GetCreationParameters::<Identity, OFFSET>,
31701            GetDriverHandle: GetDriverHandle::<Identity, OFFSET>,
31702        }
31703    }
31704    pub fn matches(iid: &windows_core::GUID) -> bool {
31705        iid == &<ID3D11VideoDecoder as windows_core::Interface>::IID
31706            || iid == &<ID3D11DeviceChild as windows_core::Interface>::IID
31707    }
31708}
31709#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
31710impl windows_core::RuntimeName for ID3D11VideoDecoder {}
31711#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
31712unsafe impl Send for ID3D11VideoDecoder {}
31713#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
31714unsafe impl Sync for ID3D11VideoDecoder {}
31715windows_core::imp::define_interface!(
31716    ID3D11VideoDecoderOutputView,
31717    ID3D11VideoDecoderOutputView_Vtbl,
31718    0xc2931aea_2a85_4f20_860f_fba1fd256e18
31719);
31720impl core::ops::Deref for ID3D11VideoDecoderOutputView {
31721    type Target = ID3D11View;
31722    fn deref(&self) -> &Self::Target {
31723        unsafe { core::mem::transmute(self) }
31724    }
31725}
31726windows_core::imp::interface_hierarchy!(
31727    ID3D11VideoDecoderOutputView,
31728    windows_core::IUnknown,
31729    ID3D11DeviceChild,
31730    ID3D11View
31731);
31732impl ID3D11VideoDecoderOutputView {
31733    pub unsafe fn GetDesc(&self, pdesc: *mut D3D11_VIDEO_DECODER_OUTPUT_VIEW_DESC) {
31734        unsafe {
31735            (windows_core::Interface::vtable(self).GetDesc)(
31736                windows_core::Interface::as_raw(self),
31737                core::mem::transmute(pdesc),
31738            )
31739        }
31740    }
31741}
31742#[repr(C)]
31743pub struct ID3D11VideoDecoderOutputView_Vtbl {
31744    pub base__: ID3D11View_Vtbl,
31745    pub GetDesc: unsafe extern "system" fn(
31746        *mut core::ffi::c_void,
31747        *mut D3D11_VIDEO_DECODER_OUTPUT_VIEW_DESC,
31748    ),
31749}
31750pub trait ID3D11VideoDecoderOutputView_Impl: ID3D11View_Impl {
31751    fn GetDesc(&self, pdesc: *mut D3D11_VIDEO_DECODER_OUTPUT_VIEW_DESC);
31752}
31753impl ID3D11VideoDecoderOutputView_Vtbl {
31754    pub const fn new<Identity: ID3D11VideoDecoderOutputView_Impl, const OFFSET: isize>() -> Self {
31755        unsafe extern "system" fn GetDesc<
31756            Identity: ID3D11VideoDecoderOutputView_Impl,
31757            const OFFSET: isize,
31758        >(
31759            this: *mut core::ffi::c_void,
31760            pdesc: *mut D3D11_VIDEO_DECODER_OUTPUT_VIEW_DESC,
31761        ) {
31762            unsafe {
31763                let this: &Identity =
31764                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
31765                ID3D11VideoDecoderOutputView_Impl::GetDesc(this, core::mem::transmute_copy(&pdesc))
31766            }
31767        }
31768        Self {
31769            base__: ID3D11View_Vtbl::new::<Identity, OFFSET>(),
31770            GetDesc: GetDesc::<Identity, OFFSET>,
31771        }
31772    }
31773    pub fn matches(iid: &windows_core::GUID) -> bool {
31774        iid == &<ID3D11VideoDecoderOutputView as windows_core::Interface>::IID
31775            || iid == &<ID3D11DeviceChild as windows_core::Interface>::IID
31776            || iid == &<ID3D11View as windows_core::Interface>::IID
31777    }
31778}
31779impl windows_core::RuntimeName for ID3D11VideoDecoderOutputView {}
31780unsafe impl Send for ID3D11VideoDecoderOutputView {}
31781unsafe impl Sync for ID3D11VideoDecoderOutputView {}
31782windows_core::imp::define_interface!(
31783    ID3D11VideoDevice,
31784    ID3D11VideoDevice_Vtbl,
31785    0x10ec4d5b_975a_4689_b9e4_d0aac30fe333
31786);
31787windows_core::imp::interface_hierarchy!(ID3D11VideoDevice, windows_core::IUnknown);
31788impl ID3D11VideoDevice {
31789    #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
31790    pub unsafe fn CreateVideoDecoder(
31791        &self,
31792        pvideodesc: *const D3D11_VIDEO_DECODER_DESC,
31793        pconfig: *const D3D11_VIDEO_DECODER_CONFIG,
31794    ) -> windows_core::Result<ID3D11VideoDecoder> {
31795        unsafe {
31796            let mut result__ = core::mem::zeroed();
31797            (windows_core::Interface::vtable(self).CreateVideoDecoder)(
31798                windows_core::Interface::as_raw(self),
31799                pvideodesc,
31800                pconfig,
31801                &mut result__,
31802            )
31803            .and_then(|| windows_core::Type::from_abi(result__))
31804        }
31805    }
31806    pub unsafe fn CreateVideoProcessor<P0>(
31807        &self,
31808        penum: P0,
31809        rateconversionindex: u32,
31810    ) -> windows_core::Result<ID3D11VideoProcessor>
31811    where
31812        P0: windows_core::Param<ID3D11VideoProcessorEnumerator>,
31813    {
31814        unsafe {
31815            let mut result__ = core::mem::zeroed();
31816            (windows_core::Interface::vtable(self).CreateVideoProcessor)(
31817                windows_core::Interface::as_raw(self),
31818                penum.param().abi(),
31819                rateconversionindex,
31820                &mut result__,
31821            )
31822            .and_then(|| windows_core::Type::from_abi(result__))
31823        }
31824    }
31825    pub unsafe fn CreateAuthenticatedChannel(
31826        &self,
31827        channeltype: D3D11_AUTHENTICATED_CHANNEL_TYPE,
31828    ) -> windows_core::Result<ID3D11AuthenticatedChannel> {
31829        unsafe {
31830            let mut result__ = core::mem::zeroed();
31831            (windows_core::Interface::vtable(self).CreateAuthenticatedChannel)(
31832                windows_core::Interface::as_raw(self),
31833                channeltype,
31834                &mut result__,
31835            )
31836            .and_then(|| windows_core::Type::from_abi(result__))
31837        }
31838    }
31839    pub unsafe fn CreateCryptoSession(
31840        &self,
31841        pcryptotype: *const windows_core::GUID,
31842        pdecoderprofile: Option<*const windows_core::GUID>,
31843        pkeyexchangetype: *const windows_core::GUID,
31844    ) -> windows_core::Result<ID3D11CryptoSession> {
31845        unsafe {
31846            let mut result__ = core::mem::zeroed();
31847            (windows_core::Interface::vtable(self).CreateCryptoSession)(
31848                windows_core::Interface::as_raw(self),
31849                pcryptotype,
31850                core::mem::transmute(pdecoderprofile.unwrap_or(core::mem::zeroed())),
31851                pkeyexchangetype,
31852                &mut result__,
31853            )
31854            .and_then(|| windows_core::Type::from_abi(result__))
31855        }
31856    }
31857    pub unsafe fn CreateVideoDecoderOutputView<P0>(
31858        &self,
31859        presource: P0,
31860        pdesc: *const D3D11_VIDEO_DECODER_OUTPUT_VIEW_DESC,
31861        ppvdovview: Option<*mut Option<ID3D11VideoDecoderOutputView>>,
31862    ) -> windows_core::Result<()>
31863    where
31864        P0: windows_core::Param<ID3D11Resource>,
31865    {
31866        unsafe {
31867            (windows_core::Interface::vtable(self).CreateVideoDecoderOutputView)(
31868                windows_core::Interface::as_raw(self),
31869                presource.param().abi(),
31870                pdesc,
31871                core::mem::transmute(ppvdovview.unwrap_or(core::mem::zeroed())),
31872            )
31873            .ok()
31874        }
31875    }
31876    pub unsafe fn CreateVideoProcessorInputView<P0, P1>(
31877        &self,
31878        presource: P0,
31879        penum: P1,
31880        pdesc: *const D3D11_VIDEO_PROCESSOR_INPUT_VIEW_DESC,
31881        ppvpiview: Option<*mut Option<ID3D11VideoProcessorInputView>>,
31882    ) -> windows_core::Result<()>
31883    where
31884        P0: windows_core::Param<ID3D11Resource>,
31885        P1: windows_core::Param<ID3D11VideoProcessorEnumerator>,
31886    {
31887        unsafe {
31888            (windows_core::Interface::vtable(self).CreateVideoProcessorInputView)(
31889                windows_core::Interface::as_raw(self),
31890                presource.param().abi(),
31891                penum.param().abi(),
31892                pdesc,
31893                core::mem::transmute(ppvpiview.unwrap_or(core::mem::zeroed())),
31894            )
31895            .ok()
31896        }
31897    }
31898    pub unsafe fn CreateVideoProcessorOutputView<P0, P1>(
31899        &self,
31900        presource: P0,
31901        penum: P1,
31902        pdesc: *const D3D11_VIDEO_PROCESSOR_OUTPUT_VIEW_DESC,
31903        ppvpoview: Option<*mut Option<ID3D11VideoProcessorOutputView>>,
31904    ) -> windows_core::Result<()>
31905    where
31906        P0: windows_core::Param<ID3D11Resource>,
31907        P1: windows_core::Param<ID3D11VideoProcessorEnumerator>,
31908    {
31909        unsafe {
31910            (windows_core::Interface::vtable(self).CreateVideoProcessorOutputView)(
31911                windows_core::Interface::as_raw(self),
31912                presource.param().abi(),
31913                penum.param().abi(),
31914                pdesc,
31915                core::mem::transmute(ppvpoview.unwrap_or(core::mem::zeroed())),
31916            )
31917            .ok()
31918        }
31919    }
31920    #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
31921    pub unsafe fn CreateVideoProcessorEnumerator(
31922        &self,
31923        pdesc: *const D3D11_VIDEO_PROCESSOR_CONTENT_DESC,
31924    ) -> windows_core::Result<ID3D11VideoProcessorEnumerator> {
31925        unsafe {
31926            let mut result__ = core::mem::zeroed();
31927            (windows_core::Interface::vtable(self).CreateVideoProcessorEnumerator)(
31928                windows_core::Interface::as_raw(self),
31929                pdesc,
31930                &mut result__,
31931            )
31932            .and_then(|| windows_core::Type::from_abi(result__))
31933        }
31934    }
31935    pub unsafe fn GetVideoDecoderProfileCount(&self) -> u32 {
31936        unsafe {
31937            (windows_core::Interface::vtable(self).GetVideoDecoderProfileCount)(
31938                windows_core::Interface::as_raw(self),
31939            )
31940        }
31941    }
31942    pub unsafe fn GetVideoDecoderProfile(
31943        &self,
31944        index: u32,
31945    ) -> windows_core::Result<windows_core::GUID> {
31946        unsafe {
31947            let mut result__ = core::mem::zeroed();
31948            (windows_core::Interface::vtable(self).GetVideoDecoderProfile)(
31949                windows_core::Interface::as_raw(self),
31950                index,
31951                &mut result__,
31952            )
31953            .map(|| result__)
31954        }
31955    }
31956    #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
31957    pub unsafe fn CheckVideoDecoderFormat(
31958        &self,
31959        pdecoderprofile: *const windows_core::GUID,
31960        format: crate::Dxgi::Common::DXGI_FORMAT,
31961    ) -> windows_core::Result<crate::Foundation::BOOL> {
31962        unsafe {
31963            let mut result__ = core::mem::zeroed();
31964            (windows_core::Interface::vtable(self).CheckVideoDecoderFormat)(
31965                windows_core::Interface::as_raw(self),
31966                pdecoderprofile,
31967                format,
31968                &mut result__,
31969            )
31970            .map(|| result__)
31971        }
31972    }
31973    #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
31974    pub unsafe fn GetVideoDecoderConfigCount(
31975        &self,
31976        pdesc: *const D3D11_VIDEO_DECODER_DESC,
31977    ) -> windows_core::Result<u32> {
31978        unsafe {
31979            let mut result__ = core::mem::zeroed();
31980            (windows_core::Interface::vtable(self).GetVideoDecoderConfigCount)(
31981                windows_core::Interface::as_raw(self),
31982                pdesc,
31983                &mut result__,
31984            )
31985            .map(|| result__)
31986        }
31987    }
31988    #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
31989    pub unsafe fn GetVideoDecoderConfig(
31990        &self,
31991        pdesc: *const D3D11_VIDEO_DECODER_DESC,
31992        index: u32,
31993        pconfig: *mut D3D11_VIDEO_DECODER_CONFIG,
31994    ) -> windows_core::Result<()> {
31995        unsafe {
31996            (windows_core::Interface::vtable(self).GetVideoDecoderConfig)(
31997                windows_core::Interface::as_raw(self),
31998                pdesc,
31999                index,
32000                core::mem::transmute(pconfig),
32001            )
32002            .ok()
32003        }
32004    }
32005    pub unsafe fn GetContentProtectionCaps(
32006        &self,
32007        pcryptotype: Option<*const windows_core::GUID>,
32008        pdecoderprofile: Option<*const windows_core::GUID>,
32009        pcaps: *mut D3D11_VIDEO_CONTENT_PROTECTION_CAPS,
32010    ) -> windows_core::Result<()> {
32011        unsafe {
32012            (windows_core::Interface::vtable(self).GetContentProtectionCaps)(
32013                windows_core::Interface::as_raw(self),
32014                core::mem::transmute(pcryptotype.unwrap_or(core::mem::zeroed())),
32015                core::mem::transmute(pdecoderprofile.unwrap_or(core::mem::zeroed())),
32016                core::mem::transmute(pcaps),
32017            )
32018            .ok()
32019        }
32020    }
32021    pub unsafe fn CheckCryptoKeyExchange(
32022        &self,
32023        pcryptotype: *const windows_core::GUID,
32024        pdecoderprofile: Option<*const windows_core::GUID>,
32025        index: u32,
32026    ) -> windows_core::Result<windows_core::GUID> {
32027        unsafe {
32028            let mut result__ = core::mem::zeroed();
32029            (windows_core::Interface::vtable(self).CheckCryptoKeyExchange)(
32030                windows_core::Interface::as_raw(self),
32031                pcryptotype,
32032                core::mem::transmute(pdecoderprofile.unwrap_or(core::mem::zeroed())),
32033                index,
32034                &mut result__,
32035            )
32036            .map(|| result__)
32037        }
32038    }
32039    pub unsafe fn SetPrivateData(
32040        &self,
32041        guid: *const windows_core::GUID,
32042        datasize: u32,
32043        pdata: Option<*const core::ffi::c_void>,
32044    ) -> windows_core::Result<()> {
32045        unsafe {
32046            (windows_core::Interface::vtable(self).SetPrivateData)(
32047                windows_core::Interface::as_raw(self),
32048                guid,
32049                datasize,
32050                core::mem::transmute(pdata.unwrap_or(core::mem::zeroed())),
32051            )
32052            .ok()
32053        }
32054    }
32055    pub unsafe fn SetPrivateDataInterface<P1>(
32056        &self,
32057        guid: *const windows_core::GUID,
32058        pdata: P1,
32059    ) -> windows_core::Result<()>
32060    where
32061        P1: windows_core::Param<windows_core::IUnknown>,
32062    {
32063        unsafe {
32064            (windows_core::Interface::vtable(self).SetPrivateDataInterface)(
32065                windows_core::Interface::as_raw(self),
32066                guid,
32067                pdata.param().abi(),
32068            )
32069            .ok()
32070        }
32071    }
32072}
32073#[repr(C)]
32074pub struct ID3D11VideoDevice_Vtbl {
32075    pub base__: windows_core::IUnknown_Vtbl,
32076    #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
32077    pub CreateVideoDecoder: unsafe extern "system" fn(
32078        *mut core::ffi::c_void,
32079        *const D3D11_VIDEO_DECODER_DESC,
32080        *const D3D11_VIDEO_DECODER_CONFIG,
32081        *mut *mut core::ffi::c_void,
32082    ) -> windows_core::HRESULT,
32083    #[cfg(not(feature = "Win32_Graphics_Dxgi_Common"))]
32084    CreateVideoDecoder: usize,
32085    pub CreateVideoProcessor: unsafe extern "system" fn(
32086        *mut core::ffi::c_void,
32087        *mut core::ffi::c_void,
32088        u32,
32089        *mut *mut core::ffi::c_void,
32090    ) -> windows_core::HRESULT,
32091    pub CreateAuthenticatedChannel: unsafe extern "system" fn(
32092        *mut core::ffi::c_void,
32093        D3D11_AUTHENTICATED_CHANNEL_TYPE,
32094        *mut *mut core::ffi::c_void,
32095    ) -> windows_core::HRESULT,
32096    pub CreateCryptoSession: unsafe extern "system" fn(
32097        *mut core::ffi::c_void,
32098        *const windows_core::GUID,
32099        *const windows_core::GUID,
32100        *const windows_core::GUID,
32101        *mut *mut core::ffi::c_void,
32102    ) -> windows_core::HRESULT,
32103    pub CreateVideoDecoderOutputView: unsafe extern "system" fn(
32104        *mut core::ffi::c_void,
32105        *mut core::ffi::c_void,
32106        *const D3D11_VIDEO_DECODER_OUTPUT_VIEW_DESC,
32107        *mut *mut core::ffi::c_void,
32108    ) -> windows_core::HRESULT,
32109    pub CreateVideoProcessorInputView: unsafe extern "system" fn(
32110        *mut core::ffi::c_void,
32111        *mut core::ffi::c_void,
32112        *mut core::ffi::c_void,
32113        *const D3D11_VIDEO_PROCESSOR_INPUT_VIEW_DESC,
32114        *mut *mut core::ffi::c_void,
32115    ) -> windows_core::HRESULT,
32116    pub CreateVideoProcessorOutputView: unsafe extern "system" fn(
32117        *mut core::ffi::c_void,
32118        *mut core::ffi::c_void,
32119        *mut core::ffi::c_void,
32120        *const D3D11_VIDEO_PROCESSOR_OUTPUT_VIEW_DESC,
32121        *mut *mut core::ffi::c_void,
32122    ) -> windows_core::HRESULT,
32123    #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
32124    pub CreateVideoProcessorEnumerator: unsafe extern "system" fn(
32125        *mut core::ffi::c_void,
32126        *const D3D11_VIDEO_PROCESSOR_CONTENT_DESC,
32127        *mut *mut core::ffi::c_void,
32128    ) -> windows_core::HRESULT,
32129    #[cfg(not(feature = "Win32_Graphics_Dxgi_Common"))]
32130    CreateVideoProcessorEnumerator: usize,
32131    pub GetVideoDecoderProfileCount: unsafe extern "system" fn(*mut core::ffi::c_void) -> u32,
32132    pub GetVideoDecoderProfile: unsafe extern "system" fn(
32133        *mut core::ffi::c_void,
32134        u32,
32135        *mut windows_core::GUID,
32136    ) -> windows_core::HRESULT,
32137    #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
32138    pub CheckVideoDecoderFormat: unsafe extern "system" fn(
32139        *mut core::ffi::c_void,
32140        *const windows_core::GUID,
32141        crate::Dxgi::Common::DXGI_FORMAT,
32142        *mut crate::Foundation::BOOL,
32143    ) -> windows_core::HRESULT,
32144    #[cfg(not(feature = "Win32_Graphics_Dxgi_Common"))]
32145    CheckVideoDecoderFormat: usize,
32146    #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
32147    pub GetVideoDecoderConfigCount: unsafe extern "system" fn(
32148        *mut core::ffi::c_void,
32149        *const D3D11_VIDEO_DECODER_DESC,
32150        *mut u32,
32151    ) -> windows_core::HRESULT,
32152    #[cfg(not(feature = "Win32_Graphics_Dxgi_Common"))]
32153    GetVideoDecoderConfigCount: usize,
32154    #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
32155    pub GetVideoDecoderConfig: unsafe extern "system" fn(
32156        *mut core::ffi::c_void,
32157        *const D3D11_VIDEO_DECODER_DESC,
32158        u32,
32159        *mut D3D11_VIDEO_DECODER_CONFIG,
32160    ) -> windows_core::HRESULT,
32161    #[cfg(not(feature = "Win32_Graphics_Dxgi_Common"))]
32162    GetVideoDecoderConfig: usize,
32163    pub GetContentProtectionCaps: unsafe extern "system" fn(
32164        *mut core::ffi::c_void,
32165        *const windows_core::GUID,
32166        *const windows_core::GUID,
32167        *mut D3D11_VIDEO_CONTENT_PROTECTION_CAPS,
32168    ) -> windows_core::HRESULT,
32169    pub CheckCryptoKeyExchange: unsafe extern "system" fn(
32170        *mut core::ffi::c_void,
32171        *const windows_core::GUID,
32172        *const windows_core::GUID,
32173        u32,
32174        *mut windows_core::GUID,
32175    ) -> windows_core::HRESULT,
32176    pub SetPrivateData: unsafe extern "system" fn(
32177        *mut core::ffi::c_void,
32178        *const windows_core::GUID,
32179        u32,
32180        *const core::ffi::c_void,
32181    ) -> windows_core::HRESULT,
32182    pub SetPrivateDataInterface: unsafe extern "system" fn(
32183        *mut core::ffi::c_void,
32184        *const windows_core::GUID,
32185        *mut core::ffi::c_void,
32186    ) -> windows_core::HRESULT,
32187}
32188#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
32189pub trait ID3D11VideoDevice_Impl: windows_core::IUnknownImpl {
32190    fn CreateVideoDecoder(
32191        &self,
32192        pvideodesc: *const D3D11_VIDEO_DECODER_DESC,
32193        pconfig: *const D3D11_VIDEO_DECODER_CONFIG,
32194    ) -> windows_core::Result<ID3D11VideoDecoder>;
32195    fn CreateVideoProcessor(
32196        &self,
32197        penum: windows_core::Ref<'_, ID3D11VideoProcessorEnumerator>,
32198        rateconversionindex: u32,
32199    ) -> windows_core::Result<ID3D11VideoProcessor>;
32200    fn CreateAuthenticatedChannel(
32201        &self,
32202        channeltype: D3D11_AUTHENTICATED_CHANNEL_TYPE,
32203    ) -> windows_core::Result<ID3D11AuthenticatedChannel>;
32204    fn CreateCryptoSession(
32205        &self,
32206        pcryptotype: *const windows_core::GUID,
32207        pdecoderprofile: *const windows_core::GUID,
32208        pkeyexchangetype: *const windows_core::GUID,
32209    ) -> windows_core::Result<ID3D11CryptoSession>;
32210    fn CreateVideoDecoderOutputView(
32211        &self,
32212        presource: windows_core::Ref<'_, ID3D11Resource>,
32213        pdesc: *const D3D11_VIDEO_DECODER_OUTPUT_VIEW_DESC,
32214        ppvdovview: windows_core::OutRef<'_, ID3D11VideoDecoderOutputView>,
32215    ) -> windows_core::Result<()>;
32216    fn CreateVideoProcessorInputView(
32217        &self,
32218        presource: windows_core::Ref<'_, ID3D11Resource>,
32219        penum: windows_core::Ref<'_, ID3D11VideoProcessorEnumerator>,
32220        pdesc: *const D3D11_VIDEO_PROCESSOR_INPUT_VIEW_DESC,
32221        ppvpiview: windows_core::OutRef<'_, ID3D11VideoProcessorInputView>,
32222    ) -> windows_core::Result<()>;
32223    fn CreateVideoProcessorOutputView(
32224        &self,
32225        presource: windows_core::Ref<'_, ID3D11Resource>,
32226        penum: windows_core::Ref<'_, ID3D11VideoProcessorEnumerator>,
32227        pdesc: *const D3D11_VIDEO_PROCESSOR_OUTPUT_VIEW_DESC,
32228        ppvpoview: windows_core::OutRef<'_, ID3D11VideoProcessorOutputView>,
32229    ) -> windows_core::Result<()>;
32230    fn CreateVideoProcessorEnumerator(
32231        &self,
32232        pdesc: *const D3D11_VIDEO_PROCESSOR_CONTENT_DESC,
32233    ) -> windows_core::Result<ID3D11VideoProcessorEnumerator>;
32234    fn GetVideoDecoderProfileCount(&self) -> u32;
32235    fn GetVideoDecoderProfile(&self, index: u32) -> windows_core::Result<windows_core::GUID>;
32236    fn CheckVideoDecoderFormat(
32237        &self,
32238        pdecoderprofile: *const windows_core::GUID,
32239        format: crate::Dxgi::Common::DXGI_FORMAT,
32240    ) -> windows_core::Result<crate::Foundation::BOOL>;
32241    fn GetVideoDecoderConfigCount(
32242        &self,
32243        pdesc: *const D3D11_VIDEO_DECODER_DESC,
32244    ) -> windows_core::Result<u32>;
32245    fn GetVideoDecoderConfig(
32246        &self,
32247        pdesc: *const D3D11_VIDEO_DECODER_DESC,
32248        index: u32,
32249        pconfig: *mut D3D11_VIDEO_DECODER_CONFIG,
32250    ) -> windows_core::Result<()>;
32251    fn GetContentProtectionCaps(
32252        &self,
32253        pcryptotype: *const windows_core::GUID,
32254        pdecoderprofile: *const windows_core::GUID,
32255        pcaps: *mut D3D11_VIDEO_CONTENT_PROTECTION_CAPS,
32256    ) -> windows_core::Result<()>;
32257    fn CheckCryptoKeyExchange(
32258        &self,
32259        pcryptotype: *const windows_core::GUID,
32260        pdecoderprofile: *const windows_core::GUID,
32261        index: u32,
32262    ) -> windows_core::Result<windows_core::GUID>;
32263    fn SetPrivateData(
32264        &self,
32265        guid: *const windows_core::GUID,
32266        datasize: u32,
32267        pdata: *const core::ffi::c_void,
32268    ) -> windows_core::Result<()>;
32269    fn SetPrivateDataInterface(
32270        &self,
32271        guid: *const windows_core::GUID,
32272        pdata: windows_core::Ref<'_, windows_core::IUnknown>,
32273    ) -> windows_core::Result<()>;
32274}
32275#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
32276impl ID3D11VideoDevice_Vtbl {
32277    pub const fn new<Identity: ID3D11VideoDevice_Impl, const OFFSET: isize>() -> Self {
32278        unsafe extern "system" fn CreateVideoDecoder<
32279            Identity: ID3D11VideoDevice_Impl,
32280            const OFFSET: isize,
32281        >(
32282            this: *mut core::ffi::c_void,
32283            pvideodesc: *const D3D11_VIDEO_DECODER_DESC,
32284            pconfig: *const D3D11_VIDEO_DECODER_CONFIG,
32285            ppdecoder: *mut *mut core::ffi::c_void,
32286        ) -> windows_core::HRESULT {
32287            unsafe {
32288                let this: &Identity =
32289                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
32290                match ID3D11VideoDevice_Impl::CreateVideoDecoder(
32291                    this,
32292                    core::mem::transmute_copy(&pvideodesc),
32293                    core::mem::transmute_copy(&pconfig),
32294                ) {
32295                    Ok(ok__) => {
32296                        ppdecoder.write(core::mem::transmute(ok__));
32297                        windows_core::HRESULT(0)
32298                    }
32299                    Err(err) => err.into(),
32300                }
32301            }
32302        }
32303        unsafe extern "system" fn CreateVideoProcessor<
32304            Identity: ID3D11VideoDevice_Impl,
32305            const OFFSET: isize,
32306        >(
32307            this: *mut core::ffi::c_void,
32308            penum: *mut core::ffi::c_void,
32309            rateconversionindex: u32,
32310            ppvideoprocessor: *mut *mut core::ffi::c_void,
32311        ) -> windows_core::HRESULT {
32312            unsafe {
32313                let this: &Identity =
32314                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
32315                match ID3D11VideoDevice_Impl::CreateVideoProcessor(
32316                    this,
32317                    core::mem::transmute_copy(&penum),
32318                    core::mem::transmute_copy(&rateconversionindex),
32319                ) {
32320                    Ok(ok__) => {
32321                        ppvideoprocessor.write(core::mem::transmute(ok__));
32322                        windows_core::HRESULT(0)
32323                    }
32324                    Err(err) => err.into(),
32325                }
32326            }
32327        }
32328        unsafe extern "system" fn CreateAuthenticatedChannel<
32329            Identity: ID3D11VideoDevice_Impl,
32330            const OFFSET: isize,
32331        >(
32332            this: *mut core::ffi::c_void,
32333            channeltype: D3D11_AUTHENTICATED_CHANNEL_TYPE,
32334            ppauthenticatedchannel: *mut *mut core::ffi::c_void,
32335        ) -> windows_core::HRESULT {
32336            unsafe {
32337                let this: &Identity =
32338                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
32339                match ID3D11VideoDevice_Impl::CreateAuthenticatedChannel(
32340                    this,
32341                    core::mem::transmute_copy(&channeltype),
32342                ) {
32343                    Ok(ok__) => {
32344                        ppauthenticatedchannel.write(core::mem::transmute(ok__));
32345                        windows_core::HRESULT(0)
32346                    }
32347                    Err(err) => err.into(),
32348                }
32349            }
32350        }
32351        unsafe extern "system" fn CreateCryptoSession<
32352            Identity: ID3D11VideoDevice_Impl,
32353            const OFFSET: isize,
32354        >(
32355            this: *mut core::ffi::c_void,
32356            pcryptotype: *const windows_core::GUID,
32357            pdecoderprofile: *const windows_core::GUID,
32358            pkeyexchangetype: *const windows_core::GUID,
32359            ppcryptosession: *mut *mut core::ffi::c_void,
32360        ) -> windows_core::HRESULT {
32361            unsafe {
32362                let this: &Identity =
32363                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
32364                match ID3D11VideoDevice_Impl::CreateCryptoSession(
32365                    this,
32366                    core::mem::transmute_copy(&pcryptotype),
32367                    core::mem::transmute_copy(&pdecoderprofile),
32368                    core::mem::transmute_copy(&pkeyexchangetype),
32369                ) {
32370                    Ok(ok__) => {
32371                        ppcryptosession.write(core::mem::transmute(ok__));
32372                        windows_core::HRESULT(0)
32373                    }
32374                    Err(err) => err.into(),
32375                }
32376            }
32377        }
32378        unsafe extern "system" fn CreateVideoDecoderOutputView<
32379            Identity: ID3D11VideoDevice_Impl,
32380            const OFFSET: isize,
32381        >(
32382            this: *mut core::ffi::c_void,
32383            presource: *mut core::ffi::c_void,
32384            pdesc: *const D3D11_VIDEO_DECODER_OUTPUT_VIEW_DESC,
32385            ppvdovview: *mut *mut core::ffi::c_void,
32386        ) -> windows_core::HRESULT {
32387            unsafe {
32388                let this: &Identity =
32389                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
32390                ID3D11VideoDevice_Impl::CreateVideoDecoderOutputView(
32391                    this,
32392                    core::mem::transmute_copy(&presource),
32393                    core::mem::transmute_copy(&pdesc),
32394                    core::mem::transmute_copy(&ppvdovview),
32395                )
32396                .into()
32397            }
32398        }
32399        unsafe extern "system" fn CreateVideoProcessorInputView<
32400            Identity: ID3D11VideoDevice_Impl,
32401            const OFFSET: isize,
32402        >(
32403            this: *mut core::ffi::c_void,
32404            presource: *mut core::ffi::c_void,
32405            penum: *mut core::ffi::c_void,
32406            pdesc: *const D3D11_VIDEO_PROCESSOR_INPUT_VIEW_DESC,
32407            ppvpiview: *mut *mut core::ffi::c_void,
32408        ) -> windows_core::HRESULT {
32409            unsafe {
32410                let this: &Identity =
32411                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
32412                ID3D11VideoDevice_Impl::CreateVideoProcessorInputView(
32413                    this,
32414                    core::mem::transmute_copy(&presource),
32415                    core::mem::transmute_copy(&penum),
32416                    core::mem::transmute_copy(&pdesc),
32417                    core::mem::transmute_copy(&ppvpiview),
32418                )
32419                .into()
32420            }
32421        }
32422        unsafe extern "system" fn CreateVideoProcessorOutputView<
32423            Identity: ID3D11VideoDevice_Impl,
32424            const OFFSET: isize,
32425        >(
32426            this: *mut core::ffi::c_void,
32427            presource: *mut core::ffi::c_void,
32428            penum: *mut core::ffi::c_void,
32429            pdesc: *const D3D11_VIDEO_PROCESSOR_OUTPUT_VIEW_DESC,
32430            ppvpoview: *mut *mut core::ffi::c_void,
32431        ) -> windows_core::HRESULT {
32432            unsafe {
32433                let this: &Identity =
32434                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
32435                ID3D11VideoDevice_Impl::CreateVideoProcessorOutputView(
32436                    this,
32437                    core::mem::transmute_copy(&presource),
32438                    core::mem::transmute_copy(&penum),
32439                    core::mem::transmute_copy(&pdesc),
32440                    core::mem::transmute_copy(&ppvpoview),
32441                )
32442                .into()
32443            }
32444        }
32445        unsafe extern "system" fn CreateVideoProcessorEnumerator<
32446            Identity: ID3D11VideoDevice_Impl,
32447            const OFFSET: isize,
32448        >(
32449            this: *mut core::ffi::c_void,
32450            pdesc: *const D3D11_VIDEO_PROCESSOR_CONTENT_DESC,
32451            ppenum: *mut *mut core::ffi::c_void,
32452        ) -> windows_core::HRESULT {
32453            unsafe {
32454                let this: &Identity =
32455                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
32456                match ID3D11VideoDevice_Impl::CreateVideoProcessorEnumerator(
32457                    this,
32458                    core::mem::transmute_copy(&pdesc),
32459                ) {
32460                    Ok(ok__) => {
32461                        ppenum.write(core::mem::transmute(ok__));
32462                        windows_core::HRESULT(0)
32463                    }
32464                    Err(err) => err.into(),
32465                }
32466            }
32467        }
32468        unsafe extern "system" fn GetVideoDecoderProfileCount<
32469            Identity: ID3D11VideoDevice_Impl,
32470            const OFFSET: isize,
32471        >(
32472            this: *mut core::ffi::c_void,
32473        ) -> u32 {
32474            unsafe {
32475                let this: &Identity =
32476                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
32477                ID3D11VideoDevice_Impl::GetVideoDecoderProfileCount(this)
32478            }
32479        }
32480        unsafe extern "system" fn GetVideoDecoderProfile<
32481            Identity: ID3D11VideoDevice_Impl,
32482            const OFFSET: isize,
32483        >(
32484            this: *mut core::ffi::c_void,
32485            index: u32,
32486            pdecoderprofile: *mut windows_core::GUID,
32487        ) -> windows_core::HRESULT {
32488            unsafe {
32489                let this: &Identity =
32490                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
32491                match ID3D11VideoDevice_Impl::GetVideoDecoderProfile(
32492                    this,
32493                    core::mem::transmute_copy(&index),
32494                ) {
32495                    Ok(ok__) => {
32496                        pdecoderprofile.write(core::mem::transmute(ok__));
32497                        windows_core::HRESULT(0)
32498                    }
32499                    Err(err) => err.into(),
32500                }
32501            }
32502        }
32503        unsafe extern "system" fn CheckVideoDecoderFormat<
32504            Identity: ID3D11VideoDevice_Impl,
32505            const OFFSET: isize,
32506        >(
32507            this: *mut core::ffi::c_void,
32508            pdecoderprofile: *const windows_core::GUID,
32509            format: crate::Dxgi::Common::DXGI_FORMAT,
32510            psupported: *mut crate::Foundation::BOOL,
32511        ) -> windows_core::HRESULT {
32512            unsafe {
32513                let this: &Identity =
32514                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
32515                match ID3D11VideoDevice_Impl::CheckVideoDecoderFormat(
32516                    this,
32517                    core::mem::transmute_copy(&pdecoderprofile),
32518                    core::mem::transmute_copy(&format),
32519                ) {
32520                    Ok(ok__) => {
32521                        psupported.write(core::mem::transmute(ok__));
32522                        windows_core::HRESULT(0)
32523                    }
32524                    Err(err) => err.into(),
32525                }
32526            }
32527        }
32528        unsafe extern "system" fn GetVideoDecoderConfigCount<
32529            Identity: ID3D11VideoDevice_Impl,
32530            const OFFSET: isize,
32531        >(
32532            this: *mut core::ffi::c_void,
32533            pdesc: *const D3D11_VIDEO_DECODER_DESC,
32534            pcount: *mut u32,
32535        ) -> windows_core::HRESULT {
32536            unsafe {
32537                let this: &Identity =
32538                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
32539                match ID3D11VideoDevice_Impl::GetVideoDecoderConfigCount(
32540                    this,
32541                    core::mem::transmute_copy(&pdesc),
32542                ) {
32543                    Ok(ok__) => {
32544                        pcount.write(core::mem::transmute(ok__));
32545                        windows_core::HRESULT(0)
32546                    }
32547                    Err(err) => err.into(),
32548                }
32549            }
32550        }
32551        unsafe extern "system" fn GetVideoDecoderConfig<
32552            Identity: ID3D11VideoDevice_Impl,
32553            const OFFSET: isize,
32554        >(
32555            this: *mut core::ffi::c_void,
32556            pdesc: *const D3D11_VIDEO_DECODER_DESC,
32557            index: u32,
32558            pconfig: *mut D3D11_VIDEO_DECODER_CONFIG,
32559        ) -> windows_core::HRESULT {
32560            unsafe {
32561                let this: &Identity =
32562                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
32563                ID3D11VideoDevice_Impl::GetVideoDecoderConfig(
32564                    this,
32565                    core::mem::transmute_copy(&pdesc),
32566                    core::mem::transmute_copy(&index),
32567                    core::mem::transmute_copy(&pconfig),
32568                )
32569                .into()
32570            }
32571        }
32572        unsafe extern "system" fn GetContentProtectionCaps<
32573            Identity: ID3D11VideoDevice_Impl,
32574            const OFFSET: isize,
32575        >(
32576            this: *mut core::ffi::c_void,
32577            pcryptotype: *const windows_core::GUID,
32578            pdecoderprofile: *const windows_core::GUID,
32579            pcaps: *mut D3D11_VIDEO_CONTENT_PROTECTION_CAPS,
32580        ) -> windows_core::HRESULT {
32581            unsafe {
32582                let this: &Identity =
32583                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
32584                ID3D11VideoDevice_Impl::GetContentProtectionCaps(
32585                    this,
32586                    core::mem::transmute_copy(&pcryptotype),
32587                    core::mem::transmute_copy(&pdecoderprofile),
32588                    core::mem::transmute_copy(&pcaps),
32589                )
32590                .into()
32591            }
32592        }
32593        unsafe extern "system" fn CheckCryptoKeyExchange<
32594            Identity: ID3D11VideoDevice_Impl,
32595            const OFFSET: isize,
32596        >(
32597            this: *mut core::ffi::c_void,
32598            pcryptotype: *const windows_core::GUID,
32599            pdecoderprofile: *const windows_core::GUID,
32600            index: u32,
32601            pkeyexchangetype: *mut windows_core::GUID,
32602        ) -> windows_core::HRESULT {
32603            unsafe {
32604                let this: &Identity =
32605                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
32606                match ID3D11VideoDevice_Impl::CheckCryptoKeyExchange(
32607                    this,
32608                    core::mem::transmute_copy(&pcryptotype),
32609                    core::mem::transmute_copy(&pdecoderprofile),
32610                    core::mem::transmute_copy(&index),
32611                ) {
32612                    Ok(ok__) => {
32613                        pkeyexchangetype.write(core::mem::transmute(ok__));
32614                        windows_core::HRESULT(0)
32615                    }
32616                    Err(err) => err.into(),
32617                }
32618            }
32619        }
32620        unsafe extern "system" fn SetPrivateData<
32621            Identity: ID3D11VideoDevice_Impl,
32622            const OFFSET: isize,
32623        >(
32624            this: *mut core::ffi::c_void,
32625            guid: *const windows_core::GUID,
32626            datasize: u32,
32627            pdata: *const core::ffi::c_void,
32628        ) -> windows_core::HRESULT {
32629            unsafe {
32630                let this: &Identity =
32631                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
32632                ID3D11VideoDevice_Impl::SetPrivateData(
32633                    this,
32634                    core::mem::transmute_copy(&guid),
32635                    core::mem::transmute_copy(&datasize),
32636                    core::mem::transmute_copy(&pdata),
32637                )
32638                .into()
32639            }
32640        }
32641        unsafe extern "system" fn SetPrivateDataInterface<
32642            Identity: ID3D11VideoDevice_Impl,
32643            const OFFSET: isize,
32644        >(
32645            this: *mut core::ffi::c_void,
32646            guid: *const windows_core::GUID,
32647            pdata: *mut core::ffi::c_void,
32648        ) -> windows_core::HRESULT {
32649            unsafe {
32650                let this: &Identity =
32651                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
32652                ID3D11VideoDevice_Impl::SetPrivateDataInterface(
32653                    this,
32654                    core::mem::transmute_copy(&guid),
32655                    core::mem::transmute_copy(&pdata),
32656                )
32657                .into()
32658            }
32659        }
32660        Self {
32661            base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
32662            CreateVideoDecoder: CreateVideoDecoder::<Identity, OFFSET>,
32663            CreateVideoProcessor: CreateVideoProcessor::<Identity, OFFSET>,
32664            CreateAuthenticatedChannel: CreateAuthenticatedChannel::<Identity, OFFSET>,
32665            CreateCryptoSession: CreateCryptoSession::<Identity, OFFSET>,
32666            CreateVideoDecoderOutputView: CreateVideoDecoderOutputView::<Identity, OFFSET>,
32667            CreateVideoProcessorInputView: CreateVideoProcessorInputView::<Identity, OFFSET>,
32668            CreateVideoProcessorOutputView: CreateVideoProcessorOutputView::<Identity, OFFSET>,
32669            CreateVideoProcessorEnumerator: CreateVideoProcessorEnumerator::<Identity, OFFSET>,
32670            GetVideoDecoderProfileCount: GetVideoDecoderProfileCount::<Identity, OFFSET>,
32671            GetVideoDecoderProfile: GetVideoDecoderProfile::<Identity, OFFSET>,
32672            CheckVideoDecoderFormat: CheckVideoDecoderFormat::<Identity, OFFSET>,
32673            GetVideoDecoderConfigCount: GetVideoDecoderConfigCount::<Identity, OFFSET>,
32674            GetVideoDecoderConfig: GetVideoDecoderConfig::<Identity, OFFSET>,
32675            GetContentProtectionCaps: GetContentProtectionCaps::<Identity, OFFSET>,
32676            CheckCryptoKeyExchange: CheckCryptoKeyExchange::<Identity, OFFSET>,
32677            SetPrivateData: SetPrivateData::<Identity, OFFSET>,
32678            SetPrivateDataInterface: SetPrivateDataInterface::<Identity, OFFSET>,
32679        }
32680    }
32681    pub fn matches(iid: &windows_core::GUID) -> bool {
32682        iid == &<ID3D11VideoDevice as windows_core::Interface>::IID
32683    }
32684}
32685#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
32686impl windows_core::RuntimeName for ID3D11VideoDevice {}
32687#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
32688unsafe impl Send for ID3D11VideoDevice {}
32689#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
32690unsafe impl Sync for ID3D11VideoDevice {}
32691windows_core::imp::define_interface!(
32692    ID3D11VideoDevice1,
32693    ID3D11VideoDevice1_Vtbl,
32694    0x29da1d51_1321_4454_804b_f5fc9f861f0f
32695);
32696impl core::ops::Deref for ID3D11VideoDevice1 {
32697    type Target = ID3D11VideoDevice;
32698    fn deref(&self) -> &Self::Target {
32699        unsafe { core::mem::transmute(self) }
32700    }
32701}
32702windows_core::imp::interface_hierarchy!(
32703    ID3D11VideoDevice1,
32704    windows_core::IUnknown,
32705    ID3D11VideoDevice
32706);
32707impl ID3D11VideoDevice1 {
32708    pub unsafe fn GetCryptoSessionPrivateDataSize(
32709        &self,
32710        pcryptotype: *const windows_core::GUID,
32711        pdecoderprofile: Option<*const windows_core::GUID>,
32712        pkeyexchangetype: *const windows_core::GUID,
32713        pprivateinputsize: *mut u32,
32714        pprivateoutputsize: *mut u32,
32715    ) -> windows_core::Result<()> {
32716        unsafe {
32717            (windows_core::Interface::vtable(self).GetCryptoSessionPrivateDataSize)(
32718                windows_core::Interface::as_raw(self),
32719                pcryptotype,
32720                core::mem::transmute(pdecoderprofile.unwrap_or(core::mem::zeroed())),
32721                pkeyexchangetype,
32722                core::mem::transmute(pprivateinputsize),
32723                core::mem::transmute(pprivateoutputsize),
32724            )
32725            .ok()
32726        }
32727    }
32728    #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
32729    pub unsafe fn GetVideoDecoderCaps(
32730        &self,
32731        pdecoderprofile: *const windows_core::GUID,
32732        samplewidth: u32,
32733        sampleheight: u32,
32734        pframerate: *const crate::Dxgi::Common::DXGI_RATIONAL,
32735        bitrate: u32,
32736        pcryptotype: Option<*const windows_core::GUID>,
32737    ) -> windows_core::Result<u32> {
32738        unsafe {
32739            let mut result__ = core::mem::zeroed();
32740            (windows_core::Interface::vtable(self).GetVideoDecoderCaps)(
32741                windows_core::Interface::as_raw(self),
32742                pdecoderprofile,
32743                samplewidth,
32744                sampleheight,
32745                pframerate,
32746                bitrate,
32747                core::mem::transmute(pcryptotype.unwrap_or(core::mem::zeroed())),
32748                &mut result__,
32749            )
32750            .map(|| result__)
32751        }
32752    }
32753    #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
32754    pub unsafe fn CheckVideoDecoderDownsampling(
32755        &self,
32756        pinputdesc: *const D3D11_VIDEO_DECODER_DESC,
32757        inputcolorspace: crate::Dxgi::Common::DXGI_COLOR_SPACE_TYPE,
32758        pinputconfig: *const D3D11_VIDEO_DECODER_CONFIG,
32759        pframerate: *const crate::Dxgi::Common::DXGI_RATIONAL,
32760        poutputdesc: *const D3D11_VIDEO_SAMPLE_DESC,
32761        psupported: *mut crate::Foundation::BOOL,
32762        prealtimehint: *mut crate::Foundation::BOOL,
32763    ) -> windows_core::Result<()> {
32764        unsafe {
32765            (windows_core::Interface::vtable(self).CheckVideoDecoderDownsampling)(
32766                windows_core::Interface::as_raw(self),
32767                pinputdesc,
32768                inputcolorspace,
32769                pinputconfig,
32770                pframerate,
32771                poutputdesc,
32772                core::mem::transmute(psupported),
32773                core::mem::transmute(prealtimehint),
32774            )
32775            .ok()
32776        }
32777    }
32778    #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
32779    pub unsafe fn RecommendVideoDecoderDownsampleParameters(
32780        &self,
32781        pinputdesc: *const D3D11_VIDEO_DECODER_DESC,
32782        inputcolorspace: crate::Dxgi::Common::DXGI_COLOR_SPACE_TYPE,
32783        pinputconfig: *const D3D11_VIDEO_DECODER_CONFIG,
32784        pframerate: *const crate::Dxgi::Common::DXGI_RATIONAL,
32785    ) -> windows_core::Result<D3D11_VIDEO_SAMPLE_DESC> {
32786        unsafe {
32787            let mut result__ = core::mem::zeroed();
32788            (windows_core::Interface::vtable(self).RecommendVideoDecoderDownsampleParameters)(
32789                windows_core::Interface::as_raw(self),
32790                pinputdesc,
32791                inputcolorspace,
32792                pinputconfig,
32793                pframerate,
32794                &mut result__,
32795            )
32796            .map(|| result__)
32797        }
32798    }
32799}
32800#[repr(C)]
32801pub struct ID3D11VideoDevice1_Vtbl {
32802    pub base__: ID3D11VideoDevice_Vtbl,
32803    pub GetCryptoSessionPrivateDataSize: unsafe extern "system" fn(
32804        *mut core::ffi::c_void,
32805        *const windows_core::GUID,
32806        *const windows_core::GUID,
32807        *const windows_core::GUID,
32808        *mut u32,
32809        *mut u32,
32810    ) -> windows_core::HRESULT,
32811    #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
32812    pub GetVideoDecoderCaps: unsafe extern "system" fn(
32813        *mut core::ffi::c_void,
32814        *const windows_core::GUID,
32815        u32,
32816        u32,
32817        *const crate::Dxgi::Common::DXGI_RATIONAL,
32818        u32,
32819        *const windows_core::GUID,
32820        *mut u32,
32821    ) -> windows_core::HRESULT,
32822    #[cfg(not(feature = "Win32_Graphics_Dxgi_Common"))]
32823    GetVideoDecoderCaps: usize,
32824    #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
32825    pub CheckVideoDecoderDownsampling: unsafe extern "system" fn(
32826        *mut core::ffi::c_void,
32827        *const D3D11_VIDEO_DECODER_DESC,
32828        crate::Dxgi::Common::DXGI_COLOR_SPACE_TYPE,
32829        *const D3D11_VIDEO_DECODER_CONFIG,
32830        *const crate::Dxgi::Common::DXGI_RATIONAL,
32831        *const D3D11_VIDEO_SAMPLE_DESC,
32832        *mut crate::Foundation::BOOL,
32833        *mut crate::Foundation::BOOL,
32834    ) -> windows_core::HRESULT,
32835    #[cfg(not(feature = "Win32_Graphics_Dxgi_Common"))]
32836    CheckVideoDecoderDownsampling: usize,
32837    #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
32838    pub RecommendVideoDecoderDownsampleParameters:
32839        unsafe extern "system" fn(
32840            *mut core::ffi::c_void,
32841            *const D3D11_VIDEO_DECODER_DESC,
32842            crate::Dxgi::Common::DXGI_COLOR_SPACE_TYPE,
32843            *const D3D11_VIDEO_DECODER_CONFIG,
32844            *const crate::Dxgi::Common::DXGI_RATIONAL,
32845            *mut D3D11_VIDEO_SAMPLE_DESC,
32846        ) -> windows_core::HRESULT,
32847    #[cfg(not(feature = "Win32_Graphics_Dxgi_Common"))]
32848    RecommendVideoDecoderDownsampleParameters: usize,
32849}
32850#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
32851pub trait ID3D11VideoDevice1_Impl: ID3D11VideoDevice_Impl {
32852    fn GetCryptoSessionPrivateDataSize(
32853        &self,
32854        pcryptotype: *const windows_core::GUID,
32855        pdecoderprofile: *const windows_core::GUID,
32856        pkeyexchangetype: *const windows_core::GUID,
32857        pprivateinputsize: *mut u32,
32858        pprivateoutputsize: *mut u32,
32859    ) -> windows_core::Result<()>;
32860    fn GetVideoDecoderCaps(
32861        &self,
32862        pdecoderprofile: *const windows_core::GUID,
32863        samplewidth: u32,
32864        sampleheight: u32,
32865        pframerate: *const crate::Dxgi::Common::DXGI_RATIONAL,
32866        bitrate: u32,
32867        pcryptotype: *const windows_core::GUID,
32868    ) -> windows_core::Result<u32>;
32869    fn CheckVideoDecoderDownsampling(
32870        &self,
32871        pinputdesc: *const D3D11_VIDEO_DECODER_DESC,
32872        inputcolorspace: crate::Dxgi::Common::DXGI_COLOR_SPACE_TYPE,
32873        pinputconfig: *const D3D11_VIDEO_DECODER_CONFIG,
32874        pframerate: *const crate::Dxgi::Common::DXGI_RATIONAL,
32875        poutputdesc: *const D3D11_VIDEO_SAMPLE_DESC,
32876        psupported: *mut crate::Foundation::BOOL,
32877        prealtimehint: *mut crate::Foundation::BOOL,
32878    ) -> windows_core::Result<()>;
32879    fn RecommendVideoDecoderDownsampleParameters(
32880        &self,
32881        pinputdesc: *const D3D11_VIDEO_DECODER_DESC,
32882        inputcolorspace: crate::Dxgi::Common::DXGI_COLOR_SPACE_TYPE,
32883        pinputconfig: *const D3D11_VIDEO_DECODER_CONFIG,
32884        pframerate: *const crate::Dxgi::Common::DXGI_RATIONAL,
32885    ) -> windows_core::Result<D3D11_VIDEO_SAMPLE_DESC>;
32886}
32887#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
32888impl ID3D11VideoDevice1_Vtbl {
32889    pub const fn new<Identity: ID3D11VideoDevice1_Impl, const OFFSET: isize>() -> Self {
32890        unsafe extern "system" fn GetCryptoSessionPrivateDataSize<
32891            Identity: ID3D11VideoDevice1_Impl,
32892            const OFFSET: isize,
32893        >(
32894            this: *mut core::ffi::c_void,
32895            pcryptotype: *const windows_core::GUID,
32896            pdecoderprofile: *const windows_core::GUID,
32897            pkeyexchangetype: *const windows_core::GUID,
32898            pprivateinputsize: *mut u32,
32899            pprivateoutputsize: *mut u32,
32900        ) -> windows_core::HRESULT {
32901            unsafe {
32902                let this: &Identity =
32903                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
32904                ID3D11VideoDevice1_Impl::GetCryptoSessionPrivateDataSize(
32905                    this,
32906                    core::mem::transmute_copy(&pcryptotype),
32907                    core::mem::transmute_copy(&pdecoderprofile),
32908                    core::mem::transmute_copy(&pkeyexchangetype),
32909                    core::mem::transmute_copy(&pprivateinputsize),
32910                    core::mem::transmute_copy(&pprivateoutputsize),
32911                )
32912                .into()
32913            }
32914        }
32915        unsafe extern "system" fn GetVideoDecoderCaps<
32916            Identity: ID3D11VideoDevice1_Impl,
32917            const OFFSET: isize,
32918        >(
32919            this: *mut core::ffi::c_void,
32920            pdecoderprofile: *const windows_core::GUID,
32921            samplewidth: u32,
32922            sampleheight: u32,
32923            pframerate: *const crate::Dxgi::Common::DXGI_RATIONAL,
32924            bitrate: u32,
32925            pcryptotype: *const windows_core::GUID,
32926            pdecodercaps: *mut u32,
32927        ) -> windows_core::HRESULT {
32928            unsafe {
32929                let this: &Identity =
32930                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
32931                match ID3D11VideoDevice1_Impl::GetVideoDecoderCaps(
32932                    this,
32933                    core::mem::transmute_copy(&pdecoderprofile),
32934                    core::mem::transmute_copy(&samplewidth),
32935                    core::mem::transmute_copy(&sampleheight),
32936                    core::mem::transmute_copy(&pframerate),
32937                    core::mem::transmute_copy(&bitrate),
32938                    core::mem::transmute_copy(&pcryptotype),
32939                ) {
32940                    Ok(ok__) => {
32941                        pdecodercaps.write(core::mem::transmute(ok__));
32942                        windows_core::HRESULT(0)
32943                    }
32944                    Err(err) => err.into(),
32945                }
32946            }
32947        }
32948        unsafe extern "system" fn CheckVideoDecoderDownsampling<
32949            Identity: ID3D11VideoDevice1_Impl,
32950            const OFFSET: isize,
32951        >(
32952            this: *mut core::ffi::c_void,
32953            pinputdesc: *const D3D11_VIDEO_DECODER_DESC,
32954            inputcolorspace: crate::Dxgi::Common::DXGI_COLOR_SPACE_TYPE,
32955            pinputconfig: *const D3D11_VIDEO_DECODER_CONFIG,
32956            pframerate: *const crate::Dxgi::Common::DXGI_RATIONAL,
32957            poutputdesc: *const D3D11_VIDEO_SAMPLE_DESC,
32958            psupported: *mut crate::Foundation::BOOL,
32959            prealtimehint: *mut crate::Foundation::BOOL,
32960        ) -> windows_core::HRESULT {
32961            unsafe {
32962                let this: &Identity =
32963                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
32964                ID3D11VideoDevice1_Impl::CheckVideoDecoderDownsampling(
32965                    this,
32966                    core::mem::transmute_copy(&pinputdesc),
32967                    core::mem::transmute_copy(&inputcolorspace),
32968                    core::mem::transmute_copy(&pinputconfig),
32969                    core::mem::transmute_copy(&pframerate),
32970                    core::mem::transmute_copy(&poutputdesc),
32971                    core::mem::transmute_copy(&psupported),
32972                    core::mem::transmute_copy(&prealtimehint),
32973                )
32974                .into()
32975            }
32976        }
32977        unsafe extern "system" fn RecommendVideoDecoderDownsampleParameters<
32978            Identity: ID3D11VideoDevice1_Impl,
32979            const OFFSET: isize,
32980        >(
32981            this: *mut core::ffi::c_void,
32982            pinputdesc: *const D3D11_VIDEO_DECODER_DESC,
32983            inputcolorspace: crate::Dxgi::Common::DXGI_COLOR_SPACE_TYPE,
32984            pinputconfig: *const D3D11_VIDEO_DECODER_CONFIG,
32985            pframerate: *const crate::Dxgi::Common::DXGI_RATIONAL,
32986            precommendedoutputdesc: *mut D3D11_VIDEO_SAMPLE_DESC,
32987        ) -> windows_core::HRESULT {
32988            unsafe {
32989                let this: &Identity =
32990                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
32991                match ID3D11VideoDevice1_Impl::RecommendVideoDecoderDownsampleParameters(
32992                    this,
32993                    core::mem::transmute_copy(&pinputdesc),
32994                    core::mem::transmute_copy(&inputcolorspace),
32995                    core::mem::transmute_copy(&pinputconfig),
32996                    core::mem::transmute_copy(&pframerate),
32997                ) {
32998                    Ok(ok__) => {
32999                        precommendedoutputdesc.write(core::mem::transmute(ok__));
33000                        windows_core::HRESULT(0)
33001                    }
33002                    Err(err) => err.into(),
33003                }
33004            }
33005        }
33006        Self {
33007            base__: ID3D11VideoDevice_Vtbl::new::<Identity, OFFSET>(),
33008            GetCryptoSessionPrivateDataSize: GetCryptoSessionPrivateDataSize::<Identity, OFFSET>,
33009            GetVideoDecoderCaps: GetVideoDecoderCaps::<Identity, OFFSET>,
33010            CheckVideoDecoderDownsampling: CheckVideoDecoderDownsampling::<Identity, OFFSET>,
33011            RecommendVideoDecoderDownsampleParameters: RecommendVideoDecoderDownsampleParameters::<
33012                Identity,
33013                OFFSET,
33014            >,
33015        }
33016    }
33017    pub fn matches(iid: &windows_core::GUID) -> bool {
33018        iid == &<ID3D11VideoDevice1 as windows_core::Interface>::IID
33019            || iid == &<ID3D11VideoDevice as windows_core::Interface>::IID
33020    }
33021}
33022#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
33023impl windows_core::RuntimeName for ID3D11VideoDevice1 {}
33024#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
33025unsafe impl Send for ID3D11VideoDevice1 {}
33026#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
33027unsafe impl Sync for ID3D11VideoDevice1 {}
33028windows_core::imp::define_interface!(
33029    ID3D11VideoDevice2,
33030    ID3D11VideoDevice2_Vtbl,
33031    0x59c0cb01_35f0_4a70_8f67_87905c906a53
33032);
33033impl core::ops::Deref for ID3D11VideoDevice2 {
33034    type Target = ID3D11VideoDevice1;
33035    fn deref(&self) -> &Self::Target {
33036        unsafe { core::mem::transmute(self) }
33037    }
33038}
33039windows_core::imp::interface_hierarchy!(
33040    ID3D11VideoDevice2,
33041    windows_core::IUnknown,
33042    ID3D11VideoDevice,
33043    ID3D11VideoDevice1
33044);
33045impl ID3D11VideoDevice2 {
33046    pub unsafe fn CheckFeatureSupport(
33047        &self,
33048        feature: D3D11_FEATURE_VIDEO,
33049        pfeaturesupportdata: *mut core::ffi::c_void,
33050        featuresupportdatasize: u32,
33051    ) -> windows_core::Result<()> {
33052        unsafe {
33053            (windows_core::Interface::vtable(self).CheckFeatureSupport)(
33054                windows_core::Interface::as_raw(self),
33055                feature,
33056                core::mem::transmute(pfeaturesupportdata),
33057                featuresupportdatasize,
33058            )
33059            .ok()
33060        }
33061    }
33062    pub unsafe fn NegotiateCryptoSessionKeyExchangeMT<P0>(
33063        &self,
33064        pcryptosession: P0,
33065        flags: D3D11_CRYPTO_SESSION_KEY_EXCHANGE_FLAGS,
33066        datasize: u32,
33067        pdata: *mut core::ffi::c_void,
33068    ) -> windows_core::Result<()>
33069    where
33070        P0: windows_core::Param<ID3D11CryptoSession>,
33071    {
33072        unsafe {
33073            (windows_core::Interface::vtable(self).NegotiateCryptoSessionKeyExchangeMT)(
33074                windows_core::Interface::as_raw(self),
33075                pcryptosession.param().abi(),
33076                flags,
33077                datasize,
33078                core::mem::transmute(pdata),
33079            )
33080            .ok()
33081        }
33082    }
33083}
33084#[repr(C)]
33085pub struct ID3D11VideoDevice2_Vtbl {
33086    pub base__: ID3D11VideoDevice1_Vtbl,
33087    pub CheckFeatureSupport: unsafe extern "system" fn(
33088        *mut core::ffi::c_void,
33089        D3D11_FEATURE_VIDEO,
33090        *mut core::ffi::c_void,
33091        u32,
33092    ) -> windows_core::HRESULT,
33093    pub NegotiateCryptoSessionKeyExchangeMT: unsafe extern "system" fn(
33094        *mut core::ffi::c_void,
33095        *mut core::ffi::c_void,
33096        D3D11_CRYPTO_SESSION_KEY_EXCHANGE_FLAGS,
33097        u32,
33098        *mut core::ffi::c_void,
33099    )
33100        -> windows_core::HRESULT,
33101}
33102#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
33103pub trait ID3D11VideoDevice2_Impl: ID3D11VideoDevice1_Impl {
33104    fn CheckFeatureSupport(
33105        &self,
33106        feature: D3D11_FEATURE_VIDEO,
33107        pfeaturesupportdata: *mut core::ffi::c_void,
33108        featuresupportdatasize: u32,
33109    ) -> windows_core::Result<()>;
33110    fn NegotiateCryptoSessionKeyExchangeMT(
33111        &self,
33112        pcryptosession: windows_core::Ref<'_, ID3D11CryptoSession>,
33113        flags: D3D11_CRYPTO_SESSION_KEY_EXCHANGE_FLAGS,
33114        datasize: u32,
33115        pdata: *mut core::ffi::c_void,
33116    ) -> windows_core::Result<()>;
33117}
33118#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
33119impl ID3D11VideoDevice2_Vtbl {
33120    pub const fn new<Identity: ID3D11VideoDevice2_Impl, const OFFSET: isize>() -> Self {
33121        unsafe extern "system" fn CheckFeatureSupport<
33122            Identity: ID3D11VideoDevice2_Impl,
33123            const OFFSET: isize,
33124        >(
33125            this: *mut core::ffi::c_void,
33126            feature: D3D11_FEATURE_VIDEO,
33127            pfeaturesupportdata: *mut core::ffi::c_void,
33128            featuresupportdatasize: u32,
33129        ) -> windows_core::HRESULT {
33130            unsafe {
33131                let this: &Identity =
33132                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
33133                ID3D11VideoDevice2_Impl::CheckFeatureSupport(
33134                    this,
33135                    core::mem::transmute_copy(&feature),
33136                    core::mem::transmute_copy(&pfeaturesupportdata),
33137                    core::mem::transmute_copy(&featuresupportdatasize),
33138                )
33139                .into()
33140            }
33141        }
33142        unsafe extern "system" fn NegotiateCryptoSessionKeyExchangeMT<
33143            Identity: ID3D11VideoDevice2_Impl,
33144            const OFFSET: isize,
33145        >(
33146            this: *mut core::ffi::c_void,
33147            pcryptosession: *mut core::ffi::c_void,
33148            flags: D3D11_CRYPTO_SESSION_KEY_EXCHANGE_FLAGS,
33149            datasize: u32,
33150            pdata: *mut core::ffi::c_void,
33151        ) -> windows_core::HRESULT {
33152            unsafe {
33153                let this: &Identity =
33154                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
33155                ID3D11VideoDevice2_Impl::NegotiateCryptoSessionKeyExchangeMT(
33156                    this,
33157                    core::mem::transmute_copy(&pcryptosession),
33158                    core::mem::transmute_copy(&flags),
33159                    core::mem::transmute_copy(&datasize),
33160                    core::mem::transmute_copy(&pdata),
33161                )
33162                .into()
33163            }
33164        }
33165        Self {
33166            base__: ID3D11VideoDevice1_Vtbl::new::<Identity, OFFSET>(),
33167            CheckFeatureSupport: CheckFeatureSupport::<Identity, OFFSET>,
33168            NegotiateCryptoSessionKeyExchangeMT: NegotiateCryptoSessionKeyExchangeMT::<
33169                Identity,
33170                OFFSET,
33171            >,
33172        }
33173    }
33174    pub fn matches(iid: &windows_core::GUID) -> bool {
33175        iid == &<ID3D11VideoDevice2 as windows_core::Interface>::IID
33176            || iid == &<ID3D11VideoDevice as windows_core::Interface>::IID
33177            || iid == &<ID3D11VideoDevice1 as windows_core::Interface>::IID
33178    }
33179}
33180#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
33181impl windows_core::RuntimeName for ID3D11VideoDevice2 {}
33182#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
33183unsafe impl Send for ID3D11VideoDevice2 {}
33184#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
33185unsafe impl Sync for ID3D11VideoDevice2 {}
33186windows_core::imp::define_interface!(
33187    ID3D11VideoProcessor,
33188    ID3D11VideoProcessor_Vtbl,
33189    0x1d7b0652_185f_41c6_85ce_0c5be3d4ae6c
33190);
33191impl core::ops::Deref for ID3D11VideoProcessor {
33192    type Target = ID3D11DeviceChild;
33193    fn deref(&self) -> &Self::Target {
33194        unsafe { core::mem::transmute(self) }
33195    }
33196}
33197windows_core::imp::interface_hierarchy!(
33198    ID3D11VideoProcessor,
33199    windows_core::IUnknown,
33200    ID3D11DeviceChild
33201);
33202impl ID3D11VideoProcessor {
33203    #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
33204    pub unsafe fn GetContentDesc(&self, pdesc: *mut D3D11_VIDEO_PROCESSOR_CONTENT_DESC) {
33205        unsafe {
33206            (windows_core::Interface::vtable(self).GetContentDesc)(
33207                windows_core::Interface::as_raw(self),
33208                core::mem::transmute(pdesc),
33209            )
33210        }
33211    }
33212    pub unsafe fn GetRateConversionCaps(
33213        &self,
33214        pcaps: *mut D3D11_VIDEO_PROCESSOR_RATE_CONVERSION_CAPS,
33215    ) {
33216        unsafe {
33217            (windows_core::Interface::vtable(self).GetRateConversionCaps)(
33218                windows_core::Interface::as_raw(self),
33219                core::mem::transmute(pcaps),
33220            )
33221        }
33222    }
33223}
33224#[repr(C)]
33225pub struct ID3D11VideoProcessor_Vtbl {
33226    pub base__: ID3D11DeviceChild_Vtbl,
33227    #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
33228    pub GetContentDesc:
33229        unsafe extern "system" fn(*mut core::ffi::c_void, *mut D3D11_VIDEO_PROCESSOR_CONTENT_DESC),
33230    #[cfg(not(feature = "Win32_Graphics_Dxgi_Common"))]
33231    GetContentDesc: usize,
33232    pub GetRateConversionCaps: unsafe extern "system" fn(
33233        *mut core::ffi::c_void,
33234        *mut D3D11_VIDEO_PROCESSOR_RATE_CONVERSION_CAPS,
33235    ),
33236}
33237#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
33238pub trait ID3D11VideoProcessor_Impl: ID3D11DeviceChild_Impl {
33239    fn GetContentDesc(&self, pdesc: *mut D3D11_VIDEO_PROCESSOR_CONTENT_DESC);
33240    fn GetRateConversionCaps(&self, pcaps: *mut D3D11_VIDEO_PROCESSOR_RATE_CONVERSION_CAPS);
33241}
33242#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
33243impl ID3D11VideoProcessor_Vtbl {
33244    pub const fn new<Identity: ID3D11VideoProcessor_Impl, const OFFSET: isize>() -> Self {
33245        unsafe extern "system" fn GetContentDesc<
33246            Identity: ID3D11VideoProcessor_Impl,
33247            const OFFSET: isize,
33248        >(
33249            this: *mut core::ffi::c_void,
33250            pdesc: *mut D3D11_VIDEO_PROCESSOR_CONTENT_DESC,
33251        ) {
33252            unsafe {
33253                let this: &Identity =
33254                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
33255                ID3D11VideoProcessor_Impl::GetContentDesc(this, core::mem::transmute_copy(&pdesc))
33256            }
33257        }
33258        unsafe extern "system" fn GetRateConversionCaps<
33259            Identity: ID3D11VideoProcessor_Impl,
33260            const OFFSET: isize,
33261        >(
33262            this: *mut core::ffi::c_void,
33263            pcaps: *mut D3D11_VIDEO_PROCESSOR_RATE_CONVERSION_CAPS,
33264        ) {
33265            unsafe {
33266                let this: &Identity =
33267                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
33268                ID3D11VideoProcessor_Impl::GetRateConversionCaps(
33269                    this,
33270                    core::mem::transmute_copy(&pcaps),
33271                )
33272            }
33273        }
33274        Self {
33275            base__: ID3D11DeviceChild_Vtbl::new::<Identity, OFFSET>(),
33276            GetContentDesc: GetContentDesc::<Identity, OFFSET>,
33277            GetRateConversionCaps: GetRateConversionCaps::<Identity, OFFSET>,
33278        }
33279    }
33280    pub fn matches(iid: &windows_core::GUID) -> bool {
33281        iid == &<ID3D11VideoProcessor as windows_core::Interface>::IID
33282            || iid == &<ID3D11DeviceChild as windows_core::Interface>::IID
33283    }
33284}
33285#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
33286impl windows_core::RuntimeName for ID3D11VideoProcessor {}
33287#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
33288unsafe impl Send for ID3D11VideoProcessor {}
33289#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
33290unsafe impl Sync for ID3D11VideoProcessor {}
33291windows_core::imp::define_interface!(
33292    ID3D11VideoProcessorEnumerator,
33293    ID3D11VideoProcessorEnumerator_Vtbl,
33294    0x31627037_53ab_4200_9061_05faa9ab45f9
33295);
33296impl core::ops::Deref for ID3D11VideoProcessorEnumerator {
33297    type Target = ID3D11DeviceChild;
33298    fn deref(&self) -> &Self::Target {
33299        unsafe { core::mem::transmute(self) }
33300    }
33301}
33302windows_core::imp::interface_hierarchy!(
33303    ID3D11VideoProcessorEnumerator,
33304    windows_core::IUnknown,
33305    ID3D11DeviceChild
33306);
33307impl ID3D11VideoProcessorEnumerator {
33308    #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
33309    pub unsafe fn GetVideoProcessorContentDesc(
33310        &self,
33311        pcontentdesc: *mut D3D11_VIDEO_PROCESSOR_CONTENT_DESC,
33312    ) -> windows_core::Result<()> {
33313        unsafe {
33314            (windows_core::Interface::vtable(self).GetVideoProcessorContentDesc)(
33315                windows_core::Interface::as_raw(self),
33316                core::mem::transmute(pcontentdesc),
33317            )
33318            .ok()
33319        }
33320    }
33321    #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
33322    pub unsafe fn CheckVideoProcessorFormat(
33323        &self,
33324        format: crate::Dxgi::Common::DXGI_FORMAT,
33325    ) -> windows_core::Result<u32> {
33326        unsafe {
33327            let mut result__ = core::mem::zeroed();
33328            (windows_core::Interface::vtable(self).CheckVideoProcessorFormat)(
33329                windows_core::Interface::as_raw(self),
33330                format,
33331                &mut result__,
33332            )
33333            .map(|| result__)
33334        }
33335    }
33336    pub unsafe fn GetVideoProcessorCaps(
33337        &self,
33338        pcaps: *mut D3D11_VIDEO_PROCESSOR_CAPS,
33339    ) -> windows_core::Result<()> {
33340        unsafe {
33341            (windows_core::Interface::vtable(self).GetVideoProcessorCaps)(
33342                windows_core::Interface::as_raw(self),
33343                core::mem::transmute(pcaps),
33344            )
33345            .ok()
33346        }
33347    }
33348    pub unsafe fn GetVideoProcessorRateConversionCaps(
33349        &self,
33350        typeindex: u32,
33351        pcaps: *mut D3D11_VIDEO_PROCESSOR_RATE_CONVERSION_CAPS,
33352    ) -> windows_core::Result<()> {
33353        unsafe {
33354            (windows_core::Interface::vtable(self).GetVideoProcessorRateConversionCaps)(
33355                windows_core::Interface::as_raw(self),
33356                typeindex,
33357                core::mem::transmute(pcaps),
33358            )
33359            .ok()
33360        }
33361    }
33362    #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
33363    pub unsafe fn GetVideoProcessorCustomRate(
33364        &self,
33365        typeindex: u32,
33366        customrateindex: u32,
33367        prate: *mut D3D11_VIDEO_PROCESSOR_CUSTOM_RATE,
33368    ) -> windows_core::Result<()> {
33369        unsafe {
33370            (windows_core::Interface::vtable(self).GetVideoProcessorCustomRate)(
33371                windows_core::Interface::as_raw(self),
33372                typeindex,
33373                customrateindex,
33374                core::mem::transmute(prate),
33375            )
33376            .ok()
33377        }
33378    }
33379    pub unsafe fn GetVideoProcessorFilterRange(
33380        &self,
33381        filter: D3D11_VIDEO_PROCESSOR_FILTER,
33382    ) -> windows_core::Result<D3D11_VIDEO_PROCESSOR_FILTER_RANGE> {
33383        unsafe {
33384            let mut result__ = core::mem::zeroed();
33385            (windows_core::Interface::vtable(self).GetVideoProcessorFilterRange)(
33386                windows_core::Interface::as_raw(self),
33387                filter,
33388                &mut result__,
33389            )
33390            .map(|| result__)
33391        }
33392    }
33393}
33394#[repr(C)]
33395pub struct ID3D11VideoProcessorEnumerator_Vtbl {
33396    pub base__: ID3D11DeviceChild_Vtbl,
33397    #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
33398    pub GetVideoProcessorContentDesc: unsafe extern "system" fn(
33399        *mut core::ffi::c_void,
33400        *mut D3D11_VIDEO_PROCESSOR_CONTENT_DESC,
33401    ) -> windows_core::HRESULT,
33402    #[cfg(not(feature = "Win32_Graphics_Dxgi_Common"))]
33403    GetVideoProcessorContentDesc: usize,
33404    #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
33405    pub CheckVideoProcessorFormat: unsafe extern "system" fn(
33406        *mut core::ffi::c_void,
33407        crate::Dxgi::Common::DXGI_FORMAT,
33408        *mut u32,
33409    ) -> windows_core::HRESULT,
33410    #[cfg(not(feature = "Win32_Graphics_Dxgi_Common"))]
33411    CheckVideoProcessorFormat: usize,
33412    pub GetVideoProcessorCaps: unsafe extern "system" fn(
33413        *mut core::ffi::c_void,
33414        *mut D3D11_VIDEO_PROCESSOR_CAPS,
33415    ) -> windows_core::HRESULT,
33416    pub GetVideoProcessorRateConversionCaps: unsafe extern "system" fn(
33417        *mut core::ffi::c_void,
33418        u32,
33419        *mut D3D11_VIDEO_PROCESSOR_RATE_CONVERSION_CAPS,
33420    )
33421        -> windows_core::HRESULT,
33422    #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
33423    pub GetVideoProcessorCustomRate: unsafe extern "system" fn(
33424        *mut core::ffi::c_void,
33425        u32,
33426        u32,
33427        *mut D3D11_VIDEO_PROCESSOR_CUSTOM_RATE,
33428    ) -> windows_core::HRESULT,
33429    #[cfg(not(feature = "Win32_Graphics_Dxgi_Common"))]
33430    GetVideoProcessorCustomRate: usize,
33431    pub GetVideoProcessorFilterRange: unsafe extern "system" fn(
33432        *mut core::ffi::c_void,
33433        D3D11_VIDEO_PROCESSOR_FILTER,
33434        *mut D3D11_VIDEO_PROCESSOR_FILTER_RANGE,
33435    ) -> windows_core::HRESULT,
33436}
33437#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
33438pub trait ID3D11VideoProcessorEnumerator_Impl: ID3D11DeviceChild_Impl {
33439    fn GetVideoProcessorContentDesc(
33440        &self,
33441        pcontentdesc: *mut D3D11_VIDEO_PROCESSOR_CONTENT_DESC,
33442    ) -> windows_core::Result<()>;
33443    fn CheckVideoProcessorFormat(
33444        &self,
33445        format: crate::Dxgi::Common::DXGI_FORMAT,
33446    ) -> windows_core::Result<u32>;
33447    fn GetVideoProcessorCaps(
33448        &self,
33449        pcaps: *mut D3D11_VIDEO_PROCESSOR_CAPS,
33450    ) -> windows_core::Result<()>;
33451    fn GetVideoProcessorRateConversionCaps(
33452        &self,
33453        typeindex: u32,
33454        pcaps: *mut D3D11_VIDEO_PROCESSOR_RATE_CONVERSION_CAPS,
33455    ) -> windows_core::Result<()>;
33456    fn GetVideoProcessorCustomRate(
33457        &self,
33458        typeindex: u32,
33459        customrateindex: u32,
33460        prate: *mut D3D11_VIDEO_PROCESSOR_CUSTOM_RATE,
33461    ) -> windows_core::Result<()>;
33462    fn GetVideoProcessorFilterRange(
33463        &self,
33464        filter: D3D11_VIDEO_PROCESSOR_FILTER,
33465    ) -> windows_core::Result<D3D11_VIDEO_PROCESSOR_FILTER_RANGE>;
33466}
33467#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
33468impl ID3D11VideoProcessorEnumerator_Vtbl {
33469    pub const fn new<Identity: ID3D11VideoProcessorEnumerator_Impl, const OFFSET: isize>() -> Self {
33470        unsafe extern "system" fn GetVideoProcessorContentDesc<
33471            Identity: ID3D11VideoProcessorEnumerator_Impl,
33472            const OFFSET: isize,
33473        >(
33474            this: *mut core::ffi::c_void,
33475            pcontentdesc: *mut D3D11_VIDEO_PROCESSOR_CONTENT_DESC,
33476        ) -> windows_core::HRESULT {
33477            unsafe {
33478                let this: &Identity =
33479                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
33480                ID3D11VideoProcessorEnumerator_Impl::GetVideoProcessorContentDesc(
33481                    this,
33482                    core::mem::transmute_copy(&pcontentdesc),
33483                )
33484                .into()
33485            }
33486        }
33487        unsafe extern "system" fn CheckVideoProcessorFormat<
33488            Identity: ID3D11VideoProcessorEnumerator_Impl,
33489            const OFFSET: isize,
33490        >(
33491            this: *mut core::ffi::c_void,
33492            format: crate::Dxgi::Common::DXGI_FORMAT,
33493            pflags: *mut u32,
33494        ) -> windows_core::HRESULT {
33495            unsafe {
33496                let this: &Identity =
33497                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
33498                match ID3D11VideoProcessorEnumerator_Impl::CheckVideoProcessorFormat(
33499                    this,
33500                    core::mem::transmute_copy(&format),
33501                ) {
33502                    Ok(ok__) => {
33503                        pflags.write(core::mem::transmute(ok__));
33504                        windows_core::HRESULT(0)
33505                    }
33506                    Err(err) => err.into(),
33507                }
33508            }
33509        }
33510        unsafe extern "system" fn GetVideoProcessorCaps<
33511            Identity: ID3D11VideoProcessorEnumerator_Impl,
33512            const OFFSET: isize,
33513        >(
33514            this: *mut core::ffi::c_void,
33515            pcaps: *mut D3D11_VIDEO_PROCESSOR_CAPS,
33516        ) -> windows_core::HRESULT {
33517            unsafe {
33518                let this: &Identity =
33519                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
33520                ID3D11VideoProcessorEnumerator_Impl::GetVideoProcessorCaps(
33521                    this,
33522                    core::mem::transmute_copy(&pcaps),
33523                )
33524                .into()
33525            }
33526        }
33527        unsafe extern "system" fn GetVideoProcessorRateConversionCaps<
33528            Identity: ID3D11VideoProcessorEnumerator_Impl,
33529            const OFFSET: isize,
33530        >(
33531            this: *mut core::ffi::c_void,
33532            typeindex: u32,
33533            pcaps: *mut D3D11_VIDEO_PROCESSOR_RATE_CONVERSION_CAPS,
33534        ) -> windows_core::HRESULT {
33535            unsafe {
33536                let this: &Identity =
33537                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
33538                ID3D11VideoProcessorEnumerator_Impl::GetVideoProcessorRateConversionCaps(
33539                    this,
33540                    core::mem::transmute_copy(&typeindex),
33541                    core::mem::transmute_copy(&pcaps),
33542                )
33543                .into()
33544            }
33545        }
33546        unsafe extern "system" fn GetVideoProcessorCustomRate<
33547            Identity: ID3D11VideoProcessorEnumerator_Impl,
33548            const OFFSET: isize,
33549        >(
33550            this: *mut core::ffi::c_void,
33551            typeindex: u32,
33552            customrateindex: u32,
33553            prate: *mut D3D11_VIDEO_PROCESSOR_CUSTOM_RATE,
33554        ) -> windows_core::HRESULT {
33555            unsafe {
33556                let this: &Identity =
33557                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
33558                ID3D11VideoProcessorEnumerator_Impl::GetVideoProcessorCustomRate(
33559                    this,
33560                    core::mem::transmute_copy(&typeindex),
33561                    core::mem::transmute_copy(&customrateindex),
33562                    core::mem::transmute_copy(&prate),
33563                )
33564                .into()
33565            }
33566        }
33567        unsafe extern "system" fn GetVideoProcessorFilterRange<
33568            Identity: ID3D11VideoProcessorEnumerator_Impl,
33569            const OFFSET: isize,
33570        >(
33571            this: *mut core::ffi::c_void,
33572            filter: D3D11_VIDEO_PROCESSOR_FILTER,
33573            prange: *mut D3D11_VIDEO_PROCESSOR_FILTER_RANGE,
33574        ) -> windows_core::HRESULT {
33575            unsafe {
33576                let this: &Identity =
33577                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
33578                match ID3D11VideoProcessorEnumerator_Impl::GetVideoProcessorFilterRange(
33579                    this,
33580                    core::mem::transmute_copy(&filter),
33581                ) {
33582                    Ok(ok__) => {
33583                        prange.write(core::mem::transmute(ok__));
33584                        windows_core::HRESULT(0)
33585                    }
33586                    Err(err) => err.into(),
33587                }
33588            }
33589        }
33590        Self {
33591            base__: ID3D11DeviceChild_Vtbl::new::<Identity, OFFSET>(),
33592            GetVideoProcessorContentDesc: GetVideoProcessorContentDesc::<Identity, OFFSET>,
33593            CheckVideoProcessorFormat: CheckVideoProcessorFormat::<Identity, OFFSET>,
33594            GetVideoProcessorCaps: GetVideoProcessorCaps::<Identity, OFFSET>,
33595            GetVideoProcessorRateConversionCaps: GetVideoProcessorRateConversionCaps::<
33596                Identity,
33597                OFFSET,
33598            >,
33599            GetVideoProcessorCustomRate: GetVideoProcessorCustomRate::<Identity, OFFSET>,
33600            GetVideoProcessorFilterRange: GetVideoProcessorFilterRange::<Identity, OFFSET>,
33601        }
33602    }
33603    pub fn matches(iid: &windows_core::GUID) -> bool {
33604        iid == &<ID3D11VideoProcessorEnumerator as windows_core::Interface>::IID
33605            || iid == &<ID3D11DeviceChild as windows_core::Interface>::IID
33606    }
33607}
33608#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
33609impl windows_core::RuntimeName for ID3D11VideoProcessorEnumerator {}
33610#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
33611unsafe impl Send for ID3D11VideoProcessorEnumerator {}
33612#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
33613unsafe impl Sync for ID3D11VideoProcessorEnumerator {}
33614windows_core::imp::define_interface!(
33615    ID3D11VideoProcessorEnumerator1,
33616    ID3D11VideoProcessorEnumerator1_Vtbl,
33617    0x465217f2_5568_43cf_b5b9_f61d54531ca1
33618);
33619impl core::ops::Deref for ID3D11VideoProcessorEnumerator1 {
33620    type Target = ID3D11VideoProcessorEnumerator;
33621    fn deref(&self) -> &Self::Target {
33622        unsafe { core::mem::transmute(self) }
33623    }
33624}
33625windows_core::imp::interface_hierarchy!(
33626    ID3D11VideoProcessorEnumerator1,
33627    windows_core::IUnknown,
33628    ID3D11DeviceChild,
33629    ID3D11VideoProcessorEnumerator
33630);
33631impl ID3D11VideoProcessorEnumerator1 {
33632    #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
33633    pub unsafe fn CheckVideoProcessorFormatConversion(
33634        &self,
33635        inputformat: crate::Dxgi::Common::DXGI_FORMAT,
33636        inputcolorspace: crate::Dxgi::Common::DXGI_COLOR_SPACE_TYPE,
33637        outputformat: crate::Dxgi::Common::DXGI_FORMAT,
33638        outputcolorspace: crate::Dxgi::Common::DXGI_COLOR_SPACE_TYPE,
33639    ) -> windows_core::Result<crate::Foundation::BOOL> {
33640        unsafe {
33641            let mut result__ = core::mem::zeroed();
33642            (windows_core::Interface::vtable(self).CheckVideoProcessorFormatConversion)(
33643                windows_core::Interface::as_raw(self),
33644                inputformat,
33645                inputcolorspace,
33646                outputformat,
33647                outputcolorspace,
33648                &mut result__,
33649            )
33650            .map(|| result__)
33651        }
33652    }
33653}
33654#[repr(C)]
33655pub struct ID3D11VideoProcessorEnumerator1_Vtbl {
33656    pub base__: ID3D11VideoProcessorEnumerator_Vtbl,
33657    #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
33658    pub CheckVideoProcessorFormatConversion: unsafe extern "system" fn(
33659        *mut core::ffi::c_void,
33660        crate::Dxgi::Common::DXGI_FORMAT,
33661        crate::Dxgi::Common::DXGI_COLOR_SPACE_TYPE,
33662        crate::Dxgi::Common::DXGI_FORMAT,
33663        crate::Dxgi::Common::DXGI_COLOR_SPACE_TYPE,
33664        *mut crate::Foundation::BOOL,
33665    )
33666        -> windows_core::HRESULT,
33667    #[cfg(not(feature = "Win32_Graphics_Dxgi_Common"))]
33668    CheckVideoProcessorFormatConversion: usize,
33669}
33670#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
33671pub trait ID3D11VideoProcessorEnumerator1_Impl: ID3D11VideoProcessorEnumerator_Impl {
33672    fn CheckVideoProcessorFormatConversion(
33673        &self,
33674        inputformat: crate::Dxgi::Common::DXGI_FORMAT,
33675        inputcolorspace: crate::Dxgi::Common::DXGI_COLOR_SPACE_TYPE,
33676        outputformat: crate::Dxgi::Common::DXGI_FORMAT,
33677        outputcolorspace: crate::Dxgi::Common::DXGI_COLOR_SPACE_TYPE,
33678    ) -> windows_core::Result<crate::Foundation::BOOL>;
33679}
33680#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
33681impl ID3D11VideoProcessorEnumerator1_Vtbl {
33682    pub const fn new<Identity: ID3D11VideoProcessorEnumerator1_Impl, const OFFSET: isize>() -> Self
33683    {
33684        unsafe extern "system" fn CheckVideoProcessorFormatConversion<
33685            Identity: ID3D11VideoProcessorEnumerator1_Impl,
33686            const OFFSET: isize,
33687        >(
33688            this: *mut core::ffi::c_void,
33689            inputformat: crate::Dxgi::Common::DXGI_FORMAT,
33690            inputcolorspace: crate::Dxgi::Common::DXGI_COLOR_SPACE_TYPE,
33691            outputformat: crate::Dxgi::Common::DXGI_FORMAT,
33692            outputcolorspace: crate::Dxgi::Common::DXGI_COLOR_SPACE_TYPE,
33693            psupported: *mut crate::Foundation::BOOL,
33694        ) -> windows_core::HRESULT {
33695            unsafe {
33696                let this: &Identity =
33697                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
33698                match ID3D11VideoProcessorEnumerator1_Impl::CheckVideoProcessorFormatConversion(
33699                    this,
33700                    core::mem::transmute_copy(&inputformat),
33701                    core::mem::transmute_copy(&inputcolorspace),
33702                    core::mem::transmute_copy(&outputformat),
33703                    core::mem::transmute_copy(&outputcolorspace),
33704                ) {
33705                    Ok(ok__) => {
33706                        psupported.write(core::mem::transmute(ok__));
33707                        windows_core::HRESULT(0)
33708                    }
33709                    Err(err) => err.into(),
33710                }
33711            }
33712        }
33713        Self {
33714            base__: ID3D11VideoProcessorEnumerator_Vtbl::new::<Identity, OFFSET>(),
33715            CheckVideoProcessorFormatConversion: CheckVideoProcessorFormatConversion::<
33716                Identity,
33717                OFFSET,
33718            >,
33719        }
33720    }
33721    pub fn matches(iid: &windows_core::GUID) -> bool {
33722        iid == &<ID3D11VideoProcessorEnumerator1 as windows_core::Interface>::IID
33723            || iid == &<ID3D11DeviceChild as windows_core::Interface>::IID
33724            || iid == &<ID3D11VideoProcessorEnumerator as windows_core::Interface>::IID
33725    }
33726}
33727#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
33728impl windows_core::RuntimeName for ID3D11VideoProcessorEnumerator1 {}
33729#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
33730unsafe impl Send for ID3D11VideoProcessorEnumerator1 {}
33731#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
33732unsafe impl Sync for ID3D11VideoProcessorEnumerator1 {}
33733windows_core::imp::define_interface!(
33734    ID3D11VideoProcessorInputView,
33735    ID3D11VideoProcessorInputView_Vtbl,
33736    0x11ec5a5f_51dc_4945_ab34_6e8c21300ea5
33737);
33738impl core::ops::Deref for ID3D11VideoProcessorInputView {
33739    type Target = ID3D11View;
33740    fn deref(&self) -> &Self::Target {
33741        unsafe { core::mem::transmute(self) }
33742    }
33743}
33744windows_core::imp::interface_hierarchy!(
33745    ID3D11VideoProcessorInputView,
33746    windows_core::IUnknown,
33747    ID3D11DeviceChild,
33748    ID3D11View
33749);
33750impl ID3D11VideoProcessorInputView {
33751    pub unsafe fn GetDesc(&self) -> D3D11_VIDEO_PROCESSOR_INPUT_VIEW_DESC {
33752        unsafe {
33753            let mut result__ = core::mem::zeroed();
33754            (windows_core::Interface::vtable(self).GetDesc)(
33755                windows_core::Interface::as_raw(self),
33756                &mut result__,
33757            );
33758            result__
33759        }
33760    }
33761}
33762#[repr(C)]
33763pub struct ID3D11VideoProcessorInputView_Vtbl {
33764    pub base__: ID3D11View_Vtbl,
33765    pub GetDesc: unsafe extern "system" fn(
33766        *mut core::ffi::c_void,
33767        *mut D3D11_VIDEO_PROCESSOR_INPUT_VIEW_DESC,
33768    ),
33769}
33770pub trait ID3D11VideoProcessorInputView_Impl: ID3D11View_Impl {
33771    fn GetDesc(&self, pdesc: *mut D3D11_VIDEO_PROCESSOR_INPUT_VIEW_DESC);
33772}
33773impl ID3D11VideoProcessorInputView_Vtbl {
33774    pub const fn new<Identity: ID3D11VideoProcessorInputView_Impl, const OFFSET: isize>() -> Self {
33775        unsafe extern "system" fn GetDesc<
33776            Identity: ID3D11VideoProcessorInputView_Impl,
33777            const OFFSET: isize,
33778        >(
33779            this: *mut core::ffi::c_void,
33780            pdesc: *mut D3D11_VIDEO_PROCESSOR_INPUT_VIEW_DESC,
33781        ) {
33782            unsafe {
33783                let this: &Identity =
33784                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
33785                ID3D11VideoProcessorInputView_Impl::GetDesc(this, core::mem::transmute_copy(&pdesc))
33786            }
33787        }
33788        Self {
33789            base__: ID3D11View_Vtbl::new::<Identity, OFFSET>(),
33790            GetDesc: GetDesc::<Identity, OFFSET>,
33791        }
33792    }
33793    pub fn matches(iid: &windows_core::GUID) -> bool {
33794        iid == &<ID3D11VideoProcessorInputView as windows_core::Interface>::IID
33795            || iid == &<ID3D11DeviceChild as windows_core::Interface>::IID
33796            || iid == &<ID3D11View as windows_core::Interface>::IID
33797    }
33798}
33799impl windows_core::RuntimeName for ID3D11VideoProcessorInputView {}
33800unsafe impl Send for ID3D11VideoProcessorInputView {}
33801unsafe impl Sync for ID3D11VideoProcessorInputView {}
33802windows_core::imp::define_interface!(
33803    ID3D11VideoProcessorOutputView,
33804    ID3D11VideoProcessorOutputView_Vtbl,
33805    0xa048285e_25a9_4527_bd93_d68b68c44254
33806);
33807impl core::ops::Deref for ID3D11VideoProcessorOutputView {
33808    type Target = ID3D11View;
33809    fn deref(&self) -> &Self::Target {
33810        unsafe { core::mem::transmute(self) }
33811    }
33812}
33813windows_core::imp::interface_hierarchy!(
33814    ID3D11VideoProcessorOutputView,
33815    windows_core::IUnknown,
33816    ID3D11DeviceChild,
33817    ID3D11View
33818);
33819impl ID3D11VideoProcessorOutputView {
33820    pub unsafe fn GetDesc(&self) -> D3D11_VIDEO_PROCESSOR_OUTPUT_VIEW_DESC {
33821        unsafe {
33822            let mut result__ = core::mem::zeroed();
33823            (windows_core::Interface::vtable(self).GetDesc)(
33824                windows_core::Interface::as_raw(self),
33825                &mut result__,
33826            );
33827            result__
33828        }
33829    }
33830}
33831#[repr(C)]
33832pub struct ID3D11VideoProcessorOutputView_Vtbl {
33833    pub base__: ID3D11View_Vtbl,
33834    pub GetDesc: unsafe extern "system" fn(
33835        *mut core::ffi::c_void,
33836        *mut D3D11_VIDEO_PROCESSOR_OUTPUT_VIEW_DESC,
33837    ),
33838}
33839pub trait ID3D11VideoProcessorOutputView_Impl: ID3D11View_Impl {
33840    fn GetDesc(&self, pdesc: *mut D3D11_VIDEO_PROCESSOR_OUTPUT_VIEW_DESC);
33841}
33842impl ID3D11VideoProcessorOutputView_Vtbl {
33843    pub const fn new<Identity: ID3D11VideoProcessorOutputView_Impl, const OFFSET: isize>() -> Self {
33844        unsafe extern "system" fn GetDesc<
33845            Identity: ID3D11VideoProcessorOutputView_Impl,
33846            const OFFSET: isize,
33847        >(
33848            this: *mut core::ffi::c_void,
33849            pdesc: *mut D3D11_VIDEO_PROCESSOR_OUTPUT_VIEW_DESC,
33850        ) {
33851            unsafe {
33852                let this: &Identity =
33853                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
33854                ID3D11VideoProcessorOutputView_Impl::GetDesc(
33855                    this,
33856                    core::mem::transmute_copy(&pdesc),
33857                )
33858            }
33859        }
33860        Self {
33861            base__: ID3D11View_Vtbl::new::<Identity, OFFSET>(),
33862            GetDesc: GetDesc::<Identity, OFFSET>,
33863        }
33864    }
33865    pub fn matches(iid: &windows_core::GUID) -> bool {
33866        iid == &<ID3D11VideoProcessorOutputView as windows_core::Interface>::IID
33867            || iid == &<ID3D11DeviceChild as windows_core::Interface>::IID
33868            || iid == &<ID3D11View as windows_core::Interface>::IID
33869    }
33870}
33871impl windows_core::RuntimeName for ID3D11VideoProcessorOutputView {}
33872unsafe impl Send for ID3D11VideoProcessorOutputView {}
33873unsafe impl Sync for ID3D11VideoProcessorOutputView {}
33874windows_core::imp::define_interface!(
33875    ID3D11View,
33876    ID3D11View_Vtbl,
33877    0x839d1216_bb2e_412b_b7f4_a9dbebe08ed1
33878);
33879impl core::ops::Deref for ID3D11View {
33880    type Target = ID3D11DeviceChild;
33881    fn deref(&self) -> &Self::Target {
33882        unsafe { core::mem::transmute(self) }
33883    }
33884}
33885windows_core::imp::interface_hierarchy!(ID3D11View, windows_core::IUnknown, ID3D11DeviceChild);
33886impl ID3D11View {
33887    pub unsafe fn GetResource(&self) -> windows_core::Result<ID3D11Resource> {
33888        unsafe {
33889            let mut result__ = core::mem::zeroed();
33890            (windows_core::Interface::vtable(self).GetResource)(
33891                windows_core::Interface::as_raw(self),
33892                &mut result__,
33893            );
33894            windows_core::Type::from_abi(result__)
33895        }
33896    }
33897}
33898#[repr(C)]
33899pub struct ID3D11View_Vtbl {
33900    pub base__: ID3D11DeviceChild_Vtbl,
33901    pub GetResource: unsafe extern "system" fn(*mut core::ffi::c_void, *mut *mut core::ffi::c_void),
33902}
33903pub trait ID3D11View_Impl: ID3D11DeviceChild_Impl {
33904    fn GetResource(&self, ppresource: windows_core::OutRef<'_, ID3D11Resource>);
33905}
33906impl ID3D11View_Vtbl {
33907    pub const fn new<Identity: ID3D11View_Impl, const OFFSET: isize>() -> Self {
33908        unsafe extern "system" fn GetResource<Identity: ID3D11View_Impl, const OFFSET: isize>(
33909            this: *mut core::ffi::c_void,
33910            ppresource: *mut *mut core::ffi::c_void,
33911        ) {
33912            unsafe {
33913                let this: &Identity =
33914                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
33915                ID3D11View_Impl::GetResource(this, core::mem::transmute_copy(&ppresource))
33916            }
33917        }
33918        Self {
33919            base__: ID3D11DeviceChild_Vtbl::new::<Identity, OFFSET>(),
33920            GetResource: GetResource::<Identity, OFFSET>,
33921        }
33922    }
33923    pub fn matches(iid: &windows_core::GUID) -> bool {
33924        iid == &<ID3D11View as windows_core::Interface>::IID
33925            || iid == &<ID3D11DeviceChild as windows_core::Interface>::IID
33926    }
33927}
33928impl windows_core::RuntimeName for ID3D11View {}
33929unsafe impl Send for ID3D11View {}
33930unsafe impl Sync for ID3D11View {}
33931windows_core::imp::define_interface!(
33932    ID3DDeviceContextState,
33933    ID3DDeviceContextState_Vtbl,
33934    0x5c1e0d8a_7c23_48f9_8c59_a92958ceff11
33935);
33936impl core::ops::Deref for ID3DDeviceContextState {
33937    type Target = ID3D11DeviceChild;
33938    fn deref(&self) -> &Self::Target {
33939        unsafe { core::mem::transmute(self) }
33940    }
33941}
33942windows_core::imp::interface_hierarchy!(
33943    ID3DDeviceContextState,
33944    windows_core::IUnknown,
33945    ID3D11DeviceChild
33946);
33947#[repr(C)]
33948pub struct ID3DDeviceContextState_Vtbl {
33949    pub base__: ID3D11DeviceChild_Vtbl,
33950}
33951pub trait ID3DDeviceContextState_Impl: ID3D11DeviceChild_Impl {}
33952impl ID3DDeviceContextState_Vtbl {
33953    pub const fn new<Identity: ID3DDeviceContextState_Impl, const OFFSET: isize>() -> Self {
33954        Self {
33955            base__: ID3D11DeviceChild_Vtbl::new::<Identity, OFFSET>(),
33956        }
33957    }
33958    pub fn matches(iid: &windows_core::GUID) -> bool {
33959        iid == &<ID3DDeviceContextState as windows_core::Interface>::IID
33960            || iid == &<ID3D11DeviceChild as windows_core::Interface>::IID
33961    }
33962}
33963impl windows_core::RuntimeName for ID3DDeviceContextState {}
33964unsafe impl Send for ID3DDeviceContextState {}
33965unsafe impl Sync for ID3DDeviceContextState {}
33966windows_core::imp::define_interface!(
33967    ID3DUserDefinedAnnotation,
33968    ID3DUserDefinedAnnotation_Vtbl,
33969    0xb2daad8b_03d4_4dbf_95eb_32ab4b63d0ab
33970);
33971windows_core::imp::interface_hierarchy!(ID3DUserDefinedAnnotation, windows_core::IUnknown);
33972impl ID3DUserDefinedAnnotation {
33973    pub unsafe fn BeginEvent<P0>(&self, name: P0) -> i32
33974    where
33975        P0: windows_core::Param<crate::core_supplemental::PCWSTR>,
33976    {
33977        unsafe {
33978            (windows_core::Interface::vtable(self).BeginEvent)(
33979                windows_core::Interface::as_raw(self),
33980                name.param().abi(),
33981            )
33982        }
33983    }
33984    pub unsafe fn EndEvent(&self) -> i32 {
33985        unsafe {
33986            (windows_core::Interface::vtable(self).EndEvent)(windows_core::Interface::as_raw(self))
33987        }
33988    }
33989    pub unsafe fn SetMarker<P0>(&self, name: P0)
33990    where
33991        P0: windows_core::Param<crate::core_supplemental::PCWSTR>,
33992    {
33993        unsafe {
33994            (windows_core::Interface::vtable(self).SetMarker)(
33995                windows_core::Interface::as_raw(self),
33996                name.param().abi(),
33997            )
33998        }
33999    }
34000    pub unsafe fn GetStatus(&self) -> crate::Foundation::BOOL {
34001        unsafe {
34002            (windows_core::Interface::vtable(self).GetStatus)(windows_core::Interface::as_raw(self))
34003        }
34004    }
34005}
34006#[repr(C)]
34007pub struct ID3DUserDefinedAnnotation_Vtbl {
34008    pub base__: windows_core::IUnknown_Vtbl,
34009    pub BeginEvent: unsafe extern "system" fn(*mut core::ffi::c_void, crate::core_supplemental::PCWSTR) -> i32,
34010    pub EndEvent: unsafe extern "system" fn(*mut core::ffi::c_void) -> i32,
34011    pub SetMarker: unsafe extern "system" fn(*mut core::ffi::c_void, crate::core_supplemental::PCWSTR),
34012    pub GetStatus:
34013        unsafe extern "system" fn(*mut core::ffi::c_void) -> crate::Foundation::BOOL,
34014}
34015pub trait ID3DUserDefinedAnnotation_Impl: windows_core::IUnknownImpl {
34016    fn BeginEvent(&self, name: &crate::core_supplemental::PCWSTR) -> i32;
34017    fn EndEvent(&self) -> i32;
34018    fn SetMarker(&self, name: &crate::core_supplemental::PCWSTR);
34019    fn GetStatus(&self) -> crate::Foundation::BOOL;
34020}
34021impl ID3DUserDefinedAnnotation_Vtbl {
34022    pub const fn new<Identity: ID3DUserDefinedAnnotation_Impl, const OFFSET: isize>() -> Self {
34023        unsafe extern "system" fn BeginEvent<
34024            Identity: ID3DUserDefinedAnnotation_Impl,
34025            const OFFSET: isize,
34026        >(
34027            this: *mut core::ffi::c_void,
34028            name: crate::core_supplemental::PCWSTR,
34029        ) -> i32 {
34030            unsafe {
34031                let this: &Identity =
34032                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
34033                ID3DUserDefinedAnnotation_Impl::BeginEvent(this, core::mem::transmute(&name))
34034            }
34035        }
34036        unsafe extern "system" fn EndEvent<
34037            Identity: ID3DUserDefinedAnnotation_Impl,
34038            const OFFSET: isize,
34039        >(
34040            this: *mut core::ffi::c_void,
34041        ) -> i32 {
34042            unsafe {
34043                let this: &Identity =
34044                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
34045                ID3DUserDefinedAnnotation_Impl::EndEvent(this)
34046            }
34047        }
34048        unsafe extern "system" fn SetMarker<
34049            Identity: ID3DUserDefinedAnnotation_Impl,
34050            const OFFSET: isize,
34051        >(
34052            this: *mut core::ffi::c_void,
34053            name: crate::core_supplemental::PCWSTR,
34054        ) {
34055            unsafe {
34056                let this: &Identity =
34057                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
34058                ID3DUserDefinedAnnotation_Impl::SetMarker(this, core::mem::transmute(&name))
34059            }
34060        }
34061        unsafe extern "system" fn GetStatus<
34062            Identity: ID3DUserDefinedAnnotation_Impl,
34063            const OFFSET: isize,
34064        >(
34065            this: *mut core::ffi::c_void,
34066        ) -> crate::Foundation::BOOL {
34067            unsafe {
34068                let this: &Identity =
34069                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
34070                ID3DUserDefinedAnnotation_Impl::GetStatus(this)
34071            }
34072        }
34073        Self {
34074            base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
34075            BeginEvent: BeginEvent::<Identity, OFFSET>,
34076            EndEvent: EndEvent::<Identity, OFFSET>,
34077            SetMarker: SetMarker::<Identity, OFFSET>,
34078            GetStatus: GetStatus::<Identity, OFFSET>,
34079        }
34080    }
34081    pub fn matches(iid: &windows_core::GUID) -> bool {
34082        iid == &<ID3DUserDefinedAnnotation as windows_core::Interface>::IID
34083    }
34084}
34085impl windows_core::RuntimeName for ID3DUserDefinedAnnotation {}
34086unsafe impl Send for ID3DUserDefinedAnnotation {}
34087unsafe impl Sync for ID3DUserDefinedAnnotation {}
34088windows_core::imp::define_interface!(
34089    ID3DX11FFT,
34090    ID3DX11FFT_Vtbl,
34091    0xb3f7a938_4c93_4310_a675_b30d6de50553
34092);
34093windows_core::imp::interface_hierarchy!(ID3DX11FFT, windows_core::IUnknown);
34094impl ID3DX11FFT {
34095    pub unsafe fn SetForwardScale(&self, forwardscale: f32) -> windows_core::Result<()> {
34096        unsafe {
34097            (windows_core::Interface::vtable(self).SetForwardScale)(
34098                windows_core::Interface::as_raw(self),
34099                forwardscale,
34100            )
34101            .ok()
34102        }
34103    }
34104    pub unsafe fn GetForwardScale(&self) -> f32 {
34105        unsafe {
34106            (windows_core::Interface::vtable(self).GetForwardScale)(
34107                windows_core::Interface::as_raw(self),
34108            )
34109        }
34110    }
34111    pub unsafe fn SetInverseScale(&self, inversescale: f32) -> windows_core::Result<()> {
34112        unsafe {
34113            (windows_core::Interface::vtable(self).SetInverseScale)(
34114                windows_core::Interface::as_raw(self),
34115                inversescale,
34116            )
34117            .ok()
34118        }
34119    }
34120    pub unsafe fn GetInverseScale(&self) -> f32 {
34121        unsafe {
34122            (windows_core::Interface::vtable(self).GetInverseScale)(
34123                windows_core::Interface::as_raw(self),
34124            )
34125        }
34126    }
34127    pub unsafe fn AttachBuffersAndPrecompute(
34128        &self,
34129        pptempbuffers: &[Option<ID3D11UnorderedAccessView>],
34130        ppprecomputebuffersizes: &[Option<ID3D11UnorderedAccessView>],
34131    ) -> windows_core::Result<()> {
34132        unsafe {
34133            (windows_core::Interface::vtable(self).AttachBuffersAndPrecompute)(
34134                windows_core::Interface::as_raw(self),
34135                pptempbuffers.len().try_into().unwrap(),
34136                core::mem::transmute(pptempbuffers.as_ptr()),
34137                ppprecomputebuffersizes.len().try_into().unwrap(),
34138                core::mem::transmute(ppprecomputebuffersizes.as_ptr()),
34139            )
34140            .ok()
34141        }
34142    }
34143    pub unsafe fn ForwardTransform<P0>(
34144        &self,
34145        pinputbuffer: P0,
34146        ppoutputbuffer: *mut Option<ID3D11UnorderedAccessView>,
34147    ) -> windows_core::Result<()>
34148    where
34149        P0: windows_core::Param<ID3D11UnorderedAccessView>,
34150    {
34151        unsafe {
34152            (windows_core::Interface::vtable(self).ForwardTransform)(
34153                windows_core::Interface::as_raw(self),
34154                pinputbuffer.param().abi(),
34155                core::mem::transmute(ppoutputbuffer),
34156            )
34157            .ok()
34158        }
34159    }
34160    pub unsafe fn InverseTransform<P0>(
34161        &self,
34162        pinputbuffer: P0,
34163        ppoutputbuffer: *mut Option<ID3D11UnorderedAccessView>,
34164    ) -> windows_core::Result<()>
34165    where
34166        P0: windows_core::Param<ID3D11UnorderedAccessView>,
34167    {
34168        unsafe {
34169            (windows_core::Interface::vtable(self).InverseTransform)(
34170                windows_core::Interface::as_raw(self),
34171                pinputbuffer.param().abi(),
34172                core::mem::transmute(ppoutputbuffer),
34173            )
34174            .ok()
34175        }
34176    }
34177}
34178#[repr(C)]
34179pub struct ID3DX11FFT_Vtbl {
34180    pub base__: windows_core::IUnknown_Vtbl,
34181    pub SetForwardScale:
34182        unsafe extern "system" fn(*mut core::ffi::c_void, f32) -> windows_core::HRESULT,
34183    pub GetForwardScale: unsafe extern "system" fn(*mut core::ffi::c_void) -> f32,
34184    pub SetInverseScale:
34185        unsafe extern "system" fn(*mut core::ffi::c_void, f32) -> windows_core::HRESULT,
34186    pub GetInverseScale: unsafe extern "system" fn(*mut core::ffi::c_void) -> f32,
34187    pub AttachBuffersAndPrecompute: unsafe extern "system" fn(
34188        *mut core::ffi::c_void,
34189        u32,
34190        *const *mut core::ffi::c_void,
34191        u32,
34192        *const *mut core::ffi::c_void,
34193    ) -> windows_core::HRESULT,
34194    pub ForwardTransform: unsafe extern "system" fn(
34195        *mut core::ffi::c_void,
34196        *mut core::ffi::c_void,
34197        *mut *mut core::ffi::c_void,
34198    ) -> windows_core::HRESULT,
34199    pub InverseTransform: unsafe extern "system" fn(
34200        *mut core::ffi::c_void,
34201        *mut core::ffi::c_void,
34202        *mut *mut core::ffi::c_void,
34203    ) -> windows_core::HRESULT,
34204}
34205pub trait ID3DX11FFT_Impl: windows_core::IUnknownImpl {
34206    fn SetForwardScale(&self, forwardscale: f32) -> windows_core::Result<()>;
34207    fn GetForwardScale(&self) -> f32;
34208    fn SetInverseScale(&self, inversescale: f32) -> windows_core::Result<()>;
34209    fn GetInverseScale(&self) -> f32;
34210    fn AttachBuffersAndPrecompute(
34211        &self,
34212        numtempbuffers: u32,
34213        pptempbuffers: *const Option<ID3D11UnorderedAccessView>,
34214        numprecomputebuffers: u32,
34215        ppprecomputebuffersizes: *const Option<ID3D11UnorderedAccessView>,
34216    ) -> windows_core::Result<()>;
34217    fn ForwardTransform(
34218        &self,
34219        pinputbuffer: windows_core::Ref<'_, ID3D11UnorderedAccessView>,
34220        ppoutputbuffer: windows_core::OutRef<'_, ID3D11UnorderedAccessView>,
34221    ) -> windows_core::Result<()>;
34222    fn InverseTransform(
34223        &self,
34224        pinputbuffer: windows_core::Ref<'_, ID3D11UnorderedAccessView>,
34225        ppoutputbuffer: windows_core::OutRef<'_, ID3D11UnorderedAccessView>,
34226    ) -> windows_core::Result<()>;
34227}
34228impl ID3DX11FFT_Vtbl {
34229    pub const fn new<Identity: ID3DX11FFT_Impl, const OFFSET: isize>() -> Self {
34230        unsafe extern "system" fn SetForwardScale<
34231            Identity: ID3DX11FFT_Impl,
34232            const OFFSET: isize,
34233        >(
34234            this: *mut core::ffi::c_void,
34235            forwardscale: f32,
34236        ) -> windows_core::HRESULT {
34237            unsafe {
34238                let this: &Identity =
34239                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
34240                ID3DX11FFT_Impl::SetForwardScale(this, core::mem::transmute_copy(&forwardscale))
34241                    .into()
34242            }
34243        }
34244        unsafe extern "system" fn GetForwardScale<
34245            Identity: ID3DX11FFT_Impl,
34246            const OFFSET: isize,
34247        >(
34248            this: *mut core::ffi::c_void,
34249        ) -> f32 {
34250            unsafe {
34251                let this: &Identity =
34252                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
34253                ID3DX11FFT_Impl::GetForwardScale(this)
34254            }
34255        }
34256        unsafe extern "system" fn SetInverseScale<
34257            Identity: ID3DX11FFT_Impl,
34258            const OFFSET: isize,
34259        >(
34260            this: *mut core::ffi::c_void,
34261            inversescale: f32,
34262        ) -> windows_core::HRESULT {
34263            unsafe {
34264                let this: &Identity =
34265                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
34266                ID3DX11FFT_Impl::SetInverseScale(this, core::mem::transmute_copy(&inversescale))
34267                    .into()
34268            }
34269        }
34270        unsafe extern "system" fn GetInverseScale<
34271            Identity: ID3DX11FFT_Impl,
34272            const OFFSET: isize,
34273        >(
34274            this: *mut core::ffi::c_void,
34275        ) -> f32 {
34276            unsafe {
34277                let this: &Identity =
34278                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
34279                ID3DX11FFT_Impl::GetInverseScale(this)
34280            }
34281        }
34282        unsafe extern "system" fn AttachBuffersAndPrecompute<
34283            Identity: ID3DX11FFT_Impl,
34284            const OFFSET: isize,
34285        >(
34286            this: *mut core::ffi::c_void,
34287            numtempbuffers: u32,
34288            pptempbuffers: *const *mut core::ffi::c_void,
34289            numprecomputebuffers: u32,
34290            ppprecomputebuffersizes: *const *mut core::ffi::c_void,
34291        ) -> windows_core::HRESULT {
34292            unsafe {
34293                let this: &Identity =
34294                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
34295                ID3DX11FFT_Impl::AttachBuffersAndPrecompute(
34296                    this,
34297                    core::mem::transmute_copy(&numtempbuffers),
34298                    core::mem::transmute_copy(&pptempbuffers),
34299                    core::mem::transmute_copy(&numprecomputebuffers),
34300                    core::mem::transmute_copy(&ppprecomputebuffersizes),
34301                )
34302                .into()
34303            }
34304        }
34305        unsafe extern "system" fn ForwardTransform<
34306            Identity: ID3DX11FFT_Impl,
34307            const OFFSET: isize,
34308        >(
34309            this: *mut core::ffi::c_void,
34310            pinputbuffer: *mut core::ffi::c_void,
34311            ppoutputbuffer: *mut *mut core::ffi::c_void,
34312        ) -> windows_core::HRESULT {
34313            unsafe {
34314                let this: &Identity =
34315                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
34316                ID3DX11FFT_Impl::ForwardTransform(
34317                    this,
34318                    core::mem::transmute_copy(&pinputbuffer),
34319                    core::mem::transmute_copy(&ppoutputbuffer),
34320                )
34321                .into()
34322            }
34323        }
34324        unsafe extern "system" fn InverseTransform<
34325            Identity: ID3DX11FFT_Impl,
34326            const OFFSET: isize,
34327        >(
34328            this: *mut core::ffi::c_void,
34329            pinputbuffer: *mut core::ffi::c_void,
34330            ppoutputbuffer: *mut *mut core::ffi::c_void,
34331        ) -> windows_core::HRESULT {
34332            unsafe {
34333                let this: &Identity =
34334                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
34335                ID3DX11FFT_Impl::InverseTransform(
34336                    this,
34337                    core::mem::transmute_copy(&pinputbuffer),
34338                    core::mem::transmute_copy(&ppoutputbuffer),
34339                )
34340                .into()
34341            }
34342        }
34343        Self {
34344            base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
34345            SetForwardScale: SetForwardScale::<Identity, OFFSET>,
34346            GetForwardScale: GetForwardScale::<Identity, OFFSET>,
34347            SetInverseScale: SetInverseScale::<Identity, OFFSET>,
34348            GetInverseScale: GetInverseScale::<Identity, OFFSET>,
34349            AttachBuffersAndPrecompute: AttachBuffersAndPrecompute::<Identity, OFFSET>,
34350            ForwardTransform: ForwardTransform::<Identity, OFFSET>,
34351            InverseTransform: InverseTransform::<Identity, OFFSET>,
34352        }
34353    }
34354    pub fn matches(iid: &windows_core::GUID) -> bool {
34355        iid == &<ID3DX11FFT as windows_core::Interface>::IID
34356    }
34357}
34358impl windows_core::RuntimeName for ID3DX11FFT {}
34359unsafe impl Send for ID3DX11FFT {}
34360unsafe impl Sync for ID3DX11FFT {}
34361windows_core::imp::define_interface!(
34362    ID3DX11Scan,
34363    ID3DX11Scan_Vtbl,
34364    0x5089b68f_e71d_4d38_be8e_f363b95a9405
34365);
34366windows_core::imp::interface_hierarchy!(ID3DX11Scan, windows_core::IUnknown);
34367impl ID3DX11Scan {
34368    pub unsafe fn SetScanDirection(
34369        &self,
34370        direction: D3DX11_SCAN_DIRECTION,
34371    ) -> windows_core::Result<()> {
34372        unsafe {
34373            (windows_core::Interface::vtable(self).SetScanDirection)(
34374                windows_core::Interface::as_raw(self),
34375                direction,
34376            )
34377            .ok()
34378        }
34379    }
34380    pub unsafe fn Scan<P3, P4>(
34381        &self,
34382        elementtype: D3DX11_SCAN_DATA_TYPE,
34383        opcode: D3DX11_SCAN_OPCODE,
34384        elementscansize: u32,
34385        psrc: P3,
34386        pdst: P4,
34387    ) -> windows_core::Result<()>
34388    where
34389        P3: windows_core::Param<ID3D11UnorderedAccessView>,
34390        P4: windows_core::Param<ID3D11UnorderedAccessView>,
34391    {
34392        unsafe {
34393            (windows_core::Interface::vtable(self).Scan)(
34394                windows_core::Interface::as_raw(self),
34395                elementtype,
34396                opcode,
34397                elementscansize,
34398                psrc.param().abi(),
34399                pdst.param().abi(),
34400            )
34401            .ok()
34402        }
34403    }
34404    pub unsafe fn Multiscan<P5, P6>(
34405        &self,
34406        elementtype: D3DX11_SCAN_DATA_TYPE,
34407        opcode: D3DX11_SCAN_OPCODE,
34408        elementscansize: u32,
34409        elementscanpitch: u32,
34410        scancount: u32,
34411        psrc: P5,
34412        pdst: P6,
34413    ) -> windows_core::Result<()>
34414    where
34415        P5: windows_core::Param<ID3D11UnorderedAccessView>,
34416        P6: windows_core::Param<ID3D11UnorderedAccessView>,
34417    {
34418        unsafe {
34419            (windows_core::Interface::vtable(self).Multiscan)(
34420                windows_core::Interface::as_raw(self),
34421                elementtype,
34422                opcode,
34423                elementscansize,
34424                elementscanpitch,
34425                scancount,
34426                psrc.param().abi(),
34427                pdst.param().abi(),
34428            )
34429            .ok()
34430        }
34431    }
34432}
34433#[repr(C)]
34434pub struct ID3DX11Scan_Vtbl {
34435    pub base__: windows_core::IUnknown_Vtbl,
34436    pub SetScanDirection: unsafe extern "system" fn(
34437        *mut core::ffi::c_void,
34438        D3DX11_SCAN_DIRECTION,
34439    ) -> windows_core::HRESULT,
34440    pub Scan: unsafe extern "system" fn(
34441        *mut core::ffi::c_void,
34442        D3DX11_SCAN_DATA_TYPE,
34443        D3DX11_SCAN_OPCODE,
34444        u32,
34445        *mut core::ffi::c_void,
34446        *mut core::ffi::c_void,
34447    ) -> windows_core::HRESULT,
34448    pub Multiscan: unsafe extern "system" fn(
34449        *mut core::ffi::c_void,
34450        D3DX11_SCAN_DATA_TYPE,
34451        D3DX11_SCAN_OPCODE,
34452        u32,
34453        u32,
34454        u32,
34455        *mut core::ffi::c_void,
34456        *mut core::ffi::c_void,
34457    ) -> windows_core::HRESULT,
34458}
34459pub trait ID3DX11Scan_Impl: windows_core::IUnknownImpl {
34460    fn SetScanDirection(&self, direction: D3DX11_SCAN_DIRECTION) -> windows_core::Result<()>;
34461    fn Scan(
34462        &self,
34463        elementtype: D3DX11_SCAN_DATA_TYPE,
34464        opcode: D3DX11_SCAN_OPCODE,
34465        elementscansize: u32,
34466        psrc: windows_core::Ref<'_, ID3D11UnorderedAccessView>,
34467        pdst: windows_core::Ref<'_, ID3D11UnorderedAccessView>,
34468    ) -> windows_core::Result<()>;
34469    fn Multiscan(
34470        &self,
34471        elementtype: D3DX11_SCAN_DATA_TYPE,
34472        opcode: D3DX11_SCAN_OPCODE,
34473        elementscansize: u32,
34474        elementscanpitch: u32,
34475        scancount: u32,
34476        psrc: windows_core::Ref<'_, ID3D11UnorderedAccessView>,
34477        pdst: windows_core::Ref<'_, ID3D11UnorderedAccessView>,
34478    ) -> windows_core::Result<()>;
34479}
34480impl ID3DX11Scan_Vtbl {
34481    pub const fn new<Identity: ID3DX11Scan_Impl, const OFFSET: isize>() -> Self {
34482        unsafe extern "system" fn SetScanDirection<
34483            Identity: ID3DX11Scan_Impl,
34484            const OFFSET: isize,
34485        >(
34486            this: *mut core::ffi::c_void,
34487            direction: D3DX11_SCAN_DIRECTION,
34488        ) -> windows_core::HRESULT {
34489            unsafe {
34490                let this: &Identity =
34491                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
34492                ID3DX11Scan_Impl::SetScanDirection(this, core::mem::transmute_copy(&direction))
34493                    .into()
34494            }
34495        }
34496        unsafe extern "system" fn Scan<Identity: ID3DX11Scan_Impl, const OFFSET: isize>(
34497            this: *mut core::ffi::c_void,
34498            elementtype: D3DX11_SCAN_DATA_TYPE,
34499            opcode: D3DX11_SCAN_OPCODE,
34500            elementscansize: u32,
34501            psrc: *mut core::ffi::c_void,
34502            pdst: *mut core::ffi::c_void,
34503        ) -> windows_core::HRESULT {
34504            unsafe {
34505                let this: &Identity =
34506                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
34507                ID3DX11Scan_Impl::Scan(
34508                    this,
34509                    core::mem::transmute_copy(&elementtype),
34510                    core::mem::transmute_copy(&opcode),
34511                    core::mem::transmute_copy(&elementscansize),
34512                    core::mem::transmute_copy(&psrc),
34513                    core::mem::transmute_copy(&pdst),
34514                )
34515                .into()
34516            }
34517        }
34518        unsafe extern "system" fn Multiscan<Identity: ID3DX11Scan_Impl, const OFFSET: isize>(
34519            this: *mut core::ffi::c_void,
34520            elementtype: D3DX11_SCAN_DATA_TYPE,
34521            opcode: D3DX11_SCAN_OPCODE,
34522            elementscansize: u32,
34523            elementscanpitch: u32,
34524            scancount: u32,
34525            psrc: *mut core::ffi::c_void,
34526            pdst: *mut core::ffi::c_void,
34527        ) -> windows_core::HRESULT {
34528            unsafe {
34529                let this: &Identity =
34530                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
34531                ID3DX11Scan_Impl::Multiscan(
34532                    this,
34533                    core::mem::transmute_copy(&elementtype),
34534                    core::mem::transmute_copy(&opcode),
34535                    core::mem::transmute_copy(&elementscansize),
34536                    core::mem::transmute_copy(&elementscanpitch),
34537                    core::mem::transmute_copy(&scancount),
34538                    core::mem::transmute_copy(&psrc),
34539                    core::mem::transmute_copy(&pdst),
34540                )
34541                .into()
34542            }
34543        }
34544        Self {
34545            base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
34546            SetScanDirection: SetScanDirection::<Identity, OFFSET>,
34547            Scan: Scan::<Identity, OFFSET>,
34548            Multiscan: Multiscan::<Identity, OFFSET>,
34549        }
34550    }
34551    pub fn matches(iid: &windows_core::GUID) -> bool {
34552        iid == &<ID3DX11Scan as windows_core::Interface>::IID
34553    }
34554}
34555impl windows_core::RuntimeName for ID3DX11Scan {}
34556unsafe impl Send for ID3DX11Scan {}
34557unsafe impl Sync for ID3DX11Scan {}
34558windows_core::imp::define_interface!(
34559    ID3DX11SegmentedScan,
34560    ID3DX11SegmentedScan_Vtbl,
34561    0xa915128c_d954_4c79_bfe1_64db923194d6
34562);
34563windows_core::imp::interface_hierarchy!(ID3DX11SegmentedScan, windows_core::IUnknown);
34564impl ID3DX11SegmentedScan {
34565    pub unsafe fn SetScanDirection(
34566        &self,
34567        direction: D3DX11_SCAN_DIRECTION,
34568    ) -> windows_core::Result<()> {
34569        unsafe {
34570            (windows_core::Interface::vtable(self).SetScanDirection)(
34571                windows_core::Interface::as_raw(self),
34572                direction,
34573            )
34574            .ok()
34575        }
34576    }
34577    pub unsafe fn SegScan<P3, P4, P5>(
34578        &self,
34579        elementtype: D3DX11_SCAN_DATA_TYPE,
34580        opcode: D3DX11_SCAN_OPCODE,
34581        elementscansize: u32,
34582        psrc: P3,
34583        psrcelementflags: P4,
34584        pdst: P5,
34585    ) -> windows_core::Result<()>
34586    where
34587        P3: windows_core::Param<ID3D11UnorderedAccessView>,
34588        P4: windows_core::Param<ID3D11UnorderedAccessView>,
34589        P5: windows_core::Param<ID3D11UnorderedAccessView>,
34590    {
34591        unsafe {
34592            (windows_core::Interface::vtable(self).SegScan)(
34593                windows_core::Interface::as_raw(self),
34594                elementtype,
34595                opcode,
34596                elementscansize,
34597                psrc.param().abi(),
34598                psrcelementflags.param().abi(),
34599                pdst.param().abi(),
34600            )
34601            .ok()
34602        }
34603    }
34604}
34605#[repr(C)]
34606pub struct ID3DX11SegmentedScan_Vtbl {
34607    pub base__: windows_core::IUnknown_Vtbl,
34608    pub SetScanDirection: unsafe extern "system" fn(
34609        *mut core::ffi::c_void,
34610        D3DX11_SCAN_DIRECTION,
34611    ) -> windows_core::HRESULT,
34612    pub SegScan: unsafe extern "system" fn(
34613        *mut core::ffi::c_void,
34614        D3DX11_SCAN_DATA_TYPE,
34615        D3DX11_SCAN_OPCODE,
34616        u32,
34617        *mut core::ffi::c_void,
34618        *mut core::ffi::c_void,
34619        *mut core::ffi::c_void,
34620    ) -> windows_core::HRESULT,
34621}
34622pub trait ID3DX11SegmentedScan_Impl: windows_core::IUnknownImpl {
34623    fn SetScanDirection(&self, direction: D3DX11_SCAN_DIRECTION) -> windows_core::Result<()>;
34624    fn SegScan(
34625        &self,
34626        elementtype: D3DX11_SCAN_DATA_TYPE,
34627        opcode: D3DX11_SCAN_OPCODE,
34628        elementscansize: u32,
34629        psrc: windows_core::Ref<'_, ID3D11UnorderedAccessView>,
34630        psrcelementflags: windows_core::Ref<'_, ID3D11UnorderedAccessView>,
34631        pdst: windows_core::Ref<'_, ID3D11UnorderedAccessView>,
34632    ) -> windows_core::Result<()>;
34633}
34634impl ID3DX11SegmentedScan_Vtbl {
34635    pub const fn new<Identity: ID3DX11SegmentedScan_Impl, const OFFSET: isize>() -> Self {
34636        unsafe extern "system" fn SetScanDirection<
34637            Identity: ID3DX11SegmentedScan_Impl,
34638            const OFFSET: isize,
34639        >(
34640            this: *mut core::ffi::c_void,
34641            direction: D3DX11_SCAN_DIRECTION,
34642        ) -> windows_core::HRESULT {
34643            unsafe {
34644                let this: &Identity =
34645                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
34646                ID3DX11SegmentedScan_Impl::SetScanDirection(
34647                    this,
34648                    core::mem::transmute_copy(&direction),
34649                )
34650                .into()
34651            }
34652        }
34653        unsafe extern "system" fn SegScan<
34654            Identity: ID3DX11SegmentedScan_Impl,
34655            const OFFSET: isize,
34656        >(
34657            this: *mut core::ffi::c_void,
34658            elementtype: D3DX11_SCAN_DATA_TYPE,
34659            opcode: D3DX11_SCAN_OPCODE,
34660            elementscansize: u32,
34661            psrc: *mut core::ffi::c_void,
34662            psrcelementflags: *mut core::ffi::c_void,
34663            pdst: *mut core::ffi::c_void,
34664        ) -> windows_core::HRESULT {
34665            unsafe {
34666                let this: &Identity =
34667                    &*((this as *const *const ()).offset(OFFSET) as *const Identity);
34668                ID3DX11SegmentedScan_Impl::SegScan(
34669                    this,
34670                    core::mem::transmute_copy(&elementtype),
34671                    core::mem::transmute_copy(&opcode),
34672                    core::mem::transmute_copy(&elementscansize),
34673                    core::mem::transmute_copy(&psrc),
34674                    core::mem::transmute_copy(&psrcelementflags),
34675                    core::mem::transmute_copy(&pdst),
34676                )
34677                .into()
34678            }
34679        }
34680        Self {
34681            base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
34682            SetScanDirection: SetScanDirection::<Identity, OFFSET>,
34683            SegScan: SegScan::<Identity, OFFSET>,
34684        }
34685    }
34686    pub fn matches(iid: &windows_core::GUID) -> bool {
34687        iid == &<ID3DX11SegmentedScan as windows_core::Interface>::IID
34688    }
34689}
34690impl windows_core::RuntimeName for ID3DX11SegmentedScan {}
34691unsafe impl Send for ID3DX11SegmentedScan {}
34692unsafe impl Sync for ID3DX11SegmentedScan {}
34693#[cfg(all(feature = "Win32_Graphics_Direct3D", feature = "Win32_Graphics_Dxgi"))]
34694pub type PFN_D3D11_CREATE_DEVICE = Option<
34695    unsafe extern "system" fn(
34696        param0: Option<crate::Dxgi::IDXGIAdapter>,
34697        param1: super::Direct3D::D3D_DRIVER_TYPE,
34698        param2: crate::Foundation::HMODULE,
34699        param3: u32,
34700        param4: *const super::Direct3D::D3D_FEATURE_LEVEL,
34701        featurelevels: u32,
34702        param6: u32,
34703        param7: *mut Option<ID3D11Device>,
34704        param8: *mut super::Direct3D::D3D_FEATURE_LEVEL,
34705        param9: *mut Option<ID3D11DeviceContext>,
34706    ) -> windows_core::HRESULT,
34707>;
34708#[cfg(all(
34709    feature = "Win32_Graphics_Direct3D",
34710    feature = "Win32_Graphics_Dxgi_Common"
34711))]
34712pub type PFN_D3D11_CREATE_DEVICE_AND_SWAP_CHAIN = Option<
34713    unsafe extern "system" fn(
34714        param0: Option<crate::Dxgi::IDXGIAdapter>,
34715        param1: super::Direct3D::D3D_DRIVER_TYPE,
34716        param2: crate::Foundation::HMODULE,
34717        param3: u32,
34718        param4: *const super::Direct3D::D3D_FEATURE_LEVEL,
34719        featurelevels: u32,
34720        param6: u32,
34721        param7: *const crate::Dxgi::DXGI_SWAP_CHAIN_DESC,
34722        param8: *mut Option<crate::Dxgi::IDXGISwapChain>,
34723        param9: *mut Option<ID3D11Device>,
34724        param10: *mut super::Direct3D::D3D_FEATURE_LEVEL,
34725        param11: *mut Option<ID3D11DeviceContext>,
34726    ) -> windows_core::HRESULT,
34727>;
34728pub const _FACD3D11: u32 = 2172u32;