]>
Commit | Line | Data |
---|---|---|
353b0b11 FG |
1 | #[doc = "*Required features: `\"Win32_Media_Multimedia\"`, `\"Win32_Foundation\"`, `\"implement\"`*"] |
2 | #[cfg(feature = "Win32_Foundation")] | |
3 | pub trait IAVIEditStream_Impl: Sized { | |
4 | fn Cut(&self, plstart: *mut i32, pllength: *mut i32, ppresult: *mut ::core::option::Option<IAVIStream>) -> ::windows::core::Result<()>; | |
5 | fn Copy(&self, plstart: *mut i32, pllength: *mut i32, ppresult: *mut ::core::option::Option<IAVIStream>) -> ::windows::core::Result<()>; | |
6 | fn Paste(&self, plpos: *mut i32, pllength: *mut i32, pstream: ::core::option::Option<&IAVIStream>, lstart: i32, lend: i32) -> ::windows::core::Result<()>; | |
7 | fn Clone(&self) -> ::windows::core::Result<IAVIStream>; | |
8 | fn SetInfo(&self, lpinfo: *const AVISTREAMINFOW, cbinfo: i32) -> ::windows::core::Result<()>; | |
9 | } | |
10 | #[cfg(feature = "Win32_Foundation")] | |
11 | impl ::windows::core::RuntimeName for IAVIEditStream {} | |
12 | #[cfg(feature = "Win32_Foundation")] | |
13 | impl IAVIEditStream_Vtbl { | |
14 | pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IAVIEditStream_Impl, const OFFSET: isize>() -> IAVIEditStream_Vtbl { | |
15 | unsafe extern "system" fn Cut<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IAVIEditStream_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, plstart: *mut i32, pllength: *mut i32, ppresult: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT { | |
16 | let this = (this as *const *const ()).offset(OFFSET) as *const Identity; | |
17 | let this = (*this).get_impl(); | |
18 | this.Cut(::core::mem::transmute_copy(&plstart), ::core::mem::transmute_copy(&pllength), ::core::mem::transmute_copy(&ppresult)).into() | |
19 | } | |
20 | unsafe extern "system" fn Copy<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IAVIEditStream_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, plstart: *mut i32, pllength: *mut i32, ppresult: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT { | |
21 | let this = (this as *const *const ()).offset(OFFSET) as *const Identity; | |
22 | let this = (*this).get_impl(); | |
23 | this.Copy(::core::mem::transmute_copy(&plstart), ::core::mem::transmute_copy(&pllength), ::core::mem::transmute_copy(&ppresult)).into() | |
24 | } | |
25 | unsafe extern "system" fn Paste<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IAVIEditStream_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, plpos: *mut i32, pllength: *mut i32, pstream: *mut ::core::ffi::c_void, lstart: i32, lend: i32) -> ::windows::core::HRESULT { | |
26 | let this = (this as *const *const ()).offset(OFFSET) as *const Identity; | |
27 | let this = (*this).get_impl(); | |
28 | this.Paste(::core::mem::transmute_copy(&plpos), ::core::mem::transmute_copy(&pllength), ::windows::core::from_raw_borrowed(&pstream), ::core::mem::transmute_copy(&lstart), ::core::mem::transmute_copy(&lend)).into() | |
29 | } | |
30 | unsafe extern "system" fn Clone<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IAVIEditStream_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppresult: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT { | |
31 | let this = (this as *const *const ()).offset(OFFSET) as *const Identity; | |
32 | let this = (*this).get_impl(); | |
33 | match this.Clone() { | |
34 | ::core::result::Result::Ok(ok__) => { | |
35 | ::core::ptr::write(ppresult, ::core::mem::transmute(ok__)); | |
36 | ::windows::core::HRESULT(0) | |
37 | } | |
38 | ::core::result::Result::Err(err) => err.into(), | |
39 | } | |
40 | } | |
41 | unsafe extern "system" fn SetInfo<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IAVIEditStream_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lpinfo: *const AVISTREAMINFOW, cbinfo: i32) -> ::windows::core::HRESULT { | |
42 | let this = (this as *const *const ()).offset(OFFSET) as *const Identity; | |
43 | let this = (*this).get_impl(); | |
44 | this.SetInfo(::core::mem::transmute_copy(&lpinfo), ::core::mem::transmute_copy(&cbinfo)).into() | |
45 | } | |
46 | Self { | |
47 | base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(), | |
48 | Cut: Cut::<Identity, Impl, OFFSET>, | |
49 | Copy: Copy::<Identity, Impl, OFFSET>, | |
50 | Paste: Paste::<Identity, Impl, OFFSET>, | |
51 | Clone: Clone::<Identity, Impl, OFFSET>, | |
52 | SetInfo: SetInfo::<Identity, Impl, OFFSET>, | |
53 | } | |
54 | } | |
55 | pub fn matches(iid: &windows::core::GUID) -> bool { | |
56 | iid == &<IAVIEditStream as ::windows::core::ComInterface>::IID | |
57 | } | |
58 | } | |
59 | #[doc = "*Required features: `\"Win32_Media_Multimedia\"`, `\"Win32_Foundation\"`, `\"implement\"`*"] | |
60 | #[cfg(feature = "Win32_Foundation")] | |
61 | pub trait IAVIFile_Impl: Sized { | |
62 | fn Info(&self, pfi: *mut AVIFILEINFOW, lsize: i32) -> ::windows::core::Result<()>; | |
63 | fn GetStream(&self, ppstream: *mut ::core::option::Option<IAVIStream>, fcctype: u32, lparam: i32) -> ::windows::core::Result<()>; | |
64 | fn CreateStream(&self, ppstream: *mut ::core::option::Option<IAVIStream>, psi: *const AVISTREAMINFOW) -> ::windows::core::Result<()>; | |
65 | fn WriteData(&self, ckid: u32, lpdata: *const ::core::ffi::c_void, cbdata: i32) -> ::windows::core::Result<()>; | |
66 | fn ReadData(&self, ckid: u32, lpdata: *mut ::core::ffi::c_void, lpcbdata: *mut i32) -> ::windows::core::Result<()>; | |
67 | fn EndRecord(&self) -> ::windows::core::Result<()>; | |
68 | fn DeleteStream(&self, fcctype: u32, lparam: i32) -> ::windows::core::Result<()>; | |
69 | } | |
70 | #[cfg(feature = "Win32_Foundation")] | |
71 | impl ::windows::core::RuntimeName for IAVIFile {} | |
72 | #[cfg(feature = "Win32_Foundation")] | |
73 | impl IAVIFile_Vtbl { | |
74 | pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IAVIFile_Impl, const OFFSET: isize>() -> IAVIFile_Vtbl { | |
75 | unsafe extern "system" fn Info<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IAVIFile_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pfi: *mut AVIFILEINFOW, lsize: i32) -> ::windows::core::HRESULT { | |
76 | let this = (this as *const *const ()).offset(OFFSET) as *const Identity; | |
77 | let this = (*this).get_impl(); | |
78 | this.Info(::core::mem::transmute_copy(&pfi), ::core::mem::transmute_copy(&lsize)).into() | |
79 | } | |
80 | unsafe extern "system" fn GetStream<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IAVIFile_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppstream: *mut *mut ::core::ffi::c_void, fcctype: u32, lparam: i32) -> ::windows::core::HRESULT { | |
81 | let this = (this as *const *const ()).offset(OFFSET) as *const Identity; | |
82 | let this = (*this).get_impl(); | |
83 | this.GetStream(::core::mem::transmute_copy(&ppstream), ::core::mem::transmute_copy(&fcctype), ::core::mem::transmute_copy(&lparam)).into() | |
84 | } | |
85 | unsafe extern "system" fn CreateStream<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IAVIFile_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppstream: *mut *mut ::core::ffi::c_void, psi: *const AVISTREAMINFOW) -> ::windows::core::HRESULT { | |
86 | let this = (this as *const *const ()).offset(OFFSET) as *const Identity; | |
87 | let this = (*this).get_impl(); | |
88 | this.CreateStream(::core::mem::transmute_copy(&ppstream), ::core::mem::transmute_copy(&psi)).into() | |
89 | } | |
90 | unsafe extern "system" fn WriteData<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IAVIFile_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ckid: u32, lpdata: *const ::core::ffi::c_void, cbdata: i32) -> ::windows::core::HRESULT { | |
91 | let this = (this as *const *const ()).offset(OFFSET) as *const Identity; | |
92 | let this = (*this).get_impl(); | |
93 | this.WriteData(::core::mem::transmute_copy(&ckid), ::core::mem::transmute_copy(&lpdata), ::core::mem::transmute_copy(&cbdata)).into() | |
94 | } | |
95 | unsafe extern "system" fn ReadData<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IAVIFile_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ckid: u32, lpdata: *mut ::core::ffi::c_void, lpcbdata: *mut i32) -> ::windows::core::HRESULT { | |
96 | let this = (this as *const *const ()).offset(OFFSET) as *const Identity; | |
97 | let this = (*this).get_impl(); | |
98 | this.ReadData(::core::mem::transmute_copy(&ckid), ::core::mem::transmute_copy(&lpdata), ::core::mem::transmute_copy(&lpcbdata)).into() | |
99 | } | |
100 | unsafe extern "system" fn EndRecord<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IAVIFile_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT { | |
101 | let this = (this as *const *const ()).offset(OFFSET) as *const Identity; | |
102 | let this = (*this).get_impl(); | |
103 | this.EndRecord().into() | |
104 | } | |
105 | unsafe extern "system" fn DeleteStream<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IAVIFile_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, fcctype: u32, lparam: i32) -> ::windows::core::HRESULT { | |
106 | let this = (this as *const *const ()).offset(OFFSET) as *const Identity; | |
107 | let this = (*this).get_impl(); | |
108 | this.DeleteStream(::core::mem::transmute_copy(&fcctype), ::core::mem::transmute_copy(&lparam)).into() | |
109 | } | |
110 | Self { | |
111 | base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(), | |
112 | Info: Info::<Identity, Impl, OFFSET>, | |
113 | GetStream: GetStream::<Identity, Impl, OFFSET>, | |
114 | CreateStream: CreateStream::<Identity, Impl, OFFSET>, | |
115 | WriteData: WriteData::<Identity, Impl, OFFSET>, | |
116 | ReadData: ReadData::<Identity, Impl, OFFSET>, | |
117 | EndRecord: EndRecord::<Identity, Impl, OFFSET>, | |
118 | DeleteStream: DeleteStream::<Identity, Impl, OFFSET>, | |
119 | } | |
120 | } | |
121 | pub fn matches(iid: &windows::core::GUID) -> bool { | |
122 | iid == &<IAVIFile as ::windows::core::ComInterface>::IID | |
123 | } | |
124 | } | |
125 | #[doc = "*Required features: `\"Win32_Media_Multimedia\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"implement\"`*"] | |
126 | #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))] | |
127 | pub trait IAVIPersistFile_Impl: Sized + super::super::System::Com::IPersistFile_Impl { | |
128 | fn Reserved1(&self) -> ::windows::core::Result<()>; | |
129 | } | |
130 | #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))] | |
131 | impl ::windows::core::RuntimeName for IAVIPersistFile {} | |
132 | #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))] | |
133 | impl IAVIPersistFile_Vtbl { | |
134 | pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IAVIPersistFile_Impl, const OFFSET: isize>() -> IAVIPersistFile_Vtbl { | |
135 | unsafe extern "system" fn Reserved1<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IAVIPersistFile_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT { | |
136 | let this = (this as *const *const ()).offset(OFFSET) as *const Identity; | |
137 | let this = (*this).get_impl(); | |
138 | this.Reserved1().into() | |
139 | } | |
140 | Self { base__: super::super::System::Com::IPersistFile_Vtbl::new::<Identity, Impl, OFFSET>(), Reserved1: Reserved1::<Identity, Impl, OFFSET> } | |
141 | } | |
142 | pub fn matches(iid: &windows::core::GUID) -> bool { | |
143 | iid == &<IAVIPersistFile as ::windows::core::ComInterface>::IID || iid == &<super::super::System::Com::IPersist as ::windows::core::ComInterface>::IID || iid == &<super::super::System::Com::IPersistFile as ::windows::core::ComInterface>::IID | |
144 | } | |
145 | } | |
146 | #[doc = "*Required features: `\"Win32_Media_Multimedia\"`, `\"Win32_Foundation\"`, `\"implement\"`*"] | |
147 | #[cfg(feature = "Win32_Foundation")] | |
148 | pub trait IAVIStream_Impl: Sized { | |
149 | fn Create(&self, lparam1: super::super::Foundation::LPARAM, lparam2: super::super::Foundation::LPARAM) -> ::windows::core::Result<()>; | |
150 | fn Info(&self, psi: *mut AVISTREAMINFOW, lsize: i32) -> ::windows::core::Result<()>; | |
151 | fn FindSample(&self, lpos: i32, lflags: i32) -> i32; | |
152 | fn ReadFormat(&self, lpos: i32, lpformat: *mut ::core::ffi::c_void, lpcbformat: *mut i32) -> ::windows::core::Result<()>; | |
153 | fn SetFormat(&self, lpos: i32, lpformat: *const ::core::ffi::c_void, cbformat: i32) -> ::windows::core::Result<()>; | |
154 | fn Read(&self, lstart: i32, lsamples: i32, lpbuffer: *mut ::core::ffi::c_void, cbbuffer: i32, plbytes: *mut i32, plsamples: *mut i32) -> ::windows::core::Result<()>; | |
155 | fn Write(&self, lstart: i32, lsamples: i32, lpbuffer: *const ::core::ffi::c_void, cbbuffer: i32, dwflags: u32, plsampwritten: *mut i32, plbyteswritten: *mut i32) -> ::windows::core::Result<()>; | |
156 | fn Delete(&self, lstart: i32, lsamples: i32) -> ::windows::core::Result<()>; | |
157 | fn ReadData(&self, fcc: u32, lp: *mut ::core::ffi::c_void, lpcb: *mut i32) -> ::windows::core::Result<()>; | |
158 | fn WriteData(&self, fcc: u32, lp: *const ::core::ffi::c_void, cb: i32) -> ::windows::core::Result<()>; | |
159 | fn SetInfo(&self, lpinfo: *const AVISTREAMINFOW, cbinfo: i32) -> ::windows::core::Result<()>; | |
160 | } | |
161 | #[cfg(feature = "Win32_Foundation")] | |
162 | impl ::windows::core::RuntimeName for IAVIStream {} | |
163 | #[cfg(feature = "Win32_Foundation")] | |
164 | impl IAVIStream_Vtbl { | |
165 | pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IAVIStream_Impl, const OFFSET: isize>() -> IAVIStream_Vtbl { | |
166 | unsafe extern "system" fn Create<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IAVIStream_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lparam1: super::super::Foundation::LPARAM, lparam2: super::super::Foundation::LPARAM) -> ::windows::core::HRESULT { | |
167 | let this = (this as *const *const ()).offset(OFFSET) as *const Identity; | |
168 | let this = (*this).get_impl(); | |
169 | this.Create(::core::mem::transmute_copy(&lparam1), ::core::mem::transmute_copy(&lparam2)).into() | |
170 | } | |
171 | unsafe extern "system" fn Info<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IAVIStream_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, psi: *mut AVISTREAMINFOW, lsize: i32) -> ::windows::core::HRESULT { | |
172 | let this = (this as *const *const ()).offset(OFFSET) as *const Identity; | |
173 | let this = (*this).get_impl(); | |
174 | this.Info(::core::mem::transmute_copy(&psi), ::core::mem::transmute_copy(&lsize)).into() | |
175 | } | |
176 | unsafe extern "system" fn FindSample<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IAVIStream_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lpos: i32, lflags: i32) -> i32 { | |
177 | let this = (this as *const *const ()).offset(OFFSET) as *const Identity; | |
178 | let this = (*this).get_impl(); | |
179 | this.FindSample(::core::mem::transmute_copy(&lpos), ::core::mem::transmute_copy(&lflags)) | |
180 | } | |
181 | unsafe extern "system" fn ReadFormat<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IAVIStream_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lpos: i32, lpformat: *mut ::core::ffi::c_void, lpcbformat: *mut i32) -> ::windows::core::HRESULT { | |
182 | let this = (this as *const *const ()).offset(OFFSET) as *const Identity; | |
183 | let this = (*this).get_impl(); | |
184 | this.ReadFormat(::core::mem::transmute_copy(&lpos), ::core::mem::transmute_copy(&lpformat), ::core::mem::transmute_copy(&lpcbformat)).into() | |
185 | } | |
186 | unsafe extern "system" fn SetFormat<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IAVIStream_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lpos: i32, lpformat: *const ::core::ffi::c_void, cbformat: i32) -> ::windows::core::HRESULT { | |
187 | let this = (this as *const *const ()).offset(OFFSET) as *const Identity; | |
188 | let this = (*this).get_impl(); | |
189 | this.SetFormat(::core::mem::transmute_copy(&lpos), ::core::mem::transmute_copy(&lpformat), ::core::mem::transmute_copy(&cbformat)).into() | |
190 | } | |
191 | unsafe extern "system" fn Read<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IAVIStream_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lstart: i32, lsamples: i32, lpbuffer: *mut ::core::ffi::c_void, cbbuffer: i32, plbytes: *mut i32, plsamples: *mut i32) -> ::windows::core::HRESULT { | |
192 | let this = (this as *const *const ()).offset(OFFSET) as *const Identity; | |
193 | let this = (*this).get_impl(); | |
194 | this.Read(::core::mem::transmute_copy(&lstart), ::core::mem::transmute_copy(&lsamples), ::core::mem::transmute_copy(&lpbuffer), ::core::mem::transmute_copy(&cbbuffer), ::core::mem::transmute_copy(&plbytes), ::core::mem::transmute_copy(&plsamples)).into() | |
195 | } | |
196 | unsafe extern "system" fn Write<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IAVIStream_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lstart: i32, lsamples: i32, lpbuffer: *const ::core::ffi::c_void, cbbuffer: i32, dwflags: u32, plsampwritten: *mut i32, plbyteswritten: *mut i32) -> ::windows::core::HRESULT { | |
197 | let this = (this as *const *const ()).offset(OFFSET) as *const Identity; | |
198 | let this = (*this).get_impl(); | |
199 | this.Write(::core::mem::transmute_copy(&lstart), ::core::mem::transmute_copy(&lsamples), ::core::mem::transmute_copy(&lpbuffer), ::core::mem::transmute_copy(&cbbuffer), ::core::mem::transmute_copy(&dwflags), ::core::mem::transmute_copy(&plsampwritten), ::core::mem::transmute_copy(&plbyteswritten)).into() | |
200 | } | |
201 | unsafe extern "system" fn Delete<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IAVIStream_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lstart: i32, lsamples: i32) -> ::windows::core::HRESULT { | |
202 | let this = (this as *const *const ()).offset(OFFSET) as *const Identity; | |
203 | let this = (*this).get_impl(); | |
204 | this.Delete(::core::mem::transmute_copy(&lstart), ::core::mem::transmute_copy(&lsamples)).into() | |
205 | } | |
206 | unsafe extern "system" fn ReadData<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IAVIStream_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, fcc: u32, lp: *mut ::core::ffi::c_void, lpcb: *mut i32) -> ::windows::core::HRESULT { | |
207 | let this = (this as *const *const ()).offset(OFFSET) as *const Identity; | |
208 | let this = (*this).get_impl(); | |
209 | this.ReadData(::core::mem::transmute_copy(&fcc), ::core::mem::transmute_copy(&lp), ::core::mem::transmute_copy(&lpcb)).into() | |
210 | } | |
211 | unsafe extern "system" fn WriteData<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IAVIStream_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, fcc: u32, lp: *const ::core::ffi::c_void, cb: i32) -> ::windows::core::HRESULT { | |
212 | let this = (this as *const *const ()).offset(OFFSET) as *const Identity; | |
213 | let this = (*this).get_impl(); | |
214 | this.WriteData(::core::mem::transmute_copy(&fcc), ::core::mem::transmute_copy(&lp), ::core::mem::transmute_copy(&cb)).into() | |
215 | } | |
216 | unsafe extern "system" fn SetInfo<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IAVIStream_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lpinfo: *const AVISTREAMINFOW, cbinfo: i32) -> ::windows::core::HRESULT { | |
217 | let this = (this as *const *const ()).offset(OFFSET) as *const Identity; | |
218 | let this = (*this).get_impl(); | |
219 | this.SetInfo(::core::mem::transmute_copy(&lpinfo), ::core::mem::transmute_copy(&cbinfo)).into() | |
220 | } | |
221 | Self { | |
222 | base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(), | |
223 | Create: Create::<Identity, Impl, OFFSET>, | |
224 | Info: Info::<Identity, Impl, OFFSET>, | |
225 | FindSample: FindSample::<Identity, Impl, OFFSET>, | |
226 | ReadFormat: ReadFormat::<Identity, Impl, OFFSET>, | |
227 | SetFormat: SetFormat::<Identity, Impl, OFFSET>, | |
228 | Read: Read::<Identity, Impl, OFFSET>, | |
229 | Write: Write::<Identity, Impl, OFFSET>, | |
230 | Delete: Delete::<Identity, Impl, OFFSET>, | |
231 | ReadData: ReadData::<Identity, Impl, OFFSET>, | |
232 | WriteData: WriteData::<Identity, Impl, OFFSET>, | |
233 | SetInfo: SetInfo::<Identity, Impl, OFFSET>, | |
234 | } | |
235 | } | |
236 | pub fn matches(iid: &windows::core::GUID) -> bool { | |
237 | iid == &<IAVIStream as ::windows::core::ComInterface>::IID | |
238 | } | |
239 | } | |
240 | #[doc = "*Required features: `\"Win32_Media_Multimedia\"`, `\"implement\"`*"] | |
241 | pub trait IAVIStreaming_Impl: Sized { | |
242 | fn Begin(&self, lstart: i32, lend: i32, lrate: i32) -> ::windows::core::Result<()>; | |
243 | fn End(&self) -> ::windows::core::Result<()>; | |
244 | } | |
245 | impl ::windows::core::RuntimeName for IAVIStreaming {} | |
246 | impl IAVIStreaming_Vtbl { | |
247 | pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IAVIStreaming_Impl, const OFFSET: isize>() -> IAVIStreaming_Vtbl { | |
248 | unsafe extern "system" fn Begin<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IAVIStreaming_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lstart: i32, lend: i32, lrate: i32) -> ::windows::core::HRESULT { | |
249 | let this = (this as *const *const ()).offset(OFFSET) as *const Identity; | |
250 | let this = (*this).get_impl(); | |
251 | this.Begin(::core::mem::transmute_copy(&lstart), ::core::mem::transmute_copy(&lend), ::core::mem::transmute_copy(&lrate)).into() | |
252 | } | |
253 | unsafe extern "system" fn End<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IAVIStreaming_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT { | |
254 | let this = (this as *const *const ()).offset(OFFSET) as *const Identity; | |
255 | let this = (*this).get_impl(); | |
256 | this.End().into() | |
257 | } | |
258 | Self { base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(), Begin: Begin::<Identity, Impl, OFFSET>, End: End::<Identity, Impl, OFFSET> } | |
259 | } | |
260 | pub fn matches(iid: &windows::core::GUID) -> bool { | |
261 | iid == &<IAVIStreaming as ::windows::core::ComInterface>::IID | |
262 | } | |
263 | } | |
264 | #[doc = "*Required features: `\"Win32_Media_Multimedia\"`, `\"Win32_Graphics_Gdi\"`, `\"implement\"`*"] | |
265 | #[cfg(feature = "Win32_Graphics_Gdi")] | |
266 | pub trait IGetFrame_Impl: Sized { | |
267 | fn GetFrame(&self, lpos: i32) -> *mut ::core::ffi::c_void; | |
268 | fn Begin(&self, lstart: i32, lend: i32, lrate: i32) -> ::windows::core::Result<()>; | |
269 | fn End(&self) -> ::windows::core::Result<()>; | |
270 | fn SetFormat(&self, lpbi: *const super::super::Graphics::Gdi::BITMAPINFOHEADER, lpbits: *const ::core::ffi::c_void, x: i32, y: i32, dx: i32, dy: i32) -> ::windows::core::Result<()>; | |
271 | } | |
272 | #[cfg(feature = "Win32_Graphics_Gdi")] | |
273 | impl ::windows::core::RuntimeName for IGetFrame {} | |
274 | #[cfg(feature = "Win32_Graphics_Gdi")] | |
275 | impl IGetFrame_Vtbl { | |
276 | pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IGetFrame_Impl, const OFFSET: isize>() -> IGetFrame_Vtbl { | |
277 | unsafe extern "system" fn GetFrame<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IGetFrame_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lpos: i32) -> *mut ::core::ffi::c_void { | |
278 | let this = (this as *const *const ()).offset(OFFSET) as *const Identity; | |
279 | let this = (*this).get_impl(); | |
280 | this.GetFrame(::core::mem::transmute_copy(&lpos)) | |
281 | } | |
282 | unsafe extern "system" fn Begin<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IGetFrame_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lstart: i32, lend: i32, lrate: i32) -> ::windows::core::HRESULT { | |
283 | let this = (this as *const *const ()).offset(OFFSET) as *const Identity; | |
284 | let this = (*this).get_impl(); | |
285 | this.Begin(::core::mem::transmute_copy(&lstart), ::core::mem::transmute_copy(&lend), ::core::mem::transmute_copy(&lrate)).into() | |
286 | } | |
287 | unsafe extern "system" fn End<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IGetFrame_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT { | |
288 | let this = (this as *const *const ()).offset(OFFSET) as *const Identity; | |
289 | let this = (*this).get_impl(); | |
290 | this.End().into() | |
291 | } | |
292 | unsafe extern "system" fn SetFormat<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IGetFrame_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lpbi: *const super::super::Graphics::Gdi::BITMAPINFOHEADER, lpbits: *const ::core::ffi::c_void, x: i32, y: i32, dx: i32, dy: i32) -> ::windows::core::HRESULT { | |
293 | let this = (this as *const *const ()).offset(OFFSET) as *const Identity; | |
294 | let this = (*this).get_impl(); | |
295 | this.SetFormat(::core::mem::transmute_copy(&lpbi), ::core::mem::transmute_copy(&lpbits), ::core::mem::transmute_copy(&x), ::core::mem::transmute_copy(&y), ::core::mem::transmute_copy(&dx), ::core::mem::transmute_copy(&dy)).into() | |
296 | } | |
297 | Self { | |
298 | base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(), | |
299 | GetFrame: GetFrame::<Identity, Impl, OFFSET>, | |
300 | Begin: Begin::<Identity, Impl, OFFSET>, | |
301 | End: End::<Identity, Impl, OFFSET>, | |
302 | SetFormat: SetFormat::<Identity, Impl, OFFSET>, | |
303 | } | |
304 | } | |
305 | pub fn matches(iid: &windows::core::GUID) -> bool { | |
306 | iid == &<IGetFrame as ::windows::core::ComInterface>::IID | |
307 | } | |
308 | } |