]> git.proxmox.com Git - rustc.git/blame - vendor/windows/src/Windows/Win32/Graphics/Direct3D11/impl.rs
New upstream version 1.70.0+dfsg1
[rustc.git] / vendor / windows / src / Windows / Win32 / Graphics / Direct3D11 / impl.rs
CommitLineData
353b0b11
FG
1#[doc = "*Required features: `\"Win32_Graphics_Direct3D11\"`, `\"implement\"`*"]
2pub trait ID3D11Asynchronous_Impl: Sized + ID3D11DeviceChild_Impl {
3 fn GetDataSize(&self) -> u32;
4}
5impl ::windows::core::RuntimeName for ID3D11Asynchronous {}
6impl ID3D11Asynchronous_Vtbl {
7 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11Asynchronous_Impl, const OFFSET: isize>() -> ID3D11Asynchronous_Vtbl {
8 unsafe extern "system" fn GetDataSize<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11Asynchronous_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> u32 {
9 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
10 let this = (*this).get_impl();
11 this.GetDataSize()
12 }
13 Self { base__: ID3D11DeviceChild_Vtbl::new::<Identity, Impl, OFFSET>(), GetDataSize: GetDataSize::<Identity, Impl, OFFSET> }
14 }
15 pub fn matches(iid: &windows::core::GUID) -> bool {
16 iid == &<ID3D11Asynchronous as ::windows::core::ComInterface>::IID || iid == &<ID3D11DeviceChild as ::windows::core::ComInterface>::IID
17 }
18}
19#[doc = "*Required features: `\"Win32_Graphics_Direct3D11\"`, `\"Win32_Foundation\"`, `\"implement\"`*"]
20#[cfg(feature = "Win32_Foundation")]
21pub trait ID3D11AuthenticatedChannel_Impl: Sized + ID3D11DeviceChild_Impl {
22 fn GetCertificateSize(&self) -> ::windows::core::Result<u32>;
23 fn GetCertificate(&self, certificatesize: u32, pcertificate: *mut u8) -> ::windows::core::Result<()>;
24 fn GetChannelHandle(&self, pchannelhandle: *mut super::super::Foundation::HANDLE) -> ();
25}
26#[cfg(feature = "Win32_Foundation")]
27impl ::windows::core::RuntimeName for ID3D11AuthenticatedChannel {}
28#[cfg(feature = "Win32_Foundation")]
29impl ID3D11AuthenticatedChannel_Vtbl {
30 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11AuthenticatedChannel_Impl, const OFFSET: isize>() -> ID3D11AuthenticatedChannel_Vtbl {
31 unsafe extern "system" fn GetCertificateSize<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11AuthenticatedChannel_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pcertificatesize: *mut u32) -> ::windows::core::HRESULT {
32 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
33 let this = (*this).get_impl();
34 match this.GetCertificateSize() {
35 ::core::result::Result::Ok(ok__) => {
36 ::core::ptr::write(pcertificatesize, ::core::mem::transmute(ok__));
37 ::windows::core::HRESULT(0)
38 }
39 ::core::result::Result::Err(err) => err.into(),
40 }
41 }
42 unsafe extern "system" fn GetCertificate<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11AuthenticatedChannel_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, certificatesize: u32, pcertificate: *mut u8) -> ::windows::core::HRESULT {
43 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
44 let this = (*this).get_impl();
45 this.GetCertificate(::core::mem::transmute_copy(&certificatesize), ::core::mem::transmute_copy(&pcertificate)).into()
46 }
47 unsafe extern "system" fn GetChannelHandle<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11AuthenticatedChannel_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pchannelhandle: *mut super::super::Foundation::HANDLE) {
48 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
49 let this = (*this).get_impl();
50 this.GetChannelHandle(::core::mem::transmute_copy(&pchannelhandle))
51 }
52 Self {
53 base__: ID3D11DeviceChild_Vtbl::new::<Identity, Impl, OFFSET>(),
54 GetCertificateSize: GetCertificateSize::<Identity, Impl, OFFSET>,
55 GetCertificate: GetCertificate::<Identity, Impl, OFFSET>,
56 GetChannelHandle: GetChannelHandle::<Identity, Impl, OFFSET>,
57 }
58 }
59 pub fn matches(iid: &windows::core::GUID) -> bool {
60 iid == &<ID3D11AuthenticatedChannel as ::windows::core::ComInterface>::IID || iid == &<ID3D11DeviceChild as ::windows::core::ComInterface>::IID
61 }
62}
63#[doc = "*Required features: `\"Win32_Graphics_Direct3D11\"`, `\"Win32_Foundation\"`, `\"implement\"`*"]
64#[cfg(feature = "Win32_Foundation")]
65pub trait ID3D11BlendState_Impl: Sized + ID3D11DeviceChild_Impl {
66 fn GetDesc(&self, pdesc: *mut D3D11_BLEND_DESC);
67}
68#[cfg(feature = "Win32_Foundation")]
69impl ::windows::core::RuntimeName for ID3D11BlendState {}
70#[cfg(feature = "Win32_Foundation")]
71impl ID3D11BlendState_Vtbl {
72 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11BlendState_Impl, const OFFSET: isize>() -> ID3D11BlendState_Vtbl {
73 unsafe extern "system" fn GetDesc<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11BlendState_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdesc: *mut D3D11_BLEND_DESC) {
74 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
75 let this = (*this).get_impl();
76 this.GetDesc(::core::mem::transmute_copy(&pdesc))
77 }
78 Self { base__: ID3D11DeviceChild_Vtbl::new::<Identity, Impl, OFFSET>(), GetDesc: GetDesc::<Identity, Impl, OFFSET> }
79 }
80 pub fn matches(iid: &windows::core::GUID) -> bool {
81 iid == &<ID3D11BlendState as ::windows::core::ComInterface>::IID || iid == &<ID3D11DeviceChild as ::windows::core::ComInterface>::IID
82 }
83}
84#[doc = "*Required features: `\"Win32_Graphics_Direct3D11\"`, `\"Win32_Foundation\"`, `\"implement\"`*"]
85#[cfg(feature = "Win32_Foundation")]
86pub trait ID3D11BlendState1_Impl: Sized + ID3D11BlendState_Impl {
87 fn GetDesc1(&self, pdesc: *mut D3D11_BLEND_DESC1);
88}
89#[cfg(feature = "Win32_Foundation")]
90impl ::windows::core::RuntimeName for ID3D11BlendState1 {}
91#[cfg(feature = "Win32_Foundation")]
92impl ID3D11BlendState1_Vtbl {
93 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11BlendState1_Impl, const OFFSET: isize>() -> ID3D11BlendState1_Vtbl {
94 unsafe extern "system" fn GetDesc1<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11BlendState1_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdesc: *mut D3D11_BLEND_DESC1) {
95 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
96 let this = (*this).get_impl();
97 this.GetDesc1(::core::mem::transmute_copy(&pdesc))
98 }
99 Self { base__: ID3D11BlendState_Vtbl::new::<Identity, Impl, OFFSET>(), GetDesc1: GetDesc1::<Identity, Impl, OFFSET> }
100 }
101 pub fn matches(iid: &windows::core::GUID) -> bool {
102 iid == &<ID3D11BlendState1 as ::windows::core::ComInterface>::IID || iid == &<ID3D11DeviceChild as ::windows::core::ComInterface>::IID || iid == &<ID3D11BlendState as ::windows::core::ComInterface>::IID
103 }
104}
105#[doc = "*Required features: `\"Win32_Graphics_Direct3D11\"`, `\"implement\"`*"]
106pub trait ID3D11Buffer_Impl: Sized + ID3D11Resource_Impl {
107 fn GetDesc(&self, pdesc: *mut D3D11_BUFFER_DESC);
108}
109impl ::windows::core::RuntimeName for ID3D11Buffer {}
110impl ID3D11Buffer_Vtbl {
111 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11Buffer_Impl, const OFFSET: isize>() -> ID3D11Buffer_Vtbl {
112 unsafe extern "system" fn GetDesc<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11Buffer_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdesc: *mut D3D11_BUFFER_DESC) {
113 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
114 let this = (*this).get_impl();
115 this.GetDesc(::core::mem::transmute_copy(&pdesc))
116 }
117 Self { base__: ID3D11Resource_Vtbl::new::<Identity, Impl, OFFSET>(), GetDesc: GetDesc::<Identity, Impl, OFFSET> }
118 }
119 pub fn matches(iid: &windows::core::GUID) -> bool {
120 iid == &<ID3D11Buffer as ::windows::core::ComInterface>::IID || iid == &<ID3D11DeviceChild as ::windows::core::ComInterface>::IID || iid == &<ID3D11Resource as ::windows::core::ComInterface>::IID
121 }
122}
123#[doc = "*Required features: `\"Win32_Graphics_Direct3D11\"`, `\"Win32_Foundation\"`, `\"implement\"`*"]
124#[cfg(feature = "Win32_Foundation")]
125pub trait ID3D11ClassInstance_Impl: Sized + ID3D11DeviceChild_Impl {
126 fn GetClassLinkage(&self, pplinkage: *mut ::core::option::Option<ID3D11ClassLinkage>) -> ();
127 fn GetDesc(&self, pdesc: *mut D3D11_CLASS_INSTANCE_DESC);
128 fn GetInstanceName(&self, pinstancename: ::windows::core::PSTR, pbufferlength: *mut usize);
129 fn GetTypeName(&self, ptypename: ::windows::core::PSTR, pbufferlength: *mut usize);
130}
131#[cfg(feature = "Win32_Foundation")]
132impl ::windows::core::RuntimeName for ID3D11ClassInstance {}
133#[cfg(feature = "Win32_Foundation")]
134impl ID3D11ClassInstance_Vtbl {
135 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11ClassInstance_Impl, const OFFSET: isize>() -> ID3D11ClassInstance_Vtbl {
136 unsafe extern "system" fn GetClassLinkage<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11ClassInstance_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pplinkage: *mut *mut ::core::ffi::c_void) {
137 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
138 let this = (*this).get_impl();
139 this.GetClassLinkage(::core::mem::transmute_copy(&pplinkage))
140 }
141 unsafe extern "system" fn GetDesc<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11ClassInstance_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdesc: *mut D3D11_CLASS_INSTANCE_DESC) {
142 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
143 let this = (*this).get_impl();
144 this.GetDesc(::core::mem::transmute_copy(&pdesc))
145 }
146 unsafe extern "system" fn GetInstanceName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11ClassInstance_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pinstancename: ::windows::core::PSTR, pbufferlength: *mut usize) {
147 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
148 let this = (*this).get_impl();
149 this.GetInstanceName(::core::mem::transmute_copy(&pinstancename), ::core::mem::transmute_copy(&pbufferlength))
150 }
151 unsafe extern "system" fn GetTypeName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11ClassInstance_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ptypename: ::windows::core::PSTR, pbufferlength: *mut usize) {
152 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
153 let this = (*this).get_impl();
154 this.GetTypeName(::core::mem::transmute_copy(&ptypename), ::core::mem::transmute_copy(&pbufferlength))
155 }
156 Self {
157 base__: ID3D11DeviceChild_Vtbl::new::<Identity, Impl, OFFSET>(),
158 GetClassLinkage: GetClassLinkage::<Identity, Impl, OFFSET>,
159 GetDesc: GetDesc::<Identity, Impl, OFFSET>,
160 GetInstanceName: GetInstanceName::<Identity, Impl, OFFSET>,
161 GetTypeName: GetTypeName::<Identity, Impl, OFFSET>,
162 }
163 }
164 pub fn matches(iid: &windows::core::GUID) -> bool {
165 iid == &<ID3D11ClassInstance as ::windows::core::ComInterface>::IID || iid == &<ID3D11DeviceChild as ::windows::core::ComInterface>::IID
166 }
167}
168#[doc = "*Required features: `\"Win32_Graphics_Direct3D11\"`, `\"implement\"`*"]
169pub trait ID3D11ClassLinkage_Impl: Sized + ID3D11DeviceChild_Impl {
170 fn GetClassInstance(&self, pclassinstancename: &::windows::core::PCSTR, instanceindex: u32) -> ::windows::core::Result<ID3D11ClassInstance>;
171 fn CreateClassInstance(&self, pclasstypename: &::windows::core::PCSTR, constantbufferoffset: u32, constantvectoroffset: u32, textureoffset: u32, sampleroffset: u32) -> ::windows::core::Result<ID3D11ClassInstance>;
172}
173impl ::windows::core::RuntimeName for ID3D11ClassLinkage {}
174impl ID3D11ClassLinkage_Vtbl {
175 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11ClassLinkage_Impl, const OFFSET: isize>() -> ID3D11ClassLinkage_Vtbl {
176 unsafe extern "system" fn GetClassInstance<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11ClassLinkage_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pclassinstancename: ::windows::core::PCSTR, instanceindex: u32, ppinstance: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
177 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
178 let this = (*this).get_impl();
179 match this.GetClassInstance(::core::mem::transmute(&pclassinstancename), ::core::mem::transmute_copy(&instanceindex)) {
180 ::core::result::Result::Ok(ok__) => {
181 ::core::ptr::write(ppinstance, ::core::mem::transmute(ok__));
182 ::windows::core::HRESULT(0)
183 }
184 ::core::result::Result::Err(err) => err.into(),
185 }
186 }
187 unsafe extern "system" fn CreateClassInstance<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11ClassLinkage_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pclasstypename: ::windows::core::PCSTR, constantbufferoffset: u32, constantvectoroffset: u32, textureoffset: u32, sampleroffset: u32, ppinstance: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
188 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
189 let this = (*this).get_impl();
190 match this.CreateClassInstance(::core::mem::transmute(&pclasstypename), ::core::mem::transmute_copy(&constantbufferoffset), ::core::mem::transmute_copy(&constantvectoroffset), ::core::mem::transmute_copy(&textureoffset), ::core::mem::transmute_copy(&sampleroffset)) {
191 ::core::result::Result::Ok(ok__) => {
192 ::core::ptr::write(ppinstance, ::core::mem::transmute(ok__));
193 ::windows::core::HRESULT(0)
194 }
195 ::core::result::Result::Err(err) => err.into(),
196 }
197 }
198 Self {
199 base__: ID3D11DeviceChild_Vtbl::new::<Identity, Impl, OFFSET>(),
200 GetClassInstance: GetClassInstance::<Identity, Impl, OFFSET>,
201 CreateClassInstance: CreateClassInstance::<Identity, Impl, OFFSET>,
202 }
203 }
204 pub fn matches(iid: &windows::core::GUID) -> bool {
205 iid == &<ID3D11ClassLinkage as ::windows::core::ComInterface>::IID || iid == &<ID3D11DeviceChild as ::windows::core::ComInterface>::IID
206 }
207}
208#[doc = "*Required features: `\"Win32_Graphics_Direct3D11\"`, `\"implement\"`*"]
209pub trait ID3D11CommandList_Impl: Sized + ID3D11DeviceChild_Impl {
210 fn GetContextFlags(&self) -> u32;
211}
212impl ::windows::core::RuntimeName for ID3D11CommandList {}
213impl ID3D11CommandList_Vtbl {
214 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11CommandList_Impl, const OFFSET: isize>() -> ID3D11CommandList_Vtbl {
215 unsafe extern "system" fn GetContextFlags<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11CommandList_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> u32 {
216 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
217 let this = (*this).get_impl();
218 this.GetContextFlags()
219 }
220 Self { base__: ID3D11DeviceChild_Vtbl::new::<Identity, Impl, OFFSET>(), GetContextFlags: GetContextFlags::<Identity, Impl, OFFSET> }
221 }
222 pub fn matches(iid: &windows::core::GUID) -> bool {
223 iid == &<ID3D11CommandList as ::windows::core::ComInterface>::IID || iid == &<ID3D11DeviceChild as ::windows::core::ComInterface>::IID
224 }
225}
226#[doc = "*Required features: `\"Win32_Graphics_Direct3D11\"`, `\"implement\"`*"]
227pub trait ID3D11ComputeShader_Impl: Sized + ID3D11DeviceChild_Impl {}
228impl ::windows::core::RuntimeName for ID3D11ComputeShader {}
229impl ID3D11ComputeShader_Vtbl {
230 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11ComputeShader_Impl, const OFFSET: isize>() -> ID3D11ComputeShader_Vtbl {
231 Self { base__: ID3D11DeviceChild_Vtbl::new::<Identity, Impl, OFFSET>() }
232 }
233 pub fn matches(iid: &windows::core::GUID) -> bool {
234 iid == &<ID3D11ComputeShader as ::windows::core::ComInterface>::IID || iid == &<ID3D11DeviceChild as ::windows::core::ComInterface>::IID
235 }
236}
237#[doc = "*Required features: `\"Win32_Graphics_Direct3D11\"`, `\"implement\"`*"]
238pub trait ID3D11Counter_Impl: Sized + ID3D11Asynchronous_Impl {
239 fn GetDesc(&self, pdesc: *mut D3D11_COUNTER_DESC) -> ();
240}
241impl ::windows::core::RuntimeName for ID3D11Counter {}
242impl ID3D11Counter_Vtbl {
243 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11Counter_Impl, const OFFSET: isize>() -> ID3D11Counter_Vtbl {
244 unsafe extern "system" fn GetDesc<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11Counter_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdesc: *mut D3D11_COUNTER_DESC) {
245 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
246 let this = (*this).get_impl();
247 this.GetDesc(::core::mem::transmute_copy(&pdesc))
248 }
249 Self { base__: ID3D11Asynchronous_Vtbl::new::<Identity, Impl, OFFSET>(), GetDesc: GetDesc::<Identity, Impl, OFFSET> }
250 }
251 pub fn matches(iid: &windows::core::GUID) -> bool {
252 iid == &<ID3D11Counter as ::windows::core::ComInterface>::IID || iid == &<ID3D11DeviceChild as ::windows::core::ComInterface>::IID || iid == &<ID3D11Asynchronous as ::windows::core::ComInterface>::IID
253 }
254}
255#[doc = "*Required features: `\"Win32_Graphics_Direct3D11\"`, `\"Win32_Foundation\"`, `\"implement\"`*"]
256#[cfg(feature = "Win32_Foundation")]
257pub trait ID3D11CryptoSession_Impl: Sized + ID3D11DeviceChild_Impl {
258 fn GetCryptoType(&self, pcryptotype: *mut ::windows::core::GUID) -> ();
259 fn GetDecoderProfile(&self, pdecoderprofile: *mut ::windows::core::GUID) -> ();
260 fn GetCertificateSize(&self) -> ::windows::core::Result<u32>;
261 fn GetCertificate(&self, certificatesize: u32, pcertificate: *mut u8) -> ::windows::core::Result<()>;
262 fn GetCryptoSessionHandle(&self, pcryptosessionhandle: *mut super::super::Foundation::HANDLE) -> ();
263}
264#[cfg(feature = "Win32_Foundation")]
265impl ::windows::core::RuntimeName for ID3D11CryptoSession {}
266#[cfg(feature = "Win32_Foundation")]
267impl ID3D11CryptoSession_Vtbl {
268 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11CryptoSession_Impl, const OFFSET: isize>() -> ID3D11CryptoSession_Vtbl {
269 unsafe extern "system" fn GetCryptoType<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11CryptoSession_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pcryptotype: *mut ::windows::core::GUID) {
270 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
271 let this = (*this).get_impl();
272 this.GetCryptoType(::core::mem::transmute_copy(&pcryptotype))
273 }
274 unsafe extern "system" fn GetDecoderProfile<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11CryptoSession_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdecoderprofile: *mut ::windows::core::GUID) {
275 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
276 let this = (*this).get_impl();
277 this.GetDecoderProfile(::core::mem::transmute_copy(&pdecoderprofile))
278 }
279 unsafe extern "system" fn GetCertificateSize<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11CryptoSession_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pcertificatesize: *mut u32) -> ::windows::core::HRESULT {
280 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
281 let this = (*this).get_impl();
282 match this.GetCertificateSize() {
283 ::core::result::Result::Ok(ok__) => {
284 ::core::ptr::write(pcertificatesize, ::core::mem::transmute(ok__));
285 ::windows::core::HRESULT(0)
286 }
287 ::core::result::Result::Err(err) => err.into(),
288 }
289 }
290 unsafe extern "system" fn GetCertificate<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11CryptoSession_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, certificatesize: u32, pcertificate: *mut u8) -> ::windows::core::HRESULT {
291 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
292 let this = (*this).get_impl();
293 this.GetCertificate(::core::mem::transmute_copy(&certificatesize), ::core::mem::transmute_copy(&pcertificate)).into()
294 }
295 unsafe extern "system" fn GetCryptoSessionHandle<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11CryptoSession_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pcryptosessionhandle: *mut super::super::Foundation::HANDLE) {
296 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
297 let this = (*this).get_impl();
298 this.GetCryptoSessionHandle(::core::mem::transmute_copy(&pcryptosessionhandle))
299 }
300 Self {
301 base__: ID3D11DeviceChild_Vtbl::new::<Identity, Impl, OFFSET>(),
302 GetCryptoType: GetCryptoType::<Identity, Impl, OFFSET>,
303 GetDecoderProfile: GetDecoderProfile::<Identity, Impl, OFFSET>,
304 GetCertificateSize: GetCertificateSize::<Identity, Impl, OFFSET>,
305 GetCertificate: GetCertificate::<Identity, Impl, OFFSET>,
306 GetCryptoSessionHandle: GetCryptoSessionHandle::<Identity, Impl, OFFSET>,
307 }
308 }
309 pub fn matches(iid: &windows::core::GUID) -> bool {
310 iid == &<ID3D11CryptoSession as ::windows::core::ComInterface>::IID || iid == &<ID3D11DeviceChild as ::windows::core::ComInterface>::IID
311 }
312}
313#[doc = "*Required features: `\"Win32_Graphics_Direct3D11\"`, `\"Win32_Graphics_Dxgi\"`, `\"implement\"`*"]
314#[cfg(feature = "Win32_Graphics_Dxgi")]
315pub trait ID3D11Debug_Impl: Sized {
316 fn SetFeatureMask(&self, mask: u32) -> ::windows::core::Result<()>;
317 fn GetFeatureMask(&self) -> u32;
318 fn SetPresentPerRenderOpDelay(&self, milliseconds: u32) -> ::windows::core::Result<()>;
319 fn GetPresentPerRenderOpDelay(&self) -> u32;
320 fn SetSwapChain(&self, pswapchain: ::core::option::Option<&super::Dxgi::IDXGISwapChain>) -> ::windows::core::Result<()>;
321 fn GetSwapChain(&self) -> ::windows::core::Result<super::Dxgi::IDXGISwapChain>;
322 fn ValidateContext(&self, pcontext: ::core::option::Option<&ID3D11DeviceContext>) -> ::windows::core::Result<()>;
323 fn ReportLiveDeviceObjects(&self, flags: D3D11_RLDO_FLAGS) -> ::windows::core::Result<()>;
324 fn ValidateContextForDispatch(&self, pcontext: ::core::option::Option<&ID3D11DeviceContext>) -> ::windows::core::Result<()>;
325}
326#[cfg(feature = "Win32_Graphics_Dxgi")]
327impl ::windows::core::RuntimeName for ID3D11Debug {}
328#[cfg(feature = "Win32_Graphics_Dxgi")]
329impl ID3D11Debug_Vtbl {
330 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11Debug_Impl, const OFFSET: isize>() -> ID3D11Debug_Vtbl {
331 unsafe extern "system" fn SetFeatureMask<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11Debug_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, mask: u32) -> ::windows::core::HRESULT {
332 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
333 let this = (*this).get_impl();
334 this.SetFeatureMask(::core::mem::transmute_copy(&mask)).into()
335 }
336 unsafe extern "system" fn GetFeatureMask<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11Debug_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> u32 {
337 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
338 let this = (*this).get_impl();
339 this.GetFeatureMask()
340 }
341 unsafe extern "system" fn SetPresentPerRenderOpDelay<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11Debug_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, milliseconds: u32) -> ::windows::core::HRESULT {
342 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
343 let this = (*this).get_impl();
344 this.SetPresentPerRenderOpDelay(::core::mem::transmute_copy(&milliseconds)).into()
345 }
346 unsafe extern "system" fn GetPresentPerRenderOpDelay<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11Debug_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> u32 {
347 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
348 let this = (*this).get_impl();
349 this.GetPresentPerRenderOpDelay()
350 }
351 unsafe extern "system" fn SetSwapChain<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11Debug_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pswapchain: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
352 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
353 let this = (*this).get_impl();
354 this.SetSwapChain(::windows::core::from_raw_borrowed(&pswapchain)).into()
355 }
356 unsafe extern "system" fn GetSwapChain<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11Debug_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppswapchain: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
357 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
358 let this = (*this).get_impl();
359 match this.GetSwapChain() {
360 ::core::result::Result::Ok(ok__) => {
361 ::core::ptr::write(ppswapchain, ::core::mem::transmute(ok__));
362 ::windows::core::HRESULT(0)
363 }
364 ::core::result::Result::Err(err) => err.into(),
365 }
366 }
367 unsafe extern "system" fn ValidateContext<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11Debug_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pcontext: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
368 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
369 let this = (*this).get_impl();
370 this.ValidateContext(::windows::core::from_raw_borrowed(&pcontext)).into()
371 }
372 unsafe extern "system" fn ReportLiveDeviceObjects<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11Debug_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: D3D11_RLDO_FLAGS) -> ::windows::core::HRESULT {
373 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
374 let this = (*this).get_impl();
375 this.ReportLiveDeviceObjects(::core::mem::transmute_copy(&flags)).into()
376 }
377 unsafe extern "system" fn ValidateContextForDispatch<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11Debug_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pcontext: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
378 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
379 let this = (*this).get_impl();
380 this.ValidateContextForDispatch(::windows::core::from_raw_borrowed(&pcontext)).into()
381 }
382 Self {
383 base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
384 SetFeatureMask: SetFeatureMask::<Identity, Impl, OFFSET>,
385 GetFeatureMask: GetFeatureMask::<Identity, Impl, OFFSET>,
386 SetPresentPerRenderOpDelay: SetPresentPerRenderOpDelay::<Identity, Impl, OFFSET>,
387 GetPresentPerRenderOpDelay: GetPresentPerRenderOpDelay::<Identity, Impl, OFFSET>,
388 SetSwapChain: SetSwapChain::<Identity, Impl, OFFSET>,
389 GetSwapChain: GetSwapChain::<Identity, Impl, OFFSET>,
390 ValidateContext: ValidateContext::<Identity, Impl, OFFSET>,
391 ReportLiveDeviceObjects: ReportLiveDeviceObjects::<Identity, Impl, OFFSET>,
392 ValidateContextForDispatch: ValidateContextForDispatch::<Identity, Impl, OFFSET>,
393 }
394 }
395 pub fn matches(iid: &windows::core::GUID) -> bool {
396 iid == &<ID3D11Debug as ::windows::core::ComInterface>::IID
397 }
398}
399#[doc = "*Required features: `\"Win32_Graphics_Direct3D11\"`, `\"Win32_Foundation\"`, `\"implement\"`*"]
400#[cfg(feature = "Win32_Foundation")]
401pub trait ID3D11DepthStencilState_Impl: Sized + ID3D11DeviceChild_Impl {
402 fn GetDesc(&self, pdesc: *mut D3D11_DEPTH_STENCIL_DESC);
403}
404#[cfg(feature = "Win32_Foundation")]
405impl ::windows::core::RuntimeName for ID3D11DepthStencilState {}
406#[cfg(feature = "Win32_Foundation")]
407impl ID3D11DepthStencilState_Vtbl {
408 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DepthStencilState_Impl, const OFFSET: isize>() -> ID3D11DepthStencilState_Vtbl {
409 unsafe extern "system" fn GetDesc<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DepthStencilState_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdesc: *mut D3D11_DEPTH_STENCIL_DESC) {
410 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
411 let this = (*this).get_impl();
412 this.GetDesc(::core::mem::transmute_copy(&pdesc))
413 }
414 Self { base__: ID3D11DeviceChild_Vtbl::new::<Identity, Impl, OFFSET>(), GetDesc: GetDesc::<Identity, Impl, OFFSET> }
415 }
416 pub fn matches(iid: &windows::core::GUID) -> bool {
417 iid == &<ID3D11DepthStencilState as ::windows::core::ComInterface>::IID || iid == &<ID3D11DeviceChild as ::windows::core::ComInterface>::IID
418 }
419}
420#[doc = "*Required features: `\"Win32_Graphics_Direct3D11\"`, `\"Win32_Graphics_Dxgi_Common\"`, `\"implement\"`*"]
421#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
422pub trait ID3D11DepthStencilView_Impl: Sized + ID3D11View_Impl {
423 fn GetDesc(&self, pdesc: *mut D3D11_DEPTH_STENCIL_VIEW_DESC);
424}
425#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
426impl ::windows::core::RuntimeName for ID3D11DepthStencilView {}
427#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
428impl ID3D11DepthStencilView_Vtbl {
429 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DepthStencilView_Impl, const OFFSET: isize>() -> ID3D11DepthStencilView_Vtbl {
430 unsafe extern "system" fn GetDesc<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DepthStencilView_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdesc: *mut D3D11_DEPTH_STENCIL_VIEW_DESC) {
431 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
432 let this = (*this).get_impl();
433 this.GetDesc(::core::mem::transmute_copy(&pdesc))
434 }
435 Self { base__: ID3D11View_Vtbl::new::<Identity, Impl, OFFSET>(), GetDesc: GetDesc::<Identity, Impl, OFFSET> }
436 }
437 pub fn matches(iid: &windows::core::GUID) -> bool {
438 iid == &<ID3D11DepthStencilView as ::windows::core::ComInterface>::IID || iid == &<ID3D11DeviceChild as ::windows::core::ComInterface>::IID || iid == &<ID3D11View as ::windows::core::ComInterface>::IID
439 }
440}
441#[doc = "*Required features: `\"Win32_Graphics_Direct3D11\"`, `\"Win32_Foundation\"`, `\"Win32_Graphics_Direct3D\"`, `\"Win32_Graphics_Dxgi_Common\"`, `\"implement\"`*"]
442#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D", feature = "Win32_Graphics_Dxgi_Common"))]
443pub trait ID3D11Device_Impl: Sized {
444 fn CreateBuffer(&self, pdesc: *const D3D11_BUFFER_DESC, pinitialdata: *const D3D11_SUBRESOURCE_DATA, ppbuffer: *mut ::core::option::Option<ID3D11Buffer>) -> ::windows::core::Result<()>;
445 fn CreateTexture1D(&self, pdesc: *const D3D11_TEXTURE1D_DESC, pinitialdata: *const D3D11_SUBRESOURCE_DATA, pptexture1d: *mut ::core::option::Option<ID3D11Texture1D>) -> ::windows::core::Result<()>;
446 fn CreateTexture2D(&self, pdesc: *const D3D11_TEXTURE2D_DESC, pinitialdata: *const D3D11_SUBRESOURCE_DATA, pptexture2d: *mut ::core::option::Option<ID3D11Texture2D>) -> ::windows::core::Result<()>;
447 fn CreateTexture3D(&self, pdesc: *const D3D11_TEXTURE3D_DESC, pinitialdata: *const D3D11_SUBRESOURCE_DATA, pptexture3d: *mut ::core::option::Option<ID3D11Texture3D>) -> ::windows::core::Result<()>;
448 fn CreateShaderResourceView(&self, presource: ::core::option::Option<&ID3D11Resource>, pdesc: *const D3D11_SHADER_RESOURCE_VIEW_DESC, ppsrview: *mut ::core::option::Option<ID3D11ShaderResourceView>) -> ::windows::core::Result<()>;
449 fn CreateUnorderedAccessView(&self, presource: ::core::option::Option<&ID3D11Resource>, pdesc: *const D3D11_UNORDERED_ACCESS_VIEW_DESC, ppuaview: *mut ::core::option::Option<ID3D11UnorderedAccessView>) -> ::windows::core::Result<()>;
450 fn CreateRenderTargetView(&self, presource: ::core::option::Option<&ID3D11Resource>, pdesc: *const D3D11_RENDER_TARGET_VIEW_DESC, pprtview: *mut ::core::option::Option<ID3D11RenderTargetView>) -> ::windows::core::Result<()>;
451 fn CreateDepthStencilView(&self, presource: ::core::option::Option<&ID3D11Resource>, pdesc: *const D3D11_DEPTH_STENCIL_VIEW_DESC, ppdepthstencilview: *mut ::core::option::Option<ID3D11DepthStencilView>) -> ::windows::core::Result<()>;
452 fn CreateInputLayout(&self, pinputelementdescs: *const D3D11_INPUT_ELEMENT_DESC, numelements: u32, pshaderbytecodewithinputsignature: *const ::core::ffi::c_void, bytecodelength: usize, ppinputlayout: *mut ::core::option::Option<ID3D11InputLayout>) -> ::windows::core::Result<()>;
453 fn CreateVertexShader(&self, pshaderbytecode: *const ::core::ffi::c_void, bytecodelength: usize, pclasslinkage: ::core::option::Option<&ID3D11ClassLinkage>, ppvertexshader: *mut ::core::option::Option<ID3D11VertexShader>) -> ::windows::core::Result<()>;
454 fn CreateGeometryShader(&self, pshaderbytecode: *const ::core::ffi::c_void, bytecodelength: usize, pclasslinkage: ::core::option::Option<&ID3D11ClassLinkage>, ppgeometryshader: *mut ::core::option::Option<ID3D11GeometryShader>) -> ::windows::core::Result<()>;
455 fn CreateGeometryShaderWithStreamOutput(&self, pshaderbytecode: *const ::core::ffi::c_void, bytecodelength: usize, psodeclaration: *const D3D11_SO_DECLARATION_ENTRY, numentries: u32, pbufferstrides: *const u32, numstrides: u32, rasterizedstream: u32, pclasslinkage: ::core::option::Option<&ID3D11ClassLinkage>, ppgeometryshader: *mut ::core::option::Option<ID3D11GeometryShader>) -> ::windows::core::Result<()>;
456 fn CreatePixelShader(&self, pshaderbytecode: *const ::core::ffi::c_void, bytecodelength: usize, pclasslinkage: ::core::option::Option<&ID3D11ClassLinkage>, pppixelshader: *mut ::core::option::Option<ID3D11PixelShader>) -> ::windows::core::Result<()>;
457 fn CreateHullShader(&self, pshaderbytecode: *const ::core::ffi::c_void, bytecodelength: usize, pclasslinkage: ::core::option::Option<&ID3D11ClassLinkage>, pphullshader: *mut ::core::option::Option<ID3D11HullShader>) -> ::windows::core::Result<()>;
458 fn CreateDomainShader(&self, pshaderbytecode: *const ::core::ffi::c_void, bytecodelength: usize, pclasslinkage: ::core::option::Option<&ID3D11ClassLinkage>, ppdomainshader: *mut ::core::option::Option<ID3D11DomainShader>) -> ::windows::core::Result<()>;
459 fn CreateComputeShader(&self, pshaderbytecode: *const ::core::ffi::c_void, bytecodelength: usize, pclasslinkage: ::core::option::Option<&ID3D11ClassLinkage>, ppcomputeshader: *mut ::core::option::Option<ID3D11ComputeShader>) -> ::windows::core::Result<()>;
460 fn CreateClassLinkage(&self) -> ::windows::core::Result<ID3D11ClassLinkage>;
461 fn CreateBlendState(&self, pblendstatedesc: *const D3D11_BLEND_DESC, ppblendstate: *mut ::core::option::Option<ID3D11BlendState>) -> ::windows::core::Result<()>;
462 fn CreateDepthStencilState(&self, pdepthstencildesc: *const D3D11_DEPTH_STENCIL_DESC, ppdepthstencilstate: *mut ::core::option::Option<ID3D11DepthStencilState>) -> ::windows::core::Result<()>;
463 fn CreateRasterizerState(&self, prasterizerdesc: *const D3D11_RASTERIZER_DESC, pprasterizerstate: *mut ::core::option::Option<ID3D11RasterizerState>) -> ::windows::core::Result<()>;
464 fn CreateSamplerState(&self, psamplerdesc: *const D3D11_SAMPLER_DESC, ppsamplerstate: *mut ::core::option::Option<ID3D11SamplerState>) -> ::windows::core::Result<()>;
465 fn CreateQuery(&self, pquerydesc: *const D3D11_QUERY_DESC, ppquery: *mut ::core::option::Option<ID3D11Query>) -> ::windows::core::Result<()>;
466 fn CreatePredicate(&self, ppredicatedesc: *const D3D11_QUERY_DESC, pppredicate: *mut ::core::option::Option<ID3D11Predicate>) -> ::windows::core::Result<()>;
467 fn CreateCounter(&self, pcounterdesc: *const D3D11_COUNTER_DESC, ppcounter: *mut ::core::option::Option<ID3D11Counter>) -> ::windows::core::Result<()>;
468 fn CreateDeferredContext(&self, contextflags: u32, ppdeferredcontext: *mut ::core::option::Option<ID3D11DeviceContext>) -> ::windows::core::Result<()>;
469 fn OpenSharedResource(&self, hresource: super::super::Foundation::HANDLE, returnedinterface: *const ::windows::core::GUID, ppresource: *mut *mut ::core::ffi::c_void) -> ::windows::core::Result<()>;
470 fn CheckFormatSupport(&self, format: super::Dxgi::Common::DXGI_FORMAT) -> ::windows::core::Result<u32>;
471 fn CheckMultisampleQualityLevels(&self, format: super::Dxgi::Common::DXGI_FORMAT, samplecount: u32) -> ::windows::core::Result<u32>;
472 fn CheckCounterInfo(&self, pcounterinfo: *mut D3D11_COUNTER_INFO) -> ();
473 fn CheckCounter(&self, pdesc: *const D3D11_COUNTER_DESC, ptype: *mut D3D11_COUNTER_TYPE, pactivecounters: *mut u32, szname: ::windows::core::PSTR, pnamelength: *mut u32, szunits: ::windows::core::PSTR, punitslength: *mut u32, szdescription: ::windows::core::PSTR, pdescriptionlength: *mut u32) -> ::windows::core::Result<()>;
474 fn CheckFeatureSupport(&self, feature: D3D11_FEATURE, pfeaturesupportdata: *mut ::core::ffi::c_void, featuresupportdatasize: u32) -> ::windows::core::Result<()>;
475 fn GetPrivateData(&self, guid: *const ::windows::core::GUID, pdatasize: *mut u32, pdata: *mut ::core::ffi::c_void) -> ::windows::core::Result<()>;
476 fn SetPrivateData(&self, guid: *const ::windows::core::GUID, datasize: u32, pdata: *const ::core::ffi::c_void) -> ::windows::core::Result<()>;
477 fn SetPrivateDataInterface(&self, guid: *const ::windows::core::GUID, pdata: ::core::option::Option<&::windows::core::IUnknown>) -> ::windows::core::Result<()>;
478 fn GetFeatureLevel(&self) -> super::Direct3D::D3D_FEATURE_LEVEL;
479 fn GetCreationFlags(&self) -> u32;
480 fn GetDeviceRemovedReason(&self) -> ::windows::core::Result<()>;
481 fn GetImmediateContext(&self, ppimmediatecontext: *mut ::core::option::Option<ID3D11DeviceContext>) -> ();
482 fn SetExceptionMode(&self, raiseflags: u32) -> ::windows::core::Result<()>;
483 fn GetExceptionMode(&self) -> u32;
484}
485#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D", feature = "Win32_Graphics_Dxgi_Common"))]
486impl ::windows::core::RuntimeName for ID3D11Device {}
487#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D", feature = "Win32_Graphics_Dxgi_Common"))]
488impl ID3D11Device_Vtbl {
489 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11Device_Impl, const OFFSET: isize>() -> ID3D11Device_Vtbl {
490 unsafe extern "system" fn CreateBuffer<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11Device_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdesc: *const D3D11_BUFFER_DESC, pinitialdata: *const D3D11_SUBRESOURCE_DATA, ppbuffer: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
491 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
492 let this = (*this).get_impl();
493 this.CreateBuffer(::core::mem::transmute_copy(&pdesc), ::core::mem::transmute_copy(&pinitialdata), ::core::mem::transmute_copy(&ppbuffer)).into()
494 }
495 unsafe extern "system" fn CreateTexture1D<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11Device_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdesc: *const D3D11_TEXTURE1D_DESC, pinitialdata: *const D3D11_SUBRESOURCE_DATA, pptexture1d: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
496 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
497 let this = (*this).get_impl();
498 this.CreateTexture1D(::core::mem::transmute_copy(&pdesc), ::core::mem::transmute_copy(&pinitialdata), ::core::mem::transmute_copy(&pptexture1d)).into()
499 }
500 unsafe extern "system" fn CreateTexture2D<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11Device_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdesc: *const D3D11_TEXTURE2D_DESC, pinitialdata: *const D3D11_SUBRESOURCE_DATA, pptexture2d: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
501 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
502 let this = (*this).get_impl();
503 this.CreateTexture2D(::core::mem::transmute_copy(&pdesc), ::core::mem::transmute_copy(&pinitialdata), ::core::mem::transmute_copy(&pptexture2d)).into()
504 }
505 unsafe extern "system" fn CreateTexture3D<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11Device_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdesc: *const D3D11_TEXTURE3D_DESC, pinitialdata: *const D3D11_SUBRESOURCE_DATA, pptexture3d: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
506 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
507 let this = (*this).get_impl();
508 this.CreateTexture3D(::core::mem::transmute_copy(&pdesc), ::core::mem::transmute_copy(&pinitialdata), ::core::mem::transmute_copy(&pptexture3d)).into()
509 }
510 unsafe extern "system" fn CreateShaderResourceView<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11Device_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, presource: *mut ::core::ffi::c_void, pdesc: *const D3D11_SHADER_RESOURCE_VIEW_DESC, ppsrview: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
511 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
512 let this = (*this).get_impl();
513 this.CreateShaderResourceView(::windows::core::from_raw_borrowed(&presource), ::core::mem::transmute_copy(&pdesc), ::core::mem::transmute_copy(&ppsrview)).into()
514 }
515 unsafe extern "system" fn CreateUnorderedAccessView<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11Device_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, presource: *mut ::core::ffi::c_void, pdesc: *const D3D11_UNORDERED_ACCESS_VIEW_DESC, ppuaview: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
516 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
517 let this = (*this).get_impl();
518 this.CreateUnorderedAccessView(::windows::core::from_raw_borrowed(&presource), ::core::mem::transmute_copy(&pdesc), ::core::mem::transmute_copy(&ppuaview)).into()
519 }
520 unsafe extern "system" fn CreateRenderTargetView<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11Device_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, presource: *mut ::core::ffi::c_void, pdesc: *const D3D11_RENDER_TARGET_VIEW_DESC, pprtview: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
521 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
522 let this = (*this).get_impl();
523 this.CreateRenderTargetView(::windows::core::from_raw_borrowed(&presource), ::core::mem::transmute_copy(&pdesc), ::core::mem::transmute_copy(&pprtview)).into()
524 }
525 unsafe extern "system" fn CreateDepthStencilView<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11Device_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, presource: *mut ::core::ffi::c_void, pdesc: *const D3D11_DEPTH_STENCIL_VIEW_DESC, ppdepthstencilview: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
526 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
527 let this = (*this).get_impl();
528 this.CreateDepthStencilView(::windows::core::from_raw_borrowed(&presource), ::core::mem::transmute_copy(&pdesc), ::core::mem::transmute_copy(&ppdepthstencilview)).into()
529 }
530 unsafe extern "system" fn CreateInputLayout<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11Device_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pinputelementdescs: *const D3D11_INPUT_ELEMENT_DESC, numelements: u32, pshaderbytecodewithinputsignature: *const ::core::ffi::c_void, bytecodelength: usize, ppinputlayout: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
531 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
532 let this = (*this).get_impl();
533 this.CreateInputLayout(::core::mem::transmute_copy(&pinputelementdescs), ::core::mem::transmute_copy(&numelements), ::core::mem::transmute_copy(&pshaderbytecodewithinputsignature), ::core::mem::transmute_copy(&bytecodelength), ::core::mem::transmute_copy(&ppinputlayout)).into()
534 }
535 unsafe extern "system" fn CreateVertexShader<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11Device_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pshaderbytecode: *const ::core::ffi::c_void, bytecodelength: usize, pclasslinkage: *mut ::core::ffi::c_void, ppvertexshader: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
536 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
537 let this = (*this).get_impl();
538 this.CreateVertexShader(::core::mem::transmute_copy(&pshaderbytecode), ::core::mem::transmute_copy(&bytecodelength), ::windows::core::from_raw_borrowed(&pclasslinkage), ::core::mem::transmute_copy(&ppvertexshader)).into()
539 }
540 unsafe extern "system" fn CreateGeometryShader<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11Device_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pshaderbytecode: *const ::core::ffi::c_void, bytecodelength: usize, pclasslinkage: *mut ::core::ffi::c_void, ppgeometryshader: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
541 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
542 let this = (*this).get_impl();
543 this.CreateGeometryShader(::core::mem::transmute_copy(&pshaderbytecode), ::core::mem::transmute_copy(&bytecodelength), ::windows::core::from_raw_borrowed(&pclasslinkage), ::core::mem::transmute_copy(&ppgeometryshader)).into()
544 }
545 unsafe extern "system" fn CreateGeometryShaderWithStreamOutput<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11Device_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pshaderbytecode: *const ::core::ffi::c_void, bytecodelength: usize, psodeclaration: *const D3D11_SO_DECLARATION_ENTRY, numentries: u32, pbufferstrides: *const u32, numstrides: u32, rasterizedstream: u32, pclasslinkage: *mut ::core::ffi::c_void, ppgeometryshader: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
546 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
547 let this = (*this).get_impl();
548 this.CreateGeometryShaderWithStreamOutput(::core::mem::transmute_copy(&pshaderbytecode), ::core::mem::transmute_copy(&bytecodelength), ::core::mem::transmute_copy(&psodeclaration), ::core::mem::transmute_copy(&numentries), ::core::mem::transmute_copy(&pbufferstrides), ::core::mem::transmute_copy(&numstrides), ::core::mem::transmute_copy(&rasterizedstream), ::windows::core::from_raw_borrowed(&pclasslinkage), ::core::mem::transmute_copy(&ppgeometryshader)).into()
549 }
550 unsafe extern "system" fn CreatePixelShader<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11Device_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pshaderbytecode: *const ::core::ffi::c_void, bytecodelength: usize, pclasslinkage: *mut ::core::ffi::c_void, pppixelshader: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
551 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
552 let this = (*this).get_impl();
553 this.CreatePixelShader(::core::mem::transmute_copy(&pshaderbytecode), ::core::mem::transmute_copy(&bytecodelength), ::windows::core::from_raw_borrowed(&pclasslinkage), ::core::mem::transmute_copy(&pppixelshader)).into()
554 }
555 unsafe extern "system" fn CreateHullShader<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11Device_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pshaderbytecode: *const ::core::ffi::c_void, bytecodelength: usize, pclasslinkage: *mut ::core::ffi::c_void, pphullshader: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
556 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
557 let this = (*this).get_impl();
558 this.CreateHullShader(::core::mem::transmute_copy(&pshaderbytecode), ::core::mem::transmute_copy(&bytecodelength), ::windows::core::from_raw_borrowed(&pclasslinkage), ::core::mem::transmute_copy(&pphullshader)).into()
559 }
560 unsafe extern "system" fn CreateDomainShader<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11Device_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pshaderbytecode: *const ::core::ffi::c_void, bytecodelength: usize, pclasslinkage: *mut ::core::ffi::c_void, ppdomainshader: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
561 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
562 let this = (*this).get_impl();
563 this.CreateDomainShader(::core::mem::transmute_copy(&pshaderbytecode), ::core::mem::transmute_copy(&bytecodelength), ::windows::core::from_raw_borrowed(&pclasslinkage), ::core::mem::transmute_copy(&ppdomainshader)).into()
564 }
565 unsafe extern "system" fn CreateComputeShader<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11Device_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pshaderbytecode: *const ::core::ffi::c_void, bytecodelength: usize, pclasslinkage: *mut ::core::ffi::c_void, ppcomputeshader: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
566 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
567 let this = (*this).get_impl();
568 this.CreateComputeShader(::core::mem::transmute_copy(&pshaderbytecode), ::core::mem::transmute_copy(&bytecodelength), ::windows::core::from_raw_borrowed(&pclasslinkage), ::core::mem::transmute_copy(&ppcomputeshader)).into()
569 }
570 unsafe extern "system" fn CreateClassLinkage<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11Device_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pplinkage: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
571 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
572 let this = (*this).get_impl();
573 match this.CreateClassLinkage() {
574 ::core::result::Result::Ok(ok__) => {
575 ::core::ptr::write(pplinkage, ::core::mem::transmute(ok__));
576 ::windows::core::HRESULT(0)
577 }
578 ::core::result::Result::Err(err) => err.into(),
579 }
580 }
581 unsafe extern "system" fn CreateBlendState<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11Device_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pblendstatedesc: *const D3D11_BLEND_DESC, ppblendstate: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
582 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
583 let this = (*this).get_impl();
584 this.CreateBlendState(::core::mem::transmute_copy(&pblendstatedesc), ::core::mem::transmute_copy(&ppblendstate)).into()
585 }
586 unsafe extern "system" fn CreateDepthStencilState<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11Device_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdepthstencildesc: *const D3D11_DEPTH_STENCIL_DESC, ppdepthstencilstate: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
587 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
588 let this = (*this).get_impl();
589 this.CreateDepthStencilState(::core::mem::transmute_copy(&pdepthstencildesc), ::core::mem::transmute_copy(&ppdepthstencilstate)).into()
590 }
591 unsafe extern "system" fn CreateRasterizerState<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11Device_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, prasterizerdesc: *const D3D11_RASTERIZER_DESC, pprasterizerstate: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
592 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
593 let this = (*this).get_impl();
594 this.CreateRasterizerState(::core::mem::transmute_copy(&prasterizerdesc), ::core::mem::transmute_copy(&pprasterizerstate)).into()
595 }
596 unsafe extern "system" fn CreateSamplerState<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11Device_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, psamplerdesc: *const D3D11_SAMPLER_DESC, ppsamplerstate: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
597 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
598 let this = (*this).get_impl();
599 this.CreateSamplerState(::core::mem::transmute_copy(&psamplerdesc), ::core::mem::transmute_copy(&ppsamplerstate)).into()
600 }
601 unsafe extern "system" fn CreateQuery<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11Device_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pquerydesc: *const D3D11_QUERY_DESC, ppquery: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
602 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
603 let this = (*this).get_impl();
604 this.CreateQuery(::core::mem::transmute_copy(&pquerydesc), ::core::mem::transmute_copy(&ppquery)).into()
605 }
606 unsafe extern "system" fn CreatePredicate<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11Device_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppredicatedesc: *const D3D11_QUERY_DESC, pppredicate: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
607 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
608 let this = (*this).get_impl();
609 this.CreatePredicate(::core::mem::transmute_copy(&ppredicatedesc), ::core::mem::transmute_copy(&pppredicate)).into()
610 }
611 unsafe extern "system" fn CreateCounter<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11Device_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pcounterdesc: *const D3D11_COUNTER_DESC, ppcounter: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
612 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
613 let this = (*this).get_impl();
614 this.CreateCounter(::core::mem::transmute_copy(&pcounterdesc), ::core::mem::transmute_copy(&ppcounter)).into()
615 }
616 unsafe extern "system" fn CreateDeferredContext<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11Device_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, contextflags: u32, ppdeferredcontext: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
617 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
618 let this = (*this).get_impl();
619 this.CreateDeferredContext(::core::mem::transmute_copy(&contextflags), ::core::mem::transmute_copy(&ppdeferredcontext)).into()
620 }
621 unsafe extern "system" fn OpenSharedResource<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11Device_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, hresource: super::super::Foundation::HANDLE, returnedinterface: *const ::windows::core::GUID, ppresource: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
622 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
623 let this = (*this).get_impl();
624 this.OpenSharedResource(::core::mem::transmute_copy(&hresource), ::core::mem::transmute_copy(&returnedinterface), ::core::mem::transmute_copy(&ppresource)).into()
625 }
626 unsafe extern "system" fn CheckFormatSupport<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11Device_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, format: super::Dxgi::Common::DXGI_FORMAT, pformatsupport: *mut u32) -> ::windows::core::HRESULT {
627 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
628 let this = (*this).get_impl();
629 match this.CheckFormatSupport(::core::mem::transmute_copy(&format)) {
630 ::core::result::Result::Ok(ok__) => {
631 ::core::ptr::write(pformatsupport, ::core::mem::transmute(ok__));
632 ::windows::core::HRESULT(0)
633 }
634 ::core::result::Result::Err(err) => err.into(),
635 }
636 }
637 unsafe extern "system" fn CheckMultisampleQualityLevels<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11Device_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, format: super::Dxgi::Common::DXGI_FORMAT, samplecount: u32, pnumqualitylevels: *mut u32) -> ::windows::core::HRESULT {
638 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
639 let this = (*this).get_impl();
640 match this.CheckMultisampleQualityLevels(::core::mem::transmute_copy(&format), ::core::mem::transmute_copy(&samplecount)) {
641 ::core::result::Result::Ok(ok__) => {
642 ::core::ptr::write(pnumqualitylevels, ::core::mem::transmute(ok__));
643 ::windows::core::HRESULT(0)
644 }
645 ::core::result::Result::Err(err) => err.into(),
646 }
647 }
648 unsafe extern "system" fn CheckCounterInfo<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11Device_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pcounterinfo: *mut D3D11_COUNTER_INFO) {
649 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
650 let this = (*this).get_impl();
651 this.CheckCounterInfo(::core::mem::transmute_copy(&pcounterinfo))
652 }
653 unsafe extern "system" fn CheckCounter<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11Device_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdesc: *const D3D11_COUNTER_DESC, ptype: *mut D3D11_COUNTER_TYPE, pactivecounters: *mut u32, szname: ::windows::core::PSTR, pnamelength: *mut u32, szunits: ::windows::core::PSTR, punitslength: *mut u32, szdescription: ::windows::core::PSTR, pdescriptionlength: *mut u32) -> ::windows::core::HRESULT {
654 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
655 let this = (*this).get_impl();
656 this.CheckCounter(::core::mem::transmute_copy(&pdesc), ::core::mem::transmute_copy(&ptype), ::core::mem::transmute_copy(&pactivecounters), ::core::mem::transmute_copy(&szname), ::core::mem::transmute_copy(&pnamelength), ::core::mem::transmute_copy(&szunits), ::core::mem::transmute_copy(&punitslength), ::core::mem::transmute_copy(&szdescription), ::core::mem::transmute_copy(&pdescriptionlength)).into()
657 }
658 unsafe extern "system" fn CheckFeatureSupport<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11Device_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, feature: D3D11_FEATURE, pfeaturesupportdata: *mut ::core::ffi::c_void, featuresupportdatasize: u32) -> ::windows::core::HRESULT {
659 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
660 let this = (*this).get_impl();
661 this.CheckFeatureSupport(::core::mem::transmute_copy(&feature), ::core::mem::transmute_copy(&pfeaturesupportdata), ::core::mem::transmute_copy(&featuresupportdatasize)).into()
662 }
663 unsafe extern "system" fn GetPrivateData<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11Device_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, guid: *const ::windows::core::GUID, pdatasize: *mut u32, pdata: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
664 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
665 let this = (*this).get_impl();
666 this.GetPrivateData(::core::mem::transmute_copy(&guid), ::core::mem::transmute_copy(&pdatasize), ::core::mem::transmute_copy(&pdata)).into()
667 }
668 unsafe extern "system" fn SetPrivateData<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11Device_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, guid: *const ::windows::core::GUID, datasize: u32, pdata: *const ::core::ffi::c_void) -> ::windows::core::HRESULT {
669 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
670 let this = (*this).get_impl();
671 this.SetPrivateData(::core::mem::transmute_copy(&guid), ::core::mem::transmute_copy(&datasize), ::core::mem::transmute_copy(&pdata)).into()
672 }
673 unsafe extern "system" fn SetPrivateDataInterface<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11Device_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, guid: *const ::windows::core::GUID, pdata: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
674 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
675 let this = (*this).get_impl();
676 this.SetPrivateDataInterface(::core::mem::transmute_copy(&guid), ::windows::core::from_raw_borrowed(&pdata)).into()
677 }
678 unsafe extern "system" fn GetFeatureLevel<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11Device_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> super::Direct3D::D3D_FEATURE_LEVEL {
679 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
680 let this = (*this).get_impl();
681 this.GetFeatureLevel()
682 }
683 unsafe extern "system" fn GetCreationFlags<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11Device_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> u32 {
684 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
685 let this = (*this).get_impl();
686 this.GetCreationFlags()
687 }
688 unsafe extern "system" fn GetDeviceRemovedReason<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11Device_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
689 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
690 let this = (*this).get_impl();
691 this.GetDeviceRemovedReason().into()
692 }
693 unsafe extern "system" fn GetImmediateContext<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11Device_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppimmediatecontext: *mut *mut ::core::ffi::c_void) {
694 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
695 let this = (*this).get_impl();
696 this.GetImmediateContext(::core::mem::transmute_copy(&ppimmediatecontext))
697 }
698 unsafe extern "system" fn SetExceptionMode<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11Device_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, raiseflags: u32) -> ::windows::core::HRESULT {
699 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
700 let this = (*this).get_impl();
701 this.SetExceptionMode(::core::mem::transmute_copy(&raiseflags)).into()
702 }
703 unsafe extern "system" fn GetExceptionMode<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11Device_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> u32 {
704 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
705 let this = (*this).get_impl();
706 this.GetExceptionMode()
707 }
708 Self {
709 base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
710 CreateBuffer: CreateBuffer::<Identity, Impl, OFFSET>,
711 CreateTexture1D: CreateTexture1D::<Identity, Impl, OFFSET>,
712 CreateTexture2D: CreateTexture2D::<Identity, Impl, OFFSET>,
713 CreateTexture3D: CreateTexture3D::<Identity, Impl, OFFSET>,
714 CreateShaderResourceView: CreateShaderResourceView::<Identity, Impl, OFFSET>,
715 CreateUnorderedAccessView: CreateUnorderedAccessView::<Identity, Impl, OFFSET>,
716 CreateRenderTargetView: CreateRenderTargetView::<Identity, Impl, OFFSET>,
717 CreateDepthStencilView: CreateDepthStencilView::<Identity, Impl, OFFSET>,
718 CreateInputLayout: CreateInputLayout::<Identity, Impl, OFFSET>,
719 CreateVertexShader: CreateVertexShader::<Identity, Impl, OFFSET>,
720 CreateGeometryShader: CreateGeometryShader::<Identity, Impl, OFFSET>,
721 CreateGeometryShaderWithStreamOutput: CreateGeometryShaderWithStreamOutput::<Identity, Impl, OFFSET>,
722 CreatePixelShader: CreatePixelShader::<Identity, Impl, OFFSET>,
723 CreateHullShader: CreateHullShader::<Identity, Impl, OFFSET>,
724 CreateDomainShader: CreateDomainShader::<Identity, Impl, OFFSET>,
725 CreateComputeShader: CreateComputeShader::<Identity, Impl, OFFSET>,
726 CreateClassLinkage: CreateClassLinkage::<Identity, Impl, OFFSET>,
727 CreateBlendState: CreateBlendState::<Identity, Impl, OFFSET>,
728 CreateDepthStencilState: CreateDepthStencilState::<Identity, Impl, OFFSET>,
729 CreateRasterizerState: CreateRasterizerState::<Identity, Impl, OFFSET>,
730 CreateSamplerState: CreateSamplerState::<Identity, Impl, OFFSET>,
731 CreateQuery: CreateQuery::<Identity, Impl, OFFSET>,
732 CreatePredicate: CreatePredicate::<Identity, Impl, OFFSET>,
733 CreateCounter: CreateCounter::<Identity, Impl, OFFSET>,
734 CreateDeferredContext: CreateDeferredContext::<Identity, Impl, OFFSET>,
735 OpenSharedResource: OpenSharedResource::<Identity, Impl, OFFSET>,
736 CheckFormatSupport: CheckFormatSupport::<Identity, Impl, OFFSET>,
737 CheckMultisampleQualityLevels: CheckMultisampleQualityLevels::<Identity, Impl, OFFSET>,
738 CheckCounterInfo: CheckCounterInfo::<Identity, Impl, OFFSET>,
739 CheckCounter: CheckCounter::<Identity, Impl, OFFSET>,
740 CheckFeatureSupport: CheckFeatureSupport::<Identity, Impl, OFFSET>,
741 GetPrivateData: GetPrivateData::<Identity, Impl, OFFSET>,
742 SetPrivateData: SetPrivateData::<Identity, Impl, OFFSET>,
743 SetPrivateDataInterface: SetPrivateDataInterface::<Identity, Impl, OFFSET>,
744 GetFeatureLevel: GetFeatureLevel::<Identity, Impl, OFFSET>,
745 GetCreationFlags: GetCreationFlags::<Identity, Impl, OFFSET>,
746 GetDeviceRemovedReason: GetDeviceRemovedReason::<Identity, Impl, OFFSET>,
747 GetImmediateContext: GetImmediateContext::<Identity, Impl, OFFSET>,
748 SetExceptionMode: SetExceptionMode::<Identity, Impl, OFFSET>,
749 GetExceptionMode: GetExceptionMode::<Identity, Impl, OFFSET>,
750 }
751 }
752 pub fn matches(iid: &windows::core::GUID) -> bool {
753 iid == &<ID3D11Device as ::windows::core::ComInterface>::IID
754 }
755}
756#[doc = "*Required features: `\"Win32_Graphics_Direct3D11\"`, `\"Win32_Foundation\"`, `\"Win32_Graphics_Direct3D\"`, `\"Win32_Graphics_Dxgi_Common\"`, `\"implement\"`*"]
757#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D", feature = "Win32_Graphics_Dxgi_Common"))]
758pub trait ID3D11Device1_Impl: Sized + ID3D11Device_Impl {
759 fn GetImmediateContext1(&self, ppimmediatecontext: *mut ::core::option::Option<ID3D11DeviceContext1>) -> ();
760 fn CreateDeferredContext1(&self, contextflags: u32, ppdeferredcontext: *mut ::core::option::Option<ID3D11DeviceContext1>) -> ::windows::core::Result<()>;
761 fn CreateBlendState1(&self, pblendstatedesc: *const D3D11_BLEND_DESC1, ppblendstate: *mut ::core::option::Option<ID3D11BlendState1>) -> ::windows::core::Result<()>;
762 fn CreateRasterizerState1(&self, prasterizerdesc: *const D3D11_RASTERIZER_DESC1, pprasterizerstate: *mut ::core::option::Option<ID3D11RasterizerState1>) -> ::windows::core::Result<()>;
763 fn CreateDeviceContextState(&self, flags: u32, pfeaturelevels: *const super::Direct3D::D3D_FEATURE_LEVEL, featurelevels: u32, sdkversion: u32, emulatedinterface: *const ::windows::core::GUID, pchosenfeaturelevel: *mut super::Direct3D::D3D_FEATURE_LEVEL, ppcontextstate: *mut ::core::option::Option<ID3DDeviceContextState>) -> ::windows::core::Result<()>;
764 fn OpenSharedResource1(&self, hresource: super::super::Foundation::HANDLE, returnedinterface: *const ::windows::core::GUID, ppresource: *mut *mut ::core::ffi::c_void) -> ::windows::core::Result<()>;
765 fn OpenSharedResourceByName(&self, lpname: &::windows::core::PCWSTR, dwdesiredaccess: u32, returnedinterface: *const ::windows::core::GUID, ppresource: *mut *mut ::core::ffi::c_void) -> ::windows::core::Result<()>;
766}
767#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D", feature = "Win32_Graphics_Dxgi_Common"))]
768impl ::windows::core::RuntimeName for ID3D11Device1 {}
769#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D", feature = "Win32_Graphics_Dxgi_Common"))]
770impl ID3D11Device1_Vtbl {
771 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11Device1_Impl, const OFFSET: isize>() -> ID3D11Device1_Vtbl {
772 unsafe extern "system" fn GetImmediateContext1<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11Device1_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppimmediatecontext: *mut *mut ::core::ffi::c_void) {
773 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
774 let this = (*this).get_impl();
775 this.GetImmediateContext1(::core::mem::transmute_copy(&ppimmediatecontext))
776 }
777 unsafe extern "system" fn CreateDeferredContext1<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11Device1_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, contextflags: u32, ppdeferredcontext: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
778 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
779 let this = (*this).get_impl();
780 this.CreateDeferredContext1(::core::mem::transmute_copy(&contextflags), ::core::mem::transmute_copy(&ppdeferredcontext)).into()
781 }
782 unsafe extern "system" fn CreateBlendState1<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11Device1_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pblendstatedesc: *const D3D11_BLEND_DESC1, ppblendstate: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
783 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
784 let this = (*this).get_impl();
785 this.CreateBlendState1(::core::mem::transmute_copy(&pblendstatedesc), ::core::mem::transmute_copy(&ppblendstate)).into()
786 }
787 unsafe extern "system" fn CreateRasterizerState1<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11Device1_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, prasterizerdesc: *const D3D11_RASTERIZER_DESC1, pprasterizerstate: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
788 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
789 let this = (*this).get_impl();
790 this.CreateRasterizerState1(::core::mem::transmute_copy(&prasterizerdesc), ::core::mem::transmute_copy(&pprasterizerstate)).into()
791 }
792 unsafe extern "system" fn CreateDeviceContextState<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11Device1_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: u32, pfeaturelevels: *const super::Direct3D::D3D_FEATURE_LEVEL, featurelevels: u32, sdkversion: u32, emulatedinterface: *const ::windows::core::GUID, pchosenfeaturelevel: *mut super::Direct3D::D3D_FEATURE_LEVEL, ppcontextstate: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
793 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
794 let this = (*this).get_impl();
795 this.CreateDeviceContextState(::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&pfeaturelevels), ::core::mem::transmute_copy(&featurelevels), ::core::mem::transmute_copy(&sdkversion), ::core::mem::transmute_copy(&emulatedinterface), ::core::mem::transmute_copy(&pchosenfeaturelevel), ::core::mem::transmute_copy(&ppcontextstate)).into()
796 }
797 unsafe extern "system" fn OpenSharedResource1<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11Device1_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, hresource: super::super::Foundation::HANDLE, returnedinterface: *const ::windows::core::GUID, ppresource: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
798 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
799 let this = (*this).get_impl();
800 this.OpenSharedResource1(::core::mem::transmute_copy(&hresource), ::core::mem::transmute_copy(&returnedinterface), ::core::mem::transmute_copy(&ppresource)).into()
801 }
802 unsafe extern "system" fn OpenSharedResourceByName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11Device1_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lpname: ::windows::core::PCWSTR, dwdesiredaccess: u32, returnedinterface: *const ::windows::core::GUID, ppresource: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
803 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
804 let this = (*this).get_impl();
805 this.OpenSharedResourceByName(::core::mem::transmute(&lpname), ::core::mem::transmute_copy(&dwdesiredaccess), ::core::mem::transmute_copy(&returnedinterface), ::core::mem::transmute_copy(&ppresource)).into()
806 }
807 Self {
808 base__: ID3D11Device_Vtbl::new::<Identity, Impl, OFFSET>(),
809 GetImmediateContext1: GetImmediateContext1::<Identity, Impl, OFFSET>,
810 CreateDeferredContext1: CreateDeferredContext1::<Identity, Impl, OFFSET>,
811 CreateBlendState1: CreateBlendState1::<Identity, Impl, OFFSET>,
812 CreateRasterizerState1: CreateRasterizerState1::<Identity, Impl, OFFSET>,
813 CreateDeviceContextState: CreateDeviceContextState::<Identity, Impl, OFFSET>,
814 OpenSharedResource1: OpenSharedResource1::<Identity, Impl, OFFSET>,
815 OpenSharedResourceByName: OpenSharedResourceByName::<Identity, Impl, OFFSET>,
816 }
817 }
818 pub fn matches(iid: &windows::core::GUID) -> bool {
819 iid == &<ID3D11Device1 as ::windows::core::ComInterface>::IID || iid == &<ID3D11Device as ::windows::core::ComInterface>::IID
820 }
821}
822#[doc = "*Required features: `\"Win32_Graphics_Direct3D11\"`, `\"Win32_Foundation\"`, `\"Win32_Graphics_Direct3D\"`, `\"Win32_Graphics_Dxgi_Common\"`, `\"implement\"`*"]
823#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D", feature = "Win32_Graphics_Dxgi_Common"))]
824pub trait ID3D11Device2_Impl: Sized + ID3D11Device1_Impl {
825 fn GetImmediateContext2(&self, ppimmediatecontext: *mut ::core::option::Option<ID3D11DeviceContext2>) -> ();
826 fn CreateDeferredContext2(&self, contextflags: u32, ppdeferredcontext: *mut ::core::option::Option<ID3D11DeviceContext2>) -> ::windows::core::Result<()>;
827 fn GetResourceTiling(&self, ptiledresource: ::core::option::Option<&ID3D11Resource>, pnumtilesforentireresource: *mut u32, ppackedmipdesc: *mut D3D11_PACKED_MIP_DESC, pstandardtileshapefornonpackedmips: *mut D3D11_TILE_SHAPE, pnumsubresourcetilings: *mut u32, firstsubresourcetilingtoget: u32, psubresourcetilingsfornonpackedmips: *mut D3D11_SUBRESOURCE_TILING);
828 fn CheckMultisampleQualityLevels1(&self, format: super::Dxgi::Common::DXGI_FORMAT, samplecount: u32, flags: u32) -> ::windows::core::Result<u32>;
829}
830#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D", feature = "Win32_Graphics_Dxgi_Common"))]
831impl ::windows::core::RuntimeName for ID3D11Device2 {}
832#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D", feature = "Win32_Graphics_Dxgi_Common"))]
833impl ID3D11Device2_Vtbl {
834 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11Device2_Impl, const OFFSET: isize>() -> ID3D11Device2_Vtbl {
835 unsafe extern "system" fn GetImmediateContext2<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11Device2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppimmediatecontext: *mut *mut ::core::ffi::c_void) {
836 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
837 let this = (*this).get_impl();
838 this.GetImmediateContext2(::core::mem::transmute_copy(&ppimmediatecontext))
839 }
840 unsafe extern "system" fn CreateDeferredContext2<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11Device2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, contextflags: u32, ppdeferredcontext: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
841 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
842 let this = (*this).get_impl();
843 this.CreateDeferredContext2(::core::mem::transmute_copy(&contextflags), ::core::mem::transmute_copy(&ppdeferredcontext)).into()
844 }
845 unsafe extern "system" fn GetResourceTiling<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11Device2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ptiledresource: *mut ::core::ffi::c_void, pnumtilesforentireresource: *mut u32, ppackedmipdesc: *mut D3D11_PACKED_MIP_DESC, pstandardtileshapefornonpackedmips: *mut D3D11_TILE_SHAPE, pnumsubresourcetilings: *mut u32, firstsubresourcetilingtoget: u32, psubresourcetilingsfornonpackedmips: *mut D3D11_SUBRESOURCE_TILING) {
846 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
847 let this = (*this).get_impl();
848 this.GetResourceTiling(::windows::core::from_raw_borrowed(&ptiledresource), ::core::mem::transmute_copy(&pnumtilesforentireresource), ::core::mem::transmute_copy(&ppackedmipdesc), ::core::mem::transmute_copy(&pstandardtileshapefornonpackedmips), ::core::mem::transmute_copy(&pnumsubresourcetilings), ::core::mem::transmute_copy(&firstsubresourcetilingtoget), ::core::mem::transmute_copy(&psubresourcetilingsfornonpackedmips))
849 }
850 unsafe extern "system" fn CheckMultisampleQualityLevels1<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11Device2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, format: super::Dxgi::Common::DXGI_FORMAT, samplecount: u32, flags: u32, pnumqualitylevels: *mut u32) -> ::windows::core::HRESULT {
851 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
852 let this = (*this).get_impl();
853 match this.CheckMultisampleQualityLevels1(::core::mem::transmute_copy(&format), ::core::mem::transmute_copy(&samplecount), ::core::mem::transmute_copy(&flags)) {
854 ::core::result::Result::Ok(ok__) => {
855 ::core::ptr::write(pnumqualitylevels, ::core::mem::transmute(ok__));
856 ::windows::core::HRESULT(0)
857 }
858 ::core::result::Result::Err(err) => err.into(),
859 }
860 }
861 Self {
862 base__: ID3D11Device1_Vtbl::new::<Identity, Impl, OFFSET>(),
863 GetImmediateContext2: GetImmediateContext2::<Identity, Impl, OFFSET>,
864 CreateDeferredContext2: CreateDeferredContext2::<Identity, Impl, OFFSET>,
865 GetResourceTiling: GetResourceTiling::<Identity, Impl, OFFSET>,
866 CheckMultisampleQualityLevels1: CheckMultisampleQualityLevels1::<Identity, Impl, OFFSET>,
867 }
868 }
869 pub fn matches(iid: &windows::core::GUID) -> bool {
870 iid == &<ID3D11Device2 as ::windows::core::ComInterface>::IID || iid == &<ID3D11Device as ::windows::core::ComInterface>::IID || iid == &<ID3D11Device1 as ::windows::core::ComInterface>::IID
871 }
872}
873#[doc = "*Required features: `\"Win32_Graphics_Direct3D11\"`, `\"Win32_Foundation\"`, `\"Win32_Graphics_Direct3D\"`, `\"Win32_Graphics_Dxgi_Common\"`, `\"implement\"`*"]
874#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D", feature = "Win32_Graphics_Dxgi_Common"))]
875pub trait ID3D11Device3_Impl: Sized + ID3D11Device2_Impl {
876 fn CreateTexture2D1(&self, pdesc1: *const D3D11_TEXTURE2D_DESC1, pinitialdata: *const D3D11_SUBRESOURCE_DATA, pptexture2d: *mut ::core::option::Option<ID3D11Texture2D1>) -> ::windows::core::Result<()>;
877 fn CreateTexture3D1(&self, pdesc1: *const D3D11_TEXTURE3D_DESC1, pinitialdata: *const D3D11_SUBRESOURCE_DATA, pptexture3d: *mut ::core::option::Option<ID3D11Texture3D1>) -> ::windows::core::Result<()>;
878 fn CreateRasterizerState2(&self, prasterizerdesc: *const D3D11_RASTERIZER_DESC2, pprasterizerstate: *mut ::core::option::Option<ID3D11RasterizerState2>) -> ::windows::core::Result<()>;
879 fn CreateShaderResourceView1(&self, presource: ::core::option::Option<&ID3D11Resource>, pdesc1: *const D3D11_SHADER_RESOURCE_VIEW_DESC1, ppsrview1: *mut ::core::option::Option<ID3D11ShaderResourceView1>) -> ::windows::core::Result<()>;
880 fn CreateUnorderedAccessView1(&self, presource: ::core::option::Option<&ID3D11Resource>, pdesc1: *const D3D11_UNORDERED_ACCESS_VIEW_DESC1, ppuaview1: *mut ::core::option::Option<ID3D11UnorderedAccessView1>) -> ::windows::core::Result<()>;
881 fn CreateRenderTargetView1(&self, presource: ::core::option::Option<&ID3D11Resource>, pdesc1: *const D3D11_RENDER_TARGET_VIEW_DESC1, pprtview1: *mut ::core::option::Option<ID3D11RenderTargetView1>) -> ::windows::core::Result<()>;
882 fn CreateQuery1(&self, pquerydesc1: *const D3D11_QUERY_DESC1, ppquery1: *mut ::core::option::Option<ID3D11Query1>) -> ::windows::core::Result<()>;
883 fn GetImmediateContext3(&self, ppimmediatecontext: *mut ::core::option::Option<ID3D11DeviceContext3>) -> ();
884 fn CreateDeferredContext3(&self, contextflags: u32, ppdeferredcontext: *mut ::core::option::Option<ID3D11DeviceContext3>) -> ::windows::core::Result<()>;
885 fn WriteToSubresource(&self, pdstresource: ::core::option::Option<&ID3D11Resource>, dstsubresource: u32, pdstbox: *const D3D11_BOX, psrcdata: *const ::core::ffi::c_void, srcrowpitch: u32, srcdepthpitch: u32);
886 fn ReadFromSubresource(&self, pdstdata: *mut ::core::ffi::c_void, dstrowpitch: u32, dstdepthpitch: u32, psrcresource: ::core::option::Option<&ID3D11Resource>, srcsubresource: u32, psrcbox: *const D3D11_BOX);
887}
888#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D", feature = "Win32_Graphics_Dxgi_Common"))]
889impl ::windows::core::RuntimeName for ID3D11Device3 {}
890#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D", feature = "Win32_Graphics_Dxgi_Common"))]
891impl ID3D11Device3_Vtbl {
892 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11Device3_Impl, const OFFSET: isize>() -> ID3D11Device3_Vtbl {
893 unsafe extern "system" fn CreateTexture2D1<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11Device3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdesc1: *const D3D11_TEXTURE2D_DESC1, pinitialdata: *const D3D11_SUBRESOURCE_DATA, pptexture2d: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
894 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
895 let this = (*this).get_impl();
896 this.CreateTexture2D1(::core::mem::transmute_copy(&pdesc1), ::core::mem::transmute_copy(&pinitialdata), ::core::mem::transmute_copy(&pptexture2d)).into()
897 }
898 unsafe extern "system" fn CreateTexture3D1<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11Device3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdesc1: *const D3D11_TEXTURE3D_DESC1, pinitialdata: *const D3D11_SUBRESOURCE_DATA, pptexture3d: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
899 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
900 let this = (*this).get_impl();
901 this.CreateTexture3D1(::core::mem::transmute_copy(&pdesc1), ::core::mem::transmute_copy(&pinitialdata), ::core::mem::transmute_copy(&pptexture3d)).into()
902 }
903 unsafe extern "system" fn CreateRasterizerState2<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11Device3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, prasterizerdesc: *const D3D11_RASTERIZER_DESC2, pprasterizerstate: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
904 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
905 let this = (*this).get_impl();
906 this.CreateRasterizerState2(::core::mem::transmute_copy(&prasterizerdesc), ::core::mem::transmute_copy(&pprasterizerstate)).into()
907 }
908 unsafe extern "system" fn CreateShaderResourceView1<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11Device3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, presource: *mut ::core::ffi::c_void, pdesc1: *const D3D11_SHADER_RESOURCE_VIEW_DESC1, ppsrview1: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
909 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
910 let this = (*this).get_impl();
911 this.CreateShaderResourceView1(::windows::core::from_raw_borrowed(&presource), ::core::mem::transmute_copy(&pdesc1), ::core::mem::transmute_copy(&ppsrview1)).into()
912 }
913 unsafe extern "system" fn CreateUnorderedAccessView1<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11Device3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, presource: *mut ::core::ffi::c_void, pdesc1: *const D3D11_UNORDERED_ACCESS_VIEW_DESC1, ppuaview1: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
914 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
915 let this = (*this).get_impl();
916 this.CreateUnorderedAccessView1(::windows::core::from_raw_borrowed(&presource), ::core::mem::transmute_copy(&pdesc1), ::core::mem::transmute_copy(&ppuaview1)).into()
917 }
918 unsafe extern "system" fn CreateRenderTargetView1<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11Device3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, presource: *mut ::core::ffi::c_void, pdesc1: *const D3D11_RENDER_TARGET_VIEW_DESC1, pprtview1: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
919 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
920 let this = (*this).get_impl();
921 this.CreateRenderTargetView1(::windows::core::from_raw_borrowed(&presource), ::core::mem::transmute_copy(&pdesc1), ::core::mem::transmute_copy(&pprtview1)).into()
922 }
923 unsafe extern "system" fn CreateQuery1<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11Device3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pquerydesc1: *const D3D11_QUERY_DESC1, ppquery1: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
924 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
925 let this = (*this).get_impl();
926 this.CreateQuery1(::core::mem::transmute_copy(&pquerydesc1), ::core::mem::transmute_copy(&ppquery1)).into()
927 }
928 unsafe extern "system" fn GetImmediateContext3<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11Device3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppimmediatecontext: *mut *mut ::core::ffi::c_void) {
929 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
930 let this = (*this).get_impl();
931 this.GetImmediateContext3(::core::mem::transmute_copy(&ppimmediatecontext))
932 }
933 unsafe extern "system" fn CreateDeferredContext3<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11Device3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, contextflags: u32, ppdeferredcontext: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
934 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
935 let this = (*this).get_impl();
936 this.CreateDeferredContext3(::core::mem::transmute_copy(&contextflags), ::core::mem::transmute_copy(&ppdeferredcontext)).into()
937 }
938 unsafe extern "system" fn WriteToSubresource<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11Device3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdstresource: *mut ::core::ffi::c_void, dstsubresource: u32, pdstbox: *const D3D11_BOX, psrcdata: *const ::core::ffi::c_void, srcrowpitch: u32, srcdepthpitch: u32) {
939 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
940 let this = (*this).get_impl();
941 this.WriteToSubresource(::windows::core::from_raw_borrowed(&pdstresource), ::core::mem::transmute_copy(&dstsubresource), ::core::mem::transmute_copy(&pdstbox), ::core::mem::transmute_copy(&psrcdata), ::core::mem::transmute_copy(&srcrowpitch), ::core::mem::transmute_copy(&srcdepthpitch))
942 }
943 unsafe extern "system" fn ReadFromSubresource<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11Device3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdstdata: *mut ::core::ffi::c_void, dstrowpitch: u32, dstdepthpitch: u32, psrcresource: *mut ::core::ffi::c_void, srcsubresource: u32, psrcbox: *const D3D11_BOX) {
944 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
945 let this = (*this).get_impl();
946 this.ReadFromSubresource(::core::mem::transmute_copy(&pdstdata), ::core::mem::transmute_copy(&dstrowpitch), ::core::mem::transmute_copy(&dstdepthpitch), ::windows::core::from_raw_borrowed(&psrcresource), ::core::mem::transmute_copy(&srcsubresource), ::core::mem::transmute_copy(&psrcbox))
947 }
948 Self {
949 base__: ID3D11Device2_Vtbl::new::<Identity, Impl, OFFSET>(),
950 CreateTexture2D1: CreateTexture2D1::<Identity, Impl, OFFSET>,
951 CreateTexture3D1: CreateTexture3D1::<Identity, Impl, OFFSET>,
952 CreateRasterizerState2: CreateRasterizerState2::<Identity, Impl, OFFSET>,
953 CreateShaderResourceView1: CreateShaderResourceView1::<Identity, Impl, OFFSET>,
954 CreateUnorderedAccessView1: CreateUnorderedAccessView1::<Identity, Impl, OFFSET>,
955 CreateRenderTargetView1: CreateRenderTargetView1::<Identity, Impl, OFFSET>,
956 CreateQuery1: CreateQuery1::<Identity, Impl, OFFSET>,
957 GetImmediateContext3: GetImmediateContext3::<Identity, Impl, OFFSET>,
958 CreateDeferredContext3: CreateDeferredContext3::<Identity, Impl, OFFSET>,
959 WriteToSubresource: WriteToSubresource::<Identity, Impl, OFFSET>,
960 ReadFromSubresource: ReadFromSubresource::<Identity, Impl, OFFSET>,
961 }
962 }
963 pub fn matches(iid: &windows::core::GUID) -> bool {
964 iid == &<ID3D11Device3 as ::windows::core::ComInterface>::IID || iid == &<ID3D11Device as ::windows::core::ComInterface>::IID || iid == &<ID3D11Device1 as ::windows::core::ComInterface>::IID || iid == &<ID3D11Device2 as ::windows::core::ComInterface>::IID
965 }
966}
967#[doc = "*Required features: `\"Win32_Graphics_Direct3D11\"`, `\"Win32_Foundation\"`, `\"Win32_Graphics_Direct3D\"`, `\"Win32_Graphics_Dxgi_Common\"`, `\"implement\"`*"]
968#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D", feature = "Win32_Graphics_Dxgi_Common"))]
969pub trait ID3D11Device4_Impl: Sized + ID3D11Device3_Impl {
970 fn RegisterDeviceRemovedEvent(&self, hevent: super::super::Foundation::HANDLE) -> ::windows::core::Result<u32>;
971 fn UnregisterDeviceRemoved(&self, dwcookie: u32);
972}
973#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D", feature = "Win32_Graphics_Dxgi_Common"))]
974impl ::windows::core::RuntimeName for ID3D11Device4 {}
975#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D", feature = "Win32_Graphics_Dxgi_Common"))]
976impl ID3D11Device4_Vtbl {
977 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11Device4_Impl, const OFFSET: isize>() -> ID3D11Device4_Vtbl {
978 unsafe extern "system" fn RegisterDeviceRemovedEvent<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11Device4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, hevent: super::super::Foundation::HANDLE, pdwcookie: *mut u32) -> ::windows::core::HRESULT {
979 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
980 let this = (*this).get_impl();
981 match this.RegisterDeviceRemovedEvent(::core::mem::transmute_copy(&hevent)) {
982 ::core::result::Result::Ok(ok__) => {
983 ::core::ptr::write(pdwcookie, ::core::mem::transmute(ok__));
984 ::windows::core::HRESULT(0)
985 }
986 ::core::result::Result::Err(err) => err.into(),
987 }
988 }
989 unsafe extern "system" fn UnregisterDeviceRemoved<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11Device4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwcookie: u32) {
990 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
991 let this = (*this).get_impl();
992 this.UnregisterDeviceRemoved(::core::mem::transmute_copy(&dwcookie))
993 }
994 Self {
995 base__: ID3D11Device3_Vtbl::new::<Identity, Impl, OFFSET>(),
996 RegisterDeviceRemovedEvent: RegisterDeviceRemovedEvent::<Identity, Impl, OFFSET>,
997 UnregisterDeviceRemoved: UnregisterDeviceRemoved::<Identity, Impl, OFFSET>,
998 }
999 }
1000 pub fn matches(iid: &windows::core::GUID) -> bool {
1001 iid == &<ID3D11Device4 as ::windows::core::ComInterface>::IID || iid == &<ID3D11Device as ::windows::core::ComInterface>::IID || iid == &<ID3D11Device1 as ::windows::core::ComInterface>::IID || iid == &<ID3D11Device2 as ::windows::core::ComInterface>::IID || iid == &<ID3D11Device3 as ::windows::core::ComInterface>::IID
1002 }
1003}
1004#[doc = "*Required features: `\"Win32_Graphics_Direct3D11\"`, `\"Win32_Foundation\"`, `\"Win32_Graphics_Direct3D\"`, `\"Win32_Graphics_Dxgi_Common\"`, `\"implement\"`*"]
1005#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D", feature = "Win32_Graphics_Dxgi_Common"))]
1006pub trait ID3D11Device5_Impl: Sized + ID3D11Device4_Impl {
1007 fn OpenSharedFence(&self, hfence: super::super::Foundation::HANDLE, returnedinterface: *const ::windows::core::GUID, ppfence: *mut *mut ::core::ffi::c_void) -> ::windows::core::Result<()>;
1008 fn CreateFence(&self, initialvalue: u64, flags: D3D11_FENCE_FLAG, returnedinterface: *const ::windows::core::GUID, ppfence: *mut *mut ::core::ffi::c_void) -> ::windows::core::Result<()>;
1009}
1010#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D", feature = "Win32_Graphics_Dxgi_Common"))]
1011impl ::windows::core::RuntimeName for ID3D11Device5 {}
1012#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D", feature = "Win32_Graphics_Dxgi_Common"))]
1013impl ID3D11Device5_Vtbl {
1014 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11Device5_Impl, const OFFSET: isize>() -> ID3D11Device5_Vtbl {
1015 unsafe extern "system" fn OpenSharedFence<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11Device5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, hfence: super::super::Foundation::HANDLE, returnedinterface: *const ::windows::core::GUID, ppfence: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
1016 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1017 let this = (*this).get_impl();
1018 this.OpenSharedFence(::core::mem::transmute_copy(&hfence), ::core::mem::transmute_copy(&returnedinterface), ::core::mem::transmute_copy(&ppfence)).into()
1019 }
1020 unsafe extern "system" fn CreateFence<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11Device5_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, initialvalue: u64, flags: D3D11_FENCE_FLAG, returnedinterface: *const ::windows::core::GUID, ppfence: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
1021 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1022 let this = (*this).get_impl();
1023 this.CreateFence(::core::mem::transmute_copy(&initialvalue), ::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&returnedinterface), ::core::mem::transmute_copy(&ppfence)).into()
1024 }
1025 Self {
1026 base__: ID3D11Device4_Vtbl::new::<Identity, Impl, OFFSET>(),
1027 OpenSharedFence: OpenSharedFence::<Identity, Impl, OFFSET>,
1028 CreateFence: CreateFence::<Identity, Impl, OFFSET>,
1029 }
1030 }
1031 pub fn matches(iid: &windows::core::GUID) -> bool {
1032 iid == &<ID3D11Device5 as ::windows::core::ComInterface>::IID || iid == &<ID3D11Device as ::windows::core::ComInterface>::IID || iid == &<ID3D11Device1 as ::windows::core::ComInterface>::IID || iid == &<ID3D11Device2 as ::windows::core::ComInterface>::IID || iid == &<ID3D11Device3 as ::windows::core::ComInterface>::IID || iid == &<ID3D11Device4 as ::windows::core::ComInterface>::IID
1033 }
1034}
1035#[doc = "*Required features: `\"Win32_Graphics_Direct3D11\"`, `\"implement\"`*"]
1036pub trait ID3D11DeviceChild_Impl: Sized {
1037 fn GetDevice(&self, ppdevice: *mut ::core::option::Option<ID3D11Device>) -> ();
1038 fn GetPrivateData(&self, guid: *const ::windows::core::GUID, pdatasize: *mut u32, pdata: *mut ::core::ffi::c_void) -> ::windows::core::Result<()>;
1039 fn SetPrivateData(&self, guid: *const ::windows::core::GUID, datasize: u32, pdata: *const ::core::ffi::c_void) -> ::windows::core::Result<()>;
1040 fn SetPrivateDataInterface(&self, guid: *const ::windows::core::GUID, pdata: ::core::option::Option<&::windows::core::IUnknown>) -> ::windows::core::Result<()>;
1041}
1042impl ::windows::core::RuntimeName for ID3D11DeviceChild {}
1043impl ID3D11DeviceChild_Vtbl {
1044 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DeviceChild_Impl, const OFFSET: isize>() -> ID3D11DeviceChild_Vtbl {
1045 unsafe extern "system" fn GetDevice<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DeviceChild_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppdevice: *mut *mut ::core::ffi::c_void) {
1046 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1047 let this = (*this).get_impl();
1048 this.GetDevice(::core::mem::transmute_copy(&ppdevice))
1049 }
1050 unsafe extern "system" fn GetPrivateData<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DeviceChild_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, guid: *const ::windows::core::GUID, pdatasize: *mut u32, pdata: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
1051 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1052 let this = (*this).get_impl();
1053 this.GetPrivateData(::core::mem::transmute_copy(&guid), ::core::mem::transmute_copy(&pdatasize), ::core::mem::transmute_copy(&pdata)).into()
1054 }
1055 unsafe extern "system" fn SetPrivateData<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DeviceChild_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, guid: *const ::windows::core::GUID, datasize: u32, pdata: *const ::core::ffi::c_void) -> ::windows::core::HRESULT {
1056 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1057 let this = (*this).get_impl();
1058 this.SetPrivateData(::core::mem::transmute_copy(&guid), ::core::mem::transmute_copy(&datasize), ::core::mem::transmute_copy(&pdata)).into()
1059 }
1060 unsafe extern "system" fn SetPrivateDataInterface<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DeviceChild_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, guid: *const ::windows::core::GUID, pdata: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
1061 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1062 let this = (*this).get_impl();
1063 this.SetPrivateDataInterface(::core::mem::transmute_copy(&guid), ::windows::core::from_raw_borrowed(&pdata)).into()
1064 }
1065 Self {
1066 base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
1067 GetDevice: GetDevice::<Identity, Impl, OFFSET>,
1068 GetPrivateData: GetPrivateData::<Identity, Impl, OFFSET>,
1069 SetPrivateData: SetPrivateData::<Identity, Impl, OFFSET>,
1070 SetPrivateDataInterface: SetPrivateDataInterface::<Identity, Impl, OFFSET>,
1071 }
1072 }
1073 pub fn matches(iid: &windows::core::GUID) -> bool {
1074 iid == &<ID3D11DeviceChild as ::windows::core::ComInterface>::IID
1075 }
1076}
1077#[doc = "*Required features: `\"Win32_Graphics_Direct3D11\"`, `\"Win32_Foundation\"`, `\"Win32_Graphics_Direct3D\"`, `\"Win32_Graphics_Dxgi_Common\"`, `\"implement\"`*"]
1078#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D", feature = "Win32_Graphics_Dxgi_Common"))]
1079pub trait ID3D11DeviceContext_Impl: Sized + ID3D11DeviceChild_Impl {
1080 fn VSSetConstantBuffers(&self, startslot: u32, numbuffers: u32, ppconstantbuffers: *const ::core::option::Option<ID3D11Buffer>);
1081 fn PSSetShaderResources(&self, startslot: u32, numviews: u32, ppshaderresourceviews: *const ::core::option::Option<ID3D11ShaderResourceView>);
1082 fn PSSetShader(&self, ppixelshader: ::core::option::Option<&ID3D11PixelShader>, ppclassinstances: *const ::core::option::Option<ID3D11ClassInstance>, numclassinstances: u32);
1083 fn PSSetSamplers(&self, startslot: u32, numsamplers: u32, ppsamplers: *const ::core::option::Option<ID3D11SamplerState>);
1084 fn VSSetShader(&self, pvertexshader: ::core::option::Option<&ID3D11VertexShader>, ppclassinstances: *const ::core::option::Option<ID3D11ClassInstance>, numclassinstances: u32);
1085 fn DrawIndexed(&self, indexcount: u32, startindexlocation: u32, basevertexlocation: i32);
1086 fn Draw(&self, vertexcount: u32, startvertexlocation: u32);
1087 fn Map(&self, presource: ::core::option::Option<&ID3D11Resource>, subresource: u32, maptype: D3D11_MAP, mapflags: u32, pmappedresource: *mut D3D11_MAPPED_SUBRESOURCE) -> ::windows::core::Result<()>;
1088 fn Unmap(&self, presource: ::core::option::Option<&ID3D11Resource>, subresource: u32);
1089 fn PSSetConstantBuffers(&self, startslot: u32, numbuffers: u32, ppconstantbuffers: *const ::core::option::Option<ID3D11Buffer>);
1090 fn IASetInputLayout(&self, pinputlayout: ::core::option::Option<&ID3D11InputLayout>);
1091 fn IASetVertexBuffers(&self, startslot: u32, numbuffers: u32, ppvertexbuffers: *const ::core::option::Option<ID3D11Buffer>, pstrides: *const u32, poffsets: *const u32);
1092 fn IASetIndexBuffer(&self, pindexbuffer: ::core::option::Option<&ID3D11Buffer>, format: super::Dxgi::Common::DXGI_FORMAT, offset: u32);
1093 fn DrawIndexedInstanced(&self, indexcountperinstance: u32, instancecount: u32, startindexlocation: u32, basevertexlocation: i32, startinstancelocation: u32);
1094 fn DrawInstanced(&self, vertexcountperinstance: u32, instancecount: u32, startvertexlocation: u32, startinstancelocation: u32);
1095 fn GSSetConstantBuffers(&self, startslot: u32, numbuffers: u32, ppconstantbuffers: *const ::core::option::Option<ID3D11Buffer>);
1096 fn GSSetShader(&self, pshader: ::core::option::Option<&ID3D11GeometryShader>, ppclassinstances: *const ::core::option::Option<ID3D11ClassInstance>, numclassinstances: u32);
1097 fn IASetPrimitiveTopology(&self, topology: super::Direct3D::D3D_PRIMITIVE_TOPOLOGY);
1098 fn VSSetShaderResources(&self, startslot: u32, numviews: u32, ppshaderresourceviews: *const ::core::option::Option<ID3D11ShaderResourceView>);
1099 fn VSSetSamplers(&self, startslot: u32, numsamplers: u32, ppsamplers: *const ::core::option::Option<ID3D11SamplerState>);
1100 fn Begin(&self, pasync: ::core::option::Option<&ID3D11Asynchronous>);
1101 fn End(&self, pasync: ::core::option::Option<&ID3D11Asynchronous>);
1102 fn GetData(&self, pasync: ::core::option::Option<&ID3D11Asynchronous>, pdata: *mut ::core::ffi::c_void, datasize: u32, getdataflags: u32) -> ::windows::core::Result<()>;
1103 fn SetPredication(&self, ppredicate: ::core::option::Option<&ID3D11Predicate>, predicatevalue: super::super::Foundation::BOOL);
1104 fn GSSetShaderResources(&self, startslot: u32, numviews: u32, ppshaderresourceviews: *const ::core::option::Option<ID3D11ShaderResourceView>);
1105 fn GSSetSamplers(&self, startslot: u32, numsamplers: u32, ppsamplers: *const ::core::option::Option<ID3D11SamplerState>);
1106 fn OMSetRenderTargets(&self, numviews: u32, pprendertargetviews: *const ::core::option::Option<ID3D11RenderTargetView>, pdepthstencilview: ::core::option::Option<&ID3D11DepthStencilView>);
1107 fn OMSetRenderTargetsAndUnorderedAccessViews(&self, numrtvs: u32, pprendertargetviews: *const ::core::option::Option<ID3D11RenderTargetView>, pdepthstencilview: ::core::option::Option<&ID3D11DepthStencilView>, uavstartslot: u32, numuavs: u32, ppunorderedaccessviews: *const ::core::option::Option<ID3D11UnorderedAccessView>, puavinitialcounts: *const u32);
1108 fn OMSetBlendState(&self, pblendstate: ::core::option::Option<&ID3D11BlendState>, blendfactor: *const f32, samplemask: u32);
1109 fn OMSetDepthStencilState(&self, pdepthstencilstate: ::core::option::Option<&ID3D11DepthStencilState>, stencilref: u32);
1110 fn SOSetTargets(&self, numbuffers: u32, ppsotargets: *const ::core::option::Option<ID3D11Buffer>, poffsets: *const u32);
1111 fn DrawAuto(&self);
1112 fn DrawIndexedInstancedIndirect(&self, pbufferforargs: ::core::option::Option<&ID3D11Buffer>, alignedbyteoffsetforargs: u32);
1113 fn DrawInstancedIndirect(&self, pbufferforargs: ::core::option::Option<&ID3D11Buffer>, alignedbyteoffsetforargs: u32);
1114 fn Dispatch(&self, threadgroupcountx: u32, threadgroupcounty: u32, threadgroupcountz: u32);
1115 fn DispatchIndirect(&self, pbufferforargs: ::core::option::Option<&ID3D11Buffer>, alignedbyteoffsetforargs: u32);
1116 fn RSSetState(&self, prasterizerstate: ::core::option::Option<&ID3D11RasterizerState>);
1117 fn RSSetViewports(&self, numviewports: u32, pviewports: *const D3D11_VIEWPORT);
1118 fn RSSetScissorRects(&self, numrects: u32, prects: *const super::super::Foundation::RECT);
1119 fn CopySubresourceRegion(&self, pdstresource: ::core::option::Option<&ID3D11Resource>, dstsubresource: u32, dstx: u32, dsty: u32, dstz: u32, psrcresource: ::core::option::Option<&ID3D11Resource>, srcsubresource: u32, psrcbox: *const D3D11_BOX);
1120 fn CopyResource(&self, pdstresource: ::core::option::Option<&ID3D11Resource>, psrcresource: ::core::option::Option<&ID3D11Resource>);
1121 fn UpdateSubresource(&self, pdstresource: ::core::option::Option<&ID3D11Resource>, dstsubresource: u32, pdstbox: *const D3D11_BOX, psrcdata: *const ::core::ffi::c_void, srcrowpitch: u32, srcdepthpitch: u32);
1122 fn CopyStructureCount(&self, pdstbuffer: ::core::option::Option<&ID3D11Buffer>, dstalignedbyteoffset: u32, psrcview: ::core::option::Option<&ID3D11UnorderedAccessView>);
1123 fn ClearRenderTargetView(&self, prendertargetview: ::core::option::Option<&ID3D11RenderTargetView>, colorrgba: *const f32);
1124 fn ClearUnorderedAccessViewUint(&self, punorderedaccessview: ::core::option::Option<&ID3D11UnorderedAccessView>, values: *const u32);
1125 fn ClearUnorderedAccessViewFloat(&self, punorderedaccessview: ::core::option::Option<&ID3D11UnorderedAccessView>, values: *const f32);
1126 fn ClearDepthStencilView(&self, pdepthstencilview: ::core::option::Option<&ID3D11DepthStencilView>, clearflags: u32, depth: f32, stencil: u8);
1127 fn GenerateMips(&self, pshaderresourceview: ::core::option::Option<&ID3D11ShaderResourceView>);
1128 fn SetResourceMinLOD(&self, presource: ::core::option::Option<&ID3D11Resource>, minlod: f32);
1129 fn GetResourceMinLOD(&self, presource: ::core::option::Option<&ID3D11Resource>) -> f32;
1130 fn ResolveSubresource(&self, pdstresource: ::core::option::Option<&ID3D11Resource>, dstsubresource: u32, psrcresource: ::core::option::Option<&ID3D11Resource>, srcsubresource: u32, format: super::Dxgi::Common::DXGI_FORMAT);
1131 fn ExecuteCommandList(&self, pcommandlist: ::core::option::Option<&ID3D11CommandList>, restorecontextstate: super::super::Foundation::BOOL);
1132 fn HSSetShaderResources(&self, startslot: u32, numviews: u32, ppshaderresourceviews: *const ::core::option::Option<ID3D11ShaderResourceView>);
1133 fn HSSetShader(&self, phullshader: ::core::option::Option<&ID3D11HullShader>, ppclassinstances: *const ::core::option::Option<ID3D11ClassInstance>, numclassinstances: u32);
1134 fn HSSetSamplers(&self, startslot: u32, numsamplers: u32, ppsamplers: *const ::core::option::Option<ID3D11SamplerState>);
1135 fn HSSetConstantBuffers(&self, startslot: u32, numbuffers: u32, ppconstantbuffers: *const ::core::option::Option<ID3D11Buffer>);
1136 fn DSSetShaderResources(&self, startslot: u32, numviews: u32, ppshaderresourceviews: *const ::core::option::Option<ID3D11ShaderResourceView>);
1137 fn DSSetShader(&self, pdomainshader: ::core::option::Option<&ID3D11DomainShader>, ppclassinstances: *const ::core::option::Option<ID3D11ClassInstance>, numclassinstances: u32);
1138 fn DSSetSamplers(&self, startslot: u32, numsamplers: u32, ppsamplers: *const ::core::option::Option<ID3D11SamplerState>);
1139 fn DSSetConstantBuffers(&self, startslot: u32, numbuffers: u32, ppconstantbuffers: *const ::core::option::Option<ID3D11Buffer>);
1140 fn CSSetShaderResources(&self, startslot: u32, numviews: u32, ppshaderresourceviews: *const ::core::option::Option<ID3D11ShaderResourceView>);
1141 fn CSSetUnorderedAccessViews(&self, startslot: u32, numuavs: u32, ppunorderedaccessviews: *const ::core::option::Option<ID3D11UnorderedAccessView>, puavinitialcounts: *const u32);
1142 fn CSSetShader(&self, pcomputeshader: ::core::option::Option<&ID3D11ComputeShader>, ppclassinstances: *const ::core::option::Option<ID3D11ClassInstance>, numclassinstances: u32);
1143 fn CSSetSamplers(&self, startslot: u32, numsamplers: u32, ppsamplers: *const ::core::option::Option<ID3D11SamplerState>);
1144 fn CSSetConstantBuffers(&self, startslot: u32, numbuffers: u32, ppconstantbuffers: *const ::core::option::Option<ID3D11Buffer>);
1145 fn VSGetConstantBuffers(&self, startslot: u32, numbuffers: u32, ppconstantbuffers: *mut ::core::option::Option<ID3D11Buffer>);
1146 fn PSGetShaderResources(&self, startslot: u32, numviews: u32, ppshaderresourceviews: *mut ::core::option::Option<ID3D11ShaderResourceView>);
1147 fn PSGetShader(&self, pppixelshader: *mut ::core::option::Option<ID3D11PixelShader>, ppclassinstances: *mut ::core::option::Option<ID3D11ClassInstance>, pnumclassinstances: *mut u32);
1148 fn PSGetSamplers(&self, startslot: u32, numsamplers: u32, ppsamplers: *mut ::core::option::Option<ID3D11SamplerState>);
1149 fn VSGetShader(&self, ppvertexshader: *mut ::core::option::Option<ID3D11VertexShader>, ppclassinstances: *mut ::core::option::Option<ID3D11ClassInstance>, pnumclassinstances: *mut u32);
1150 fn PSGetConstantBuffers(&self, startslot: u32, numbuffers: u32, ppconstantbuffers: *mut ::core::option::Option<ID3D11Buffer>);
1151 fn IAGetInputLayout(&self, ppinputlayout: *mut ::core::option::Option<ID3D11InputLayout>) -> ();
1152 fn IAGetVertexBuffers(&self, startslot: u32, numbuffers: u32, ppvertexbuffers: *mut ::core::option::Option<ID3D11Buffer>, pstrides: *mut u32, poffsets: *mut u32);
1153 fn IAGetIndexBuffer(&self, pindexbuffer: *mut ::core::option::Option<ID3D11Buffer>, format: *mut super::Dxgi::Common::DXGI_FORMAT, offset: *mut u32);
1154 fn GSGetConstantBuffers(&self, startslot: u32, numbuffers: u32, ppconstantbuffers: *mut ::core::option::Option<ID3D11Buffer>);
1155 fn GSGetShader(&self, ppgeometryshader: *mut ::core::option::Option<ID3D11GeometryShader>, ppclassinstances: *mut ::core::option::Option<ID3D11ClassInstance>, pnumclassinstances: *mut u32);
1156 fn IAGetPrimitiveTopology(&self, ptopology: *mut super::Direct3D::D3D_PRIMITIVE_TOPOLOGY) -> ();
1157 fn VSGetShaderResources(&self, startslot: u32, numviews: u32, ppshaderresourceviews: *mut ::core::option::Option<ID3D11ShaderResourceView>);
1158 fn VSGetSamplers(&self, startslot: u32, numsamplers: u32, ppsamplers: *mut ::core::option::Option<ID3D11SamplerState>);
1159 fn GetPredication(&self, pppredicate: *mut ::core::option::Option<ID3D11Predicate>, ppredicatevalue: *mut super::super::Foundation::BOOL);
1160 fn GSGetShaderResources(&self, startslot: u32, numviews: u32, ppshaderresourceviews: *mut ::core::option::Option<ID3D11ShaderResourceView>);
1161 fn GSGetSamplers(&self, startslot: u32, numsamplers: u32, ppsamplers: *mut ::core::option::Option<ID3D11SamplerState>);
1162 fn OMGetRenderTargets(&self, numviews: u32, pprendertargetviews: *mut ::core::option::Option<ID3D11RenderTargetView>, ppdepthstencilview: *mut ::core::option::Option<ID3D11DepthStencilView>);
1163 fn OMGetRenderTargetsAndUnorderedAccessViews(&self, numrtvs: u32, pprendertargetviews: *mut ::core::option::Option<ID3D11RenderTargetView>, ppdepthstencilview: *mut ::core::option::Option<ID3D11DepthStencilView>, uavstartslot: u32, numuavs: u32, ppunorderedaccessviews: *mut ::core::option::Option<ID3D11UnorderedAccessView>);
1164 fn OMGetBlendState(&self, ppblendstate: *mut ::core::option::Option<ID3D11BlendState>, blendfactor: *mut f32, psamplemask: *mut u32);
1165 fn OMGetDepthStencilState(&self, ppdepthstencilstate: *mut ::core::option::Option<ID3D11DepthStencilState>, pstencilref: *mut u32);
1166 fn SOGetTargets(&self, numbuffers: u32, ppsotargets: *mut ::core::option::Option<ID3D11Buffer>);
1167 fn RSGetState(&self, pprasterizerstate: *mut ::core::option::Option<ID3D11RasterizerState>) -> ();
1168 fn RSGetViewports(&self, pnumviewports: *mut u32, pviewports: *mut D3D11_VIEWPORT);
1169 fn RSGetScissorRects(&self, pnumrects: *mut u32, prects: *mut super::super::Foundation::RECT);
1170 fn HSGetShaderResources(&self, startslot: u32, numviews: u32, ppshaderresourceviews: *mut ::core::option::Option<ID3D11ShaderResourceView>);
1171 fn HSGetShader(&self, pphullshader: *mut ::core::option::Option<ID3D11HullShader>, ppclassinstances: *mut ::core::option::Option<ID3D11ClassInstance>, pnumclassinstances: *mut u32);
1172 fn HSGetSamplers(&self, startslot: u32, numsamplers: u32, ppsamplers: *mut ::core::option::Option<ID3D11SamplerState>);
1173 fn HSGetConstantBuffers(&self, startslot: u32, numbuffers: u32, ppconstantbuffers: *mut ::core::option::Option<ID3D11Buffer>);
1174 fn DSGetShaderResources(&self, startslot: u32, numviews: u32, ppshaderresourceviews: *mut ::core::option::Option<ID3D11ShaderResourceView>);
1175 fn DSGetShader(&self, ppdomainshader: *mut ::core::option::Option<ID3D11DomainShader>, ppclassinstances: *mut ::core::option::Option<ID3D11ClassInstance>, pnumclassinstances: *mut u32);
1176 fn DSGetSamplers(&self, startslot: u32, numsamplers: u32, ppsamplers: *mut ::core::option::Option<ID3D11SamplerState>);
1177 fn DSGetConstantBuffers(&self, startslot: u32, numbuffers: u32, ppconstantbuffers: *mut ::core::option::Option<ID3D11Buffer>);
1178 fn CSGetShaderResources(&self, startslot: u32, numviews: u32, ppshaderresourceviews: *mut ::core::option::Option<ID3D11ShaderResourceView>);
1179 fn CSGetUnorderedAccessViews(&self, startslot: u32, numuavs: u32, ppunorderedaccessviews: *mut ::core::option::Option<ID3D11UnorderedAccessView>);
1180 fn CSGetShader(&self, ppcomputeshader: *mut ::core::option::Option<ID3D11ComputeShader>, ppclassinstances: *mut ::core::option::Option<ID3D11ClassInstance>, pnumclassinstances: *mut u32);
1181 fn CSGetSamplers(&self, startslot: u32, numsamplers: u32, ppsamplers: *mut ::core::option::Option<ID3D11SamplerState>);
1182 fn CSGetConstantBuffers(&self, startslot: u32, numbuffers: u32, ppconstantbuffers: *mut ::core::option::Option<ID3D11Buffer>);
1183 fn ClearState(&self);
1184 fn Flush(&self);
1185 fn GetType(&self) -> D3D11_DEVICE_CONTEXT_TYPE;
1186 fn GetContextFlags(&self) -> u32;
1187 fn FinishCommandList(&self, restoredeferredcontextstate: super::super::Foundation::BOOL, ppcommandlist: *mut ::core::option::Option<ID3D11CommandList>) -> ::windows::core::Result<()>;
1188}
1189#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D", feature = "Win32_Graphics_Dxgi_Common"))]
1190impl ::windows::core::RuntimeName for ID3D11DeviceContext {}
1191#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D", feature = "Win32_Graphics_Dxgi_Common"))]
1192impl ID3D11DeviceContext_Vtbl {
1193 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DeviceContext_Impl, const OFFSET: isize>() -> ID3D11DeviceContext_Vtbl {
1194 unsafe extern "system" fn VSSetConstantBuffers<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DeviceContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, startslot: u32, numbuffers: u32, ppconstantbuffers: *const *mut ::core::ffi::c_void) {
1195 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1196 let this = (*this).get_impl();
1197 this.VSSetConstantBuffers(::core::mem::transmute_copy(&startslot), ::core::mem::transmute_copy(&numbuffers), ::core::mem::transmute_copy(&ppconstantbuffers))
1198 }
1199 unsafe extern "system" fn PSSetShaderResources<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DeviceContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, startslot: u32, numviews: u32, ppshaderresourceviews: *const *mut ::core::ffi::c_void) {
1200 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1201 let this = (*this).get_impl();
1202 this.PSSetShaderResources(::core::mem::transmute_copy(&startslot), ::core::mem::transmute_copy(&numviews), ::core::mem::transmute_copy(&ppshaderresourceviews))
1203 }
1204 unsafe extern "system" fn PSSetShader<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DeviceContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppixelshader: *mut ::core::ffi::c_void, ppclassinstances: *const *mut ::core::ffi::c_void, numclassinstances: u32) {
1205 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1206 let this = (*this).get_impl();
1207 this.PSSetShader(::windows::core::from_raw_borrowed(&ppixelshader), ::core::mem::transmute_copy(&ppclassinstances), ::core::mem::transmute_copy(&numclassinstances))
1208 }
1209 unsafe extern "system" fn PSSetSamplers<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DeviceContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, startslot: u32, numsamplers: u32, ppsamplers: *const *mut ::core::ffi::c_void) {
1210 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1211 let this = (*this).get_impl();
1212 this.PSSetSamplers(::core::mem::transmute_copy(&startslot), ::core::mem::transmute_copy(&numsamplers), ::core::mem::transmute_copy(&ppsamplers))
1213 }
1214 unsafe extern "system" fn VSSetShader<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DeviceContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvertexshader: *mut ::core::ffi::c_void, ppclassinstances: *const *mut ::core::ffi::c_void, numclassinstances: u32) {
1215 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1216 let this = (*this).get_impl();
1217 this.VSSetShader(::windows::core::from_raw_borrowed(&pvertexshader), ::core::mem::transmute_copy(&ppclassinstances), ::core::mem::transmute_copy(&numclassinstances))
1218 }
1219 unsafe extern "system" fn DrawIndexed<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DeviceContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, indexcount: u32, startindexlocation: u32, basevertexlocation: i32) {
1220 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1221 let this = (*this).get_impl();
1222 this.DrawIndexed(::core::mem::transmute_copy(&indexcount), ::core::mem::transmute_copy(&startindexlocation), ::core::mem::transmute_copy(&basevertexlocation))
1223 }
1224 unsafe extern "system" fn Draw<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DeviceContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, vertexcount: u32, startvertexlocation: u32) {
1225 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1226 let this = (*this).get_impl();
1227 this.Draw(::core::mem::transmute_copy(&vertexcount), ::core::mem::transmute_copy(&startvertexlocation))
1228 }
1229 unsafe extern "system" fn Map<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DeviceContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, presource: *mut ::core::ffi::c_void, subresource: u32, maptype: D3D11_MAP, mapflags: u32, pmappedresource: *mut D3D11_MAPPED_SUBRESOURCE) -> ::windows::core::HRESULT {
1230 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1231 let this = (*this).get_impl();
1232 this.Map(::windows::core::from_raw_borrowed(&presource), ::core::mem::transmute_copy(&subresource), ::core::mem::transmute_copy(&maptype), ::core::mem::transmute_copy(&mapflags), ::core::mem::transmute_copy(&pmappedresource)).into()
1233 }
1234 unsafe extern "system" fn Unmap<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DeviceContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, presource: *mut ::core::ffi::c_void, subresource: u32) {
1235 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1236 let this = (*this).get_impl();
1237 this.Unmap(::windows::core::from_raw_borrowed(&presource), ::core::mem::transmute_copy(&subresource))
1238 }
1239 unsafe extern "system" fn PSSetConstantBuffers<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DeviceContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, startslot: u32, numbuffers: u32, ppconstantbuffers: *const *mut ::core::ffi::c_void) {
1240 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1241 let this = (*this).get_impl();
1242 this.PSSetConstantBuffers(::core::mem::transmute_copy(&startslot), ::core::mem::transmute_copy(&numbuffers), ::core::mem::transmute_copy(&ppconstantbuffers))
1243 }
1244 unsafe extern "system" fn IASetInputLayout<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DeviceContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pinputlayout: *mut ::core::ffi::c_void) {
1245 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1246 let this = (*this).get_impl();
1247 this.IASetInputLayout(::windows::core::from_raw_borrowed(&pinputlayout))
1248 }
1249 unsafe extern "system" fn IASetVertexBuffers<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DeviceContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, startslot: u32, numbuffers: u32, ppvertexbuffers: *const *mut ::core::ffi::c_void, pstrides: *const u32, poffsets: *const u32) {
1250 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1251 let this = (*this).get_impl();
1252 this.IASetVertexBuffers(::core::mem::transmute_copy(&startslot), ::core::mem::transmute_copy(&numbuffers), ::core::mem::transmute_copy(&ppvertexbuffers), ::core::mem::transmute_copy(&pstrides), ::core::mem::transmute_copy(&poffsets))
1253 }
1254 unsafe extern "system" fn IASetIndexBuffer<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DeviceContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pindexbuffer: *mut ::core::ffi::c_void, format: super::Dxgi::Common::DXGI_FORMAT, offset: u32) {
1255 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1256 let this = (*this).get_impl();
1257 this.IASetIndexBuffer(::windows::core::from_raw_borrowed(&pindexbuffer), ::core::mem::transmute_copy(&format), ::core::mem::transmute_copy(&offset))
1258 }
1259 unsafe extern "system" fn DrawIndexedInstanced<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DeviceContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, indexcountperinstance: u32, instancecount: u32, startindexlocation: u32, basevertexlocation: i32, startinstancelocation: u32) {
1260 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1261 let this = (*this).get_impl();
1262 this.DrawIndexedInstanced(::core::mem::transmute_copy(&indexcountperinstance), ::core::mem::transmute_copy(&instancecount), ::core::mem::transmute_copy(&startindexlocation), ::core::mem::transmute_copy(&basevertexlocation), ::core::mem::transmute_copy(&startinstancelocation))
1263 }
1264 unsafe extern "system" fn DrawInstanced<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DeviceContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, vertexcountperinstance: u32, instancecount: u32, startvertexlocation: u32, startinstancelocation: u32) {
1265 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1266 let this = (*this).get_impl();
1267 this.DrawInstanced(::core::mem::transmute_copy(&vertexcountperinstance), ::core::mem::transmute_copy(&instancecount), ::core::mem::transmute_copy(&startvertexlocation), ::core::mem::transmute_copy(&startinstancelocation))
1268 }
1269 unsafe extern "system" fn GSSetConstantBuffers<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DeviceContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, startslot: u32, numbuffers: u32, ppconstantbuffers: *const *mut ::core::ffi::c_void) {
1270 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1271 let this = (*this).get_impl();
1272 this.GSSetConstantBuffers(::core::mem::transmute_copy(&startslot), ::core::mem::transmute_copy(&numbuffers), ::core::mem::transmute_copy(&ppconstantbuffers))
1273 }
1274 unsafe extern "system" fn GSSetShader<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DeviceContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pshader: *mut ::core::ffi::c_void, ppclassinstances: *const *mut ::core::ffi::c_void, numclassinstances: u32) {
1275 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1276 let this = (*this).get_impl();
1277 this.GSSetShader(::windows::core::from_raw_borrowed(&pshader), ::core::mem::transmute_copy(&ppclassinstances), ::core::mem::transmute_copy(&numclassinstances))
1278 }
1279 unsafe extern "system" fn IASetPrimitiveTopology<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DeviceContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, topology: super::Direct3D::D3D_PRIMITIVE_TOPOLOGY) {
1280 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1281 let this = (*this).get_impl();
1282 this.IASetPrimitiveTopology(::core::mem::transmute_copy(&topology))
1283 }
1284 unsafe extern "system" fn VSSetShaderResources<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DeviceContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, startslot: u32, numviews: u32, ppshaderresourceviews: *const *mut ::core::ffi::c_void) {
1285 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1286 let this = (*this).get_impl();
1287 this.VSSetShaderResources(::core::mem::transmute_copy(&startslot), ::core::mem::transmute_copy(&numviews), ::core::mem::transmute_copy(&ppshaderresourceviews))
1288 }
1289 unsafe extern "system" fn VSSetSamplers<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DeviceContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, startslot: u32, numsamplers: u32, ppsamplers: *const *mut ::core::ffi::c_void) {
1290 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1291 let this = (*this).get_impl();
1292 this.VSSetSamplers(::core::mem::transmute_copy(&startslot), ::core::mem::transmute_copy(&numsamplers), ::core::mem::transmute_copy(&ppsamplers))
1293 }
1294 unsafe extern "system" fn Begin<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DeviceContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pasync: *mut ::core::ffi::c_void) {
1295 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1296 let this = (*this).get_impl();
1297 this.Begin(::windows::core::from_raw_borrowed(&pasync))
1298 }
1299 unsafe extern "system" fn End<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DeviceContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pasync: *mut ::core::ffi::c_void) {
1300 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1301 let this = (*this).get_impl();
1302 this.End(::windows::core::from_raw_borrowed(&pasync))
1303 }
1304 unsafe extern "system" fn GetData<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DeviceContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pasync: *mut ::core::ffi::c_void, pdata: *mut ::core::ffi::c_void, datasize: u32, getdataflags: u32) -> ::windows::core::HRESULT {
1305 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1306 let this = (*this).get_impl();
1307 this.GetData(::windows::core::from_raw_borrowed(&pasync), ::core::mem::transmute_copy(&pdata), ::core::mem::transmute_copy(&datasize), ::core::mem::transmute_copy(&getdataflags)).into()
1308 }
1309 unsafe extern "system" fn SetPredication<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DeviceContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppredicate: *mut ::core::ffi::c_void, predicatevalue: super::super::Foundation::BOOL) {
1310 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1311 let this = (*this).get_impl();
1312 this.SetPredication(::windows::core::from_raw_borrowed(&ppredicate), ::core::mem::transmute_copy(&predicatevalue))
1313 }
1314 unsafe extern "system" fn GSSetShaderResources<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DeviceContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, startslot: u32, numviews: u32, ppshaderresourceviews: *const *mut ::core::ffi::c_void) {
1315 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1316 let this = (*this).get_impl();
1317 this.GSSetShaderResources(::core::mem::transmute_copy(&startslot), ::core::mem::transmute_copy(&numviews), ::core::mem::transmute_copy(&ppshaderresourceviews))
1318 }
1319 unsafe extern "system" fn GSSetSamplers<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DeviceContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, startslot: u32, numsamplers: u32, ppsamplers: *const *mut ::core::ffi::c_void) {
1320 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1321 let this = (*this).get_impl();
1322 this.GSSetSamplers(::core::mem::transmute_copy(&startslot), ::core::mem::transmute_copy(&numsamplers), ::core::mem::transmute_copy(&ppsamplers))
1323 }
1324 unsafe extern "system" fn OMSetRenderTargets<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DeviceContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, numviews: u32, pprendertargetviews: *const *mut ::core::ffi::c_void, pdepthstencilview: *mut ::core::ffi::c_void) {
1325 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1326 let this = (*this).get_impl();
1327 this.OMSetRenderTargets(::core::mem::transmute_copy(&numviews), ::core::mem::transmute_copy(&pprendertargetviews), ::windows::core::from_raw_borrowed(&pdepthstencilview))
1328 }
1329 unsafe extern "system" fn OMSetRenderTargetsAndUnorderedAccessViews<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DeviceContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, numrtvs: u32, pprendertargetviews: *const *mut ::core::ffi::c_void, pdepthstencilview: *mut ::core::ffi::c_void, uavstartslot: u32, numuavs: u32, ppunorderedaccessviews: *const *mut ::core::ffi::c_void, puavinitialcounts: *const u32) {
1330 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1331 let this = (*this).get_impl();
1332 this.OMSetRenderTargetsAndUnorderedAccessViews(::core::mem::transmute_copy(&numrtvs), ::core::mem::transmute_copy(&pprendertargetviews), ::windows::core::from_raw_borrowed(&pdepthstencilview), ::core::mem::transmute_copy(&uavstartslot), ::core::mem::transmute_copy(&numuavs), ::core::mem::transmute_copy(&ppunorderedaccessviews), ::core::mem::transmute_copy(&puavinitialcounts))
1333 }
1334 unsafe extern "system" fn OMSetBlendState<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DeviceContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pblendstate: *mut ::core::ffi::c_void, blendfactor: *const f32, samplemask: u32) {
1335 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1336 let this = (*this).get_impl();
1337 this.OMSetBlendState(::windows::core::from_raw_borrowed(&pblendstate), ::core::mem::transmute_copy(&blendfactor), ::core::mem::transmute_copy(&samplemask))
1338 }
1339 unsafe extern "system" fn OMSetDepthStencilState<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DeviceContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdepthstencilstate: *mut ::core::ffi::c_void, stencilref: u32) {
1340 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1341 let this = (*this).get_impl();
1342 this.OMSetDepthStencilState(::windows::core::from_raw_borrowed(&pdepthstencilstate), ::core::mem::transmute_copy(&stencilref))
1343 }
1344 unsafe extern "system" fn SOSetTargets<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DeviceContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, numbuffers: u32, ppsotargets: *const *mut ::core::ffi::c_void, poffsets: *const u32) {
1345 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1346 let this = (*this).get_impl();
1347 this.SOSetTargets(::core::mem::transmute_copy(&numbuffers), ::core::mem::transmute_copy(&ppsotargets), ::core::mem::transmute_copy(&poffsets))
1348 }
1349 unsafe extern "system" fn DrawAuto<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DeviceContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) {
1350 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1351 let this = (*this).get_impl();
1352 this.DrawAuto()
1353 }
1354 unsafe extern "system" fn DrawIndexedInstancedIndirect<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DeviceContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbufferforargs: *mut ::core::ffi::c_void, alignedbyteoffsetforargs: u32) {
1355 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1356 let this = (*this).get_impl();
1357 this.DrawIndexedInstancedIndirect(::windows::core::from_raw_borrowed(&pbufferforargs), ::core::mem::transmute_copy(&alignedbyteoffsetforargs))
1358 }
1359 unsafe extern "system" fn DrawInstancedIndirect<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DeviceContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbufferforargs: *mut ::core::ffi::c_void, alignedbyteoffsetforargs: u32) {
1360 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1361 let this = (*this).get_impl();
1362 this.DrawInstancedIndirect(::windows::core::from_raw_borrowed(&pbufferforargs), ::core::mem::transmute_copy(&alignedbyteoffsetforargs))
1363 }
1364 unsafe extern "system" fn Dispatch<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DeviceContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, threadgroupcountx: u32, threadgroupcounty: u32, threadgroupcountz: u32) {
1365 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1366 let this = (*this).get_impl();
1367 this.Dispatch(::core::mem::transmute_copy(&threadgroupcountx), ::core::mem::transmute_copy(&threadgroupcounty), ::core::mem::transmute_copy(&threadgroupcountz))
1368 }
1369 unsafe extern "system" fn DispatchIndirect<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DeviceContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbufferforargs: *mut ::core::ffi::c_void, alignedbyteoffsetforargs: u32) {
1370 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1371 let this = (*this).get_impl();
1372 this.DispatchIndirect(::windows::core::from_raw_borrowed(&pbufferforargs), ::core::mem::transmute_copy(&alignedbyteoffsetforargs))
1373 }
1374 unsafe extern "system" fn RSSetState<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DeviceContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, prasterizerstate: *mut ::core::ffi::c_void) {
1375 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1376 let this = (*this).get_impl();
1377 this.RSSetState(::windows::core::from_raw_borrowed(&prasterizerstate))
1378 }
1379 unsafe extern "system" fn RSSetViewports<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DeviceContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, numviewports: u32, pviewports: *const D3D11_VIEWPORT) {
1380 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1381 let this = (*this).get_impl();
1382 this.RSSetViewports(::core::mem::transmute_copy(&numviewports), ::core::mem::transmute_copy(&pviewports))
1383 }
1384 unsafe extern "system" fn RSSetScissorRects<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DeviceContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, numrects: u32, prects: *const super::super::Foundation::RECT) {
1385 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1386 let this = (*this).get_impl();
1387 this.RSSetScissorRects(::core::mem::transmute_copy(&numrects), ::core::mem::transmute_copy(&prects))
1388 }
1389 unsafe extern "system" fn CopySubresourceRegion<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DeviceContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdstresource: *mut ::core::ffi::c_void, dstsubresource: u32, dstx: u32, dsty: u32, dstz: u32, psrcresource: *mut ::core::ffi::c_void, srcsubresource: u32, psrcbox: *const D3D11_BOX) {
1390 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1391 let this = (*this).get_impl();
1392 this.CopySubresourceRegion(::windows::core::from_raw_borrowed(&pdstresource), ::core::mem::transmute_copy(&dstsubresource), ::core::mem::transmute_copy(&dstx), ::core::mem::transmute_copy(&dsty), ::core::mem::transmute_copy(&dstz), ::windows::core::from_raw_borrowed(&psrcresource), ::core::mem::transmute_copy(&srcsubresource), ::core::mem::transmute_copy(&psrcbox))
1393 }
1394 unsafe extern "system" fn CopyResource<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DeviceContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdstresource: *mut ::core::ffi::c_void, psrcresource: *mut ::core::ffi::c_void) {
1395 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1396 let this = (*this).get_impl();
1397 this.CopyResource(::windows::core::from_raw_borrowed(&pdstresource), ::windows::core::from_raw_borrowed(&psrcresource))
1398 }
1399 unsafe extern "system" fn UpdateSubresource<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DeviceContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdstresource: *mut ::core::ffi::c_void, dstsubresource: u32, pdstbox: *const D3D11_BOX, psrcdata: *const ::core::ffi::c_void, srcrowpitch: u32, srcdepthpitch: u32) {
1400 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1401 let this = (*this).get_impl();
1402 this.UpdateSubresource(::windows::core::from_raw_borrowed(&pdstresource), ::core::mem::transmute_copy(&dstsubresource), ::core::mem::transmute_copy(&pdstbox), ::core::mem::transmute_copy(&psrcdata), ::core::mem::transmute_copy(&srcrowpitch), ::core::mem::transmute_copy(&srcdepthpitch))
1403 }
1404 unsafe extern "system" fn CopyStructureCount<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DeviceContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdstbuffer: *mut ::core::ffi::c_void, dstalignedbyteoffset: u32, psrcview: *mut ::core::ffi::c_void) {
1405 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1406 let this = (*this).get_impl();
1407 this.CopyStructureCount(::windows::core::from_raw_borrowed(&pdstbuffer), ::core::mem::transmute_copy(&dstalignedbyteoffset), ::windows::core::from_raw_borrowed(&psrcview))
1408 }
1409 unsafe extern "system" fn ClearRenderTargetView<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DeviceContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, prendertargetview: *mut ::core::ffi::c_void, colorrgba: *const f32) {
1410 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1411 let this = (*this).get_impl();
1412 this.ClearRenderTargetView(::windows::core::from_raw_borrowed(&prendertargetview), ::core::mem::transmute_copy(&colorrgba))
1413 }
1414 unsafe extern "system" fn ClearUnorderedAccessViewUint<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DeviceContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, punorderedaccessview: *mut ::core::ffi::c_void, values: *const u32) {
1415 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1416 let this = (*this).get_impl();
1417 this.ClearUnorderedAccessViewUint(::windows::core::from_raw_borrowed(&punorderedaccessview), ::core::mem::transmute_copy(&values))
1418 }
1419 unsafe extern "system" fn ClearUnorderedAccessViewFloat<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DeviceContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, punorderedaccessview: *mut ::core::ffi::c_void, values: *const f32) {
1420 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1421 let this = (*this).get_impl();
1422 this.ClearUnorderedAccessViewFloat(::windows::core::from_raw_borrowed(&punorderedaccessview), ::core::mem::transmute_copy(&values))
1423 }
1424 unsafe extern "system" fn ClearDepthStencilView<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DeviceContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdepthstencilview: *mut ::core::ffi::c_void, clearflags: u32, depth: f32, stencil: u8) {
1425 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1426 let this = (*this).get_impl();
1427 this.ClearDepthStencilView(::windows::core::from_raw_borrowed(&pdepthstencilview), ::core::mem::transmute_copy(&clearflags), ::core::mem::transmute_copy(&depth), ::core::mem::transmute_copy(&stencil))
1428 }
1429 unsafe extern "system" fn GenerateMips<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DeviceContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pshaderresourceview: *mut ::core::ffi::c_void) {
1430 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1431 let this = (*this).get_impl();
1432 this.GenerateMips(::windows::core::from_raw_borrowed(&pshaderresourceview))
1433 }
1434 unsafe extern "system" fn SetResourceMinLOD<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DeviceContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, presource: *mut ::core::ffi::c_void, minlod: f32) {
1435 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1436 let this = (*this).get_impl();
1437 this.SetResourceMinLOD(::windows::core::from_raw_borrowed(&presource), ::core::mem::transmute_copy(&minlod))
1438 }
1439 unsafe extern "system" fn GetResourceMinLOD<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DeviceContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, presource: *mut ::core::ffi::c_void) -> f32 {
1440 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1441 let this = (*this).get_impl();
1442 this.GetResourceMinLOD(::windows::core::from_raw_borrowed(&presource))
1443 }
1444 unsafe extern "system" fn ResolveSubresource<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DeviceContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdstresource: *mut ::core::ffi::c_void, dstsubresource: u32, psrcresource: *mut ::core::ffi::c_void, srcsubresource: u32, format: super::Dxgi::Common::DXGI_FORMAT) {
1445 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1446 let this = (*this).get_impl();
1447 this.ResolveSubresource(::windows::core::from_raw_borrowed(&pdstresource), ::core::mem::transmute_copy(&dstsubresource), ::windows::core::from_raw_borrowed(&psrcresource), ::core::mem::transmute_copy(&srcsubresource), ::core::mem::transmute_copy(&format))
1448 }
1449 unsafe extern "system" fn ExecuteCommandList<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DeviceContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pcommandlist: *mut ::core::ffi::c_void, restorecontextstate: super::super::Foundation::BOOL) {
1450 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1451 let this = (*this).get_impl();
1452 this.ExecuteCommandList(::windows::core::from_raw_borrowed(&pcommandlist), ::core::mem::transmute_copy(&restorecontextstate))
1453 }
1454 unsafe extern "system" fn HSSetShaderResources<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DeviceContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, startslot: u32, numviews: u32, ppshaderresourceviews: *const *mut ::core::ffi::c_void) {
1455 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1456 let this = (*this).get_impl();
1457 this.HSSetShaderResources(::core::mem::transmute_copy(&startslot), ::core::mem::transmute_copy(&numviews), ::core::mem::transmute_copy(&ppshaderresourceviews))
1458 }
1459 unsafe extern "system" fn HSSetShader<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DeviceContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, phullshader: *mut ::core::ffi::c_void, ppclassinstances: *const *mut ::core::ffi::c_void, numclassinstances: u32) {
1460 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1461 let this = (*this).get_impl();
1462 this.HSSetShader(::windows::core::from_raw_borrowed(&phullshader), ::core::mem::transmute_copy(&ppclassinstances), ::core::mem::transmute_copy(&numclassinstances))
1463 }
1464 unsafe extern "system" fn HSSetSamplers<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DeviceContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, startslot: u32, numsamplers: u32, ppsamplers: *const *mut ::core::ffi::c_void) {
1465 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1466 let this = (*this).get_impl();
1467 this.HSSetSamplers(::core::mem::transmute_copy(&startslot), ::core::mem::transmute_copy(&numsamplers), ::core::mem::transmute_copy(&ppsamplers))
1468 }
1469 unsafe extern "system" fn HSSetConstantBuffers<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DeviceContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, startslot: u32, numbuffers: u32, ppconstantbuffers: *const *mut ::core::ffi::c_void) {
1470 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1471 let this = (*this).get_impl();
1472 this.HSSetConstantBuffers(::core::mem::transmute_copy(&startslot), ::core::mem::transmute_copy(&numbuffers), ::core::mem::transmute_copy(&ppconstantbuffers))
1473 }
1474 unsafe extern "system" fn DSSetShaderResources<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DeviceContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, startslot: u32, numviews: u32, ppshaderresourceviews: *const *mut ::core::ffi::c_void) {
1475 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1476 let this = (*this).get_impl();
1477 this.DSSetShaderResources(::core::mem::transmute_copy(&startslot), ::core::mem::transmute_copy(&numviews), ::core::mem::transmute_copy(&ppshaderresourceviews))
1478 }
1479 unsafe extern "system" fn DSSetShader<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DeviceContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdomainshader: *mut ::core::ffi::c_void, ppclassinstances: *const *mut ::core::ffi::c_void, numclassinstances: u32) {
1480 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1481 let this = (*this).get_impl();
1482 this.DSSetShader(::windows::core::from_raw_borrowed(&pdomainshader), ::core::mem::transmute_copy(&ppclassinstances), ::core::mem::transmute_copy(&numclassinstances))
1483 }
1484 unsafe extern "system" fn DSSetSamplers<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DeviceContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, startslot: u32, numsamplers: u32, ppsamplers: *const *mut ::core::ffi::c_void) {
1485 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1486 let this = (*this).get_impl();
1487 this.DSSetSamplers(::core::mem::transmute_copy(&startslot), ::core::mem::transmute_copy(&numsamplers), ::core::mem::transmute_copy(&ppsamplers))
1488 }
1489 unsafe extern "system" fn DSSetConstantBuffers<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DeviceContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, startslot: u32, numbuffers: u32, ppconstantbuffers: *const *mut ::core::ffi::c_void) {
1490 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1491 let this = (*this).get_impl();
1492 this.DSSetConstantBuffers(::core::mem::transmute_copy(&startslot), ::core::mem::transmute_copy(&numbuffers), ::core::mem::transmute_copy(&ppconstantbuffers))
1493 }
1494 unsafe extern "system" fn CSSetShaderResources<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DeviceContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, startslot: u32, numviews: u32, ppshaderresourceviews: *const *mut ::core::ffi::c_void) {
1495 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1496 let this = (*this).get_impl();
1497 this.CSSetShaderResources(::core::mem::transmute_copy(&startslot), ::core::mem::transmute_copy(&numviews), ::core::mem::transmute_copy(&ppshaderresourceviews))
1498 }
1499 unsafe extern "system" fn CSSetUnorderedAccessViews<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DeviceContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, startslot: u32, numuavs: u32, ppunorderedaccessviews: *const *mut ::core::ffi::c_void, puavinitialcounts: *const u32) {
1500 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1501 let this = (*this).get_impl();
1502 this.CSSetUnorderedAccessViews(::core::mem::transmute_copy(&startslot), ::core::mem::transmute_copy(&numuavs), ::core::mem::transmute_copy(&ppunorderedaccessviews), ::core::mem::transmute_copy(&puavinitialcounts))
1503 }
1504 unsafe extern "system" fn CSSetShader<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DeviceContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pcomputeshader: *mut ::core::ffi::c_void, ppclassinstances: *const *mut ::core::ffi::c_void, numclassinstances: u32) {
1505 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1506 let this = (*this).get_impl();
1507 this.CSSetShader(::windows::core::from_raw_borrowed(&pcomputeshader), ::core::mem::transmute_copy(&ppclassinstances), ::core::mem::transmute_copy(&numclassinstances))
1508 }
1509 unsafe extern "system" fn CSSetSamplers<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DeviceContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, startslot: u32, numsamplers: u32, ppsamplers: *const *mut ::core::ffi::c_void) {
1510 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1511 let this = (*this).get_impl();
1512 this.CSSetSamplers(::core::mem::transmute_copy(&startslot), ::core::mem::transmute_copy(&numsamplers), ::core::mem::transmute_copy(&ppsamplers))
1513 }
1514 unsafe extern "system" fn CSSetConstantBuffers<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DeviceContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, startslot: u32, numbuffers: u32, ppconstantbuffers: *const *mut ::core::ffi::c_void) {
1515 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1516 let this = (*this).get_impl();
1517 this.CSSetConstantBuffers(::core::mem::transmute_copy(&startslot), ::core::mem::transmute_copy(&numbuffers), ::core::mem::transmute_copy(&ppconstantbuffers))
1518 }
1519 unsafe extern "system" fn VSGetConstantBuffers<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DeviceContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, startslot: u32, numbuffers: u32, ppconstantbuffers: *mut *mut ::core::ffi::c_void) {
1520 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1521 let this = (*this).get_impl();
1522 this.VSGetConstantBuffers(::core::mem::transmute_copy(&startslot), ::core::mem::transmute_copy(&numbuffers), ::core::mem::transmute_copy(&ppconstantbuffers))
1523 }
1524 unsafe extern "system" fn PSGetShaderResources<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DeviceContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, startslot: u32, numviews: u32, ppshaderresourceviews: *mut *mut ::core::ffi::c_void) {
1525 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1526 let this = (*this).get_impl();
1527 this.PSGetShaderResources(::core::mem::transmute_copy(&startslot), ::core::mem::transmute_copy(&numviews), ::core::mem::transmute_copy(&ppshaderresourceviews))
1528 }
1529 unsafe extern "system" fn PSGetShader<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DeviceContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pppixelshader: *mut *mut ::core::ffi::c_void, ppclassinstances: *mut *mut ::core::ffi::c_void, pnumclassinstances: *mut u32) {
1530 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1531 let this = (*this).get_impl();
1532 this.PSGetShader(::core::mem::transmute_copy(&pppixelshader), ::core::mem::transmute_copy(&ppclassinstances), ::core::mem::transmute_copy(&pnumclassinstances))
1533 }
1534 unsafe extern "system" fn PSGetSamplers<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DeviceContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, startslot: u32, numsamplers: u32, ppsamplers: *mut *mut ::core::ffi::c_void) {
1535 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1536 let this = (*this).get_impl();
1537 this.PSGetSamplers(::core::mem::transmute_copy(&startslot), ::core::mem::transmute_copy(&numsamplers), ::core::mem::transmute_copy(&ppsamplers))
1538 }
1539 unsafe extern "system" fn VSGetShader<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DeviceContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppvertexshader: *mut *mut ::core::ffi::c_void, ppclassinstances: *mut *mut ::core::ffi::c_void, pnumclassinstances: *mut u32) {
1540 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1541 let this = (*this).get_impl();
1542 this.VSGetShader(::core::mem::transmute_copy(&ppvertexshader), ::core::mem::transmute_copy(&ppclassinstances), ::core::mem::transmute_copy(&pnumclassinstances))
1543 }
1544 unsafe extern "system" fn PSGetConstantBuffers<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DeviceContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, startslot: u32, numbuffers: u32, ppconstantbuffers: *mut *mut ::core::ffi::c_void) {
1545 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1546 let this = (*this).get_impl();
1547 this.PSGetConstantBuffers(::core::mem::transmute_copy(&startslot), ::core::mem::transmute_copy(&numbuffers), ::core::mem::transmute_copy(&ppconstantbuffers))
1548 }
1549 unsafe extern "system" fn IAGetInputLayout<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DeviceContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppinputlayout: *mut *mut ::core::ffi::c_void) {
1550 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1551 let this = (*this).get_impl();
1552 this.IAGetInputLayout(::core::mem::transmute_copy(&ppinputlayout))
1553 }
1554 unsafe extern "system" fn IAGetVertexBuffers<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DeviceContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, startslot: u32, numbuffers: u32, ppvertexbuffers: *mut *mut ::core::ffi::c_void, pstrides: *mut u32, poffsets: *mut u32) {
1555 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1556 let this = (*this).get_impl();
1557 this.IAGetVertexBuffers(::core::mem::transmute_copy(&startslot), ::core::mem::transmute_copy(&numbuffers), ::core::mem::transmute_copy(&ppvertexbuffers), ::core::mem::transmute_copy(&pstrides), ::core::mem::transmute_copy(&poffsets))
1558 }
1559 unsafe extern "system" fn IAGetIndexBuffer<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DeviceContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pindexbuffer: *mut *mut ::core::ffi::c_void, format: *mut super::Dxgi::Common::DXGI_FORMAT, offset: *mut u32) {
1560 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1561 let this = (*this).get_impl();
1562 this.IAGetIndexBuffer(::core::mem::transmute_copy(&pindexbuffer), ::core::mem::transmute_copy(&format), ::core::mem::transmute_copy(&offset))
1563 }
1564 unsafe extern "system" fn GSGetConstantBuffers<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DeviceContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, startslot: u32, numbuffers: u32, ppconstantbuffers: *mut *mut ::core::ffi::c_void) {
1565 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1566 let this = (*this).get_impl();
1567 this.GSGetConstantBuffers(::core::mem::transmute_copy(&startslot), ::core::mem::transmute_copy(&numbuffers), ::core::mem::transmute_copy(&ppconstantbuffers))
1568 }
1569 unsafe extern "system" fn GSGetShader<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DeviceContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppgeometryshader: *mut *mut ::core::ffi::c_void, ppclassinstances: *mut *mut ::core::ffi::c_void, pnumclassinstances: *mut u32) {
1570 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1571 let this = (*this).get_impl();
1572 this.GSGetShader(::core::mem::transmute_copy(&ppgeometryshader), ::core::mem::transmute_copy(&ppclassinstances), ::core::mem::transmute_copy(&pnumclassinstances))
1573 }
1574 unsafe extern "system" fn IAGetPrimitiveTopology<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DeviceContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ptopology: *mut super::Direct3D::D3D_PRIMITIVE_TOPOLOGY) {
1575 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1576 let this = (*this).get_impl();
1577 this.IAGetPrimitiveTopology(::core::mem::transmute_copy(&ptopology))
1578 }
1579 unsafe extern "system" fn VSGetShaderResources<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DeviceContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, startslot: u32, numviews: u32, ppshaderresourceviews: *mut *mut ::core::ffi::c_void) {
1580 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1581 let this = (*this).get_impl();
1582 this.VSGetShaderResources(::core::mem::transmute_copy(&startslot), ::core::mem::transmute_copy(&numviews), ::core::mem::transmute_copy(&ppshaderresourceviews))
1583 }
1584 unsafe extern "system" fn VSGetSamplers<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DeviceContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, startslot: u32, numsamplers: u32, ppsamplers: *mut *mut ::core::ffi::c_void) {
1585 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1586 let this = (*this).get_impl();
1587 this.VSGetSamplers(::core::mem::transmute_copy(&startslot), ::core::mem::transmute_copy(&numsamplers), ::core::mem::transmute_copy(&ppsamplers))
1588 }
1589 unsafe extern "system" fn GetPredication<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DeviceContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pppredicate: *mut *mut ::core::ffi::c_void, ppredicatevalue: *mut super::super::Foundation::BOOL) {
1590 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1591 let this = (*this).get_impl();
1592 this.GetPredication(::core::mem::transmute_copy(&pppredicate), ::core::mem::transmute_copy(&ppredicatevalue))
1593 }
1594 unsafe extern "system" fn GSGetShaderResources<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DeviceContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, startslot: u32, numviews: u32, ppshaderresourceviews: *mut *mut ::core::ffi::c_void) {
1595 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1596 let this = (*this).get_impl();
1597 this.GSGetShaderResources(::core::mem::transmute_copy(&startslot), ::core::mem::transmute_copy(&numviews), ::core::mem::transmute_copy(&ppshaderresourceviews))
1598 }
1599 unsafe extern "system" fn GSGetSamplers<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DeviceContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, startslot: u32, numsamplers: u32, ppsamplers: *mut *mut ::core::ffi::c_void) {
1600 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1601 let this = (*this).get_impl();
1602 this.GSGetSamplers(::core::mem::transmute_copy(&startslot), ::core::mem::transmute_copy(&numsamplers), ::core::mem::transmute_copy(&ppsamplers))
1603 }
1604 unsafe extern "system" fn OMGetRenderTargets<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DeviceContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, numviews: u32, pprendertargetviews: *mut *mut ::core::ffi::c_void, ppdepthstencilview: *mut *mut ::core::ffi::c_void) {
1605 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1606 let this = (*this).get_impl();
1607 this.OMGetRenderTargets(::core::mem::transmute_copy(&numviews), ::core::mem::transmute_copy(&pprendertargetviews), ::core::mem::transmute_copy(&ppdepthstencilview))
1608 }
1609 unsafe extern "system" fn OMGetRenderTargetsAndUnorderedAccessViews<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DeviceContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, numrtvs: u32, pprendertargetviews: *mut *mut ::core::ffi::c_void, ppdepthstencilview: *mut *mut ::core::ffi::c_void, uavstartslot: u32, numuavs: u32, ppunorderedaccessviews: *mut *mut ::core::ffi::c_void) {
1610 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1611 let this = (*this).get_impl();
1612 this.OMGetRenderTargetsAndUnorderedAccessViews(::core::mem::transmute_copy(&numrtvs), ::core::mem::transmute_copy(&pprendertargetviews), ::core::mem::transmute_copy(&ppdepthstencilview), ::core::mem::transmute_copy(&uavstartslot), ::core::mem::transmute_copy(&numuavs), ::core::mem::transmute_copy(&ppunorderedaccessviews))
1613 }
1614 unsafe extern "system" fn OMGetBlendState<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DeviceContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppblendstate: *mut *mut ::core::ffi::c_void, blendfactor: *mut f32, psamplemask: *mut u32) {
1615 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1616 let this = (*this).get_impl();
1617 this.OMGetBlendState(::core::mem::transmute_copy(&ppblendstate), ::core::mem::transmute_copy(&blendfactor), ::core::mem::transmute_copy(&psamplemask))
1618 }
1619 unsafe extern "system" fn OMGetDepthStencilState<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DeviceContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppdepthstencilstate: *mut *mut ::core::ffi::c_void, pstencilref: *mut u32) {
1620 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1621 let this = (*this).get_impl();
1622 this.OMGetDepthStencilState(::core::mem::transmute_copy(&ppdepthstencilstate), ::core::mem::transmute_copy(&pstencilref))
1623 }
1624 unsafe extern "system" fn SOGetTargets<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DeviceContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, numbuffers: u32, ppsotargets: *mut *mut ::core::ffi::c_void) {
1625 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1626 let this = (*this).get_impl();
1627 this.SOGetTargets(::core::mem::transmute_copy(&numbuffers), ::core::mem::transmute_copy(&ppsotargets))
1628 }
1629 unsafe extern "system" fn RSGetState<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DeviceContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pprasterizerstate: *mut *mut ::core::ffi::c_void) {
1630 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1631 let this = (*this).get_impl();
1632 this.RSGetState(::core::mem::transmute_copy(&pprasterizerstate))
1633 }
1634 unsafe extern "system" fn RSGetViewports<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DeviceContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pnumviewports: *mut u32, pviewports: *mut D3D11_VIEWPORT) {
1635 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1636 let this = (*this).get_impl();
1637 this.RSGetViewports(::core::mem::transmute_copy(&pnumviewports), ::core::mem::transmute_copy(&pviewports))
1638 }
1639 unsafe extern "system" fn RSGetScissorRects<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DeviceContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pnumrects: *mut u32, prects: *mut super::super::Foundation::RECT) {
1640 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1641 let this = (*this).get_impl();
1642 this.RSGetScissorRects(::core::mem::transmute_copy(&pnumrects), ::core::mem::transmute_copy(&prects))
1643 }
1644 unsafe extern "system" fn HSGetShaderResources<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DeviceContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, startslot: u32, numviews: u32, ppshaderresourceviews: *mut *mut ::core::ffi::c_void) {
1645 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1646 let this = (*this).get_impl();
1647 this.HSGetShaderResources(::core::mem::transmute_copy(&startslot), ::core::mem::transmute_copy(&numviews), ::core::mem::transmute_copy(&ppshaderresourceviews))
1648 }
1649 unsafe extern "system" fn HSGetShader<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DeviceContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pphullshader: *mut *mut ::core::ffi::c_void, ppclassinstances: *mut *mut ::core::ffi::c_void, pnumclassinstances: *mut u32) {
1650 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1651 let this = (*this).get_impl();
1652 this.HSGetShader(::core::mem::transmute_copy(&pphullshader), ::core::mem::transmute_copy(&ppclassinstances), ::core::mem::transmute_copy(&pnumclassinstances))
1653 }
1654 unsafe extern "system" fn HSGetSamplers<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DeviceContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, startslot: u32, numsamplers: u32, ppsamplers: *mut *mut ::core::ffi::c_void) {
1655 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1656 let this = (*this).get_impl();
1657 this.HSGetSamplers(::core::mem::transmute_copy(&startslot), ::core::mem::transmute_copy(&numsamplers), ::core::mem::transmute_copy(&ppsamplers))
1658 }
1659 unsafe extern "system" fn HSGetConstantBuffers<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DeviceContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, startslot: u32, numbuffers: u32, ppconstantbuffers: *mut *mut ::core::ffi::c_void) {
1660 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1661 let this = (*this).get_impl();
1662 this.HSGetConstantBuffers(::core::mem::transmute_copy(&startslot), ::core::mem::transmute_copy(&numbuffers), ::core::mem::transmute_copy(&ppconstantbuffers))
1663 }
1664 unsafe extern "system" fn DSGetShaderResources<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DeviceContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, startslot: u32, numviews: u32, ppshaderresourceviews: *mut *mut ::core::ffi::c_void) {
1665 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1666 let this = (*this).get_impl();
1667 this.DSGetShaderResources(::core::mem::transmute_copy(&startslot), ::core::mem::transmute_copy(&numviews), ::core::mem::transmute_copy(&ppshaderresourceviews))
1668 }
1669 unsafe extern "system" fn DSGetShader<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DeviceContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppdomainshader: *mut *mut ::core::ffi::c_void, ppclassinstances: *mut *mut ::core::ffi::c_void, pnumclassinstances: *mut u32) {
1670 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1671 let this = (*this).get_impl();
1672 this.DSGetShader(::core::mem::transmute_copy(&ppdomainshader), ::core::mem::transmute_copy(&ppclassinstances), ::core::mem::transmute_copy(&pnumclassinstances))
1673 }
1674 unsafe extern "system" fn DSGetSamplers<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DeviceContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, startslot: u32, numsamplers: u32, ppsamplers: *mut *mut ::core::ffi::c_void) {
1675 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1676 let this = (*this).get_impl();
1677 this.DSGetSamplers(::core::mem::transmute_copy(&startslot), ::core::mem::transmute_copy(&numsamplers), ::core::mem::transmute_copy(&ppsamplers))
1678 }
1679 unsafe extern "system" fn DSGetConstantBuffers<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DeviceContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, startslot: u32, numbuffers: u32, ppconstantbuffers: *mut *mut ::core::ffi::c_void) {
1680 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1681 let this = (*this).get_impl();
1682 this.DSGetConstantBuffers(::core::mem::transmute_copy(&startslot), ::core::mem::transmute_copy(&numbuffers), ::core::mem::transmute_copy(&ppconstantbuffers))
1683 }
1684 unsafe extern "system" fn CSGetShaderResources<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DeviceContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, startslot: u32, numviews: u32, ppshaderresourceviews: *mut *mut ::core::ffi::c_void) {
1685 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1686 let this = (*this).get_impl();
1687 this.CSGetShaderResources(::core::mem::transmute_copy(&startslot), ::core::mem::transmute_copy(&numviews), ::core::mem::transmute_copy(&ppshaderresourceviews))
1688 }
1689 unsafe extern "system" fn CSGetUnorderedAccessViews<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DeviceContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, startslot: u32, numuavs: u32, ppunorderedaccessviews: *mut *mut ::core::ffi::c_void) {
1690 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1691 let this = (*this).get_impl();
1692 this.CSGetUnorderedAccessViews(::core::mem::transmute_copy(&startslot), ::core::mem::transmute_copy(&numuavs), ::core::mem::transmute_copy(&ppunorderedaccessviews))
1693 }
1694 unsafe extern "system" fn CSGetShader<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DeviceContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppcomputeshader: *mut *mut ::core::ffi::c_void, ppclassinstances: *mut *mut ::core::ffi::c_void, pnumclassinstances: *mut u32) {
1695 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1696 let this = (*this).get_impl();
1697 this.CSGetShader(::core::mem::transmute_copy(&ppcomputeshader), ::core::mem::transmute_copy(&ppclassinstances), ::core::mem::transmute_copy(&pnumclassinstances))
1698 }
1699 unsafe extern "system" fn CSGetSamplers<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DeviceContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, startslot: u32, numsamplers: u32, ppsamplers: *mut *mut ::core::ffi::c_void) {
1700 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1701 let this = (*this).get_impl();
1702 this.CSGetSamplers(::core::mem::transmute_copy(&startslot), ::core::mem::transmute_copy(&numsamplers), ::core::mem::transmute_copy(&ppsamplers))
1703 }
1704 unsafe extern "system" fn CSGetConstantBuffers<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DeviceContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, startslot: u32, numbuffers: u32, ppconstantbuffers: *mut *mut ::core::ffi::c_void) {
1705 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1706 let this = (*this).get_impl();
1707 this.CSGetConstantBuffers(::core::mem::transmute_copy(&startslot), ::core::mem::transmute_copy(&numbuffers), ::core::mem::transmute_copy(&ppconstantbuffers))
1708 }
1709 unsafe extern "system" fn ClearState<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DeviceContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) {
1710 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1711 let this = (*this).get_impl();
1712 this.ClearState()
1713 }
1714 unsafe extern "system" fn Flush<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DeviceContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) {
1715 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1716 let this = (*this).get_impl();
1717 this.Flush()
1718 }
1719 unsafe extern "system" fn GetType<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DeviceContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> D3D11_DEVICE_CONTEXT_TYPE {
1720 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1721 let this = (*this).get_impl();
1722 this.GetType()
1723 }
1724 unsafe extern "system" fn GetContextFlags<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DeviceContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> u32 {
1725 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1726 let this = (*this).get_impl();
1727 this.GetContextFlags()
1728 }
1729 unsafe extern "system" fn FinishCommandList<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DeviceContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, restoredeferredcontextstate: super::super::Foundation::BOOL, ppcommandlist: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
1730 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1731 let this = (*this).get_impl();
1732 this.FinishCommandList(::core::mem::transmute_copy(&restoredeferredcontextstate), ::core::mem::transmute_copy(&ppcommandlist)).into()
1733 }
1734 Self {
1735 base__: ID3D11DeviceChild_Vtbl::new::<Identity, Impl, OFFSET>(),
1736 VSSetConstantBuffers: VSSetConstantBuffers::<Identity, Impl, OFFSET>,
1737 PSSetShaderResources: PSSetShaderResources::<Identity, Impl, OFFSET>,
1738 PSSetShader: PSSetShader::<Identity, Impl, OFFSET>,
1739 PSSetSamplers: PSSetSamplers::<Identity, Impl, OFFSET>,
1740 VSSetShader: VSSetShader::<Identity, Impl, OFFSET>,
1741 DrawIndexed: DrawIndexed::<Identity, Impl, OFFSET>,
1742 Draw: Draw::<Identity, Impl, OFFSET>,
1743 Map: Map::<Identity, Impl, OFFSET>,
1744 Unmap: Unmap::<Identity, Impl, OFFSET>,
1745 PSSetConstantBuffers: PSSetConstantBuffers::<Identity, Impl, OFFSET>,
1746 IASetInputLayout: IASetInputLayout::<Identity, Impl, OFFSET>,
1747 IASetVertexBuffers: IASetVertexBuffers::<Identity, Impl, OFFSET>,
1748 IASetIndexBuffer: IASetIndexBuffer::<Identity, Impl, OFFSET>,
1749 DrawIndexedInstanced: DrawIndexedInstanced::<Identity, Impl, OFFSET>,
1750 DrawInstanced: DrawInstanced::<Identity, Impl, OFFSET>,
1751 GSSetConstantBuffers: GSSetConstantBuffers::<Identity, Impl, OFFSET>,
1752 GSSetShader: GSSetShader::<Identity, Impl, OFFSET>,
1753 IASetPrimitiveTopology: IASetPrimitiveTopology::<Identity, Impl, OFFSET>,
1754 VSSetShaderResources: VSSetShaderResources::<Identity, Impl, OFFSET>,
1755 VSSetSamplers: VSSetSamplers::<Identity, Impl, OFFSET>,
1756 Begin: Begin::<Identity, Impl, OFFSET>,
1757 End: End::<Identity, Impl, OFFSET>,
1758 GetData: GetData::<Identity, Impl, OFFSET>,
1759 SetPredication: SetPredication::<Identity, Impl, OFFSET>,
1760 GSSetShaderResources: GSSetShaderResources::<Identity, Impl, OFFSET>,
1761 GSSetSamplers: GSSetSamplers::<Identity, Impl, OFFSET>,
1762 OMSetRenderTargets: OMSetRenderTargets::<Identity, Impl, OFFSET>,
1763 OMSetRenderTargetsAndUnorderedAccessViews: OMSetRenderTargetsAndUnorderedAccessViews::<Identity, Impl, OFFSET>,
1764 OMSetBlendState: OMSetBlendState::<Identity, Impl, OFFSET>,
1765 OMSetDepthStencilState: OMSetDepthStencilState::<Identity, Impl, OFFSET>,
1766 SOSetTargets: SOSetTargets::<Identity, Impl, OFFSET>,
1767 DrawAuto: DrawAuto::<Identity, Impl, OFFSET>,
1768 DrawIndexedInstancedIndirect: DrawIndexedInstancedIndirect::<Identity, Impl, OFFSET>,
1769 DrawInstancedIndirect: DrawInstancedIndirect::<Identity, Impl, OFFSET>,
1770 Dispatch: Dispatch::<Identity, Impl, OFFSET>,
1771 DispatchIndirect: DispatchIndirect::<Identity, Impl, OFFSET>,
1772 RSSetState: RSSetState::<Identity, Impl, OFFSET>,
1773 RSSetViewports: RSSetViewports::<Identity, Impl, OFFSET>,
1774 RSSetScissorRects: RSSetScissorRects::<Identity, Impl, OFFSET>,
1775 CopySubresourceRegion: CopySubresourceRegion::<Identity, Impl, OFFSET>,
1776 CopyResource: CopyResource::<Identity, Impl, OFFSET>,
1777 UpdateSubresource: UpdateSubresource::<Identity, Impl, OFFSET>,
1778 CopyStructureCount: CopyStructureCount::<Identity, Impl, OFFSET>,
1779 ClearRenderTargetView: ClearRenderTargetView::<Identity, Impl, OFFSET>,
1780 ClearUnorderedAccessViewUint: ClearUnorderedAccessViewUint::<Identity, Impl, OFFSET>,
1781 ClearUnorderedAccessViewFloat: ClearUnorderedAccessViewFloat::<Identity, Impl, OFFSET>,
1782 ClearDepthStencilView: ClearDepthStencilView::<Identity, Impl, OFFSET>,
1783 GenerateMips: GenerateMips::<Identity, Impl, OFFSET>,
1784 SetResourceMinLOD: SetResourceMinLOD::<Identity, Impl, OFFSET>,
1785 GetResourceMinLOD: GetResourceMinLOD::<Identity, Impl, OFFSET>,
1786 ResolveSubresource: ResolveSubresource::<Identity, Impl, OFFSET>,
1787 ExecuteCommandList: ExecuteCommandList::<Identity, Impl, OFFSET>,
1788 HSSetShaderResources: HSSetShaderResources::<Identity, Impl, OFFSET>,
1789 HSSetShader: HSSetShader::<Identity, Impl, OFFSET>,
1790 HSSetSamplers: HSSetSamplers::<Identity, Impl, OFFSET>,
1791 HSSetConstantBuffers: HSSetConstantBuffers::<Identity, Impl, OFFSET>,
1792 DSSetShaderResources: DSSetShaderResources::<Identity, Impl, OFFSET>,
1793 DSSetShader: DSSetShader::<Identity, Impl, OFFSET>,
1794 DSSetSamplers: DSSetSamplers::<Identity, Impl, OFFSET>,
1795 DSSetConstantBuffers: DSSetConstantBuffers::<Identity, Impl, OFFSET>,
1796 CSSetShaderResources: CSSetShaderResources::<Identity, Impl, OFFSET>,
1797 CSSetUnorderedAccessViews: CSSetUnorderedAccessViews::<Identity, Impl, OFFSET>,
1798 CSSetShader: CSSetShader::<Identity, Impl, OFFSET>,
1799 CSSetSamplers: CSSetSamplers::<Identity, Impl, OFFSET>,
1800 CSSetConstantBuffers: CSSetConstantBuffers::<Identity, Impl, OFFSET>,
1801 VSGetConstantBuffers: VSGetConstantBuffers::<Identity, Impl, OFFSET>,
1802 PSGetShaderResources: PSGetShaderResources::<Identity, Impl, OFFSET>,
1803 PSGetShader: PSGetShader::<Identity, Impl, OFFSET>,
1804 PSGetSamplers: PSGetSamplers::<Identity, Impl, OFFSET>,
1805 VSGetShader: VSGetShader::<Identity, Impl, OFFSET>,
1806 PSGetConstantBuffers: PSGetConstantBuffers::<Identity, Impl, OFFSET>,
1807 IAGetInputLayout: IAGetInputLayout::<Identity, Impl, OFFSET>,
1808 IAGetVertexBuffers: IAGetVertexBuffers::<Identity, Impl, OFFSET>,
1809 IAGetIndexBuffer: IAGetIndexBuffer::<Identity, Impl, OFFSET>,
1810 GSGetConstantBuffers: GSGetConstantBuffers::<Identity, Impl, OFFSET>,
1811 GSGetShader: GSGetShader::<Identity, Impl, OFFSET>,
1812 IAGetPrimitiveTopology: IAGetPrimitiveTopology::<Identity, Impl, OFFSET>,
1813 VSGetShaderResources: VSGetShaderResources::<Identity, Impl, OFFSET>,
1814 VSGetSamplers: VSGetSamplers::<Identity, Impl, OFFSET>,
1815 GetPredication: GetPredication::<Identity, Impl, OFFSET>,
1816 GSGetShaderResources: GSGetShaderResources::<Identity, Impl, OFFSET>,
1817 GSGetSamplers: GSGetSamplers::<Identity, Impl, OFFSET>,
1818 OMGetRenderTargets: OMGetRenderTargets::<Identity, Impl, OFFSET>,
1819 OMGetRenderTargetsAndUnorderedAccessViews: OMGetRenderTargetsAndUnorderedAccessViews::<Identity, Impl, OFFSET>,
1820 OMGetBlendState: OMGetBlendState::<Identity, Impl, OFFSET>,
1821 OMGetDepthStencilState: OMGetDepthStencilState::<Identity, Impl, OFFSET>,
1822 SOGetTargets: SOGetTargets::<Identity, Impl, OFFSET>,
1823 RSGetState: RSGetState::<Identity, Impl, OFFSET>,
1824 RSGetViewports: RSGetViewports::<Identity, Impl, OFFSET>,
1825 RSGetScissorRects: RSGetScissorRects::<Identity, Impl, OFFSET>,
1826 HSGetShaderResources: HSGetShaderResources::<Identity, Impl, OFFSET>,
1827 HSGetShader: HSGetShader::<Identity, Impl, OFFSET>,
1828 HSGetSamplers: HSGetSamplers::<Identity, Impl, OFFSET>,
1829 HSGetConstantBuffers: HSGetConstantBuffers::<Identity, Impl, OFFSET>,
1830 DSGetShaderResources: DSGetShaderResources::<Identity, Impl, OFFSET>,
1831 DSGetShader: DSGetShader::<Identity, Impl, OFFSET>,
1832 DSGetSamplers: DSGetSamplers::<Identity, Impl, OFFSET>,
1833 DSGetConstantBuffers: DSGetConstantBuffers::<Identity, Impl, OFFSET>,
1834 CSGetShaderResources: CSGetShaderResources::<Identity, Impl, OFFSET>,
1835 CSGetUnorderedAccessViews: CSGetUnorderedAccessViews::<Identity, Impl, OFFSET>,
1836 CSGetShader: CSGetShader::<Identity, Impl, OFFSET>,
1837 CSGetSamplers: CSGetSamplers::<Identity, Impl, OFFSET>,
1838 CSGetConstantBuffers: CSGetConstantBuffers::<Identity, Impl, OFFSET>,
1839 ClearState: ClearState::<Identity, Impl, OFFSET>,
1840 Flush: Flush::<Identity, Impl, OFFSET>,
1841 GetType: GetType::<Identity, Impl, OFFSET>,
1842 GetContextFlags: GetContextFlags::<Identity, Impl, OFFSET>,
1843 FinishCommandList: FinishCommandList::<Identity, Impl, OFFSET>,
1844 }
1845 }
1846 pub fn matches(iid: &windows::core::GUID) -> bool {
1847 iid == &<ID3D11DeviceContext as ::windows::core::ComInterface>::IID || iid == &<ID3D11DeviceChild as ::windows::core::ComInterface>::IID
1848 }
1849}
1850#[doc = "*Required features: `\"Win32_Graphics_Direct3D11\"`, `\"Win32_Foundation\"`, `\"Win32_Graphics_Direct3D\"`, `\"Win32_Graphics_Dxgi_Common\"`, `\"implement\"`*"]
1851#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D", feature = "Win32_Graphics_Dxgi_Common"))]
1852pub trait ID3D11DeviceContext1_Impl: Sized + ID3D11DeviceContext_Impl {
1853 fn CopySubresourceRegion1(&self, pdstresource: ::core::option::Option<&ID3D11Resource>, dstsubresource: u32, dstx: u32, dsty: u32, dstz: u32, psrcresource: ::core::option::Option<&ID3D11Resource>, srcsubresource: u32, psrcbox: *const D3D11_BOX, copyflags: u32);
1854 fn UpdateSubresource1(&self, pdstresource: ::core::option::Option<&ID3D11Resource>, dstsubresource: u32, pdstbox: *const D3D11_BOX, psrcdata: *const ::core::ffi::c_void, srcrowpitch: u32, srcdepthpitch: u32, copyflags: u32);
1855 fn DiscardResource(&self, presource: ::core::option::Option<&ID3D11Resource>);
1856 fn DiscardView(&self, presourceview: ::core::option::Option<&ID3D11View>);
1857 fn VSSetConstantBuffers1(&self, startslot: u32, numbuffers: u32, ppconstantbuffers: *const ::core::option::Option<ID3D11Buffer>, pfirstconstant: *const u32, pnumconstants: *const u32);
1858 fn HSSetConstantBuffers1(&self, startslot: u32, numbuffers: u32, ppconstantbuffers: *const ::core::option::Option<ID3D11Buffer>, pfirstconstant: *const u32, pnumconstants: *const u32);
1859 fn DSSetConstantBuffers1(&self, startslot: u32, numbuffers: u32, ppconstantbuffers: *const ::core::option::Option<ID3D11Buffer>, pfirstconstant: *const u32, pnumconstants: *const u32);
1860 fn GSSetConstantBuffers1(&self, startslot: u32, numbuffers: u32, ppconstantbuffers: *const ::core::option::Option<ID3D11Buffer>, pfirstconstant: *const u32, pnumconstants: *const u32);
1861 fn PSSetConstantBuffers1(&self, startslot: u32, numbuffers: u32, ppconstantbuffers: *const ::core::option::Option<ID3D11Buffer>, pfirstconstant: *const u32, pnumconstants: *const u32);
1862 fn CSSetConstantBuffers1(&self, startslot: u32, numbuffers: u32, ppconstantbuffers: *const ::core::option::Option<ID3D11Buffer>, pfirstconstant: *const u32, pnumconstants: *const u32);
1863 fn VSGetConstantBuffers1(&self, startslot: u32, numbuffers: u32, ppconstantbuffers: *mut ::core::option::Option<ID3D11Buffer>, pfirstconstant: *mut u32, pnumconstants: *mut u32);
1864 fn HSGetConstantBuffers1(&self, startslot: u32, numbuffers: u32, ppconstantbuffers: *mut ::core::option::Option<ID3D11Buffer>, pfirstconstant: *mut u32, pnumconstants: *mut u32);
1865 fn DSGetConstantBuffers1(&self, startslot: u32, numbuffers: u32, ppconstantbuffers: *mut ::core::option::Option<ID3D11Buffer>, pfirstconstant: *mut u32, pnumconstants: *mut u32);
1866 fn GSGetConstantBuffers1(&self, startslot: u32, numbuffers: u32, ppconstantbuffers: *mut ::core::option::Option<ID3D11Buffer>, pfirstconstant: *mut u32, pnumconstants: *mut u32);
1867 fn PSGetConstantBuffers1(&self, startslot: u32, numbuffers: u32, ppconstantbuffers: *mut ::core::option::Option<ID3D11Buffer>, pfirstconstant: *mut u32, pnumconstants: *mut u32);
1868 fn CSGetConstantBuffers1(&self, startslot: u32, numbuffers: u32, ppconstantbuffers: *mut ::core::option::Option<ID3D11Buffer>, pfirstconstant: *mut u32, pnumconstants: *mut u32);
1869 fn SwapDeviceContextState(&self, pstate: ::core::option::Option<&ID3DDeviceContextState>, pppreviousstate: *mut ::core::option::Option<ID3DDeviceContextState>);
1870 fn ClearView(&self, pview: ::core::option::Option<&ID3D11View>, color: *const f32, prect: *const super::super::Foundation::RECT, numrects: u32);
1871 fn DiscardView1(&self, presourceview: ::core::option::Option<&ID3D11View>, prects: *const super::super::Foundation::RECT, numrects: u32);
1872}
1873#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D", feature = "Win32_Graphics_Dxgi_Common"))]
1874impl ::windows::core::RuntimeName for ID3D11DeviceContext1 {}
1875#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D", feature = "Win32_Graphics_Dxgi_Common"))]
1876impl ID3D11DeviceContext1_Vtbl {
1877 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DeviceContext1_Impl, const OFFSET: isize>() -> ID3D11DeviceContext1_Vtbl {
1878 unsafe extern "system" fn CopySubresourceRegion1<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DeviceContext1_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdstresource: *mut ::core::ffi::c_void, dstsubresource: u32, dstx: u32, dsty: u32, dstz: u32, psrcresource: *mut ::core::ffi::c_void, srcsubresource: u32, psrcbox: *const D3D11_BOX, copyflags: u32) {
1879 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1880 let this = (*this).get_impl();
1881 this.CopySubresourceRegion1(::windows::core::from_raw_borrowed(&pdstresource), ::core::mem::transmute_copy(&dstsubresource), ::core::mem::transmute_copy(&dstx), ::core::mem::transmute_copy(&dsty), ::core::mem::transmute_copy(&dstz), ::windows::core::from_raw_borrowed(&psrcresource), ::core::mem::transmute_copy(&srcsubresource), ::core::mem::transmute_copy(&psrcbox), ::core::mem::transmute_copy(&copyflags))
1882 }
1883 unsafe extern "system" fn UpdateSubresource1<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DeviceContext1_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdstresource: *mut ::core::ffi::c_void, dstsubresource: u32, pdstbox: *const D3D11_BOX, psrcdata: *const ::core::ffi::c_void, srcrowpitch: u32, srcdepthpitch: u32, copyflags: u32) {
1884 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1885 let this = (*this).get_impl();
1886 this.UpdateSubresource1(::windows::core::from_raw_borrowed(&pdstresource), ::core::mem::transmute_copy(&dstsubresource), ::core::mem::transmute_copy(&pdstbox), ::core::mem::transmute_copy(&psrcdata), ::core::mem::transmute_copy(&srcrowpitch), ::core::mem::transmute_copy(&srcdepthpitch), ::core::mem::transmute_copy(&copyflags))
1887 }
1888 unsafe extern "system" fn DiscardResource<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DeviceContext1_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, presource: *mut ::core::ffi::c_void) {
1889 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1890 let this = (*this).get_impl();
1891 this.DiscardResource(::windows::core::from_raw_borrowed(&presource))
1892 }
1893 unsafe extern "system" fn DiscardView<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DeviceContext1_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, presourceview: *mut ::core::ffi::c_void) {
1894 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1895 let this = (*this).get_impl();
1896 this.DiscardView(::windows::core::from_raw_borrowed(&presourceview))
1897 }
1898 unsafe extern "system" fn VSSetConstantBuffers1<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DeviceContext1_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, startslot: u32, numbuffers: u32, ppconstantbuffers: *const *mut ::core::ffi::c_void, pfirstconstant: *const u32, pnumconstants: *const u32) {
1899 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1900 let this = (*this).get_impl();
1901 this.VSSetConstantBuffers1(::core::mem::transmute_copy(&startslot), ::core::mem::transmute_copy(&numbuffers), ::core::mem::transmute_copy(&ppconstantbuffers), ::core::mem::transmute_copy(&pfirstconstant), ::core::mem::transmute_copy(&pnumconstants))
1902 }
1903 unsafe extern "system" fn HSSetConstantBuffers1<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DeviceContext1_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, startslot: u32, numbuffers: u32, ppconstantbuffers: *const *mut ::core::ffi::c_void, pfirstconstant: *const u32, pnumconstants: *const u32) {
1904 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1905 let this = (*this).get_impl();
1906 this.HSSetConstantBuffers1(::core::mem::transmute_copy(&startslot), ::core::mem::transmute_copy(&numbuffers), ::core::mem::transmute_copy(&ppconstantbuffers), ::core::mem::transmute_copy(&pfirstconstant), ::core::mem::transmute_copy(&pnumconstants))
1907 }
1908 unsafe extern "system" fn DSSetConstantBuffers1<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DeviceContext1_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, startslot: u32, numbuffers: u32, ppconstantbuffers: *const *mut ::core::ffi::c_void, pfirstconstant: *const u32, pnumconstants: *const u32) {
1909 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1910 let this = (*this).get_impl();
1911 this.DSSetConstantBuffers1(::core::mem::transmute_copy(&startslot), ::core::mem::transmute_copy(&numbuffers), ::core::mem::transmute_copy(&ppconstantbuffers), ::core::mem::transmute_copy(&pfirstconstant), ::core::mem::transmute_copy(&pnumconstants))
1912 }
1913 unsafe extern "system" fn GSSetConstantBuffers1<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DeviceContext1_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, startslot: u32, numbuffers: u32, ppconstantbuffers: *const *mut ::core::ffi::c_void, pfirstconstant: *const u32, pnumconstants: *const u32) {
1914 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1915 let this = (*this).get_impl();
1916 this.GSSetConstantBuffers1(::core::mem::transmute_copy(&startslot), ::core::mem::transmute_copy(&numbuffers), ::core::mem::transmute_copy(&ppconstantbuffers), ::core::mem::transmute_copy(&pfirstconstant), ::core::mem::transmute_copy(&pnumconstants))
1917 }
1918 unsafe extern "system" fn PSSetConstantBuffers1<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DeviceContext1_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, startslot: u32, numbuffers: u32, ppconstantbuffers: *const *mut ::core::ffi::c_void, pfirstconstant: *const u32, pnumconstants: *const u32) {
1919 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1920 let this = (*this).get_impl();
1921 this.PSSetConstantBuffers1(::core::mem::transmute_copy(&startslot), ::core::mem::transmute_copy(&numbuffers), ::core::mem::transmute_copy(&ppconstantbuffers), ::core::mem::transmute_copy(&pfirstconstant), ::core::mem::transmute_copy(&pnumconstants))
1922 }
1923 unsafe extern "system" fn CSSetConstantBuffers1<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DeviceContext1_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, startslot: u32, numbuffers: u32, ppconstantbuffers: *const *mut ::core::ffi::c_void, pfirstconstant: *const u32, pnumconstants: *const u32) {
1924 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1925 let this = (*this).get_impl();
1926 this.CSSetConstantBuffers1(::core::mem::transmute_copy(&startslot), ::core::mem::transmute_copy(&numbuffers), ::core::mem::transmute_copy(&ppconstantbuffers), ::core::mem::transmute_copy(&pfirstconstant), ::core::mem::transmute_copy(&pnumconstants))
1927 }
1928 unsafe extern "system" fn VSGetConstantBuffers1<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DeviceContext1_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, startslot: u32, numbuffers: u32, ppconstantbuffers: *mut *mut ::core::ffi::c_void, pfirstconstant: *mut u32, pnumconstants: *mut u32) {
1929 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1930 let this = (*this).get_impl();
1931 this.VSGetConstantBuffers1(::core::mem::transmute_copy(&startslot), ::core::mem::transmute_copy(&numbuffers), ::core::mem::transmute_copy(&ppconstantbuffers), ::core::mem::transmute_copy(&pfirstconstant), ::core::mem::transmute_copy(&pnumconstants))
1932 }
1933 unsafe extern "system" fn HSGetConstantBuffers1<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DeviceContext1_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, startslot: u32, numbuffers: u32, ppconstantbuffers: *mut *mut ::core::ffi::c_void, pfirstconstant: *mut u32, pnumconstants: *mut u32) {
1934 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1935 let this = (*this).get_impl();
1936 this.HSGetConstantBuffers1(::core::mem::transmute_copy(&startslot), ::core::mem::transmute_copy(&numbuffers), ::core::mem::transmute_copy(&ppconstantbuffers), ::core::mem::transmute_copy(&pfirstconstant), ::core::mem::transmute_copy(&pnumconstants))
1937 }
1938 unsafe extern "system" fn DSGetConstantBuffers1<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DeviceContext1_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, startslot: u32, numbuffers: u32, ppconstantbuffers: *mut *mut ::core::ffi::c_void, pfirstconstant: *mut u32, pnumconstants: *mut u32) {
1939 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1940 let this = (*this).get_impl();
1941 this.DSGetConstantBuffers1(::core::mem::transmute_copy(&startslot), ::core::mem::transmute_copy(&numbuffers), ::core::mem::transmute_copy(&ppconstantbuffers), ::core::mem::transmute_copy(&pfirstconstant), ::core::mem::transmute_copy(&pnumconstants))
1942 }
1943 unsafe extern "system" fn GSGetConstantBuffers1<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DeviceContext1_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, startslot: u32, numbuffers: u32, ppconstantbuffers: *mut *mut ::core::ffi::c_void, pfirstconstant: *mut u32, pnumconstants: *mut u32) {
1944 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1945 let this = (*this).get_impl();
1946 this.GSGetConstantBuffers1(::core::mem::transmute_copy(&startslot), ::core::mem::transmute_copy(&numbuffers), ::core::mem::transmute_copy(&ppconstantbuffers), ::core::mem::transmute_copy(&pfirstconstant), ::core::mem::transmute_copy(&pnumconstants))
1947 }
1948 unsafe extern "system" fn PSGetConstantBuffers1<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DeviceContext1_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, startslot: u32, numbuffers: u32, ppconstantbuffers: *mut *mut ::core::ffi::c_void, pfirstconstant: *mut u32, pnumconstants: *mut u32) {
1949 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1950 let this = (*this).get_impl();
1951 this.PSGetConstantBuffers1(::core::mem::transmute_copy(&startslot), ::core::mem::transmute_copy(&numbuffers), ::core::mem::transmute_copy(&ppconstantbuffers), ::core::mem::transmute_copy(&pfirstconstant), ::core::mem::transmute_copy(&pnumconstants))
1952 }
1953 unsafe extern "system" fn CSGetConstantBuffers1<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DeviceContext1_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, startslot: u32, numbuffers: u32, ppconstantbuffers: *mut *mut ::core::ffi::c_void, pfirstconstant: *mut u32, pnumconstants: *mut u32) {
1954 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1955 let this = (*this).get_impl();
1956 this.CSGetConstantBuffers1(::core::mem::transmute_copy(&startslot), ::core::mem::transmute_copy(&numbuffers), ::core::mem::transmute_copy(&ppconstantbuffers), ::core::mem::transmute_copy(&pfirstconstant), ::core::mem::transmute_copy(&pnumconstants))
1957 }
1958 unsafe extern "system" fn SwapDeviceContextState<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DeviceContext1_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pstate: *mut ::core::ffi::c_void, pppreviousstate: *mut *mut ::core::ffi::c_void) {
1959 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1960 let this = (*this).get_impl();
1961 this.SwapDeviceContextState(::windows::core::from_raw_borrowed(&pstate), ::core::mem::transmute_copy(&pppreviousstate))
1962 }
1963 unsafe extern "system" fn ClearView<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DeviceContext1_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pview: *mut ::core::ffi::c_void, color: *const f32, prect: *const super::super::Foundation::RECT, numrects: u32) {
1964 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1965 let this = (*this).get_impl();
1966 this.ClearView(::windows::core::from_raw_borrowed(&pview), ::core::mem::transmute_copy(&color), ::core::mem::transmute_copy(&prect), ::core::mem::transmute_copy(&numrects))
1967 }
1968 unsafe extern "system" fn DiscardView1<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DeviceContext1_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, presourceview: *mut ::core::ffi::c_void, prects: *const super::super::Foundation::RECT, numrects: u32) {
1969 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1970 let this = (*this).get_impl();
1971 this.DiscardView1(::windows::core::from_raw_borrowed(&presourceview), ::core::mem::transmute_copy(&prects), ::core::mem::transmute_copy(&numrects))
1972 }
1973 Self {
1974 base__: ID3D11DeviceContext_Vtbl::new::<Identity, Impl, OFFSET>(),
1975 CopySubresourceRegion1: CopySubresourceRegion1::<Identity, Impl, OFFSET>,
1976 UpdateSubresource1: UpdateSubresource1::<Identity, Impl, OFFSET>,
1977 DiscardResource: DiscardResource::<Identity, Impl, OFFSET>,
1978 DiscardView: DiscardView::<Identity, Impl, OFFSET>,
1979 VSSetConstantBuffers1: VSSetConstantBuffers1::<Identity, Impl, OFFSET>,
1980 HSSetConstantBuffers1: HSSetConstantBuffers1::<Identity, Impl, OFFSET>,
1981 DSSetConstantBuffers1: DSSetConstantBuffers1::<Identity, Impl, OFFSET>,
1982 GSSetConstantBuffers1: GSSetConstantBuffers1::<Identity, Impl, OFFSET>,
1983 PSSetConstantBuffers1: PSSetConstantBuffers1::<Identity, Impl, OFFSET>,
1984 CSSetConstantBuffers1: CSSetConstantBuffers1::<Identity, Impl, OFFSET>,
1985 VSGetConstantBuffers1: VSGetConstantBuffers1::<Identity, Impl, OFFSET>,
1986 HSGetConstantBuffers1: HSGetConstantBuffers1::<Identity, Impl, OFFSET>,
1987 DSGetConstantBuffers1: DSGetConstantBuffers1::<Identity, Impl, OFFSET>,
1988 GSGetConstantBuffers1: GSGetConstantBuffers1::<Identity, Impl, OFFSET>,
1989 PSGetConstantBuffers1: PSGetConstantBuffers1::<Identity, Impl, OFFSET>,
1990 CSGetConstantBuffers1: CSGetConstantBuffers1::<Identity, Impl, OFFSET>,
1991 SwapDeviceContextState: SwapDeviceContextState::<Identity, Impl, OFFSET>,
1992 ClearView: ClearView::<Identity, Impl, OFFSET>,
1993 DiscardView1: DiscardView1::<Identity, Impl, OFFSET>,
1994 }
1995 }
1996 pub fn matches(iid: &windows::core::GUID) -> bool {
1997 iid == &<ID3D11DeviceContext1 as ::windows::core::ComInterface>::IID || iid == &<ID3D11DeviceChild as ::windows::core::ComInterface>::IID || iid == &<ID3D11DeviceContext as ::windows::core::ComInterface>::IID
1998 }
1999}
2000#[doc = "*Required features: `\"Win32_Graphics_Direct3D11\"`, `\"Win32_Foundation\"`, `\"Win32_Graphics_Direct3D\"`, `\"Win32_Graphics_Dxgi_Common\"`, `\"implement\"`*"]
2001#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D", feature = "Win32_Graphics_Dxgi_Common"))]
2002pub trait ID3D11DeviceContext2_Impl: Sized + ID3D11DeviceContext1_Impl {
2003 fn UpdateTileMappings(&self, ptiledresource: ::core::option::Option<&ID3D11Resource>, numtiledresourceregions: u32, ptiledresourceregionstartcoordinates: *const D3D11_TILED_RESOURCE_COORDINATE, ptiledresourceregionsizes: *const D3D11_TILE_REGION_SIZE, ptilepool: ::core::option::Option<&ID3D11Buffer>, numranges: u32, prangeflags: *const u32, ptilepoolstartoffsets: *const u32, prangetilecounts: *const u32, flags: u32) -> ::windows::core::Result<()>;
2004 fn CopyTileMappings(&self, pdesttiledresource: ::core::option::Option<&ID3D11Resource>, pdestregionstartcoordinate: *const D3D11_TILED_RESOURCE_COORDINATE, psourcetiledresource: ::core::option::Option<&ID3D11Resource>, psourceregionstartcoordinate: *const D3D11_TILED_RESOURCE_COORDINATE, ptileregionsize: *const D3D11_TILE_REGION_SIZE, flags: u32) -> ::windows::core::Result<()>;
2005 fn CopyTiles(&self, ptiledresource: ::core::option::Option<&ID3D11Resource>, ptileregionstartcoordinate: *const D3D11_TILED_RESOURCE_COORDINATE, ptileregionsize: *const D3D11_TILE_REGION_SIZE, pbuffer: ::core::option::Option<&ID3D11Buffer>, bufferstartoffsetinbytes: u64, flags: u32);
2006 fn UpdateTiles(&self, pdesttiledresource: ::core::option::Option<&ID3D11Resource>, pdesttileregionstartcoordinate: *const D3D11_TILED_RESOURCE_COORDINATE, pdesttileregionsize: *const D3D11_TILE_REGION_SIZE, psourcetiledata: *const ::core::ffi::c_void, flags: u32);
2007 fn ResizeTilePool(&self, ptilepool: ::core::option::Option<&ID3D11Buffer>, newsizeinbytes: u64) -> ::windows::core::Result<()>;
2008 fn TiledResourceBarrier(&self, ptiledresourceorviewaccessbeforebarrier: ::core::option::Option<&ID3D11DeviceChild>, ptiledresourceorviewaccessafterbarrier: ::core::option::Option<&ID3D11DeviceChild>);
2009 fn IsAnnotationEnabled(&self) -> super::super::Foundation::BOOL;
2010 fn SetMarkerInt(&self, plabel: &::windows::core::PCWSTR, data: i32);
2011 fn BeginEventInt(&self, plabel: &::windows::core::PCWSTR, data: i32);
2012 fn EndEvent(&self);
2013}
2014#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D", feature = "Win32_Graphics_Dxgi_Common"))]
2015impl ::windows::core::RuntimeName for ID3D11DeviceContext2 {}
2016#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D", feature = "Win32_Graphics_Dxgi_Common"))]
2017impl ID3D11DeviceContext2_Vtbl {
2018 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DeviceContext2_Impl, const OFFSET: isize>() -> ID3D11DeviceContext2_Vtbl {
2019 unsafe extern "system" fn UpdateTileMappings<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DeviceContext2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ptiledresource: *mut ::core::ffi::c_void, numtiledresourceregions: u32, ptiledresourceregionstartcoordinates: *const D3D11_TILED_RESOURCE_COORDINATE, ptiledresourceregionsizes: *const D3D11_TILE_REGION_SIZE, ptilepool: *mut ::core::ffi::c_void, numranges: u32, prangeflags: *const u32, ptilepoolstartoffsets: *const u32, prangetilecounts: *const u32, flags: u32) -> ::windows::core::HRESULT {
2020 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2021 let this = (*this).get_impl();
2022 this.UpdateTileMappings(
2023 ::windows::core::from_raw_borrowed(&ptiledresource),
2024 ::core::mem::transmute_copy(&numtiledresourceregions),
2025 ::core::mem::transmute_copy(&ptiledresourceregionstartcoordinates),
2026 ::core::mem::transmute_copy(&ptiledresourceregionsizes),
2027 ::windows::core::from_raw_borrowed(&ptilepool),
2028 ::core::mem::transmute_copy(&numranges),
2029 ::core::mem::transmute_copy(&prangeflags),
2030 ::core::mem::transmute_copy(&ptilepoolstartoffsets),
2031 ::core::mem::transmute_copy(&prangetilecounts),
2032 ::core::mem::transmute_copy(&flags),
2033 )
2034 .into()
2035 }
2036 unsafe extern "system" fn CopyTileMappings<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DeviceContext2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdesttiledresource: *mut ::core::ffi::c_void, pdestregionstartcoordinate: *const D3D11_TILED_RESOURCE_COORDINATE, psourcetiledresource: *mut ::core::ffi::c_void, psourceregionstartcoordinate: *const D3D11_TILED_RESOURCE_COORDINATE, ptileregionsize: *const D3D11_TILE_REGION_SIZE, flags: u32) -> ::windows::core::HRESULT {
2037 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2038 let this = (*this).get_impl();
2039 this.CopyTileMappings(::windows::core::from_raw_borrowed(&pdesttiledresource), ::core::mem::transmute_copy(&pdestregionstartcoordinate), ::windows::core::from_raw_borrowed(&psourcetiledresource), ::core::mem::transmute_copy(&psourceregionstartcoordinate), ::core::mem::transmute_copy(&ptileregionsize), ::core::mem::transmute_copy(&flags)).into()
2040 }
2041 unsafe extern "system" fn CopyTiles<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DeviceContext2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ptiledresource: *mut ::core::ffi::c_void, ptileregionstartcoordinate: *const D3D11_TILED_RESOURCE_COORDINATE, ptileregionsize: *const D3D11_TILE_REGION_SIZE, pbuffer: *mut ::core::ffi::c_void, bufferstartoffsetinbytes: u64, flags: u32) {
2042 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2043 let this = (*this).get_impl();
2044 this.CopyTiles(::windows::core::from_raw_borrowed(&ptiledresource), ::core::mem::transmute_copy(&ptileregionstartcoordinate), ::core::mem::transmute_copy(&ptileregionsize), ::windows::core::from_raw_borrowed(&pbuffer), ::core::mem::transmute_copy(&bufferstartoffsetinbytes), ::core::mem::transmute_copy(&flags))
2045 }
2046 unsafe extern "system" fn UpdateTiles<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DeviceContext2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdesttiledresource: *mut ::core::ffi::c_void, pdesttileregionstartcoordinate: *const D3D11_TILED_RESOURCE_COORDINATE, pdesttileregionsize: *const D3D11_TILE_REGION_SIZE, psourcetiledata: *const ::core::ffi::c_void, flags: u32) {
2047 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2048 let this = (*this).get_impl();
2049 this.UpdateTiles(::windows::core::from_raw_borrowed(&pdesttiledresource), ::core::mem::transmute_copy(&pdesttileregionstartcoordinate), ::core::mem::transmute_copy(&pdesttileregionsize), ::core::mem::transmute_copy(&psourcetiledata), ::core::mem::transmute_copy(&flags))
2050 }
2051 unsafe extern "system" fn ResizeTilePool<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DeviceContext2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ptilepool: *mut ::core::ffi::c_void, newsizeinbytes: u64) -> ::windows::core::HRESULT {
2052 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2053 let this = (*this).get_impl();
2054 this.ResizeTilePool(::windows::core::from_raw_borrowed(&ptilepool), ::core::mem::transmute_copy(&newsizeinbytes)).into()
2055 }
2056 unsafe extern "system" fn TiledResourceBarrier<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DeviceContext2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ptiledresourceorviewaccessbeforebarrier: *mut ::core::ffi::c_void, ptiledresourceorviewaccessafterbarrier: *mut ::core::ffi::c_void) {
2057 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2058 let this = (*this).get_impl();
2059 this.TiledResourceBarrier(::windows::core::from_raw_borrowed(&ptiledresourceorviewaccessbeforebarrier), ::windows::core::from_raw_borrowed(&ptiledresourceorviewaccessafterbarrier))
2060 }
2061 unsafe extern "system" fn IsAnnotationEnabled<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DeviceContext2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> super::super::Foundation::BOOL {
2062 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2063 let this = (*this).get_impl();
2064 this.IsAnnotationEnabled()
2065 }
2066 unsafe extern "system" fn SetMarkerInt<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DeviceContext2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, plabel: ::windows::core::PCWSTR, data: i32) {
2067 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2068 let this = (*this).get_impl();
2069 this.SetMarkerInt(::core::mem::transmute(&plabel), ::core::mem::transmute_copy(&data))
2070 }
2071 unsafe extern "system" fn BeginEventInt<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DeviceContext2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, plabel: ::windows::core::PCWSTR, data: i32) {
2072 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2073 let this = (*this).get_impl();
2074 this.BeginEventInt(::core::mem::transmute(&plabel), ::core::mem::transmute_copy(&data))
2075 }
2076 unsafe extern "system" fn EndEvent<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DeviceContext2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) {
2077 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2078 let this = (*this).get_impl();
2079 this.EndEvent()
2080 }
2081 Self {
2082 base__: ID3D11DeviceContext1_Vtbl::new::<Identity, Impl, OFFSET>(),
2083 UpdateTileMappings: UpdateTileMappings::<Identity, Impl, OFFSET>,
2084 CopyTileMappings: CopyTileMappings::<Identity, Impl, OFFSET>,
2085 CopyTiles: CopyTiles::<Identity, Impl, OFFSET>,
2086 UpdateTiles: UpdateTiles::<Identity, Impl, OFFSET>,
2087 ResizeTilePool: ResizeTilePool::<Identity, Impl, OFFSET>,
2088 TiledResourceBarrier: TiledResourceBarrier::<Identity, Impl, OFFSET>,
2089 IsAnnotationEnabled: IsAnnotationEnabled::<Identity, Impl, OFFSET>,
2090 SetMarkerInt: SetMarkerInt::<Identity, Impl, OFFSET>,
2091 BeginEventInt: BeginEventInt::<Identity, Impl, OFFSET>,
2092 EndEvent: EndEvent::<Identity, Impl, OFFSET>,
2093 }
2094 }
2095 pub fn matches(iid: &windows::core::GUID) -> bool {
2096 iid == &<ID3D11DeviceContext2 as ::windows::core::ComInterface>::IID || iid == &<ID3D11DeviceChild as ::windows::core::ComInterface>::IID || iid == &<ID3D11DeviceContext as ::windows::core::ComInterface>::IID || iid == &<ID3D11DeviceContext1 as ::windows::core::ComInterface>::IID
2097 }
2098}
2099#[doc = "*Required features: `\"Win32_Graphics_Direct3D11\"`, `\"Win32_Foundation\"`, `\"Win32_Graphics_Direct3D\"`, `\"Win32_Graphics_Dxgi_Common\"`, `\"implement\"`*"]
2100#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D", feature = "Win32_Graphics_Dxgi_Common"))]
2101pub trait ID3D11DeviceContext3_Impl: Sized + ID3D11DeviceContext2_Impl {
2102 fn Flush1(&self, contexttype: D3D11_CONTEXT_TYPE, hevent: super::super::Foundation::HANDLE);
2103 fn SetHardwareProtectionState(&self, hwprotectionenable: super::super::Foundation::BOOL);
2104 fn GetHardwareProtectionState(&self, phwprotectionenable: *mut super::super::Foundation::BOOL) -> ();
2105}
2106#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D", feature = "Win32_Graphics_Dxgi_Common"))]
2107impl ::windows::core::RuntimeName for ID3D11DeviceContext3 {}
2108#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D", feature = "Win32_Graphics_Dxgi_Common"))]
2109impl ID3D11DeviceContext3_Vtbl {
2110 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DeviceContext3_Impl, const OFFSET: isize>() -> ID3D11DeviceContext3_Vtbl {
2111 unsafe extern "system" fn Flush1<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DeviceContext3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, contexttype: D3D11_CONTEXT_TYPE, hevent: super::super::Foundation::HANDLE) {
2112 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2113 let this = (*this).get_impl();
2114 this.Flush1(::core::mem::transmute_copy(&contexttype), ::core::mem::transmute_copy(&hevent))
2115 }
2116 unsafe extern "system" fn SetHardwareProtectionState<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DeviceContext3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, hwprotectionenable: super::super::Foundation::BOOL) {
2117 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2118 let this = (*this).get_impl();
2119 this.SetHardwareProtectionState(::core::mem::transmute_copy(&hwprotectionenable))
2120 }
2121 unsafe extern "system" fn GetHardwareProtectionState<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DeviceContext3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, phwprotectionenable: *mut super::super::Foundation::BOOL) {
2122 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2123 let this = (*this).get_impl();
2124 this.GetHardwareProtectionState(::core::mem::transmute_copy(&phwprotectionenable))
2125 }
2126 Self {
2127 base__: ID3D11DeviceContext2_Vtbl::new::<Identity, Impl, OFFSET>(),
2128 Flush1: Flush1::<Identity, Impl, OFFSET>,
2129 SetHardwareProtectionState: SetHardwareProtectionState::<Identity, Impl, OFFSET>,
2130 GetHardwareProtectionState: GetHardwareProtectionState::<Identity, Impl, OFFSET>,
2131 }
2132 }
2133 pub fn matches(iid: &windows::core::GUID) -> bool {
2134 iid == &<ID3D11DeviceContext3 as ::windows::core::ComInterface>::IID || iid == &<ID3D11DeviceChild as ::windows::core::ComInterface>::IID || iid == &<ID3D11DeviceContext as ::windows::core::ComInterface>::IID || iid == &<ID3D11DeviceContext1 as ::windows::core::ComInterface>::IID || iid == &<ID3D11DeviceContext2 as ::windows::core::ComInterface>::IID
2135 }
2136}
2137#[doc = "*Required features: `\"Win32_Graphics_Direct3D11\"`, `\"Win32_Foundation\"`, `\"Win32_Graphics_Direct3D\"`, `\"Win32_Graphics_Dxgi_Common\"`, `\"implement\"`*"]
2138#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D", feature = "Win32_Graphics_Dxgi_Common"))]
2139pub trait ID3D11DeviceContext4_Impl: Sized + ID3D11DeviceContext3_Impl {
2140 fn Signal(&self, pfence: ::core::option::Option<&ID3D11Fence>, value: u64) -> ::windows::core::Result<()>;
2141 fn Wait(&self, pfence: ::core::option::Option<&ID3D11Fence>, value: u64) -> ::windows::core::Result<()>;
2142}
2143#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D", feature = "Win32_Graphics_Dxgi_Common"))]
2144impl ::windows::core::RuntimeName for ID3D11DeviceContext4 {}
2145#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D", feature = "Win32_Graphics_Dxgi_Common"))]
2146impl ID3D11DeviceContext4_Vtbl {
2147 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DeviceContext4_Impl, const OFFSET: isize>() -> ID3D11DeviceContext4_Vtbl {
2148 unsafe extern "system" fn Signal<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DeviceContext4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pfence: *mut ::core::ffi::c_void, value: u64) -> ::windows::core::HRESULT {
2149 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2150 let this = (*this).get_impl();
2151 this.Signal(::windows::core::from_raw_borrowed(&pfence), ::core::mem::transmute_copy(&value)).into()
2152 }
2153 unsafe extern "system" fn Wait<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DeviceContext4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pfence: *mut ::core::ffi::c_void, value: u64) -> ::windows::core::HRESULT {
2154 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2155 let this = (*this).get_impl();
2156 this.Wait(::windows::core::from_raw_borrowed(&pfence), ::core::mem::transmute_copy(&value)).into()
2157 }
2158 Self {
2159 base__: ID3D11DeviceContext3_Vtbl::new::<Identity, Impl, OFFSET>(),
2160 Signal: Signal::<Identity, Impl, OFFSET>,
2161 Wait: Wait::<Identity, Impl, OFFSET>,
2162 }
2163 }
2164 pub fn matches(iid: &windows::core::GUID) -> bool {
2165 iid == &<ID3D11DeviceContext4 as ::windows::core::ComInterface>::IID || iid == &<ID3D11DeviceChild as ::windows::core::ComInterface>::IID || iid == &<ID3D11DeviceContext as ::windows::core::ComInterface>::IID || iid == &<ID3D11DeviceContext1 as ::windows::core::ComInterface>::IID || iid == &<ID3D11DeviceContext2 as ::windows::core::ComInterface>::IID || iid == &<ID3D11DeviceContext3 as ::windows::core::ComInterface>::IID
2166 }
2167}
2168#[doc = "*Required features: `\"Win32_Graphics_Direct3D11\"`, `\"implement\"`*"]
2169pub trait ID3D11DomainShader_Impl: Sized + ID3D11DeviceChild_Impl {}
2170impl ::windows::core::RuntimeName for ID3D11DomainShader {}
2171impl ID3D11DomainShader_Vtbl {
2172 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11DomainShader_Impl, const OFFSET: isize>() -> ID3D11DomainShader_Vtbl {
2173 Self { base__: ID3D11DeviceChild_Vtbl::new::<Identity, Impl, OFFSET>() }
2174 }
2175 pub fn matches(iid: &windows::core::GUID) -> bool {
2176 iid == &<ID3D11DomainShader as ::windows::core::ComInterface>::IID || iid == &<ID3D11DeviceChild as ::windows::core::ComInterface>::IID
2177 }
2178}
2179#[doc = "*Required features: `\"Win32_Graphics_Direct3D11\"`, `\"Win32_Foundation\"`, `\"Win32_Security\"`, `\"implement\"`*"]
2180#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2181pub trait ID3D11Fence_Impl: Sized + ID3D11DeviceChild_Impl {
2182 fn CreateSharedHandle(&self, pattributes: *const super::super::Security::SECURITY_ATTRIBUTES, dwaccess: u32, lpname: &::windows::core::PCWSTR) -> ::windows::core::Result<super::super::Foundation::HANDLE>;
2183 fn GetCompletedValue(&self) -> u64;
2184 fn SetEventOnCompletion(&self, value: u64, hevent: super::super::Foundation::HANDLE) -> ::windows::core::Result<()>;
2185}
2186#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2187impl ::windows::core::RuntimeName for ID3D11Fence {}
2188#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2189impl ID3D11Fence_Vtbl {
2190 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11Fence_Impl, const OFFSET: isize>() -> ID3D11Fence_Vtbl {
2191 unsafe extern "system" fn CreateSharedHandle<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11Fence_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pattributes: *const super::super::Security::SECURITY_ATTRIBUTES, dwaccess: u32, lpname: ::windows::core::PCWSTR, phandle: *mut super::super::Foundation::HANDLE) -> ::windows::core::HRESULT {
2192 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2193 let this = (*this).get_impl();
2194 match this.CreateSharedHandle(::core::mem::transmute_copy(&pattributes), ::core::mem::transmute_copy(&dwaccess), ::core::mem::transmute(&lpname)) {
2195 ::core::result::Result::Ok(ok__) => {
2196 ::core::ptr::write(phandle, ::core::mem::transmute(ok__));
2197 ::windows::core::HRESULT(0)
2198 }
2199 ::core::result::Result::Err(err) => err.into(),
2200 }
2201 }
2202 unsafe extern "system" fn GetCompletedValue<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11Fence_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> u64 {
2203 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2204 let this = (*this).get_impl();
2205 this.GetCompletedValue()
2206 }
2207 unsafe extern "system" fn SetEventOnCompletion<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11Fence_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: u64, hevent: super::super::Foundation::HANDLE) -> ::windows::core::HRESULT {
2208 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2209 let this = (*this).get_impl();
2210 this.SetEventOnCompletion(::core::mem::transmute_copy(&value), ::core::mem::transmute_copy(&hevent)).into()
2211 }
2212 Self {
2213 base__: ID3D11DeviceChild_Vtbl::new::<Identity, Impl, OFFSET>(),
2214 CreateSharedHandle: CreateSharedHandle::<Identity, Impl, OFFSET>,
2215 GetCompletedValue: GetCompletedValue::<Identity, Impl, OFFSET>,
2216 SetEventOnCompletion: SetEventOnCompletion::<Identity, Impl, OFFSET>,
2217 }
2218 }
2219 pub fn matches(iid: &windows::core::GUID) -> bool {
2220 iid == &<ID3D11Fence as ::windows::core::ComInterface>::IID || iid == &<ID3D11DeviceChild as ::windows::core::ComInterface>::IID
2221 }
2222}
2223#[doc = "*Required features: `\"Win32_Graphics_Direct3D11\"`, `\"Win32_Graphics_Direct3D\"`, `\"implement\"`*"]
2224#[cfg(feature = "Win32_Graphics_Direct3D")]
2225pub trait ID3D11FunctionLinkingGraph_Impl: Sized {
2226 fn CreateModuleInstance(&self, ppmoduleinstance: *mut ::core::option::Option<ID3D11ModuleInstance>, pperrorbuffer: *mut ::core::option::Option<super::Direct3D::ID3DBlob>) -> ::windows::core::Result<()>;
2227 fn SetInputSignature(&self, pinputparameters: *const D3D11_PARAMETER_DESC, cinputparameters: u32) -> ::windows::core::Result<ID3D11LinkingNode>;
2228 fn SetOutputSignature(&self, poutputparameters: *const D3D11_PARAMETER_DESC, coutputparameters: u32) -> ::windows::core::Result<ID3D11LinkingNode>;
2229 fn CallFunction(&self, pmoduleinstancenamespace: &::windows::core::PCSTR, pmodulewithfunctionprototype: ::core::option::Option<&ID3D11Module>, pfunctionname: &::windows::core::PCSTR) -> ::windows::core::Result<ID3D11LinkingNode>;
2230 fn PassValue(&self, psrcnode: ::core::option::Option<&ID3D11LinkingNode>, srcparameterindex: i32, pdstnode: ::core::option::Option<&ID3D11LinkingNode>, dstparameterindex: i32) -> ::windows::core::Result<()>;
2231 fn PassValueWithSwizzle(&self, psrcnode: ::core::option::Option<&ID3D11LinkingNode>, srcparameterindex: i32, psrcswizzle: &::windows::core::PCSTR, pdstnode: ::core::option::Option<&ID3D11LinkingNode>, dstparameterindex: i32, pdstswizzle: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
2232 fn GetLastError(&self, pperrorbuffer: *mut ::core::option::Option<super::Direct3D::ID3DBlob>) -> ::windows::core::Result<()>;
2233 fn GenerateHlsl(&self, uflags: u32) -> ::windows::core::Result<super::Direct3D::ID3DBlob>;
2234}
2235#[cfg(feature = "Win32_Graphics_Direct3D")]
2236impl ::windows::core::RuntimeName for ID3D11FunctionLinkingGraph {}
2237#[cfg(feature = "Win32_Graphics_Direct3D")]
2238impl ID3D11FunctionLinkingGraph_Vtbl {
2239 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11FunctionLinkingGraph_Impl, const OFFSET: isize>() -> ID3D11FunctionLinkingGraph_Vtbl {
2240 unsafe extern "system" fn CreateModuleInstance<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11FunctionLinkingGraph_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppmoduleinstance: *mut *mut ::core::ffi::c_void, pperrorbuffer: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
2241 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2242 let this = (*this).get_impl();
2243 this.CreateModuleInstance(::core::mem::transmute_copy(&ppmoduleinstance), ::core::mem::transmute_copy(&pperrorbuffer)).into()
2244 }
2245 unsafe extern "system" fn SetInputSignature<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11FunctionLinkingGraph_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pinputparameters: *const D3D11_PARAMETER_DESC, cinputparameters: u32, ppinputnode: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
2246 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2247 let this = (*this).get_impl();
2248 match this.SetInputSignature(::core::mem::transmute_copy(&pinputparameters), ::core::mem::transmute_copy(&cinputparameters)) {
2249 ::core::result::Result::Ok(ok__) => {
2250 ::core::ptr::write(ppinputnode, ::core::mem::transmute(ok__));
2251 ::windows::core::HRESULT(0)
2252 }
2253 ::core::result::Result::Err(err) => err.into(),
2254 }
2255 }
2256 unsafe extern "system" fn SetOutputSignature<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11FunctionLinkingGraph_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, poutputparameters: *const D3D11_PARAMETER_DESC, coutputparameters: u32, ppoutputnode: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
2257 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2258 let this = (*this).get_impl();
2259 match this.SetOutputSignature(::core::mem::transmute_copy(&poutputparameters), ::core::mem::transmute_copy(&coutputparameters)) {
2260 ::core::result::Result::Ok(ok__) => {
2261 ::core::ptr::write(ppoutputnode, ::core::mem::transmute(ok__));
2262 ::windows::core::HRESULT(0)
2263 }
2264 ::core::result::Result::Err(err) => err.into(),
2265 }
2266 }
2267 unsafe extern "system" fn CallFunction<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11FunctionLinkingGraph_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pmoduleinstancenamespace: ::windows::core::PCSTR, pmodulewithfunctionprototype: *mut ::core::ffi::c_void, pfunctionname: ::windows::core::PCSTR, ppcallnode: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
2268 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2269 let this = (*this).get_impl();
2270 match this.CallFunction(::core::mem::transmute(&pmoduleinstancenamespace), ::windows::core::from_raw_borrowed(&pmodulewithfunctionprototype), ::core::mem::transmute(&pfunctionname)) {
2271 ::core::result::Result::Ok(ok__) => {
2272 ::core::ptr::write(ppcallnode, ::core::mem::transmute(ok__));
2273 ::windows::core::HRESULT(0)
2274 }
2275 ::core::result::Result::Err(err) => err.into(),
2276 }
2277 }
2278 unsafe extern "system" fn PassValue<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11FunctionLinkingGraph_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, psrcnode: *mut ::core::ffi::c_void, srcparameterindex: i32, pdstnode: *mut ::core::ffi::c_void, dstparameterindex: i32) -> ::windows::core::HRESULT {
2279 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2280 let this = (*this).get_impl();
2281 this.PassValue(::windows::core::from_raw_borrowed(&psrcnode), ::core::mem::transmute_copy(&srcparameterindex), ::windows::core::from_raw_borrowed(&pdstnode), ::core::mem::transmute_copy(&dstparameterindex)).into()
2282 }
2283 unsafe extern "system" fn PassValueWithSwizzle<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11FunctionLinkingGraph_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, psrcnode: *mut ::core::ffi::c_void, srcparameterindex: i32, psrcswizzle: ::windows::core::PCSTR, pdstnode: *mut ::core::ffi::c_void, dstparameterindex: i32, pdstswizzle: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
2284 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2285 let this = (*this).get_impl();
2286 this.PassValueWithSwizzle(::windows::core::from_raw_borrowed(&psrcnode), ::core::mem::transmute_copy(&srcparameterindex), ::core::mem::transmute(&psrcswizzle), ::windows::core::from_raw_borrowed(&pdstnode), ::core::mem::transmute_copy(&dstparameterindex), ::core::mem::transmute(&pdstswizzle)).into()
2287 }
2288 unsafe extern "system" fn GetLastError<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11FunctionLinkingGraph_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pperrorbuffer: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
2289 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2290 let this = (*this).get_impl();
2291 this.GetLastError(::core::mem::transmute_copy(&pperrorbuffer)).into()
2292 }
2293 unsafe extern "system" fn GenerateHlsl<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11FunctionLinkingGraph_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, uflags: u32, ppbuffer: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
2294 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2295 let this = (*this).get_impl();
2296 match this.GenerateHlsl(::core::mem::transmute_copy(&uflags)) {
2297 ::core::result::Result::Ok(ok__) => {
2298 ::core::ptr::write(ppbuffer, ::core::mem::transmute(ok__));
2299 ::windows::core::HRESULT(0)
2300 }
2301 ::core::result::Result::Err(err) => err.into(),
2302 }
2303 }
2304 Self {
2305 base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
2306 CreateModuleInstance: CreateModuleInstance::<Identity, Impl, OFFSET>,
2307 SetInputSignature: SetInputSignature::<Identity, Impl, OFFSET>,
2308 SetOutputSignature: SetOutputSignature::<Identity, Impl, OFFSET>,
2309 CallFunction: CallFunction::<Identity, Impl, OFFSET>,
2310 PassValue: PassValue::<Identity, Impl, OFFSET>,
2311 PassValueWithSwizzle: PassValueWithSwizzle::<Identity, Impl, OFFSET>,
2312 GetLastError: GetLastError::<Identity, Impl, OFFSET>,
2313 GenerateHlsl: GenerateHlsl::<Identity, Impl, OFFSET>,
2314 }
2315 }
2316 pub fn matches(iid: &windows::core::GUID) -> bool {
2317 iid == &<ID3D11FunctionLinkingGraph as ::windows::core::ComInterface>::IID
2318 }
2319}
2320#[doc = "*Required features: `\"Win32_Graphics_Direct3D11\"`, `\"Win32_Graphics_Direct3D\"`, `\"implement\"`*"]
2321#[cfg(feature = "Win32_Graphics_Direct3D")]
2322pub trait ID3D11FunctionParameterReflection_Impl: Sized {
2323 fn GetDesc(&self, pdesc: *mut D3D11_PARAMETER_DESC) -> ::windows::core::Result<()>;
2324}
2325#[cfg(feature = "Win32_Graphics_Direct3D")]
2326impl ID3D11FunctionParameterReflection_Vtbl {
2327 pub const fn new<Impl: ID3D11FunctionParameterReflection_Impl>() -> ID3D11FunctionParameterReflection_Vtbl {
2328 unsafe extern "system" fn GetDesc<Impl: ID3D11FunctionParameterReflection_Impl>(this: *mut ::core::ffi::c_void, pdesc: *mut D3D11_PARAMETER_DESC) -> ::windows::core::HRESULT {
2329 let this = (this as *mut *mut ::core::ffi::c_void) as *const ::windows::core::ScopedHeap;
2330 let this = &*((*this).this as *const Impl);
2331 this.GetDesc(::core::mem::transmute_copy(&pdesc)).into()
2332 }
2333 Self { GetDesc: GetDesc::<Impl> }
2334 }
2335}
2336#[doc(hidden)]
2337#[cfg(feature = "Win32_Graphics_Direct3D")]
2338struct ID3D11FunctionParameterReflection_ImplVtbl<T: ID3D11FunctionParameterReflection_Impl>(::std::marker::PhantomData<T>);
2339#[cfg(feature = "Win32_Graphics_Direct3D")]
2340impl<T: ID3D11FunctionParameterReflection_Impl> ID3D11FunctionParameterReflection_ImplVtbl<T> {
2341 const VTABLE: ID3D11FunctionParameterReflection_Vtbl = ID3D11FunctionParameterReflection_Vtbl::new::<T>();
2342}
2343#[cfg(feature = "Win32_Graphics_Direct3D")]
2344impl ID3D11FunctionParameterReflection {
2345 pub fn new<'a, T: ID3D11FunctionParameterReflection_Impl>(this: &'a T) -> ::windows::core::ScopedInterface<'a, Self> {
2346 let this = ::windows::core::ScopedHeap { vtable: &ID3D11FunctionParameterReflection_ImplVtbl::<T>::VTABLE as *const _ as *const _, this: this as *const _ as *const _ };
2347 let this = ::std::mem::ManuallyDrop::new(::std::boxed::Box::new(this));
2348 unsafe { ::windows::core::ScopedInterface::new(::std::mem::transmute(&this.vtable)) }
2349 }
2350}
2351#[doc = "*Required features: `\"Win32_Graphics_Direct3D11\"`, `\"Win32_Foundation\"`, `\"Win32_Graphics_Direct3D\"`, `\"implement\"`*"]
2352#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D"))]
2353pub trait ID3D11FunctionReflection_Impl: Sized {
2354 fn GetDesc(&self, pdesc: *mut D3D11_FUNCTION_DESC) -> ::windows::core::Result<()>;
2355 fn GetConstantBufferByIndex(&self, bufferindex: u32) -> ::core::option::Option<ID3D11ShaderReflectionConstantBuffer>;
2356 fn GetConstantBufferByName(&self, name: &::windows::core::PCSTR) -> ::core::option::Option<ID3D11ShaderReflectionConstantBuffer>;
2357 fn GetResourceBindingDesc(&self, resourceindex: u32, pdesc: *mut D3D11_SHADER_INPUT_BIND_DESC) -> ::windows::core::Result<()>;
2358 fn GetVariableByName(&self, name: &::windows::core::PCSTR) -> ::core::option::Option<ID3D11ShaderReflectionVariable>;
2359 fn GetResourceBindingDescByName(&self, name: &::windows::core::PCSTR, pdesc: *mut D3D11_SHADER_INPUT_BIND_DESC) -> ::windows::core::Result<()>;
2360 fn GetFunctionParameter(&self, parameterindex: i32) -> ::core::option::Option<ID3D11FunctionParameterReflection>;
2361}
2362#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D"))]
2363impl ID3D11FunctionReflection_Vtbl {
2364 pub const fn new<Impl: ID3D11FunctionReflection_Impl>() -> ID3D11FunctionReflection_Vtbl {
2365 unsafe extern "system" fn GetDesc<Impl: ID3D11FunctionReflection_Impl>(this: *mut ::core::ffi::c_void, pdesc: *mut D3D11_FUNCTION_DESC) -> ::windows::core::HRESULT {
2366 let this = (this as *mut *mut ::core::ffi::c_void) as *const ::windows::core::ScopedHeap;
2367 let this = &*((*this).this as *const Impl);
2368 this.GetDesc(::core::mem::transmute_copy(&pdesc)).into()
2369 }
2370 unsafe extern "system" fn GetConstantBufferByIndex<Impl: ID3D11FunctionReflection_Impl>(this: *mut ::core::ffi::c_void, bufferindex: u32) -> ::core::option::Option<ID3D11ShaderReflectionConstantBuffer> {
2371 let this = (this as *mut *mut ::core::ffi::c_void) as *const ::windows::core::ScopedHeap;
2372 let this = &*((*this).this as *const Impl);
2373 this.GetConstantBufferByIndex(::core::mem::transmute_copy(&bufferindex))
2374 }
2375 unsafe extern "system" fn GetConstantBufferByName<Impl: ID3D11FunctionReflection_Impl>(this: *mut ::core::ffi::c_void, name: ::windows::core::PCSTR) -> ::core::option::Option<ID3D11ShaderReflectionConstantBuffer> {
2376 let this = (this as *mut *mut ::core::ffi::c_void) as *const ::windows::core::ScopedHeap;
2377 let this = &*((*this).this as *const Impl);
2378 this.GetConstantBufferByName(::core::mem::transmute(&name))
2379 }
2380 unsafe extern "system" fn GetResourceBindingDesc<Impl: ID3D11FunctionReflection_Impl>(this: *mut ::core::ffi::c_void, resourceindex: u32, pdesc: *mut D3D11_SHADER_INPUT_BIND_DESC) -> ::windows::core::HRESULT {
2381 let this = (this as *mut *mut ::core::ffi::c_void) as *const ::windows::core::ScopedHeap;
2382 let this = &*((*this).this as *const Impl);
2383 this.GetResourceBindingDesc(::core::mem::transmute_copy(&resourceindex), ::core::mem::transmute_copy(&pdesc)).into()
2384 }
2385 unsafe extern "system" fn GetVariableByName<Impl: ID3D11FunctionReflection_Impl>(this: *mut ::core::ffi::c_void, name: ::windows::core::PCSTR) -> ::core::option::Option<ID3D11ShaderReflectionVariable> {
2386 let this = (this as *mut *mut ::core::ffi::c_void) as *const ::windows::core::ScopedHeap;
2387 let this = &*((*this).this as *const Impl);
2388 this.GetVariableByName(::core::mem::transmute(&name))
2389 }
2390 unsafe extern "system" fn GetResourceBindingDescByName<Impl: ID3D11FunctionReflection_Impl>(this: *mut ::core::ffi::c_void, name: ::windows::core::PCSTR, pdesc: *mut D3D11_SHADER_INPUT_BIND_DESC) -> ::windows::core::HRESULT {
2391 let this = (this as *mut *mut ::core::ffi::c_void) as *const ::windows::core::ScopedHeap;
2392 let this = &*((*this).this as *const Impl);
2393 this.GetResourceBindingDescByName(::core::mem::transmute(&name), ::core::mem::transmute_copy(&pdesc)).into()
2394 }
2395 unsafe extern "system" fn GetFunctionParameter<Impl: ID3D11FunctionReflection_Impl>(this: *mut ::core::ffi::c_void, parameterindex: i32) -> ::core::option::Option<ID3D11FunctionParameterReflection> {
2396 let this = (this as *mut *mut ::core::ffi::c_void) as *const ::windows::core::ScopedHeap;
2397 let this = &*((*this).this as *const Impl);
2398 this.GetFunctionParameter(::core::mem::transmute_copy(&parameterindex))
2399 }
2400 Self {
2401 GetDesc: GetDesc::<Impl>,
2402 GetConstantBufferByIndex: GetConstantBufferByIndex::<Impl>,
2403 GetConstantBufferByName: GetConstantBufferByName::<Impl>,
2404 GetResourceBindingDesc: GetResourceBindingDesc::<Impl>,
2405 GetVariableByName: GetVariableByName::<Impl>,
2406 GetResourceBindingDescByName: GetResourceBindingDescByName::<Impl>,
2407 GetFunctionParameter: GetFunctionParameter::<Impl>,
2408 }
2409 }
2410}
2411#[doc(hidden)]
2412#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D"))]
2413struct ID3D11FunctionReflection_ImplVtbl<T: ID3D11FunctionReflection_Impl>(::std::marker::PhantomData<T>);
2414#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D"))]
2415impl<T: ID3D11FunctionReflection_Impl> ID3D11FunctionReflection_ImplVtbl<T> {
2416 const VTABLE: ID3D11FunctionReflection_Vtbl = ID3D11FunctionReflection_Vtbl::new::<T>();
2417}
2418#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D"))]
2419impl ID3D11FunctionReflection {
2420 pub fn new<'a, T: ID3D11FunctionReflection_Impl>(this: &'a T) -> ::windows::core::ScopedInterface<'a, Self> {
2421 let this = ::windows::core::ScopedHeap { vtable: &ID3D11FunctionReflection_ImplVtbl::<T>::VTABLE as *const _ as *const _, this: this as *const _ as *const _ };
2422 let this = ::std::mem::ManuallyDrop::new(::std::boxed::Box::new(this));
2423 unsafe { ::windows::core::ScopedInterface::new(::std::mem::transmute(&this.vtable)) }
2424 }
2425}
2426#[doc = "*Required features: `\"Win32_Graphics_Direct3D11\"`, `\"implement\"`*"]
2427pub trait ID3D11GeometryShader_Impl: Sized + ID3D11DeviceChild_Impl {}
2428impl ::windows::core::RuntimeName for ID3D11GeometryShader {}
2429impl ID3D11GeometryShader_Vtbl {
2430 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11GeometryShader_Impl, const OFFSET: isize>() -> ID3D11GeometryShader_Vtbl {
2431 Self { base__: ID3D11DeviceChild_Vtbl::new::<Identity, Impl, OFFSET>() }
2432 }
2433 pub fn matches(iid: &windows::core::GUID) -> bool {
2434 iid == &<ID3D11GeometryShader as ::windows::core::ComInterface>::IID || iid == &<ID3D11DeviceChild as ::windows::core::ComInterface>::IID
2435 }
2436}
2437#[doc = "*Required features: `\"Win32_Graphics_Direct3D11\"`, `\"implement\"`*"]
2438pub trait ID3D11HullShader_Impl: Sized + ID3D11DeviceChild_Impl {}
2439impl ::windows::core::RuntimeName for ID3D11HullShader {}
2440impl ID3D11HullShader_Vtbl {
2441 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11HullShader_Impl, const OFFSET: isize>() -> ID3D11HullShader_Vtbl {
2442 Self { base__: ID3D11DeviceChild_Vtbl::new::<Identity, Impl, OFFSET>() }
2443 }
2444 pub fn matches(iid: &windows::core::GUID) -> bool {
2445 iid == &<ID3D11HullShader as ::windows::core::ComInterface>::IID || iid == &<ID3D11DeviceChild as ::windows::core::ComInterface>::IID
2446 }
2447}
2448#[doc = "*Required features: `\"Win32_Graphics_Direct3D11\"`, `\"Win32_Foundation\"`, `\"implement\"`*"]
2449#[cfg(feature = "Win32_Foundation")]
2450pub trait ID3D11InfoQueue_Impl: Sized {
2451 fn SetMessageCountLimit(&self, messagecountlimit: u64) -> ::windows::core::Result<()>;
2452 fn ClearStoredMessages(&self);
2453 fn GetMessage(&self, messageindex: u64, pmessage: *mut D3D11_MESSAGE, pmessagebytelength: *mut usize) -> ::windows::core::Result<()>;
2454 fn GetNumMessagesAllowedByStorageFilter(&self) -> u64;
2455 fn GetNumMessagesDeniedByStorageFilter(&self) -> u64;
2456 fn GetNumStoredMessages(&self) -> u64;
2457 fn GetNumStoredMessagesAllowedByRetrievalFilter(&self) -> u64;
2458 fn GetNumMessagesDiscardedByMessageCountLimit(&self) -> u64;
2459 fn GetMessageCountLimit(&self) -> u64;
2460 fn AddStorageFilterEntries(&self, pfilter: *const D3D11_INFO_QUEUE_FILTER) -> ::windows::core::Result<()>;
2461 fn GetStorageFilter(&self, pfilter: *mut D3D11_INFO_QUEUE_FILTER, pfilterbytelength: *mut usize) -> ::windows::core::Result<()>;
2462 fn ClearStorageFilter(&self);
2463 fn PushEmptyStorageFilter(&self) -> ::windows::core::Result<()>;
2464 fn PushCopyOfStorageFilter(&self) -> ::windows::core::Result<()>;
2465 fn PushStorageFilter(&self, pfilter: *const D3D11_INFO_QUEUE_FILTER) -> ::windows::core::Result<()>;
2466 fn PopStorageFilter(&self);
2467 fn GetStorageFilterStackSize(&self) -> u32;
2468 fn AddRetrievalFilterEntries(&self, pfilter: *const D3D11_INFO_QUEUE_FILTER) -> ::windows::core::Result<()>;
2469 fn GetRetrievalFilter(&self, pfilter: *mut D3D11_INFO_QUEUE_FILTER, pfilterbytelength: *mut usize) -> ::windows::core::Result<()>;
2470 fn ClearRetrievalFilter(&self);
2471 fn PushEmptyRetrievalFilter(&self) -> ::windows::core::Result<()>;
2472 fn PushCopyOfRetrievalFilter(&self) -> ::windows::core::Result<()>;
2473 fn PushRetrievalFilter(&self, pfilter: *const D3D11_INFO_QUEUE_FILTER) -> ::windows::core::Result<()>;
2474 fn PopRetrievalFilter(&self);
2475 fn GetRetrievalFilterStackSize(&self) -> u32;
2476 fn AddMessage(&self, category: D3D11_MESSAGE_CATEGORY, severity: D3D11_MESSAGE_SEVERITY, id: D3D11_MESSAGE_ID, pdescription: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
2477 fn AddApplicationMessage(&self, severity: D3D11_MESSAGE_SEVERITY, pdescription: &::windows::core::PCSTR) -> ::windows::core::Result<()>;
2478 fn SetBreakOnCategory(&self, category: D3D11_MESSAGE_CATEGORY, benable: super::super::Foundation::BOOL) -> ::windows::core::Result<()>;
2479 fn SetBreakOnSeverity(&self, severity: D3D11_MESSAGE_SEVERITY, benable: super::super::Foundation::BOOL) -> ::windows::core::Result<()>;
2480 fn SetBreakOnID(&self, id: D3D11_MESSAGE_ID, benable: super::super::Foundation::BOOL) -> ::windows::core::Result<()>;
2481 fn GetBreakOnCategory(&self, category: D3D11_MESSAGE_CATEGORY) -> super::super::Foundation::BOOL;
2482 fn GetBreakOnSeverity(&self, severity: D3D11_MESSAGE_SEVERITY) -> super::super::Foundation::BOOL;
2483 fn GetBreakOnID(&self, id: D3D11_MESSAGE_ID) -> super::super::Foundation::BOOL;
2484 fn SetMuteDebugOutput(&self, bmute: super::super::Foundation::BOOL);
2485 fn GetMuteDebugOutput(&self) -> super::super::Foundation::BOOL;
2486}
2487#[cfg(feature = "Win32_Foundation")]
2488impl ::windows::core::RuntimeName for ID3D11InfoQueue {}
2489#[cfg(feature = "Win32_Foundation")]
2490impl ID3D11InfoQueue_Vtbl {
2491 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11InfoQueue_Impl, const OFFSET: isize>() -> ID3D11InfoQueue_Vtbl {
2492 unsafe extern "system" fn SetMessageCountLimit<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11InfoQueue_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, messagecountlimit: u64) -> ::windows::core::HRESULT {
2493 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2494 let this = (*this).get_impl();
2495 this.SetMessageCountLimit(::core::mem::transmute_copy(&messagecountlimit)).into()
2496 }
2497 unsafe extern "system" fn ClearStoredMessages<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11InfoQueue_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) {
2498 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2499 let this = (*this).get_impl();
2500 this.ClearStoredMessages()
2501 }
2502 unsafe extern "system" fn GetMessage<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11InfoQueue_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, messageindex: u64, pmessage: *mut D3D11_MESSAGE, pmessagebytelength: *mut usize) -> ::windows::core::HRESULT {
2503 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2504 let this = (*this).get_impl();
2505 this.GetMessage(::core::mem::transmute_copy(&messageindex), ::core::mem::transmute_copy(&pmessage), ::core::mem::transmute_copy(&pmessagebytelength)).into()
2506 }
2507 unsafe extern "system" fn GetNumMessagesAllowedByStorageFilter<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11InfoQueue_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> u64 {
2508 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2509 let this = (*this).get_impl();
2510 this.GetNumMessagesAllowedByStorageFilter()
2511 }
2512 unsafe extern "system" fn GetNumMessagesDeniedByStorageFilter<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11InfoQueue_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> u64 {
2513 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2514 let this = (*this).get_impl();
2515 this.GetNumMessagesDeniedByStorageFilter()
2516 }
2517 unsafe extern "system" fn GetNumStoredMessages<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11InfoQueue_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> u64 {
2518 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2519 let this = (*this).get_impl();
2520 this.GetNumStoredMessages()
2521 }
2522 unsafe extern "system" fn GetNumStoredMessagesAllowedByRetrievalFilter<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11InfoQueue_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> u64 {
2523 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2524 let this = (*this).get_impl();
2525 this.GetNumStoredMessagesAllowedByRetrievalFilter()
2526 }
2527 unsafe extern "system" fn GetNumMessagesDiscardedByMessageCountLimit<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11InfoQueue_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> u64 {
2528 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2529 let this = (*this).get_impl();
2530 this.GetNumMessagesDiscardedByMessageCountLimit()
2531 }
2532 unsafe extern "system" fn GetMessageCountLimit<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11InfoQueue_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> u64 {
2533 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2534 let this = (*this).get_impl();
2535 this.GetMessageCountLimit()
2536 }
2537 unsafe extern "system" fn AddStorageFilterEntries<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11InfoQueue_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pfilter: *const D3D11_INFO_QUEUE_FILTER) -> ::windows::core::HRESULT {
2538 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2539 let this = (*this).get_impl();
2540 this.AddStorageFilterEntries(::core::mem::transmute_copy(&pfilter)).into()
2541 }
2542 unsafe extern "system" fn GetStorageFilter<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11InfoQueue_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pfilter: *mut D3D11_INFO_QUEUE_FILTER, pfilterbytelength: *mut usize) -> ::windows::core::HRESULT {
2543 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2544 let this = (*this).get_impl();
2545 this.GetStorageFilter(::core::mem::transmute_copy(&pfilter), ::core::mem::transmute_copy(&pfilterbytelength)).into()
2546 }
2547 unsafe extern "system" fn ClearStorageFilter<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11InfoQueue_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) {
2548 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2549 let this = (*this).get_impl();
2550 this.ClearStorageFilter()
2551 }
2552 unsafe extern "system" fn PushEmptyStorageFilter<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11InfoQueue_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
2553 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2554 let this = (*this).get_impl();
2555 this.PushEmptyStorageFilter().into()
2556 }
2557 unsafe extern "system" fn PushCopyOfStorageFilter<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11InfoQueue_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
2558 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2559 let this = (*this).get_impl();
2560 this.PushCopyOfStorageFilter().into()
2561 }
2562 unsafe extern "system" fn PushStorageFilter<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11InfoQueue_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pfilter: *const D3D11_INFO_QUEUE_FILTER) -> ::windows::core::HRESULT {
2563 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2564 let this = (*this).get_impl();
2565 this.PushStorageFilter(::core::mem::transmute_copy(&pfilter)).into()
2566 }
2567 unsafe extern "system" fn PopStorageFilter<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11InfoQueue_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) {
2568 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2569 let this = (*this).get_impl();
2570 this.PopStorageFilter()
2571 }
2572 unsafe extern "system" fn GetStorageFilterStackSize<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11InfoQueue_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> u32 {
2573 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2574 let this = (*this).get_impl();
2575 this.GetStorageFilterStackSize()
2576 }
2577 unsafe extern "system" fn AddRetrievalFilterEntries<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11InfoQueue_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pfilter: *const D3D11_INFO_QUEUE_FILTER) -> ::windows::core::HRESULT {
2578 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2579 let this = (*this).get_impl();
2580 this.AddRetrievalFilterEntries(::core::mem::transmute_copy(&pfilter)).into()
2581 }
2582 unsafe extern "system" fn GetRetrievalFilter<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11InfoQueue_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pfilter: *mut D3D11_INFO_QUEUE_FILTER, pfilterbytelength: *mut usize) -> ::windows::core::HRESULT {
2583 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2584 let this = (*this).get_impl();
2585 this.GetRetrievalFilter(::core::mem::transmute_copy(&pfilter), ::core::mem::transmute_copy(&pfilterbytelength)).into()
2586 }
2587 unsafe extern "system" fn ClearRetrievalFilter<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11InfoQueue_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) {
2588 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2589 let this = (*this).get_impl();
2590 this.ClearRetrievalFilter()
2591 }
2592 unsafe extern "system" fn PushEmptyRetrievalFilter<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11InfoQueue_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
2593 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2594 let this = (*this).get_impl();
2595 this.PushEmptyRetrievalFilter().into()
2596 }
2597 unsafe extern "system" fn PushCopyOfRetrievalFilter<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11InfoQueue_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
2598 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2599 let this = (*this).get_impl();
2600 this.PushCopyOfRetrievalFilter().into()
2601 }
2602 unsafe extern "system" fn PushRetrievalFilter<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11InfoQueue_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pfilter: *const D3D11_INFO_QUEUE_FILTER) -> ::windows::core::HRESULT {
2603 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2604 let this = (*this).get_impl();
2605 this.PushRetrievalFilter(::core::mem::transmute_copy(&pfilter)).into()
2606 }
2607 unsafe extern "system" fn PopRetrievalFilter<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11InfoQueue_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) {
2608 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2609 let this = (*this).get_impl();
2610 this.PopRetrievalFilter()
2611 }
2612 unsafe extern "system" fn GetRetrievalFilterStackSize<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11InfoQueue_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> u32 {
2613 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2614 let this = (*this).get_impl();
2615 this.GetRetrievalFilterStackSize()
2616 }
2617 unsafe extern "system" fn AddMessage<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11InfoQueue_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, category: D3D11_MESSAGE_CATEGORY, severity: D3D11_MESSAGE_SEVERITY, id: D3D11_MESSAGE_ID, pdescription: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
2618 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2619 let this = (*this).get_impl();
2620 this.AddMessage(::core::mem::transmute_copy(&category), ::core::mem::transmute_copy(&severity), ::core::mem::transmute_copy(&id), ::core::mem::transmute(&pdescription)).into()
2621 }
2622 unsafe extern "system" fn AddApplicationMessage<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11InfoQueue_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, severity: D3D11_MESSAGE_SEVERITY, pdescription: ::windows::core::PCSTR) -> ::windows::core::HRESULT {
2623 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2624 let this = (*this).get_impl();
2625 this.AddApplicationMessage(::core::mem::transmute_copy(&severity), ::core::mem::transmute(&pdescription)).into()
2626 }
2627 unsafe extern "system" fn SetBreakOnCategory<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11InfoQueue_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, category: D3D11_MESSAGE_CATEGORY, benable: super::super::Foundation::BOOL) -> ::windows::core::HRESULT {
2628 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2629 let this = (*this).get_impl();
2630 this.SetBreakOnCategory(::core::mem::transmute_copy(&category), ::core::mem::transmute_copy(&benable)).into()
2631 }
2632 unsafe extern "system" fn SetBreakOnSeverity<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11InfoQueue_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, severity: D3D11_MESSAGE_SEVERITY, benable: super::super::Foundation::BOOL) -> ::windows::core::HRESULT {
2633 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2634 let this = (*this).get_impl();
2635 this.SetBreakOnSeverity(::core::mem::transmute_copy(&severity), ::core::mem::transmute_copy(&benable)).into()
2636 }
2637 unsafe extern "system" fn SetBreakOnID<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11InfoQueue_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, id: D3D11_MESSAGE_ID, benable: super::super::Foundation::BOOL) -> ::windows::core::HRESULT {
2638 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2639 let this = (*this).get_impl();
2640 this.SetBreakOnID(::core::mem::transmute_copy(&id), ::core::mem::transmute_copy(&benable)).into()
2641 }
2642 unsafe extern "system" fn GetBreakOnCategory<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11InfoQueue_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, category: D3D11_MESSAGE_CATEGORY) -> super::super::Foundation::BOOL {
2643 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2644 let this = (*this).get_impl();
2645 this.GetBreakOnCategory(::core::mem::transmute_copy(&category))
2646 }
2647 unsafe extern "system" fn GetBreakOnSeverity<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11InfoQueue_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, severity: D3D11_MESSAGE_SEVERITY) -> super::super::Foundation::BOOL {
2648 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2649 let this = (*this).get_impl();
2650 this.GetBreakOnSeverity(::core::mem::transmute_copy(&severity))
2651 }
2652 unsafe extern "system" fn GetBreakOnID<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11InfoQueue_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, id: D3D11_MESSAGE_ID) -> super::super::Foundation::BOOL {
2653 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2654 let this = (*this).get_impl();
2655 this.GetBreakOnID(::core::mem::transmute_copy(&id))
2656 }
2657 unsafe extern "system" fn SetMuteDebugOutput<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11InfoQueue_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bmute: super::super::Foundation::BOOL) {
2658 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2659 let this = (*this).get_impl();
2660 this.SetMuteDebugOutput(::core::mem::transmute_copy(&bmute))
2661 }
2662 unsafe extern "system" fn GetMuteDebugOutput<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11InfoQueue_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> super::super::Foundation::BOOL {
2663 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2664 let this = (*this).get_impl();
2665 this.GetMuteDebugOutput()
2666 }
2667 Self {
2668 base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
2669 SetMessageCountLimit: SetMessageCountLimit::<Identity, Impl, OFFSET>,
2670 ClearStoredMessages: ClearStoredMessages::<Identity, Impl, OFFSET>,
2671 GetMessage: GetMessage::<Identity, Impl, OFFSET>,
2672 GetNumMessagesAllowedByStorageFilter: GetNumMessagesAllowedByStorageFilter::<Identity, Impl, OFFSET>,
2673 GetNumMessagesDeniedByStorageFilter: GetNumMessagesDeniedByStorageFilter::<Identity, Impl, OFFSET>,
2674 GetNumStoredMessages: GetNumStoredMessages::<Identity, Impl, OFFSET>,
2675 GetNumStoredMessagesAllowedByRetrievalFilter: GetNumStoredMessagesAllowedByRetrievalFilter::<Identity, Impl, OFFSET>,
2676 GetNumMessagesDiscardedByMessageCountLimit: GetNumMessagesDiscardedByMessageCountLimit::<Identity, Impl, OFFSET>,
2677 GetMessageCountLimit: GetMessageCountLimit::<Identity, Impl, OFFSET>,
2678 AddStorageFilterEntries: AddStorageFilterEntries::<Identity, Impl, OFFSET>,
2679 GetStorageFilter: GetStorageFilter::<Identity, Impl, OFFSET>,
2680 ClearStorageFilter: ClearStorageFilter::<Identity, Impl, OFFSET>,
2681 PushEmptyStorageFilter: PushEmptyStorageFilter::<Identity, Impl, OFFSET>,
2682 PushCopyOfStorageFilter: PushCopyOfStorageFilter::<Identity, Impl, OFFSET>,
2683 PushStorageFilter: PushStorageFilter::<Identity, Impl, OFFSET>,
2684 PopStorageFilter: PopStorageFilter::<Identity, Impl, OFFSET>,
2685 GetStorageFilterStackSize: GetStorageFilterStackSize::<Identity, Impl, OFFSET>,
2686 AddRetrievalFilterEntries: AddRetrievalFilterEntries::<Identity, Impl, OFFSET>,
2687 GetRetrievalFilter: GetRetrievalFilter::<Identity, Impl, OFFSET>,
2688 ClearRetrievalFilter: ClearRetrievalFilter::<Identity, Impl, OFFSET>,
2689 PushEmptyRetrievalFilter: PushEmptyRetrievalFilter::<Identity, Impl, OFFSET>,
2690 PushCopyOfRetrievalFilter: PushCopyOfRetrievalFilter::<Identity, Impl, OFFSET>,
2691 PushRetrievalFilter: PushRetrievalFilter::<Identity, Impl, OFFSET>,
2692 PopRetrievalFilter: PopRetrievalFilter::<Identity, Impl, OFFSET>,
2693 GetRetrievalFilterStackSize: GetRetrievalFilterStackSize::<Identity, Impl, OFFSET>,
2694 AddMessage: AddMessage::<Identity, Impl, OFFSET>,
2695 AddApplicationMessage: AddApplicationMessage::<Identity, Impl, OFFSET>,
2696 SetBreakOnCategory: SetBreakOnCategory::<Identity, Impl, OFFSET>,
2697 SetBreakOnSeverity: SetBreakOnSeverity::<Identity, Impl, OFFSET>,
2698 SetBreakOnID: SetBreakOnID::<Identity, Impl, OFFSET>,
2699 GetBreakOnCategory: GetBreakOnCategory::<Identity, Impl, OFFSET>,
2700 GetBreakOnSeverity: GetBreakOnSeverity::<Identity, Impl, OFFSET>,
2701 GetBreakOnID: GetBreakOnID::<Identity, Impl, OFFSET>,
2702 SetMuteDebugOutput: SetMuteDebugOutput::<Identity, Impl, OFFSET>,
2703 GetMuteDebugOutput: GetMuteDebugOutput::<Identity, Impl, OFFSET>,
2704 }
2705 }
2706 pub fn matches(iid: &windows::core::GUID) -> bool {
2707 iid == &<ID3D11InfoQueue as ::windows::core::ComInterface>::IID
2708 }
2709}
2710#[doc = "*Required features: `\"Win32_Graphics_Direct3D11\"`, `\"implement\"`*"]
2711pub trait ID3D11InputLayout_Impl: Sized + ID3D11DeviceChild_Impl {}
2712impl ::windows::core::RuntimeName for ID3D11InputLayout {}
2713impl ID3D11InputLayout_Vtbl {
2714 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11InputLayout_Impl, const OFFSET: isize>() -> ID3D11InputLayout_Vtbl {
2715 Self { base__: ID3D11DeviceChild_Vtbl::new::<Identity, Impl, OFFSET>() }
2716 }
2717 pub fn matches(iid: &windows::core::GUID) -> bool {
2718 iid == &<ID3D11InputLayout as ::windows::core::ComInterface>::IID || iid == &<ID3D11DeviceChild as ::windows::core::ComInterface>::IID
2719 }
2720}
2721#[doc = "*Required features: `\"Win32_Graphics_Direct3D11\"`, `\"implement\"`*"]
2722pub trait ID3D11LibraryReflection_Impl: Sized {
2723 fn GetDesc(&self) -> ::windows::core::Result<D3D11_LIBRARY_DESC>;
2724 fn GetFunctionByIndex(&self, functionindex: i32) -> ::core::option::Option<ID3D11FunctionReflection>;
2725}
2726impl ::windows::core::RuntimeName for ID3D11LibraryReflection {}
2727impl ID3D11LibraryReflection_Vtbl {
2728 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11LibraryReflection_Impl, const OFFSET: isize>() -> ID3D11LibraryReflection_Vtbl {
2729 unsafe extern "system" fn GetDesc<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11LibraryReflection_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdesc: *mut D3D11_LIBRARY_DESC) -> ::windows::core::HRESULT {
2730 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2731 let this = (*this).get_impl();
2732 match this.GetDesc() {
2733 ::core::result::Result::Ok(ok__) => {
2734 ::core::ptr::write(pdesc, ::core::mem::transmute(ok__));
2735 ::windows::core::HRESULT(0)
2736 }
2737 ::core::result::Result::Err(err) => err.into(),
2738 }
2739 }
2740 unsafe extern "system" fn GetFunctionByIndex<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11LibraryReflection_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, functionindex: i32) -> ::core::option::Option<ID3D11FunctionReflection> {
2741 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2742 let this = (*this).get_impl();
2743 this.GetFunctionByIndex(::core::mem::transmute_copy(&functionindex))
2744 }
2745 Self {
2746 base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
2747 GetDesc: GetDesc::<Identity, Impl, OFFSET>,
2748 GetFunctionByIndex: GetFunctionByIndex::<Identity, Impl, OFFSET>,
2749 }
2750 }
2751 pub fn matches(iid: &windows::core::GUID) -> bool {
2752 iid == &<ID3D11LibraryReflection as ::windows::core::ComInterface>::IID
2753 }
2754}
2755#[doc = "*Required features: `\"Win32_Graphics_Direct3D11\"`, `\"Win32_Graphics_Direct3D\"`, `\"implement\"`*"]
2756#[cfg(feature = "Win32_Graphics_Direct3D")]
2757pub trait ID3D11Linker_Impl: Sized {
2758 fn Link(&self, pentry: ::core::option::Option<&ID3D11ModuleInstance>, pentryname: &::windows::core::PCSTR, ptargetname: &::windows::core::PCSTR, uflags: u32, ppshaderblob: *mut ::core::option::Option<super::Direct3D::ID3DBlob>, pperrorbuffer: *mut ::core::option::Option<super::Direct3D::ID3DBlob>) -> ::windows::core::Result<()>;
2759 fn UseLibrary(&self, plibrarymi: ::core::option::Option<&ID3D11ModuleInstance>) -> ::windows::core::Result<()>;
2760 fn AddClipPlaneFromCBuffer(&self, ucbufferslot: u32, ucbufferentry: u32) -> ::windows::core::Result<()>;
2761}
2762#[cfg(feature = "Win32_Graphics_Direct3D")]
2763impl ::windows::core::RuntimeName for ID3D11Linker {}
2764#[cfg(feature = "Win32_Graphics_Direct3D")]
2765impl ID3D11Linker_Vtbl {
2766 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11Linker_Impl, const OFFSET: isize>() -> ID3D11Linker_Vtbl {
2767 unsafe extern "system" fn Link<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11Linker_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pentry: *mut ::core::ffi::c_void, pentryname: ::windows::core::PCSTR, ptargetname: ::windows::core::PCSTR, uflags: u32, ppshaderblob: *mut *mut ::core::ffi::c_void, pperrorbuffer: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
2768 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2769 let this = (*this).get_impl();
2770 this.Link(::windows::core::from_raw_borrowed(&pentry), ::core::mem::transmute(&pentryname), ::core::mem::transmute(&ptargetname), ::core::mem::transmute_copy(&uflags), ::core::mem::transmute_copy(&ppshaderblob), ::core::mem::transmute_copy(&pperrorbuffer)).into()
2771 }
2772 unsafe extern "system" fn UseLibrary<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11Linker_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, plibrarymi: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
2773 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2774 let this = (*this).get_impl();
2775 this.UseLibrary(::windows::core::from_raw_borrowed(&plibrarymi)).into()
2776 }
2777 unsafe extern "system" fn AddClipPlaneFromCBuffer<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11Linker_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ucbufferslot: u32, ucbufferentry: u32) -> ::windows::core::HRESULT {
2778 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2779 let this = (*this).get_impl();
2780 this.AddClipPlaneFromCBuffer(::core::mem::transmute_copy(&ucbufferslot), ::core::mem::transmute_copy(&ucbufferentry)).into()
2781 }
2782 Self {
2783 base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
2784 Link: Link::<Identity, Impl, OFFSET>,
2785 UseLibrary: UseLibrary::<Identity, Impl, OFFSET>,
2786 AddClipPlaneFromCBuffer: AddClipPlaneFromCBuffer::<Identity, Impl, OFFSET>,
2787 }
2788 }
2789 pub fn matches(iid: &windows::core::GUID) -> bool {
2790 iid == &<ID3D11Linker as ::windows::core::ComInterface>::IID
2791 }
2792}
2793#[doc = "*Required features: `\"Win32_Graphics_Direct3D11\"`, `\"implement\"`*"]
2794pub trait ID3D11LinkingNode_Impl: Sized {}
2795impl ::windows::core::RuntimeName for ID3D11LinkingNode {}
2796impl ID3D11LinkingNode_Vtbl {
2797 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11LinkingNode_Impl, const OFFSET: isize>() -> ID3D11LinkingNode_Vtbl {
2798 Self { base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>() }
2799 }
2800 pub fn matches(iid: &windows::core::GUID) -> bool {
2801 iid == &<ID3D11LinkingNode as ::windows::core::ComInterface>::IID
2802 }
2803}
2804#[doc = "*Required features: `\"Win32_Graphics_Direct3D11\"`, `\"implement\"`*"]
2805pub trait ID3D11Module_Impl: Sized {
2806 fn CreateInstance(&self, pnamespace: &::windows::core::PCSTR) -> ::windows::core::Result<ID3D11ModuleInstance>;
2807}
2808impl ::windows::core::RuntimeName for ID3D11Module {}
2809impl ID3D11Module_Vtbl {
2810 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11Module_Impl, const OFFSET: isize>() -> ID3D11Module_Vtbl {
2811 unsafe extern "system" fn CreateInstance<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11Module_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pnamespace: ::windows::core::PCSTR, ppmoduleinstance: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
2812 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2813 let this = (*this).get_impl();
2814 match this.CreateInstance(::core::mem::transmute(&pnamespace)) {
2815 ::core::result::Result::Ok(ok__) => {
2816 ::core::ptr::write(ppmoduleinstance, ::core::mem::transmute(ok__));
2817 ::windows::core::HRESULT(0)
2818 }
2819 ::core::result::Result::Err(err) => err.into(),
2820 }
2821 }
2822 Self { base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(), CreateInstance: CreateInstance::<Identity, Impl, OFFSET> }
2823 }
2824 pub fn matches(iid: &windows::core::GUID) -> bool {
2825 iid == &<ID3D11Module as ::windows::core::ComInterface>::IID
2826 }
2827}
2828#[doc = "*Required features: `\"Win32_Graphics_Direct3D11\"`, `\"implement\"`*"]
2829pub trait ID3D11ModuleInstance_Impl: Sized {
2830 fn BindConstantBuffer(&self, usrcslot: u32, udstslot: u32, cbdstoffset: u32) -> ::windows::core::Result<()>;
2831 fn BindConstantBufferByName(&self, pname: &::windows::core::PCSTR, udstslot: u32, cbdstoffset: u32) -> ::windows::core::Result<()>;
2832 fn BindResource(&self, usrcslot: u32, udstslot: u32, ucount: u32) -> ::windows::core::Result<()>;
2833 fn BindResourceByName(&self, pname: &::windows::core::PCSTR, udstslot: u32, ucount: u32) -> ::windows::core::Result<()>;
2834 fn BindSampler(&self, usrcslot: u32, udstslot: u32, ucount: u32) -> ::windows::core::Result<()>;
2835 fn BindSamplerByName(&self, pname: &::windows::core::PCSTR, udstslot: u32, ucount: u32) -> ::windows::core::Result<()>;
2836 fn BindUnorderedAccessView(&self, usrcslot: u32, udstslot: u32, ucount: u32) -> ::windows::core::Result<()>;
2837 fn BindUnorderedAccessViewByName(&self, pname: &::windows::core::PCSTR, udstslot: u32, ucount: u32) -> ::windows::core::Result<()>;
2838 fn BindResourceAsUnorderedAccessView(&self, usrcsrvslot: u32, udstuavslot: u32, ucount: u32) -> ::windows::core::Result<()>;
2839 fn BindResourceAsUnorderedAccessViewByName(&self, psrvname: &::windows::core::PCSTR, udstuavslot: u32, ucount: u32) -> ::windows::core::Result<()>;
2840}
2841impl ::windows::core::RuntimeName for ID3D11ModuleInstance {}
2842impl ID3D11ModuleInstance_Vtbl {
2843 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11ModuleInstance_Impl, const OFFSET: isize>() -> ID3D11ModuleInstance_Vtbl {
2844 unsafe extern "system" fn BindConstantBuffer<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11ModuleInstance_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, usrcslot: u32, udstslot: u32, cbdstoffset: u32) -> ::windows::core::HRESULT {
2845 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2846 let this = (*this).get_impl();
2847 this.BindConstantBuffer(::core::mem::transmute_copy(&usrcslot), ::core::mem::transmute_copy(&udstslot), ::core::mem::transmute_copy(&cbdstoffset)).into()
2848 }
2849 unsafe extern "system" fn BindConstantBufferByName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11ModuleInstance_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pname: ::windows::core::PCSTR, udstslot: u32, cbdstoffset: u32) -> ::windows::core::HRESULT {
2850 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2851 let this = (*this).get_impl();
2852 this.BindConstantBufferByName(::core::mem::transmute(&pname), ::core::mem::transmute_copy(&udstslot), ::core::mem::transmute_copy(&cbdstoffset)).into()
2853 }
2854 unsafe extern "system" fn BindResource<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11ModuleInstance_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, usrcslot: u32, udstslot: u32, ucount: u32) -> ::windows::core::HRESULT {
2855 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2856 let this = (*this).get_impl();
2857 this.BindResource(::core::mem::transmute_copy(&usrcslot), ::core::mem::transmute_copy(&udstslot), ::core::mem::transmute_copy(&ucount)).into()
2858 }
2859 unsafe extern "system" fn BindResourceByName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11ModuleInstance_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pname: ::windows::core::PCSTR, udstslot: u32, ucount: u32) -> ::windows::core::HRESULT {
2860 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2861 let this = (*this).get_impl();
2862 this.BindResourceByName(::core::mem::transmute(&pname), ::core::mem::transmute_copy(&udstslot), ::core::mem::transmute_copy(&ucount)).into()
2863 }
2864 unsafe extern "system" fn BindSampler<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11ModuleInstance_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, usrcslot: u32, udstslot: u32, ucount: u32) -> ::windows::core::HRESULT {
2865 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2866 let this = (*this).get_impl();
2867 this.BindSampler(::core::mem::transmute_copy(&usrcslot), ::core::mem::transmute_copy(&udstslot), ::core::mem::transmute_copy(&ucount)).into()
2868 }
2869 unsafe extern "system" fn BindSamplerByName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11ModuleInstance_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pname: ::windows::core::PCSTR, udstslot: u32, ucount: u32) -> ::windows::core::HRESULT {
2870 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2871 let this = (*this).get_impl();
2872 this.BindSamplerByName(::core::mem::transmute(&pname), ::core::mem::transmute_copy(&udstslot), ::core::mem::transmute_copy(&ucount)).into()
2873 }
2874 unsafe extern "system" fn BindUnorderedAccessView<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11ModuleInstance_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, usrcslot: u32, udstslot: u32, ucount: u32) -> ::windows::core::HRESULT {
2875 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2876 let this = (*this).get_impl();
2877 this.BindUnorderedAccessView(::core::mem::transmute_copy(&usrcslot), ::core::mem::transmute_copy(&udstslot), ::core::mem::transmute_copy(&ucount)).into()
2878 }
2879 unsafe extern "system" fn BindUnorderedAccessViewByName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11ModuleInstance_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pname: ::windows::core::PCSTR, udstslot: u32, ucount: u32) -> ::windows::core::HRESULT {
2880 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2881 let this = (*this).get_impl();
2882 this.BindUnorderedAccessViewByName(::core::mem::transmute(&pname), ::core::mem::transmute_copy(&udstslot), ::core::mem::transmute_copy(&ucount)).into()
2883 }
2884 unsafe extern "system" fn BindResourceAsUnorderedAccessView<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11ModuleInstance_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, usrcsrvslot: u32, udstuavslot: u32, ucount: u32) -> ::windows::core::HRESULT {
2885 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2886 let this = (*this).get_impl();
2887 this.BindResourceAsUnorderedAccessView(::core::mem::transmute_copy(&usrcsrvslot), ::core::mem::transmute_copy(&udstuavslot), ::core::mem::transmute_copy(&ucount)).into()
2888 }
2889 unsafe extern "system" fn BindResourceAsUnorderedAccessViewByName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11ModuleInstance_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, psrvname: ::windows::core::PCSTR, udstuavslot: u32, ucount: u32) -> ::windows::core::HRESULT {
2890 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2891 let this = (*this).get_impl();
2892 this.BindResourceAsUnorderedAccessViewByName(::core::mem::transmute(&psrvname), ::core::mem::transmute_copy(&udstuavslot), ::core::mem::transmute_copy(&ucount)).into()
2893 }
2894 Self {
2895 base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
2896 BindConstantBuffer: BindConstantBuffer::<Identity, Impl, OFFSET>,
2897 BindConstantBufferByName: BindConstantBufferByName::<Identity, Impl, OFFSET>,
2898 BindResource: BindResource::<Identity, Impl, OFFSET>,
2899 BindResourceByName: BindResourceByName::<Identity, Impl, OFFSET>,
2900 BindSampler: BindSampler::<Identity, Impl, OFFSET>,
2901 BindSamplerByName: BindSamplerByName::<Identity, Impl, OFFSET>,
2902 BindUnorderedAccessView: BindUnorderedAccessView::<Identity, Impl, OFFSET>,
2903 BindUnorderedAccessViewByName: BindUnorderedAccessViewByName::<Identity, Impl, OFFSET>,
2904 BindResourceAsUnorderedAccessView: BindResourceAsUnorderedAccessView::<Identity, Impl, OFFSET>,
2905 BindResourceAsUnorderedAccessViewByName: BindResourceAsUnorderedAccessViewByName::<Identity, Impl, OFFSET>,
2906 }
2907 }
2908 pub fn matches(iid: &windows::core::GUID) -> bool {
2909 iid == &<ID3D11ModuleInstance as ::windows::core::ComInterface>::IID
2910 }
2911}
2912#[doc = "*Required features: `\"Win32_Graphics_Direct3D11\"`, `\"Win32_Foundation\"`, `\"implement\"`*"]
2913#[cfg(feature = "Win32_Foundation")]
2914pub trait ID3D11Multithread_Impl: Sized {
2915 fn Enter(&self);
2916 fn Leave(&self);
2917 fn SetMultithreadProtected(&self, bmtprotect: super::super::Foundation::BOOL) -> super::super::Foundation::BOOL;
2918 fn GetMultithreadProtected(&self) -> super::super::Foundation::BOOL;
2919}
2920#[cfg(feature = "Win32_Foundation")]
2921impl ::windows::core::RuntimeName for ID3D11Multithread {}
2922#[cfg(feature = "Win32_Foundation")]
2923impl ID3D11Multithread_Vtbl {
2924 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11Multithread_Impl, const OFFSET: isize>() -> ID3D11Multithread_Vtbl {
2925 unsafe extern "system" fn Enter<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11Multithread_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) {
2926 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2927 let this = (*this).get_impl();
2928 this.Enter()
2929 }
2930 unsafe extern "system" fn Leave<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11Multithread_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) {
2931 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2932 let this = (*this).get_impl();
2933 this.Leave()
2934 }
2935 unsafe extern "system" fn SetMultithreadProtected<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11Multithread_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bmtprotect: super::super::Foundation::BOOL) -> super::super::Foundation::BOOL {
2936 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2937 let this = (*this).get_impl();
2938 this.SetMultithreadProtected(::core::mem::transmute_copy(&bmtprotect))
2939 }
2940 unsafe extern "system" fn GetMultithreadProtected<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11Multithread_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> super::super::Foundation::BOOL {
2941 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2942 let this = (*this).get_impl();
2943 this.GetMultithreadProtected()
2944 }
2945 Self {
2946 base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
2947 Enter: Enter::<Identity, Impl, OFFSET>,
2948 Leave: Leave::<Identity, Impl, OFFSET>,
2949 SetMultithreadProtected: SetMultithreadProtected::<Identity, Impl, OFFSET>,
2950 GetMultithreadProtected: GetMultithreadProtected::<Identity, Impl, OFFSET>,
2951 }
2952 }
2953 pub fn matches(iid: &windows::core::GUID) -> bool {
2954 iid == &<ID3D11Multithread as ::windows::core::ComInterface>::IID
2955 }
2956}
2957#[doc = "*Required features: `\"Win32_Graphics_Direct3D11\"`, `\"implement\"`*"]
2958pub trait ID3D11PixelShader_Impl: Sized + ID3D11DeviceChild_Impl {}
2959impl ::windows::core::RuntimeName for ID3D11PixelShader {}
2960impl ID3D11PixelShader_Vtbl {
2961 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11PixelShader_Impl, const OFFSET: isize>() -> ID3D11PixelShader_Vtbl {
2962 Self { base__: ID3D11DeviceChild_Vtbl::new::<Identity, Impl, OFFSET>() }
2963 }
2964 pub fn matches(iid: &windows::core::GUID) -> bool {
2965 iid == &<ID3D11PixelShader as ::windows::core::ComInterface>::IID || iid == &<ID3D11DeviceChild as ::windows::core::ComInterface>::IID
2966 }
2967}
2968#[doc = "*Required features: `\"Win32_Graphics_Direct3D11\"`, `\"implement\"`*"]
2969pub trait ID3D11Predicate_Impl: Sized + ID3D11Query_Impl {}
2970impl ::windows::core::RuntimeName for ID3D11Predicate {}
2971impl ID3D11Predicate_Vtbl {
2972 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11Predicate_Impl, const OFFSET: isize>() -> ID3D11Predicate_Vtbl {
2973 Self { base__: ID3D11Query_Vtbl::new::<Identity, Impl, OFFSET>() }
2974 }
2975 pub fn matches(iid: &windows::core::GUID) -> bool {
2976 iid == &<ID3D11Predicate as ::windows::core::ComInterface>::IID || iid == &<ID3D11DeviceChild as ::windows::core::ComInterface>::IID || iid == &<ID3D11Asynchronous as ::windows::core::ComInterface>::IID || iid == &<ID3D11Query as ::windows::core::ComInterface>::IID
2977 }
2978}
2979#[doc = "*Required features: `\"Win32_Graphics_Direct3D11\"`, `\"implement\"`*"]
2980pub trait ID3D11Query_Impl: Sized + ID3D11Asynchronous_Impl {
2981 fn GetDesc(&self, pdesc: *mut D3D11_QUERY_DESC) -> ();
2982}
2983impl ::windows::core::RuntimeName for ID3D11Query {}
2984impl ID3D11Query_Vtbl {
2985 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11Query_Impl, const OFFSET: isize>() -> ID3D11Query_Vtbl {
2986 unsafe extern "system" fn GetDesc<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11Query_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdesc: *mut D3D11_QUERY_DESC) {
2987 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2988 let this = (*this).get_impl();
2989 this.GetDesc(::core::mem::transmute_copy(&pdesc))
2990 }
2991 Self { base__: ID3D11Asynchronous_Vtbl::new::<Identity, Impl, OFFSET>(), GetDesc: GetDesc::<Identity, Impl, OFFSET> }
2992 }
2993 pub fn matches(iid: &windows::core::GUID) -> bool {
2994 iid == &<ID3D11Query as ::windows::core::ComInterface>::IID || iid == &<ID3D11DeviceChild as ::windows::core::ComInterface>::IID || iid == &<ID3D11Asynchronous as ::windows::core::ComInterface>::IID
2995 }
2996}
2997#[doc = "*Required features: `\"Win32_Graphics_Direct3D11\"`, `\"implement\"`*"]
2998pub trait ID3D11Query1_Impl: Sized + ID3D11Query_Impl {
2999 fn GetDesc1(&self, pdesc1: *mut D3D11_QUERY_DESC1) -> ();
3000}
3001impl ::windows::core::RuntimeName for ID3D11Query1 {}
3002impl ID3D11Query1_Vtbl {
3003 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11Query1_Impl, const OFFSET: isize>() -> ID3D11Query1_Vtbl {
3004 unsafe extern "system" fn GetDesc1<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11Query1_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdesc1: *mut D3D11_QUERY_DESC1) {
3005 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3006 let this = (*this).get_impl();
3007 this.GetDesc1(::core::mem::transmute_copy(&pdesc1))
3008 }
3009 Self { base__: ID3D11Query_Vtbl::new::<Identity, Impl, OFFSET>(), GetDesc1: GetDesc1::<Identity, Impl, OFFSET> }
3010 }
3011 pub fn matches(iid: &windows::core::GUID) -> bool {
3012 iid == &<ID3D11Query1 as ::windows::core::ComInterface>::IID || iid == &<ID3D11DeviceChild as ::windows::core::ComInterface>::IID || iid == &<ID3D11Asynchronous as ::windows::core::ComInterface>::IID || iid == &<ID3D11Query as ::windows::core::ComInterface>::IID
3013 }
3014}
3015#[doc = "*Required features: `\"Win32_Graphics_Direct3D11\"`, `\"Win32_Foundation\"`, `\"implement\"`*"]
3016#[cfg(feature = "Win32_Foundation")]
3017pub trait ID3D11RasterizerState_Impl: Sized + ID3D11DeviceChild_Impl {
3018 fn GetDesc(&self, pdesc: *mut D3D11_RASTERIZER_DESC);
3019}
3020#[cfg(feature = "Win32_Foundation")]
3021impl ::windows::core::RuntimeName for ID3D11RasterizerState {}
3022#[cfg(feature = "Win32_Foundation")]
3023impl ID3D11RasterizerState_Vtbl {
3024 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11RasterizerState_Impl, const OFFSET: isize>() -> ID3D11RasterizerState_Vtbl {
3025 unsafe extern "system" fn GetDesc<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11RasterizerState_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdesc: *mut D3D11_RASTERIZER_DESC) {
3026 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3027 let this = (*this).get_impl();
3028 this.GetDesc(::core::mem::transmute_copy(&pdesc))
3029 }
3030 Self { base__: ID3D11DeviceChild_Vtbl::new::<Identity, Impl, OFFSET>(), GetDesc: GetDesc::<Identity, Impl, OFFSET> }
3031 }
3032 pub fn matches(iid: &windows::core::GUID) -> bool {
3033 iid == &<ID3D11RasterizerState as ::windows::core::ComInterface>::IID || iid == &<ID3D11DeviceChild as ::windows::core::ComInterface>::IID
3034 }
3035}
3036#[doc = "*Required features: `\"Win32_Graphics_Direct3D11\"`, `\"Win32_Foundation\"`, `\"implement\"`*"]
3037#[cfg(feature = "Win32_Foundation")]
3038pub trait ID3D11RasterizerState1_Impl: Sized + ID3D11RasterizerState_Impl {
3039 fn GetDesc1(&self, pdesc: *mut D3D11_RASTERIZER_DESC1);
3040}
3041#[cfg(feature = "Win32_Foundation")]
3042impl ::windows::core::RuntimeName for ID3D11RasterizerState1 {}
3043#[cfg(feature = "Win32_Foundation")]
3044impl ID3D11RasterizerState1_Vtbl {
3045 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11RasterizerState1_Impl, const OFFSET: isize>() -> ID3D11RasterizerState1_Vtbl {
3046 unsafe extern "system" fn GetDesc1<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11RasterizerState1_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdesc: *mut D3D11_RASTERIZER_DESC1) {
3047 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3048 let this = (*this).get_impl();
3049 this.GetDesc1(::core::mem::transmute_copy(&pdesc))
3050 }
3051 Self { base__: ID3D11RasterizerState_Vtbl::new::<Identity, Impl, OFFSET>(), GetDesc1: GetDesc1::<Identity, Impl, OFFSET> }
3052 }
3053 pub fn matches(iid: &windows::core::GUID) -> bool {
3054 iid == &<ID3D11RasterizerState1 as ::windows::core::ComInterface>::IID || iid == &<ID3D11DeviceChild as ::windows::core::ComInterface>::IID || iid == &<ID3D11RasterizerState as ::windows::core::ComInterface>::IID
3055 }
3056}
3057#[doc = "*Required features: `\"Win32_Graphics_Direct3D11\"`, `\"Win32_Foundation\"`, `\"implement\"`*"]
3058#[cfg(feature = "Win32_Foundation")]
3059pub trait ID3D11RasterizerState2_Impl: Sized + ID3D11RasterizerState1_Impl {
3060 fn GetDesc2(&self, pdesc: *mut D3D11_RASTERIZER_DESC2);
3061}
3062#[cfg(feature = "Win32_Foundation")]
3063impl ::windows::core::RuntimeName for ID3D11RasterizerState2 {}
3064#[cfg(feature = "Win32_Foundation")]
3065impl ID3D11RasterizerState2_Vtbl {
3066 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11RasterizerState2_Impl, const OFFSET: isize>() -> ID3D11RasterizerState2_Vtbl {
3067 unsafe extern "system" fn GetDesc2<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11RasterizerState2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdesc: *mut D3D11_RASTERIZER_DESC2) {
3068 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3069 let this = (*this).get_impl();
3070 this.GetDesc2(::core::mem::transmute_copy(&pdesc))
3071 }
3072 Self { base__: ID3D11RasterizerState1_Vtbl::new::<Identity, Impl, OFFSET>(), GetDesc2: GetDesc2::<Identity, Impl, OFFSET> }
3073 }
3074 pub fn matches(iid: &windows::core::GUID) -> bool {
3075 iid == &<ID3D11RasterizerState2 as ::windows::core::ComInterface>::IID || iid == &<ID3D11DeviceChild as ::windows::core::ComInterface>::IID || iid == &<ID3D11RasterizerState as ::windows::core::ComInterface>::IID || iid == &<ID3D11RasterizerState1 as ::windows::core::ComInterface>::IID
3076 }
3077}
3078#[doc = "*Required features: `\"Win32_Graphics_Direct3D11\"`, `\"implement\"`*"]
3079pub trait ID3D11RefDefaultTrackingOptions_Impl: Sized {
3080 fn SetTrackingOptions(&self, resourcetypeflags: u32, options: u32) -> ::windows::core::Result<()>;
3081}
3082impl ::windows::core::RuntimeName for ID3D11RefDefaultTrackingOptions {}
3083impl ID3D11RefDefaultTrackingOptions_Vtbl {
3084 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11RefDefaultTrackingOptions_Impl, const OFFSET: isize>() -> ID3D11RefDefaultTrackingOptions_Vtbl {
3085 unsafe extern "system" fn SetTrackingOptions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11RefDefaultTrackingOptions_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, resourcetypeflags: u32, options: u32) -> ::windows::core::HRESULT {
3086 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3087 let this = (*this).get_impl();
3088 this.SetTrackingOptions(::core::mem::transmute_copy(&resourcetypeflags), ::core::mem::transmute_copy(&options)).into()
3089 }
3090 Self { base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(), SetTrackingOptions: SetTrackingOptions::<Identity, Impl, OFFSET> }
3091 }
3092 pub fn matches(iid: &windows::core::GUID) -> bool {
3093 iid == &<ID3D11RefDefaultTrackingOptions as ::windows::core::ComInterface>::IID
3094 }
3095}
3096#[doc = "*Required features: `\"Win32_Graphics_Direct3D11\"`, `\"implement\"`*"]
3097pub trait ID3D11RefTrackingOptions_Impl: Sized {
3098 fn SetTrackingOptions(&self, uoptions: u32) -> ::windows::core::Result<()>;
3099}
3100impl ::windows::core::RuntimeName for ID3D11RefTrackingOptions {}
3101impl ID3D11RefTrackingOptions_Vtbl {
3102 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11RefTrackingOptions_Impl, const OFFSET: isize>() -> ID3D11RefTrackingOptions_Vtbl {
3103 unsafe extern "system" fn SetTrackingOptions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11RefTrackingOptions_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, uoptions: u32) -> ::windows::core::HRESULT {
3104 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3105 let this = (*this).get_impl();
3106 this.SetTrackingOptions(::core::mem::transmute_copy(&uoptions)).into()
3107 }
3108 Self { base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(), SetTrackingOptions: SetTrackingOptions::<Identity, Impl, OFFSET> }
3109 }
3110 pub fn matches(iid: &windows::core::GUID) -> bool {
3111 iid == &<ID3D11RefTrackingOptions as ::windows::core::ComInterface>::IID
3112 }
3113}
3114#[doc = "*Required features: `\"Win32_Graphics_Direct3D11\"`, `\"Win32_Graphics_Dxgi_Common\"`, `\"implement\"`*"]
3115#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
3116pub trait ID3D11RenderTargetView_Impl: Sized + ID3D11View_Impl {
3117 fn GetDesc(&self, pdesc: *mut D3D11_RENDER_TARGET_VIEW_DESC);
3118}
3119#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
3120impl ::windows::core::RuntimeName for ID3D11RenderTargetView {}
3121#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
3122impl ID3D11RenderTargetView_Vtbl {
3123 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11RenderTargetView_Impl, const OFFSET: isize>() -> ID3D11RenderTargetView_Vtbl {
3124 unsafe extern "system" fn GetDesc<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11RenderTargetView_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdesc: *mut D3D11_RENDER_TARGET_VIEW_DESC) {
3125 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3126 let this = (*this).get_impl();
3127 this.GetDesc(::core::mem::transmute_copy(&pdesc))
3128 }
3129 Self { base__: ID3D11View_Vtbl::new::<Identity, Impl, OFFSET>(), GetDesc: GetDesc::<Identity, Impl, OFFSET> }
3130 }
3131 pub fn matches(iid: &windows::core::GUID) -> bool {
3132 iid == &<ID3D11RenderTargetView as ::windows::core::ComInterface>::IID || iid == &<ID3D11DeviceChild as ::windows::core::ComInterface>::IID || iid == &<ID3D11View as ::windows::core::ComInterface>::IID
3133 }
3134}
3135#[doc = "*Required features: `\"Win32_Graphics_Direct3D11\"`, `\"Win32_Graphics_Dxgi_Common\"`, `\"implement\"`*"]
3136#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
3137pub trait ID3D11RenderTargetView1_Impl: Sized + ID3D11RenderTargetView_Impl {
3138 fn GetDesc1(&self, pdesc1: *mut D3D11_RENDER_TARGET_VIEW_DESC1);
3139}
3140#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
3141impl ::windows::core::RuntimeName for ID3D11RenderTargetView1 {}
3142#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
3143impl ID3D11RenderTargetView1_Vtbl {
3144 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11RenderTargetView1_Impl, const OFFSET: isize>() -> ID3D11RenderTargetView1_Vtbl {
3145 unsafe extern "system" fn GetDesc1<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11RenderTargetView1_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdesc1: *mut D3D11_RENDER_TARGET_VIEW_DESC1) {
3146 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3147 let this = (*this).get_impl();
3148 this.GetDesc1(::core::mem::transmute_copy(&pdesc1))
3149 }
3150 Self { base__: ID3D11RenderTargetView_Vtbl::new::<Identity, Impl, OFFSET>(), GetDesc1: GetDesc1::<Identity, Impl, OFFSET> }
3151 }
3152 pub fn matches(iid: &windows::core::GUID) -> bool {
3153 iid == &<ID3D11RenderTargetView1 as ::windows::core::ComInterface>::IID || iid == &<ID3D11DeviceChild as ::windows::core::ComInterface>::IID || iid == &<ID3D11View as ::windows::core::ComInterface>::IID || iid == &<ID3D11RenderTargetView as ::windows::core::ComInterface>::IID
3154 }
3155}
3156#[doc = "*Required features: `\"Win32_Graphics_Direct3D11\"`, `\"implement\"`*"]
3157pub trait ID3D11Resource_Impl: Sized + ID3D11DeviceChild_Impl {
3158 fn GetType(&self, presourcedimension: *mut D3D11_RESOURCE_DIMENSION) -> ();
3159 fn SetEvictionPriority(&self, evictionpriority: u32);
3160 fn GetEvictionPriority(&self) -> u32;
3161}
3162impl ::windows::core::RuntimeName for ID3D11Resource {}
3163impl ID3D11Resource_Vtbl {
3164 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11Resource_Impl, const OFFSET: isize>() -> ID3D11Resource_Vtbl {
3165 unsafe extern "system" fn GetType<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11Resource_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, presourcedimension: *mut D3D11_RESOURCE_DIMENSION) {
3166 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3167 let this = (*this).get_impl();
3168 this.GetType(::core::mem::transmute_copy(&presourcedimension))
3169 }
3170 unsafe extern "system" fn SetEvictionPriority<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11Resource_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, evictionpriority: u32) {
3171 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3172 let this = (*this).get_impl();
3173 this.SetEvictionPriority(::core::mem::transmute_copy(&evictionpriority))
3174 }
3175 unsafe extern "system" fn GetEvictionPriority<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11Resource_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> u32 {
3176 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3177 let this = (*this).get_impl();
3178 this.GetEvictionPriority()
3179 }
3180 Self {
3181 base__: ID3D11DeviceChild_Vtbl::new::<Identity, Impl, OFFSET>(),
3182 GetType: GetType::<Identity, Impl, OFFSET>,
3183 SetEvictionPriority: SetEvictionPriority::<Identity, Impl, OFFSET>,
3184 GetEvictionPriority: GetEvictionPriority::<Identity, Impl, OFFSET>,
3185 }
3186 }
3187 pub fn matches(iid: &windows::core::GUID) -> bool {
3188 iid == &<ID3D11Resource as ::windows::core::ComInterface>::IID || iid == &<ID3D11DeviceChild as ::windows::core::ComInterface>::IID
3189 }
3190}
3191#[doc = "*Required features: `\"Win32_Graphics_Direct3D11\"`, `\"implement\"`*"]
3192pub trait ID3D11SamplerState_Impl: Sized + ID3D11DeviceChild_Impl {
3193 fn GetDesc(&self, pdesc: *mut D3D11_SAMPLER_DESC);
3194}
3195impl ::windows::core::RuntimeName for ID3D11SamplerState {}
3196impl ID3D11SamplerState_Vtbl {
3197 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11SamplerState_Impl, const OFFSET: isize>() -> ID3D11SamplerState_Vtbl {
3198 unsafe extern "system" fn GetDesc<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11SamplerState_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdesc: *mut D3D11_SAMPLER_DESC) {
3199 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3200 let this = (*this).get_impl();
3201 this.GetDesc(::core::mem::transmute_copy(&pdesc))
3202 }
3203 Self { base__: ID3D11DeviceChild_Vtbl::new::<Identity, Impl, OFFSET>(), GetDesc: GetDesc::<Identity, Impl, OFFSET> }
3204 }
3205 pub fn matches(iid: &windows::core::GUID) -> bool {
3206 iid == &<ID3D11SamplerState as ::windows::core::ComInterface>::IID || iid == &<ID3D11DeviceChild as ::windows::core::ComInterface>::IID
3207 }
3208}
3209#[doc = "*Required features: `\"Win32_Graphics_Direct3D11\"`, `\"Win32_Foundation\"`, `\"Win32_Graphics_Direct3D\"`, `\"implement\"`*"]
3210#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D"))]
3211pub trait ID3D11ShaderReflection_Impl: Sized {
3212 fn GetDesc(&self, pdesc: *mut D3D11_SHADER_DESC) -> ::windows::core::Result<()>;
3213 fn GetConstantBufferByIndex(&self, index: u32) -> ::core::option::Option<ID3D11ShaderReflectionConstantBuffer>;
3214 fn GetConstantBufferByName(&self, name: &::windows::core::PCSTR) -> ::core::option::Option<ID3D11ShaderReflectionConstantBuffer>;
3215 fn GetResourceBindingDesc(&self, resourceindex: u32, pdesc: *mut D3D11_SHADER_INPUT_BIND_DESC) -> ::windows::core::Result<()>;
3216 fn GetInputParameterDesc(&self, parameterindex: u32, pdesc: *mut D3D11_SIGNATURE_PARAMETER_DESC) -> ::windows::core::Result<()>;
3217 fn GetOutputParameterDesc(&self, parameterindex: u32, pdesc: *mut D3D11_SIGNATURE_PARAMETER_DESC) -> ::windows::core::Result<()>;
3218 fn GetPatchConstantParameterDesc(&self, parameterindex: u32, pdesc: *mut D3D11_SIGNATURE_PARAMETER_DESC) -> ::windows::core::Result<()>;
3219 fn GetVariableByName(&self, name: &::windows::core::PCSTR) -> ::core::option::Option<ID3D11ShaderReflectionVariable>;
3220 fn GetResourceBindingDescByName(&self, name: &::windows::core::PCSTR, pdesc: *mut D3D11_SHADER_INPUT_BIND_DESC) -> ::windows::core::Result<()>;
3221 fn GetMovInstructionCount(&self) -> u32;
3222 fn GetMovcInstructionCount(&self) -> u32;
3223 fn GetConversionInstructionCount(&self) -> u32;
3224 fn GetBitwiseInstructionCount(&self) -> u32;
3225 fn GetGSInputPrimitive(&self) -> super::Direct3D::D3D_PRIMITIVE;
3226 fn IsSampleFrequencyShader(&self) -> super::super::Foundation::BOOL;
3227 fn GetNumInterfaceSlots(&self) -> u32;
3228 fn GetMinFeatureLevel(&self) -> ::windows::core::Result<super::Direct3D::D3D_FEATURE_LEVEL>;
3229 fn GetThreadGroupSize(&self, psizex: *mut u32, psizey: *mut u32, psizez: *mut u32) -> u32;
3230 fn GetRequiresFlags(&self) -> u64;
3231}
3232#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D"))]
3233impl ::windows::core::RuntimeName for ID3D11ShaderReflection {}
3234#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D"))]
3235impl ID3D11ShaderReflection_Vtbl {
3236 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11ShaderReflection_Impl, const OFFSET: isize>() -> ID3D11ShaderReflection_Vtbl {
3237 unsafe extern "system" fn GetDesc<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11ShaderReflection_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdesc: *mut D3D11_SHADER_DESC) -> ::windows::core::HRESULT {
3238 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3239 let this = (*this).get_impl();
3240 this.GetDesc(::core::mem::transmute_copy(&pdesc)).into()
3241 }
3242 unsafe extern "system" fn GetConstantBufferByIndex<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11ShaderReflection_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32) -> ::core::option::Option<ID3D11ShaderReflectionConstantBuffer> {
3243 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3244 let this = (*this).get_impl();
3245 this.GetConstantBufferByIndex(::core::mem::transmute_copy(&index))
3246 }
3247 unsafe extern "system" fn GetConstantBufferByName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11ShaderReflection_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, name: ::windows::core::PCSTR) -> ::core::option::Option<ID3D11ShaderReflectionConstantBuffer> {
3248 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3249 let this = (*this).get_impl();
3250 this.GetConstantBufferByName(::core::mem::transmute(&name))
3251 }
3252 unsafe extern "system" fn GetResourceBindingDesc<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11ShaderReflection_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, resourceindex: u32, pdesc: *mut D3D11_SHADER_INPUT_BIND_DESC) -> ::windows::core::HRESULT {
3253 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3254 let this = (*this).get_impl();
3255 this.GetResourceBindingDesc(::core::mem::transmute_copy(&resourceindex), ::core::mem::transmute_copy(&pdesc)).into()
3256 }
3257 unsafe extern "system" fn GetInputParameterDesc<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11ShaderReflection_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, parameterindex: u32, pdesc: *mut D3D11_SIGNATURE_PARAMETER_DESC) -> ::windows::core::HRESULT {
3258 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3259 let this = (*this).get_impl();
3260 this.GetInputParameterDesc(::core::mem::transmute_copy(&parameterindex), ::core::mem::transmute_copy(&pdesc)).into()
3261 }
3262 unsafe extern "system" fn GetOutputParameterDesc<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11ShaderReflection_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, parameterindex: u32, pdesc: *mut D3D11_SIGNATURE_PARAMETER_DESC) -> ::windows::core::HRESULT {
3263 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3264 let this = (*this).get_impl();
3265 this.GetOutputParameterDesc(::core::mem::transmute_copy(&parameterindex), ::core::mem::transmute_copy(&pdesc)).into()
3266 }
3267 unsafe extern "system" fn GetPatchConstantParameterDesc<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11ShaderReflection_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, parameterindex: u32, pdesc: *mut D3D11_SIGNATURE_PARAMETER_DESC) -> ::windows::core::HRESULT {
3268 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3269 let this = (*this).get_impl();
3270 this.GetPatchConstantParameterDesc(::core::mem::transmute_copy(&parameterindex), ::core::mem::transmute_copy(&pdesc)).into()
3271 }
3272 unsafe extern "system" fn GetVariableByName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11ShaderReflection_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, name: ::windows::core::PCSTR) -> ::core::option::Option<ID3D11ShaderReflectionVariable> {
3273 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3274 let this = (*this).get_impl();
3275 this.GetVariableByName(::core::mem::transmute(&name))
3276 }
3277 unsafe extern "system" fn GetResourceBindingDescByName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11ShaderReflection_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, name: ::windows::core::PCSTR, pdesc: *mut D3D11_SHADER_INPUT_BIND_DESC) -> ::windows::core::HRESULT {
3278 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3279 let this = (*this).get_impl();
3280 this.GetResourceBindingDescByName(::core::mem::transmute(&name), ::core::mem::transmute_copy(&pdesc)).into()
3281 }
3282 unsafe extern "system" fn GetMovInstructionCount<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11ShaderReflection_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> u32 {
3283 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3284 let this = (*this).get_impl();
3285 this.GetMovInstructionCount()
3286 }
3287 unsafe extern "system" fn GetMovcInstructionCount<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11ShaderReflection_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> u32 {
3288 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3289 let this = (*this).get_impl();
3290 this.GetMovcInstructionCount()
3291 }
3292 unsafe extern "system" fn GetConversionInstructionCount<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11ShaderReflection_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> u32 {
3293 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3294 let this = (*this).get_impl();
3295 this.GetConversionInstructionCount()
3296 }
3297 unsafe extern "system" fn GetBitwiseInstructionCount<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11ShaderReflection_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> u32 {
3298 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3299 let this = (*this).get_impl();
3300 this.GetBitwiseInstructionCount()
3301 }
3302 unsafe extern "system" fn GetGSInputPrimitive<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11ShaderReflection_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> super::Direct3D::D3D_PRIMITIVE {
3303 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3304 let this = (*this).get_impl();
3305 this.GetGSInputPrimitive()
3306 }
3307 unsafe extern "system" fn IsSampleFrequencyShader<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11ShaderReflection_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> super::super::Foundation::BOOL {
3308 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3309 let this = (*this).get_impl();
3310 this.IsSampleFrequencyShader()
3311 }
3312 unsafe extern "system" fn GetNumInterfaceSlots<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11ShaderReflection_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> u32 {
3313 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3314 let this = (*this).get_impl();
3315 this.GetNumInterfaceSlots()
3316 }
3317 unsafe extern "system" fn GetMinFeatureLevel<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11ShaderReflection_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, plevel: *mut super::Direct3D::D3D_FEATURE_LEVEL) -> ::windows::core::HRESULT {
3318 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3319 let this = (*this).get_impl();
3320 match this.GetMinFeatureLevel() {
3321 ::core::result::Result::Ok(ok__) => {
3322 ::core::ptr::write(plevel, ::core::mem::transmute(ok__));
3323 ::windows::core::HRESULT(0)
3324 }
3325 ::core::result::Result::Err(err) => err.into(),
3326 }
3327 }
3328 unsafe extern "system" fn GetThreadGroupSize<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11ShaderReflection_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, psizex: *mut u32, psizey: *mut u32, psizez: *mut u32) -> u32 {
3329 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3330 let this = (*this).get_impl();
3331 this.GetThreadGroupSize(::core::mem::transmute_copy(&psizex), ::core::mem::transmute_copy(&psizey), ::core::mem::transmute_copy(&psizez))
3332 }
3333 unsafe extern "system" fn GetRequiresFlags<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11ShaderReflection_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> u64 {
3334 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3335 let this = (*this).get_impl();
3336 this.GetRequiresFlags()
3337 }
3338 Self {
3339 base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
3340 GetDesc: GetDesc::<Identity, Impl, OFFSET>,
3341 GetConstantBufferByIndex: GetConstantBufferByIndex::<Identity, Impl, OFFSET>,
3342 GetConstantBufferByName: GetConstantBufferByName::<Identity, Impl, OFFSET>,
3343 GetResourceBindingDesc: GetResourceBindingDesc::<Identity, Impl, OFFSET>,
3344 GetInputParameterDesc: GetInputParameterDesc::<Identity, Impl, OFFSET>,
3345 GetOutputParameterDesc: GetOutputParameterDesc::<Identity, Impl, OFFSET>,
3346 GetPatchConstantParameterDesc: GetPatchConstantParameterDesc::<Identity, Impl, OFFSET>,
3347 GetVariableByName: GetVariableByName::<Identity, Impl, OFFSET>,
3348 GetResourceBindingDescByName: GetResourceBindingDescByName::<Identity, Impl, OFFSET>,
3349 GetMovInstructionCount: GetMovInstructionCount::<Identity, Impl, OFFSET>,
3350 GetMovcInstructionCount: GetMovcInstructionCount::<Identity, Impl, OFFSET>,
3351 GetConversionInstructionCount: GetConversionInstructionCount::<Identity, Impl, OFFSET>,
3352 GetBitwiseInstructionCount: GetBitwiseInstructionCount::<Identity, Impl, OFFSET>,
3353 GetGSInputPrimitive: GetGSInputPrimitive::<Identity, Impl, OFFSET>,
3354 IsSampleFrequencyShader: IsSampleFrequencyShader::<Identity, Impl, OFFSET>,
3355 GetNumInterfaceSlots: GetNumInterfaceSlots::<Identity, Impl, OFFSET>,
3356 GetMinFeatureLevel: GetMinFeatureLevel::<Identity, Impl, OFFSET>,
3357 GetThreadGroupSize: GetThreadGroupSize::<Identity, Impl, OFFSET>,
3358 GetRequiresFlags: GetRequiresFlags::<Identity, Impl, OFFSET>,
3359 }
3360 }
3361 pub fn matches(iid: &windows::core::GUID) -> bool {
3362 iid == &<ID3D11ShaderReflection as ::windows::core::ComInterface>::IID
3363 }
3364}
3365#[doc = "*Required features: `\"Win32_Graphics_Direct3D11\"`, `\"Win32_Graphics_Direct3D\"`, `\"implement\"`*"]
3366#[cfg(feature = "Win32_Graphics_Direct3D")]
3367pub trait ID3D11ShaderReflectionConstantBuffer_Impl: Sized {
3368 fn GetDesc(&self, pdesc: *mut D3D11_SHADER_BUFFER_DESC) -> ::windows::core::Result<()>;
3369 fn GetVariableByIndex(&self, index: u32) -> ::core::option::Option<ID3D11ShaderReflectionVariable>;
3370 fn GetVariableByName(&self, name: &::windows::core::PCSTR) -> ::core::option::Option<ID3D11ShaderReflectionVariable>;
3371}
3372#[cfg(feature = "Win32_Graphics_Direct3D")]
3373impl ID3D11ShaderReflectionConstantBuffer_Vtbl {
3374 pub const fn new<Impl: ID3D11ShaderReflectionConstantBuffer_Impl>() -> ID3D11ShaderReflectionConstantBuffer_Vtbl {
3375 unsafe extern "system" fn GetDesc<Impl: ID3D11ShaderReflectionConstantBuffer_Impl>(this: *mut ::core::ffi::c_void, pdesc: *mut D3D11_SHADER_BUFFER_DESC) -> ::windows::core::HRESULT {
3376 let this = (this as *mut *mut ::core::ffi::c_void) as *const ::windows::core::ScopedHeap;
3377 let this = &*((*this).this as *const Impl);
3378 this.GetDesc(::core::mem::transmute_copy(&pdesc)).into()
3379 }
3380 unsafe extern "system" fn GetVariableByIndex<Impl: ID3D11ShaderReflectionConstantBuffer_Impl>(this: *mut ::core::ffi::c_void, index: u32) -> ::core::option::Option<ID3D11ShaderReflectionVariable> {
3381 let this = (this as *mut *mut ::core::ffi::c_void) as *const ::windows::core::ScopedHeap;
3382 let this = &*((*this).this as *const Impl);
3383 this.GetVariableByIndex(::core::mem::transmute_copy(&index))
3384 }
3385 unsafe extern "system" fn GetVariableByName<Impl: ID3D11ShaderReflectionConstantBuffer_Impl>(this: *mut ::core::ffi::c_void, name: ::windows::core::PCSTR) -> ::core::option::Option<ID3D11ShaderReflectionVariable> {
3386 let this = (this as *mut *mut ::core::ffi::c_void) as *const ::windows::core::ScopedHeap;
3387 let this = &*((*this).this as *const Impl);
3388 this.GetVariableByName(::core::mem::transmute(&name))
3389 }
3390 Self { GetDesc: GetDesc::<Impl>, GetVariableByIndex: GetVariableByIndex::<Impl>, GetVariableByName: GetVariableByName::<Impl> }
3391 }
3392}
3393#[doc(hidden)]
3394#[cfg(feature = "Win32_Graphics_Direct3D")]
3395struct ID3D11ShaderReflectionConstantBuffer_ImplVtbl<T: ID3D11ShaderReflectionConstantBuffer_Impl>(::std::marker::PhantomData<T>);
3396#[cfg(feature = "Win32_Graphics_Direct3D")]
3397impl<T: ID3D11ShaderReflectionConstantBuffer_Impl> ID3D11ShaderReflectionConstantBuffer_ImplVtbl<T> {
3398 const VTABLE: ID3D11ShaderReflectionConstantBuffer_Vtbl = ID3D11ShaderReflectionConstantBuffer_Vtbl::new::<T>();
3399}
3400#[cfg(feature = "Win32_Graphics_Direct3D")]
3401impl ID3D11ShaderReflectionConstantBuffer {
3402 pub fn new<'a, T: ID3D11ShaderReflectionConstantBuffer_Impl>(this: &'a T) -> ::windows::core::ScopedInterface<'a, Self> {
3403 let this = ::windows::core::ScopedHeap { vtable: &ID3D11ShaderReflectionConstantBuffer_ImplVtbl::<T>::VTABLE as *const _ as *const _, this: this as *const _ as *const _ };
3404 let this = ::std::mem::ManuallyDrop::new(::std::boxed::Box::new(this));
3405 unsafe { ::windows::core::ScopedInterface::new(::std::mem::transmute(&this.vtable)) }
3406 }
3407}
3408#[doc = "*Required features: `\"Win32_Graphics_Direct3D11\"`, `\"Win32_Graphics_Direct3D\"`, `\"implement\"`*"]
3409#[cfg(feature = "Win32_Graphics_Direct3D")]
3410pub trait ID3D11ShaderReflectionType_Impl: Sized {
3411 fn GetDesc(&self, pdesc: *mut D3D11_SHADER_TYPE_DESC) -> ::windows::core::Result<()>;
3412 fn GetMemberTypeByIndex(&self, index: u32) -> ::core::option::Option<ID3D11ShaderReflectionType>;
3413 fn GetMemberTypeByName(&self, name: &::windows::core::PCSTR) -> ::core::option::Option<ID3D11ShaderReflectionType>;
3414 fn GetMemberTypeName(&self, index: u32) -> ::windows::core::PSTR;
3415 fn IsEqual(&self, ptype: ::core::option::Option<&ID3D11ShaderReflectionType>) -> ::windows::core::Result<()>;
3416 fn GetSubType(&self) -> ::core::option::Option<ID3D11ShaderReflectionType>;
3417 fn GetBaseClass(&self) -> ::core::option::Option<ID3D11ShaderReflectionType>;
3418 fn GetNumInterfaces(&self) -> u32;
3419 fn GetInterfaceByIndex(&self, uindex: u32) -> ::core::option::Option<ID3D11ShaderReflectionType>;
3420 fn IsOfType(&self, ptype: ::core::option::Option<&ID3D11ShaderReflectionType>) -> ::windows::core::Result<()>;
3421 fn ImplementsInterface(&self, pbase: ::core::option::Option<&ID3D11ShaderReflectionType>) -> ::windows::core::Result<()>;
3422}
3423#[cfg(feature = "Win32_Graphics_Direct3D")]
3424impl ID3D11ShaderReflectionType_Vtbl {
3425 pub const fn new<Impl: ID3D11ShaderReflectionType_Impl>() -> ID3D11ShaderReflectionType_Vtbl {
3426 unsafe extern "system" fn GetDesc<Impl: ID3D11ShaderReflectionType_Impl>(this: *mut ::core::ffi::c_void, pdesc: *mut D3D11_SHADER_TYPE_DESC) -> ::windows::core::HRESULT {
3427 let this = (this as *mut *mut ::core::ffi::c_void) as *const ::windows::core::ScopedHeap;
3428 let this = &*((*this).this as *const Impl);
3429 this.GetDesc(::core::mem::transmute_copy(&pdesc)).into()
3430 }
3431 unsafe extern "system" fn GetMemberTypeByIndex<Impl: ID3D11ShaderReflectionType_Impl>(this: *mut ::core::ffi::c_void, index: u32) -> ::core::option::Option<ID3D11ShaderReflectionType> {
3432 let this = (this as *mut *mut ::core::ffi::c_void) as *const ::windows::core::ScopedHeap;
3433 let this = &*((*this).this as *const Impl);
3434 this.GetMemberTypeByIndex(::core::mem::transmute_copy(&index))
3435 }
3436 unsafe extern "system" fn GetMemberTypeByName<Impl: ID3D11ShaderReflectionType_Impl>(this: *mut ::core::ffi::c_void, name: ::windows::core::PCSTR) -> ::core::option::Option<ID3D11ShaderReflectionType> {
3437 let this = (this as *mut *mut ::core::ffi::c_void) as *const ::windows::core::ScopedHeap;
3438 let this = &*((*this).this as *const Impl);
3439 this.GetMemberTypeByName(::core::mem::transmute(&name))
3440 }
3441 unsafe extern "system" fn GetMemberTypeName<Impl: ID3D11ShaderReflectionType_Impl>(this: *mut ::core::ffi::c_void, index: u32) -> ::windows::core::PSTR {
3442 let this = (this as *mut *mut ::core::ffi::c_void) as *const ::windows::core::ScopedHeap;
3443 let this = &*((*this).this as *const Impl);
3444 this.GetMemberTypeName(::core::mem::transmute_copy(&index))
3445 }
3446 unsafe extern "system" fn IsEqual<Impl: ID3D11ShaderReflectionType_Impl>(this: *mut ::core::ffi::c_void, ptype: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
3447 let this = (this as *mut *mut ::core::ffi::c_void) as *const ::windows::core::ScopedHeap;
3448 let this = &*((*this).this as *const Impl);
3449 this.IsEqual(::windows::core::from_raw_borrowed(&ptype)).into()
3450 }
3451 unsafe extern "system" fn GetSubType<Impl: ID3D11ShaderReflectionType_Impl>(this: *mut ::core::ffi::c_void) -> ::core::option::Option<ID3D11ShaderReflectionType> {
3452 let this = (this as *mut *mut ::core::ffi::c_void) as *const ::windows::core::ScopedHeap;
3453 let this = &*((*this).this as *const Impl);
3454 this.GetSubType()
3455 }
3456 unsafe extern "system" fn GetBaseClass<Impl: ID3D11ShaderReflectionType_Impl>(this: *mut ::core::ffi::c_void) -> ::core::option::Option<ID3D11ShaderReflectionType> {
3457 let this = (this as *mut *mut ::core::ffi::c_void) as *const ::windows::core::ScopedHeap;
3458 let this = &*((*this).this as *const Impl);
3459 this.GetBaseClass()
3460 }
3461 unsafe extern "system" fn GetNumInterfaces<Impl: ID3D11ShaderReflectionType_Impl>(this: *mut ::core::ffi::c_void) -> u32 {
3462 let this = (this as *mut *mut ::core::ffi::c_void) as *const ::windows::core::ScopedHeap;
3463 let this = &*((*this).this as *const Impl);
3464 this.GetNumInterfaces()
3465 }
3466 unsafe extern "system" fn GetInterfaceByIndex<Impl: ID3D11ShaderReflectionType_Impl>(this: *mut ::core::ffi::c_void, uindex: u32) -> ::core::option::Option<ID3D11ShaderReflectionType> {
3467 let this = (this as *mut *mut ::core::ffi::c_void) as *const ::windows::core::ScopedHeap;
3468 let this = &*((*this).this as *const Impl);
3469 this.GetInterfaceByIndex(::core::mem::transmute_copy(&uindex))
3470 }
3471 unsafe extern "system" fn IsOfType<Impl: ID3D11ShaderReflectionType_Impl>(this: *mut ::core::ffi::c_void, ptype: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
3472 let this = (this as *mut *mut ::core::ffi::c_void) as *const ::windows::core::ScopedHeap;
3473 let this = &*((*this).this as *const Impl);
3474 this.IsOfType(::windows::core::from_raw_borrowed(&ptype)).into()
3475 }
3476 unsafe extern "system" fn ImplementsInterface<Impl: ID3D11ShaderReflectionType_Impl>(this: *mut ::core::ffi::c_void, pbase: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
3477 let this = (this as *mut *mut ::core::ffi::c_void) as *const ::windows::core::ScopedHeap;
3478 let this = &*((*this).this as *const Impl);
3479 this.ImplementsInterface(::windows::core::from_raw_borrowed(&pbase)).into()
3480 }
3481 Self {
3482 GetDesc: GetDesc::<Impl>,
3483 GetMemberTypeByIndex: GetMemberTypeByIndex::<Impl>,
3484 GetMemberTypeByName: GetMemberTypeByName::<Impl>,
3485 GetMemberTypeName: GetMemberTypeName::<Impl>,
3486 IsEqual: IsEqual::<Impl>,
3487 GetSubType: GetSubType::<Impl>,
3488 GetBaseClass: GetBaseClass::<Impl>,
3489 GetNumInterfaces: GetNumInterfaces::<Impl>,
3490 GetInterfaceByIndex: GetInterfaceByIndex::<Impl>,
3491 IsOfType: IsOfType::<Impl>,
3492 ImplementsInterface: ImplementsInterface::<Impl>,
3493 }
3494 }
3495}
3496#[doc(hidden)]
3497#[cfg(feature = "Win32_Graphics_Direct3D")]
3498struct ID3D11ShaderReflectionType_ImplVtbl<T: ID3D11ShaderReflectionType_Impl>(::std::marker::PhantomData<T>);
3499#[cfg(feature = "Win32_Graphics_Direct3D")]
3500impl<T: ID3D11ShaderReflectionType_Impl> ID3D11ShaderReflectionType_ImplVtbl<T> {
3501 const VTABLE: ID3D11ShaderReflectionType_Vtbl = ID3D11ShaderReflectionType_Vtbl::new::<T>();
3502}
3503#[cfg(feature = "Win32_Graphics_Direct3D")]
3504impl ID3D11ShaderReflectionType {
3505 pub fn new<'a, T: ID3D11ShaderReflectionType_Impl>(this: &'a T) -> ::windows::core::ScopedInterface<'a, Self> {
3506 let this = ::windows::core::ScopedHeap { vtable: &ID3D11ShaderReflectionType_ImplVtbl::<T>::VTABLE as *const _ as *const _, this: this as *const _ as *const _ };
3507 let this = ::std::mem::ManuallyDrop::new(::std::boxed::Box::new(this));
3508 unsafe { ::windows::core::ScopedInterface::new(::std::mem::transmute(&this.vtable)) }
3509 }
3510}
3511#[doc = "*Required features: `\"Win32_Graphics_Direct3D11\"`, `\"implement\"`*"]
3512pub trait ID3D11ShaderReflectionVariable_Impl: Sized {
3513 fn GetDesc(&self, pdesc: *mut D3D11_SHADER_VARIABLE_DESC) -> ::windows::core::Result<()>;
3514 fn GetType(&self) -> ::core::option::Option<ID3D11ShaderReflectionType>;
3515 fn GetBuffer(&self) -> ::core::option::Option<ID3D11ShaderReflectionConstantBuffer>;
3516 fn GetInterfaceSlot(&self, uarrayindex: u32) -> u32;
3517}
3518impl ID3D11ShaderReflectionVariable_Vtbl {
3519 pub const fn new<Impl: ID3D11ShaderReflectionVariable_Impl>() -> ID3D11ShaderReflectionVariable_Vtbl {
3520 unsafe extern "system" fn GetDesc<Impl: ID3D11ShaderReflectionVariable_Impl>(this: *mut ::core::ffi::c_void, pdesc: *mut D3D11_SHADER_VARIABLE_DESC) -> ::windows::core::HRESULT {
3521 let this = (this as *mut *mut ::core::ffi::c_void) as *const ::windows::core::ScopedHeap;
3522 let this = &*((*this).this as *const Impl);
3523 this.GetDesc(::core::mem::transmute_copy(&pdesc)).into()
3524 }
3525 unsafe extern "system" fn GetType<Impl: ID3D11ShaderReflectionVariable_Impl>(this: *mut ::core::ffi::c_void) -> ::core::option::Option<ID3D11ShaderReflectionType> {
3526 let this = (this as *mut *mut ::core::ffi::c_void) as *const ::windows::core::ScopedHeap;
3527 let this = &*((*this).this as *const Impl);
3528 this.GetType()
3529 }
3530 unsafe extern "system" fn GetBuffer<Impl: ID3D11ShaderReflectionVariable_Impl>(this: *mut ::core::ffi::c_void) -> ::core::option::Option<ID3D11ShaderReflectionConstantBuffer> {
3531 let this = (this as *mut *mut ::core::ffi::c_void) as *const ::windows::core::ScopedHeap;
3532 let this = &*((*this).this as *const Impl);
3533 this.GetBuffer()
3534 }
3535 unsafe extern "system" fn GetInterfaceSlot<Impl: ID3D11ShaderReflectionVariable_Impl>(this: *mut ::core::ffi::c_void, uarrayindex: u32) -> u32 {
3536 let this = (this as *mut *mut ::core::ffi::c_void) as *const ::windows::core::ScopedHeap;
3537 let this = &*((*this).this as *const Impl);
3538 this.GetInterfaceSlot(::core::mem::transmute_copy(&uarrayindex))
3539 }
3540 Self { GetDesc: GetDesc::<Impl>, GetType: GetType::<Impl>, GetBuffer: GetBuffer::<Impl>, GetInterfaceSlot: GetInterfaceSlot::<Impl> }
3541 }
3542}
3543#[doc(hidden)]
3544struct ID3D11ShaderReflectionVariable_ImplVtbl<T: ID3D11ShaderReflectionVariable_Impl>(::std::marker::PhantomData<T>);
3545impl<T: ID3D11ShaderReflectionVariable_Impl> ID3D11ShaderReflectionVariable_ImplVtbl<T> {
3546 const VTABLE: ID3D11ShaderReflectionVariable_Vtbl = ID3D11ShaderReflectionVariable_Vtbl::new::<T>();
3547}
3548impl ID3D11ShaderReflectionVariable {
3549 pub fn new<'a, T: ID3D11ShaderReflectionVariable_Impl>(this: &'a T) -> ::windows::core::ScopedInterface<'a, Self> {
3550 let this = ::windows::core::ScopedHeap { vtable: &ID3D11ShaderReflectionVariable_ImplVtbl::<T>::VTABLE as *const _ as *const _, this: this as *const _ as *const _ };
3551 let this = ::std::mem::ManuallyDrop::new(::std::boxed::Box::new(this));
3552 unsafe { ::windows::core::ScopedInterface::new(::std::mem::transmute(&this.vtable)) }
3553 }
3554}
3555#[doc = "*Required features: `\"Win32_Graphics_Direct3D11\"`, `\"Win32_Graphics_Direct3D\"`, `\"Win32_Graphics_Dxgi_Common\"`, `\"implement\"`*"]
3556#[cfg(all(feature = "Win32_Graphics_Direct3D", feature = "Win32_Graphics_Dxgi_Common"))]
3557pub trait ID3D11ShaderResourceView_Impl: Sized + ID3D11View_Impl {
3558 fn GetDesc(&self, pdesc: *mut D3D11_SHADER_RESOURCE_VIEW_DESC);
3559}
3560#[cfg(all(feature = "Win32_Graphics_Direct3D", feature = "Win32_Graphics_Dxgi_Common"))]
3561impl ::windows::core::RuntimeName for ID3D11ShaderResourceView {}
3562#[cfg(all(feature = "Win32_Graphics_Direct3D", feature = "Win32_Graphics_Dxgi_Common"))]
3563impl ID3D11ShaderResourceView_Vtbl {
3564 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11ShaderResourceView_Impl, const OFFSET: isize>() -> ID3D11ShaderResourceView_Vtbl {
3565 unsafe extern "system" fn GetDesc<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11ShaderResourceView_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdesc: *mut D3D11_SHADER_RESOURCE_VIEW_DESC) {
3566 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3567 let this = (*this).get_impl();
3568 this.GetDesc(::core::mem::transmute_copy(&pdesc))
3569 }
3570 Self { base__: ID3D11View_Vtbl::new::<Identity, Impl, OFFSET>(), GetDesc: GetDesc::<Identity, Impl, OFFSET> }
3571 }
3572 pub fn matches(iid: &windows::core::GUID) -> bool {
3573 iid == &<ID3D11ShaderResourceView as ::windows::core::ComInterface>::IID || iid == &<ID3D11DeviceChild as ::windows::core::ComInterface>::IID || iid == &<ID3D11View as ::windows::core::ComInterface>::IID
3574 }
3575}
3576#[doc = "*Required features: `\"Win32_Graphics_Direct3D11\"`, `\"Win32_Graphics_Direct3D\"`, `\"Win32_Graphics_Dxgi_Common\"`, `\"implement\"`*"]
3577#[cfg(all(feature = "Win32_Graphics_Direct3D", feature = "Win32_Graphics_Dxgi_Common"))]
3578pub trait ID3D11ShaderResourceView1_Impl: Sized + ID3D11ShaderResourceView_Impl {
3579 fn GetDesc1(&self, pdesc1: *mut D3D11_SHADER_RESOURCE_VIEW_DESC1);
3580}
3581#[cfg(all(feature = "Win32_Graphics_Direct3D", feature = "Win32_Graphics_Dxgi_Common"))]
3582impl ::windows::core::RuntimeName for ID3D11ShaderResourceView1 {}
3583#[cfg(all(feature = "Win32_Graphics_Direct3D", feature = "Win32_Graphics_Dxgi_Common"))]
3584impl ID3D11ShaderResourceView1_Vtbl {
3585 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11ShaderResourceView1_Impl, const OFFSET: isize>() -> ID3D11ShaderResourceView1_Vtbl {
3586 unsafe extern "system" fn GetDesc1<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11ShaderResourceView1_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdesc1: *mut D3D11_SHADER_RESOURCE_VIEW_DESC1) {
3587 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3588 let this = (*this).get_impl();
3589 this.GetDesc1(::core::mem::transmute_copy(&pdesc1))
3590 }
3591 Self { base__: ID3D11ShaderResourceView_Vtbl::new::<Identity, Impl, OFFSET>(), GetDesc1: GetDesc1::<Identity, Impl, OFFSET> }
3592 }
3593 pub fn matches(iid: &windows::core::GUID) -> bool {
3594 iid == &<ID3D11ShaderResourceView1 as ::windows::core::ComInterface>::IID || iid == &<ID3D11DeviceChild as ::windows::core::ComInterface>::IID || iid == &<ID3D11View as ::windows::core::ComInterface>::IID || iid == &<ID3D11ShaderResourceView as ::windows::core::ComInterface>::IID
3595 }
3596}
3597#[doc = "*Required features: `\"Win32_Graphics_Direct3D11\"`, `\"Win32_Foundation\"`, `\"implement\"`*"]
3598#[cfg(feature = "Win32_Foundation")]
3599pub trait ID3D11ShaderTrace_Impl: Sized {
3600 fn TraceReady(&self, ptestcount: *mut u64) -> ::windows::core::Result<()>;
3601 fn ResetTrace(&self);
3602 fn GetTraceStats(&self, ptracestats: *mut D3D11_TRACE_STATS) -> ::windows::core::Result<()>;
3603 fn PSSelectStamp(&self, stampindex: u32) -> ::windows::core::Result<()>;
3604 fn GetInitialRegisterContents(&self, pregister: *const D3D11_TRACE_REGISTER, pvalue: *mut D3D11_TRACE_VALUE) -> ::windows::core::Result<()>;
3605 fn GetStep(&self, stepindex: u32, ptracestep: *mut D3D11_TRACE_STEP) -> ::windows::core::Result<()>;
3606 fn GetWrittenRegister(&self, stepindex: u32, writtenregisterindex: u32, pregister: *mut D3D11_TRACE_REGISTER, pvalue: *mut D3D11_TRACE_VALUE) -> ::windows::core::Result<()>;
3607 fn GetReadRegister(&self, stepindex: u32, readregisterindex: u32, pregister: *mut D3D11_TRACE_REGISTER, pvalue: *mut D3D11_TRACE_VALUE) -> ::windows::core::Result<()>;
3608}
3609#[cfg(feature = "Win32_Foundation")]
3610impl ::windows::core::RuntimeName for ID3D11ShaderTrace {}
3611#[cfg(feature = "Win32_Foundation")]
3612impl ID3D11ShaderTrace_Vtbl {
3613 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11ShaderTrace_Impl, const OFFSET: isize>() -> ID3D11ShaderTrace_Vtbl {
3614 unsafe extern "system" fn TraceReady<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11ShaderTrace_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ptestcount: *mut u64) -> ::windows::core::HRESULT {
3615 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3616 let this = (*this).get_impl();
3617 this.TraceReady(::core::mem::transmute_copy(&ptestcount)).into()
3618 }
3619 unsafe extern "system" fn ResetTrace<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11ShaderTrace_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) {
3620 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3621 let this = (*this).get_impl();
3622 this.ResetTrace()
3623 }
3624 unsafe extern "system" fn GetTraceStats<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11ShaderTrace_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ptracestats: *mut D3D11_TRACE_STATS) -> ::windows::core::HRESULT {
3625 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3626 let this = (*this).get_impl();
3627 this.GetTraceStats(::core::mem::transmute_copy(&ptracestats)).into()
3628 }
3629 unsafe extern "system" fn PSSelectStamp<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11ShaderTrace_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, stampindex: u32) -> ::windows::core::HRESULT {
3630 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3631 let this = (*this).get_impl();
3632 this.PSSelectStamp(::core::mem::transmute_copy(&stampindex)).into()
3633 }
3634 unsafe extern "system" fn GetInitialRegisterContents<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11ShaderTrace_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pregister: *const D3D11_TRACE_REGISTER, pvalue: *mut D3D11_TRACE_VALUE) -> ::windows::core::HRESULT {
3635 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3636 let this = (*this).get_impl();
3637 this.GetInitialRegisterContents(::core::mem::transmute_copy(&pregister), ::core::mem::transmute_copy(&pvalue)).into()
3638 }
3639 unsafe extern "system" fn GetStep<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11ShaderTrace_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, stepindex: u32, ptracestep: *mut D3D11_TRACE_STEP) -> ::windows::core::HRESULT {
3640 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3641 let this = (*this).get_impl();
3642 this.GetStep(::core::mem::transmute_copy(&stepindex), ::core::mem::transmute_copy(&ptracestep)).into()
3643 }
3644 unsafe extern "system" fn GetWrittenRegister<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11ShaderTrace_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, stepindex: u32, writtenregisterindex: u32, pregister: *mut D3D11_TRACE_REGISTER, pvalue: *mut D3D11_TRACE_VALUE) -> ::windows::core::HRESULT {
3645 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3646 let this = (*this).get_impl();
3647 this.GetWrittenRegister(::core::mem::transmute_copy(&stepindex), ::core::mem::transmute_copy(&writtenregisterindex), ::core::mem::transmute_copy(&pregister), ::core::mem::transmute_copy(&pvalue)).into()
3648 }
3649 unsafe extern "system" fn GetReadRegister<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11ShaderTrace_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, stepindex: u32, readregisterindex: u32, pregister: *mut D3D11_TRACE_REGISTER, pvalue: *mut D3D11_TRACE_VALUE) -> ::windows::core::HRESULT {
3650 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3651 let this = (*this).get_impl();
3652 this.GetReadRegister(::core::mem::transmute_copy(&stepindex), ::core::mem::transmute_copy(&readregisterindex), ::core::mem::transmute_copy(&pregister), ::core::mem::transmute_copy(&pvalue)).into()
3653 }
3654 Self {
3655 base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
3656 TraceReady: TraceReady::<Identity, Impl, OFFSET>,
3657 ResetTrace: ResetTrace::<Identity, Impl, OFFSET>,
3658 GetTraceStats: GetTraceStats::<Identity, Impl, OFFSET>,
3659 PSSelectStamp: PSSelectStamp::<Identity, Impl, OFFSET>,
3660 GetInitialRegisterContents: GetInitialRegisterContents::<Identity, Impl, OFFSET>,
3661 GetStep: GetStep::<Identity, Impl, OFFSET>,
3662 GetWrittenRegister: GetWrittenRegister::<Identity, Impl, OFFSET>,
3663 GetReadRegister: GetReadRegister::<Identity, Impl, OFFSET>,
3664 }
3665 }
3666 pub fn matches(iid: &windows::core::GUID) -> bool {
3667 iid == &<ID3D11ShaderTrace as ::windows::core::ComInterface>::IID
3668 }
3669}
3670#[doc = "*Required features: `\"Win32_Graphics_Direct3D11\"`, `\"implement\"`*"]
3671pub trait ID3D11ShaderTraceFactory_Impl: Sized {
3672 fn CreateShaderTrace(&self, pshader: ::core::option::Option<&::windows::core::IUnknown>, ptracedesc: *const D3D11_SHADER_TRACE_DESC) -> ::windows::core::Result<ID3D11ShaderTrace>;
3673}
3674impl ::windows::core::RuntimeName for ID3D11ShaderTraceFactory {}
3675impl ID3D11ShaderTraceFactory_Vtbl {
3676 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11ShaderTraceFactory_Impl, const OFFSET: isize>() -> ID3D11ShaderTraceFactory_Vtbl {
3677 unsafe extern "system" fn CreateShaderTrace<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11ShaderTraceFactory_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pshader: *mut ::core::ffi::c_void, ptracedesc: *const D3D11_SHADER_TRACE_DESC, ppshadertrace: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
3678 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3679 let this = (*this).get_impl();
3680 match this.CreateShaderTrace(::windows::core::from_raw_borrowed(&pshader), ::core::mem::transmute_copy(&ptracedesc)) {
3681 ::core::result::Result::Ok(ok__) => {
3682 ::core::ptr::write(ppshadertrace, ::core::mem::transmute(ok__));
3683 ::windows::core::HRESULT(0)
3684 }
3685 ::core::result::Result::Err(err) => err.into(),
3686 }
3687 }
3688 Self { base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(), CreateShaderTrace: CreateShaderTrace::<Identity, Impl, OFFSET> }
3689 }
3690 pub fn matches(iid: &windows::core::GUID) -> bool {
3691 iid == &<ID3D11ShaderTraceFactory as ::windows::core::ComInterface>::IID
3692 }
3693}
3694#[doc = "*Required features: `\"Win32_Graphics_Direct3D11\"`, `\"Win32_Foundation\"`, `\"implement\"`*"]
3695#[cfg(feature = "Win32_Foundation")]
3696pub trait ID3D11SwitchToRef_Impl: Sized {
3697 fn SetUseRef(&self, useref: super::super::Foundation::BOOL) -> super::super::Foundation::BOOL;
3698 fn GetUseRef(&self) -> super::super::Foundation::BOOL;
3699}
3700#[cfg(feature = "Win32_Foundation")]
3701impl ::windows::core::RuntimeName for ID3D11SwitchToRef {}
3702#[cfg(feature = "Win32_Foundation")]
3703impl ID3D11SwitchToRef_Vtbl {
3704 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11SwitchToRef_Impl, const OFFSET: isize>() -> ID3D11SwitchToRef_Vtbl {
3705 unsafe extern "system" fn SetUseRef<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11SwitchToRef_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, useref: super::super::Foundation::BOOL) -> super::super::Foundation::BOOL {
3706 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3707 let this = (*this).get_impl();
3708 this.SetUseRef(::core::mem::transmute_copy(&useref))
3709 }
3710 unsafe extern "system" fn GetUseRef<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11SwitchToRef_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> super::super::Foundation::BOOL {
3711 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3712 let this = (*this).get_impl();
3713 this.GetUseRef()
3714 }
3715 Self {
3716 base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
3717 SetUseRef: SetUseRef::<Identity, Impl, OFFSET>,
3718 GetUseRef: GetUseRef::<Identity, Impl, OFFSET>,
3719 }
3720 }
3721 pub fn matches(iid: &windows::core::GUID) -> bool {
3722 iid == &<ID3D11SwitchToRef as ::windows::core::ComInterface>::IID
3723 }
3724}
3725#[doc = "*Required features: `\"Win32_Graphics_Direct3D11\"`, `\"Win32_Graphics_Dxgi_Common\"`, `\"implement\"`*"]
3726#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
3727pub trait ID3D11Texture1D_Impl: Sized + ID3D11Resource_Impl {
3728 fn GetDesc(&self, pdesc: *mut D3D11_TEXTURE1D_DESC);
3729}
3730#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
3731impl ::windows::core::RuntimeName for ID3D11Texture1D {}
3732#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
3733impl ID3D11Texture1D_Vtbl {
3734 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11Texture1D_Impl, const OFFSET: isize>() -> ID3D11Texture1D_Vtbl {
3735 unsafe extern "system" fn GetDesc<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11Texture1D_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdesc: *mut D3D11_TEXTURE1D_DESC) {
3736 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3737 let this = (*this).get_impl();
3738 this.GetDesc(::core::mem::transmute_copy(&pdesc))
3739 }
3740 Self { base__: ID3D11Resource_Vtbl::new::<Identity, Impl, OFFSET>(), GetDesc: GetDesc::<Identity, Impl, OFFSET> }
3741 }
3742 pub fn matches(iid: &windows::core::GUID) -> bool {
3743 iid == &<ID3D11Texture1D as ::windows::core::ComInterface>::IID || iid == &<ID3D11DeviceChild as ::windows::core::ComInterface>::IID || iid == &<ID3D11Resource as ::windows::core::ComInterface>::IID
3744 }
3745}
3746#[doc = "*Required features: `\"Win32_Graphics_Direct3D11\"`, `\"Win32_Graphics_Dxgi_Common\"`, `\"implement\"`*"]
3747#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
3748pub trait ID3D11Texture2D_Impl: Sized + ID3D11Resource_Impl {
3749 fn GetDesc(&self, pdesc: *mut D3D11_TEXTURE2D_DESC);
3750}
3751#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
3752impl ::windows::core::RuntimeName for ID3D11Texture2D {}
3753#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
3754impl ID3D11Texture2D_Vtbl {
3755 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11Texture2D_Impl, const OFFSET: isize>() -> ID3D11Texture2D_Vtbl {
3756 unsafe extern "system" fn GetDesc<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11Texture2D_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdesc: *mut D3D11_TEXTURE2D_DESC) {
3757 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3758 let this = (*this).get_impl();
3759 this.GetDesc(::core::mem::transmute_copy(&pdesc))
3760 }
3761 Self { base__: ID3D11Resource_Vtbl::new::<Identity, Impl, OFFSET>(), GetDesc: GetDesc::<Identity, Impl, OFFSET> }
3762 }
3763 pub fn matches(iid: &windows::core::GUID) -> bool {
3764 iid == &<ID3D11Texture2D as ::windows::core::ComInterface>::IID || iid == &<ID3D11DeviceChild as ::windows::core::ComInterface>::IID || iid == &<ID3D11Resource as ::windows::core::ComInterface>::IID
3765 }
3766}
3767#[doc = "*Required features: `\"Win32_Graphics_Direct3D11\"`, `\"Win32_Graphics_Dxgi_Common\"`, `\"implement\"`*"]
3768#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
3769pub trait ID3D11Texture2D1_Impl: Sized + ID3D11Texture2D_Impl {
3770 fn GetDesc1(&self, pdesc: *mut D3D11_TEXTURE2D_DESC1);
3771}
3772#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
3773impl ::windows::core::RuntimeName for ID3D11Texture2D1 {}
3774#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
3775impl ID3D11Texture2D1_Vtbl {
3776 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11Texture2D1_Impl, const OFFSET: isize>() -> ID3D11Texture2D1_Vtbl {
3777 unsafe extern "system" fn GetDesc1<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11Texture2D1_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdesc: *mut D3D11_TEXTURE2D_DESC1) {
3778 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3779 let this = (*this).get_impl();
3780 this.GetDesc1(::core::mem::transmute_copy(&pdesc))
3781 }
3782 Self { base__: ID3D11Texture2D_Vtbl::new::<Identity, Impl, OFFSET>(), GetDesc1: GetDesc1::<Identity, Impl, OFFSET> }
3783 }
3784 pub fn matches(iid: &windows::core::GUID) -> bool {
3785 iid == &<ID3D11Texture2D1 as ::windows::core::ComInterface>::IID || iid == &<ID3D11DeviceChild as ::windows::core::ComInterface>::IID || iid == &<ID3D11Resource as ::windows::core::ComInterface>::IID || iid == &<ID3D11Texture2D as ::windows::core::ComInterface>::IID
3786 }
3787}
3788#[doc = "*Required features: `\"Win32_Graphics_Direct3D11\"`, `\"Win32_Graphics_Dxgi_Common\"`, `\"implement\"`*"]
3789#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
3790pub trait ID3D11Texture3D_Impl: Sized + ID3D11Resource_Impl {
3791 fn GetDesc(&self, pdesc: *mut D3D11_TEXTURE3D_DESC);
3792}
3793#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
3794impl ::windows::core::RuntimeName for ID3D11Texture3D {}
3795#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
3796impl ID3D11Texture3D_Vtbl {
3797 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11Texture3D_Impl, const OFFSET: isize>() -> ID3D11Texture3D_Vtbl {
3798 unsafe extern "system" fn GetDesc<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11Texture3D_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdesc: *mut D3D11_TEXTURE3D_DESC) {
3799 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3800 let this = (*this).get_impl();
3801 this.GetDesc(::core::mem::transmute_copy(&pdesc))
3802 }
3803 Self { base__: ID3D11Resource_Vtbl::new::<Identity, Impl, OFFSET>(), GetDesc: GetDesc::<Identity, Impl, OFFSET> }
3804 }
3805 pub fn matches(iid: &windows::core::GUID) -> bool {
3806 iid == &<ID3D11Texture3D as ::windows::core::ComInterface>::IID || iid == &<ID3D11DeviceChild as ::windows::core::ComInterface>::IID || iid == &<ID3D11Resource as ::windows::core::ComInterface>::IID
3807 }
3808}
3809#[doc = "*Required features: `\"Win32_Graphics_Direct3D11\"`, `\"Win32_Graphics_Dxgi_Common\"`, `\"implement\"`*"]
3810#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
3811pub trait ID3D11Texture3D1_Impl: Sized + ID3D11Texture3D_Impl {
3812 fn GetDesc1(&self, pdesc: *mut D3D11_TEXTURE3D_DESC1);
3813}
3814#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
3815impl ::windows::core::RuntimeName for ID3D11Texture3D1 {}
3816#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
3817impl ID3D11Texture3D1_Vtbl {
3818 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11Texture3D1_Impl, const OFFSET: isize>() -> ID3D11Texture3D1_Vtbl {
3819 unsafe extern "system" fn GetDesc1<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11Texture3D1_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdesc: *mut D3D11_TEXTURE3D_DESC1) {
3820 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3821 let this = (*this).get_impl();
3822 this.GetDesc1(::core::mem::transmute_copy(&pdesc))
3823 }
3824 Self { base__: ID3D11Texture3D_Vtbl::new::<Identity, Impl, OFFSET>(), GetDesc1: GetDesc1::<Identity, Impl, OFFSET> }
3825 }
3826 pub fn matches(iid: &windows::core::GUID) -> bool {
3827 iid == &<ID3D11Texture3D1 as ::windows::core::ComInterface>::IID || iid == &<ID3D11DeviceChild as ::windows::core::ComInterface>::IID || iid == &<ID3D11Resource as ::windows::core::ComInterface>::IID || iid == &<ID3D11Texture3D as ::windows::core::ComInterface>::IID
3828 }
3829}
3830#[doc = "*Required features: `\"Win32_Graphics_Direct3D11\"`, `\"implement\"`*"]
3831pub trait ID3D11TracingDevice_Impl: Sized {
3832 fn SetShaderTrackingOptionsByType(&self, resourcetypeflags: u32, options: u32) -> ::windows::core::Result<()>;
3833 fn SetShaderTrackingOptions(&self, pshader: ::core::option::Option<&::windows::core::IUnknown>, options: u32) -> ::windows::core::Result<()>;
3834}
3835impl ::windows::core::RuntimeName for ID3D11TracingDevice {}
3836impl ID3D11TracingDevice_Vtbl {
3837 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11TracingDevice_Impl, const OFFSET: isize>() -> ID3D11TracingDevice_Vtbl {
3838 unsafe extern "system" fn SetShaderTrackingOptionsByType<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11TracingDevice_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, resourcetypeflags: u32, options: u32) -> ::windows::core::HRESULT {
3839 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3840 let this = (*this).get_impl();
3841 this.SetShaderTrackingOptionsByType(::core::mem::transmute_copy(&resourcetypeflags), ::core::mem::transmute_copy(&options)).into()
3842 }
3843 unsafe extern "system" fn SetShaderTrackingOptions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11TracingDevice_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pshader: *mut ::core::ffi::c_void, options: u32) -> ::windows::core::HRESULT {
3844 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3845 let this = (*this).get_impl();
3846 this.SetShaderTrackingOptions(::windows::core::from_raw_borrowed(&pshader), ::core::mem::transmute_copy(&options)).into()
3847 }
3848 Self {
3849 base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
3850 SetShaderTrackingOptionsByType: SetShaderTrackingOptionsByType::<Identity, Impl, OFFSET>,
3851 SetShaderTrackingOptions: SetShaderTrackingOptions::<Identity, Impl, OFFSET>,
3852 }
3853 }
3854 pub fn matches(iid: &windows::core::GUID) -> bool {
3855 iid == &<ID3D11TracingDevice as ::windows::core::ComInterface>::IID
3856 }
3857}
3858#[doc = "*Required features: `\"Win32_Graphics_Direct3D11\"`, `\"Win32_Graphics_Dxgi_Common\"`, `\"implement\"`*"]
3859#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
3860pub trait ID3D11UnorderedAccessView_Impl: Sized + ID3D11View_Impl {
3861 fn GetDesc(&self, pdesc: *mut D3D11_UNORDERED_ACCESS_VIEW_DESC);
3862}
3863#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
3864impl ::windows::core::RuntimeName for ID3D11UnorderedAccessView {}
3865#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
3866impl ID3D11UnorderedAccessView_Vtbl {
3867 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11UnorderedAccessView_Impl, const OFFSET: isize>() -> ID3D11UnorderedAccessView_Vtbl {
3868 unsafe extern "system" fn GetDesc<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11UnorderedAccessView_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdesc: *mut D3D11_UNORDERED_ACCESS_VIEW_DESC) {
3869 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3870 let this = (*this).get_impl();
3871 this.GetDesc(::core::mem::transmute_copy(&pdesc))
3872 }
3873 Self { base__: ID3D11View_Vtbl::new::<Identity, Impl, OFFSET>(), GetDesc: GetDesc::<Identity, Impl, OFFSET> }
3874 }
3875 pub fn matches(iid: &windows::core::GUID) -> bool {
3876 iid == &<ID3D11UnorderedAccessView as ::windows::core::ComInterface>::IID || iid == &<ID3D11DeviceChild as ::windows::core::ComInterface>::IID || iid == &<ID3D11View as ::windows::core::ComInterface>::IID
3877 }
3878}
3879#[doc = "*Required features: `\"Win32_Graphics_Direct3D11\"`, `\"Win32_Graphics_Dxgi_Common\"`, `\"implement\"`*"]
3880#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
3881pub trait ID3D11UnorderedAccessView1_Impl: Sized + ID3D11UnorderedAccessView_Impl {
3882 fn GetDesc1(&self, pdesc1: *mut D3D11_UNORDERED_ACCESS_VIEW_DESC1);
3883}
3884#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
3885impl ::windows::core::RuntimeName for ID3D11UnorderedAccessView1 {}
3886#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
3887impl ID3D11UnorderedAccessView1_Vtbl {
3888 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11UnorderedAccessView1_Impl, const OFFSET: isize>() -> ID3D11UnorderedAccessView1_Vtbl {
3889 unsafe extern "system" fn GetDesc1<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11UnorderedAccessView1_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdesc1: *mut D3D11_UNORDERED_ACCESS_VIEW_DESC1) {
3890 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3891 let this = (*this).get_impl();
3892 this.GetDesc1(::core::mem::transmute_copy(&pdesc1))
3893 }
3894 Self { base__: ID3D11UnorderedAccessView_Vtbl::new::<Identity, Impl, OFFSET>(), GetDesc1: GetDesc1::<Identity, Impl, OFFSET> }
3895 }
3896 pub fn matches(iid: &windows::core::GUID) -> bool {
3897 iid == &<ID3D11UnorderedAccessView1 as ::windows::core::ComInterface>::IID || iid == &<ID3D11DeviceChild as ::windows::core::ComInterface>::IID || iid == &<ID3D11View as ::windows::core::ComInterface>::IID || iid == &<ID3D11UnorderedAccessView as ::windows::core::ComInterface>::IID
3898 }
3899}
3900#[doc = "*Required features: `\"Win32_Graphics_Direct3D11\"`, `\"implement\"`*"]
3901pub trait ID3D11VertexShader_Impl: Sized + ID3D11DeviceChild_Impl {}
3902impl ::windows::core::RuntimeName for ID3D11VertexShader {}
3903impl ID3D11VertexShader_Vtbl {
3904 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11VertexShader_Impl, const OFFSET: isize>() -> ID3D11VertexShader_Vtbl {
3905 Self { base__: ID3D11DeviceChild_Vtbl::new::<Identity, Impl, OFFSET>() }
3906 }
3907 pub fn matches(iid: &windows::core::GUID) -> bool {
3908 iid == &<ID3D11VertexShader as ::windows::core::ComInterface>::IID || iid == &<ID3D11DeviceChild as ::windows::core::ComInterface>::IID
3909 }
3910}
3911#[doc = "*Required features: `\"Win32_Graphics_Direct3D11\"`, `\"Win32_Foundation\"`, `\"Win32_Graphics_Dxgi_Common\"`, `\"implement\"`*"]
3912#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi_Common"))]
3913pub trait ID3D11VideoContext_Impl: Sized + ID3D11DeviceChild_Impl {
3914 fn GetDecoderBuffer(&self, pdecoder: ::core::option::Option<&ID3D11VideoDecoder>, r#type: D3D11_VIDEO_DECODER_BUFFER_TYPE, pbuffersize: *mut u32, ppbuffer: *mut *mut ::core::ffi::c_void) -> ::windows::core::Result<()>;
3915 fn ReleaseDecoderBuffer(&self, pdecoder: ::core::option::Option<&ID3D11VideoDecoder>, r#type: D3D11_VIDEO_DECODER_BUFFER_TYPE) -> ::windows::core::Result<()>;
3916 fn DecoderBeginFrame(&self, pdecoder: ::core::option::Option<&ID3D11VideoDecoder>, pview: ::core::option::Option<&ID3D11VideoDecoderOutputView>, contentkeysize: u32, pcontentkey: *const ::core::ffi::c_void) -> ::windows::core::Result<()>;
3917 fn DecoderEndFrame(&self, pdecoder: ::core::option::Option<&ID3D11VideoDecoder>) -> ::windows::core::Result<()>;
3918 fn SubmitDecoderBuffers(&self, pdecoder: ::core::option::Option<&ID3D11VideoDecoder>, numbuffers: u32, pbufferdesc: *const D3D11_VIDEO_DECODER_BUFFER_DESC) -> ::windows::core::Result<()>;
3919 fn DecoderExtension(&self, pdecoder: ::core::option::Option<&ID3D11VideoDecoder>, pextensiondata: *const D3D11_VIDEO_DECODER_EXTENSION) -> i32;
3920 fn VideoProcessorSetOutputTargetRect(&self, pvideoprocessor: ::core::option::Option<&ID3D11VideoProcessor>, enable: super::super::Foundation::BOOL, prect: *const super::super::Foundation::RECT);
3921 fn VideoProcessorSetOutputBackgroundColor(&self, pvideoprocessor: ::core::option::Option<&ID3D11VideoProcessor>, ycbcr: super::super::Foundation::BOOL, pcolor: *const D3D11_VIDEO_COLOR);
3922 fn VideoProcessorSetOutputColorSpace(&self, pvideoprocessor: ::core::option::Option<&ID3D11VideoProcessor>, pcolorspace: *const D3D11_VIDEO_PROCESSOR_COLOR_SPACE);
3923 fn VideoProcessorSetOutputAlphaFillMode(&self, pvideoprocessor: ::core::option::Option<&ID3D11VideoProcessor>, alphafillmode: D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE, streamindex: u32);
3924 fn VideoProcessorSetOutputConstriction(&self, pvideoprocessor: ::core::option::Option<&ID3D11VideoProcessor>, enable: super::super::Foundation::BOOL, size: &super::super::Foundation::SIZE);
3925 fn VideoProcessorSetOutputStereoMode(&self, pvideoprocessor: ::core::option::Option<&ID3D11VideoProcessor>, enable: super::super::Foundation::BOOL);
3926 fn VideoProcessorSetOutputExtension(&self, pvideoprocessor: ::core::option::Option<&ID3D11VideoProcessor>, pextensionguid: *const ::windows::core::GUID, datasize: u32, pdata: *const ::core::ffi::c_void) -> i32;
3927 fn VideoProcessorGetOutputTargetRect(&self, pvideoprocessor: ::core::option::Option<&ID3D11VideoProcessor>, enabled: *mut super::super::Foundation::BOOL, prect: *mut super::super::Foundation::RECT);
3928 fn VideoProcessorGetOutputBackgroundColor(&self, pvideoprocessor: ::core::option::Option<&ID3D11VideoProcessor>, pycbcr: *mut super::super::Foundation::BOOL, pcolor: *mut D3D11_VIDEO_COLOR);
3929 fn VideoProcessorGetOutputColorSpace(&self, pvideoprocessor: ::core::option::Option<&ID3D11VideoProcessor>, pcolorspace: *mut D3D11_VIDEO_PROCESSOR_COLOR_SPACE) -> ();
3930 fn VideoProcessorGetOutputAlphaFillMode(&self, pvideoprocessor: ::core::option::Option<&ID3D11VideoProcessor>, palphafillmode: *mut D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE, pstreamindex: *mut u32);
3931 fn VideoProcessorGetOutputConstriction(&self, pvideoprocessor: ::core::option::Option<&ID3D11VideoProcessor>, penabled: *mut super::super::Foundation::BOOL, psize: *mut super::super::Foundation::SIZE);
3932 fn VideoProcessorGetOutputStereoMode(&self, pvideoprocessor: ::core::option::Option<&ID3D11VideoProcessor>, penabled: *mut super::super::Foundation::BOOL) -> ();
3933 fn VideoProcessorGetOutputExtension(&self, pvideoprocessor: ::core::option::Option<&ID3D11VideoProcessor>, pextensionguid: *const ::windows::core::GUID, datasize: u32, pdata: *mut ::core::ffi::c_void) -> i32;
3934 fn VideoProcessorSetStreamFrameFormat(&self, pvideoprocessor: ::core::option::Option<&ID3D11VideoProcessor>, streamindex: u32, frameformat: D3D11_VIDEO_FRAME_FORMAT);
3935 fn VideoProcessorSetStreamColorSpace(&self, pvideoprocessor: ::core::option::Option<&ID3D11VideoProcessor>, streamindex: u32, pcolorspace: *const D3D11_VIDEO_PROCESSOR_COLOR_SPACE);
3936 fn VideoProcessorSetStreamOutputRate(&self, pvideoprocessor: ::core::option::Option<&ID3D11VideoProcessor>, streamindex: u32, outputrate: D3D11_VIDEO_PROCESSOR_OUTPUT_RATE, repeatframe: super::super::Foundation::BOOL, pcustomrate: *const super::Dxgi::Common::DXGI_RATIONAL);
3937 fn VideoProcessorSetStreamSourceRect(&self, pvideoprocessor: ::core::option::Option<&ID3D11VideoProcessor>, streamindex: u32, enable: super::super::Foundation::BOOL, prect: *const super::super::Foundation::RECT);
3938 fn VideoProcessorSetStreamDestRect(&self, pvideoprocessor: ::core::option::Option<&ID3D11VideoProcessor>, streamindex: u32, enable: super::super::Foundation::BOOL, prect: *const super::super::Foundation::RECT);
3939 fn VideoProcessorSetStreamAlpha(&self, pvideoprocessor: ::core::option::Option<&ID3D11VideoProcessor>, streamindex: u32, enable: super::super::Foundation::BOOL, alpha: f32);
3940 fn VideoProcessorSetStreamPalette(&self, pvideoprocessor: ::core::option::Option<&ID3D11VideoProcessor>, streamindex: u32, count: u32, pentries: *const u32);
3941 fn VideoProcessorSetStreamPixelAspectRatio(&self, pvideoprocessor: ::core::option::Option<&ID3D11VideoProcessor>, streamindex: u32, enable: super::super::Foundation::BOOL, psourceaspectratio: *const super::Dxgi::Common::DXGI_RATIONAL, pdestinationaspectratio: *const super::Dxgi::Common::DXGI_RATIONAL);
3942 fn VideoProcessorSetStreamLumaKey(&self, pvideoprocessor: ::core::option::Option<&ID3D11VideoProcessor>, streamindex: u32, enable: super::super::Foundation::BOOL, lower: f32, upper: f32);
3943 fn VideoProcessorSetStreamStereoFormat(&self, pvideoprocessor: ::core::option::Option<&ID3D11VideoProcessor>, streamindex: u32, enable: super::super::Foundation::BOOL, format: D3D11_VIDEO_PROCESSOR_STEREO_FORMAT, leftviewframe0: super::super::Foundation::BOOL, baseviewframe0: super::super::Foundation::BOOL, flipmode: D3D11_VIDEO_PROCESSOR_STEREO_FLIP_MODE, monooffset: i32);
3944 fn VideoProcessorSetStreamAutoProcessingMode(&self, pvideoprocessor: ::core::option::Option<&ID3D11VideoProcessor>, streamindex: u32, enable: super::super::Foundation::BOOL);
3945 fn VideoProcessorSetStreamFilter(&self, pvideoprocessor: ::core::option::Option<&ID3D11VideoProcessor>, streamindex: u32, filter: D3D11_VIDEO_PROCESSOR_FILTER, enable: super::super::Foundation::BOOL, level: i32);
3946 fn VideoProcessorSetStreamExtension(&self, pvideoprocessor: ::core::option::Option<&ID3D11VideoProcessor>, streamindex: u32, pextensionguid: *const ::windows::core::GUID, datasize: u32, pdata: *const ::core::ffi::c_void) -> i32;
3947 fn VideoProcessorGetStreamFrameFormat(&self, pvideoprocessor: ::core::option::Option<&ID3D11VideoProcessor>, streamindex: u32, pframeformat: *mut D3D11_VIDEO_FRAME_FORMAT) -> ();
3948 fn VideoProcessorGetStreamColorSpace(&self, pvideoprocessor: ::core::option::Option<&ID3D11VideoProcessor>, streamindex: u32, pcolorspace: *mut D3D11_VIDEO_PROCESSOR_COLOR_SPACE) -> ();
3949 fn VideoProcessorGetStreamOutputRate(&self, pvideoprocessor: ::core::option::Option<&ID3D11VideoProcessor>, streamindex: u32, poutputrate: *mut D3D11_VIDEO_PROCESSOR_OUTPUT_RATE, prepeatframe: *mut super::super::Foundation::BOOL, pcustomrate: *mut super::Dxgi::Common::DXGI_RATIONAL);
3950 fn VideoProcessorGetStreamSourceRect(&self, pvideoprocessor: ::core::option::Option<&ID3D11VideoProcessor>, streamindex: u32, penabled: *mut super::super::Foundation::BOOL, prect: *mut super::super::Foundation::RECT);
3951 fn VideoProcessorGetStreamDestRect(&self, pvideoprocessor: ::core::option::Option<&ID3D11VideoProcessor>, streamindex: u32, penabled: *mut super::super::Foundation::BOOL, prect: *mut super::super::Foundation::RECT);
3952 fn VideoProcessorGetStreamAlpha(&self, pvideoprocessor: ::core::option::Option<&ID3D11VideoProcessor>, streamindex: u32, penabled: *mut super::super::Foundation::BOOL, palpha: *mut f32);
3953 fn VideoProcessorGetStreamPalette(&self, pvideoprocessor: ::core::option::Option<&ID3D11VideoProcessor>, streamindex: u32, count: u32, pentries: *mut u32);
3954 fn VideoProcessorGetStreamPixelAspectRatio(&self, pvideoprocessor: ::core::option::Option<&ID3D11VideoProcessor>, streamindex: u32, penabled: *mut super::super::Foundation::BOOL, psourceaspectratio: *mut super::Dxgi::Common::DXGI_RATIONAL, pdestinationaspectratio: *mut super::Dxgi::Common::DXGI_RATIONAL);
3955 fn VideoProcessorGetStreamLumaKey(&self, pvideoprocessor: ::core::option::Option<&ID3D11VideoProcessor>, streamindex: u32, penabled: *mut super::super::Foundation::BOOL, plower: *mut f32, pupper: *mut f32);
3956 fn VideoProcessorGetStreamStereoFormat(&self, pvideoprocessor: ::core::option::Option<&ID3D11VideoProcessor>, streamindex: u32, penable: *mut super::super::Foundation::BOOL, pformat: *mut D3D11_VIDEO_PROCESSOR_STEREO_FORMAT, pleftviewframe0: *mut super::super::Foundation::BOOL, pbaseviewframe0: *mut super::super::Foundation::BOOL, pflipmode: *mut D3D11_VIDEO_PROCESSOR_STEREO_FLIP_MODE, monooffset: *mut i32);
3957 fn VideoProcessorGetStreamAutoProcessingMode(&self, pvideoprocessor: ::core::option::Option<&ID3D11VideoProcessor>, streamindex: u32, penabled: *mut super::super::Foundation::BOOL) -> ();
3958 fn VideoProcessorGetStreamFilter(&self, pvideoprocessor: ::core::option::Option<&ID3D11VideoProcessor>, streamindex: u32, filter: D3D11_VIDEO_PROCESSOR_FILTER, penabled: *mut super::super::Foundation::BOOL, plevel: *mut i32);
3959 fn VideoProcessorGetStreamExtension(&self, pvideoprocessor: ::core::option::Option<&ID3D11VideoProcessor>, streamindex: u32, pextensionguid: *const ::windows::core::GUID, datasize: u32, pdata: *mut ::core::ffi::c_void) -> i32;
3960 fn VideoProcessorBlt(&self, pvideoprocessor: ::core::option::Option<&ID3D11VideoProcessor>, pview: ::core::option::Option<&ID3D11VideoProcessorOutputView>, outputframe: u32, streamcount: u32, pstreams: *const D3D11_VIDEO_PROCESSOR_STREAM) -> ::windows::core::Result<()>;
3961 fn NegotiateCryptoSessionKeyExchange(&self, pcryptosession: ::core::option::Option<&ID3D11CryptoSession>, datasize: u32, pdata: *mut ::core::ffi::c_void) -> ::windows::core::Result<()>;
3962 fn EncryptionBlt(&self, pcryptosession: ::core::option::Option<&ID3D11CryptoSession>, psrcsurface: ::core::option::Option<&ID3D11Texture2D>, pdstsurface: ::core::option::Option<&ID3D11Texture2D>, ivsize: u32, piv: *mut ::core::ffi::c_void);
3963 fn DecryptionBlt(&self, pcryptosession: ::core::option::Option<&ID3D11CryptoSession>, psrcsurface: ::core::option::Option<&ID3D11Texture2D>, pdstsurface: ::core::option::Option<&ID3D11Texture2D>, pencryptedblockinfo: *const D3D11_ENCRYPTED_BLOCK_INFO, contentkeysize: u32, pcontentkey: *const ::core::ffi::c_void, ivsize: u32, piv: *mut ::core::ffi::c_void);
3964 fn StartSessionKeyRefresh(&self, pcryptosession: ::core::option::Option<&ID3D11CryptoSession>, randomnumbersize: u32, prandomnumber: *mut ::core::ffi::c_void);
3965 fn FinishSessionKeyRefresh(&self, pcryptosession: ::core::option::Option<&ID3D11CryptoSession>);
3966 fn GetEncryptionBltKey(&self, pcryptosession: ::core::option::Option<&ID3D11CryptoSession>, keysize: u32, preadbackkey: *mut ::core::ffi::c_void) -> ::windows::core::Result<()>;
3967 fn NegotiateAuthenticatedChannelKeyExchange(&self, pchannel: ::core::option::Option<&ID3D11AuthenticatedChannel>, datasize: u32, pdata: *mut ::core::ffi::c_void) -> ::windows::core::Result<()>;
3968 fn QueryAuthenticatedChannel(&self, pchannel: ::core::option::Option<&ID3D11AuthenticatedChannel>, inputsize: u32, pinput: *const ::core::ffi::c_void, outputsize: u32, poutput: *mut ::core::ffi::c_void) -> ::windows::core::Result<()>;
3969 fn ConfigureAuthenticatedChannel(&self, pchannel: ::core::option::Option<&ID3D11AuthenticatedChannel>, inputsize: u32, pinput: *const ::core::ffi::c_void, poutput: *mut D3D11_AUTHENTICATED_CONFIGURE_OUTPUT) -> ::windows::core::Result<()>;
3970 fn VideoProcessorSetStreamRotation(&self, pvideoprocessor: ::core::option::Option<&ID3D11VideoProcessor>, streamindex: u32, enable: super::super::Foundation::BOOL, rotation: D3D11_VIDEO_PROCESSOR_ROTATION);
3971 fn VideoProcessorGetStreamRotation(&self, pvideoprocessor: ::core::option::Option<&ID3D11VideoProcessor>, streamindex: u32, penable: *mut super::super::Foundation::BOOL, protation: *mut D3D11_VIDEO_PROCESSOR_ROTATION);
3972}
3973#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi_Common"))]
3974impl ::windows::core::RuntimeName for ID3D11VideoContext {}
3975#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi_Common"))]
3976impl ID3D11VideoContext_Vtbl {
3977 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11VideoContext_Impl, const OFFSET: isize>() -> ID3D11VideoContext_Vtbl {
3978 unsafe extern "system" fn GetDecoderBuffer<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11VideoContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdecoder: *mut ::core::ffi::c_void, r#type: D3D11_VIDEO_DECODER_BUFFER_TYPE, pbuffersize: *mut u32, ppbuffer: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
3979 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3980 let this = (*this).get_impl();
3981 this.GetDecoderBuffer(::windows::core::from_raw_borrowed(&pdecoder), ::core::mem::transmute_copy(&r#type), ::core::mem::transmute_copy(&pbuffersize), ::core::mem::transmute_copy(&ppbuffer)).into()
3982 }
3983 unsafe extern "system" fn ReleaseDecoderBuffer<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11VideoContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdecoder: *mut ::core::ffi::c_void, r#type: D3D11_VIDEO_DECODER_BUFFER_TYPE) -> ::windows::core::HRESULT {
3984 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3985 let this = (*this).get_impl();
3986 this.ReleaseDecoderBuffer(::windows::core::from_raw_borrowed(&pdecoder), ::core::mem::transmute_copy(&r#type)).into()
3987 }
3988 unsafe extern "system" fn DecoderBeginFrame<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11VideoContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdecoder: *mut ::core::ffi::c_void, pview: *mut ::core::ffi::c_void, contentkeysize: u32, pcontentkey: *const ::core::ffi::c_void) -> ::windows::core::HRESULT {
3989 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3990 let this = (*this).get_impl();
3991 this.DecoderBeginFrame(::windows::core::from_raw_borrowed(&pdecoder), ::windows::core::from_raw_borrowed(&pview), ::core::mem::transmute_copy(&contentkeysize), ::core::mem::transmute_copy(&pcontentkey)).into()
3992 }
3993 unsafe extern "system" fn DecoderEndFrame<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11VideoContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdecoder: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
3994 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3995 let this = (*this).get_impl();
3996 this.DecoderEndFrame(::windows::core::from_raw_borrowed(&pdecoder)).into()
3997 }
3998 unsafe extern "system" fn SubmitDecoderBuffers<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11VideoContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdecoder: *mut ::core::ffi::c_void, numbuffers: u32, pbufferdesc: *const D3D11_VIDEO_DECODER_BUFFER_DESC) -> ::windows::core::HRESULT {
3999 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4000 let this = (*this).get_impl();
4001 this.SubmitDecoderBuffers(::windows::core::from_raw_borrowed(&pdecoder), ::core::mem::transmute_copy(&numbuffers), ::core::mem::transmute_copy(&pbufferdesc)).into()
4002 }
4003 unsafe extern "system" fn DecoderExtension<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11VideoContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdecoder: *mut ::core::ffi::c_void, pextensiondata: *const D3D11_VIDEO_DECODER_EXTENSION) -> i32 {
4004 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4005 let this = (*this).get_impl();
4006 this.DecoderExtension(::windows::core::from_raw_borrowed(&pdecoder), ::core::mem::transmute_copy(&pextensiondata))
4007 }
4008 unsafe extern "system" fn VideoProcessorSetOutputTargetRect<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11VideoContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvideoprocessor: *mut ::core::ffi::c_void, enable: super::super::Foundation::BOOL, prect: *const super::super::Foundation::RECT) {
4009 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4010 let this = (*this).get_impl();
4011 this.VideoProcessorSetOutputTargetRect(::windows::core::from_raw_borrowed(&pvideoprocessor), ::core::mem::transmute_copy(&enable), ::core::mem::transmute_copy(&prect))
4012 }
4013 unsafe extern "system" fn VideoProcessorSetOutputBackgroundColor<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11VideoContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvideoprocessor: *mut ::core::ffi::c_void, ycbcr: super::super::Foundation::BOOL, pcolor: *const D3D11_VIDEO_COLOR) {
4014 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4015 let this = (*this).get_impl();
4016 this.VideoProcessorSetOutputBackgroundColor(::windows::core::from_raw_borrowed(&pvideoprocessor), ::core::mem::transmute_copy(&ycbcr), ::core::mem::transmute_copy(&pcolor))
4017 }
4018 unsafe extern "system" fn VideoProcessorSetOutputColorSpace<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11VideoContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvideoprocessor: *mut ::core::ffi::c_void, pcolorspace: *const D3D11_VIDEO_PROCESSOR_COLOR_SPACE) {
4019 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4020 let this = (*this).get_impl();
4021 this.VideoProcessorSetOutputColorSpace(::windows::core::from_raw_borrowed(&pvideoprocessor), ::core::mem::transmute_copy(&pcolorspace))
4022 }
4023 unsafe extern "system" fn VideoProcessorSetOutputAlphaFillMode<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11VideoContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvideoprocessor: *mut ::core::ffi::c_void, alphafillmode: D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE, streamindex: u32) {
4024 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4025 let this = (*this).get_impl();
4026 this.VideoProcessorSetOutputAlphaFillMode(::windows::core::from_raw_borrowed(&pvideoprocessor), ::core::mem::transmute_copy(&alphafillmode), ::core::mem::transmute_copy(&streamindex))
4027 }
4028 unsafe extern "system" fn VideoProcessorSetOutputConstriction<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11VideoContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvideoprocessor: *mut ::core::ffi::c_void, enable: super::super::Foundation::BOOL, size: super::super::Foundation::SIZE) {
4029 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4030 let this = (*this).get_impl();
4031 this.VideoProcessorSetOutputConstriction(::windows::core::from_raw_borrowed(&pvideoprocessor), ::core::mem::transmute_copy(&enable), ::core::mem::transmute(&size))
4032 }
4033 unsafe extern "system" fn VideoProcessorSetOutputStereoMode<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11VideoContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvideoprocessor: *mut ::core::ffi::c_void, enable: super::super::Foundation::BOOL) {
4034 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4035 let this = (*this).get_impl();
4036 this.VideoProcessorSetOutputStereoMode(::windows::core::from_raw_borrowed(&pvideoprocessor), ::core::mem::transmute_copy(&enable))
4037 }
4038 unsafe extern "system" fn VideoProcessorSetOutputExtension<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11VideoContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvideoprocessor: *mut ::core::ffi::c_void, pextensionguid: *const ::windows::core::GUID, datasize: u32, pdata: *const ::core::ffi::c_void) -> i32 {
4039 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4040 let this = (*this).get_impl();
4041 this.VideoProcessorSetOutputExtension(::windows::core::from_raw_borrowed(&pvideoprocessor), ::core::mem::transmute_copy(&pextensionguid), ::core::mem::transmute_copy(&datasize), ::core::mem::transmute_copy(&pdata))
4042 }
4043 unsafe extern "system" fn VideoProcessorGetOutputTargetRect<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11VideoContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvideoprocessor: *mut ::core::ffi::c_void, enabled: *mut super::super::Foundation::BOOL, prect: *mut super::super::Foundation::RECT) {
4044 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4045 let this = (*this).get_impl();
4046 this.VideoProcessorGetOutputTargetRect(::windows::core::from_raw_borrowed(&pvideoprocessor), ::core::mem::transmute_copy(&enabled), ::core::mem::transmute_copy(&prect))
4047 }
4048 unsafe extern "system" fn VideoProcessorGetOutputBackgroundColor<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11VideoContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvideoprocessor: *mut ::core::ffi::c_void, pycbcr: *mut super::super::Foundation::BOOL, pcolor: *mut D3D11_VIDEO_COLOR) {
4049 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4050 let this = (*this).get_impl();
4051 this.VideoProcessorGetOutputBackgroundColor(::windows::core::from_raw_borrowed(&pvideoprocessor), ::core::mem::transmute_copy(&pycbcr), ::core::mem::transmute_copy(&pcolor))
4052 }
4053 unsafe extern "system" fn VideoProcessorGetOutputColorSpace<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11VideoContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvideoprocessor: *mut ::core::ffi::c_void, pcolorspace: *mut D3D11_VIDEO_PROCESSOR_COLOR_SPACE) {
4054 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4055 let this = (*this).get_impl();
4056 this.VideoProcessorGetOutputColorSpace(::windows::core::from_raw_borrowed(&pvideoprocessor), ::core::mem::transmute_copy(&pcolorspace))
4057 }
4058 unsafe extern "system" fn VideoProcessorGetOutputAlphaFillMode<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11VideoContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvideoprocessor: *mut ::core::ffi::c_void, palphafillmode: *mut D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE, pstreamindex: *mut u32) {
4059 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4060 let this = (*this).get_impl();
4061 this.VideoProcessorGetOutputAlphaFillMode(::windows::core::from_raw_borrowed(&pvideoprocessor), ::core::mem::transmute_copy(&palphafillmode), ::core::mem::transmute_copy(&pstreamindex))
4062 }
4063 unsafe extern "system" fn VideoProcessorGetOutputConstriction<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11VideoContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvideoprocessor: *mut ::core::ffi::c_void, penabled: *mut super::super::Foundation::BOOL, psize: *mut super::super::Foundation::SIZE) {
4064 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4065 let this = (*this).get_impl();
4066 this.VideoProcessorGetOutputConstriction(::windows::core::from_raw_borrowed(&pvideoprocessor), ::core::mem::transmute_copy(&penabled), ::core::mem::transmute_copy(&psize))
4067 }
4068 unsafe extern "system" fn VideoProcessorGetOutputStereoMode<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11VideoContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvideoprocessor: *mut ::core::ffi::c_void, penabled: *mut super::super::Foundation::BOOL) {
4069 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4070 let this = (*this).get_impl();
4071 this.VideoProcessorGetOutputStereoMode(::windows::core::from_raw_borrowed(&pvideoprocessor), ::core::mem::transmute_copy(&penabled))
4072 }
4073 unsafe extern "system" fn VideoProcessorGetOutputExtension<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11VideoContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvideoprocessor: *mut ::core::ffi::c_void, pextensionguid: *const ::windows::core::GUID, datasize: u32, pdata: *mut ::core::ffi::c_void) -> i32 {
4074 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4075 let this = (*this).get_impl();
4076 this.VideoProcessorGetOutputExtension(::windows::core::from_raw_borrowed(&pvideoprocessor), ::core::mem::transmute_copy(&pextensionguid), ::core::mem::transmute_copy(&datasize), ::core::mem::transmute_copy(&pdata))
4077 }
4078 unsafe extern "system" fn VideoProcessorSetStreamFrameFormat<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11VideoContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvideoprocessor: *mut ::core::ffi::c_void, streamindex: u32, frameformat: D3D11_VIDEO_FRAME_FORMAT) {
4079 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4080 let this = (*this).get_impl();
4081 this.VideoProcessorSetStreamFrameFormat(::windows::core::from_raw_borrowed(&pvideoprocessor), ::core::mem::transmute_copy(&streamindex), ::core::mem::transmute_copy(&frameformat))
4082 }
4083 unsafe extern "system" fn VideoProcessorSetStreamColorSpace<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11VideoContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvideoprocessor: *mut ::core::ffi::c_void, streamindex: u32, pcolorspace: *const D3D11_VIDEO_PROCESSOR_COLOR_SPACE) {
4084 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4085 let this = (*this).get_impl();
4086 this.VideoProcessorSetStreamColorSpace(::windows::core::from_raw_borrowed(&pvideoprocessor), ::core::mem::transmute_copy(&streamindex), ::core::mem::transmute_copy(&pcolorspace))
4087 }
4088 unsafe extern "system" fn VideoProcessorSetStreamOutputRate<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11VideoContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvideoprocessor: *mut ::core::ffi::c_void, streamindex: u32, outputrate: D3D11_VIDEO_PROCESSOR_OUTPUT_RATE, repeatframe: super::super::Foundation::BOOL, pcustomrate: *const super::Dxgi::Common::DXGI_RATIONAL) {
4089 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4090 let this = (*this).get_impl();
4091 this.VideoProcessorSetStreamOutputRate(::windows::core::from_raw_borrowed(&pvideoprocessor), ::core::mem::transmute_copy(&streamindex), ::core::mem::transmute_copy(&outputrate), ::core::mem::transmute_copy(&repeatframe), ::core::mem::transmute_copy(&pcustomrate))
4092 }
4093 unsafe extern "system" fn VideoProcessorSetStreamSourceRect<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11VideoContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvideoprocessor: *mut ::core::ffi::c_void, streamindex: u32, enable: super::super::Foundation::BOOL, prect: *const super::super::Foundation::RECT) {
4094 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4095 let this = (*this).get_impl();
4096 this.VideoProcessorSetStreamSourceRect(::windows::core::from_raw_borrowed(&pvideoprocessor), ::core::mem::transmute_copy(&streamindex), ::core::mem::transmute_copy(&enable), ::core::mem::transmute_copy(&prect))
4097 }
4098 unsafe extern "system" fn VideoProcessorSetStreamDestRect<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11VideoContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvideoprocessor: *mut ::core::ffi::c_void, streamindex: u32, enable: super::super::Foundation::BOOL, prect: *const super::super::Foundation::RECT) {
4099 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4100 let this = (*this).get_impl();
4101 this.VideoProcessorSetStreamDestRect(::windows::core::from_raw_borrowed(&pvideoprocessor), ::core::mem::transmute_copy(&streamindex), ::core::mem::transmute_copy(&enable), ::core::mem::transmute_copy(&prect))
4102 }
4103 unsafe extern "system" fn VideoProcessorSetStreamAlpha<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11VideoContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvideoprocessor: *mut ::core::ffi::c_void, streamindex: u32, enable: super::super::Foundation::BOOL, alpha: f32) {
4104 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4105 let this = (*this).get_impl();
4106 this.VideoProcessorSetStreamAlpha(::windows::core::from_raw_borrowed(&pvideoprocessor), ::core::mem::transmute_copy(&streamindex), ::core::mem::transmute_copy(&enable), ::core::mem::transmute_copy(&alpha))
4107 }
4108 unsafe extern "system" fn VideoProcessorSetStreamPalette<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11VideoContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvideoprocessor: *mut ::core::ffi::c_void, streamindex: u32, count: u32, pentries: *const u32) {
4109 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4110 let this = (*this).get_impl();
4111 this.VideoProcessorSetStreamPalette(::windows::core::from_raw_borrowed(&pvideoprocessor), ::core::mem::transmute_copy(&streamindex), ::core::mem::transmute_copy(&count), ::core::mem::transmute_copy(&pentries))
4112 }
4113 unsafe extern "system" fn VideoProcessorSetStreamPixelAspectRatio<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11VideoContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvideoprocessor: *mut ::core::ffi::c_void, streamindex: u32, enable: super::super::Foundation::BOOL, psourceaspectratio: *const super::Dxgi::Common::DXGI_RATIONAL, pdestinationaspectratio: *const super::Dxgi::Common::DXGI_RATIONAL) {
4114 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4115 let this = (*this).get_impl();
4116 this.VideoProcessorSetStreamPixelAspectRatio(::windows::core::from_raw_borrowed(&pvideoprocessor), ::core::mem::transmute_copy(&streamindex), ::core::mem::transmute_copy(&enable), ::core::mem::transmute_copy(&psourceaspectratio), ::core::mem::transmute_copy(&pdestinationaspectratio))
4117 }
4118 unsafe extern "system" fn VideoProcessorSetStreamLumaKey<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11VideoContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvideoprocessor: *mut ::core::ffi::c_void, streamindex: u32, enable: super::super::Foundation::BOOL, lower: f32, upper: f32) {
4119 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4120 let this = (*this).get_impl();
4121 this.VideoProcessorSetStreamLumaKey(::windows::core::from_raw_borrowed(&pvideoprocessor), ::core::mem::transmute_copy(&streamindex), ::core::mem::transmute_copy(&enable), ::core::mem::transmute_copy(&lower), ::core::mem::transmute_copy(&upper))
4122 }
4123 unsafe extern "system" fn VideoProcessorSetStreamStereoFormat<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11VideoContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvideoprocessor: *mut ::core::ffi::c_void, streamindex: u32, enable: super::super::Foundation::BOOL, format: D3D11_VIDEO_PROCESSOR_STEREO_FORMAT, leftviewframe0: super::super::Foundation::BOOL, baseviewframe0: super::super::Foundation::BOOL, flipmode: D3D11_VIDEO_PROCESSOR_STEREO_FLIP_MODE, monooffset: i32) {
4124 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4125 let this = (*this).get_impl();
4126 this.VideoProcessorSetStreamStereoFormat(::windows::core::from_raw_borrowed(&pvideoprocessor), ::core::mem::transmute_copy(&streamindex), ::core::mem::transmute_copy(&enable), ::core::mem::transmute_copy(&format), ::core::mem::transmute_copy(&leftviewframe0), ::core::mem::transmute_copy(&baseviewframe0), ::core::mem::transmute_copy(&flipmode), ::core::mem::transmute_copy(&monooffset))
4127 }
4128 unsafe extern "system" fn VideoProcessorSetStreamAutoProcessingMode<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11VideoContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvideoprocessor: *mut ::core::ffi::c_void, streamindex: u32, enable: super::super::Foundation::BOOL) {
4129 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4130 let this = (*this).get_impl();
4131 this.VideoProcessorSetStreamAutoProcessingMode(::windows::core::from_raw_borrowed(&pvideoprocessor), ::core::mem::transmute_copy(&streamindex), ::core::mem::transmute_copy(&enable))
4132 }
4133 unsafe extern "system" fn VideoProcessorSetStreamFilter<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11VideoContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvideoprocessor: *mut ::core::ffi::c_void, streamindex: u32, filter: D3D11_VIDEO_PROCESSOR_FILTER, enable: super::super::Foundation::BOOL, level: i32) {
4134 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4135 let this = (*this).get_impl();
4136 this.VideoProcessorSetStreamFilter(::windows::core::from_raw_borrowed(&pvideoprocessor), ::core::mem::transmute_copy(&streamindex), ::core::mem::transmute_copy(&filter), ::core::mem::transmute_copy(&enable), ::core::mem::transmute_copy(&level))
4137 }
4138 unsafe extern "system" fn VideoProcessorSetStreamExtension<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11VideoContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvideoprocessor: *mut ::core::ffi::c_void, streamindex: u32, pextensionguid: *const ::windows::core::GUID, datasize: u32, pdata: *const ::core::ffi::c_void) -> i32 {
4139 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4140 let this = (*this).get_impl();
4141 this.VideoProcessorSetStreamExtension(::windows::core::from_raw_borrowed(&pvideoprocessor), ::core::mem::transmute_copy(&streamindex), ::core::mem::transmute_copy(&pextensionguid), ::core::mem::transmute_copy(&datasize), ::core::mem::transmute_copy(&pdata))
4142 }
4143 unsafe extern "system" fn VideoProcessorGetStreamFrameFormat<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11VideoContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvideoprocessor: *mut ::core::ffi::c_void, streamindex: u32, pframeformat: *mut D3D11_VIDEO_FRAME_FORMAT) {
4144 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4145 let this = (*this).get_impl();
4146 this.VideoProcessorGetStreamFrameFormat(::windows::core::from_raw_borrowed(&pvideoprocessor), ::core::mem::transmute_copy(&streamindex), ::core::mem::transmute_copy(&pframeformat))
4147 }
4148 unsafe extern "system" fn VideoProcessorGetStreamColorSpace<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11VideoContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvideoprocessor: *mut ::core::ffi::c_void, streamindex: u32, pcolorspace: *mut D3D11_VIDEO_PROCESSOR_COLOR_SPACE) {
4149 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4150 let this = (*this).get_impl();
4151 this.VideoProcessorGetStreamColorSpace(::windows::core::from_raw_borrowed(&pvideoprocessor), ::core::mem::transmute_copy(&streamindex), ::core::mem::transmute_copy(&pcolorspace))
4152 }
4153 unsafe extern "system" fn VideoProcessorGetStreamOutputRate<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11VideoContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvideoprocessor: *mut ::core::ffi::c_void, streamindex: u32, poutputrate: *mut D3D11_VIDEO_PROCESSOR_OUTPUT_RATE, prepeatframe: *mut super::super::Foundation::BOOL, pcustomrate: *mut super::Dxgi::Common::DXGI_RATIONAL) {
4154 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4155 let this = (*this).get_impl();
4156 this.VideoProcessorGetStreamOutputRate(::windows::core::from_raw_borrowed(&pvideoprocessor), ::core::mem::transmute_copy(&streamindex), ::core::mem::transmute_copy(&poutputrate), ::core::mem::transmute_copy(&prepeatframe), ::core::mem::transmute_copy(&pcustomrate))
4157 }
4158 unsafe extern "system" fn VideoProcessorGetStreamSourceRect<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11VideoContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvideoprocessor: *mut ::core::ffi::c_void, streamindex: u32, penabled: *mut super::super::Foundation::BOOL, prect: *mut super::super::Foundation::RECT) {
4159 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4160 let this = (*this).get_impl();
4161 this.VideoProcessorGetStreamSourceRect(::windows::core::from_raw_borrowed(&pvideoprocessor), ::core::mem::transmute_copy(&streamindex), ::core::mem::transmute_copy(&penabled), ::core::mem::transmute_copy(&prect))
4162 }
4163 unsafe extern "system" fn VideoProcessorGetStreamDestRect<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11VideoContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvideoprocessor: *mut ::core::ffi::c_void, streamindex: u32, penabled: *mut super::super::Foundation::BOOL, prect: *mut super::super::Foundation::RECT) {
4164 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4165 let this = (*this).get_impl();
4166 this.VideoProcessorGetStreamDestRect(::windows::core::from_raw_borrowed(&pvideoprocessor), ::core::mem::transmute_copy(&streamindex), ::core::mem::transmute_copy(&penabled), ::core::mem::transmute_copy(&prect))
4167 }
4168 unsafe extern "system" fn VideoProcessorGetStreamAlpha<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11VideoContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvideoprocessor: *mut ::core::ffi::c_void, streamindex: u32, penabled: *mut super::super::Foundation::BOOL, palpha: *mut f32) {
4169 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4170 let this = (*this).get_impl();
4171 this.VideoProcessorGetStreamAlpha(::windows::core::from_raw_borrowed(&pvideoprocessor), ::core::mem::transmute_copy(&streamindex), ::core::mem::transmute_copy(&penabled), ::core::mem::transmute_copy(&palpha))
4172 }
4173 unsafe extern "system" fn VideoProcessorGetStreamPalette<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11VideoContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvideoprocessor: *mut ::core::ffi::c_void, streamindex: u32, count: u32, pentries: *mut u32) {
4174 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4175 let this = (*this).get_impl();
4176 this.VideoProcessorGetStreamPalette(::windows::core::from_raw_borrowed(&pvideoprocessor), ::core::mem::transmute_copy(&streamindex), ::core::mem::transmute_copy(&count), ::core::mem::transmute_copy(&pentries))
4177 }
4178 unsafe extern "system" fn VideoProcessorGetStreamPixelAspectRatio<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11VideoContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvideoprocessor: *mut ::core::ffi::c_void, streamindex: u32, penabled: *mut super::super::Foundation::BOOL, psourceaspectratio: *mut super::Dxgi::Common::DXGI_RATIONAL, pdestinationaspectratio: *mut super::Dxgi::Common::DXGI_RATIONAL) {
4179 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4180 let this = (*this).get_impl();
4181 this.VideoProcessorGetStreamPixelAspectRatio(::windows::core::from_raw_borrowed(&pvideoprocessor), ::core::mem::transmute_copy(&streamindex), ::core::mem::transmute_copy(&penabled), ::core::mem::transmute_copy(&psourceaspectratio), ::core::mem::transmute_copy(&pdestinationaspectratio))
4182 }
4183 unsafe extern "system" fn VideoProcessorGetStreamLumaKey<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11VideoContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvideoprocessor: *mut ::core::ffi::c_void, streamindex: u32, penabled: *mut super::super::Foundation::BOOL, plower: *mut f32, pupper: *mut f32) {
4184 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4185 let this = (*this).get_impl();
4186 this.VideoProcessorGetStreamLumaKey(::windows::core::from_raw_borrowed(&pvideoprocessor), ::core::mem::transmute_copy(&streamindex), ::core::mem::transmute_copy(&penabled), ::core::mem::transmute_copy(&plower), ::core::mem::transmute_copy(&pupper))
4187 }
4188 unsafe extern "system" fn VideoProcessorGetStreamStereoFormat<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11VideoContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvideoprocessor: *mut ::core::ffi::c_void, streamindex: u32, penable: *mut super::super::Foundation::BOOL, pformat: *mut D3D11_VIDEO_PROCESSOR_STEREO_FORMAT, pleftviewframe0: *mut super::super::Foundation::BOOL, pbaseviewframe0: *mut super::super::Foundation::BOOL, pflipmode: *mut D3D11_VIDEO_PROCESSOR_STEREO_FLIP_MODE, monooffset: *mut i32) {
4189 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4190 let this = (*this).get_impl();
4191 this.VideoProcessorGetStreamStereoFormat(::windows::core::from_raw_borrowed(&pvideoprocessor), ::core::mem::transmute_copy(&streamindex), ::core::mem::transmute_copy(&penable), ::core::mem::transmute_copy(&pformat), ::core::mem::transmute_copy(&pleftviewframe0), ::core::mem::transmute_copy(&pbaseviewframe0), ::core::mem::transmute_copy(&pflipmode), ::core::mem::transmute_copy(&monooffset))
4192 }
4193 unsafe extern "system" fn VideoProcessorGetStreamAutoProcessingMode<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11VideoContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvideoprocessor: *mut ::core::ffi::c_void, streamindex: u32, penabled: *mut super::super::Foundation::BOOL) {
4194 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4195 let this = (*this).get_impl();
4196 this.VideoProcessorGetStreamAutoProcessingMode(::windows::core::from_raw_borrowed(&pvideoprocessor), ::core::mem::transmute_copy(&streamindex), ::core::mem::transmute_copy(&penabled))
4197 }
4198 unsafe extern "system" fn VideoProcessorGetStreamFilter<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11VideoContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvideoprocessor: *mut ::core::ffi::c_void, streamindex: u32, filter: D3D11_VIDEO_PROCESSOR_FILTER, penabled: *mut super::super::Foundation::BOOL, plevel: *mut i32) {
4199 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4200 let this = (*this).get_impl();
4201 this.VideoProcessorGetStreamFilter(::windows::core::from_raw_borrowed(&pvideoprocessor), ::core::mem::transmute_copy(&streamindex), ::core::mem::transmute_copy(&filter), ::core::mem::transmute_copy(&penabled), ::core::mem::transmute_copy(&plevel))
4202 }
4203 unsafe extern "system" fn VideoProcessorGetStreamExtension<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11VideoContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvideoprocessor: *mut ::core::ffi::c_void, streamindex: u32, pextensionguid: *const ::windows::core::GUID, datasize: u32, pdata: *mut ::core::ffi::c_void) -> i32 {
4204 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4205 let this = (*this).get_impl();
4206 this.VideoProcessorGetStreamExtension(::windows::core::from_raw_borrowed(&pvideoprocessor), ::core::mem::transmute_copy(&streamindex), ::core::mem::transmute_copy(&pextensionguid), ::core::mem::transmute_copy(&datasize), ::core::mem::transmute_copy(&pdata))
4207 }
4208 unsafe extern "system" fn VideoProcessorBlt<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11VideoContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvideoprocessor: *mut ::core::ffi::c_void, pview: *mut ::core::ffi::c_void, outputframe: u32, streamcount: u32, pstreams: *const D3D11_VIDEO_PROCESSOR_STREAM) -> ::windows::core::HRESULT {
4209 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4210 let this = (*this).get_impl();
4211 this.VideoProcessorBlt(::windows::core::from_raw_borrowed(&pvideoprocessor), ::windows::core::from_raw_borrowed(&pview), ::core::mem::transmute_copy(&outputframe), ::core::mem::transmute_copy(&streamcount), ::core::mem::transmute_copy(&pstreams)).into()
4212 }
4213 unsafe extern "system" fn NegotiateCryptoSessionKeyExchange<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11VideoContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pcryptosession: *mut ::core::ffi::c_void, datasize: u32, pdata: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
4214 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4215 let this = (*this).get_impl();
4216 this.NegotiateCryptoSessionKeyExchange(::windows::core::from_raw_borrowed(&pcryptosession), ::core::mem::transmute_copy(&datasize), ::core::mem::transmute_copy(&pdata)).into()
4217 }
4218 unsafe extern "system" fn EncryptionBlt<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11VideoContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pcryptosession: *mut ::core::ffi::c_void, psrcsurface: *mut ::core::ffi::c_void, pdstsurface: *mut ::core::ffi::c_void, ivsize: u32, piv: *mut ::core::ffi::c_void) {
4219 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4220 let this = (*this).get_impl();
4221 this.EncryptionBlt(::windows::core::from_raw_borrowed(&pcryptosession), ::windows::core::from_raw_borrowed(&psrcsurface), ::windows::core::from_raw_borrowed(&pdstsurface), ::core::mem::transmute_copy(&ivsize), ::core::mem::transmute_copy(&piv))
4222 }
4223 unsafe extern "system" fn DecryptionBlt<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11VideoContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pcryptosession: *mut ::core::ffi::c_void, psrcsurface: *mut ::core::ffi::c_void, pdstsurface: *mut ::core::ffi::c_void, pencryptedblockinfo: *const D3D11_ENCRYPTED_BLOCK_INFO, contentkeysize: u32, pcontentkey: *const ::core::ffi::c_void, ivsize: u32, piv: *mut ::core::ffi::c_void) {
4224 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4225 let this = (*this).get_impl();
4226 this.DecryptionBlt(::windows::core::from_raw_borrowed(&pcryptosession), ::windows::core::from_raw_borrowed(&psrcsurface), ::windows::core::from_raw_borrowed(&pdstsurface), ::core::mem::transmute_copy(&pencryptedblockinfo), ::core::mem::transmute_copy(&contentkeysize), ::core::mem::transmute_copy(&pcontentkey), ::core::mem::transmute_copy(&ivsize), ::core::mem::transmute_copy(&piv))
4227 }
4228 unsafe extern "system" fn StartSessionKeyRefresh<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11VideoContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pcryptosession: *mut ::core::ffi::c_void, randomnumbersize: u32, prandomnumber: *mut ::core::ffi::c_void) {
4229 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4230 let this = (*this).get_impl();
4231 this.StartSessionKeyRefresh(::windows::core::from_raw_borrowed(&pcryptosession), ::core::mem::transmute_copy(&randomnumbersize), ::core::mem::transmute_copy(&prandomnumber))
4232 }
4233 unsafe extern "system" fn FinishSessionKeyRefresh<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11VideoContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pcryptosession: *mut ::core::ffi::c_void) {
4234 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4235 let this = (*this).get_impl();
4236 this.FinishSessionKeyRefresh(::windows::core::from_raw_borrowed(&pcryptosession))
4237 }
4238 unsafe extern "system" fn GetEncryptionBltKey<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11VideoContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pcryptosession: *mut ::core::ffi::c_void, keysize: u32, preadbackkey: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
4239 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4240 let this = (*this).get_impl();
4241 this.GetEncryptionBltKey(::windows::core::from_raw_borrowed(&pcryptosession), ::core::mem::transmute_copy(&keysize), ::core::mem::transmute_copy(&preadbackkey)).into()
4242 }
4243 unsafe extern "system" fn NegotiateAuthenticatedChannelKeyExchange<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11VideoContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pchannel: *mut ::core::ffi::c_void, datasize: u32, pdata: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
4244 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4245 let this = (*this).get_impl();
4246 this.NegotiateAuthenticatedChannelKeyExchange(::windows::core::from_raw_borrowed(&pchannel), ::core::mem::transmute_copy(&datasize), ::core::mem::transmute_copy(&pdata)).into()
4247 }
4248 unsafe extern "system" fn QueryAuthenticatedChannel<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11VideoContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pchannel: *mut ::core::ffi::c_void, inputsize: u32, pinput: *const ::core::ffi::c_void, outputsize: u32, poutput: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
4249 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4250 let this = (*this).get_impl();
4251 this.QueryAuthenticatedChannel(::windows::core::from_raw_borrowed(&pchannel), ::core::mem::transmute_copy(&inputsize), ::core::mem::transmute_copy(&pinput), ::core::mem::transmute_copy(&outputsize), ::core::mem::transmute_copy(&poutput)).into()
4252 }
4253 unsafe extern "system" fn ConfigureAuthenticatedChannel<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11VideoContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pchannel: *mut ::core::ffi::c_void, inputsize: u32, pinput: *const ::core::ffi::c_void, poutput: *mut D3D11_AUTHENTICATED_CONFIGURE_OUTPUT) -> ::windows::core::HRESULT {
4254 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4255 let this = (*this).get_impl();
4256 this.ConfigureAuthenticatedChannel(::windows::core::from_raw_borrowed(&pchannel), ::core::mem::transmute_copy(&inputsize), ::core::mem::transmute_copy(&pinput), ::core::mem::transmute_copy(&poutput)).into()
4257 }
4258 unsafe extern "system" fn VideoProcessorSetStreamRotation<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11VideoContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvideoprocessor: *mut ::core::ffi::c_void, streamindex: u32, enable: super::super::Foundation::BOOL, rotation: D3D11_VIDEO_PROCESSOR_ROTATION) {
4259 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4260 let this = (*this).get_impl();
4261 this.VideoProcessorSetStreamRotation(::windows::core::from_raw_borrowed(&pvideoprocessor), ::core::mem::transmute_copy(&streamindex), ::core::mem::transmute_copy(&enable), ::core::mem::transmute_copy(&rotation))
4262 }
4263 unsafe extern "system" fn VideoProcessorGetStreamRotation<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11VideoContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvideoprocessor: *mut ::core::ffi::c_void, streamindex: u32, penable: *mut super::super::Foundation::BOOL, protation: *mut D3D11_VIDEO_PROCESSOR_ROTATION) {
4264 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4265 let this = (*this).get_impl();
4266 this.VideoProcessorGetStreamRotation(::windows::core::from_raw_borrowed(&pvideoprocessor), ::core::mem::transmute_copy(&streamindex), ::core::mem::transmute_copy(&penable), ::core::mem::transmute_copy(&protation))
4267 }
4268 Self {
4269 base__: ID3D11DeviceChild_Vtbl::new::<Identity, Impl, OFFSET>(),
4270 GetDecoderBuffer: GetDecoderBuffer::<Identity, Impl, OFFSET>,
4271 ReleaseDecoderBuffer: ReleaseDecoderBuffer::<Identity, Impl, OFFSET>,
4272 DecoderBeginFrame: DecoderBeginFrame::<Identity, Impl, OFFSET>,
4273 DecoderEndFrame: DecoderEndFrame::<Identity, Impl, OFFSET>,
4274 SubmitDecoderBuffers: SubmitDecoderBuffers::<Identity, Impl, OFFSET>,
4275 DecoderExtension: DecoderExtension::<Identity, Impl, OFFSET>,
4276 VideoProcessorSetOutputTargetRect: VideoProcessorSetOutputTargetRect::<Identity, Impl, OFFSET>,
4277 VideoProcessorSetOutputBackgroundColor: VideoProcessorSetOutputBackgroundColor::<Identity, Impl, OFFSET>,
4278 VideoProcessorSetOutputColorSpace: VideoProcessorSetOutputColorSpace::<Identity, Impl, OFFSET>,
4279 VideoProcessorSetOutputAlphaFillMode: VideoProcessorSetOutputAlphaFillMode::<Identity, Impl, OFFSET>,
4280 VideoProcessorSetOutputConstriction: VideoProcessorSetOutputConstriction::<Identity, Impl, OFFSET>,
4281 VideoProcessorSetOutputStereoMode: VideoProcessorSetOutputStereoMode::<Identity, Impl, OFFSET>,
4282 VideoProcessorSetOutputExtension: VideoProcessorSetOutputExtension::<Identity, Impl, OFFSET>,
4283 VideoProcessorGetOutputTargetRect: VideoProcessorGetOutputTargetRect::<Identity, Impl, OFFSET>,
4284 VideoProcessorGetOutputBackgroundColor: VideoProcessorGetOutputBackgroundColor::<Identity, Impl, OFFSET>,
4285 VideoProcessorGetOutputColorSpace: VideoProcessorGetOutputColorSpace::<Identity, Impl, OFFSET>,
4286 VideoProcessorGetOutputAlphaFillMode: VideoProcessorGetOutputAlphaFillMode::<Identity, Impl, OFFSET>,
4287 VideoProcessorGetOutputConstriction: VideoProcessorGetOutputConstriction::<Identity, Impl, OFFSET>,
4288 VideoProcessorGetOutputStereoMode: VideoProcessorGetOutputStereoMode::<Identity, Impl, OFFSET>,
4289 VideoProcessorGetOutputExtension: VideoProcessorGetOutputExtension::<Identity, Impl, OFFSET>,
4290 VideoProcessorSetStreamFrameFormat: VideoProcessorSetStreamFrameFormat::<Identity, Impl, OFFSET>,
4291 VideoProcessorSetStreamColorSpace: VideoProcessorSetStreamColorSpace::<Identity, Impl, OFFSET>,
4292 VideoProcessorSetStreamOutputRate: VideoProcessorSetStreamOutputRate::<Identity, Impl, OFFSET>,
4293 VideoProcessorSetStreamSourceRect: VideoProcessorSetStreamSourceRect::<Identity, Impl, OFFSET>,
4294 VideoProcessorSetStreamDestRect: VideoProcessorSetStreamDestRect::<Identity, Impl, OFFSET>,
4295 VideoProcessorSetStreamAlpha: VideoProcessorSetStreamAlpha::<Identity, Impl, OFFSET>,
4296 VideoProcessorSetStreamPalette: VideoProcessorSetStreamPalette::<Identity, Impl, OFFSET>,
4297 VideoProcessorSetStreamPixelAspectRatio: VideoProcessorSetStreamPixelAspectRatio::<Identity, Impl, OFFSET>,
4298 VideoProcessorSetStreamLumaKey: VideoProcessorSetStreamLumaKey::<Identity, Impl, OFFSET>,
4299 VideoProcessorSetStreamStereoFormat: VideoProcessorSetStreamStereoFormat::<Identity, Impl, OFFSET>,
4300 VideoProcessorSetStreamAutoProcessingMode: VideoProcessorSetStreamAutoProcessingMode::<Identity, Impl, OFFSET>,
4301 VideoProcessorSetStreamFilter: VideoProcessorSetStreamFilter::<Identity, Impl, OFFSET>,
4302 VideoProcessorSetStreamExtension: VideoProcessorSetStreamExtension::<Identity, Impl, OFFSET>,
4303 VideoProcessorGetStreamFrameFormat: VideoProcessorGetStreamFrameFormat::<Identity, Impl, OFFSET>,
4304 VideoProcessorGetStreamColorSpace: VideoProcessorGetStreamColorSpace::<Identity, Impl, OFFSET>,
4305 VideoProcessorGetStreamOutputRate: VideoProcessorGetStreamOutputRate::<Identity, Impl, OFFSET>,
4306 VideoProcessorGetStreamSourceRect: VideoProcessorGetStreamSourceRect::<Identity, Impl, OFFSET>,
4307 VideoProcessorGetStreamDestRect: VideoProcessorGetStreamDestRect::<Identity, Impl, OFFSET>,
4308 VideoProcessorGetStreamAlpha: VideoProcessorGetStreamAlpha::<Identity, Impl, OFFSET>,
4309 VideoProcessorGetStreamPalette: VideoProcessorGetStreamPalette::<Identity, Impl, OFFSET>,
4310 VideoProcessorGetStreamPixelAspectRatio: VideoProcessorGetStreamPixelAspectRatio::<Identity, Impl, OFFSET>,
4311 VideoProcessorGetStreamLumaKey: VideoProcessorGetStreamLumaKey::<Identity, Impl, OFFSET>,
4312 VideoProcessorGetStreamStereoFormat: VideoProcessorGetStreamStereoFormat::<Identity, Impl, OFFSET>,
4313 VideoProcessorGetStreamAutoProcessingMode: VideoProcessorGetStreamAutoProcessingMode::<Identity, Impl, OFFSET>,
4314 VideoProcessorGetStreamFilter: VideoProcessorGetStreamFilter::<Identity, Impl, OFFSET>,
4315 VideoProcessorGetStreamExtension: VideoProcessorGetStreamExtension::<Identity, Impl, OFFSET>,
4316 VideoProcessorBlt: VideoProcessorBlt::<Identity, Impl, OFFSET>,
4317 NegotiateCryptoSessionKeyExchange: NegotiateCryptoSessionKeyExchange::<Identity, Impl, OFFSET>,
4318 EncryptionBlt: EncryptionBlt::<Identity, Impl, OFFSET>,
4319 DecryptionBlt: DecryptionBlt::<Identity, Impl, OFFSET>,
4320 StartSessionKeyRefresh: StartSessionKeyRefresh::<Identity, Impl, OFFSET>,
4321 FinishSessionKeyRefresh: FinishSessionKeyRefresh::<Identity, Impl, OFFSET>,
4322 GetEncryptionBltKey: GetEncryptionBltKey::<Identity, Impl, OFFSET>,
4323 NegotiateAuthenticatedChannelKeyExchange: NegotiateAuthenticatedChannelKeyExchange::<Identity, Impl, OFFSET>,
4324 QueryAuthenticatedChannel: QueryAuthenticatedChannel::<Identity, Impl, OFFSET>,
4325 ConfigureAuthenticatedChannel: ConfigureAuthenticatedChannel::<Identity, Impl, OFFSET>,
4326 VideoProcessorSetStreamRotation: VideoProcessorSetStreamRotation::<Identity, Impl, OFFSET>,
4327 VideoProcessorGetStreamRotation: VideoProcessorGetStreamRotation::<Identity, Impl, OFFSET>,
4328 }
4329 }
4330 pub fn matches(iid: &windows::core::GUID) -> bool {
4331 iid == &<ID3D11VideoContext as ::windows::core::ComInterface>::IID || iid == &<ID3D11DeviceChild as ::windows::core::ComInterface>::IID
4332 }
4333}
4334#[doc = "*Required features: `\"Win32_Graphics_Direct3D11\"`, `\"Win32_Foundation\"`, `\"Win32_Graphics_Dxgi_Common\"`, `\"implement\"`*"]
4335#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi_Common"))]
4336pub trait ID3D11VideoContext1_Impl: Sized + ID3D11VideoContext_Impl {
4337 fn SubmitDecoderBuffers1(&self, pdecoder: ::core::option::Option<&ID3D11VideoDecoder>, numbuffers: u32, pbufferdesc: *const D3D11_VIDEO_DECODER_BUFFER_DESC1) -> ::windows::core::Result<()>;
4338 fn GetDataForNewHardwareKey(&self, pcryptosession: ::core::option::Option<&ID3D11CryptoSession>, privateinputsize: u32, pprivatinputdata: *const ::core::ffi::c_void) -> ::windows::core::Result<u64>;
4339 fn CheckCryptoSessionStatus(&self, pcryptosession: ::core::option::Option<&ID3D11CryptoSession>) -> ::windows::core::Result<D3D11_CRYPTO_SESSION_STATUS>;
4340 fn DecoderEnableDownsampling(&self, pdecoder: ::core::option::Option<&ID3D11VideoDecoder>, inputcolorspace: super::Dxgi::Common::DXGI_COLOR_SPACE_TYPE, poutputdesc: *const D3D11_VIDEO_SAMPLE_DESC, referenceframecount: u32) -> ::windows::core::Result<()>;
4341 fn DecoderUpdateDownsampling(&self, pdecoder: ::core::option::Option<&ID3D11VideoDecoder>, poutputdesc: *const D3D11_VIDEO_SAMPLE_DESC) -> ::windows::core::Result<()>;
4342 fn VideoProcessorSetOutputColorSpace1(&self, pvideoprocessor: ::core::option::Option<&ID3D11VideoProcessor>, colorspace: super::Dxgi::Common::DXGI_COLOR_SPACE_TYPE);
4343 fn VideoProcessorSetOutputShaderUsage(&self, pvideoprocessor: ::core::option::Option<&ID3D11VideoProcessor>, shaderusage: super::super::Foundation::BOOL);
4344 fn VideoProcessorGetOutputColorSpace1(&self, pvideoprocessor: ::core::option::Option<&ID3D11VideoProcessor>, pcolorspace: *mut super::Dxgi::Common::DXGI_COLOR_SPACE_TYPE) -> ();
4345 fn VideoProcessorGetOutputShaderUsage(&self, pvideoprocessor: ::core::option::Option<&ID3D11VideoProcessor>, pshaderusage: *mut super::super::Foundation::BOOL) -> ();
4346 fn VideoProcessorSetStreamColorSpace1(&self, pvideoprocessor: ::core::option::Option<&ID3D11VideoProcessor>, streamindex: u32, colorspace: super::Dxgi::Common::DXGI_COLOR_SPACE_TYPE);
4347 fn VideoProcessorSetStreamMirror(&self, pvideoprocessor: ::core::option::Option<&ID3D11VideoProcessor>, streamindex: u32, enable: super::super::Foundation::BOOL, fliphorizontal: super::super::Foundation::BOOL, flipvertical: super::super::Foundation::BOOL);
4348 fn VideoProcessorGetStreamColorSpace1(&self, pvideoprocessor: ::core::option::Option<&ID3D11VideoProcessor>, streamindex: u32, pcolorspace: *mut super::Dxgi::Common::DXGI_COLOR_SPACE_TYPE) -> ();
4349 fn VideoProcessorGetStreamMirror(&self, pvideoprocessor: ::core::option::Option<&ID3D11VideoProcessor>, streamindex: u32, penable: *mut super::super::Foundation::BOOL, pfliphorizontal: *mut super::super::Foundation::BOOL, pflipvertical: *mut super::super::Foundation::BOOL);
4350 fn VideoProcessorGetBehaviorHints(&self, pvideoprocessor: ::core::option::Option<&ID3D11VideoProcessor>, outputwidth: u32, outputheight: u32, outputformat: super::Dxgi::Common::DXGI_FORMAT, streamcount: u32, pstreams: *const D3D11_VIDEO_PROCESSOR_STREAM_BEHAVIOR_HINT) -> ::windows::core::Result<u32>;
4351}
4352#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi_Common"))]
4353impl ::windows::core::RuntimeName for ID3D11VideoContext1 {}
4354#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi_Common"))]
4355impl ID3D11VideoContext1_Vtbl {
4356 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11VideoContext1_Impl, const OFFSET: isize>() -> ID3D11VideoContext1_Vtbl {
4357 unsafe extern "system" fn SubmitDecoderBuffers1<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11VideoContext1_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdecoder: *mut ::core::ffi::c_void, numbuffers: u32, pbufferdesc: *const D3D11_VIDEO_DECODER_BUFFER_DESC1) -> ::windows::core::HRESULT {
4358 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4359 let this = (*this).get_impl();
4360 this.SubmitDecoderBuffers1(::windows::core::from_raw_borrowed(&pdecoder), ::core::mem::transmute_copy(&numbuffers), ::core::mem::transmute_copy(&pbufferdesc)).into()
4361 }
4362 unsafe extern "system" fn GetDataForNewHardwareKey<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11VideoContext1_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pcryptosession: *mut ::core::ffi::c_void, privateinputsize: u32, pprivatinputdata: *const ::core::ffi::c_void, pprivateoutputdata: *mut u64) -> ::windows::core::HRESULT {
4363 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4364 let this = (*this).get_impl();
4365 match this.GetDataForNewHardwareKey(::windows::core::from_raw_borrowed(&pcryptosession), ::core::mem::transmute_copy(&privateinputsize), ::core::mem::transmute_copy(&pprivatinputdata)) {
4366 ::core::result::Result::Ok(ok__) => {
4367 ::core::ptr::write(pprivateoutputdata, ::core::mem::transmute(ok__));
4368 ::windows::core::HRESULT(0)
4369 }
4370 ::core::result::Result::Err(err) => err.into(),
4371 }
4372 }
4373 unsafe extern "system" fn CheckCryptoSessionStatus<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11VideoContext1_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pcryptosession: *mut ::core::ffi::c_void, pstatus: *mut D3D11_CRYPTO_SESSION_STATUS) -> ::windows::core::HRESULT {
4374 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4375 let this = (*this).get_impl();
4376 match this.CheckCryptoSessionStatus(::windows::core::from_raw_borrowed(&pcryptosession)) {
4377 ::core::result::Result::Ok(ok__) => {
4378 ::core::ptr::write(pstatus, ::core::mem::transmute(ok__));
4379 ::windows::core::HRESULT(0)
4380 }
4381 ::core::result::Result::Err(err) => err.into(),
4382 }
4383 }
4384 unsafe extern "system" fn DecoderEnableDownsampling<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11VideoContext1_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdecoder: *mut ::core::ffi::c_void, inputcolorspace: super::Dxgi::Common::DXGI_COLOR_SPACE_TYPE, poutputdesc: *const D3D11_VIDEO_SAMPLE_DESC, referenceframecount: u32) -> ::windows::core::HRESULT {
4385 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4386 let this = (*this).get_impl();
4387 this.DecoderEnableDownsampling(::windows::core::from_raw_borrowed(&pdecoder), ::core::mem::transmute_copy(&inputcolorspace), ::core::mem::transmute_copy(&poutputdesc), ::core::mem::transmute_copy(&referenceframecount)).into()
4388 }
4389 unsafe extern "system" fn DecoderUpdateDownsampling<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11VideoContext1_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdecoder: *mut ::core::ffi::c_void, poutputdesc: *const D3D11_VIDEO_SAMPLE_DESC) -> ::windows::core::HRESULT {
4390 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4391 let this = (*this).get_impl();
4392 this.DecoderUpdateDownsampling(::windows::core::from_raw_borrowed(&pdecoder), ::core::mem::transmute_copy(&poutputdesc)).into()
4393 }
4394 unsafe extern "system" fn VideoProcessorSetOutputColorSpace1<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11VideoContext1_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvideoprocessor: *mut ::core::ffi::c_void, colorspace: super::Dxgi::Common::DXGI_COLOR_SPACE_TYPE) {
4395 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4396 let this = (*this).get_impl();
4397 this.VideoProcessorSetOutputColorSpace1(::windows::core::from_raw_borrowed(&pvideoprocessor), ::core::mem::transmute_copy(&colorspace))
4398 }
4399 unsafe extern "system" fn VideoProcessorSetOutputShaderUsage<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11VideoContext1_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvideoprocessor: *mut ::core::ffi::c_void, shaderusage: super::super::Foundation::BOOL) {
4400 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4401 let this = (*this).get_impl();
4402 this.VideoProcessorSetOutputShaderUsage(::windows::core::from_raw_borrowed(&pvideoprocessor), ::core::mem::transmute_copy(&shaderusage))
4403 }
4404 unsafe extern "system" fn VideoProcessorGetOutputColorSpace1<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11VideoContext1_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvideoprocessor: *mut ::core::ffi::c_void, pcolorspace: *mut super::Dxgi::Common::DXGI_COLOR_SPACE_TYPE) {
4405 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4406 let this = (*this).get_impl();
4407 this.VideoProcessorGetOutputColorSpace1(::windows::core::from_raw_borrowed(&pvideoprocessor), ::core::mem::transmute_copy(&pcolorspace))
4408 }
4409 unsafe extern "system" fn VideoProcessorGetOutputShaderUsage<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11VideoContext1_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvideoprocessor: *mut ::core::ffi::c_void, pshaderusage: *mut super::super::Foundation::BOOL) {
4410 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4411 let this = (*this).get_impl();
4412 this.VideoProcessorGetOutputShaderUsage(::windows::core::from_raw_borrowed(&pvideoprocessor), ::core::mem::transmute_copy(&pshaderusage))
4413 }
4414 unsafe extern "system" fn VideoProcessorSetStreamColorSpace1<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11VideoContext1_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvideoprocessor: *mut ::core::ffi::c_void, streamindex: u32, colorspace: super::Dxgi::Common::DXGI_COLOR_SPACE_TYPE) {
4415 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4416 let this = (*this).get_impl();
4417 this.VideoProcessorSetStreamColorSpace1(::windows::core::from_raw_borrowed(&pvideoprocessor), ::core::mem::transmute_copy(&streamindex), ::core::mem::transmute_copy(&colorspace))
4418 }
4419 unsafe extern "system" fn VideoProcessorSetStreamMirror<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11VideoContext1_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvideoprocessor: *mut ::core::ffi::c_void, streamindex: u32, enable: super::super::Foundation::BOOL, fliphorizontal: super::super::Foundation::BOOL, flipvertical: super::super::Foundation::BOOL) {
4420 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4421 let this = (*this).get_impl();
4422 this.VideoProcessorSetStreamMirror(::windows::core::from_raw_borrowed(&pvideoprocessor), ::core::mem::transmute_copy(&streamindex), ::core::mem::transmute_copy(&enable), ::core::mem::transmute_copy(&fliphorizontal), ::core::mem::transmute_copy(&flipvertical))
4423 }
4424 unsafe extern "system" fn VideoProcessorGetStreamColorSpace1<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11VideoContext1_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvideoprocessor: *mut ::core::ffi::c_void, streamindex: u32, pcolorspace: *mut super::Dxgi::Common::DXGI_COLOR_SPACE_TYPE) {
4425 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4426 let this = (*this).get_impl();
4427 this.VideoProcessorGetStreamColorSpace1(::windows::core::from_raw_borrowed(&pvideoprocessor), ::core::mem::transmute_copy(&streamindex), ::core::mem::transmute_copy(&pcolorspace))
4428 }
4429 unsafe extern "system" fn VideoProcessorGetStreamMirror<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11VideoContext1_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvideoprocessor: *mut ::core::ffi::c_void, streamindex: u32, penable: *mut super::super::Foundation::BOOL, pfliphorizontal: *mut super::super::Foundation::BOOL, pflipvertical: *mut super::super::Foundation::BOOL) {
4430 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4431 let this = (*this).get_impl();
4432 this.VideoProcessorGetStreamMirror(::windows::core::from_raw_borrowed(&pvideoprocessor), ::core::mem::transmute_copy(&streamindex), ::core::mem::transmute_copy(&penable), ::core::mem::transmute_copy(&pfliphorizontal), ::core::mem::transmute_copy(&pflipvertical))
4433 }
4434 unsafe extern "system" fn VideoProcessorGetBehaviorHints<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11VideoContext1_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvideoprocessor: *mut ::core::ffi::c_void, outputwidth: u32, outputheight: u32, outputformat: super::Dxgi::Common::DXGI_FORMAT, streamcount: u32, pstreams: *const D3D11_VIDEO_PROCESSOR_STREAM_BEHAVIOR_HINT, pbehaviorhints: *mut u32) -> ::windows::core::HRESULT {
4435 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4436 let this = (*this).get_impl();
4437 match this.VideoProcessorGetBehaviorHints(::windows::core::from_raw_borrowed(&pvideoprocessor), ::core::mem::transmute_copy(&outputwidth), ::core::mem::transmute_copy(&outputheight), ::core::mem::transmute_copy(&outputformat), ::core::mem::transmute_copy(&streamcount), ::core::mem::transmute_copy(&pstreams)) {
4438 ::core::result::Result::Ok(ok__) => {
4439 ::core::ptr::write(pbehaviorhints, ::core::mem::transmute(ok__));
4440 ::windows::core::HRESULT(0)
4441 }
4442 ::core::result::Result::Err(err) => err.into(),
4443 }
4444 }
4445 Self {
4446 base__: ID3D11VideoContext_Vtbl::new::<Identity, Impl, OFFSET>(),
4447 SubmitDecoderBuffers1: SubmitDecoderBuffers1::<Identity, Impl, OFFSET>,
4448 GetDataForNewHardwareKey: GetDataForNewHardwareKey::<Identity, Impl, OFFSET>,
4449 CheckCryptoSessionStatus: CheckCryptoSessionStatus::<Identity, Impl, OFFSET>,
4450 DecoderEnableDownsampling: DecoderEnableDownsampling::<Identity, Impl, OFFSET>,
4451 DecoderUpdateDownsampling: DecoderUpdateDownsampling::<Identity, Impl, OFFSET>,
4452 VideoProcessorSetOutputColorSpace1: VideoProcessorSetOutputColorSpace1::<Identity, Impl, OFFSET>,
4453 VideoProcessorSetOutputShaderUsage: VideoProcessorSetOutputShaderUsage::<Identity, Impl, OFFSET>,
4454 VideoProcessorGetOutputColorSpace1: VideoProcessorGetOutputColorSpace1::<Identity, Impl, OFFSET>,
4455 VideoProcessorGetOutputShaderUsage: VideoProcessorGetOutputShaderUsage::<Identity, Impl, OFFSET>,
4456 VideoProcessorSetStreamColorSpace1: VideoProcessorSetStreamColorSpace1::<Identity, Impl, OFFSET>,
4457 VideoProcessorSetStreamMirror: VideoProcessorSetStreamMirror::<Identity, Impl, OFFSET>,
4458 VideoProcessorGetStreamColorSpace1: VideoProcessorGetStreamColorSpace1::<Identity, Impl, OFFSET>,
4459 VideoProcessorGetStreamMirror: VideoProcessorGetStreamMirror::<Identity, Impl, OFFSET>,
4460 VideoProcessorGetBehaviorHints: VideoProcessorGetBehaviorHints::<Identity, Impl, OFFSET>,
4461 }
4462 }
4463 pub fn matches(iid: &windows::core::GUID) -> bool {
4464 iid == &<ID3D11VideoContext1 as ::windows::core::ComInterface>::IID || iid == &<ID3D11DeviceChild as ::windows::core::ComInterface>::IID || iid == &<ID3D11VideoContext as ::windows::core::ComInterface>::IID
4465 }
4466}
4467#[doc = "*Required features: `\"Win32_Graphics_Direct3D11\"`, `\"Win32_Foundation\"`, `\"Win32_Graphics_Dxgi_Common\"`, `\"implement\"`*"]
4468#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi_Common"))]
4469pub trait ID3D11VideoContext2_Impl: Sized + ID3D11VideoContext1_Impl {
4470 fn VideoProcessorSetOutputHDRMetaData(&self, pvideoprocessor: ::core::option::Option<&ID3D11VideoProcessor>, r#type: super::Dxgi::DXGI_HDR_METADATA_TYPE, size: u32, phdrmetadata: *const ::core::ffi::c_void);
4471 fn VideoProcessorGetOutputHDRMetaData(&self, pvideoprocessor: ::core::option::Option<&ID3D11VideoProcessor>, ptype: *mut super::Dxgi::DXGI_HDR_METADATA_TYPE, size: u32, pmetadata: *mut ::core::ffi::c_void);
4472 fn VideoProcessorSetStreamHDRMetaData(&self, pvideoprocessor: ::core::option::Option<&ID3D11VideoProcessor>, streamindex: u32, r#type: super::Dxgi::DXGI_HDR_METADATA_TYPE, size: u32, phdrmetadata: *const ::core::ffi::c_void);
4473 fn VideoProcessorGetStreamHDRMetaData(&self, pvideoprocessor: ::core::option::Option<&ID3D11VideoProcessor>, streamindex: u32, ptype: *mut super::Dxgi::DXGI_HDR_METADATA_TYPE, size: u32, pmetadata: *mut ::core::ffi::c_void);
4474}
4475#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi_Common"))]
4476impl ::windows::core::RuntimeName for ID3D11VideoContext2 {}
4477#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi_Common"))]
4478impl ID3D11VideoContext2_Vtbl {
4479 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11VideoContext2_Impl, const OFFSET: isize>() -> ID3D11VideoContext2_Vtbl {
4480 unsafe extern "system" fn VideoProcessorSetOutputHDRMetaData<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11VideoContext2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvideoprocessor: *mut ::core::ffi::c_void, r#type: super::Dxgi::DXGI_HDR_METADATA_TYPE, size: u32, phdrmetadata: *const ::core::ffi::c_void) {
4481 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4482 let this = (*this).get_impl();
4483 this.VideoProcessorSetOutputHDRMetaData(::windows::core::from_raw_borrowed(&pvideoprocessor), ::core::mem::transmute_copy(&r#type), ::core::mem::transmute_copy(&size), ::core::mem::transmute_copy(&phdrmetadata))
4484 }
4485 unsafe extern "system" fn VideoProcessorGetOutputHDRMetaData<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11VideoContext2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvideoprocessor: *mut ::core::ffi::c_void, ptype: *mut super::Dxgi::DXGI_HDR_METADATA_TYPE, size: u32, pmetadata: *mut ::core::ffi::c_void) {
4486 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4487 let this = (*this).get_impl();
4488 this.VideoProcessorGetOutputHDRMetaData(::windows::core::from_raw_borrowed(&pvideoprocessor), ::core::mem::transmute_copy(&ptype), ::core::mem::transmute_copy(&size), ::core::mem::transmute_copy(&pmetadata))
4489 }
4490 unsafe extern "system" fn VideoProcessorSetStreamHDRMetaData<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11VideoContext2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvideoprocessor: *mut ::core::ffi::c_void, streamindex: u32, r#type: super::Dxgi::DXGI_HDR_METADATA_TYPE, size: u32, phdrmetadata: *const ::core::ffi::c_void) {
4491 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4492 let this = (*this).get_impl();
4493 this.VideoProcessorSetStreamHDRMetaData(::windows::core::from_raw_borrowed(&pvideoprocessor), ::core::mem::transmute_copy(&streamindex), ::core::mem::transmute_copy(&r#type), ::core::mem::transmute_copy(&size), ::core::mem::transmute_copy(&phdrmetadata))
4494 }
4495 unsafe extern "system" fn VideoProcessorGetStreamHDRMetaData<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11VideoContext2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvideoprocessor: *mut ::core::ffi::c_void, streamindex: u32, ptype: *mut super::Dxgi::DXGI_HDR_METADATA_TYPE, size: u32, pmetadata: *mut ::core::ffi::c_void) {
4496 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4497 let this = (*this).get_impl();
4498 this.VideoProcessorGetStreamHDRMetaData(::windows::core::from_raw_borrowed(&pvideoprocessor), ::core::mem::transmute_copy(&streamindex), ::core::mem::transmute_copy(&ptype), ::core::mem::transmute_copy(&size), ::core::mem::transmute_copy(&pmetadata))
4499 }
4500 Self {
4501 base__: ID3D11VideoContext1_Vtbl::new::<Identity, Impl, OFFSET>(),
4502 VideoProcessorSetOutputHDRMetaData: VideoProcessorSetOutputHDRMetaData::<Identity, Impl, OFFSET>,
4503 VideoProcessorGetOutputHDRMetaData: VideoProcessorGetOutputHDRMetaData::<Identity, Impl, OFFSET>,
4504 VideoProcessorSetStreamHDRMetaData: VideoProcessorSetStreamHDRMetaData::<Identity, Impl, OFFSET>,
4505 VideoProcessorGetStreamHDRMetaData: VideoProcessorGetStreamHDRMetaData::<Identity, Impl, OFFSET>,
4506 }
4507 }
4508 pub fn matches(iid: &windows::core::GUID) -> bool {
4509 iid == &<ID3D11VideoContext2 as ::windows::core::ComInterface>::IID || iid == &<ID3D11DeviceChild as ::windows::core::ComInterface>::IID || iid == &<ID3D11VideoContext as ::windows::core::ComInterface>::IID || iid == &<ID3D11VideoContext1 as ::windows::core::ComInterface>::IID
4510 }
4511}
4512#[doc = "*Required features: `\"Win32_Graphics_Direct3D11\"`, `\"Win32_Foundation\"`, `\"Win32_Graphics_Dxgi_Common\"`, `\"implement\"`*"]
4513#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi_Common"))]
4514pub trait ID3D11VideoContext3_Impl: Sized + ID3D11VideoContext2_Impl {
4515 fn DecoderBeginFrame1(&self, pdecoder: ::core::option::Option<&ID3D11VideoDecoder>, pview: ::core::option::Option<&ID3D11VideoDecoderOutputView>, contentkeysize: u32, pcontentkey: *const ::core::ffi::c_void, numcomponenthistograms: u32, phistogramoffsets: *const u32, pphistogrambuffers: *const ::core::option::Option<ID3D11Buffer>) -> ::windows::core::Result<()>;
4516 fn SubmitDecoderBuffers2(&self, pdecoder: ::core::option::Option<&ID3D11VideoDecoder>, numbuffers: u32, pbufferdesc: *const D3D11_VIDEO_DECODER_BUFFER_DESC2) -> ::windows::core::Result<()>;
4517}
4518#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi_Common"))]
4519impl ::windows::core::RuntimeName for ID3D11VideoContext3 {}
4520#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi_Common"))]
4521impl ID3D11VideoContext3_Vtbl {
4522 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11VideoContext3_Impl, const OFFSET: isize>() -> ID3D11VideoContext3_Vtbl {
4523 unsafe extern "system" fn DecoderBeginFrame1<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11VideoContext3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdecoder: *mut ::core::ffi::c_void, pview: *mut ::core::ffi::c_void, contentkeysize: u32, pcontentkey: *const ::core::ffi::c_void, numcomponenthistograms: u32, phistogramoffsets: *const u32, pphistogrambuffers: *const *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
4524 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4525 let this = (*this).get_impl();
4526 this.DecoderBeginFrame1(::windows::core::from_raw_borrowed(&pdecoder), ::windows::core::from_raw_borrowed(&pview), ::core::mem::transmute_copy(&contentkeysize), ::core::mem::transmute_copy(&pcontentkey), ::core::mem::transmute_copy(&numcomponenthistograms), ::core::mem::transmute_copy(&phistogramoffsets), ::core::mem::transmute_copy(&pphistogrambuffers)).into()
4527 }
4528 unsafe extern "system" fn SubmitDecoderBuffers2<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11VideoContext3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdecoder: *mut ::core::ffi::c_void, numbuffers: u32, pbufferdesc: *const D3D11_VIDEO_DECODER_BUFFER_DESC2) -> ::windows::core::HRESULT {
4529 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4530 let this = (*this).get_impl();
4531 this.SubmitDecoderBuffers2(::windows::core::from_raw_borrowed(&pdecoder), ::core::mem::transmute_copy(&numbuffers), ::core::mem::transmute_copy(&pbufferdesc)).into()
4532 }
4533 Self {
4534 base__: ID3D11VideoContext2_Vtbl::new::<Identity, Impl, OFFSET>(),
4535 DecoderBeginFrame1: DecoderBeginFrame1::<Identity, Impl, OFFSET>,
4536 SubmitDecoderBuffers2: SubmitDecoderBuffers2::<Identity, Impl, OFFSET>,
4537 }
4538 }
4539 pub fn matches(iid: &windows::core::GUID) -> bool {
4540 iid == &<ID3D11VideoContext3 as ::windows::core::ComInterface>::IID || iid == &<ID3D11DeviceChild as ::windows::core::ComInterface>::IID || iid == &<ID3D11VideoContext as ::windows::core::ComInterface>::IID || iid == &<ID3D11VideoContext1 as ::windows::core::ComInterface>::IID || iid == &<ID3D11VideoContext2 as ::windows::core::ComInterface>::IID
4541 }
4542}
4543#[doc = "*Required features: `\"Win32_Graphics_Direct3D11\"`, `\"Win32_Foundation\"`, `\"Win32_Graphics_Dxgi_Common\"`, `\"implement\"`*"]
4544#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi_Common"))]
4545pub trait ID3D11VideoDecoder_Impl: Sized + ID3D11DeviceChild_Impl {
4546 fn GetCreationParameters(&self, pvideodesc: *mut D3D11_VIDEO_DECODER_DESC, pconfig: *mut D3D11_VIDEO_DECODER_CONFIG) -> ::windows::core::Result<()>;
4547 fn GetDriverHandle(&self) -> ::windows::core::Result<super::super::Foundation::HANDLE>;
4548}
4549#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi_Common"))]
4550impl ::windows::core::RuntimeName for ID3D11VideoDecoder {}
4551#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi_Common"))]
4552impl ID3D11VideoDecoder_Vtbl {
4553 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11VideoDecoder_Impl, const OFFSET: isize>() -> ID3D11VideoDecoder_Vtbl {
4554 unsafe extern "system" fn GetCreationParameters<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11VideoDecoder_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvideodesc: *mut D3D11_VIDEO_DECODER_DESC, pconfig: *mut D3D11_VIDEO_DECODER_CONFIG) -> ::windows::core::HRESULT {
4555 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4556 let this = (*this).get_impl();
4557 this.GetCreationParameters(::core::mem::transmute_copy(&pvideodesc), ::core::mem::transmute_copy(&pconfig)).into()
4558 }
4559 unsafe extern "system" fn GetDriverHandle<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11VideoDecoder_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdriverhandle: *mut super::super::Foundation::HANDLE) -> ::windows::core::HRESULT {
4560 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4561 let this = (*this).get_impl();
4562 match this.GetDriverHandle() {
4563 ::core::result::Result::Ok(ok__) => {
4564 ::core::ptr::write(pdriverhandle, ::core::mem::transmute(ok__));
4565 ::windows::core::HRESULT(0)
4566 }
4567 ::core::result::Result::Err(err) => err.into(),
4568 }
4569 }
4570 Self {
4571 base__: ID3D11DeviceChild_Vtbl::new::<Identity, Impl, OFFSET>(),
4572 GetCreationParameters: GetCreationParameters::<Identity, Impl, OFFSET>,
4573 GetDriverHandle: GetDriverHandle::<Identity, Impl, OFFSET>,
4574 }
4575 }
4576 pub fn matches(iid: &windows::core::GUID) -> bool {
4577 iid == &<ID3D11VideoDecoder as ::windows::core::ComInterface>::IID || iid == &<ID3D11DeviceChild as ::windows::core::ComInterface>::IID
4578 }
4579}
4580#[doc = "*Required features: `\"Win32_Graphics_Direct3D11\"`, `\"implement\"`*"]
4581pub trait ID3D11VideoDecoderOutputView_Impl: Sized + ID3D11View_Impl {
4582 fn GetDesc(&self, pdesc: *mut D3D11_VIDEO_DECODER_OUTPUT_VIEW_DESC);
4583}
4584impl ::windows::core::RuntimeName for ID3D11VideoDecoderOutputView {}
4585impl ID3D11VideoDecoderOutputView_Vtbl {
4586 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11VideoDecoderOutputView_Impl, const OFFSET: isize>() -> ID3D11VideoDecoderOutputView_Vtbl {
4587 unsafe extern "system" fn GetDesc<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11VideoDecoderOutputView_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdesc: *mut D3D11_VIDEO_DECODER_OUTPUT_VIEW_DESC) {
4588 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4589 let this = (*this).get_impl();
4590 this.GetDesc(::core::mem::transmute_copy(&pdesc))
4591 }
4592 Self { base__: ID3D11View_Vtbl::new::<Identity, Impl, OFFSET>(), GetDesc: GetDesc::<Identity, Impl, OFFSET> }
4593 }
4594 pub fn matches(iid: &windows::core::GUID) -> bool {
4595 iid == &<ID3D11VideoDecoderOutputView as ::windows::core::ComInterface>::IID || iid == &<ID3D11DeviceChild as ::windows::core::ComInterface>::IID || iid == &<ID3D11View as ::windows::core::ComInterface>::IID
4596 }
4597}
4598#[doc = "*Required features: `\"Win32_Graphics_Direct3D11\"`, `\"Win32_Foundation\"`, `\"Win32_Graphics_Dxgi_Common\"`, `\"implement\"`*"]
4599#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi_Common"))]
4600pub trait ID3D11VideoDevice_Impl: Sized {
4601 fn CreateVideoDecoder(&self, pvideodesc: *const D3D11_VIDEO_DECODER_DESC, pconfig: *const D3D11_VIDEO_DECODER_CONFIG) -> ::windows::core::Result<ID3D11VideoDecoder>;
4602 fn CreateVideoProcessor(&self, penum: ::core::option::Option<&ID3D11VideoProcessorEnumerator>, rateconversionindex: u32) -> ::windows::core::Result<ID3D11VideoProcessor>;
4603 fn CreateAuthenticatedChannel(&self, channeltype: D3D11_AUTHENTICATED_CHANNEL_TYPE) -> ::windows::core::Result<ID3D11AuthenticatedChannel>;
4604 fn CreateCryptoSession(&self, pcryptotype: *const ::windows::core::GUID, pdecoderprofile: *const ::windows::core::GUID, pkeyexchangetype: *const ::windows::core::GUID) -> ::windows::core::Result<ID3D11CryptoSession>;
4605 fn CreateVideoDecoderOutputView(&self, presource: ::core::option::Option<&ID3D11Resource>, pdesc: *const D3D11_VIDEO_DECODER_OUTPUT_VIEW_DESC, ppvdovview: *mut ::core::option::Option<ID3D11VideoDecoderOutputView>) -> ::windows::core::Result<()>;
4606 fn CreateVideoProcessorInputView(&self, presource: ::core::option::Option<&ID3D11Resource>, penum: ::core::option::Option<&ID3D11VideoProcessorEnumerator>, pdesc: *const D3D11_VIDEO_PROCESSOR_INPUT_VIEW_DESC, ppvpiview: *mut ::core::option::Option<ID3D11VideoProcessorInputView>) -> ::windows::core::Result<()>;
4607 fn CreateVideoProcessorOutputView(&self, presource: ::core::option::Option<&ID3D11Resource>, penum: ::core::option::Option<&ID3D11VideoProcessorEnumerator>, pdesc: *const D3D11_VIDEO_PROCESSOR_OUTPUT_VIEW_DESC, ppvpoview: *mut ::core::option::Option<ID3D11VideoProcessorOutputView>) -> ::windows::core::Result<()>;
4608 fn CreateVideoProcessorEnumerator(&self, pdesc: *const D3D11_VIDEO_PROCESSOR_CONTENT_DESC) -> ::windows::core::Result<ID3D11VideoProcessorEnumerator>;
4609 fn GetVideoDecoderProfileCount(&self) -> u32;
4610 fn GetVideoDecoderProfile(&self, index: u32) -> ::windows::core::Result<::windows::core::GUID>;
4611 fn CheckVideoDecoderFormat(&self, pdecoderprofile: *const ::windows::core::GUID, format: super::Dxgi::Common::DXGI_FORMAT) -> ::windows::core::Result<super::super::Foundation::BOOL>;
4612 fn GetVideoDecoderConfigCount(&self, pdesc: *const D3D11_VIDEO_DECODER_DESC) -> ::windows::core::Result<u32>;
4613 fn GetVideoDecoderConfig(&self, pdesc: *const D3D11_VIDEO_DECODER_DESC, index: u32, pconfig: *mut D3D11_VIDEO_DECODER_CONFIG) -> ::windows::core::Result<()>;
4614 fn GetContentProtectionCaps(&self, pcryptotype: *const ::windows::core::GUID, pdecoderprofile: *const ::windows::core::GUID, pcaps: *mut D3D11_VIDEO_CONTENT_PROTECTION_CAPS) -> ::windows::core::Result<()>;
4615 fn CheckCryptoKeyExchange(&self, pcryptotype: *const ::windows::core::GUID, pdecoderprofile: *const ::windows::core::GUID, index: u32) -> ::windows::core::Result<::windows::core::GUID>;
4616 fn SetPrivateData(&self, guid: *const ::windows::core::GUID, datasize: u32, pdata: *const ::core::ffi::c_void) -> ::windows::core::Result<()>;
4617 fn SetPrivateDataInterface(&self, guid: *const ::windows::core::GUID, pdata: ::core::option::Option<&::windows::core::IUnknown>) -> ::windows::core::Result<()>;
4618}
4619#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi_Common"))]
4620impl ::windows::core::RuntimeName for ID3D11VideoDevice {}
4621#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi_Common"))]
4622impl ID3D11VideoDevice_Vtbl {
4623 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11VideoDevice_Impl, const OFFSET: isize>() -> ID3D11VideoDevice_Vtbl {
4624 unsafe extern "system" fn CreateVideoDecoder<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11VideoDevice_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvideodesc: *const D3D11_VIDEO_DECODER_DESC, pconfig: *const D3D11_VIDEO_DECODER_CONFIG, ppdecoder: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
4625 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4626 let this = (*this).get_impl();
4627 match this.CreateVideoDecoder(::core::mem::transmute_copy(&pvideodesc), ::core::mem::transmute_copy(&pconfig)) {
4628 ::core::result::Result::Ok(ok__) => {
4629 ::core::ptr::write(ppdecoder, ::core::mem::transmute(ok__));
4630 ::windows::core::HRESULT(0)
4631 }
4632 ::core::result::Result::Err(err) => err.into(),
4633 }
4634 }
4635 unsafe extern "system" fn CreateVideoProcessor<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11VideoDevice_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, penum: *mut ::core::ffi::c_void, rateconversionindex: u32, ppvideoprocessor: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
4636 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4637 let this = (*this).get_impl();
4638 match this.CreateVideoProcessor(::windows::core::from_raw_borrowed(&penum), ::core::mem::transmute_copy(&rateconversionindex)) {
4639 ::core::result::Result::Ok(ok__) => {
4640 ::core::ptr::write(ppvideoprocessor, ::core::mem::transmute(ok__));
4641 ::windows::core::HRESULT(0)
4642 }
4643 ::core::result::Result::Err(err) => err.into(),
4644 }
4645 }
4646 unsafe extern "system" fn CreateAuthenticatedChannel<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11VideoDevice_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, channeltype: D3D11_AUTHENTICATED_CHANNEL_TYPE, ppauthenticatedchannel: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
4647 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4648 let this = (*this).get_impl();
4649 match this.CreateAuthenticatedChannel(::core::mem::transmute_copy(&channeltype)) {
4650 ::core::result::Result::Ok(ok__) => {
4651 ::core::ptr::write(ppauthenticatedchannel, ::core::mem::transmute(ok__));
4652 ::windows::core::HRESULT(0)
4653 }
4654 ::core::result::Result::Err(err) => err.into(),
4655 }
4656 }
4657 unsafe extern "system" fn CreateCryptoSession<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11VideoDevice_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pcryptotype: *const ::windows::core::GUID, pdecoderprofile: *const ::windows::core::GUID, pkeyexchangetype: *const ::windows::core::GUID, ppcryptosession: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
4658 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4659 let this = (*this).get_impl();
4660 match this.CreateCryptoSession(::core::mem::transmute_copy(&pcryptotype), ::core::mem::transmute_copy(&pdecoderprofile), ::core::mem::transmute_copy(&pkeyexchangetype)) {
4661 ::core::result::Result::Ok(ok__) => {
4662 ::core::ptr::write(ppcryptosession, ::core::mem::transmute(ok__));
4663 ::windows::core::HRESULT(0)
4664 }
4665 ::core::result::Result::Err(err) => err.into(),
4666 }
4667 }
4668 unsafe extern "system" fn CreateVideoDecoderOutputView<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11VideoDevice_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, presource: *mut ::core::ffi::c_void, pdesc: *const D3D11_VIDEO_DECODER_OUTPUT_VIEW_DESC, ppvdovview: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
4669 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4670 let this = (*this).get_impl();
4671 this.CreateVideoDecoderOutputView(::windows::core::from_raw_borrowed(&presource), ::core::mem::transmute_copy(&pdesc), ::core::mem::transmute_copy(&ppvdovview)).into()
4672 }
4673 unsafe extern "system" fn CreateVideoProcessorInputView<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11VideoDevice_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, presource: *mut ::core::ffi::c_void, penum: *mut ::core::ffi::c_void, pdesc: *const D3D11_VIDEO_PROCESSOR_INPUT_VIEW_DESC, ppvpiview: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
4674 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4675 let this = (*this).get_impl();
4676 this.CreateVideoProcessorInputView(::windows::core::from_raw_borrowed(&presource), ::windows::core::from_raw_borrowed(&penum), ::core::mem::transmute_copy(&pdesc), ::core::mem::transmute_copy(&ppvpiview)).into()
4677 }
4678 unsafe extern "system" fn CreateVideoProcessorOutputView<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11VideoDevice_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, presource: *mut ::core::ffi::c_void, penum: *mut ::core::ffi::c_void, pdesc: *const D3D11_VIDEO_PROCESSOR_OUTPUT_VIEW_DESC, ppvpoview: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
4679 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4680 let this = (*this).get_impl();
4681 this.CreateVideoProcessorOutputView(::windows::core::from_raw_borrowed(&presource), ::windows::core::from_raw_borrowed(&penum), ::core::mem::transmute_copy(&pdesc), ::core::mem::transmute_copy(&ppvpoview)).into()
4682 }
4683 unsafe extern "system" fn CreateVideoProcessorEnumerator<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11VideoDevice_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdesc: *const D3D11_VIDEO_PROCESSOR_CONTENT_DESC, ppenum: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
4684 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4685 let this = (*this).get_impl();
4686 match this.CreateVideoProcessorEnumerator(::core::mem::transmute_copy(&pdesc)) {
4687 ::core::result::Result::Ok(ok__) => {
4688 ::core::ptr::write(ppenum, ::core::mem::transmute(ok__));
4689 ::windows::core::HRESULT(0)
4690 }
4691 ::core::result::Result::Err(err) => err.into(),
4692 }
4693 }
4694 unsafe extern "system" fn GetVideoDecoderProfileCount<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11VideoDevice_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> u32 {
4695 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4696 let this = (*this).get_impl();
4697 this.GetVideoDecoderProfileCount()
4698 }
4699 unsafe extern "system" fn GetVideoDecoderProfile<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11VideoDevice_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, pdecoderprofile: *mut ::windows::core::GUID) -> ::windows::core::HRESULT {
4700 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4701 let this = (*this).get_impl();
4702 match this.GetVideoDecoderProfile(::core::mem::transmute_copy(&index)) {
4703 ::core::result::Result::Ok(ok__) => {
4704 ::core::ptr::write(pdecoderprofile, ::core::mem::transmute(ok__));
4705 ::windows::core::HRESULT(0)
4706 }
4707 ::core::result::Result::Err(err) => err.into(),
4708 }
4709 }
4710 unsafe extern "system" fn CheckVideoDecoderFormat<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11VideoDevice_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdecoderprofile: *const ::windows::core::GUID, format: super::Dxgi::Common::DXGI_FORMAT, psupported: *mut super::super::Foundation::BOOL) -> ::windows::core::HRESULT {
4711 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4712 let this = (*this).get_impl();
4713 match this.CheckVideoDecoderFormat(::core::mem::transmute_copy(&pdecoderprofile), ::core::mem::transmute_copy(&format)) {
4714 ::core::result::Result::Ok(ok__) => {
4715 ::core::ptr::write(psupported, ::core::mem::transmute(ok__));
4716 ::windows::core::HRESULT(0)
4717 }
4718 ::core::result::Result::Err(err) => err.into(),
4719 }
4720 }
4721 unsafe extern "system" fn GetVideoDecoderConfigCount<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11VideoDevice_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdesc: *const D3D11_VIDEO_DECODER_DESC, pcount: *mut u32) -> ::windows::core::HRESULT {
4722 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4723 let this = (*this).get_impl();
4724 match this.GetVideoDecoderConfigCount(::core::mem::transmute_copy(&pdesc)) {
4725 ::core::result::Result::Ok(ok__) => {
4726 ::core::ptr::write(pcount, ::core::mem::transmute(ok__));
4727 ::windows::core::HRESULT(0)
4728 }
4729 ::core::result::Result::Err(err) => err.into(),
4730 }
4731 }
4732 unsafe extern "system" fn GetVideoDecoderConfig<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11VideoDevice_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdesc: *const D3D11_VIDEO_DECODER_DESC, index: u32, pconfig: *mut D3D11_VIDEO_DECODER_CONFIG) -> ::windows::core::HRESULT {
4733 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4734 let this = (*this).get_impl();
4735 this.GetVideoDecoderConfig(::core::mem::transmute_copy(&pdesc), ::core::mem::transmute_copy(&index), ::core::mem::transmute_copy(&pconfig)).into()
4736 }
4737 unsafe extern "system" fn GetContentProtectionCaps<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11VideoDevice_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pcryptotype: *const ::windows::core::GUID, pdecoderprofile: *const ::windows::core::GUID, pcaps: *mut D3D11_VIDEO_CONTENT_PROTECTION_CAPS) -> ::windows::core::HRESULT {
4738 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4739 let this = (*this).get_impl();
4740 this.GetContentProtectionCaps(::core::mem::transmute_copy(&pcryptotype), ::core::mem::transmute_copy(&pdecoderprofile), ::core::mem::transmute_copy(&pcaps)).into()
4741 }
4742 unsafe extern "system" fn CheckCryptoKeyExchange<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11VideoDevice_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pcryptotype: *const ::windows::core::GUID, pdecoderprofile: *const ::windows::core::GUID, index: u32, pkeyexchangetype: *mut ::windows::core::GUID) -> ::windows::core::HRESULT {
4743 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4744 let this = (*this).get_impl();
4745 match this.CheckCryptoKeyExchange(::core::mem::transmute_copy(&pcryptotype), ::core::mem::transmute_copy(&pdecoderprofile), ::core::mem::transmute_copy(&index)) {
4746 ::core::result::Result::Ok(ok__) => {
4747 ::core::ptr::write(pkeyexchangetype, ::core::mem::transmute(ok__));
4748 ::windows::core::HRESULT(0)
4749 }
4750 ::core::result::Result::Err(err) => err.into(),
4751 }
4752 }
4753 unsafe extern "system" fn SetPrivateData<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11VideoDevice_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, guid: *const ::windows::core::GUID, datasize: u32, pdata: *const ::core::ffi::c_void) -> ::windows::core::HRESULT {
4754 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4755 let this = (*this).get_impl();
4756 this.SetPrivateData(::core::mem::transmute_copy(&guid), ::core::mem::transmute_copy(&datasize), ::core::mem::transmute_copy(&pdata)).into()
4757 }
4758 unsafe extern "system" fn SetPrivateDataInterface<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11VideoDevice_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, guid: *const ::windows::core::GUID, pdata: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
4759 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4760 let this = (*this).get_impl();
4761 this.SetPrivateDataInterface(::core::mem::transmute_copy(&guid), ::windows::core::from_raw_borrowed(&pdata)).into()
4762 }
4763 Self {
4764 base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
4765 CreateVideoDecoder: CreateVideoDecoder::<Identity, Impl, OFFSET>,
4766 CreateVideoProcessor: CreateVideoProcessor::<Identity, Impl, OFFSET>,
4767 CreateAuthenticatedChannel: CreateAuthenticatedChannel::<Identity, Impl, OFFSET>,
4768 CreateCryptoSession: CreateCryptoSession::<Identity, Impl, OFFSET>,
4769 CreateVideoDecoderOutputView: CreateVideoDecoderOutputView::<Identity, Impl, OFFSET>,
4770 CreateVideoProcessorInputView: CreateVideoProcessorInputView::<Identity, Impl, OFFSET>,
4771 CreateVideoProcessorOutputView: CreateVideoProcessorOutputView::<Identity, Impl, OFFSET>,
4772 CreateVideoProcessorEnumerator: CreateVideoProcessorEnumerator::<Identity, Impl, OFFSET>,
4773 GetVideoDecoderProfileCount: GetVideoDecoderProfileCount::<Identity, Impl, OFFSET>,
4774 GetVideoDecoderProfile: GetVideoDecoderProfile::<Identity, Impl, OFFSET>,
4775 CheckVideoDecoderFormat: CheckVideoDecoderFormat::<Identity, Impl, OFFSET>,
4776 GetVideoDecoderConfigCount: GetVideoDecoderConfigCount::<Identity, Impl, OFFSET>,
4777 GetVideoDecoderConfig: GetVideoDecoderConfig::<Identity, Impl, OFFSET>,
4778 GetContentProtectionCaps: GetContentProtectionCaps::<Identity, Impl, OFFSET>,
4779 CheckCryptoKeyExchange: CheckCryptoKeyExchange::<Identity, Impl, OFFSET>,
4780 SetPrivateData: SetPrivateData::<Identity, Impl, OFFSET>,
4781 SetPrivateDataInterface: SetPrivateDataInterface::<Identity, Impl, OFFSET>,
4782 }
4783 }
4784 pub fn matches(iid: &windows::core::GUID) -> bool {
4785 iid == &<ID3D11VideoDevice as ::windows::core::ComInterface>::IID
4786 }
4787}
4788#[doc = "*Required features: `\"Win32_Graphics_Direct3D11\"`, `\"Win32_Foundation\"`, `\"Win32_Graphics_Dxgi_Common\"`, `\"implement\"`*"]
4789#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi_Common"))]
4790pub trait ID3D11VideoDevice1_Impl: Sized + ID3D11VideoDevice_Impl {
4791 fn GetCryptoSessionPrivateDataSize(&self, pcryptotype: *const ::windows::core::GUID, pdecoderprofile: *const ::windows::core::GUID, pkeyexchangetype: *const ::windows::core::GUID, pprivateinputsize: *mut u32, pprivateoutputsize: *mut u32) -> ::windows::core::Result<()>;
4792 fn GetVideoDecoderCaps(&self, pdecoderprofile: *const ::windows::core::GUID, samplewidth: u32, sampleheight: u32, pframerate: *const super::Dxgi::Common::DXGI_RATIONAL, bitrate: u32, pcryptotype: *const ::windows::core::GUID) -> ::windows::core::Result<u32>;
4793 fn CheckVideoDecoderDownsampling(&self, pinputdesc: *const D3D11_VIDEO_DECODER_DESC, inputcolorspace: super::Dxgi::Common::DXGI_COLOR_SPACE_TYPE, pinputconfig: *const D3D11_VIDEO_DECODER_CONFIG, pframerate: *const super::Dxgi::Common::DXGI_RATIONAL, poutputdesc: *const D3D11_VIDEO_SAMPLE_DESC, psupported: *mut super::super::Foundation::BOOL, prealtimehint: *mut super::super::Foundation::BOOL) -> ::windows::core::Result<()>;
4794 fn RecommendVideoDecoderDownsampleParameters(&self, pinputdesc: *const D3D11_VIDEO_DECODER_DESC, inputcolorspace: super::Dxgi::Common::DXGI_COLOR_SPACE_TYPE, pinputconfig: *const D3D11_VIDEO_DECODER_CONFIG, pframerate: *const super::Dxgi::Common::DXGI_RATIONAL) -> ::windows::core::Result<D3D11_VIDEO_SAMPLE_DESC>;
4795}
4796#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi_Common"))]
4797impl ::windows::core::RuntimeName for ID3D11VideoDevice1 {}
4798#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi_Common"))]
4799impl ID3D11VideoDevice1_Vtbl {
4800 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11VideoDevice1_Impl, const OFFSET: isize>() -> ID3D11VideoDevice1_Vtbl {
4801 unsafe extern "system" fn GetCryptoSessionPrivateDataSize<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11VideoDevice1_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pcryptotype: *const ::windows::core::GUID, pdecoderprofile: *const ::windows::core::GUID, pkeyexchangetype: *const ::windows::core::GUID, pprivateinputsize: *mut u32, pprivateoutputsize: *mut u32) -> ::windows::core::HRESULT {
4802 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4803 let this = (*this).get_impl();
4804 this.GetCryptoSessionPrivateDataSize(::core::mem::transmute_copy(&pcryptotype), ::core::mem::transmute_copy(&pdecoderprofile), ::core::mem::transmute_copy(&pkeyexchangetype), ::core::mem::transmute_copy(&pprivateinputsize), ::core::mem::transmute_copy(&pprivateoutputsize)).into()
4805 }
4806 unsafe extern "system" fn GetVideoDecoderCaps<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11VideoDevice1_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdecoderprofile: *const ::windows::core::GUID, samplewidth: u32, sampleheight: u32, pframerate: *const super::Dxgi::Common::DXGI_RATIONAL, bitrate: u32, pcryptotype: *const ::windows::core::GUID, pdecodercaps: *mut u32) -> ::windows::core::HRESULT {
4807 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4808 let this = (*this).get_impl();
4809 match this.GetVideoDecoderCaps(::core::mem::transmute_copy(&pdecoderprofile), ::core::mem::transmute_copy(&samplewidth), ::core::mem::transmute_copy(&sampleheight), ::core::mem::transmute_copy(&pframerate), ::core::mem::transmute_copy(&bitrate), ::core::mem::transmute_copy(&pcryptotype)) {
4810 ::core::result::Result::Ok(ok__) => {
4811 ::core::ptr::write(pdecodercaps, ::core::mem::transmute(ok__));
4812 ::windows::core::HRESULT(0)
4813 }
4814 ::core::result::Result::Err(err) => err.into(),
4815 }
4816 }
4817 unsafe extern "system" fn CheckVideoDecoderDownsampling<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11VideoDevice1_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pinputdesc: *const D3D11_VIDEO_DECODER_DESC, inputcolorspace: super::Dxgi::Common::DXGI_COLOR_SPACE_TYPE, pinputconfig: *const D3D11_VIDEO_DECODER_CONFIG, pframerate: *const super::Dxgi::Common::DXGI_RATIONAL, poutputdesc: *const D3D11_VIDEO_SAMPLE_DESC, psupported: *mut super::super::Foundation::BOOL, prealtimehint: *mut super::super::Foundation::BOOL) -> ::windows::core::HRESULT {
4818 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4819 let this = (*this).get_impl();
4820 this.CheckVideoDecoderDownsampling(::core::mem::transmute_copy(&pinputdesc), ::core::mem::transmute_copy(&inputcolorspace), ::core::mem::transmute_copy(&pinputconfig), ::core::mem::transmute_copy(&pframerate), ::core::mem::transmute_copy(&poutputdesc), ::core::mem::transmute_copy(&psupported), ::core::mem::transmute_copy(&prealtimehint)).into()
4821 }
4822 unsafe extern "system" fn RecommendVideoDecoderDownsampleParameters<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11VideoDevice1_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pinputdesc: *const D3D11_VIDEO_DECODER_DESC, inputcolorspace: super::Dxgi::Common::DXGI_COLOR_SPACE_TYPE, pinputconfig: *const D3D11_VIDEO_DECODER_CONFIG, pframerate: *const super::Dxgi::Common::DXGI_RATIONAL, precommendedoutputdesc: *mut D3D11_VIDEO_SAMPLE_DESC) -> ::windows::core::HRESULT {
4823 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4824 let this = (*this).get_impl();
4825 match this.RecommendVideoDecoderDownsampleParameters(::core::mem::transmute_copy(&pinputdesc), ::core::mem::transmute_copy(&inputcolorspace), ::core::mem::transmute_copy(&pinputconfig), ::core::mem::transmute_copy(&pframerate)) {
4826 ::core::result::Result::Ok(ok__) => {
4827 ::core::ptr::write(precommendedoutputdesc, ::core::mem::transmute(ok__));
4828 ::windows::core::HRESULT(0)
4829 }
4830 ::core::result::Result::Err(err) => err.into(),
4831 }
4832 }
4833 Self {
4834 base__: ID3D11VideoDevice_Vtbl::new::<Identity, Impl, OFFSET>(),
4835 GetCryptoSessionPrivateDataSize: GetCryptoSessionPrivateDataSize::<Identity, Impl, OFFSET>,
4836 GetVideoDecoderCaps: GetVideoDecoderCaps::<Identity, Impl, OFFSET>,
4837 CheckVideoDecoderDownsampling: CheckVideoDecoderDownsampling::<Identity, Impl, OFFSET>,
4838 RecommendVideoDecoderDownsampleParameters: RecommendVideoDecoderDownsampleParameters::<Identity, Impl, OFFSET>,
4839 }
4840 }
4841 pub fn matches(iid: &windows::core::GUID) -> bool {
4842 iid == &<ID3D11VideoDevice1 as ::windows::core::ComInterface>::IID || iid == &<ID3D11VideoDevice as ::windows::core::ComInterface>::IID
4843 }
4844}
4845#[doc = "*Required features: `\"Win32_Graphics_Direct3D11\"`, `\"Win32_Foundation\"`, `\"Win32_Graphics_Dxgi_Common\"`, `\"implement\"`*"]
4846#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi_Common"))]
4847pub trait ID3D11VideoDevice2_Impl: Sized + ID3D11VideoDevice1_Impl {
4848 fn CheckFeatureSupport(&self, feature: D3D11_FEATURE_VIDEO, pfeaturesupportdata: *mut ::core::ffi::c_void, featuresupportdatasize: u32) -> ::windows::core::Result<()>;
4849 fn NegotiateCryptoSessionKeyExchangeMT(&self, pcryptosession: ::core::option::Option<&ID3D11CryptoSession>, flags: D3D11_CRYPTO_SESSION_KEY_EXCHANGE_FLAGS, datasize: u32, pdata: *mut ::core::ffi::c_void) -> ::windows::core::Result<()>;
4850}
4851#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi_Common"))]
4852impl ::windows::core::RuntimeName for ID3D11VideoDevice2 {}
4853#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi_Common"))]
4854impl ID3D11VideoDevice2_Vtbl {
4855 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11VideoDevice2_Impl, const OFFSET: isize>() -> ID3D11VideoDevice2_Vtbl {
4856 unsafe extern "system" fn CheckFeatureSupport<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11VideoDevice2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, feature: D3D11_FEATURE_VIDEO, pfeaturesupportdata: *mut ::core::ffi::c_void, featuresupportdatasize: u32) -> ::windows::core::HRESULT {
4857 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4858 let this = (*this).get_impl();
4859 this.CheckFeatureSupport(::core::mem::transmute_copy(&feature), ::core::mem::transmute_copy(&pfeaturesupportdata), ::core::mem::transmute_copy(&featuresupportdatasize)).into()
4860 }
4861 unsafe extern "system" fn NegotiateCryptoSessionKeyExchangeMT<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11VideoDevice2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pcryptosession: *mut ::core::ffi::c_void, flags: D3D11_CRYPTO_SESSION_KEY_EXCHANGE_FLAGS, datasize: u32, pdata: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
4862 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4863 let this = (*this).get_impl();
4864 this.NegotiateCryptoSessionKeyExchangeMT(::windows::core::from_raw_borrowed(&pcryptosession), ::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&datasize), ::core::mem::transmute_copy(&pdata)).into()
4865 }
4866 Self {
4867 base__: ID3D11VideoDevice1_Vtbl::new::<Identity, Impl, OFFSET>(),
4868 CheckFeatureSupport: CheckFeatureSupport::<Identity, Impl, OFFSET>,
4869 NegotiateCryptoSessionKeyExchangeMT: NegotiateCryptoSessionKeyExchangeMT::<Identity, Impl, OFFSET>,
4870 }
4871 }
4872 pub fn matches(iid: &windows::core::GUID) -> bool {
4873 iid == &<ID3D11VideoDevice2 as ::windows::core::ComInterface>::IID || iid == &<ID3D11VideoDevice as ::windows::core::ComInterface>::IID || iid == &<ID3D11VideoDevice1 as ::windows::core::ComInterface>::IID
4874 }
4875}
4876#[doc = "*Required features: `\"Win32_Graphics_Direct3D11\"`, `\"Win32_Graphics_Dxgi_Common\"`, `\"implement\"`*"]
4877#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
4878pub trait ID3D11VideoProcessor_Impl: Sized + ID3D11DeviceChild_Impl {
4879 fn GetContentDesc(&self, pdesc: *mut D3D11_VIDEO_PROCESSOR_CONTENT_DESC);
4880 fn GetRateConversionCaps(&self, pcaps: *mut D3D11_VIDEO_PROCESSOR_RATE_CONVERSION_CAPS);
4881}
4882#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
4883impl ::windows::core::RuntimeName for ID3D11VideoProcessor {}
4884#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
4885impl ID3D11VideoProcessor_Vtbl {
4886 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11VideoProcessor_Impl, const OFFSET: isize>() -> ID3D11VideoProcessor_Vtbl {
4887 unsafe extern "system" fn GetContentDesc<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11VideoProcessor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdesc: *mut D3D11_VIDEO_PROCESSOR_CONTENT_DESC) {
4888 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4889 let this = (*this).get_impl();
4890 this.GetContentDesc(::core::mem::transmute_copy(&pdesc))
4891 }
4892 unsafe extern "system" fn GetRateConversionCaps<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11VideoProcessor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pcaps: *mut D3D11_VIDEO_PROCESSOR_RATE_CONVERSION_CAPS) {
4893 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4894 let this = (*this).get_impl();
4895 this.GetRateConversionCaps(::core::mem::transmute_copy(&pcaps))
4896 }
4897 Self {
4898 base__: ID3D11DeviceChild_Vtbl::new::<Identity, Impl, OFFSET>(),
4899 GetContentDesc: GetContentDesc::<Identity, Impl, OFFSET>,
4900 GetRateConversionCaps: GetRateConversionCaps::<Identity, Impl, OFFSET>,
4901 }
4902 }
4903 pub fn matches(iid: &windows::core::GUID) -> bool {
4904 iid == &<ID3D11VideoProcessor as ::windows::core::ComInterface>::IID || iid == &<ID3D11DeviceChild as ::windows::core::ComInterface>::IID
4905 }
4906}
4907#[doc = "*Required features: `\"Win32_Graphics_Direct3D11\"`, `\"Win32_Foundation\"`, `\"Win32_Graphics_Dxgi_Common\"`, `\"implement\"`*"]
4908#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi_Common"))]
4909pub trait ID3D11VideoProcessorEnumerator_Impl: Sized + ID3D11DeviceChild_Impl {
4910 fn GetVideoProcessorContentDesc(&self, pcontentdesc: *mut D3D11_VIDEO_PROCESSOR_CONTENT_DESC) -> ::windows::core::Result<()>;
4911 fn CheckVideoProcessorFormat(&self, format: super::Dxgi::Common::DXGI_FORMAT) -> ::windows::core::Result<u32>;
4912 fn GetVideoProcessorCaps(&self, pcaps: *mut D3D11_VIDEO_PROCESSOR_CAPS) -> ::windows::core::Result<()>;
4913 fn GetVideoProcessorRateConversionCaps(&self, typeindex: u32, pcaps: *mut D3D11_VIDEO_PROCESSOR_RATE_CONVERSION_CAPS) -> ::windows::core::Result<()>;
4914 fn GetVideoProcessorCustomRate(&self, typeindex: u32, customrateindex: u32, prate: *mut D3D11_VIDEO_PROCESSOR_CUSTOM_RATE) -> ::windows::core::Result<()>;
4915 fn GetVideoProcessorFilterRange(&self, filter: D3D11_VIDEO_PROCESSOR_FILTER) -> ::windows::core::Result<D3D11_VIDEO_PROCESSOR_FILTER_RANGE>;
4916}
4917#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi_Common"))]
4918impl ::windows::core::RuntimeName for ID3D11VideoProcessorEnumerator {}
4919#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi_Common"))]
4920impl ID3D11VideoProcessorEnumerator_Vtbl {
4921 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11VideoProcessorEnumerator_Impl, const OFFSET: isize>() -> ID3D11VideoProcessorEnumerator_Vtbl {
4922 unsafe extern "system" fn GetVideoProcessorContentDesc<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11VideoProcessorEnumerator_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pcontentdesc: *mut D3D11_VIDEO_PROCESSOR_CONTENT_DESC) -> ::windows::core::HRESULT {
4923 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4924 let this = (*this).get_impl();
4925 this.GetVideoProcessorContentDesc(::core::mem::transmute_copy(&pcontentdesc)).into()
4926 }
4927 unsafe extern "system" fn CheckVideoProcessorFormat<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11VideoProcessorEnumerator_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, format: super::Dxgi::Common::DXGI_FORMAT, pflags: *mut u32) -> ::windows::core::HRESULT {
4928 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4929 let this = (*this).get_impl();
4930 match this.CheckVideoProcessorFormat(::core::mem::transmute_copy(&format)) {
4931 ::core::result::Result::Ok(ok__) => {
4932 ::core::ptr::write(pflags, ::core::mem::transmute(ok__));
4933 ::windows::core::HRESULT(0)
4934 }
4935 ::core::result::Result::Err(err) => err.into(),
4936 }
4937 }
4938 unsafe extern "system" fn GetVideoProcessorCaps<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11VideoProcessorEnumerator_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pcaps: *mut D3D11_VIDEO_PROCESSOR_CAPS) -> ::windows::core::HRESULT {
4939 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4940 let this = (*this).get_impl();
4941 this.GetVideoProcessorCaps(::core::mem::transmute_copy(&pcaps)).into()
4942 }
4943 unsafe extern "system" fn GetVideoProcessorRateConversionCaps<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11VideoProcessorEnumerator_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, typeindex: u32, pcaps: *mut D3D11_VIDEO_PROCESSOR_RATE_CONVERSION_CAPS) -> ::windows::core::HRESULT {
4944 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4945 let this = (*this).get_impl();
4946 this.GetVideoProcessorRateConversionCaps(::core::mem::transmute_copy(&typeindex), ::core::mem::transmute_copy(&pcaps)).into()
4947 }
4948 unsafe extern "system" fn GetVideoProcessorCustomRate<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11VideoProcessorEnumerator_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, typeindex: u32, customrateindex: u32, prate: *mut D3D11_VIDEO_PROCESSOR_CUSTOM_RATE) -> ::windows::core::HRESULT {
4949 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4950 let this = (*this).get_impl();
4951 this.GetVideoProcessorCustomRate(::core::mem::transmute_copy(&typeindex), ::core::mem::transmute_copy(&customrateindex), ::core::mem::transmute_copy(&prate)).into()
4952 }
4953 unsafe extern "system" fn GetVideoProcessorFilterRange<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11VideoProcessorEnumerator_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, filter: D3D11_VIDEO_PROCESSOR_FILTER, prange: *mut D3D11_VIDEO_PROCESSOR_FILTER_RANGE) -> ::windows::core::HRESULT {
4954 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4955 let this = (*this).get_impl();
4956 match this.GetVideoProcessorFilterRange(::core::mem::transmute_copy(&filter)) {
4957 ::core::result::Result::Ok(ok__) => {
4958 ::core::ptr::write(prange, ::core::mem::transmute(ok__));
4959 ::windows::core::HRESULT(0)
4960 }
4961 ::core::result::Result::Err(err) => err.into(),
4962 }
4963 }
4964 Self {
4965 base__: ID3D11DeviceChild_Vtbl::new::<Identity, Impl, OFFSET>(),
4966 GetVideoProcessorContentDesc: GetVideoProcessorContentDesc::<Identity, Impl, OFFSET>,
4967 CheckVideoProcessorFormat: CheckVideoProcessorFormat::<Identity, Impl, OFFSET>,
4968 GetVideoProcessorCaps: GetVideoProcessorCaps::<Identity, Impl, OFFSET>,
4969 GetVideoProcessorRateConversionCaps: GetVideoProcessorRateConversionCaps::<Identity, Impl, OFFSET>,
4970 GetVideoProcessorCustomRate: GetVideoProcessorCustomRate::<Identity, Impl, OFFSET>,
4971 GetVideoProcessorFilterRange: GetVideoProcessorFilterRange::<Identity, Impl, OFFSET>,
4972 }
4973 }
4974 pub fn matches(iid: &windows::core::GUID) -> bool {
4975 iid == &<ID3D11VideoProcessorEnumerator as ::windows::core::ComInterface>::IID || iid == &<ID3D11DeviceChild as ::windows::core::ComInterface>::IID
4976 }
4977}
4978#[doc = "*Required features: `\"Win32_Graphics_Direct3D11\"`, `\"Win32_Foundation\"`, `\"Win32_Graphics_Dxgi_Common\"`, `\"implement\"`*"]
4979#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi_Common"))]
4980pub trait ID3D11VideoProcessorEnumerator1_Impl: Sized + ID3D11VideoProcessorEnumerator_Impl {
4981 fn CheckVideoProcessorFormatConversion(&self, inputformat: super::Dxgi::Common::DXGI_FORMAT, inputcolorspace: super::Dxgi::Common::DXGI_COLOR_SPACE_TYPE, outputformat: super::Dxgi::Common::DXGI_FORMAT, outputcolorspace: super::Dxgi::Common::DXGI_COLOR_SPACE_TYPE) -> ::windows::core::Result<super::super::Foundation::BOOL>;
4982}
4983#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi_Common"))]
4984impl ::windows::core::RuntimeName for ID3D11VideoProcessorEnumerator1 {}
4985#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi_Common"))]
4986impl ID3D11VideoProcessorEnumerator1_Vtbl {
4987 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11VideoProcessorEnumerator1_Impl, const OFFSET: isize>() -> ID3D11VideoProcessorEnumerator1_Vtbl {
4988 unsafe extern "system" fn CheckVideoProcessorFormatConversion<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11VideoProcessorEnumerator1_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, inputformat: super::Dxgi::Common::DXGI_FORMAT, inputcolorspace: super::Dxgi::Common::DXGI_COLOR_SPACE_TYPE, outputformat: super::Dxgi::Common::DXGI_FORMAT, outputcolorspace: super::Dxgi::Common::DXGI_COLOR_SPACE_TYPE, psupported: *mut super::super::Foundation::BOOL) -> ::windows::core::HRESULT {
4989 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4990 let this = (*this).get_impl();
4991 match this.CheckVideoProcessorFormatConversion(::core::mem::transmute_copy(&inputformat), ::core::mem::transmute_copy(&inputcolorspace), ::core::mem::transmute_copy(&outputformat), ::core::mem::transmute_copy(&outputcolorspace)) {
4992 ::core::result::Result::Ok(ok__) => {
4993 ::core::ptr::write(psupported, ::core::mem::transmute(ok__));
4994 ::windows::core::HRESULT(0)
4995 }
4996 ::core::result::Result::Err(err) => err.into(),
4997 }
4998 }
4999 Self {
5000 base__: ID3D11VideoProcessorEnumerator_Vtbl::new::<Identity, Impl, OFFSET>(),
5001 CheckVideoProcessorFormatConversion: CheckVideoProcessorFormatConversion::<Identity, Impl, OFFSET>,
5002 }
5003 }
5004 pub fn matches(iid: &windows::core::GUID) -> bool {
5005 iid == &<ID3D11VideoProcessorEnumerator1 as ::windows::core::ComInterface>::IID || iid == &<ID3D11DeviceChild as ::windows::core::ComInterface>::IID || iid == &<ID3D11VideoProcessorEnumerator as ::windows::core::ComInterface>::IID
5006 }
5007}
5008#[doc = "*Required features: `\"Win32_Graphics_Direct3D11\"`, `\"implement\"`*"]
5009pub trait ID3D11VideoProcessorInputView_Impl: Sized + ID3D11View_Impl {
5010 fn GetDesc(&self, pdesc: *mut D3D11_VIDEO_PROCESSOR_INPUT_VIEW_DESC) -> ();
5011}
5012impl ::windows::core::RuntimeName for ID3D11VideoProcessorInputView {}
5013impl ID3D11VideoProcessorInputView_Vtbl {
5014 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11VideoProcessorInputView_Impl, const OFFSET: isize>() -> ID3D11VideoProcessorInputView_Vtbl {
5015 unsafe extern "system" fn GetDesc<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11VideoProcessorInputView_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdesc: *mut D3D11_VIDEO_PROCESSOR_INPUT_VIEW_DESC) {
5016 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5017 let this = (*this).get_impl();
5018 this.GetDesc(::core::mem::transmute_copy(&pdesc))
5019 }
5020 Self { base__: ID3D11View_Vtbl::new::<Identity, Impl, OFFSET>(), GetDesc: GetDesc::<Identity, Impl, OFFSET> }
5021 }
5022 pub fn matches(iid: &windows::core::GUID) -> bool {
5023 iid == &<ID3D11VideoProcessorInputView as ::windows::core::ComInterface>::IID || iid == &<ID3D11DeviceChild as ::windows::core::ComInterface>::IID || iid == &<ID3D11View as ::windows::core::ComInterface>::IID
5024 }
5025}
5026#[doc = "*Required features: `\"Win32_Graphics_Direct3D11\"`, `\"implement\"`*"]
5027pub trait ID3D11VideoProcessorOutputView_Impl: Sized + ID3D11View_Impl {
5028 fn GetDesc(&self, pdesc: *mut D3D11_VIDEO_PROCESSOR_OUTPUT_VIEW_DESC) -> ();
5029}
5030impl ::windows::core::RuntimeName for ID3D11VideoProcessorOutputView {}
5031impl ID3D11VideoProcessorOutputView_Vtbl {
5032 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11VideoProcessorOutputView_Impl, const OFFSET: isize>() -> ID3D11VideoProcessorOutputView_Vtbl {
5033 unsafe extern "system" fn GetDesc<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11VideoProcessorOutputView_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdesc: *mut D3D11_VIDEO_PROCESSOR_OUTPUT_VIEW_DESC) {
5034 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5035 let this = (*this).get_impl();
5036 this.GetDesc(::core::mem::transmute_copy(&pdesc))
5037 }
5038 Self { base__: ID3D11View_Vtbl::new::<Identity, Impl, OFFSET>(), GetDesc: GetDesc::<Identity, Impl, OFFSET> }
5039 }
5040 pub fn matches(iid: &windows::core::GUID) -> bool {
5041 iid == &<ID3D11VideoProcessorOutputView as ::windows::core::ComInterface>::IID || iid == &<ID3D11DeviceChild as ::windows::core::ComInterface>::IID || iid == &<ID3D11View as ::windows::core::ComInterface>::IID
5042 }
5043}
5044#[doc = "*Required features: `\"Win32_Graphics_Direct3D11\"`, `\"implement\"`*"]
5045pub trait ID3D11View_Impl: Sized + ID3D11DeviceChild_Impl {
5046 fn GetResource(&self, ppresource: *mut ::core::option::Option<ID3D11Resource>) -> ();
5047}
5048impl ::windows::core::RuntimeName for ID3D11View {}
5049impl ID3D11View_Vtbl {
5050 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11View_Impl, const OFFSET: isize>() -> ID3D11View_Vtbl {
5051 unsafe extern "system" fn GetResource<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11View_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppresource: *mut *mut ::core::ffi::c_void) {
5052 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5053 let this = (*this).get_impl();
5054 this.GetResource(::core::mem::transmute_copy(&ppresource))
5055 }
5056 Self { base__: ID3D11DeviceChild_Vtbl::new::<Identity, Impl, OFFSET>(), GetResource: GetResource::<Identity, Impl, OFFSET> }
5057 }
5058 pub fn matches(iid: &windows::core::GUID) -> bool {
5059 iid == &<ID3D11View as ::windows::core::ComInterface>::IID || iid == &<ID3D11DeviceChild as ::windows::core::ComInterface>::IID
5060 }
5061}
5062#[doc = "*Required features: `\"Win32_Graphics_Direct3D11\"`, `\"implement\"`*"]
5063pub trait ID3DDeviceContextState_Impl: Sized + ID3D11DeviceChild_Impl {}
5064impl ::windows::core::RuntimeName for ID3DDeviceContextState {}
5065impl ID3DDeviceContextState_Vtbl {
5066 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3DDeviceContextState_Impl, const OFFSET: isize>() -> ID3DDeviceContextState_Vtbl {
5067 Self { base__: ID3D11DeviceChild_Vtbl::new::<Identity, Impl, OFFSET>() }
5068 }
5069 pub fn matches(iid: &windows::core::GUID) -> bool {
5070 iid == &<ID3DDeviceContextState as ::windows::core::ComInterface>::IID || iid == &<ID3D11DeviceChild as ::windows::core::ComInterface>::IID
5071 }
5072}
5073#[doc = "*Required features: `\"Win32_Graphics_Direct3D11\"`, `\"Win32_Foundation\"`, `\"implement\"`*"]
5074#[cfg(feature = "Win32_Foundation")]
5075pub trait ID3DUserDefinedAnnotation_Impl: Sized {
5076 fn BeginEvent(&self, name: &::windows::core::PCWSTR) -> i32;
5077 fn EndEvent(&self) -> i32;
5078 fn SetMarker(&self, name: &::windows::core::PCWSTR);
5079 fn GetStatus(&self) -> super::super::Foundation::BOOL;
5080}
5081#[cfg(feature = "Win32_Foundation")]
5082impl ::windows::core::RuntimeName for ID3DUserDefinedAnnotation {}
5083#[cfg(feature = "Win32_Foundation")]
5084impl ID3DUserDefinedAnnotation_Vtbl {
5085 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3DUserDefinedAnnotation_Impl, const OFFSET: isize>() -> ID3DUserDefinedAnnotation_Vtbl {
5086 unsafe extern "system" fn BeginEvent<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3DUserDefinedAnnotation_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, name: ::windows::core::PCWSTR) -> i32 {
5087 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5088 let this = (*this).get_impl();
5089 this.BeginEvent(::core::mem::transmute(&name))
5090 }
5091 unsafe extern "system" fn EndEvent<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3DUserDefinedAnnotation_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> i32 {
5092 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5093 let this = (*this).get_impl();
5094 this.EndEvent()
5095 }
5096 unsafe extern "system" fn SetMarker<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3DUserDefinedAnnotation_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, name: ::windows::core::PCWSTR) {
5097 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5098 let this = (*this).get_impl();
5099 this.SetMarker(::core::mem::transmute(&name))
5100 }
5101 unsafe extern "system" fn GetStatus<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3DUserDefinedAnnotation_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> super::super::Foundation::BOOL {
5102 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5103 let this = (*this).get_impl();
5104 this.GetStatus()
5105 }
5106 Self {
5107 base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
5108 BeginEvent: BeginEvent::<Identity, Impl, OFFSET>,
5109 EndEvent: EndEvent::<Identity, Impl, OFFSET>,
5110 SetMarker: SetMarker::<Identity, Impl, OFFSET>,
5111 GetStatus: GetStatus::<Identity, Impl, OFFSET>,
5112 }
5113 }
5114 pub fn matches(iid: &windows::core::GUID) -> bool {
5115 iid == &<ID3DUserDefinedAnnotation as ::windows::core::ComInterface>::IID
5116 }
5117}
5118#[doc = "*Required features: `\"Win32_Graphics_Direct3D11\"`, `\"implement\"`*"]
5119pub trait ID3DX11FFT_Impl: Sized {
5120 fn SetForwardScale(&self, forwardscale: f32) -> ::windows::core::Result<()>;
5121 fn GetForwardScale(&self) -> f32;
5122 fn SetInverseScale(&self, inversescale: f32) -> ::windows::core::Result<()>;
5123 fn GetInverseScale(&self) -> f32;
5124 fn AttachBuffersAndPrecompute(&self, numtempbuffers: u32, pptempbuffers: *const ::core::option::Option<ID3D11UnorderedAccessView>, numprecomputebuffers: u32, ppprecomputebuffersizes: *const ::core::option::Option<ID3D11UnorderedAccessView>) -> ::windows::core::Result<()>;
5125 fn ForwardTransform(&self, pinputbuffer: ::core::option::Option<&ID3D11UnorderedAccessView>, ppoutputbuffer: *mut ::core::option::Option<ID3D11UnorderedAccessView>) -> ::windows::core::Result<()>;
5126 fn InverseTransform(&self, pinputbuffer: ::core::option::Option<&ID3D11UnorderedAccessView>, ppoutputbuffer: *mut ::core::option::Option<ID3D11UnorderedAccessView>) -> ::windows::core::Result<()>;
5127}
5128impl ::windows::core::RuntimeName for ID3DX11FFT {}
5129impl ID3DX11FFT_Vtbl {
5130 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3DX11FFT_Impl, const OFFSET: isize>() -> ID3DX11FFT_Vtbl {
5131 unsafe extern "system" fn SetForwardScale<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3DX11FFT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, forwardscale: f32) -> ::windows::core::HRESULT {
5132 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5133 let this = (*this).get_impl();
5134 this.SetForwardScale(::core::mem::transmute_copy(&forwardscale)).into()
5135 }
5136 unsafe extern "system" fn GetForwardScale<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3DX11FFT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> f32 {
5137 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5138 let this = (*this).get_impl();
5139 this.GetForwardScale()
5140 }
5141 unsafe extern "system" fn SetInverseScale<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3DX11FFT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, inversescale: f32) -> ::windows::core::HRESULT {
5142 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5143 let this = (*this).get_impl();
5144 this.SetInverseScale(::core::mem::transmute_copy(&inversescale)).into()
5145 }
5146 unsafe extern "system" fn GetInverseScale<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3DX11FFT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> f32 {
5147 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5148 let this = (*this).get_impl();
5149 this.GetInverseScale()
5150 }
5151 unsafe extern "system" fn AttachBuffersAndPrecompute<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3DX11FFT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, numtempbuffers: u32, pptempbuffers: *const *mut ::core::ffi::c_void, numprecomputebuffers: u32, ppprecomputebuffersizes: *const *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
5152 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5153 let this = (*this).get_impl();
5154 this.AttachBuffersAndPrecompute(::core::mem::transmute_copy(&numtempbuffers), ::core::mem::transmute_copy(&pptempbuffers), ::core::mem::transmute_copy(&numprecomputebuffers), ::core::mem::transmute_copy(&ppprecomputebuffersizes)).into()
5155 }
5156 unsafe extern "system" fn ForwardTransform<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3DX11FFT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pinputbuffer: *mut ::core::ffi::c_void, ppoutputbuffer: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
5157 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5158 let this = (*this).get_impl();
5159 this.ForwardTransform(::windows::core::from_raw_borrowed(&pinputbuffer), ::core::mem::transmute_copy(&ppoutputbuffer)).into()
5160 }
5161 unsafe extern "system" fn InverseTransform<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3DX11FFT_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pinputbuffer: *mut ::core::ffi::c_void, ppoutputbuffer: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
5162 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5163 let this = (*this).get_impl();
5164 this.InverseTransform(::windows::core::from_raw_borrowed(&pinputbuffer), ::core::mem::transmute_copy(&ppoutputbuffer)).into()
5165 }
5166 Self {
5167 base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
5168 SetForwardScale: SetForwardScale::<Identity, Impl, OFFSET>,
5169 GetForwardScale: GetForwardScale::<Identity, Impl, OFFSET>,
5170 SetInverseScale: SetInverseScale::<Identity, Impl, OFFSET>,
5171 GetInverseScale: GetInverseScale::<Identity, Impl, OFFSET>,
5172 AttachBuffersAndPrecompute: AttachBuffersAndPrecompute::<Identity, Impl, OFFSET>,
5173 ForwardTransform: ForwardTransform::<Identity, Impl, OFFSET>,
5174 InverseTransform: InverseTransform::<Identity, Impl, OFFSET>,
5175 }
5176 }
5177 pub fn matches(iid: &windows::core::GUID) -> bool {
5178 iid == &<ID3DX11FFT as ::windows::core::ComInterface>::IID
5179 }
5180}
5181#[doc = "*Required features: `\"Win32_Graphics_Direct3D11\"`, `\"implement\"`*"]
5182pub trait ID3DX11Scan_Impl: Sized {
5183 fn SetScanDirection(&self, direction: D3DX11_SCAN_DIRECTION) -> ::windows::core::Result<()>;
5184 fn Scan(&self, elementtype: D3DX11_SCAN_DATA_TYPE, opcode: D3DX11_SCAN_OPCODE, elementscansize: u32, psrc: ::core::option::Option<&ID3D11UnorderedAccessView>, pdst: ::core::option::Option<&ID3D11UnorderedAccessView>) -> ::windows::core::Result<()>;
5185 fn Multiscan(&self, elementtype: D3DX11_SCAN_DATA_TYPE, opcode: D3DX11_SCAN_OPCODE, elementscansize: u32, elementscanpitch: u32, scancount: u32, psrc: ::core::option::Option<&ID3D11UnorderedAccessView>, pdst: ::core::option::Option<&ID3D11UnorderedAccessView>) -> ::windows::core::Result<()>;
5186}
5187impl ::windows::core::RuntimeName for ID3DX11Scan {}
5188impl ID3DX11Scan_Vtbl {
5189 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3DX11Scan_Impl, const OFFSET: isize>() -> ID3DX11Scan_Vtbl {
5190 unsafe extern "system" fn SetScanDirection<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3DX11Scan_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, direction: D3DX11_SCAN_DIRECTION) -> ::windows::core::HRESULT {
5191 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5192 let this = (*this).get_impl();
5193 this.SetScanDirection(::core::mem::transmute_copy(&direction)).into()
5194 }
5195 unsafe extern "system" fn Scan<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3DX11Scan_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, elementtype: D3DX11_SCAN_DATA_TYPE, opcode: D3DX11_SCAN_OPCODE, elementscansize: u32, psrc: *mut ::core::ffi::c_void, pdst: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
5196 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5197 let this = (*this).get_impl();
5198 this.Scan(::core::mem::transmute_copy(&elementtype), ::core::mem::transmute_copy(&opcode), ::core::mem::transmute_copy(&elementscansize), ::windows::core::from_raw_borrowed(&psrc), ::windows::core::from_raw_borrowed(&pdst)).into()
5199 }
5200 unsafe extern "system" fn Multiscan<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3DX11Scan_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, elementtype: D3DX11_SCAN_DATA_TYPE, opcode: D3DX11_SCAN_OPCODE, elementscansize: u32, elementscanpitch: u32, scancount: u32, psrc: *mut ::core::ffi::c_void, pdst: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
5201 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5202 let this = (*this).get_impl();
5203 this.Multiscan(::core::mem::transmute_copy(&elementtype), ::core::mem::transmute_copy(&opcode), ::core::mem::transmute_copy(&elementscansize), ::core::mem::transmute_copy(&elementscanpitch), ::core::mem::transmute_copy(&scancount), ::windows::core::from_raw_borrowed(&psrc), ::windows::core::from_raw_borrowed(&pdst)).into()
5204 }
5205 Self {
5206 base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
5207 SetScanDirection: SetScanDirection::<Identity, Impl, OFFSET>,
5208 Scan: Scan::<Identity, Impl, OFFSET>,
5209 Multiscan: Multiscan::<Identity, Impl, OFFSET>,
5210 }
5211 }
5212 pub fn matches(iid: &windows::core::GUID) -> bool {
5213 iid == &<ID3DX11Scan as ::windows::core::ComInterface>::IID
5214 }
5215}
5216#[doc = "*Required features: `\"Win32_Graphics_Direct3D11\"`, `\"implement\"`*"]
5217pub trait ID3DX11SegmentedScan_Impl: Sized {
5218 fn SetScanDirection(&self, direction: D3DX11_SCAN_DIRECTION) -> ::windows::core::Result<()>;
5219 fn SegScan(&self, elementtype: D3DX11_SCAN_DATA_TYPE, opcode: D3DX11_SCAN_OPCODE, elementscansize: u32, psrc: ::core::option::Option<&ID3D11UnorderedAccessView>, psrcelementflags: ::core::option::Option<&ID3D11UnorderedAccessView>, pdst: ::core::option::Option<&ID3D11UnorderedAccessView>) -> ::windows::core::Result<()>;
5220}
5221impl ::windows::core::RuntimeName for ID3DX11SegmentedScan {}
5222impl ID3DX11SegmentedScan_Vtbl {
5223 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3DX11SegmentedScan_Impl, const OFFSET: isize>() -> ID3DX11SegmentedScan_Vtbl {
5224 unsafe extern "system" fn SetScanDirection<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3DX11SegmentedScan_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, direction: D3DX11_SCAN_DIRECTION) -> ::windows::core::HRESULT {
5225 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5226 let this = (*this).get_impl();
5227 this.SetScanDirection(::core::mem::transmute_copy(&direction)).into()
5228 }
5229 unsafe extern "system" fn SegScan<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3DX11SegmentedScan_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, elementtype: D3DX11_SCAN_DATA_TYPE, opcode: D3DX11_SCAN_OPCODE, elementscansize: u32, psrc: *mut ::core::ffi::c_void, psrcelementflags: *mut ::core::ffi::c_void, pdst: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
5230 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5231 let this = (*this).get_impl();
5232 this.SegScan(::core::mem::transmute_copy(&elementtype), ::core::mem::transmute_copy(&opcode), ::core::mem::transmute_copy(&elementscansize), ::windows::core::from_raw_borrowed(&psrc), ::windows::core::from_raw_borrowed(&psrcelementflags), ::windows::core::from_raw_borrowed(&pdst)).into()
5233 }
5234 Self {
5235 base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
5236 SetScanDirection: SetScanDirection::<Identity, Impl, OFFSET>,
5237 SegScan: SegScan::<Identity, Impl, OFFSET>,
5238 }
5239 }
5240 pub fn matches(iid: &windows::core::GUID) -> bool {
5241 iid == &<ID3DX11SegmentedScan as ::windows::core::ComInterface>::IID
5242 }
5243}