]> git.proxmox.com Git - rustc.git/blob - vendor/windows/src/Windows/Win32/Media/MediaPlayer/impl.rs
New upstream version 1.70.0+dfsg1
[rustc.git] / vendor / windows / src / Windows / Win32 / Media / MediaPlayer / impl.rs
1 #[doc = "*Required features: `\"Win32_Media_MediaPlayer\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
2 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
3 pub trait IFeed_Impl: Sized + super::super::System::Com::IDispatch_Impl {
4 fn Xml(&self, count: i32, sortproperty: FEEDS_XML_SORT_PROPERTY, sortorder: FEEDS_XML_SORT_ORDER, filterflags: FEEDS_XML_FILTER_FLAGS, includeflags: FEEDS_XML_INCLUDE_FLAGS) -> ::windows::core::Result<::windows::core::BSTR>;
5 fn Name(&self) -> ::windows::core::Result<::windows::core::BSTR>;
6 fn Rename(&self, name: &::windows::core::BSTR) -> ::windows::core::Result<()>;
7 fn Url(&self) -> ::windows::core::Result<::windows::core::BSTR>;
8 fn SetUrl(&self, feedurl: &::windows::core::BSTR) -> ::windows::core::Result<()>;
9 fn LocalId(&self) -> ::windows::core::Result<::windows::core::BSTR>;
10 fn Path(&self) -> ::windows::core::Result<::windows::core::BSTR>;
11 fn Move(&self, newparentpath: &::windows::core::BSTR) -> ::windows::core::Result<()>;
12 fn Parent(&self) -> ::windows::core::Result<super::super::System::Com::IDispatch>;
13 fn LastWriteTime(&self) -> ::windows::core::Result<f64>;
14 fn Delete(&self) -> ::windows::core::Result<()>;
15 fn Download(&self) -> ::windows::core::Result<()>;
16 fn AsyncDownload(&self) -> ::windows::core::Result<()>;
17 fn CancelAsyncDownload(&self) -> ::windows::core::Result<()>;
18 fn SyncSetting(&self) -> ::windows::core::Result<FEEDS_SYNC_SETTING>;
19 fn SetSyncSetting(&self, syncsetting: FEEDS_SYNC_SETTING) -> ::windows::core::Result<()>;
20 fn Interval(&self) -> ::windows::core::Result<i32>;
21 fn SetInterval(&self, minutes: i32) -> ::windows::core::Result<()>;
22 fn LastDownloadTime(&self) -> ::windows::core::Result<f64>;
23 fn LocalEnclosurePath(&self) -> ::windows::core::Result<::windows::core::BSTR>;
24 fn Items(&self) -> ::windows::core::Result<super::super::System::Com::IDispatch>;
25 fn GetItem(&self, itemid: i32) -> ::windows::core::Result<super::super::System::Com::IDispatch>;
26 fn Title(&self) -> ::windows::core::Result<::windows::core::BSTR>;
27 fn Description(&self) -> ::windows::core::Result<::windows::core::BSTR>;
28 fn Link(&self) -> ::windows::core::Result<::windows::core::BSTR>;
29 fn Image(&self) -> ::windows::core::Result<::windows::core::BSTR>;
30 fn LastBuildDate(&self) -> ::windows::core::Result<f64>;
31 fn PubDate(&self) -> ::windows::core::Result<f64>;
32 fn Ttl(&self) -> ::windows::core::Result<i32>;
33 fn Language(&self) -> ::windows::core::Result<::windows::core::BSTR>;
34 fn Copyright(&self) -> ::windows::core::Result<::windows::core::BSTR>;
35 fn MaxItemCount(&self) -> ::windows::core::Result<i32>;
36 fn SetMaxItemCount(&self, count: i32) -> ::windows::core::Result<()>;
37 fn DownloadEnclosuresAutomatically(&self) -> ::windows::core::Result<super::super::Foundation::VARIANT_BOOL>;
38 fn SetDownloadEnclosuresAutomatically(&self, downloadenclosuresautomatically: super::super::Foundation::VARIANT_BOOL) -> ::windows::core::Result<()>;
39 fn DownloadStatus(&self) -> ::windows::core::Result<FEEDS_DOWNLOAD_STATUS>;
40 fn LastDownloadError(&self) -> ::windows::core::Result<FEEDS_DOWNLOAD_ERROR>;
41 fn Merge(&self, feedxml: &::windows::core::BSTR, feedurl: &::windows::core::BSTR) -> ::windows::core::Result<()>;
42 fn DownloadUrl(&self) -> ::windows::core::Result<::windows::core::BSTR>;
43 fn IsList(&self) -> ::windows::core::Result<super::super::Foundation::VARIANT_BOOL>;
44 fn MarkAllItemsRead(&self) -> ::windows::core::Result<()>;
45 fn GetWatcher(&self, scope: FEEDS_EVENTS_SCOPE, mask: FEEDS_EVENTS_MASK) -> ::windows::core::Result<super::super::System::Com::IDispatch>;
46 fn UnreadItemCount(&self) -> ::windows::core::Result<i32>;
47 fn ItemCount(&self) -> ::windows::core::Result<i32>;
48 }
49 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
50 impl ::windows::core::RuntimeName for IFeed {}
51 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
52 impl IFeed_Vtbl {
53 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFeed_Impl, const OFFSET: isize>() -> IFeed_Vtbl {
54 unsafe extern "system" fn Xml<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFeed_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, count: i32, sortproperty: FEEDS_XML_SORT_PROPERTY, sortorder: FEEDS_XML_SORT_ORDER, filterflags: FEEDS_XML_FILTER_FLAGS, includeflags: FEEDS_XML_INCLUDE_FLAGS, xml: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
55 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
56 let this = (*this).get_impl();
57 match this.Xml(::core::mem::transmute_copy(&count), ::core::mem::transmute_copy(&sortproperty), ::core::mem::transmute_copy(&sortorder), ::core::mem::transmute_copy(&filterflags), ::core::mem::transmute_copy(&includeflags)) {
58 ::core::result::Result::Ok(ok__) => {
59 ::core::ptr::write(xml, ::core::mem::transmute(ok__));
60 ::windows::core::HRESULT(0)
61 }
62 ::core::result::Result::Err(err) => err.into(),
63 }
64 }
65 unsafe extern "system" fn Name<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFeed_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, name: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
66 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
67 let this = (*this).get_impl();
68 match this.Name() {
69 ::core::result::Result::Ok(ok__) => {
70 ::core::ptr::write(name, ::core::mem::transmute(ok__));
71 ::windows::core::HRESULT(0)
72 }
73 ::core::result::Result::Err(err) => err.into(),
74 }
75 }
76 unsafe extern "system" fn Rename<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFeed_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, name: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
77 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
78 let this = (*this).get_impl();
79 this.Rename(::core::mem::transmute(&name)).into()
80 }
81 unsafe extern "system" fn Url<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFeed_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, feedurl: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
82 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
83 let this = (*this).get_impl();
84 match this.Url() {
85 ::core::result::Result::Ok(ok__) => {
86 ::core::ptr::write(feedurl, ::core::mem::transmute(ok__));
87 ::windows::core::HRESULT(0)
88 }
89 ::core::result::Result::Err(err) => err.into(),
90 }
91 }
92 unsafe extern "system" fn SetUrl<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFeed_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, feedurl: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
93 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
94 let this = (*this).get_impl();
95 this.SetUrl(::core::mem::transmute(&feedurl)).into()
96 }
97 unsafe extern "system" fn LocalId<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFeed_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, feedguid: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
98 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
99 let this = (*this).get_impl();
100 match this.LocalId() {
101 ::core::result::Result::Ok(ok__) => {
102 ::core::ptr::write(feedguid, ::core::mem::transmute(ok__));
103 ::windows::core::HRESULT(0)
104 }
105 ::core::result::Result::Err(err) => err.into(),
106 }
107 }
108 unsafe extern "system" fn Path<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFeed_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, path: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
109 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
110 let this = (*this).get_impl();
111 match this.Path() {
112 ::core::result::Result::Ok(ok__) => {
113 ::core::ptr::write(path, ::core::mem::transmute(ok__));
114 ::windows::core::HRESULT(0)
115 }
116 ::core::result::Result::Err(err) => err.into(),
117 }
118 }
119 unsafe extern "system" fn Move<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFeed_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, newparentpath: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
120 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
121 let this = (*this).get_impl();
122 this.Move(::core::mem::transmute(&newparentpath)).into()
123 }
124 unsafe extern "system" fn Parent<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFeed_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, disp: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
125 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
126 let this = (*this).get_impl();
127 match this.Parent() {
128 ::core::result::Result::Ok(ok__) => {
129 ::core::ptr::write(disp, ::core::mem::transmute(ok__));
130 ::windows::core::HRESULT(0)
131 }
132 ::core::result::Result::Err(err) => err.into(),
133 }
134 }
135 unsafe extern "system" fn LastWriteTime<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFeed_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lastwrite: *mut f64) -> ::windows::core::HRESULT {
136 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
137 let this = (*this).get_impl();
138 match this.LastWriteTime() {
139 ::core::result::Result::Ok(ok__) => {
140 ::core::ptr::write(lastwrite, ::core::mem::transmute(ok__));
141 ::windows::core::HRESULT(0)
142 }
143 ::core::result::Result::Err(err) => err.into(),
144 }
145 }
146 unsafe extern "system" fn Delete<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFeed_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
147 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
148 let this = (*this).get_impl();
149 this.Delete().into()
150 }
151 unsafe extern "system" fn Download<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFeed_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
152 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
153 let this = (*this).get_impl();
154 this.Download().into()
155 }
156 unsafe extern "system" fn AsyncDownload<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFeed_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
157 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
158 let this = (*this).get_impl();
159 this.AsyncDownload().into()
160 }
161 unsafe extern "system" fn CancelAsyncDownload<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFeed_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
162 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
163 let this = (*this).get_impl();
164 this.CancelAsyncDownload().into()
165 }
166 unsafe extern "system" fn SyncSetting<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFeed_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, syncsetting: *mut FEEDS_SYNC_SETTING) -> ::windows::core::HRESULT {
167 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
168 let this = (*this).get_impl();
169 match this.SyncSetting() {
170 ::core::result::Result::Ok(ok__) => {
171 ::core::ptr::write(syncsetting, ::core::mem::transmute(ok__));
172 ::windows::core::HRESULT(0)
173 }
174 ::core::result::Result::Err(err) => err.into(),
175 }
176 }
177 unsafe extern "system" fn SetSyncSetting<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFeed_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, syncsetting: FEEDS_SYNC_SETTING) -> ::windows::core::HRESULT {
178 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
179 let this = (*this).get_impl();
180 this.SetSyncSetting(::core::mem::transmute_copy(&syncsetting)).into()
181 }
182 unsafe extern "system" fn Interval<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFeed_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, minutes: *mut i32) -> ::windows::core::HRESULT {
183 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
184 let this = (*this).get_impl();
185 match this.Interval() {
186 ::core::result::Result::Ok(ok__) => {
187 ::core::ptr::write(minutes, ::core::mem::transmute(ok__));
188 ::windows::core::HRESULT(0)
189 }
190 ::core::result::Result::Err(err) => err.into(),
191 }
192 }
193 unsafe extern "system" fn SetInterval<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFeed_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, minutes: i32) -> ::windows::core::HRESULT {
194 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
195 let this = (*this).get_impl();
196 this.SetInterval(::core::mem::transmute_copy(&minutes)).into()
197 }
198 unsafe extern "system" fn LastDownloadTime<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFeed_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lastdownload: *mut f64) -> ::windows::core::HRESULT {
199 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
200 let this = (*this).get_impl();
201 match this.LastDownloadTime() {
202 ::core::result::Result::Ok(ok__) => {
203 ::core::ptr::write(lastdownload, ::core::mem::transmute(ok__));
204 ::windows::core::HRESULT(0)
205 }
206 ::core::result::Result::Err(err) => err.into(),
207 }
208 }
209 unsafe extern "system" fn LocalEnclosurePath<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFeed_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, path: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
210 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
211 let this = (*this).get_impl();
212 match this.LocalEnclosurePath() {
213 ::core::result::Result::Ok(ok__) => {
214 ::core::ptr::write(path, ::core::mem::transmute(ok__));
215 ::windows::core::HRESULT(0)
216 }
217 ::core::result::Result::Err(err) => err.into(),
218 }
219 }
220 unsafe extern "system" fn Items<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFeed_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, disp: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
221 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
222 let this = (*this).get_impl();
223 match this.Items() {
224 ::core::result::Result::Ok(ok__) => {
225 ::core::ptr::write(disp, ::core::mem::transmute(ok__));
226 ::windows::core::HRESULT(0)
227 }
228 ::core::result::Result::Err(err) => err.into(),
229 }
230 }
231 unsafe extern "system" fn GetItem<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFeed_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, itemid: i32, disp: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
232 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
233 let this = (*this).get_impl();
234 match this.GetItem(::core::mem::transmute_copy(&itemid)) {
235 ::core::result::Result::Ok(ok__) => {
236 ::core::ptr::write(disp, ::core::mem::transmute(ok__));
237 ::windows::core::HRESULT(0)
238 }
239 ::core::result::Result::Err(err) => err.into(),
240 }
241 }
242 unsafe extern "system" fn Title<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFeed_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, title: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
243 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
244 let this = (*this).get_impl();
245 match this.Title() {
246 ::core::result::Result::Ok(ok__) => {
247 ::core::ptr::write(title, ::core::mem::transmute(ok__));
248 ::windows::core::HRESULT(0)
249 }
250 ::core::result::Result::Err(err) => err.into(),
251 }
252 }
253 unsafe extern "system" fn Description<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFeed_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, description: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
254 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
255 let this = (*this).get_impl();
256 match this.Description() {
257 ::core::result::Result::Ok(ok__) => {
258 ::core::ptr::write(description, ::core::mem::transmute(ok__));
259 ::windows::core::HRESULT(0)
260 }
261 ::core::result::Result::Err(err) => err.into(),
262 }
263 }
264 unsafe extern "system" fn Link<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFeed_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, homepage: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
265 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
266 let this = (*this).get_impl();
267 match this.Link() {
268 ::core::result::Result::Ok(ok__) => {
269 ::core::ptr::write(homepage, ::core::mem::transmute(ok__));
270 ::windows::core::HRESULT(0)
271 }
272 ::core::result::Result::Err(err) => err.into(),
273 }
274 }
275 unsafe extern "system" fn Image<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFeed_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, imageurl: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
276 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
277 let this = (*this).get_impl();
278 match this.Image() {
279 ::core::result::Result::Ok(ok__) => {
280 ::core::ptr::write(imageurl, ::core::mem::transmute(ok__));
281 ::windows::core::HRESULT(0)
282 }
283 ::core::result::Result::Err(err) => err.into(),
284 }
285 }
286 unsafe extern "system" fn LastBuildDate<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFeed_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lastbuilddate: *mut f64) -> ::windows::core::HRESULT {
287 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
288 let this = (*this).get_impl();
289 match this.LastBuildDate() {
290 ::core::result::Result::Ok(ok__) => {
291 ::core::ptr::write(lastbuilddate, ::core::mem::transmute(ok__));
292 ::windows::core::HRESULT(0)
293 }
294 ::core::result::Result::Err(err) => err.into(),
295 }
296 }
297 unsafe extern "system" fn PubDate<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFeed_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lastpopulatedate: *mut f64) -> ::windows::core::HRESULT {
298 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
299 let this = (*this).get_impl();
300 match this.PubDate() {
301 ::core::result::Result::Ok(ok__) => {
302 ::core::ptr::write(lastpopulatedate, ::core::mem::transmute(ok__));
303 ::windows::core::HRESULT(0)
304 }
305 ::core::result::Result::Err(err) => err.into(),
306 }
307 }
308 unsafe extern "system" fn Ttl<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFeed_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ttl: *mut i32) -> ::windows::core::HRESULT {
309 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
310 let this = (*this).get_impl();
311 match this.Ttl() {
312 ::core::result::Result::Ok(ok__) => {
313 ::core::ptr::write(ttl, ::core::mem::transmute(ok__));
314 ::windows::core::HRESULT(0)
315 }
316 ::core::result::Result::Err(err) => err.into(),
317 }
318 }
319 unsafe extern "system" fn Language<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFeed_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, language: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
320 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
321 let this = (*this).get_impl();
322 match this.Language() {
323 ::core::result::Result::Ok(ok__) => {
324 ::core::ptr::write(language, ::core::mem::transmute(ok__));
325 ::windows::core::HRESULT(0)
326 }
327 ::core::result::Result::Err(err) => err.into(),
328 }
329 }
330 unsafe extern "system" fn Copyright<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFeed_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, copyright: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
331 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
332 let this = (*this).get_impl();
333 match this.Copyright() {
334 ::core::result::Result::Ok(ok__) => {
335 ::core::ptr::write(copyright, ::core::mem::transmute(ok__));
336 ::windows::core::HRESULT(0)
337 }
338 ::core::result::Result::Err(err) => err.into(),
339 }
340 }
341 unsafe extern "system" fn MaxItemCount<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFeed_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, count: *mut i32) -> ::windows::core::HRESULT {
342 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
343 let this = (*this).get_impl();
344 match this.MaxItemCount() {
345 ::core::result::Result::Ok(ok__) => {
346 ::core::ptr::write(count, ::core::mem::transmute(ok__));
347 ::windows::core::HRESULT(0)
348 }
349 ::core::result::Result::Err(err) => err.into(),
350 }
351 }
352 unsafe extern "system" fn SetMaxItemCount<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFeed_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, count: i32) -> ::windows::core::HRESULT {
353 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
354 let this = (*this).get_impl();
355 this.SetMaxItemCount(::core::mem::transmute_copy(&count)).into()
356 }
357 unsafe extern "system" fn DownloadEnclosuresAutomatically<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFeed_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, downloadenclosuresautomatically: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
358 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
359 let this = (*this).get_impl();
360 match this.DownloadEnclosuresAutomatically() {
361 ::core::result::Result::Ok(ok__) => {
362 ::core::ptr::write(downloadenclosuresautomatically, ::core::mem::transmute(ok__));
363 ::windows::core::HRESULT(0)
364 }
365 ::core::result::Result::Err(err) => err.into(),
366 }
367 }
368 unsafe extern "system" fn SetDownloadEnclosuresAutomatically<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFeed_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, downloadenclosuresautomatically: super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
369 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
370 let this = (*this).get_impl();
371 this.SetDownloadEnclosuresAutomatically(::core::mem::transmute_copy(&downloadenclosuresautomatically)).into()
372 }
373 unsafe extern "system" fn DownloadStatus<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFeed_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, status: *mut FEEDS_DOWNLOAD_STATUS) -> ::windows::core::HRESULT {
374 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
375 let this = (*this).get_impl();
376 match this.DownloadStatus() {
377 ::core::result::Result::Ok(ok__) => {
378 ::core::ptr::write(status, ::core::mem::transmute(ok__));
379 ::windows::core::HRESULT(0)
380 }
381 ::core::result::Result::Err(err) => err.into(),
382 }
383 }
384 unsafe extern "system" fn LastDownloadError<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFeed_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, error: *mut FEEDS_DOWNLOAD_ERROR) -> ::windows::core::HRESULT {
385 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
386 let this = (*this).get_impl();
387 match this.LastDownloadError() {
388 ::core::result::Result::Ok(ok__) => {
389 ::core::ptr::write(error, ::core::mem::transmute(ok__));
390 ::windows::core::HRESULT(0)
391 }
392 ::core::result::Result::Err(err) => err.into(),
393 }
394 }
395 unsafe extern "system" fn Merge<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFeed_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, feedxml: ::std::mem::MaybeUninit<::windows::core::BSTR>, feedurl: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
396 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
397 let this = (*this).get_impl();
398 this.Merge(::core::mem::transmute(&feedxml), ::core::mem::transmute(&feedurl)).into()
399 }
400 unsafe extern "system" fn DownloadUrl<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFeed_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, feedurl: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
401 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
402 let this = (*this).get_impl();
403 match this.DownloadUrl() {
404 ::core::result::Result::Ok(ok__) => {
405 ::core::ptr::write(feedurl, ::core::mem::transmute(ok__));
406 ::windows::core::HRESULT(0)
407 }
408 ::core::result::Result::Err(err) => err.into(),
409 }
410 }
411 unsafe extern "system" fn IsList<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFeed_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, islist: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
412 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
413 let this = (*this).get_impl();
414 match this.IsList() {
415 ::core::result::Result::Ok(ok__) => {
416 ::core::ptr::write(islist, ::core::mem::transmute(ok__));
417 ::windows::core::HRESULT(0)
418 }
419 ::core::result::Result::Err(err) => err.into(),
420 }
421 }
422 unsafe extern "system" fn MarkAllItemsRead<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFeed_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
423 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
424 let this = (*this).get_impl();
425 this.MarkAllItemsRead().into()
426 }
427 unsafe extern "system" fn GetWatcher<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFeed_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, scope: FEEDS_EVENTS_SCOPE, mask: FEEDS_EVENTS_MASK, disp: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
428 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
429 let this = (*this).get_impl();
430 match this.GetWatcher(::core::mem::transmute_copy(&scope), ::core::mem::transmute_copy(&mask)) {
431 ::core::result::Result::Ok(ok__) => {
432 ::core::ptr::write(disp, ::core::mem::transmute(ok__));
433 ::windows::core::HRESULT(0)
434 }
435 ::core::result::Result::Err(err) => err.into(),
436 }
437 }
438 unsafe extern "system" fn UnreadItemCount<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFeed_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, count: *mut i32) -> ::windows::core::HRESULT {
439 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
440 let this = (*this).get_impl();
441 match this.UnreadItemCount() {
442 ::core::result::Result::Ok(ok__) => {
443 ::core::ptr::write(count, ::core::mem::transmute(ok__));
444 ::windows::core::HRESULT(0)
445 }
446 ::core::result::Result::Err(err) => err.into(),
447 }
448 }
449 unsafe extern "system" fn ItemCount<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFeed_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, count: *mut i32) -> ::windows::core::HRESULT {
450 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
451 let this = (*this).get_impl();
452 match this.ItemCount() {
453 ::core::result::Result::Ok(ok__) => {
454 ::core::ptr::write(count, ::core::mem::transmute(ok__));
455 ::windows::core::HRESULT(0)
456 }
457 ::core::result::Result::Err(err) => err.into(),
458 }
459 }
460 Self {
461 base__: super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
462 Xml: Xml::<Identity, Impl, OFFSET>,
463 Name: Name::<Identity, Impl, OFFSET>,
464 Rename: Rename::<Identity, Impl, OFFSET>,
465 Url: Url::<Identity, Impl, OFFSET>,
466 SetUrl: SetUrl::<Identity, Impl, OFFSET>,
467 LocalId: LocalId::<Identity, Impl, OFFSET>,
468 Path: Path::<Identity, Impl, OFFSET>,
469 Move: Move::<Identity, Impl, OFFSET>,
470 Parent: Parent::<Identity, Impl, OFFSET>,
471 LastWriteTime: LastWriteTime::<Identity, Impl, OFFSET>,
472 Delete: Delete::<Identity, Impl, OFFSET>,
473 Download: Download::<Identity, Impl, OFFSET>,
474 AsyncDownload: AsyncDownload::<Identity, Impl, OFFSET>,
475 CancelAsyncDownload: CancelAsyncDownload::<Identity, Impl, OFFSET>,
476 SyncSetting: SyncSetting::<Identity, Impl, OFFSET>,
477 SetSyncSetting: SetSyncSetting::<Identity, Impl, OFFSET>,
478 Interval: Interval::<Identity, Impl, OFFSET>,
479 SetInterval: SetInterval::<Identity, Impl, OFFSET>,
480 LastDownloadTime: LastDownloadTime::<Identity, Impl, OFFSET>,
481 LocalEnclosurePath: LocalEnclosurePath::<Identity, Impl, OFFSET>,
482 Items: Items::<Identity, Impl, OFFSET>,
483 GetItem: GetItem::<Identity, Impl, OFFSET>,
484 Title: Title::<Identity, Impl, OFFSET>,
485 Description: Description::<Identity, Impl, OFFSET>,
486 Link: Link::<Identity, Impl, OFFSET>,
487 Image: Image::<Identity, Impl, OFFSET>,
488 LastBuildDate: LastBuildDate::<Identity, Impl, OFFSET>,
489 PubDate: PubDate::<Identity, Impl, OFFSET>,
490 Ttl: Ttl::<Identity, Impl, OFFSET>,
491 Language: Language::<Identity, Impl, OFFSET>,
492 Copyright: Copyright::<Identity, Impl, OFFSET>,
493 MaxItemCount: MaxItemCount::<Identity, Impl, OFFSET>,
494 SetMaxItemCount: SetMaxItemCount::<Identity, Impl, OFFSET>,
495 DownloadEnclosuresAutomatically: DownloadEnclosuresAutomatically::<Identity, Impl, OFFSET>,
496 SetDownloadEnclosuresAutomatically: SetDownloadEnclosuresAutomatically::<Identity, Impl, OFFSET>,
497 DownloadStatus: DownloadStatus::<Identity, Impl, OFFSET>,
498 LastDownloadError: LastDownloadError::<Identity, Impl, OFFSET>,
499 Merge: Merge::<Identity, Impl, OFFSET>,
500 DownloadUrl: DownloadUrl::<Identity, Impl, OFFSET>,
501 IsList: IsList::<Identity, Impl, OFFSET>,
502 MarkAllItemsRead: MarkAllItemsRead::<Identity, Impl, OFFSET>,
503 GetWatcher: GetWatcher::<Identity, Impl, OFFSET>,
504 UnreadItemCount: UnreadItemCount::<Identity, Impl, OFFSET>,
505 ItemCount: ItemCount::<Identity, Impl, OFFSET>,
506 }
507 }
508 pub fn matches(iid: &windows::core::GUID) -> bool {
509 iid == &<IFeed as ::windows::core::ComInterface>::IID || iid == &<super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID
510 }
511 }
512 #[doc = "*Required features: `\"Win32_Media_MediaPlayer\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
513 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
514 pub trait IFeed2_Impl: Sized + IFeed_Impl {
515 fn GetItemByEffectiveId(&self, itemeffectiveid: i32) -> ::windows::core::Result<super::super::System::Com::IDispatch>;
516 fn LastItemDownloadTime(&self) -> ::windows::core::Result<f64>;
517 fn Username(&self) -> ::windows::core::Result<::windows::core::BSTR>;
518 fn Password(&self) -> ::windows::core::Result<::windows::core::BSTR>;
519 fn SetCredentials(&self, username: &::windows::core::BSTR, password: &::windows::core::BSTR) -> ::windows::core::Result<()>;
520 fn ClearCredentials(&self) -> ::windows::core::Result<()>;
521 }
522 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
523 impl ::windows::core::RuntimeName for IFeed2 {}
524 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
525 impl IFeed2_Vtbl {
526 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFeed2_Impl, const OFFSET: isize>() -> IFeed2_Vtbl {
527 unsafe extern "system" fn GetItemByEffectiveId<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFeed2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, itemeffectiveid: i32, disp: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
528 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
529 let this = (*this).get_impl();
530 match this.GetItemByEffectiveId(::core::mem::transmute_copy(&itemeffectiveid)) {
531 ::core::result::Result::Ok(ok__) => {
532 ::core::ptr::write(disp, ::core::mem::transmute(ok__));
533 ::windows::core::HRESULT(0)
534 }
535 ::core::result::Result::Err(err) => err.into(),
536 }
537 }
538 unsafe extern "system" fn LastItemDownloadTime<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFeed2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lastitemdownloadtime: *mut f64) -> ::windows::core::HRESULT {
539 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
540 let this = (*this).get_impl();
541 match this.LastItemDownloadTime() {
542 ::core::result::Result::Ok(ok__) => {
543 ::core::ptr::write(lastitemdownloadtime, ::core::mem::transmute(ok__));
544 ::windows::core::HRESULT(0)
545 }
546 ::core::result::Result::Err(err) => err.into(),
547 }
548 }
549 unsafe extern "system" fn Username<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFeed2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, username: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
550 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
551 let this = (*this).get_impl();
552 match this.Username() {
553 ::core::result::Result::Ok(ok__) => {
554 ::core::ptr::write(username, ::core::mem::transmute(ok__));
555 ::windows::core::HRESULT(0)
556 }
557 ::core::result::Result::Err(err) => err.into(),
558 }
559 }
560 unsafe extern "system" fn Password<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFeed2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, password: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
561 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
562 let this = (*this).get_impl();
563 match this.Password() {
564 ::core::result::Result::Ok(ok__) => {
565 ::core::ptr::write(password, ::core::mem::transmute(ok__));
566 ::windows::core::HRESULT(0)
567 }
568 ::core::result::Result::Err(err) => err.into(),
569 }
570 }
571 unsafe extern "system" fn SetCredentials<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFeed2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, username: ::std::mem::MaybeUninit<::windows::core::BSTR>, password: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
572 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
573 let this = (*this).get_impl();
574 this.SetCredentials(::core::mem::transmute(&username), ::core::mem::transmute(&password)).into()
575 }
576 unsafe extern "system" fn ClearCredentials<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFeed2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
577 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
578 let this = (*this).get_impl();
579 this.ClearCredentials().into()
580 }
581 Self {
582 base__: IFeed_Vtbl::new::<Identity, Impl, OFFSET>(),
583 GetItemByEffectiveId: GetItemByEffectiveId::<Identity, Impl, OFFSET>,
584 LastItemDownloadTime: LastItemDownloadTime::<Identity, Impl, OFFSET>,
585 Username: Username::<Identity, Impl, OFFSET>,
586 Password: Password::<Identity, Impl, OFFSET>,
587 SetCredentials: SetCredentials::<Identity, Impl, OFFSET>,
588 ClearCredentials: ClearCredentials::<Identity, Impl, OFFSET>,
589 }
590 }
591 pub fn matches(iid: &windows::core::GUID) -> bool {
592 iid == &<IFeed2 as ::windows::core::ComInterface>::IID || iid == &<super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID || iid == &<IFeed as ::windows::core::ComInterface>::IID
593 }
594 }
595 #[doc = "*Required features: `\"Win32_Media_MediaPlayer\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
596 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
597 pub trait IFeedEnclosure_Impl: Sized + super::super::System::Com::IDispatch_Impl {
598 fn Url(&self) -> ::windows::core::Result<::windows::core::BSTR>;
599 fn Type(&self) -> ::windows::core::Result<::windows::core::BSTR>;
600 fn Length(&self) -> ::windows::core::Result<i32>;
601 fn AsyncDownload(&self) -> ::windows::core::Result<()>;
602 fn CancelAsyncDownload(&self) -> ::windows::core::Result<()>;
603 fn DownloadStatus(&self) -> ::windows::core::Result<FEEDS_DOWNLOAD_STATUS>;
604 fn LastDownloadError(&self) -> ::windows::core::Result<FEEDS_DOWNLOAD_ERROR>;
605 fn LocalPath(&self) -> ::windows::core::Result<::windows::core::BSTR>;
606 fn Parent(&self) -> ::windows::core::Result<super::super::System::Com::IDispatch>;
607 fn DownloadUrl(&self) -> ::windows::core::Result<::windows::core::BSTR>;
608 fn DownloadMimeType(&self) -> ::windows::core::Result<::windows::core::BSTR>;
609 fn RemoveFile(&self) -> ::windows::core::Result<()>;
610 fn SetFile(&self, downloadurl: &::windows::core::BSTR, downloadfilepath: &::windows::core::BSTR, downloadmimetype: &::windows::core::BSTR, enclosurefilename: &::windows::core::BSTR) -> ::windows::core::Result<()>;
611 }
612 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
613 impl ::windows::core::RuntimeName for IFeedEnclosure {}
614 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
615 impl IFeedEnclosure_Vtbl {
616 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFeedEnclosure_Impl, const OFFSET: isize>() -> IFeedEnclosure_Vtbl {
617 unsafe extern "system" fn Url<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFeedEnclosure_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, enclosureurl: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
618 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
619 let this = (*this).get_impl();
620 match this.Url() {
621 ::core::result::Result::Ok(ok__) => {
622 ::core::ptr::write(enclosureurl, ::core::mem::transmute(ok__));
623 ::windows::core::HRESULT(0)
624 }
625 ::core::result::Result::Err(err) => err.into(),
626 }
627 }
628 unsafe extern "system" fn Type<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFeedEnclosure_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, mimetype: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
629 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
630 let this = (*this).get_impl();
631 match this.Type() {
632 ::core::result::Result::Ok(ok__) => {
633 ::core::ptr::write(mimetype, ::core::mem::transmute(ok__));
634 ::windows::core::HRESULT(0)
635 }
636 ::core::result::Result::Err(err) => err.into(),
637 }
638 }
639 unsafe extern "system" fn Length<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFeedEnclosure_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, length: *mut i32) -> ::windows::core::HRESULT {
640 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
641 let this = (*this).get_impl();
642 match this.Length() {
643 ::core::result::Result::Ok(ok__) => {
644 ::core::ptr::write(length, ::core::mem::transmute(ok__));
645 ::windows::core::HRESULT(0)
646 }
647 ::core::result::Result::Err(err) => err.into(),
648 }
649 }
650 unsafe extern "system" fn AsyncDownload<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFeedEnclosure_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
651 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
652 let this = (*this).get_impl();
653 this.AsyncDownload().into()
654 }
655 unsafe extern "system" fn CancelAsyncDownload<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFeedEnclosure_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
656 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
657 let this = (*this).get_impl();
658 this.CancelAsyncDownload().into()
659 }
660 unsafe extern "system" fn DownloadStatus<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFeedEnclosure_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, status: *mut FEEDS_DOWNLOAD_STATUS) -> ::windows::core::HRESULT {
661 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
662 let this = (*this).get_impl();
663 match this.DownloadStatus() {
664 ::core::result::Result::Ok(ok__) => {
665 ::core::ptr::write(status, ::core::mem::transmute(ok__));
666 ::windows::core::HRESULT(0)
667 }
668 ::core::result::Result::Err(err) => err.into(),
669 }
670 }
671 unsafe extern "system" fn LastDownloadError<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFeedEnclosure_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, error: *mut FEEDS_DOWNLOAD_ERROR) -> ::windows::core::HRESULT {
672 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
673 let this = (*this).get_impl();
674 match this.LastDownloadError() {
675 ::core::result::Result::Ok(ok__) => {
676 ::core::ptr::write(error, ::core::mem::transmute(ok__));
677 ::windows::core::HRESULT(0)
678 }
679 ::core::result::Result::Err(err) => err.into(),
680 }
681 }
682 unsafe extern "system" fn LocalPath<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFeedEnclosure_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, localpath: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
683 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
684 let this = (*this).get_impl();
685 match this.LocalPath() {
686 ::core::result::Result::Ok(ok__) => {
687 ::core::ptr::write(localpath, ::core::mem::transmute(ok__));
688 ::windows::core::HRESULT(0)
689 }
690 ::core::result::Result::Err(err) => err.into(),
691 }
692 }
693 unsafe extern "system" fn Parent<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFeedEnclosure_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, disp: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
694 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
695 let this = (*this).get_impl();
696 match this.Parent() {
697 ::core::result::Result::Ok(ok__) => {
698 ::core::ptr::write(disp, ::core::mem::transmute(ok__));
699 ::windows::core::HRESULT(0)
700 }
701 ::core::result::Result::Err(err) => err.into(),
702 }
703 }
704 unsafe extern "system" fn DownloadUrl<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFeedEnclosure_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, enclosureurl: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
705 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
706 let this = (*this).get_impl();
707 match this.DownloadUrl() {
708 ::core::result::Result::Ok(ok__) => {
709 ::core::ptr::write(enclosureurl, ::core::mem::transmute(ok__));
710 ::windows::core::HRESULT(0)
711 }
712 ::core::result::Result::Err(err) => err.into(),
713 }
714 }
715 unsafe extern "system" fn DownloadMimeType<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFeedEnclosure_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, mimetype: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
716 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
717 let this = (*this).get_impl();
718 match this.DownloadMimeType() {
719 ::core::result::Result::Ok(ok__) => {
720 ::core::ptr::write(mimetype, ::core::mem::transmute(ok__));
721 ::windows::core::HRESULT(0)
722 }
723 ::core::result::Result::Err(err) => err.into(),
724 }
725 }
726 unsafe extern "system" fn RemoveFile<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFeedEnclosure_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
727 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
728 let this = (*this).get_impl();
729 this.RemoveFile().into()
730 }
731 unsafe extern "system" fn SetFile<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFeedEnclosure_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, downloadurl: ::std::mem::MaybeUninit<::windows::core::BSTR>, downloadfilepath: ::std::mem::MaybeUninit<::windows::core::BSTR>, downloadmimetype: ::std::mem::MaybeUninit<::windows::core::BSTR>, enclosurefilename: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
732 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
733 let this = (*this).get_impl();
734 this.SetFile(::core::mem::transmute(&downloadurl), ::core::mem::transmute(&downloadfilepath), ::core::mem::transmute(&downloadmimetype), ::core::mem::transmute(&enclosurefilename)).into()
735 }
736 Self {
737 base__: super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
738 Url: Url::<Identity, Impl, OFFSET>,
739 Type: Type::<Identity, Impl, OFFSET>,
740 Length: Length::<Identity, Impl, OFFSET>,
741 AsyncDownload: AsyncDownload::<Identity, Impl, OFFSET>,
742 CancelAsyncDownload: CancelAsyncDownload::<Identity, Impl, OFFSET>,
743 DownloadStatus: DownloadStatus::<Identity, Impl, OFFSET>,
744 LastDownloadError: LastDownloadError::<Identity, Impl, OFFSET>,
745 LocalPath: LocalPath::<Identity, Impl, OFFSET>,
746 Parent: Parent::<Identity, Impl, OFFSET>,
747 DownloadUrl: DownloadUrl::<Identity, Impl, OFFSET>,
748 DownloadMimeType: DownloadMimeType::<Identity, Impl, OFFSET>,
749 RemoveFile: RemoveFile::<Identity, Impl, OFFSET>,
750 SetFile: SetFile::<Identity, Impl, OFFSET>,
751 }
752 }
753 pub fn matches(iid: &windows::core::GUID) -> bool {
754 iid == &<IFeedEnclosure as ::windows::core::ComInterface>::IID || iid == &<super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID
755 }
756 }
757 #[doc = "*Required features: `\"Win32_Media_MediaPlayer\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
758 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
759 pub trait IFeedEvents_Impl: Sized + super::super::System::Com::IDispatch_Impl {
760 fn Error(&self) -> ::windows::core::Result<()>;
761 fn FeedDeleted(&self, path: &::windows::core::BSTR) -> ::windows::core::Result<()>;
762 fn FeedRenamed(&self, path: &::windows::core::BSTR, oldpath: &::windows::core::BSTR) -> ::windows::core::Result<()>;
763 fn FeedUrlChanged(&self, path: &::windows::core::BSTR) -> ::windows::core::Result<()>;
764 fn FeedMoved(&self, path: &::windows::core::BSTR, oldpath: &::windows::core::BSTR) -> ::windows::core::Result<()>;
765 fn FeedDownloading(&self, path: &::windows::core::BSTR) -> ::windows::core::Result<()>;
766 fn FeedDownloadCompleted(&self, path: &::windows::core::BSTR, error: FEEDS_DOWNLOAD_ERROR) -> ::windows::core::Result<()>;
767 fn FeedItemCountChanged(&self, path: &::windows::core::BSTR, itemcounttype: i32) -> ::windows::core::Result<()>;
768 }
769 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
770 impl ::windows::core::RuntimeName for IFeedEvents {}
771 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
772 impl IFeedEvents_Vtbl {
773 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFeedEvents_Impl, const OFFSET: isize>() -> IFeedEvents_Vtbl {
774 unsafe extern "system" fn Error<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFeedEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
775 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
776 let this = (*this).get_impl();
777 this.Error().into()
778 }
779 unsafe extern "system" fn FeedDeleted<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFeedEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, path: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
780 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
781 let this = (*this).get_impl();
782 this.FeedDeleted(::core::mem::transmute(&path)).into()
783 }
784 unsafe extern "system" fn FeedRenamed<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFeedEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, path: ::std::mem::MaybeUninit<::windows::core::BSTR>, oldpath: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
785 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
786 let this = (*this).get_impl();
787 this.FeedRenamed(::core::mem::transmute(&path), ::core::mem::transmute(&oldpath)).into()
788 }
789 unsafe extern "system" fn FeedUrlChanged<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFeedEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, path: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
790 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
791 let this = (*this).get_impl();
792 this.FeedUrlChanged(::core::mem::transmute(&path)).into()
793 }
794 unsafe extern "system" fn FeedMoved<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFeedEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, path: ::std::mem::MaybeUninit<::windows::core::BSTR>, oldpath: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
795 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
796 let this = (*this).get_impl();
797 this.FeedMoved(::core::mem::transmute(&path), ::core::mem::transmute(&oldpath)).into()
798 }
799 unsafe extern "system" fn FeedDownloading<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFeedEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, path: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
800 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
801 let this = (*this).get_impl();
802 this.FeedDownloading(::core::mem::transmute(&path)).into()
803 }
804 unsafe extern "system" fn FeedDownloadCompleted<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFeedEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, path: ::std::mem::MaybeUninit<::windows::core::BSTR>, error: FEEDS_DOWNLOAD_ERROR) -> ::windows::core::HRESULT {
805 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
806 let this = (*this).get_impl();
807 this.FeedDownloadCompleted(::core::mem::transmute(&path), ::core::mem::transmute_copy(&error)).into()
808 }
809 unsafe extern "system" fn FeedItemCountChanged<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFeedEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, path: ::std::mem::MaybeUninit<::windows::core::BSTR>, itemcounttype: i32) -> ::windows::core::HRESULT {
810 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
811 let this = (*this).get_impl();
812 this.FeedItemCountChanged(::core::mem::transmute(&path), ::core::mem::transmute_copy(&itemcounttype)).into()
813 }
814 Self {
815 base__: super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
816 Error: Error::<Identity, Impl, OFFSET>,
817 FeedDeleted: FeedDeleted::<Identity, Impl, OFFSET>,
818 FeedRenamed: FeedRenamed::<Identity, Impl, OFFSET>,
819 FeedUrlChanged: FeedUrlChanged::<Identity, Impl, OFFSET>,
820 FeedMoved: FeedMoved::<Identity, Impl, OFFSET>,
821 FeedDownloading: FeedDownloading::<Identity, Impl, OFFSET>,
822 FeedDownloadCompleted: FeedDownloadCompleted::<Identity, Impl, OFFSET>,
823 FeedItemCountChanged: FeedItemCountChanged::<Identity, Impl, OFFSET>,
824 }
825 }
826 pub fn matches(iid: &windows::core::GUID) -> bool {
827 iid == &<IFeedEvents as ::windows::core::ComInterface>::IID || iid == &<super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID
828 }
829 }
830 #[doc = "*Required features: `\"Win32_Media_MediaPlayer\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
831 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
832 pub trait IFeedFolder_Impl: Sized + super::super::System::Com::IDispatch_Impl {
833 fn Feeds(&self) -> ::windows::core::Result<super::super::System::Com::IDispatch>;
834 fn Subfolders(&self) -> ::windows::core::Result<super::super::System::Com::IDispatch>;
835 fn CreateFeed(&self, feedname: &::windows::core::BSTR, feedurl: &::windows::core::BSTR) -> ::windows::core::Result<super::super::System::Com::IDispatch>;
836 fn CreateSubfolder(&self, foldername: &::windows::core::BSTR) -> ::windows::core::Result<super::super::System::Com::IDispatch>;
837 fn ExistsFeed(&self, feedname: &::windows::core::BSTR) -> ::windows::core::Result<super::super::Foundation::VARIANT_BOOL>;
838 fn GetFeed(&self, feedname: &::windows::core::BSTR) -> ::windows::core::Result<super::super::System::Com::IDispatch>;
839 fn ExistsSubfolder(&self, foldername: &::windows::core::BSTR) -> ::windows::core::Result<super::super::Foundation::VARIANT_BOOL>;
840 fn GetSubfolder(&self, foldername: &::windows::core::BSTR) -> ::windows::core::Result<super::super::System::Com::IDispatch>;
841 fn Delete(&self) -> ::windows::core::Result<()>;
842 fn Name(&self) -> ::windows::core::Result<::windows::core::BSTR>;
843 fn Rename(&self, foldername: &::windows::core::BSTR) -> ::windows::core::Result<()>;
844 fn Path(&self) -> ::windows::core::Result<::windows::core::BSTR>;
845 fn Move(&self, newparentpath: &::windows::core::BSTR) -> ::windows::core::Result<()>;
846 fn Parent(&self) -> ::windows::core::Result<super::super::System::Com::IDispatch>;
847 fn IsRoot(&self) -> ::windows::core::Result<super::super::Foundation::VARIANT_BOOL>;
848 fn TotalUnreadItemCount(&self) -> ::windows::core::Result<i32>;
849 fn TotalItemCount(&self) -> ::windows::core::Result<i32>;
850 fn GetWatcher(&self, scope: FEEDS_EVENTS_SCOPE, mask: FEEDS_EVENTS_MASK) -> ::windows::core::Result<super::super::System::Com::IDispatch>;
851 }
852 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
853 impl ::windows::core::RuntimeName for IFeedFolder {}
854 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
855 impl IFeedFolder_Vtbl {
856 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFeedFolder_Impl, const OFFSET: isize>() -> IFeedFolder_Vtbl {
857 unsafe extern "system" fn Feeds<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFeedFolder_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, disp: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
858 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
859 let this = (*this).get_impl();
860 match this.Feeds() {
861 ::core::result::Result::Ok(ok__) => {
862 ::core::ptr::write(disp, ::core::mem::transmute(ok__));
863 ::windows::core::HRESULT(0)
864 }
865 ::core::result::Result::Err(err) => err.into(),
866 }
867 }
868 unsafe extern "system" fn Subfolders<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFeedFolder_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, disp: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
869 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
870 let this = (*this).get_impl();
871 match this.Subfolders() {
872 ::core::result::Result::Ok(ok__) => {
873 ::core::ptr::write(disp, ::core::mem::transmute(ok__));
874 ::windows::core::HRESULT(0)
875 }
876 ::core::result::Result::Err(err) => err.into(),
877 }
878 }
879 unsafe extern "system" fn CreateFeed<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFeedFolder_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, feedname: ::std::mem::MaybeUninit<::windows::core::BSTR>, feedurl: ::std::mem::MaybeUninit<::windows::core::BSTR>, disp: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
880 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
881 let this = (*this).get_impl();
882 match this.CreateFeed(::core::mem::transmute(&feedname), ::core::mem::transmute(&feedurl)) {
883 ::core::result::Result::Ok(ok__) => {
884 ::core::ptr::write(disp, ::core::mem::transmute(ok__));
885 ::windows::core::HRESULT(0)
886 }
887 ::core::result::Result::Err(err) => err.into(),
888 }
889 }
890 unsafe extern "system" fn CreateSubfolder<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFeedFolder_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, foldername: ::std::mem::MaybeUninit<::windows::core::BSTR>, disp: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
891 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
892 let this = (*this).get_impl();
893 match this.CreateSubfolder(::core::mem::transmute(&foldername)) {
894 ::core::result::Result::Ok(ok__) => {
895 ::core::ptr::write(disp, ::core::mem::transmute(ok__));
896 ::windows::core::HRESULT(0)
897 }
898 ::core::result::Result::Err(err) => err.into(),
899 }
900 }
901 unsafe extern "system" fn ExistsFeed<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFeedFolder_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, feedname: ::std::mem::MaybeUninit<::windows::core::BSTR>, exists: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
902 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
903 let this = (*this).get_impl();
904 match this.ExistsFeed(::core::mem::transmute(&feedname)) {
905 ::core::result::Result::Ok(ok__) => {
906 ::core::ptr::write(exists, ::core::mem::transmute(ok__));
907 ::windows::core::HRESULT(0)
908 }
909 ::core::result::Result::Err(err) => err.into(),
910 }
911 }
912 unsafe extern "system" fn GetFeed<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFeedFolder_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, feedname: ::std::mem::MaybeUninit<::windows::core::BSTR>, disp: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
913 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
914 let this = (*this).get_impl();
915 match this.GetFeed(::core::mem::transmute(&feedname)) {
916 ::core::result::Result::Ok(ok__) => {
917 ::core::ptr::write(disp, ::core::mem::transmute(ok__));
918 ::windows::core::HRESULT(0)
919 }
920 ::core::result::Result::Err(err) => err.into(),
921 }
922 }
923 unsafe extern "system" fn ExistsSubfolder<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFeedFolder_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, foldername: ::std::mem::MaybeUninit<::windows::core::BSTR>, exists: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
924 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
925 let this = (*this).get_impl();
926 match this.ExistsSubfolder(::core::mem::transmute(&foldername)) {
927 ::core::result::Result::Ok(ok__) => {
928 ::core::ptr::write(exists, ::core::mem::transmute(ok__));
929 ::windows::core::HRESULT(0)
930 }
931 ::core::result::Result::Err(err) => err.into(),
932 }
933 }
934 unsafe extern "system" fn GetSubfolder<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFeedFolder_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, foldername: ::std::mem::MaybeUninit<::windows::core::BSTR>, disp: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
935 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
936 let this = (*this).get_impl();
937 match this.GetSubfolder(::core::mem::transmute(&foldername)) {
938 ::core::result::Result::Ok(ok__) => {
939 ::core::ptr::write(disp, ::core::mem::transmute(ok__));
940 ::windows::core::HRESULT(0)
941 }
942 ::core::result::Result::Err(err) => err.into(),
943 }
944 }
945 unsafe extern "system" fn Delete<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFeedFolder_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
946 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
947 let this = (*this).get_impl();
948 this.Delete().into()
949 }
950 unsafe extern "system" fn Name<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFeedFolder_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, foldername: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
951 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
952 let this = (*this).get_impl();
953 match this.Name() {
954 ::core::result::Result::Ok(ok__) => {
955 ::core::ptr::write(foldername, ::core::mem::transmute(ok__));
956 ::windows::core::HRESULT(0)
957 }
958 ::core::result::Result::Err(err) => err.into(),
959 }
960 }
961 unsafe extern "system" fn Rename<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFeedFolder_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, foldername: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
962 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
963 let this = (*this).get_impl();
964 this.Rename(::core::mem::transmute(&foldername)).into()
965 }
966 unsafe extern "system" fn Path<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFeedFolder_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, folderpath: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
967 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
968 let this = (*this).get_impl();
969 match this.Path() {
970 ::core::result::Result::Ok(ok__) => {
971 ::core::ptr::write(folderpath, ::core::mem::transmute(ok__));
972 ::windows::core::HRESULT(0)
973 }
974 ::core::result::Result::Err(err) => err.into(),
975 }
976 }
977 unsafe extern "system" fn Move<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFeedFolder_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, newparentpath: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
978 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
979 let this = (*this).get_impl();
980 this.Move(::core::mem::transmute(&newparentpath)).into()
981 }
982 unsafe extern "system" fn Parent<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFeedFolder_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, disp: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
983 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
984 let this = (*this).get_impl();
985 match this.Parent() {
986 ::core::result::Result::Ok(ok__) => {
987 ::core::ptr::write(disp, ::core::mem::transmute(ok__));
988 ::windows::core::HRESULT(0)
989 }
990 ::core::result::Result::Err(err) => err.into(),
991 }
992 }
993 unsafe extern "system" fn IsRoot<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFeedFolder_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, isroot: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
994 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
995 let this = (*this).get_impl();
996 match this.IsRoot() {
997 ::core::result::Result::Ok(ok__) => {
998 ::core::ptr::write(isroot, ::core::mem::transmute(ok__));
999 ::windows::core::HRESULT(0)
1000 }
1001 ::core::result::Result::Err(err) => err.into(),
1002 }
1003 }
1004 unsafe extern "system" fn TotalUnreadItemCount<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFeedFolder_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, count: *mut i32) -> ::windows::core::HRESULT {
1005 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1006 let this = (*this).get_impl();
1007 match this.TotalUnreadItemCount() {
1008 ::core::result::Result::Ok(ok__) => {
1009 ::core::ptr::write(count, ::core::mem::transmute(ok__));
1010 ::windows::core::HRESULT(0)
1011 }
1012 ::core::result::Result::Err(err) => err.into(),
1013 }
1014 }
1015 unsafe extern "system" fn TotalItemCount<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFeedFolder_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, count: *mut i32) -> ::windows::core::HRESULT {
1016 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1017 let this = (*this).get_impl();
1018 match this.TotalItemCount() {
1019 ::core::result::Result::Ok(ok__) => {
1020 ::core::ptr::write(count, ::core::mem::transmute(ok__));
1021 ::windows::core::HRESULT(0)
1022 }
1023 ::core::result::Result::Err(err) => err.into(),
1024 }
1025 }
1026 unsafe extern "system" fn GetWatcher<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFeedFolder_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, scope: FEEDS_EVENTS_SCOPE, mask: FEEDS_EVENTS_MASK, disp: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
1027 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1028 let this = (*this).get_impl();
1029 match this.GetWatcher(::core::mem::transmute_copy(&scope), ::core::mem::transmute_copy(&mask)) {
1030 ::core::result::Result::Ok(ok__) => {
1031 ::core::ptr::write(disp, ::core::mem::transmute(ok__));
1032 ::windows::core::HRESULT(0)
1033 }
1034 ::core::result::Result::Err(err) => err.into(),
1035 }
1036 }
1037 Self {
1038 base__: super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
1039 Feeds: Feeds::<Identity, Impl, OFFSET>,
1040 Subfolders: Subfolders::<Identity, Impl, OFFSET>,
1041 CreateFeed: CreateFeed::<Identity, Impl, OFFSET>,
1042 CreateSubfolder: CreateSubfolder::<Identity, Impl, OFFSET>,
1043 ExistsFeed: ExistsFeed::<Identity, Impl, OFFSET>,
1044 GetFeed: GetFeed::<Identity, Impl, OFFSET>,
1045 ExistsSubfolder: ExistsSubfolder::<Identity, Impl, OFFSET>,
1046 GetSubfolder: GetSubfolder::<Identity, Impl, OFFSET>,
1047 Delete: Delete::<Identity, Impl, OFFSET>,
1048 Name: Name::<Identity, Impl, OFFSET>,
1049 Rename: Rename::<Identity, Impl, OFFSET>,
1050 Path: Path::<Identity, Impl, OFFSET>,
1051 Move: Move::<Identity, Impl, OFFSET>,
1052 Parent: Parent::<Identity, Impl, OFFSET>,
1053 IsRoot: IsRoot::<Identity, Impl, OFFSET>,
1054 TotalUnreadItemCount: TotalUnreadItemCount::<Identity, Impl, OFFSET>,
1055 TotalItemCount: TotalItemCount::<Identity, Impl, OFFSET>,
1056 GetWatcher: GetWatcher::<Identity, Impl, OFFSET>,
1057 }
1058 }
1059 pub fn matches(iid: &windows::core::GUID) -> bool {
1060 iid == &<IFeedFolder as ::windows::core::ComInterface>::IID || iid == &<super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID
1061 }
1062 }
1063 #[doc = "*Required features: `\"Win32_Media_MediaPlayer\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
1064 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
1065 pub trait IFeedFolderEvents_Impl: Sized + super::super::System::Com::IDispatch_Impl {
1066 fn Error(&self) -> ::windows::core::Result<()>;
1067 fn FolderAdded(&self, path: &::windows::core::BSTR) -> ::windows::core::Result<()>;
1068 fn FolderDeleted(&self, path: &::windows::core::BSTR) -> ::windows::core::Result<()>;
1069 fn FolderRenamed(&self, path: &::windows::core::BSTR, oldpath: &::windows::core::BSTR) -> ::windows::core::Result<()>;
1070 fn FolderMovedFrom(&self, path: &::windows::core::BSTR, oldpath: &::windows::core::BSTR) -> ::windows::core::Result<()>;
1071 fn FolderMovedTo(&self, path: &::windows::core::BSTR, oldpath: &::windows::core::BSTR) -> ::windows::core::Result<()>;
1072 fn FolderItemCountChanged(&self, path: &::windows::core::BSTR, itemcounttype: i32) -> ::windows::core::Result<()>;
1073 fn FeedAdded(&self, path: &::windows::core::BSTR) -> ::windows::core::Result<()>;
1074 fn FeedDeleted(&self, path: &::windows::core::BSTR) -> ::windows::core::Result<()>;
1075 fn FeedRenamed(&self, path: &::windows::core::BSTR, oldpath: &::windows::core::BSTR) -> ::windows::core::Result<()>;
1076 fn FeedUrlChanged(&self, path: &::windows::core::BSTR) -> ::windows::core::Result<()>;
1077 fn FeedMovedFrom(&self, path: &::windows::core::BSTR, oldpath: &::windows::core::BSTR) -> ::windows::core::Result<()>;
1078 fn FeedMovedTo(&self, path: &::windows::core::BSTR, oldpath: &::windows::core::BSTR) -> ::windows::core::Result<()>;
1079 fn FeedDownloading(&self, path: &::windows::core::BSTR) -> ::windows::core::Result<()>;
1080 fn FeedDownloadCompleted(&self, path: &::windows::core::BSTR, error: FEEDS_DOWNLOAD_ERROR) -> ::windows::core::Result<()>;
1081 fn FeedItemCountChanged(&self, path: &::windows::core::BSTR, itemcounttype: i32) -> ::windows::core::Result<()>;
1082 }
1083 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
1084 impl ::windows::core::RuntimeName for IFeedFolderEvents {}
1085 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
1086 impl IFeedFolderEvents_Vtbl {
1087 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFeedFolderEvents_Impl, const OFFSET: isize>() -> IFeedFolderEvents_Vtbl {
1088 unsafe extern "system" fn Error<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFeedFolderEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
1089 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1090 let this = (*this).get_impl();
1091 this.Error().into()
1092 }
1093 unsafe extern "system" fn FolderAdded<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFeedFolderEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, path: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
1094 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1095 let this = (*this).get_impl();
1096 this.FolderAdded(::core::mem::transmute(&path)).into()
1097 }
1098 unsafe extern "system" fn FolderDeleted<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFeedFolderEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, path: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
1099 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1100 let this = (*this).get_impl();
1101 this.FolderDeleted(::core::mem::transmute(&path)).into()
1102 }
1103 unsafe extern "system" fn FolderRenamed<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFeedFolderEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, path: ::std::mem::MaybeUninit<::windows::core::BSTR>, oldpath: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
1104 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1105 let this = (*this).get_impl();
1106 this.FolderRenamed(::core::mem::transmute(&path), ::core::mem::transmute(&oldpath)).into()
1107 }
1108 unsafe extern "system" fn FolderMovedFrom<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFeedFolderEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, path: ::std::mem::MaybeUninit<::windows::core::BSTR>, oldpath: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
1109 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1110 let this = (*this).get_impl();
1111 this.FolderMovedFrom(::core::mem::transmute(&path), ::core::mem::transmute(&oldpath)).into()
1112 }
1113 unsafe extern "system" fn FolderMovedTo<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFeedFolderEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, path: ::std::mem::MaybeUninit<::windows::core::BSTR>, oldpath: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
1114 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1115 let this = (*this).get_impl();
1116 this.FolderMovedTo(::core::mem::transmute(&path), ::core::mem::transmute(&oldpath)).into()
1117 }
1118 unsafe extern "system" fn FolderItemCountChanged<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFeedFolderEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, path: ::std::mem::MaybeUninit<::windows::core::BSTR>, itemcounttype: i32) -> ::windows::core::HRESULT {
1119 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1120 let this = (*this).get_impl();
1121 this.FolderItemCountChanged(::core::mem::transmute(&path), ::core::mem::transmute_copy(&itemcounttype)).into()
1122 }
1123 unsafe extern "system" fn FeedAdded<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFeedFolderEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, path: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
1124 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1125 let this = (*this).get_impl();
1126 this.FeedAdded(::core::mem::transmute(&path)).into()
1127 }
1128 unsafe extern "system" fn FeedDeleted<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFeedFolderEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, path: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
1129 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1130 let this = (*this).get_impl();
1131 this.FeedDeleted(::core::mem::transmute(&path)).into()
1132 }
1133 unsafe extern "system" fn FeedRenamed<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFeedFolderEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, path: ::std::mem::MaybeUninit<::windows::core::BSTR>, oldpath: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
1134 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1135 let this = (*this).get_impl();
1136 this.FeedRenamed(::core::mem::transmute(&path), ::core::mem::transmute(&oldpath)).into()
1137 }
1138 unsafe extern "system" fn FeedUrlChanged<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFeedFolderEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, path: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
1139 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1140 let this = (*this).get_impl();
1141 this.FeedUrlChanged(::core::mem::transmute(&path)).into()
1142 }
1143 unsafe extern "system" fn FeedMovedFrom<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFeedFolderEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, path: ::std::mem::MaybeUninit<::windows::core::BSTR>, oldpath: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
1144 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1145 let this = (*this).get_impl();
1146 this.FeedMovedFrom(::core::mem::transmute(&path), ::core::mem::transmute(&oldpath)).into()
1147 }
1148 unsafe extern "system" fn FeedMovedTo<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFeedFolderEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, path: ::std::mem::MaybeUninit<::windows::core::BSTR>, oldpath: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
1149 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1150 let this = (*this).get_impl();
1151 this.FeedMovedTo(::core::mem::transmute(&path), ::core::mem::transmute(&oldpath)).into()
1152 }
1153 unsafe extern "system" fn FeedDownloading<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFeedFolderEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, path: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
1154 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1155 let this = (*this).get_impl();
1156 this.FeedDownloading(::core::mem::transmute(&path)).into()
1157 }
1158 unsafe extern "system" fn FeedDownloadCompleted<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFeedFolderEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, path: ::std::mem::MaybeUninit<::windows::core::BSTR>, error: FEEDS_DOWNLOAD_ERROR) -> ::windows::core::HRESULT {
1159 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1160 let this = (*this).get_impl();
1161 this.FeedDownloadCompleted(::core::mem::transmute(&path), ::core::mem::transmute_copy(&error)).into()
1162 }
1163 unsafe extern "system" fn FeedItemCountChanged<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFeedFolderEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, path: ::std::mem::MaybeUninit<::windows::core::BSTR>, itemcounttype: i32) -> ::windows::core::HRESULT {
1164 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1165 let this = (*this).get_impl();
1166 this.FeedItemCountChanged(::core::mem::transmute(&path), ::core::mem::transmute_copy(&itemcounttype)).into()
1167 }
1168 Self {
1169 base__: super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
1170 Error: Error::<Identity, Impl, OFFSET>,
1171 FolderAdded: FolderAdded::<Identity, Impl, OFFSET>,
1172 FolderDeleted: FolderDeleted::<Identity, Impl, OFFSET>,
1173 FolderRenamed: FolderRenamed::<Identity, Impl, OFFSET>,
1174 FolderMovedFrom: FolderMovedFrom::<Identity, Impl, OFFSET>,
1175 FolderMovedTo: FolderMovedTo::<Identity, Impl, OFFSET>,
1176 FolderItemCountChanged: FolderItemCountChanged::<Identity, Impl, OFFSET>,
1177 FeedAdded: FeedAdded::<Identity, Impl, OFFSET>,
1178 FeedDeleted: FeedDeleted::<Identity, Impl, OFFSET>,
1179 FeedRenamed: FeedRenamed::<Identity, Impl, OFFSET>,
1180 FeedUrlChanged: FeedUrlChanged::<Identity, Impl, OFFSET>,
1181 FeedMovedFrom: FeedMovedFrom::<Identity, Impl, OFFSET>,
1182 FeedMovedTo: FeedMovedTo::<Identity, Impl, OFFSET>,
1183 FeedDownloading: FeedDownloading::<Identity, Impl, OFFSET>,
1184 FeedDownloadCompleted: FeedDownloadCompleted::<Identity, Impl, OFFSET>,
1185 FeedItemCountChanged: FeedItemCountChanged::<Identity, Impl, OFFSET>,
1186 }
1187 }
1188 pub fn matches(iid: &windows::core::GUID) -> bool {
1189 iid == &<IFeedFolderEvents as ::windows::core::ComInterface>::IID || iid == &<super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID
1190 }
1191 }
1192 #[doc = "*Required features: `\"Win32_Media_MediaPlayer\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
1193 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
1194 pub trait IFeedItem_Impl: Sized + super::super::System::Com::IDispatch_Impl {
1195 fn Xml(&self, includeflags: FEEDS_XML_INCLUDE_FLAGS) -> ::windows::core::Result<::windows::core::BSTR>;
1196 fn Title(&self) -> ::windows::core::Result<::windows::core::BSTR>;
1197 fn Link(&self) -> ::windows::core::Result<::windows::core::BSTR>;
1198 fn Guid(&self) -> ::windows::core::Result<::windows::core::BSTR>;
1199 fn Description(&self) -> ::windows::core::Result<::windows::core::BSTR>;
1200 fn PubDate(&self) -> ::windows::core::Result<f64>;
1201 fn Comments(&self) -> ::windows::core::Result<::windows::core::BSTR>;
1202 fn Author(&self) -> ::windows::core::Result<::windows::core::BSTR>;
1203 fn Enclosure(&self) -> ::windows::core::Result<super::super::System::Com::IDispatch>;
1204 fn IsRead(&self) -> ::windows::core::Result<super::super::Foundation::VARIANT_BOOL>;
1205 fn SetIsRead(&self, isread: super::super::Foundation::VARIANT_BOOL) -> ::windows::core::Result<()>;
1206 fn LocalId(&self) -> ::windows::core::Result<i32>;
1207 fn Parent(&self) -> ::windows::core::Result<super::super::System::Com::IDispatch>;
1208 fn Delete(&self) -> ::windows::core::Result<()>;
1209 fn DownloadUrl(&self) -> ::windows::core::Result<::windows::core::BSTR>;
1210 fn LastDownloadTime(&self) -> ::windows::core::Result<f64>;
1211 fn Modified(&self) -> ::windows::core::Result<f64>;
1212 }
1213 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
1214 impl ::windows::core::RuntimeName for IFeedItem {}
1215 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
1216 impl IFeedItem_Vtbl {
1217 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFeedItem_Impl, const OFFSET: isize>() -> IFeedItem_Vtbl {
1218 unsafe extern "system" fn Xml<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFeedItem_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, includeflags: FEEDS_XML_INCLUDE_FLAGS, xml: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
1219 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1220 let this = (*this).get_impl();
1221 match this.Xml(::core::mem::transmute_copy(&includeflags)) {
1222 ::core::result::Result::Ok(ok__) => {
1223 ::core::ptr::write(xml, ::core::mem::transmute(ok__));
1224 ::windows::core::HRESULT(0)
1225 }
1226 ::core::result::Result::Err(err) => err.into(),
1227 }
1228 }
1229 unsafe extern "system" fn Title<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFeedItem_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, title: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
1230 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1231 let this = (*this).get_impl();
1232 match this.Title() {
1233 ::core::result::Result::Ok(ok__) => {
1234 ::core::ptr::write(title, ::core::mem::transmute(ok__));
1235 ::windows::core::HRESULT(0)
1236 }
1237 ::core::result::Result::Err(err) => err.into(),
1238 }
1239 }
1240 unsafe extern "system" fn Link<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFeedItem_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, linkurl: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
1241 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1242 let this = (*this).get_impl();
1243 match this.Link() {
1244 ::core::result::Result::Ok(ok__) => {
1245 ::core::ptr::write(linkurl, ::core::mem::transmute(ok__));
1246 ::windows::core::HRESULT(0)
1247 }
1248 ::core::result::Result::Err(err) => err.into(),
1249 }
1250 }
1251 unsafe extern "system" fn Guid<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFeedItem_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, itemguid: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
1252 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1253 let this = (*this).get_impl();
1254 match this.Guid() {
1255 ::core::result::Result::Ok(ok__) => {
1256 ::core::ptr::write(itemguid, ::core::mem::transmute(ok__));
1257 ::windows::core::HRESULT(0)
1258 }
1259 ::core::result::Result::Err(err) => err.into(),
1260 }
1261 }
1262 unsafe extern "system" fn Description<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFeedItem_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, description: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
1263 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1264 let this = (*this).get_impl();
1265 match this.Description() {
1266 ::core::result::Result::Ok(ok__) => {
1267 ::core::ptr::write(description, ::core::mem::transmute(ok__));
1268 ::windows::core::HRESULT(0)
1269 }
1270 ::core::result::Result::Err(err) => err.into(),
1271 }
1272 }
1273 unsafe extern "system" fn PubDate<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFeedItem_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pubdate: *mut f64) -> ::windows::core::HRESULT {
1274 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1275 let this = (*this).get_impl();
1276 match this.PubDate() {
1277 ::core::result::Result::Ok(ok__) => {
1278 ::core::ptr::write(pubdate, ::core::mem::transmute(ok__));
1279 ::windows::core::HRESULT(0)
1280 }
1281 ::core::result::Result::Err(err) => err.into(),
1282 }
1283 }
1284 unsafe extern "system" fn Comments<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFeedItem_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, comments: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
1285 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1286 let this = (*this).get_impl();
1287 match this.Comments() {
1288 ::core::result::Result::Ok(ok__) => {
1289 ::core::ptr::write(comments, ::core::mem::transmute(ok__));
1290 ::windows::core::HRESULT(0)
1291 }
1292 ::core::result::Result::Err(err) => err.into(),
1293 }
1294 }
1295 unsafe extern "system" fn Author<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFeedItem_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, author: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
1296 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1297 let this = (*this).get_impl();
1298 match this.Author() {
1299 ::core::result::Result::Ok(ok__) => {
1300 ::core::ptr::write(author, ::core::mem::transmute(ok__));
1301 ::windows::core::HRESULT(0)
1302 }
1303 ::core::result::Result::Err(err) => err.into(),
1304 }
1305 }
1306 unsafe extern "system" fn Enclosure<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFeedItem_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, disp: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
1307 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1308 let this = (*this).get_impl();
1309 match this.Enclosure() {
1310 ::core::result::Result::Ok(ok__) => {
1311 ::core::ptr::write(disp, ::core::mem::transmute(ok__));
1312 ::windows::core::HRESULT(0)
1313 }
1314 ::core::result::Result::Err(err) => err.into(),
1315 }
1316 }
1317 unsafe extern "system" fn IsRead<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFeedItem_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, isread: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
1318 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1319 let this = (*this).get_impl();
1320 match this.IsRead() {
1321 ::core::result::Result::Ok(ok__) => {
1322 ::core::ptr::write(isread, ::core::mem::transmute(ok__));
1323 ::windows::core::HRESULT(0)
1324 }
1325 ::core::result::Result::Err(err) => err.into(),
1326 }
1327 }
1328 unsafe extern "system" fn SetIsRead<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFeedItem_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, isread: super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
1329 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1330 let this = (*this).get_impl();
1331 this.SetIsRead(::core::mem::transmute_copy(&isread)).into()
1332 }
1333 unsafe extern "system" fn LocalId<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFeedItem_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, itemid: *mut i32) -> ::windows::core::HRESULT {
1334 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1335 let this = (*this).get_impl();
1336 match this.LocalId() {
1337 ::core::result::Result::Ok(ok__) => {
1338 ::core::ptr::write(itemid, ::core::mem::transmute(ok__));
1339 ::windows::core::HRESULT(0)
1340 }
1341 ::core::result::Result::Err(err) => err.into(),
1342 }
1343 }
1344 unsafe extern "system" fn Parent<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFeedItem_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, disp: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
1345 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1346 let this = (*this).get_impl();
1347 match this.Parent() {
1348 ::core::result::Result::Ok(ok__) => {
1349 ::core::ptr::write(disp, ::core::mem::transmute(ok__));
1350 ::windows::core::HRESULT(0)
1351 }
1352 ::core::result::Result::Err(err) => err.into(),
1353 }
1354 }
1355 unsafe extern "system" fn Delete<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFeedItem_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
1356 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1357 let this = (*this).get_impl();
1358 this.Delete().into()
1359 }
1360 unsafe extern "system" fn DownloadUrl<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFeedItem_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, itemurl: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
1361 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1362 let this = (*this).get_impl();
1363 match this.DownloadUrl() {
1364 ::core::result::Result::Ok(ok__) => {
1365 ::core::ptr::write(itemurl, ::core::mem::transmute(ok__));
1366 ::windows::core::HRESULT(0)
1367 }
1368 ::core::result::Result::Err(err) => err.into(),
1369 }
1370 }
1371 unsafe extern "system" fn LastDownloadTime<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFeedItem_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lastdownload: *mut f64) -> ::windows::core::HRESULT {
1372 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1373 let this = (*this).get_impl();
1374 match this.LastDownloadTime() {
1375 ::core::result::Result::Ok(ok__) => {
1376 ::core::ptr::write(lastdownload, ::core::mem::transmute(ok__));
1377 ::windows::core::HRESULT(0)
1378 }
1379 ::core::result::Result::Err(err) => err.into(),
1380 }
1381 }
1382 unsafe extern "system" fn Modified<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFeedItem_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, modified: *mut f64) -> ::windows::core::HRESULT {
1383 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1384 let this = (*this).get_impl();
1385 match this.Modified() {
1386 ::core::result::Result::Ok(ok__) => {
1387 ::core::ptr::write(modified, ::core::mem::transmute(ok__));
1388 ::windows::core::HRESULT(0)
1389 }
1390 ::core::result::Result::Err(err) => err.into(),
1391 }
1392 }
1393 Self {
1394 base__: super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
1395 Xml: Xml::<Identity, Impl, OFFSET>,
1396 Title: Title::<Identity, Impl, OFFSET>,
1397 Link: Link::<Identity, Impl, OFFSET>,
1398 Guid: Guid::<Identity, Impl, OFFSET>,
1399 Description: Description::<Identity, Impl, OFFSET>,
1400 PubDate: PubDate::<Identity, Impl, OFFSET>,
1401 Comments: Comments::<Identity, Impl, OFFSET>,
1402 Author: Author::<Identity, Impl, OFFSET>,
1403 Enclosure: Enclosure::<Identity, Impl, OFFSET>,
1404 IsRead: IsRead::<Identity, Impl, OFFSET>,
1405 SetIsRead: SetIsRead::<Identity, Impl, OFFSET>,
1406 LocalId: LocalId::<Identity, Impl, OFFSET>,
1407 Parent: Parent::<Identity, Impl, OFFSET>,
1408 Delete: Delete::<Identity, Impl, OFFSET>,
1409 DownloadUrl: DownloadUrl::<Identity, Impl, OFFSET>,
1410 LastDownloadTime: LastDownloadTime::<Identity, Impl, OFFSET>,
1411 Modified: Modified::<Identity, Impl, OFFSET>,
1412 }
1413 }
1414 pub fn matches(iid: &windows::core::GUID) -> bool {
1415 iid == &<IFeedItem as ::windows::core::ComInterface>::IID || iid == &<super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID
1416 }
1417 }
1418 #[doc = "*Required features: `\"Win32_Media_MediaPlayer\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
1419 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
1420 pub trait IFeedItem2_Impl: Sized + IFeedItem_Impl {
1421 fn EffectiveId(&self) -> ::windows::core::Result<i32>;
1422 }
1423 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
1424 impl ::windows::core::RuntimeName for IFeedItem2 {}
1425 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
1426 impl IFeedItem2_Vtbl {
1427 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFeedItem2_Impl, const OFFSET: isize>() -> IFeedItem2_Vtbl {
1428 unsafe extern "system" fn EffectiveId<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFeedItem2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, effectiveid: *mut i32) -> ::windows::core::HRESULT {
1429 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1430 let this = (*this).get_impl();
1431 match this.EffectiveId() {
1432 ::core::result::Result::Ok(ok__) => {
1433 ::core::ptr::write(effectiveid, ::core::mem::transmute(ok__));
1434 ::windows::core::HRESULT(0)
1435 }
1436 ::core::result::Result::Err(err) => err.into(),
1437 }
1438 }
1439 Self { base__: IFeedItem_Vtbl::new::<Identity, Impl, OFFSET>(), EffectiveId: EffectiveId::<Identity, Impl, OFFSET> }
1440 }
1441 pub fn matches(iid: &windows::core::GUID) -> bool {
1442 iid == &<IFeedItem2 as ::windows::core::ComInterface>::IID || iid == &<super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID || iid == &<IFeedItem as ::windows::core::ComInterface>::IID
1443 }
1444 }
1445 #[doc = "*Required features: `\"Win32_Media_MediaPlayer\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
1446 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
1447 pub trait IFeedsEnum_Impl: Sized + super::super::System::Com::IDispatch_Impl {
1448 fn Count(&self) -> ::windows::core::Result<i32>;
1449 fn Item(&self, index: i32) -> ::windows::core::Result<super::super::System::Com::IDispatch>;
1450 fn _NewEnum(&self) -> ::windows::core::Result<super::super::System::Ole::IEnumVARIANT>;
1451 }
1452 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
1453 impl ::windows::core::RuntimeName for IFeedsEnum {}
1454 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
1455 impl IFeedsEnum_Vtbl {
1456 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFeedsEnum_Impl, const OFFSET: isize>() -> IFeedsEnum_Vtbl {
1457 unsafe extern "system" fn Count<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFeedsEnum_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, count: *mut i32) -> ::windows::core::HRESULT {
1458 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1459 let this = (*this).get_impl();
1460 match this.Count() {
1461 ::core::result::Result::Ok(ok__) => {
1462 ::core::ptr::write(count, ::core::mem::transmute(ok__));
1463 ::windows::core::HRESULT(0)
1464 }
1465 ::core::result::Result::Err(err) => err.into(),
1466 }
1467 }
1468 unsafe extern "system" fn Item<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFeedsEnum_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: i32, disp: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
1469 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1470 let this = (*this).get_impl();
1471 match this.Item(::core::mem::transmute_copy(&index)) {
1472 ::core::result::Result::Ok(ok__) => {
1473 ::core::ptr::write(disp, ::core::mem::transmute(ok__));
1474 ::windows::core::HRESULT(0)
1475 }
1476 ::core::result::Result::Err(err) => err.into(),
1477 }
1478 }
1479 unsafe extern "system" fn _NewEnum<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFeedsEnum_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, enumvar: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
1480 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1481 let this = (*this).get_impl();
1482 match this._NewEnum() {
1483 ::core::result::Result::Ok(ok__) => {
1484 ::core::ptr::write(enumvar, ::core::mem::transmute(ok__));
1485 ::windows::core::HRESULT(0)
1486 }
1487 ::core::result::Result::Err(err) => err.into(),
1488 }
1489 }
1490 Self {
1491 base__: super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
1492 Count: Count::<Identity, Impl, OFFSET>,
1493 Item: Item::<Identity, Impl, OFFSET>,
1494 _NewEnum: _NewEnum::<Identity, Impl, OFFSET>,
1495 }
1496 }
1497 pub fn matches(iid: &windows::core::GUID) -> bool {
1498 iid == &<IFeedsEnum as ::windows::core::ComInterface>::IID || iid == &<super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID
1499 }
1500 }
1501 #[doc = "*Required features: `\"Win32_Media_MediaPlayer\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
1502 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
1503 pub trait IFeedsManager_Impl: Sized + super::super::System::Com::IDispatch_Impl {
1504 fn RootFolder(&self) -> ::windows::core::Result<super::super::System::Com::IDispatch>;
1505 fn IsSubscribed(&self, feedurl: &::windows::core::BSTR) -> ::windows::core::Result<super::super::Foundation::VARIANT_BOOL>;
1506 fn ExistsFeed(&self, feedpath: &::windows::core::BSTR) -> ::windows::core::Result<super::super::Foundation::VARIANT_BOOL>;
1507 fn GetFeed(&self, feedpath: &::windows::core::BSTR) -> ::windows::core::Result<super::super::System::Com::IDispatch>;
1508 fn GetFeedByUrl(&self, feedurl: &::windows::core::BSTR) -> ::windows::core::Result<super::super::System::Com::IDispatch>;
1509 fn ExistsFolder(&self, folderpath: &::windows::core::BSTR) -> ::windows::core::Result<super::super::Foundation::VARIANT_BOOL>;
1510 fn GetFolder(&self, folderpath: &::windows::core::BSTR) -> ::windows::core::Result<super::super::System::Com::IDispatch>;
1511 fn DeleteFeed(&self, feedpath: &::windows::core::BSTR) -> ::windows::core::Result<()>;
1512 fn DeleteFolder(&self, folderpath: &::windows::core::BSTR) -> ::windows::core::Result<()>;
1513 fn BackgroundSync(&self, action: FEEDS_BACKGROUNDSYNC_ACTION) -> ::windows::core::Result<()>;
1514 fn BackgroundSyncStatus(&self) -> ::windows::core::Result<FEEDS_BACKGROUNDSYNC_STATUS>;
1515 fn DefaultInterval(&self) -> ::windows::core::Result<i32>;
1516 fn SetDefaultInterval(&self, minutes: i32) -> ::windows::core::Result<()>;
1517 fn AsyncSyncAll(&self) -> ::windows::core::Result<()>;
1518 fn Normalize(&self, feedxmlin: &::windows::core::BSTR) -> ::windows::core::Result<::windows::core::BSTR>;
1519 fn ItemCountLimit(&self) -> ::windows::core::Result<i32>;
1520 }
1521 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
1522 impl ::windows::core::RuntimeName for IFeedsManager {}
1523 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
1524 impl IFeedsManager_Vtbl {
1525 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFeedsManager_Impl, const OFFSET: isize>() -> IFeedsManager_Vtbl {
1526 unsafe extern "system" fn RootFolder<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFeedsManager_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, disp: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
1527 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1528 let this = (*this).get_impl();
1529 match this.RootFolder() {
1530 ::core::result::Result::Ok(ok__) => {
1531 ::core::ptr::write(disp, ::core::mem::transmute(ok__));
1532 ::windows::core::HRESULT(0)
1533 }
1534 ::core::result::Result::Err(err) => err.into(),
1535 }
1536 }
1537 unsafe extern "system" fn IsSubscribed<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFeedsManager_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, feedurl: ::std::mem::MaybeUninit<::windows::core::BSTR>, subscribed: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
1538 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1539 let this = (*this).get_impl();
1540 match this.IsSubscribed(::core::mem::transmute(&feedurl)) {
1541 ::core::result::Result::Ok(ok__) => {
1542 ::core::ptr::write(subscribed, ::core::mem::transmute(ok__));
1543 ::windows::core::HRESULT(0)
1544 }
1545 ::core::result::Result::Err(err) => err.into(),
1546 }
1547 }
1548 unsafe extern "system" fn ExistsFeed<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFeedsManager_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, feedpath: ::std::mem::MaybeUninit<::windows::core::BSTR>, exists: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
1549 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1550 let this = (*this).get_impl();
1551 match this.ExistsFeed(::core::mem::transmute(&feedpath)) {
1552 ::core::result::Result::Ok(ok__) => {
1553 ::core::ptr::write(exists, ::core::mem::transmute(ok__));
1554 ::windows::core::HRESULT(0)
1555 }
1556 ::core::result::Result::Err(err) => err.into(),
1557 }
1558 }
1559 unsafe extern "system" fn GetFeed<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFeedsManager_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, feedpath: ::std::mem::MaybeUninit<::windows::core::BSTR>, disp: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
1560 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1561 let this = (*this).get_impl();
1562 match this.GetFeed(::core::mem::transmute(&feedpath)) {
1563 ::core::result::Result::Ok(ok__) => {
1564 ::core::ptr::write(disp, ::core::mem::transmute(ok__));
1565 ::windows::core::HRESULT(0)
1566 }
1567 ::core::result::Result::Err(err) => err.into(),
1568 }
1569 }
1570 unsafe extern "system" fn GetFeedByUrl<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFeedsManager_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, feedurl: ::std::mem::MaybeUninit<::windows::core::BSTR>, disp: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
1571 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1572 let this = (*this).get_impl();
1573 match this.GetFeedByUrl(::core::mem::transmute(&feedurl)) {
1574 ::core::result::Result::Ok(ok__) => {
1575 ::core::ptr::write(disp, ::core::mem::transmute(ok__));
1576 ::windows::core::HRESULT(0)
1577 }
1578 ::core::result::Result::Err(err) => err.into(),
1579 }
1580 }
1581 unsafe extern "system" fn ExistsFolder<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFeedsManager_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, folderpath: ::std::mem::MaybeUninit<::windows::core::BSTR>, exists: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
1582 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1583 let this = (*this).get_impl();
1584 match this.ExistsFolder(::core::mem::transmute(&folderpath)) {
1585 ::core::result::Result::Ok(ok__) => {
1586 ::core::ptr::write(exists, ::core::mem::transmute(ok__));
1587 ::windows::core::HRESULT(0)
1588 }
1589 ::core::result::Result::Err(err) => err.into(),
1590 }
1591 }
1592 unsafe extern "system" fn GetFolder<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFeedsManager_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, folderpath: ::std::mem::MaybeUninit<::windows::core::BSTR>, disp: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
1593 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1594 let this = (*this).get_impl();
1595 match this.GetFolder(::core::mem::transmute(&folderpath)) {
1596 ::core::result::Result::Ok(ok__) => {
1597 ::core::ptr::write(disp, ::core::mem::transmute(ok__));
1598 ::windows::core::HRESULT(0)
1599 }
1600 ::core::result::Result::Err(err) => err.into(),
1601 }
1602 }
1603 unsafe extern "system" fn DeleteFeed<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFeedsManager_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, feedpath: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
1604 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1605 let this = (*this).get_impl();
1606 this.DeleteFeed(::core::mem::transmute(&feedpath)).into()
1607 }
1608 unsafe extern "system" fn DeleteFolder<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFeedsManager_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, folderpath: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
1609 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1610 let this = (*this).get_impl();
1611 this.DeleteFolder(::core::mem::transmute(&folderpath)).into()
1612 }
1613 unsafe extern "system" fn BackgroundSync<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFeedsManager_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, action: FEEDS_BACKGROUNDSYNC_ACTION) -> ::windows::core::HRESULT {
1614 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1615 let this = (*this).get_impl();
1616 this.BackgroundSync(::core::mem::transmute_copy(&action)).into()
1617 }
1618 unsafe extern "system" fn BackgroundSyncStatus<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFeedsManager_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, status: *mut FEEDS_BACKGROUNDSYNC_STATUS) -> ::windows::core::HRESULT {
1619 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1620 let this = (*this).get_impl();
1621 match this.BackgroundSyncStatus() {
1622 ::core::result::Result::Ok(ok__) => {
1623 ::core::ptr::write(status, ::core::mem::transmute(ok__));
1624 ::windows::core::HRESULT(0)
1625 }
1626 ::core::result::Result::Err(err) => err.into(),
1627 }
1628 }
1629 unsafe extern "system" fn DefaultInterval<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFeedsManager_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, minutes: *mut i32) -> ::windows::core::HRESULT {
1630 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1631 let this = (*this).get_impl();
1632 match this.DefaultInterval() {
1633 ::core::result::Result::Ok(ok__) => {
1634 ::core::ptr::write(minutes, ::core::mem::transmute(ok__));
1635 ::windows::core::HRESULT(0)
1636 }
1637 ::core::result::Result::Err(err) => err.into(),
1638 }
1639 }
1640 unsafe extern "system" fn SetDefaultInterval<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFeedsManager_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, minutes: i32) -> ::windows::core::HRESULT {
1641 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1642 let this = (*this).get_impl();
1643 this.SetDefaultInterval(::core::mem::transmute_copy(&minutes)).into()
1644 }
1645 unsafe extern "system" fn AsyncSyncAll<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFeedsManager_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
1646 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1647 let this = (*this).get_impl();
1648 this.AsyncSyncAll().into()
1649 }
1650 unsafe extern "system" fn Normalize<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFeedsManager_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, feedxmlin: ::std::mem::MaybeUninit<::windows::core::BSTR>, feedxmlout: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
1651 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1652 let this = (*this).get_impl();
1653 match this.Normalize(::core::mem::transmute(&feedxmlin)) {
1654 ::core::result::Result::Ok(ok__) => {
1655 ::core::ptr::write(feedxmlout, ::core::mem::transmute(ok__));
1656 ::windows::core::HRESULT(0)
1657 }
1658 ::core::result::Result::Err(err) => err.into(),
1659 }
1660 }
1661 unsafe extern "system" fn ItemCountLimit<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IFeedsManager_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, itemcountlimit: *mut i32) -> ::windows::core::HRESULT {
1662 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1663 let this = (*this).get_impl();
1664 match this.ItemCountLimit() {
1665 ::core::result::Result::Ok(ok__) => {
1666 ::core::ptr::write(itemcountlimit, ::core::mem::transmute(ok__));
1667 ::windows::core::HRESULT(0)
1668 }
1669 ::core::result::Result::Err(err) => err.into(),
1670 }
1671 }
1672 Self {
1673 base__: super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
1674 RootFolder: RootFolder::<Identity, Impl, OFFSET>,
1675 IsSubscribed: IsSubscribed::<Identity, Impl, OFFSET>,
1676 ExistsFeed: ExistsFeed::<Identity, Impl, OFFSET>,
1677 GetFeed: GetFeed::<Identity, Impl, OFFSET>,
1678 GetFeedByUrl: GetFeedByUrl::<Identity, Impl, OFFSET>,
1679 ExistsFolder: ExistsFolder::<Identity, Impl, OFFSET>,
1680 GetFolder: GetFolder::<Identity, Impl, OFFSET>,
1681 DeleteFeed: DeleteFeed::<Identity, Impl, OFFSET>,
1682 DeleteFolder: DeleteFolder::<Identity, Impl, OFFSET>,
1683 BackgroundSync: BackgroundSync::<Identity, Impl, OFFSET>,
1684 BackgroundSyncStatus: BackgroundSyncStatus::<Identity, Impl, OFFSET>,
1685 DefaultInterval: DefaultInterval::<Identity, Impl, OFFSET>,
1686 SetDefaultInterval: SetDefaultInterval::<Identity, Impl, OFFSET>,
1687 AsyncSyncAll: AsyncSyncAll::<Identity, Impl, OFFSET>,
1688 Normalize: Normalize::<Identity, Impl, OFFSET>,
1689 ItemCountLimit: ItemCountLimit::<Identity, Impl, OFFSET>,
1690 }
1691 }
1692 pub fn matches(iid: &windows::core::GUID) -> bool {
1693 iid == &<IFeedsManager as ::windows::core::ComInterface>::IID || iid == &<super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID
1694 }
1695 }
1696 #[doc = "*Required features: `\"Win32_Media_MediaPlayer\"`, `\"implement\"`*"]
1697 pub trait IWMPAudioRenderConfig_Impl: Sized {
1698 fn audioOutputDevice(&self, pbstroutputdevice: *mut ::windows::core::BSTR) -> ::windows::core::Result<()>;
1699 fn SetaudioOutputDevice(&self, bstroutputdevice: &::windows::core::BSTR) -> ::windows::core::Result<()>;
1700 }
1701 impl ::windows::core::RuntimeName for IWMPAudioRenderConfig {}
1702 impl IWMPAudioRenderConfig_Vtbl {
1703 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPAudioRenderConfig_Impl, const OFFSET: isize>() -> IWMPAudioRenderConfig_Vtbl {
1704 unsafe extern "system" fn audioOutputDevice<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPAudioRenderConfig_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbstroutputdevice: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
1705 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1706 let this = (*this).get_impl();
1707 this.audioOutputDevice(::core::mem::transmute_copy(&pbstroutputdevice)).into()
1708 }
1709 unsafe extern "system" fn SetaudioOutputDevice<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPAudioRenderConfig_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstroutputdevice: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
1710 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1711 let this = (*this).get_impl();
1712 this.SetaudioOutputDevice(::core::mem::transmute(&bstroutputdevice)).into()
1713 }
1714 Self {
1715 base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
1716 audioOutputDevice: audioOutputDevice::<Identity, Impl, OFFSET>,
1717 SetaudioOutputDevice: SetaudioOutputDevice::<Identity, Impl, OFFSET>,
1718 }
1719 }
1720 pub fn matches(iid: &windows::core::GUID) -> bool {
1721 iid == &<IWMPAudioRenderConfig as ::windows::core::ComInterface>::IID
1722 }
1723 }
1724 #[doc = "*Required features: `\"Win32_Media_MediaPlayer\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
1725 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
1726 pub trait IWMPCdrom_Impl: Sized + super::super::System::Com::IDispatch_Impl {
1727 fn driveSpecifier(&self, pbstrdrive: *mut ::windows::core::BSTR) -> ::windows::core::Result<()>;
1728 fn playlist(&self) -> ::windows::core::Result<IWMPPlaylist>;
1729 fn eject(&self) -> ::windows::core::Result<()>;
1730 }
1731 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
1732 impl ::windows::core::RuntimeName for IWMPCdrom {}
1733 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
1734 impl IWMPCdrom_Vtbl {
1735 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPCdrom_Impl, const OFFSET: isize>() -> IWMPCdrom_Vtbl {
1736 unsafe extern "system" fn driveSpecifier<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPCdrom_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbstrdrive: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
1737 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1738 let this = (*this).get_impl();
1739 this.driveSpecifier(::core::mem::transmute_copy(&pbstrdrive)).into()
1740 }
1741 unsafe extern "system" fn playlist<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPCdrom_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppplaylist: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
1742 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1743 let this = (*this).get_impl();
1744 match this.playlist() {
1745 ::core::result::Result::Ok(ok__) => {
1746 ::core::ptr::write(ppplaylist, ::core::mem::transmute(ok__));
1747 ::windows::core::HRESULT(0)
1748 }
1749 ::core::result::Result::Err(err) => err.into(),
1750 }
1751 }
1752 unsafe extern "system" fn eject<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPCdrom_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
1753 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1754 let this = (*this).get_impl();
1755 this.eject().into()
1756 }
1757 Self {
1758 base__: super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
1759 driveSpecifier: driveSpecifier::<Identity, Impl, OFFSET>,
1760 playlist: playlist::<Identity, Impl, OFFSET>,
1761 eject: eject::<Identity, Impl, OFFSET>,
1762 }
1763 }
1764 pub fn matches(iid: &windows::core::GUID) -> bool {
1765 iid == &<IWMPCdrom as ::windows::core::ComInterface>::IID || iid == &<super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID
1766 }
1767 }
1768 #[doc = "*Required features: `\"Win32_Media_MediaPlayer\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"implement\"`*"]
1769 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
1770 pub trait IWMPCdromBurn_Impl: Sized {
1771 fn isAvailable(&self, bstritem: &::windows::core::BSTR, pisavailable: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::Result<()>;
1772 fn getItemInfo(&self, bstritem: &::windows::core::BSTR, pbstrval: *mut ::windows::core::BSTR) -> ::windows::core::Result<()>;
1773 fn label(&self, pbstrlabel: *mut ::windows::core::BSTR) -> ::windows::core::Result<()>;
1774 fn Setlabel(&self, bstrlabel: &::windows::core::BSTR) -> ::windows::core::Result<()>;
1775 fn burnFormat(&self, pwmpbf: *mut WMPBurnFormat) -> ::windows::core::Result<()>;
1776 fn SetburnFormat(&self, wmpbf: WMPBurnFormat) -> ::windows::core::Result<()>;
1777 fn burnPlaylist(&self) -> ::windows::core::Result<IWMPPlaylist>;
1778 fn SetburnPlaylist(&self, pplaylist: ::core::option::Option<&IWMPPlaylist>) -> ::windows::core::Result<()>;
1779 fn refreshStatus(&self) -> ::windows::core::Result<()>;
1780 fn burnState(&self, pwmpbs: *mut WMPBurnState) -> ::windows::core::Result<()>;
1781 fn burnProgress(&self, plprogress: *mut i32) -> ::windows::core::Result<()>;
1782 fn startBurn(&self) -> ::windows::core::Result<()>;
1783 fn stopBurn(&self) -> ::windows::core::Result<()>;
1784 fn erase(&self) -> ::windows::core::Result<()>;
1785 }
1786 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
1787 impl ::windows::core::RuntimeName for IWMPCdromBurn {}
1788 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
1789 impl IWMPCdromBurn_Vtbl {
1790 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPCdromBurn_Impl, const OFFSET: isize>() -> IWMPCdromBurn_Vtbl {
1791 unsafe extern "system" fn isAvailable<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPCdromBurn_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstritem: ::std::mem::MaybeUninit<::windows::core::BSTR>, pisavailable: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
1792 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1793 let this = (*this).get_impl();
1794 this.isAvailable(::core::mem::transmute(&bstritem), ::core::mem::transmute_copy(&pisavailable)).into()
1795 }
1796 unsafe extern "system" fn getItemInfo<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPCdromBurn_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstritem: ::std::mem::MaybeUninit<::windows::core::BSTR>, pbstrval: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
1797 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1798 let this = (*this).get_impl();
1799 this.getItemInfo(::core::mem::transmute(&bstritem), ::core::mem::transmute_copy(&pbstrval)).into()
1800 }
1801 unsafe extern "system" fn label<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPCdromBurn_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbstrlabel: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
1802 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1803 let this = (*this).get_impl();
1804 this.label(::core::mem::transmute_copy(&pbstrlabel)).into()
1805 }
1806 unsafe extern "system" fn Setlabel<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPCdromBurn_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrlabel: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
1807 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1808 let this = (*this).get_impl();
1809 this.Setlabel(::core::mem::transmute(&bstrlabel)).into()
1810 }
1811 unsafe extern "system" fn burnFormat<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPCdromBurn_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pwmpbf: *mut WMPBurnFormat) -> ::windows::core::HRESULT {
1812 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1813 let this = (*this).get_impl();
1814 this.burnFormat(::core::mem::transmute_copy(&pwmpbf)).into()
1815 }
1816 unsafe extern "system" fn SetburnFormat<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPCdromBurn_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, wmpbf: WMPBurnFormat) -> ::windows::core::HRESULT {
1817 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1818 let this = (*this).get_impl();
1819 this.SetburnFormat(::core::mem::transmute_copy(&wmpbf)).into()
1820 }
1821 unsafe extern "system" fn burnPlaylist<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPCdromBurn_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppplaylist: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
1822 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1823 let this = (*this).get_impl();
1824 match this.burnPlaylist() {
1825 ::core::result::Result::Ok(ok__) => {
1826 ::core::ptr::write(ppplaylist, ::core::mem::transmute(ok__));
1827 ::windows::core::HRESULT(0)
1828 }
1829 ::core::result::Result::Err(err) => err.into(),
1830 }
1831 }
1832 unsafe extern "system" fn SetburnPlaylist<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPCdromBurn_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pplaylist: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
1833 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1834 let this = (*this).get_impl();
1835 this.SetburnPlaylist(::windows::core::from_raw_borrowed(&pplaylist)).into()
1836 }
1837 unsafe extern "system" fn refreshStatus<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPCdromBurn_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
1838 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1839 let this = (*this).get_impl();
1840 this.refreshStatus().into()
1841 }
1842 unsafe extern "system" fn burnState<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPCdromBurn_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pwmpbs: *mut WMPBurnState) -> ::windows::core::HRESULT {
1843 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1844 let this = (*this).get_impl();
1845 this.burnState(::core::mem::transmute_copy(&pwmpbs)).into()
1846 }
1847 unsafe extern "system" fn burnProgress<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPCdromBurn_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, plprogress: *mut i32) -> ::windows::core::HRESULT {
1848 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1849 let this = (*this).get_impl();
1850 this.burnProgress(::core::mem::transmute_copy(&plprogress)).into()
1851 }
1852 unsafe extern "system" fn startBurn<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPCdromBurn_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
1853 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1854 let this = (*this).get_impl();
1855 this.startBurn().into()
1856 }
1857 unsafe extern "system" fn stopBurn<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPCdromBurn_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
1858 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1859 let this = (*this).get_impl();
1860 this.stopBurn().into()
1861 }
1862 unsafe extern "system" fn erase<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPCdromBurn_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
1863 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1864 let this = (*this).get_impl();
1865 this.erase().into()
1866 }
1867 Self {
1868 base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
1869 isAvailable: isAvailable::<Identity, Impl, OFFSET>,
1870 getItemInfo: getItemInfo::<Identity, Impl, OFFSET>,
1871 label: label::<Identity, Impl, OFFSET>,
1872 Setlabel: Setlabel::<Identity, Impl, OFFSET>,
1873 burnFormat: burnFormat::<Identity, Impl, OFFSET>,
1874 SetburnFormat: SetburnFormat::<Identity, Impl, OFFSET>,
1875 burnPlaylist: burnPlaylist::<Identity, Impl, OFFSET>,
1876 SetburnPlaylist: SetburnPlaylist::<Identity, Impl, OFFSET>,
1877 refreshStatus: refreshStatus::<Identity, Impl, OFFSET>,
1878 burnState: burnState::<Identity, Impl, OFFSET>,
1879 burnProgress: burnProgress::<Identity, Impl, OFFSET>,
1880 startBurn: startBurn::<Identity, Impl, OFFSET>,
1881 stopBurn: stopBurn::<Identity, Impl, OFFSET>,
1882 erase: erase::<Identity, Impl, OFFSET>,
1883 }
1884 }
1885 pub fn matches(iid: &windows::core::GUID) -> bool {
1886 iid == &<IWMPCdromBurn as ::windows::core::ComInterface>::IID
1887 }
1888 }
1889 #[doc = "*Required features: `\"Win32_Media_MediaPlayer\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
1890 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
1891 pub trait IWMPCdromCollection_Impl: Sized + super::super::System::Com::IDispatch_Impl {
1892 fn count(&self, plcount: *mut i32) -> ::windows::core::Result<()>;
1893 fn item(&self, lindex: i32) -> ::windows::core::Result<IWMPCdrom>;
1894 fn getByDriveSpecifier(&self, bstrdrivespecifier: &::windows::core::BSTR) -> ::windows::core::Result<IWMPCdrom>;
1895 }
1896 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
1897 impl ::windows::core::RuntimeName for IWMPCdromCollection {}
1898 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
1899 impl IWMPCdromCollection_Vtbl {
1900 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPCdromCollection_Impl, const OFFSET: isize>() -> IWMPCdromCollection_Vtbl {
1901 unsafe extern "system" fn count<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPCdromCollection_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, plcount: *mut i32) -> ::windows::core::HRESULT {
1902 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1903 let this = (*this).get_impl();
1904 this.count(::core::mem::transmute_copy(&plcount)).into()
1905 }
1906 unsafe extern "system" fn item<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPCdromCollection_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lindex: i32, ppitem: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
1907 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1908 let this = (*this).get_impl();
1909 match this.item(::core::mem::transmute_copy(&lindex)) {
1910 ::core::result::Result::Ok(ok__) => {
1911 ::core::ptr::write(ppitem, ::core::mem::transmute(ok__));
1912 ::windows::core::HRESULT(0)
1913 }
1914 ::core::result::Result::Err(err) => err.into(),
1915 }
1916 }
1917 unsafe extern "system" fn getByDriveSpecifier<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPCdromCollection_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrdrivespecifier: ::std::mem::MaybeUninit<::windows::core::BSTR>, ppcdrom: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
1918 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1919 let this = (*this).get_impl();
1920 match this.getByDriveSpecifier(::core::mem::transmute(&bstrdrivespecifier)) {
1921 ::core::result::Result::Ok(ok__) => {
1922 ::core::ptr::write(ppcdrom, ::core::mem::transmute(ok__));
1923 ::windows::core::HRESULT(0)
1924 }
1925 ::core::result::Result::Err(err) => err.into(),
1926 }
1927 }
1928 Self {
1929 base__: super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
1930 count: count::<Identity, Impl, OFFSET>,
1931 item: item::<Identity, Impl, OFFSET>,
1932 getByDriveSpecifier: getByDriveSpecifier::<Identity, Impl, OFFSET>,
1933 }
1934 }
1935 pub fn matches(iid: &windows::core::GUID) -> bool {
1936 iid == &<IWMPCdromCollection as ::windows::core::ComInterface>::IID || iid == &<super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID
1937 }
1938 }
1939 #[doc = "*Required features: `\"Win32_Media_MediaPlayer\"`, `\"implement\"`*"]
1940 pub trait IWMPCdromRip_Impl: Sized {
1941 fn ripState(&self, pwmprs: *mut WMPRipState) -> ::windows::core::Result<()>;
1942 fn ripProgress(&self, plprogress: *mut i32) -> ::windows::core::Result<()>;
1943 fn startRip(&self) -> ::windows::core::Result<()>;
1944 fn stopRip(&self) -> ::windows::core::Result<()>;
1945 }
1946 impl ::windows::core::RuntimeName for IWMPCdromRip {}
1947 impl IWMPCdromRip_Vtbl {
1948 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPCdromRip_Impl, const OFFSET: isize>() -> IWMPCdromRip_Vtbl {
1949 unsafe extern "system" fn ripState<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPCdromRip_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pwmprs: *mut WMPRipState) -> ::windows::core::HRESULT {
1950 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1951 let this = (*this).get_impl();
1952 this.ripState(::core::mem::transmute_copy(&pwmprs)).into()
1953 }
1954 unsafe extern "system" fn ripProgress<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPCdromRip_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, plprogress: *mut i32) -> ::windows::core::HRESULT {
1955 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1956 let this = (*this).get_impl();
1957 this.ripProgress(::core::mem::transmute_copy(&plprogress)).into()
1958 }
1959 unsafe extern "system" fn startRip<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPCdromRip_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
1960 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1961 let this = (*this).get_impl();
1962 this.startRip().into()
1963 }
1964 unsafe extern "system" fn stopRip<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPCdromRip_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
1965 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1966 let this = (*this).get_impl();
1967 this.stopRip().into()
1968 }
1969 Self {
1970 base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
1971 ripState: ripState::<Identity, Impl, OFFSET>,
1972 ripProgress: ripProgress::<Identity, Impl, OFFSET>,
1973 startRip: startRip::<Identity, Impl, OFFSET>,
1974 stopRip: stopRip::<Identity, Impl, OFFSET>,
1975 }
1976 }
1977 pub fn matches(iid: &windows::core::GUID) -> bool {
1978 iid == &<IWMPCdromRip as ::windows::core::ComInterface>::IID
1979 }
1980 }
1981 #[doc = "*Required features: `\"Win32_Media_MediaPlayer\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
1982 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
1983 pub trait IWMPClosedCaption_Impl: Sized + super::super::System::Com::IDispatch_Impl {
1984 fn SAMIStyle(&self, pbstrsamistyle: *mut ::windows::core::BSTR) -> ::windows::core::Result<()>;
1985 fn SetSAMIStyle(&self, bstrsamistyle: &::windows::core::BSTR) -> ::windows::core::Result<()>;
1986 fn SAMILang(&self, pbstrsamilang: *mut ::windows::core::BSTR) -> ::windows::core::Result<()>;
1987 fn SetSAMILang(&self, bstrsamilang: &::windows::core::BSTR) -> ::windows::core::Result<()>;
1988 fn SAMIFileName(&self, pbstrsamifilename: *mut ::windows::core::BSTR) -> ::windows::core::Result<()>;
1989 fn SetSAMIFileName(&self, bstrsamifilename: &::windows::core::BSTR) -> ::windows::core::Result<()>;
1990 fn captioningId(&self, pbstrcaptioningid: *mut ::windows::core::BSTR) -> ::windows::core::Result<()>;
1991 fn SetcaptioningId(&self, bstrcaptioningid: &::windows::core::BSTR) -> ::windows::core::Result<()>;
1992 }
1993 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
1994 impl ::windows::core::RuntimeName for IWMPClosedCaption {}
1995 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
1996 impl IWMPClosedCaption_Vtbl {
1997 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPClosedCaption_Impl, const OFFSET: isize>() -> IWMPClosedCaption_Vtbl {
1998 unsafe extern "system" fn SAMIStyle<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPClosedCaption_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbstrsamistyle: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
1999 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2000 let this = (*this).get_impl();
2001 this.SAMIStyle(::core::mem::transmute_copy(&pbstrsamistyle)).into()
2002 }
2003 unsafe extern "system" fn SetSAMIStyle<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPClosedCaption_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrsamistyle: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
2004 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2005 let this = (*this).get_impl();
2006 this.SetSAMIStyle(::core::mem::transmute(&bstrsamistyle)).into()
2007 }
2008 unsafe extern "system" fn SAMILang<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPClosedCaption_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbstrsamilang: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
2009 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2010 let this = (*this).get_impl();
2011 this.SAMILang(::core::mem::transmute_copy(&pbstrsamilang)).into()
2012 }
2013 unsafe extern "system" fn SetSAMILang<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPClosedCaption_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrsamilang: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
2014 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2015 let this = (*this).get_impl();
2016 this.SetSAMILang(::core::mem::transmute(&bstrsamilang)).into()
2017 }
2018 unsafe extern "system" fn SAMIFileName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPClosedCaption_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbstrsamifilename: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
2019 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2020 let this = (*this).get_impl();
2021 this.SAMIFileName(::core::mem::transmute_copy(&pbstrsamifilename)).into()
2022 }
2023 unsafe extern "system" fn SetSAMIFileName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPClosedCaption_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrsamifilename: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
2024 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2025 let this = (*this).get_impl();
2026 this.SetSAMIFileName(::core::mem::transmute(&bstrsamifilename)).into()
2027 }
2028 unsafe extern "system" fn captioningId<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPClosedCaption_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbstrcaptioningid: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
2029 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2030 let this = (*this).get_impl();
2031 this.captioningId(::core::mem::transmute_copy(&pbstrcaptioningid)).into()
2032 }
2033 unsafe extern "system" fn SetcaptioningId<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPClosedCaption_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrcaptioningid: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
2034 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2035 let this = (*this).get_impl();
2036 this.SetcaptioningId(::core::mem::transmute(&bstrcaptioningid)).into()
2037 }
2038 Self {
2039 base__: super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
2040 SAMIStyle: SAMIStyle::<Identity, Impl, OFFSET>,
2041 SetSAMIStyle: SetSAMIStyle::<Identity, Impl, OFFSET>,
2042 SAMILang: SAMILang::<Identity, Impl, OFFSET>,
2043 SetSAMILang: SetSAMILang::<Identity, Impl, OFFSET>,
2044 SAMIFileName: SAMIFileName::<Identity, Impl, OFFSET>,
2045 SetSAMIFileName: SetSAMIFileName::<Identity, Impl, OFFSET>,
2046 captioningId: captioningId::<Identity, Impl, OFFSET>,
2047 SetcaptioningId: SetcaptioningId::<Identity, Impl, OFFSET>,
2048 }
2049 }
2050 pub fn matches(iid: &windows::core::GUID) -> bool {
2051 iid == &<IWMPClosedCaption as ::windows::core::ComInterface>::IID || iid == &<super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID
2052 }
2053 }
2054 #[doc = "*Required features: `\"Win32_Media_MediaPlayer\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
2055 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
2056 pub trait IWMPClosedCaption2_Impl: Sized + IWMPClosedCaption_Impl {
2057 fn SAMILangCount(&self, plcount: *mut i32) -> ::windows::core::Result<()>;
2058 fn getSAMILangName(&self, nindex: i32, pbstrname: *mut ::windows::core::BSTR) -> ::windows::core::Result<()>;
2059 fn getSAMILangID(&self, nindex: i32, pllangid: *mut i32) -> ::windows::core::Result<()>;
2060 fn SAMIStyleCount(&self, plcount: *mut i32) -> ::windows::core::Result<()>;
2061 fn getSAMIStyleName(&self, nindex: i32, pbstrname: *mut ::windows::core::BSTR) -> ::windows::core::Result<()>;
2062 }
2063 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
2064 impl ::windows::core::RuntimeName for IWMPClosedCaption2 {}
2065 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
2066 impl IWMPClosedCaption2_Vtbl {
2067 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPClosedCaption2_Impl, const OFFSET: isize>() -> IWMPClosedCaption2_Vtbl {
2068 unsafe extern "system" fn SAMILangCount<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPClosedCaption2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, plcount: *mut i32) -> ::windows::core::HRESULT {
2069 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2070 let this = (*this).get_impl();
2071 this.SAMILangCount(::core::mem::transmute_copy(&plcount)).into()
2072 }
2073 unsafe extern "system" fn getSAMILangName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPClosedCaption2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, nindex: i32, pbstrname: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
2074 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2075 let this = (*this).get_impl();
2076 this.getSAMILangName(::core::mem::transmute_copy(&nindex), ::core::mem::transmute_copy(&pbstrname)).into()
2077 }
2078 unsafe extern "system" fn getSAMILangID<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPClosedCaption2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, nindex: i32, pllangid: *mut i32) -> ::windows::core::HRESULT {
2079 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2080 let this = (*this).get_impl();
2081 this.getSAMILangID(::core::mem::transmute_copy(&nindex), ::core::mem::transmute_copy(&pllangid)).into()
2082 }
2083 unsafe extern "system" fn SAMIStyleCount<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPClosedCaption2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, plcount: *mut i32) -> ::windows::core::HRESULT {
2084 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2085 let this = (*this).get_impl();
2086 this.SAMIStyleCount(::core::mem::transmute_copy(&plcount)).into()
2087 }
2088 unsafe extern "system" fn getSAMIStyleName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPClosedCaption2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, nindex: i32, pbstrname: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
2089 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2090 let this = (*this).get_impl();
2091 this.getSAMIStyleName(::core::mem::transmute_copy(&nindex), ::core::mem::transmute_copy(&pbstrname)).into()
2092 }
2093 Self {
2094 base__: IWMPClosedCaption_Vtbl::new::<Identity, Impl, OFFSET>(),
2095 SAMILangCount: SAMILangCount::<Identity, Impl, OFFSET>,
2096 getSAMILangName: getSAMILangName::<Identity, Impl, OFFSET>,
2097 getSAMILangID: getSAMILangID::<Identity, Impl, OFFSET>,
2098 SAMIStyleCount: SAMIStyleCount::<Identity, Impl, OFFSET>,
2099 getSAMIStyleName: getSAMIStyleName::<Identity, Impl, OFFSET>,
2100 }
2101 }
2102 pub fn matches(iid: &windows::core::GUID) -> bool {
2103 iid == &<IWMPClosedCaption2 as ::windows::core::ComInterface>::IID || iid == &<super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID || iid == &<IWMPClosedCaption as ::windows::core::ComInterface>::IID
2104 }
2105 }
2106 #[doc = "*Required features: `\"Win32_Media_MediaPlayer\"`, `\"implement\"`*"]
2107 pub trait IWMPContentContainer_Impl: Sized {
2108 fn GetID(&self) -> ::windows::core::Result<u32>;
2109 fn GetPrice(&self) -> ::windows::core::Result<::windows::core::BSTR>;
2110 fn GetType(&self) -> ::windows::core::Result<::windows::core::BSTR>;
2111 fn GetContentCount(&self) -> ::windows::core::Result<u32>;
2112 fn GetContentPrice(&self, idxcontent: u32) -> ::windows::core::Result<::windows::core::BSTR>;
2113 fn GetContentID(&self, idxcontent: u32) -> ::windows::core::Result<u32>;
2114 }
2115 impl ::windows::core::RuntimeName for IWMPContentContainer {}
2116 impl IWMPContentContainer_Vtbl {
2117 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPContentContainer_Impl, const OFFSET: isize>() -> IWMPContentContainer_Vtbl {
2118 unsafe extern "system" fn GetID<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPContentContainer_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pcontentid: *mut u32) -> ::windows::core::HRESULT {
2119 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2120 let this = (*this).get_impl();
2121 match this.GetID() {
2122 ::core::result::Result::Ok(ok__) => {
2123 ::core::ptr::write(pcontentid, ::core::mem::transmute(ok__));
2124 ::windows::core::HRESULT(0)
2125 }
2126 ::core::result::Result::Err(err) => err.into(),
2127 }
2128 }
2129 unsafe extern "system" fn GetPrice<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPContentContainer_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbstrprice: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
2130 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2131 let this = (*this).get_impl();
2132 match this.GetPrice() {
2133 ::core::result::Result::Ok(ok__) => {
2134 ::core::ptr::write(pbstrprice, ::core::mem::transmute(ok__));
2135 ::windows::core::HRESULT(0)
2136 }
2137 ::core::result::Result::Err(err) => err.into(),
2138 }
2139 }
2140 unsafe extern "system" fn GetType<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPContentContainer_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbstrtype: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
2141 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2142 let this = (*this).get_impl();
2143 match this.GetType() {
2144 ::core::result::Result::Ok(ok__) => {
2145 ::core::ptr::write(pbstrtype, ::core::mem::transmute(ok__));
2146 ::windows::core::HRESULT(0)
2147 }
2148 ::core::result::Result::Err(err) => err.into(),
2149 }
2150 }
2151 unsafe extern "system" fn GetContentCount<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPContentContainer_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pccontent: *mut u32) -> ::windows::core::HRESULT {
2152 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2153 let this = (*this).get_impl();
2154 match this.GetContentCount() {
2155 ::core::result::Result::Ok(ok__) => {
2156 ::core::ptr::write(pccontent, ::core::mem::transmute(ok__));
2157 ::windows::core::HRESULT(0)
2158 }
2159 ::core::result::Result::Err(err) => err.into(),
2160 }
2161 }
2162 unsafe extern "system" fn GetContentPrice<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPContentContainer_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, idxcontent: u32, pbstrprice: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
2163 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2164 let this = (*this).get_impl();
2165 match this.GetContentPrice(::core::mem::transmute_copy(&idxcontent)) {
2166 ::core::result::Result::Ok(ok__) => {
2167 ::core::ptr::write(pbstrprice, ::core::mem::transmute(ok__));
2168 ::windows::core::HRESULT(0)
2169 }
2170 ::core::result::Result::Err(err) => err.into(),
2171 }
2172 }
2173 unsafe extern "system" fn GetContentID<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPContentContainer_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, idxcontent: u32, pcontentid: *mut u32) -> ::windows::core::HRESULT {
2174 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2175 let this = (*this).get_impl();
2176 match this.GetContentID(::core::mem::transmute_copy(&idxcontent)) {
2177 ::core::result::Result::Ok(ok__) => {
2178 ::core::ptr::write(pcontentid, ::core::mem::transmute(ok__));
2179 ::windows::core::HRESULT(0)
2180 }
2181 ::core::result::Result::Err(err) => err.into(),
2182 }
2183 }
2184 Self {
2185 base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
2186 GetID: GetID::<Identity, Impl, OFFSET>,
2187 GetPrice: GetPrice::<Identity, Impl, OFFSET>,
2188 GetType: GetType::<Identity, Impl, OFFSET>,
2189 GetContentCount: GetContentCount::<Identity, Impl, OFFSET>,
2190 GetContentPrice: GetContentPrice::<Identity, Impl, OFFSET>,
2191 GetContentID: GetContentID::<Identity, Impl, OFFSET>,
2192 }
2193 }
2194 pub fn matches(iid: &windows::core::GUID) -> bool {
2195 iid == &<IWMPContentContainer as ::windows::core::ComInterface>::IID
2196 }
2197 }
2198 #[doc = "*Required features: `\"Win32_Media_MediaPlayer\"`, `\"implement\"`*"]
2199 pub trait IWMPContentContainerList_Impl: Sized {
2200 fn GetTransactionType(&self) -> ::windows::core::Result<WMPTransactionType>;
2201 fn GetContainerCount(&self) -> ::windows::core::Result<u32>;
2202 fn GetContainer(&self, idxcontainer: u32) -> ::windows::core::Result<IWMPContentContainer>;
2203 }
2204 impl ::windows::core::RuntimeName for IWMPContentContainerList {}
2205 impl IWMPContentContainerList_Vtbl {
2206 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPContentContainerList_Impl, const OFFSET: isize>() -> IWMPContentContainerList_Vtbl {
2207 unsafe extern "system" fn GetTransactionType<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPContentContainerList_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pwmptt: *mut WMPTransactionType) -> ::windows::core::HRESULT {
2208 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2209 let this = (*this).get_impl();
2210 match this.GetTransactionType() {
2211 ::core::result::Result::Ok(ok__) => {
2212 ::core::ptr::write(pwmptt, ::core::mem::transmute(ok__));
2213 ::windows::core::HRESULT(0)
2214 }
2215 ::core::result::Result::Err(err) => err.into(),
2216 }
2217 }
2218 unsafe extern "system" fn GetContainerCount<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPContentContainerList_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pccontainer: *mut u32) -> ::windows::core::HRESULT {
2219 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2220 let this = (*this).get_impl();
2221 match this.GetContainerCount() {
2222 ::core::result::Result::Ok(ok__) => {
2223 ::core::ptr::write(pccontainer, ::core::mem::transmute(ok__));
2224 ::windows::core::HRESULT(0)
2225 }
2226 ::core::result::Result::Err(err) => err.into(),
2227 }
2228 }
2229 unsafe extern "system" fn GetContainer<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPContentContainerList_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, idxcontainer: u32, ppcontent: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
2230 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2231 let this = (*this).get_impl();
2232 match this.GetContainer(::core::mem::transmute_copy(&idxcontainer)) {
2233 ::core::result::Result::Ok(ok__) => {
2234 ::core::ptr::write(ppcontent, ::core::mem::transmute(ok__));
2235 ::windows::core::HRESULT(0)
2236 }
2237 ::core::result::Result::Err(err) => err.into(),
2238 }
2239 }
2240 Self {
2241 base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
2242 GetTransactionType: GetTransactionType::<Identity, Impl, OFFSET>,
2243 GetContainerCount: GetContainerCount::<Identity, Impl, OFFSET>,
2244 GetContainer: GetContainer::<Identity, Impl, OFFSET>,
2245 }
2246 }
2247 pub fn matches(iid: &windows::core::GUID) -> bool {
2248 iid == &<IWMPContentContainerList as ::windows::core::ComInterface>::IID
2249 }
2250 }
2251 #[doc = "*Required features: `\"Win32_Media_MediaPlayer\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
2252 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
2253 pub trait IWMPContentPartner_Impl: Sized {
2254 fn SetCallback(&self, pcallback: ::core::option::Option<&IWMPContentPartnerCallback>) -> ::windows::core::Result<()>;
2255 fn Notify(&self, r#type: WMPPartnerNotification, pcontext: *const super::super::System::Com::VARIANT) -> ::windows::core::Result<()>;
2256 fn GetItemInfo(&self, bstrinfoname: &::windows::core::BSTR, pcontext: *const super::super::System::Com::VARIANT) -> ::windows::core::Result<super::super::System::Com::VARIANT>;
2257 fn GetContentPartnerInfo(&self, bstrinfoname: &::windows::core::BSTR) -> ::windows::core::Result<super::super::System::Com::VARIANT>;
2258 fn GetCommands(&self, location: &::windows::core::BSTR, plocationcontext: *const super::super::System::Com::VARIANT, itemlocation: &::windows::core::BSTR, citemids: u32, prgitemids: *const u32, pcitemids: *mut u32, pprgitems: *mut *mut WMPContextMenuInfo) -> ::windows::core::Result<()>;
2259 fn InvokeCommand(&self, dwcommandid: u32, location: &::windows::core::BSTR, plocationcontext: *const super::super::System::Com::VARIANT, itemlocation: &::windows::core::BSTR, citemids: u32, rgitemids: *const u32) -> ::windows::core::Result<()>;
2260 fn CanBuySilent(&self, pinfo: ::core::option::Option<&IWMPContentContainerList>, pbstrtotalprice: *mut ::windows::core::BSTR, psilentok: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::Result<()>;
2261 fn Buy(&self, pinfo: ::core::option::Option<&IWMPContentContainerList>, cookie: u32) -> ::windows::core::Result<()>;
2262 fn GetStreamingURL(&self, st: WMPStreamingType, pstreamcontext: *const super::super::System::Com::VARIANT) -> ::windows::core::Result<::windows::core::BSTR>;
2263 fn Download(&self, pinfo: ::core::option::Option<&IWMPContentContainerList>, cookie: u32) -> ::windows::core::Result<()>;
2264 fn DownloadTrackComplete(&self, hrresult: ::windows::core::HRESULT, contentid: u32, downloadtrackparam: &::windows::core::BSTR) -> ::windows::core::Result<()>;
2265 fn RefreshLicense(&self, dwcookie: u32, flocal: super::super::Foundation::VARIANT_BOOL, bstrurl: &::windows::core::BSTR, r#type: WMPStreamingType, contentid: u32, bstrrefreshreason: &::windows::core::BSTR, preasoncontext: *const super::super::System::Com::VARIANT) -> ::windows::core::Result<()>;
2266 fn GetCatalogURL(&self, dwcatalogversion: u32, dwcatalogschemaversion: u32, cataloglcid: u32, pdwnewcatalogversion: *mut u32, pbstrcatalogurl: *mut ::windows::core::BSTR, pexpirationdate: *mut super::super::System::Com::VARIANT) -> ::windows::core::Result<()>;
2267 fn GetTemplate(&self, task: WMPTaskType, location: &::windows::core::BSTR, pcontext: *const super::super::System::Com::VARIANT, clicklocation: &::windows::core::BSTR, pclickcontext: *const super::super::System::Com::VARIANT, bstrfilter: &::windows::core::BSTR, bstrviewparams: &::windows::core::BSTR, pbstrtemplateurl: *mut ::windows::core::BSTR, ptemplatesize: *mut WMPTemplateSize) -> ::windows::core::Result<()>;
2268 fn UpdateDevice(&self, bstrdevicename: &::windows::core::BSTR) -> ::windows::core::Result<()>;
2269 fn GetListContents(&self, location: &::windows::core::BSTR, pcontext: *const super::super::System::Com::VARIANT, bstrlisttype: &::windows::core::BSTR, bstrparams: &::windows::core::BSTR, dwlistcookie: u32) -> ::windows::core::Result<()>;
2270 fn Login(&self, userinfo: &super::super::System::Com::BLOB, pwdinfo: &super::super::System::Com::BLOB, fusedcachedcreds: super::super::Foundation::VARIANT_BOOL, foktocache: super::super::Foundation::VARIANT_BOOL) -> ::windows::core::Result<()>;
2271 fn Authenticate(&self, userinfo: &super::super::System::Com::BLOB, pwdinfo: &super::super::System::Com::BLOB) -> ::windows::core::Result<()>;
2272 fn Logout(&self) -> ::windows::core::Result<()>;
2273 fn SendMessage(&self, bstrmsg: &::windows::core::BSTR, bstrparam: &::windows::core::BSTR) -> ::windows::core::Result<()>;
2274 fn StationEvent(&self, bstrstationeventtype: &::windows::core::BSTR, stationid: u32, playlistindex: u32, trackid: u32, trackdata: &::windows::core::BSTR, dwsecondsplayed: u32) -> ::windows::core::Result<()>;
2275 fn CompareContainerListPrices(&self, plistbase: ::core::option::Option<&IWMPContentContainerList>, plistcompare: ::core::option::Option<&IWMPContentContainerList>) -> ::windows::core::Result<i32>;
2276 fn VerifyPermission(&self, bstrpermission: &::windows::core::BSTR, pcontext: *const super::super::System::Com::VARIANT) -> ::windows::core::Result<()>;
2277 }
2278 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
2279 impl ::windows::core::RuntimeName for IWMPContentPartner {}
2280 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
2281 impl IWMPContentPartner_Vtbl {
2282 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPContentPartner_Impl, const OFFSET: isize>() -> IWMPContentPartner_Vtbl {
2283 unsafe extern "system" fn SetCallback<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPContentPartner_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pcallback: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
2284 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2285 let this = (*this).get_impl();
2286 this.SetCallback(::windows::core::from_raw_borrowed(&pcallback)).into()
2287 }
2288 unsafe extern "system" fn Notify<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPContentPartner_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, r#type: WMPPartnerNotification, pcontext: *const super::super::System::Com::VARIANT) -> ::windows::core::HRESULT {
2289 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2290 let this = (*this).get_impl();
2291 this.Notify(::core::mem::transmute_copy(&r#type), ::core::mem::transmute_copy(&pcontext)).into()
2292 }
2293 unsafe extern "system" fn GetItemInfo<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPContentPartner_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrinfoname: ::std::mem::MaybeUninit<::windows::core::BSTR>, pcontext: *const super::super::System::Com::VARIANT, pdata: *mut super::super::System::Com::VARIANT) -> ::windows::core::HRESULT {
2294 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2295 let this = (*this).get_impl();
2296 match this.GetItemInfo(::core::mem::transmute(&bstrinfoname), ::core::mem::transmute_copy(&pcontext)) {
2297 ::core::result::Result::Ok(ok__) => {
2298 ::core::ptr::write(pdata, ::core::mem::transmute(ok__));
2299 ::windows::core::HRESULT(0)
2300 }
2301 ::core::result::Result::Err(err) => err.into(),
2302 }
2303 }
2304 unsafe extern "system" fn GetContentPartnerInfo<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPContentPartner_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrinfoname: ::std::mem::MaybeUninit<::windows::core::BSTR>, pdata: *mut super::super::System::Com::VARIANT) -> ::windows::core::HRESULT {
2305 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2306 let this = (*this).get_impl();
2307 match this.GetContentPartnerInfo(::core::mem::transmute(&bstrinfoname)) {
2308 ::core::result::Result::Ok(ok__) => {
2309 ::core::ptr::write(pdata, ::core::mem::transmute(ok__));
2310 ::windows::core::HRESULT(0)
2311 }
2312 ::core::result::Result::Err(err) => err.into(),
2313 }
2314 }
2315 unsafe extern "system" fn GetCommands<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPContentPartner_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, location: ::std::mem::MaybeUninit<::windows::core::BSTR>, plocationcontext: *const super::super::System::Com::VARIANT, itemlocation: ::std::mem::MaybeUninit<::windows::core::BSTR>, citemids: u32, prgitemids: *const u32, pcitemids: *mut u32, pprgitems: *mut *mut WMPContextMenuInfo) -> ::windows::core::HRESULT {
2316 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2317 let this = (*this).get_impl();
2318 this.GetCommands(::core::mem::transmute(&location), ::core::mem::transmute_copy(&plocationcontext), ::core::mem::transmute(&itemlocation), ::core::mem::transmute_copy(&citemids), ::core::mem::transmute_copy(&prgitemids), ::core::mem::transmute_copy(&pcitemids), ::core::mem::transmute_copy(&pprgitems)).into()
2319 }
2320 unsafe extern "system" fn InvokeCommand<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPContentPartner_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwcommandid: u32, location: ::std::mem::MaybeUninit<::windows::core::BSTR>, plocationcontext: *const super::super::System::Com::VARIANT, itemlocation: ::std::mem::MaybeUninit<::windows::core::BSTR>, citemids: u32, rgitemids: *const u32) -> ::windows::core::HRESULT {
2321 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2322 let this = (*this).get_impl();
2323 this.InvokeCommand(::core::mem::transmute_copy(&dwcommandid), ::core::mem::transmute(&location), ::core::mem::transmute_copy(&plocationcontext), ::core::mem::transmute(&itemlocation), ::core::mem::transmute_copy(&citemids), ::core::mem::transmute_copy(&rgitemids)).into()
2324 }
2325 unsafe extern "system" fn CanBuySilent<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPContentPartner_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pinfo: *mut ::core::ffi::c_void, pbstrtotalprice: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>, psilentok: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
2326 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2327 let this = (*this).get_impl();
2328 this.CanBuySilent(::windows::core::from_raw_borrowed(&pinfo), ::core::mem::transmute_copy(&pbstrtotalprice), ::core::mem::transmute_copy(&psilentok)).into()
2329 }
2330 unsafe extern "system" fn Buy<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPContentPartner_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pinfo: *mut ::core::ffi::c_void, cookie: u32) -> ::windows::core::HRESULT {
2331 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2332 let this = (*this).get_impl();
2333 this.Buy(::windows::core::from_raw_borrowed(&pinfo), ::core::mem::transmute_copy(&cookie)).into()
2334 }
2335 unsafe extern "system" fn GetStreamingURL<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPContentPartner_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, st: WMPStreamingType, pstreamcontext: *const super::super::System::Com::VARIANT, pbstrurl: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
2336 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2337 let this = (*this).get_impl();
2338 match this.GetStreamingURL(::core::mem::transmute_copy(&st), ::core::mem::transmute_copy(&pstreamcontext)) {
2339 ::core::result::Result::Ok(ok__) => {
2340 ::core::ptr::write(pbstrurl, ::core::mem::transmute(ok__));
2341 ::windows::core::HRESULT(0)
2342 }
2343 ::core::result::Result::Err(err) => err.into(),
2344 }
2345 }
2346 unsafe extern "system" fn Download<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPContentPartner_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pinfo: *mut ::core::ffi::c_void, cookie: u32) -> ::windows::core::HRESULT {
2347 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2348 let this = (*this).get_impl();
2349 this.Download(::windows::core::from_raw_borrowed(&pinfo), ::core::mem::transmute_copy(&cookie)).into()
2350 }
2351 unsafe extern "system" fn DownloadTrackComplete<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPContentPartner_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, hrresult: ::windows::core::HRESULT, contentid: u32, downloadtrackparam: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
2352 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2353 let this = (*this).get_impl();
2354 this.DownloadTrackComplete(::core::mem::transmute_copy(&hrresult), ::core::mem::transmute_copy(&contentid), ::core::mem::transmute(&downloadtrackparam)).into()
2355 }
2356 unsafe extern "system" fn RefreshLicense<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPContentPartner_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwcookie: u32, flocal: super::super::Foundation::VARIANT_BOOL, bstrurl: ::std::mem::MaybeUninit<::windows::core::BSTR>, r#type: WMPStreamingType, contentid: u32, bstrrefreshreason: ::std::mem::MaybeUninit<::windows::core::BSTR>, preasoncontext: *const super::super::System::Com::VARIANT) -> ::windows::core::HRESULT {
2357 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2358 let this = (*this).get_impl();
2359 this.RefreshLicense(::core::mem::transmute_copy(&dwcookie), ::core::mem::transmute_copy(&flocal), ::core::mem::transmute(&bstrurl), ::core::mem::transmute_copy(&r#type), ::core::mem::transmute_copy(&contentid), ::core::mem::transmute(&bstrrefreshreason), ::core::mem::transmute_copy(&preasoncontext)).into()
2360 }
2361 unsafe extern "system" fn GetCatalogURL<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPContentPartner_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwcatalogversion: u32, dwcatalogschemaversion: u32, cataloglcid: u32, pdwnewcatalogversion: *mut u32, pbstrcatalogurl: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>, pexpirationdate: *mut super::super::System::Com::VARIANT) -> ::windows::core::HRESULT {
2362 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2363 let this = (*this).get_impl();
2364 this.GetCatalogURL(::core::mem::transmute_copy(&dwcatalogversion), ::core::mem::transmute_copy(&dwcatalogschemaversion), ::core::mem::transmute_copy(&cataloglcid), ::core::mem::transmute_copy(&pdwnewcatalogversion), ::core::mem::transmute_copy(&pbstrcatalogurl), ::core::mem::transmute_copy(&pexpirationdate)).into()
2365 }
2366 unsafe extern "system" fn GetTemplate<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPContentPartner_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, task: WMPTaskType, location: ::std::mem::MaybeUninit<::windows::core::BSTR>, pcontext: *const super::super::System::Com::VARIANT, clicklocation: ::std::mem::MaybeUninit<::windows::core::BSTR>, pclickcontext: *const super::super::System::Com::VARIANT, bstrfilter: ::std::mem::MaybeUninit<::windows::core::BSTR>, bstrviewparams: ::std::mem::MaybeUninit<::windows::core::BSTR>, pbstrtemplateurl: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>, ptemplatesize: *mut WMPTemplateSize) -> ::windows::core::HRESULT {
2367 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2368 let this = (*this).get_impl();
2369 this.GetTemplate(::core::mem::transmute_copy(&task), ::core::mem::transmute(&location), ::core::mem::transmute_copy(&pcontext), ::core::mem::transmute(&clicklocation), ::core::mem::transmute_copy(&pclickcontext), ::core::mem::transmute(&bstrfilter), ::core::mem::transmute(&bstrviewparams), ::core::mem::transmute_copy(&pbstrtemplateurl), ::core::mem::transmute_copy(&ptemplatesize)).into()
2370 }
2371 unsafe extern "system" fn UpdateDevice<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPContentPartner_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrdevicename: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
2372 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2373 let this = (*this).get_impl();
2374 this.UpdateDevice(::core::mem::transmute(&bstrdevicename)).into()
2375 }
2376 unsafe extern "system" fn GetListContents<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPContentPartner_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, location: ::std::mem::MaybeUninit<::windows::core::BSTR>, pcontext: *const super::super::System::Com::VARIANT, bstrlisttype: ::std::mem::MaybeUninit<::windows::core::BSTR>, bstrparams: ::std::mem::MaybeUninit<::windows::core::BSTR>, dwlistcookie: u32) -> ::windows::core::HRESULT {
2377 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2378 let this = (*this).get_impl();
2379 this.GetListContents(::core::mem::transmute(&location), ::core::mem::transmute_copy(&pcontext), ::core::mem::transmute(&bstrlisttype), ::core::mem::transmute(&bstrparams), ::core::mem::transmute_copy(&dwlistcookie)).into()
2380 }
2381 unsafe extern "system" fn Login<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPContentPartner_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, userinfo: super::super::System::Com::BLOB, pwdinfo: super::super::System::Com::BLOB, fusedcachedcreds: super::super::Foundation::VARIANT_BOOL, foktocache: super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
2382 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2383 let this = (*this).get_impl();
2384 this.Login(::core::mem::transmute(&userinfo), ::core::mem::transmute(&pwdinfo), ::core::mem::transmute_copy(&fusedcachedcreds), ::core::mem::transmute_copy(&foktocache)).into()
2385 }
2386 unsafe extern "system" fn Authenticate<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPContentPartner_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, userinfo: super::super::System::Com::BLOB, pwdinfo: super::super::System::Com::BLOB) -> ::windows::core::HRESULT {
2387 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2388 let this = (*this).get_impl();
2389 this.Authenticate(::core::mem::transmute(&userinfo), ::core::mem::transmute(&pwdinfo)).into()
2390 }
2391 unsafe extern "system" fn Logout<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPContentPartner_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
2392 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2393 let this = (*this).get_impl();
2394 this.Logout().into()
2395 }
2396 unsafe extern "system" fn SendMessage<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPContentPartner_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrmsg: ::std::mem::MaybeUninit<::windows::core::BSTR>, bstrparam: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
2397 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2398 let this = (*this).get_impl();
2399 this.SendMessage(::core::mem::transmute(&bstrmsg), ::core::mem::transmute(&bstrparam)).into()
2400 }
2401 unsafe extern "system" fn StationEvent<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPContentPartner_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrstationeventtype: ::std::mem::MaybeUninit<::windows::core::BSTR>, stationid: u32, playlistindex: u32, trackid: u32, trackdata: ::std::mem::MaybeUninit<::windows::core::BSTR>, dwsecondsplayed: u32) -> ::windows::core::HRESULT {
2402 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2403 let this = (*this).get_impl();
2404 this.StationEvent(::core::mem::transmute(&bstrstationeventtype), ::core::mem::transmute_copy(&stationid), ::core::mem::transmute_copy(&playlistindex), ::core::mem::transmute_copy(&trackid), ::core::mem::transmute(&trackdata), ::core::mem::transmute_copy(&dwsecondsplayed)).into()
2405 }
2406 unsafe extern "system" fn CompareContainerListPrices<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPContentPartner_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, plistbase: *mut ::core::ffi::c_void, plistcompare: *mut ::core::ffi::c_void, presult: *mut i32) -> ::windows::core::HRESULT {
2407 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2408 let this = (*this).get_impl();
2409 match this.CompareContainerListPrices(::windows::core::from_raw_borrowed(&plistbase), ::windows::core::from_raw_borrowed(&plistcompare)) {
2410 ::core::result::Result::Ok(ok__) => {
2411 ::core::ptr::write(presult, ::core::mem::transmute(ok__));
2412 ::windows::core::HRESULT(0)
2413 }
2414 ::core::result::Result::Err(err) => err.into(),
2415 }
2416 }
2417 unsafe extern "system" fn VerifyPermission<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPContentPartner_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrpermission: ::std::mem::MaybeUninit<::windows::core::BSTR>, pcontext: *const super::super::System::Com::VARIANT) -> ::windows::core::HRESULT {
2418 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2419 let this = (*this).get_impl();
2420 this.VerifyPermission(::core::mem::transmute(&bstrpermission), ::core::mem::transmute_copy(&pcontext)).into()
2421 }
2422 Self {
2423 base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
2424 SetCallback: SetCallback::<Identity, Impl, OFFSET>,
2425 Notify: Notify::<Identity, Impl, OFFSET>,
2426 GetItemInfo: GetItemInfo::<Identity, Impl, OFFSET>,
2427 GetContentPartnerInfo: GetContentPartnerInfo::<Identity, Impl, OFFSET>,
2428 GetCommands: GetCommands::<Identity, Impl, OFFSET>,
2429 InvokeCommand: InvokeCommand::<Identity, Impl, OFFSET>,
2430 CanBuySilent: CanBuySilent::<Identity, Impl, OFFSET>,
2431 Buy: Buy::<Identity, Impl, OFFSET>,
2432 GetStreamingURL: GetStreamingURL::<Identity, Impl, OFFSET>,
2433 Download: Download::<Identity, Impl, OFFSET>,
2434 DownloadTrackComplete: DownloadTrackComplete::<Identity, Impl, OFFSET>,
2435 RefreshLicense: RefreshLicense::<Identity, Impl, OFFSET>,
2436 GetCatalogURL: GetCatalogURL::<Identity, Impl, OFFSET>,
2437 GetTemplate: GetTemplate::<Identity, Impl, OFFSET>,
2438 UpdateDevice: UpdateDevice::<Identity, Impl, OFFSET>,
2439 GetListContents: GetListContents::<Identity, Impl, OFFSET>,
2440 Login: Login::<Identity, Impl, OFFSET>,
2441 Authenticate: Authenticate::<Identity, Impl, OFFSET>,
2442 Logout: Logout::<Identity, Impl, OFFSET>,
2443 SendMessage: SendMessage::<Identity, Impl, OFFSET>,
2444 StationEvent: StationEvent::<Identity, Impl, OFFSET>,
2445 CompareContainerListPrices: CompareContainerListPrices::<Identity, Impl, OFFSET>,
2446 VerifyPermission: VerifyPermission::<Identity, Impl, OFFSET>,
2447 }
2448 }
2449 pub fn matches(iid: &windows::core::GUID) -> bool {
2450 iid == &<IWMPContentPartner as ::windows::core::ComInterface>::IID
2451 }
2452 }
2453 #[doc = "*Required features: `\"Win32_Media_MediaPlayer\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
2454 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
2455 pub trait IWMPContentPartnerCallback_Impl: Sized {
2456 fn Notify(&self, r#type: WMPCallbackNotification, pcontext: *const super::super::System::Com::VARIANT) -> ::windows::core::Result<()>;
2457 fn BuyComplete(&self, hrresult: ::windows::core::HRESULT, dwbuycookie: u32) -> ::windows::core::Result<()>;
2458 fn DownloadTrack(&self, cookie: u32, bstrtrackurl: &::windows::core::BSTR, dwservicetrackid: u32, bstrdownloadparams: &::windows::core::BSTR, hrdownload: ::windows::core::HRESULT) -> ::windows::core::Result<()>;
2459 fn GetCatalogVersion(&self, pdwversion: *mut u32, pdwschemaversion: *mut u32, plcid: *mut u32) -> ::windows::core::Result<()>;
2460 fn UpdateDeviceComplete(&self, bstrdevicename: &::windows::core::BSTR) -> ::windows::core::Result<()>;
2461 fn ChangeView(&self, bstrtype: &::windows::core::BSTR, bstrid: &::windows::core::BSTR, bstrfilter: &::windows::core::BSTR) -> ::windows::core::Result<()>;
2462 fn AddListContents(&self, dwlistcookie: u32, citems: u32, prgitems: *const u32) -> ::windows::core::Result<()>;
2463 fn ListContentsComplete(&self, dwlistcookie: u32, hrsuccess: ::windows::core::HRESULT) -> ::windows::core::Result<()>;
2464 fn SendMessageComplete(&self, bstrmsg: &::windows::core::BSTR, bstrparam: &::windows::core::BSTR, bstrresult: &::windows::core::BSTR) -> ::windows::core::Result<()>;
2465 fn GetContentIDsInLibrary(&self, pccontentids: *mut u32, pprgids: *mut *mut u32) -> ::windows::core::Result<()>;
2466 fn RefreshLicenseComplete(&self, dwcookie: u32, contentid: u32, hrrefresh: ::windows::core::HRESULT) -> ::windows::core::Result<()>;
2467 fn ShowPopup(&self, lindex: i32, bstrparameters: &::windows::core::BSTR) -> ::windows::core::Result<()>;
2468 fn VerifyPermissionComplete(&self, bstrpermission: &::windows::core::BSTR, pcontext: *const super::super::System::Com::VARIANT, hrpermission: ::windows::core::HRESULT) -> ::windows::core::Result<()>;
2469 }
2470 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
2471 impl ::windows::core::RuntimeName for IWMPContentPartnerCallback {}
2472 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
2473 impl IWMPContentPartnerCallback_Vtbl {
2474 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPContentPartnerCallback_Impl, const OFFSET: isize>() -> IWMPContentPartnerCallback_Vtbl {
2475 unsafe extern "system" fn Notify<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPContentPartnerCallback_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, r#type: WMPCallbackNotification, pcontext: *const super::super::System::Com::VARIANT) -> ::windows::core::HRESULT {
2476 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2477 let this = (*this).get_impl();
2478 this.Notify(::core::mem::transmute_copy(&r#type), ::core::mem::transmute_copy(&pcontext)).into()
2479 }
2480 unsafe extern "system" fn BuyComplete<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPContentPartnerCallback_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, hrresult: ::windows::core::HRESULT, dwbuycookie: u32) -> ::windows::core::HRESULT {
2481 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2482 let this = (*this).get_impl();
2483 this.BuyComplete(::core::mem::transmute_copy(&hrresult), ::core::mem::transmute_copy(&dwbuycookie)).into()
2484 }
2485 unsafe extern "system" fn DownloadTrack<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPContentPartnerCallback_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, cookie: u32, bstrtrackurl: ::std::mem::MaybeUninit<::windows::core::BSTR>, dwservicetrackid: u32, bstrdownloadparams: ::std::mem::MaybeUninit<::windows::core::BSTR>, hrdownload: ::windows::core::HRESULT) -> ::windows::core::HRESULT {
2486 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2487 let this = (*this).get_impl();
2488 this.DownloadTrack(::core::mem::transmute_copy(&cookie), ::core::mem::transmute(&bstrtrackurl), ::core::mem::transmute_copy(&dwservicetrackid), ::core::mem::transmute(&bstrdownloadparams), ::core::mem::transmute_copy(&hrdownload)).into()
2489 }
2490 unsafe extern "system" fn GetCatalogVersion<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPContentPartnerCallback_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdwversion: *mut u32, pdwschemaversion: *mut u32, plcid: *mut u32) -> ::windows::core::HRESULT {
2491 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2492 let this = (*this).get_impl();
2493 this.GetCatalogVersion(::core::mem::transmute_copy(&pdwversion), ::core::mem::transmute_copy(&pdwschemaversion), ::core::mem::transmute_copy(&plcid)).into()
2494 }
2495 unsafe extern "system" fn UpdateDeviceComplete<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPContentPartnerCallback_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrdevicename: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
2496 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2497 let this = (*this).get_impl();
2498 this.UpdateDeviceComplete(::core::mem::transmute(&bstrdevicename)).into()
2499 }
2500 unsafe extern "system" fn ChangeView<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPContentPartnerCallback_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrtype: ::std::mem::MaybeUninit<::windows::core::BSTR>, bstrid: ::std::mem::MaybeUninit<::windows::core::BSTR>, bstrfilter: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
2501 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2502 let this = (*this).get_impl();
2503 this.ChangeView(::core::mem::transmute(&bstrtype), ::core::mem::transmute(&bstrid), ::core::mem::transmute(&bstrfilter)).into()
2504 }
2505 unsafe extern "system" fn AddListContents<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPContentPartnerCallback_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwlistcookie: u32, citems: u32, prgitems: *const u32) -> ::windows::core::HRESULT {
2506 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2507 let this = (*this).get_impl();
2508 this.AddListContents(::core::mem::transmute_copy(&dwlistcookie), ::core::mem::transmute_copy(&citems), ::core::mem::transmute_copy(&prgitems)).into()
2509 }
2510 unsafe extern "system" fn ListContentsComplete<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPContentPartnerCallback_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwlistcookie: u32, hrsuccess: ::windows::core::HRESULT) -> ::windows::core::HRESULT {
2511 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2512 let this = (*this).get_impl();
2513 this.ListContentsComplete(::core::mem::transmute_copy(&dwlistcookie), ::core::mem::transmute_copy(&hrsuccess)).into()
2514 }
2515 unsafe extern "system" fn SendMessageComplete<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPContentPartnerCallback_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrmsg: ::std::mem::MaybeUninit<::windows::core::BSTR>, bstrparam: ::std::mem::MaybeUninit<::windows::core::BSTR>, bstrresult: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
2516 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2517 let this = (*this).get_impl();
2518 this.SendMessageComplete(::core::mem::transmute(&bstrmsg), ::core::mem::transmute(&bstrparam), ::core::mem::transmute(&bstrresult)).into()
2519 }
2520 unsafe extern "system" fn GetContentIDsInLibrary<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPContentPartnerCallback_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pccontentids: *mut u32, pprgids: *mut *mut u32) -> ::windows::core::HRESULT {
2521 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2522 let this = (*this).get_impl();
2523 this.GetContentIDsInLibrary(::core::mem::transmute_copy(&pccontentids), ::core::mem::transmute_copy(&pprgids)).into()
2524 }
2525 unsafe extern "system" fn RefreshLicenseComplete<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPContentPartnerCallback_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwcookie: u32, contentid: u32, hrrefresh: ::windows::core::HRESULT) -> ::windows::core::HRESULT {
2526 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2527 let this = (*this).get_impl();
2528 this.RefreshLicenseComplete(::core::mem::transmute_copy(&dwcookie), ::core::mem::transmute_copy(&contentid), ::core::mem::transmute_copy(&hrrefresh)).into()
2529 }
2530 unsafe extern "system" fn ShowPopup<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPContentPartnerCallback_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lindex: i32, bstrparameters: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
2531 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2532 let this = (*this).get_impl();
2533 this.ShowPopup(::core::mem::transmute_copy(&lindex), ::core::mem::transmute(&bstrparameters)).into()
2534 }
2535 unsafe extern "system" fn VerifyPermissionComplete<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPContentPartnerCallback_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrpermission: ::std::mem::MaybeUninit<::windows::core::BSTR>, pcontext: *const super::super::System::Com::VARIANT, hrpermission: ::windows::core::HRESULT) -> ::windows::core::HRESULT {
2536 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2537 let this = (*this).get_impl();
2538 this.VerifyPermissionComplete(::core::mem::transmute(&bstrpermission), ::core::mem::transmute_copy(&pcontext), ::core::mem::transmute_copy(&hrpermission)).into()
2539 }
2540 Self {
2541 base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
2542 Notify: Notify::<Identity, Impl, OFFSET>,
2543 BuyComplete: BuyComplete::<Identity, Impl, OFFSET>,
2544 DownloadTrack: DownloadTrack::<Identity, Impl, OFFSET>,
2545 GetCatalogVersion: GetCatalogVersion::<Identity, Impl, OFFSET>,
2546 UpdateDeviceComplete: UpdateDeviceComplete::<Identity, Impl, OFFSET>,
2547 ChangeView: ChangeView::<Identity, Impl, OFFSET>,
2548 AddListContents: AddListContents::<Identity, Impl, OFFSET>,
2549 ListContentsComplete: ListContentsComplete::<Identity, Impl, OFFSET>,
2550 SendMessageComplete: SendMessageComplete::<Identity, Impl, OFFSET>,
2551 GetContentIDsInLibrary: GetContentIDsInLibrary::<Identity, Impl, OFFSET>,
2552 RefreshLicenseComplete: RefreshLicenseComplete::<Identity, Impl, OFFSET>,
2553 ShowPopup: ShowPopup::<Identity, Impl, OFFSET>,
2554 VerifyPermissionComplete: VerifyPermissionComplete::<Identity, Impl, OFFSET>,
2555 }
2556 }
2557 pub fn matches(iid: &windows::core::GUID) -> bool {
2558 iid == &<IWMPContentPartnerCallback as ::windows::core::ComInterface>::IID
2559 }
2560 }
2561 #[doc = "*Required features: `\"Win32_Media_MediaPlayer\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
2562 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
2563 pub trait IWMPControls_Impl: Sized + super::super::System::Com::IDispatch_Impl {
2564 fn get_isAvailable(&self, bstritem: &::windows::core::BSTR, pisavailable: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::Result<()>;
2565 fn play(&self) -> ::windows::core::Result<()>;
2566 fn stop(&self) -> ::windows::core::Result<()>;
2567 fn pause(&self) -> ::windows::core::Result<()>;
2568 fn fastForward(&self) -> ::windows::core::Result<()>;
2569 fn fastReverse(&self) -> ::windows::core::Result<()>;
2570 fn currentPosition(&self, pdcurrentposition: *mut f64) -> ::windows::core::Result<()>;
2571 fn SetcurrentPosition(&self, dcurrentposition: f64) -> ::windows::core::Result<()>;
2572 fn currentPositionString(&self, pbstrcurrentposition: *mut ::windows::core::BSTR) -> ::windows::core::Result<()>;
2573 fn next(&self) -> ::windows::core::Result<()>;
2574 fn previous(&self) -> ::windows::core::Result<()>;
2575 fn currentItem(&self) -> ::windows::core::Result<IWMPMedia>;
2576 fn SetcurrentItem(&self, piwmpmedia: ::core::option::Option<&IWMPMedia>) -> ::windows::core::Result<()>;
2577 fn currentMarker(&self, plmarker: *mut i32) -> ::windows::core::Result<()>;
2578 fn SetcurrentMarker(&self, lmarker: i32) -> ::windows::core::Result<()>;
2579 fn playItem(&self, piwmpmedia: ::core::option::Option<&IWMPMedia>) -> ::windows::core::Result<()>;
2580 }
2581 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
2582 impl ::windows::core::RuntimeName for IWMPControls {}
2583 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
2584 impl IWMPControls_Vtbl {
2585 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPControls_Impl, const OFFSET: isize>() -> IWMPControls_Vtbl {
2586 unsafe extern "system" fn get_isAvailable<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPControls_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstritem: ::std::mem::MaybeUninit<::windows::core::BSTR>, pisavailable: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
2587 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2588 let this = (*this).get_impl();
2589 this.get_isAvailable(::core::mem::transmute(&bstritem), ::core::mem::transmute_copy(&pisavailable)).into()
2590 }
2591 unsafe extern "system" fn play<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPControls_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
2592 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2593 let this = (*this).get_impl();
2594 this.play().into()
2595 }
2596 unsafe extern "system" fn stop<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPControls_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
2597 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2598 let this = (*this).get_impl();
2599 this.stop().into()
2600 }
2601 unsafe extern "system" fn pause<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPControls_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
2602 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2603 let this = (*this).get_impl();
2604 this.pause().into()
2605 }
2606 unsafe extern "system" fn fastForward<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPControls_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
2607 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2608 let this = (*this).get_impl();
2609 this.fastForward().into()
2610 }
2611 unsafe extern "system" fn fastReverse<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPControls_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
2612 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2613 let this = (*this).get_impl();
2614 this.fastReverse().into()
2615 }
2616 unsafe extern "system" fn currentPosition<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPControls_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdcurrentposition: *mut f64) -> ::windows::core::HRESULT {
2617 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2618 let this = (*this).get_impl();
2619 this.currentPosition(::core::mem::transmute_copy(&pdcurrentposition)).into()
2620 }
2621 unsafe extern "system" fn SetcurrentPosition<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPControls_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dcurrentposition: f64) -> ::windows::core::HRESULT {
2622 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2623 let this = (*this).get_impl();
2624 this.SetcurrentPosition(::core::mem::transmute_copy(&dcurrentposition)).into()
2625 }
2626 unsafe extern "system" fn currentPositionString<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPControls_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbstrcurrentposition: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
2627 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2628 let this = (*this).get_impl();
2629 this.currentPositionString(::core::mem::transmute_copy(&pbstrcurrentposition)).into()
2630 }
2631 unsafe extern "system" fn next<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPControls_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
2632 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2633 let this = (*this).get_impl();
2634 this.next().into()
2635 }
2636 unsafe extern "system" fn previous<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPControls_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
2637 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2638 let this = (*this).get_impl();
2639 this.previous().into()
2640 }
2641 unsafe extern "system" fn currentItem<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPControls_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppiwmpmedia: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
2642 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2643 let this = (*this).get_impl();
2644 match this.currentItem() {
2645 ::core::result::Result::Ok(ok__) => {
2646 ::core::ptr::write(ppiwmpmedia, ::core::mem::transmute(ok__));
2647 ::windows::core::HRESULT(0)
2648 }
2649 ::core::result::Result::Err(err) => err.into(),
2650 }
2651 }
2652 unsafe extern "system" fn SetcurrentItem<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPControls_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, piwmpmedia: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
2653 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2654 let this = (*this).get_impl();
2655 this.SetcurrentItem(::windows::core::from_raw_borrowed(&piwmpmedia)).into()
2656 }
2657 unsafe extern "system" fn currentMarker<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPControls_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, plmarker: *mut i32) -> ::windows::core::HRESULT {
2658 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2659 let this = (*this).get_impl();
2660 this.currentMarker(::core::mem::transmute_copy(&plmarker)).into()
2661 }
2662 unsafe extern "system" fn SetcurrentMarker<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPControls_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lmarker: i32) -> ::windows::core::HRESULT {
2663 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2664 let this = (*this).get_impl();
2665 this.SetcurrentMarker(::core::mem::transmute_copy(&lmarker)).into()
2666 }
2667 unsafe extern "system" fn playItem<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPControls_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, piwmpmedia: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
2668 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2669 let this = (*this).get_impl();
2670 this.playItem(::windows::core::from_raw_borrowed(&piwmpmedia)).into()
2671 }
2672 Self {
2673 base__: super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
2674 get_isAvailable: get_isAvailable::<Identity, Impl, OFFSET>,
2675 play: play::<Identity, Impl, OFFSET>,
2676 stop: stop::<Identity, Impl, OFFSET>,
2677 pause: pause::<Identity, Impl, OFFSET>,
2678 fastForward: fastForward::<Identity, Impl, OFFSET>,
2679 fastReverse: fastReverse::<Identity, Impl, OFFSET>,
2680 currentPosition: currentPosition::<Identity, Impl, OFFSET>,
2681 SetcurrentPosition: SetcurrentPosition::<Identity, Impl, OFFSET>,
2682 currentPositionString: currentPositionString::<Identity, Impl, OFFSET>,
2683 next: next::<Identity, Impl, OFFSET>,
2684 previous: previous::<Identity, Impl, OFFSET>,
2685 currentItem: currentItem::<Identity, Impl, OFFSET>,
2686 SetcurrentItem: SetcurrentItem::<Identity, Impl, OFFSET>,
2687 currentMarker: currentMarker::<Identity, Impl, OFFSET>,
2688 SetcurrentMarker: SetcurrentMarker::<Identity, Impl, OFFSET>,
2689 playItem: playItem::<Identity, Impl, OFFSET>,
2690 }
2691 }
2692 pub fn matches(iid: &windows::core::GUID) -> bool {
2693 iid == &<IWMPControls as ::windows::core::ComInterface>::IID || iid == &<super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID
2694 }
2695 }
2696 #[doc = "*Required features: `\"Win32_Media_MediaPlayer\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
2697 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
2698 pub trait IWMPControls2_Impl: Sized + IWMPControls_Impl {
2699 fn step(&self, lstep: i32) -> ::windows::core::Result<()>;
2700 }
2701 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
2702 impl ::windows::core::RuntimeName for IWMPControls2 {}
2703 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
2704 impl IWMPControls2_Vtbl {
2705 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPControls2_Impl, const OFFSET: isize>() -> IWMPControls2_Vtbl {
2706 unsafe extern "system" fn step<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPControls2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lstep: i32) -> ::windows::core::HRESULT {
2707 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2708 let this = (*this).get_impl();
2709 this.step(::core::mem::transmute_copy(&lstep)).into()
2710 }
2711 Self { base__: IWMPControls_Vtbl::new::<Identity, Impl, OFFSET>(), step: step::<Identity, Impl, OFFSET> }
2712 }
2713 pub fn matches(iid: &windows::core::GUID) -> bool {
2714 iid == &<IWMPControls2 as ::windows::core::ComInterface>::IID || iid == &<super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID || iid == &<IWMPControls as ::windows::core::ComInterface>::IID
2715 }
2716 }
2717 #[doc = "*Required features: `\"Win32_Media_MediaPlayer\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
2718 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
2719 pub trait IWMPControls3_Impl: Sized + IWMPControls2_Impl {
2720 fn audioLanguageCount(&self, plcount: *mut i32) -> ::windows::core::Result<()>;
2721 fn getAudioLanguageID(&self, lindex: i32, pllangid: *mut i32) -> ::windows::core::Result<()>;
2722 fn getAudioLanguageDescription(&self, lindex: i32, pbstrlangdesc: *mut ::windows::core::BSTR) -> ::windows::core::Result<()>;
2723 fn currentAudioLanguage(&self, pllangid: *mut i32) -> ::windows::core::Result<()>;
2724 fn SetcurrentAudioLanguage(&self, llangid: i32) -> ::windows::core::Result<()>;
2725 fn currentAudioLanguageIndex(&self, plindex: *mut i32) -> ::windows::core::Result<()>;
2726 fn SetcurrentAudioLanguageIndex(&self, lindex: i32) -> ::windows::core::Result<()>;
2727 fn getLanguageName(&self, llangid: i32, pbstrlangname: *mut ::windows::core::BSTR) -> ::windows::core::Result<()>;
2728 fn currentPositionTimecode(&self, bstrtimecode: *mut ::windows::core::BSTR) -> ::windows::core::Result<()>;
2729 fn SetcurrentPositionTimecode(&self, bstrtimecode: &::windows::core::BSTR) -> ::windows::core::Result<()>;
2730 }
2731 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
2732 impl ::windows::core::RuntimeName for IWMPControls3 {}
2733 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
2734 impl IWMPControls3_Vtbl {
2735 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPControls3_Impl, const OFFSET: isize>() -> IWMPControls3_Vtbl {
2736 unsafe extern "system" fn audioLanguageCount<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPControls3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, plcount: *mut i32) -> ::windows::core::HRESULT {
2737 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2738 let this = (*this).get_impl();
2739 this.audioLanguageCount(::core::mem::transmute_copy(&plcount)).into()
2740 }
2741 unsafe extern "system" fn getAudioLanguageID<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPControls3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lindex: i32, pllangid: *mut i32) -> ::windows::core::HRESULT {
2742 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2743 let this = (*this).get_impl();
2744 this.getAudioLanguageID(::core::mem::transmute_copy(&lindex), ::core::mem::transmute_copy(&pllangid)).into()
2745 }
2746 unsafe extern "system" fn getAudioLanguageDescription<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPControls3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lindex: i32, pbstrlangdesc: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
2747 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2748 let this = (*this).get_impl();
2749 this.getAudioLanguageDescription(::core::mem::transmute_copy(&lindex), ::core::mem::transmute_copy(&pbstrlangdesc)).into()
2750 }
2751 unsafe extern "system" fn currentAudioLanguage<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPControls3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pllangid: *mut i32) -> ::windows::core::HRESULT {
2752 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2753 let this = (*this).get_impl();
2754 this.currentAudioLanguage(::core::mem::transmute_copy(&pllangid)).into()
2755 }
2756 unsafe extern "system" fn SetcurrentAudioLanguage<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPControls3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, llangid: i32) -> ::windows::core::HRESULT {
2757 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2758 let this = (*this).get_impl();
2759 this.SetcurrentAudioLanguage(::core::mem::transmute_copy(&llangid)).into()
2760 }
2761 unsafe extern "system" fn currentAudioLanguageIndex<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPControls3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, plindex: *mut i32) -> ::windows::core::HRESULT {
2762 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2763 let this = (*this).get_impl();
2764 this.currentAudioLanguageIndex(::core::mem::transmute_copy(&plindex)).into()
2765 }
2766 unsafe extern "system" fn SetcurrentAudioLanguageIndex<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPControls3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lindex: i32) -> ::windows::core::HRESULT {
2767 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2768 let this = (*this).get_impl();
2769 this.SetcurrentAudioLanguageIndex(::core::mem::transmute_copy(&lindex)).into()
2770 }
2771 unsafe extern "system" fn getLanguageName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPControls3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, llangid: i32, pbstrlangname: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
2772 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2773 let this = (*this).get_impl();
2774 this.getLanguageName(::core::mem::transmute_copy(&llangid), ::core::mem::transmute_copy(&pbstrlangname)).into()
2775 }
2776 unsafe extern "system" fn currentPositionTimecode<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPControls3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrtimecode: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
2777 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2778 let this = (*this).get_impl();
2779 this.currentPositionTimecode(::core::mem::transmute_copy(&bstrtimecode)).into()
2780 }
2781 unsafe extern "system" fn SetcurrentPositionTimecode<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPControls3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrtimecode: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
2782 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2783 let this = (*this).get_impl();
2784 this.SetcurrentPositionTimecode(::core::mem::transmute(&bstrtimecode)).into()
2785 }
2786 Self {
2787 base__: IWMPControls2_Vtbl::new::<Identity, Impl, OFFSET>(),
2788 audioLanguageCount: audioLanguageCount::<Identity, Impl, OFFSET>,
2789 getAudioLanguageID: getAudioLanguageID::<Identity, Impl, OFFSET>,
2790 getAudioLanguageDescription: getAudioLanguageDescription::<Identity, Impl, OFFSET>,
2791 currentAudioLanguage: currentAudioLanguage::<Identity, Impl, OFFSET>,
2792 SetcurrentAudioLanguage: SetcurrentAudioLanguage::<Identity, Impl, OFFSET>,
2793 currentAudioLanguageIndex: currentAudioLanguageIndex::<Identity, Impl, OFFSET>,
2794 SetcurrentAudioLanguageIndex: SetcurrentAudioLanguageIndex::<Identity, Impl, OFFSET>,
2795 getLanguageName: getLanguageName::<Identity, Impl, OFFSET>,
2796 currentPositionTimecode: currentPositionTimecode::<Identity, Impl, OFFSET>,
2797 SetcurrentPositionTimecode: SetcurrentPositionTimecode::<Identity, Impl, OFFSET>,
2798 }
2799 }
2800 pub fn matches(iid: &windows::core::GUID) -> bool {
2801 iid == &<IWMPControls3 as ::windows::core::ComInterface>::IID || iid == &<super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID || iid == &<IWMPControls as ::windows::core::ComInterface>::IID || iid == &<IWMPControls2 as ::windows::core::ComInterface>::IID
2802 }
2803 }
2804 #[doc = "*Required features: `\"Win32_Media_MediaPlayer\"`, `\"implement\"`*"]
2805 pub trait IWMPConvert_Impl: Sized {
2806 fn ConvertFile(&self, bstrinputfile: &::windows::core::BSTR, bstrdestinationfolder: &::windows::core::BSTR, pbstroutputfile: *mut ::windows::core::BSTR) -> ::windows::core::Result<()>;
2807 fn GetErrorURL(&self, pbstrurl: *mut ::windows::core::BSTR) -> ::windows::core::Result<()>;
2808 }
2809 impl ::windows::core::RuntimeName for IWMPConvert {}
2810 impl IWMPConvert_Vtbl {
2811 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPConvert_Impl, const OFFSET: isize>() -> IWMPConvert_Vtbl {
2812 unsafe extern "system" fn ConvertFile<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPConvert_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrinputfile: ::std::mem::MaybeUninit<::windows::core::BSTR>, bstrdestinationfolder: ::std::mem::MaybeUninit<::windows::core::BSTR>, pbstroutputfile: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
2813 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2814 let this = (*this).get_impl();
2815 this.ConvertFile(::core::mem::transmute(&bstrinputfile), ::core::mem::transmute(&bstrdestinationfolder), ::core::mem::transmute_copy(&pbstroutputfile)).into()
2816 }
2817 unsafe extern "system" fn GetErrorURL<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPConvert_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbstrurl: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
2818 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2819 let this = (*this).get_impl();
2820 this.GetErrorURL(::core::mem::transmute_copy(&pbstrurl)).into()
2821 }
2822 Self {
2823 base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
2824 ConvertFile: ConvertFile::<Identity, Impl, OFFSET>,
2825 GetErrorURL: GetErrorURL::<Identity, Impl, OFFSET>,
2826 }
2827 }
2828 pub fn matches(iid: &windows::core::GUID) -> bool {
2829 iid == &<IWMPConvert as ::windows::core::ComInterface>::IID
2830 }
2831 }
2832 #[doc = "*Required features: `\"Win32_Media_MediaPlayer\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
2833 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
2834 pub trait IWMPCore_Impl: Sized + super::super::System::Com::IDispatch_Impl {
2835 fn close(&self) -> ::windows::core::Result<()>;
2836 fn URL(&self, pbstrurl: *mut ::windows::core::BSTR) -> ::windows::core::Result<()>;
2837 fn SetURL(&self, bstrurl: &::windows::core::BSTR) -> ::windows::core::Result<()>;
2838 fn openState(&self, pwmpos: *mut WMPOpenState) -> ::windows::core::Result<()>;
2839 fn playState(&self, pwmpps: *mut WMPPlayState) -> ::windows::core::Result<()>;
2840 fn controls(&self) -> ::windows::core::Result<IWMPControls>;
2841 fn settings(&self) -> ::windows::core::Result<IWMPSettings>;
2842 fn currentMedia(&self) -> ::windows::core::Result<IWMPMedia>;
2843 fn SetcurrentMedia(&self, pmedia: ::core::option::Option<&IWMPMedia>) -> ::windows::core::Result<()>;
2844 fn mediaCollection(&self) -> ::windows::core::Result<IWMPMediaCollection>;
2845 fn playlistCollection(&self) -> ::windows::core::Result<IWMPPlaylistCollection>;
2846 fn versionInfo(&self, pbstrversioninfo: *mut ::windows::core::BSTR) -> ::windows::core::Result<()>;
2847 fn launchURL(&self, bstrurl: &::windows::core::BSTR) -> ::windows::core::Result<()>;
2848 fn network(&self) -> ::windows::core::Result<IWMPNetwork>;
2849 fn currentPlaylist(&self) -> ::windows::core::Result<IWMPPlaylist>;
2850 fn SetcurrentPlaylist(&self, ppl: ::core::option::Option<&IWMPPlaylist>) -> ::windows::core::Result<()>;
2851 fn cdromCollection(&self) -> ::windows::core::Result<IWMPCdromCollection>;
2852 fn closedCaption(&self) -> ::windows::core::Result<IWMPClosedCaption>;
2853 fn isOnline(&self, pfonline: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::Result<()>;
2854 fn error(&self) -> ::windows::core::Result<IWMPError>;
2855 fn status(&self, pbstrstatus: *mut ::windows::core::BSTR) -> ::windows::core::Result<()>;
2856 }
2857 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
2858 impl ::windows::core::RuntimeName for IWMPCore {}
2859 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
2860 impl IWMPCore_Vtbl {
2861 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPCore_Impl, const OFFSET: isize>() -> IWMPCore_Vtbl {
2862 unsafe extern "system" fn close<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPCore_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
2863 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2864 let this = (*this).get_impl();
2865 this.close().into()
2866 }
2867 unsafe extern "system" fn URL<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPCore_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbstrurl: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
2868 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2869 let this = (*this).get_impl();
2870 this.URL(::core::mem::transmute_copy(&pbstrurl)).into()
2871 }
2872 unsafe extern "system" fn SetURL<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPCore_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrurl: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
2873 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2874 let this = (*this).get_impl();
2875 this.SetURL(::core::mem::transmute(&bstrurl)).into()
2876 }
2877 unsafe extern "system" fn openState<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPCore_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pwmpos: *mut WMPOpenState) -> ::windows::core::HRESULT {
2878 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2879 let this = (*this).get_impl();
2880 this.openState(::core::mem::transmute_copy(&pwmpos)).into()
2881 }
2882 unsafe extern "system" fn playState<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPCore_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pwmpps: *mut WMPPlayState) -> ::windows::core::HRESULT {
2883 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2884 let this = (*this).get_impl();
2885 this.playState(::core::mem::transmute_copy(&pwmpps)).into()
2886 }
2887 unsafe extern "system" fn controls<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPCore_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppcontrol: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
2888 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2889 let this = (*this).get_impl();
2890 match this.controls() {
2891 ::core::result::Result::Ok(ok__) => {
2892 ::core::ptr::write(ppcontrol, ::core::mem::transmute(ok__));
2893 ::windows::core::HRESULT(0)
2894 }
2895 ::core::result::Result::Err(err) => err.into(),
2896 }
2897 }
2898 unsafe extern "system" fn settings<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPCore_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppsettings: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
2899 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2900 let this = (*this).get_impl();
2901 match this.settings() {
2902 ::core::result::Result::Ok(ok__) => {
2903 ::core::ptr::write(ppsettings, ::core::mem::transmute(ok__));
2904 ::windows::core::HRESULT(0)
2905 }
2906 ::core::result::Result::Err(err) => err.into(),
2907 }
2908 }
2909 unsafe extern "system" fn currentMedia<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPCore_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppmedia: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
2910 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2911 let this = (*this).get_impl();
2912 match this.currentMedia() {
2913 ::core::result::Result::Ok(ok__) => {
2914 ::core::ptr::write(ppmedia, ::core::mem::transmute(ok__));
2915 ::windows::core::HRESULT(0)
2916 }
2917 ::core::result::Result::Err(err) => err.into(),
2918 }
2919 }
2920 unsafe extern "system" fn SetcurrentMedia<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPCore_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pmedia: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
2921 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2922 let this = (*this).get_impl();
2923 this.SetcurrentMedia(::windows::core::from_raw_borrowed(&pmedia)).into()
2924 }
2925 unsafe extern "system" fn mediaCollection<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPCore_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppmediacollection: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
2926 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2927 let this = (*this).get_impl();
2928 match this.mediaCollection() {
2929 ::core::result::Result::Ok(ok__) => {
2930 ::core::ptr::write(ppmediacollection, ::core::mem::transmute(ok__));
2931 ::windows::core::HRESULT(0)
2932 }
2933 ::core::result::Result::Err(err) => err.into(),
2934 }
2935 }
2936 unsafe extern "system" fn playlistCollection<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPCore_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppplaylistcollection: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
2937 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2938 let this = (*this).get_impl();
2939 match this.playlistCollection() {
2940 ::core::result::Result::Ok(ok__) => {
2941 ::core::ptr::write(ppplaylistcollection, ::core::mem::transmute(ok__));
2942 ::windows::core::HRESULT(0)
2943 }
2944 ::core::result::Result::Err(err) => err.into(),
2945 }
2946 }
2947 unsafe extern "system" fn versionInfo<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPCore_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbstrversioninfo: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
2948 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2949 let this = (*this).get_impl();
2950 this.versionInfo(::core::mem::transmute_copy(&pbstrversioninfo)).into()
2951 }
2952 unsafe extern "system" fn launchURL<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPCore_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrurl: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
2953 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2954 let this = (*this).get_impl();
2955 this.launchURL(::core::mem::transmute(&bstrurl)).into()
2956 }
2957 unsafe extern "system" fn network<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPCore_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppqni: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
2958 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2959 let this = (*this).get_impl();
2960 match this.network() {
2961 ::core::result::Result::Ok(ok__) => {
2962 ::core::ptr::write(ppqni, ::core::mem::transmute(ok__));
2963 ::windows::core::HRESULT(0)
2964 }
2965 ::core::result::Result::Err(err) => err.into(),
2966 }
2967 }
2968 unsafe extern "system" fn currentPlaylist<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPCore_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pppl: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
2969 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2970 let this = (*this).get_impl();
2971 match this.currentPlaylist() {
2972 ::core::result::Result::Ok(ok__) => {
2973 ::core::ptr::write(pppl, ::core::mem::transmute(ok__));
2974 ::windows::core::HRESULT(0)
2975 }
2976 ::core::result::Result::Err(err) => err.into(),
2977 }
2978 }
2979 unsafe extern "system" fn SetcurrentPlaylist<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPCore_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppl: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
2980 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2981 let this = (*this).get_impl();
2982 this.SetcurrentPlaylist(::windows::core::from_raw_borrowed(&ppl)).into()
2983 }
2984 unsafe extern "system" fn cdromCollection<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPCore_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppcdromcollection: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
2985 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2986 let this = (*this).get_impl();
2987 match this.cdromCollection() {
2988 ::core::result::Result::Ok(ok__) => {
2989 ::core::ptr::write(ppcdromcollection, ::core::mem::transmute(ok__));
2990 ::windows::core::HRESULT(0)
2991 }
2992 ::core::result::Result::Err(err) => err.into(),
2993 }
2994 }
2995 unsafe extern "system" fn closedCaption<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPCore_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppclosedcaption: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
2996 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2997 let this = (*this).get_impl();
2998 match this.closedCaption() {
2999 ::core::result::Result::Ok(ok__) => {
3000 ::core::ptr::write(ppclosedcaption, ::core::mem::transmute(ok__));
3001 ::windows::core::HRESULT(0)
3002 }
3003 ::core::result::Result::Err(err) => err.into(),
3004 }
3005 }
3006 unsafe extern "system" fn isOnline<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPCore_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pfonline: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
3007 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3008 let this = (*this).get_impl();
3009 this.isOnline(::core::mem::transmute_copy(&pfonline)).into()
3010 }
3011 unsafe extern "system" fn error<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPCore_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pperror: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
3012 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3013 let this = (*this).get_impl();
3014 match this.error() {
3015 ::core::result::Result::Ok(ok__) => {
3016 ::core::ptr::write(pperror, ::core::mem::transmute(ok__));
3017 ::windows::core::HRESULT(0)
3018 }
3019 ::core::result::Result::Err(err) => err.into(),
3020 }
3021 }
3022 unsafe extern "system" fn status<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPCore_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbstrstatus: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
3023 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3024 let this = (*this).get_impl();
3025 this.status(::core::mem::transmute_copy(&pbstrstatus)).into()
3026 }
3027 Self {
3028 base__: super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
3029 close: close::<Identity, Impl, OFFSET>,
3030 URL: URL::<Identity, Impl, OFFSET>,
3031 SetURL: SetURL::<Identity, Impl, OFFSET>,
3032 openState: openState::<Identity, Impl, OFFSET>,
3033 playState: playState::<Identity, Impl, OFFSET>,
3034 controls: controls::<Identity, Impl, OFFSET>,
3035 settings: settings::<Identity, Impl, OFFSET>,
3036 currentMedia: currentMedia::<Identity, Impl, OFFSET>,
3037 SetcurrentMedia: SetcurrentMedia::<Identity, Impl, OFFSET>,
3038 mediaCollection: mediaCollection::<Identity, Impl, OFFSET>,
3039 playlistCollection: playlistCollection::<Identity, Impl, OFFSET>,
3040 versionInfo: versionInfo::<Identity, Impl, OFFSET>,
3041 launchURL: launchURL::<Identity, Impl, OFFSET>,
3042 network: network::<Identity, Impl, OFFSET>,
3043 currentPlaylist: currentPlaylist::<Identity, Impl, OFFSET>,
3044 SetcurrentPlaylist: SetcurrentPlaylist::<Identity, Impl, OFFSET>,
3045 cdromCollection: cdromCollection::<Identity, Impl, OFFSET>,
3046 closedCaption: closedCaption::<Identity, Impl, OFFSET>,
3047 isOnline: isOnline::<Identity, Impl, OFFSET>,
3048 error: error::<Identity, Impl, OFFSET>,
3049 status: status::<Identity, Impl, OFFSET>,
3050 }
3051 }
3052 pub fn matches(iid: &windows::core::GUID) -> bool {
3053 iid == &<IWMPCore as ::windows::core::ComInterface>::IID || iid == &<super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID
3054 }
3055 }
3056 #[doc = "*Required features: `\"Win32_Media_MediaPlayer\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
3057 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
3058 pub trait IWMPCore2_Impl: Sized + IWMPCore_Impl {
3059 fn dvd(&self) -> ::windows::core::Result<IWMPDVD>;
3060 }
3061 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
3062 impl ::windows::core::RuntimeName for IWMPCore2 {}
3063 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
3064 impl IWMPCore2_Vtbl {
3065 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPCore2_Impl, const OFFSET: isize>() -> IWMPCore2_Vtbl {
3066 unsafe extern "system" fn dvd<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPCore2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppdvd: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
3067 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3068 let this = (*this).get_impl();
3069 match this.dvd() {
3070 ::core::result::Result::Ok(ok__) => {
3071 ::core::ptr::write(ppdvd, ::core::mem::transmute(ok__));
3072 ::windows::core::HRESULT(0)
3073 }
3074 ::core::result::Result::Err(err) => err.into(),
3075 }
3076 }
3077 Self { base__: IWMPCore_Vtbl::new::<Identity, Impl, OFFSET>(), dvd: dvd::<Identity, Impl, OFFSET> }
3078 }
3079 pub fn matches(iid: &windows::core::GUID) -> bool {
3080 iid == &<IWMPCore2 as ::windows::core::ComInterface>::IID || iid == &<super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID || iid == &<IWMPCore as ::windows::core::ComInterface>::IID
3081 }
3082 }
3083 #[doc = "*Required features: `\"Win32_Media_MediaPlayer\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
3084 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
3085 pub trait IWMPCore3_Impl: Sized + IWMPCore2_Impl {
3086 fn newPlaylist(&self, bstrname: &::windows::core::BSTR, bstrurl: &::windows::core::BSTR) -> ::windows::core::Result<IWMPPlaylist>;
3087 fn newMedia(&self, bstrurl: &::windows::core::BSTR) -> ::windows::core::Result<IWMPMedia>;
3088 }
3089 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
3090 impl ::windows::core::RuntimeName for IWMPCore3 {}
3091 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
3092 impl IWMPCore3_Vtbl {
3093 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPCore3_Impl, const OFFSET: isize>() -> IWMPCore3_Vtbl {
3094 unsafe extern "system" fn newPlaylist<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPCore3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrname: ::std::mem::MaybeUninit<::windows::core::BSTR>, bstrurl: ::std::mem::MaybeUninit<::windows::core::BSTR>, ppplaylist: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
3095 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3096 let this = (*this).get_impl();
3097 match this.newPlaylist(::core::mem::transmute(&bstrname), ::core::mem::transmute(&bstrurl)) {
3098 ::core::result::Result::Ok(ok__) => {
3099 ::core::ptr::write(ppplaylist, ::core::mem::transmute(ok__));
3100 ::windows::core::HRESULT(0)
3101 }
3102 ::core::result::Result::Err(err) => err.into(),
3103 }
3104 }
3105 unsafe extern "system" fn newMedia<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPCore3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrurl: ::std::mem::MaybeUninit<::windows::core::BSTR>, ppmedia: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
3106 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3107 let this = (*this).get_impl();
3108 match this.newMedia(::core::mem::transmute(&bstrurl)) {
3109 ::core::result::Result::Ok(ok__) => {
3110 ::core::ptr::write(ppmedia, ::core::mem::transmute(ok__));
3111 ::windows::core::HRESULT(0)
3112 }
3113 ::core::result::Result::Err(err) => err.into(),
3114 }
3115 }
3116 Self {
3117 base__: IWMPCore2_Vtbl::new::<Identity, Impl, OFFSET>(),
3118 newPlaylist: newPlaylist::<Identity, Impl, OFFSET>,
3119 newMedia: newMedia::<Identity, Impl, OFFSET>,
3120 }
3121 }
3122 pub fn matches(iid: &windows::core::GUID) -> bool {
3123 iid == &<IWMPCore3 as ::windows::core::ComInterface>::IID || iid == &<super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID || iid == &<IWMPCore as ::windows::core::ComInterface>::IID || iid == &<IWMPCore2 as ::windows::core::ComInterface>::IID
3124 }
3125 }
3126 #[doc = "*Required features: `\"Win32_Media_MediaPlayer\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
3127 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
3128 pub trait IWMPDVD_Impl: Sized + super::super::System::Com::IDispatch_Impl {
3129 fn get_isAvailable(&self, bstritem: &::windows::core::BSTR, pisavailable: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::Result<()>;
3130 fn domain(&self, strdomain: *mut ::windows::core::BSTR) -> ::windows::core::Result<()>;
3131 fn topMenu(&self) -> ::windows::core::Result<()>;
3132 fn titleMenu(&self) -> ::windows::core::Result<()>;
3133 fn back(&self) -> ::windows::core::Result<()>;
3134 fn resume(&self) -> ::windows::core::Result<()>;
3135 }
3136 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
3137 impl ::windows::core::RuntimeName for IWMPDVD {}
3138 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
3139 impl IWMPDVD_Vtbl {
3140 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPDVD_Impl, const OFFSET: isize>() -> IWMPDVD_Vtbl {
3141 unsafe extern "system" fn get_isAvailable<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPDVD_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstritem: ::std::mem::MaybeUninit<::windows::core::BSTR>, pisavailable: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
3142 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3143 let this = (*this).get_impl();
3144 this.get_isAvailable(::core::mem::transmute(&bstritem), ::core::mem::transmute_copy(&pisavailable)).into()
3145 }
3146 unsafe extern "system" fn domain<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPDVD_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strdomain: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
3147 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3148 let this = (*this).get_impl();
3149 this.domain(::core::mem::transmute_copy(&strdomain)).into()
3150 }
3151 unsafe extern "system" fn topMenu<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPDVD_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
3152 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3153 let this = (*this).get_impl();
3154 this.topMenu().into()
3155 }
3156 unsafe extern "system" fn titleMenu<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPDVD_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
3157 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3158 let this = (*this).get_impl();
3159 this.titleMenu().into()
3160 }
3161 unsafe extern "system" fn back<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPDVD_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
3162 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3163 let this = (*this).get_impl();
3164 this.back().into()
3165 }
3166 unsafe extern "system" fn resume<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPDVD_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
3167 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3168 let this = (*this).get_impl();
3169 this.resume().into()
3170 }
3171 Self {
3172 base__: super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
3173 get_isAvailable: get_isAvailable::<Identity, Impl, OFFSET>,
3174 domain: domain::<Identity, Impl, OFFSET>,
3175 topMenu: topMenu::<Identity, Impl, OFFSET>,
3176 titleMenu: titleMenu::<Identity, Impl, OFFSET>,
3177 back: back::<Identity, Impl, OFFSET>,
3178 resume: resume::<Identity, Impl, OFFSET>,
3179 }
3180 }
3181 pub fn matches(iid: &windows::core::GUID) -> bool {
3182 iid == &<IWMPDVD as ::windows::core::ComInterface>::IID || iid == &<super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID
3183 }
3184 }
3185 #[doc = "*Required features: `\"Win32_Media_MediaPlayer\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
3186 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
3187 pub trait IWMPDownloadCollection_Impl: Sized + super::super::System::Com::IDispatch_Impl {
3188 fn id(&self, plid: *mut i32) -> ::windows::core::Result<()>;
3189 fn count(&self, plcount: *mut i32) -> ::windows::core::Result<()>;
3190 fn item(&self, litem: i32) -> ::windows::core::Result<IWMPDownloadItem2>;
3191 fn startDownload(&self, bstrsourceurl: &::windows::core::BSTR, bstrtype: &::windows::core::BSTR) -> ::windows::core::Result<IWMPDownloadItem2>;
3192 fn removeItem(&self, litem: i32) -> ::windows::core::Result<()>;
3193 fn Clear(&self) -> ::windows::core::Result<()>;
3194 }
3195 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
3196 impl ::windows::core::RuntimeName for IWMPDownloadCollection {}
3197 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
3198 impl IWMPDownloadCollection_Vtbl {
3199 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPDownloadCollection_Impl, const OFFSET: isize>() -> IWMPDownloadCollection_Vtbl {
3200 unsafe extern "system" fn id<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPDownloadCollection_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, plid: *mut i32) -> ::windows::core::HRESULT {
3201 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3202 let this = (*this).get_impl();
3203 this.id(::core::mem::transmute_copy(&plid)).into()
3204 }
3205 unsafe extern "system" fn count<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPDownloadCollection_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, plcount: *mut i32) -> ::windows::core::HRESULT {
3206 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3207 let this = (*this).get_impl();
3208 this.count(::core::mem::transmute_copy(&plcount)).into()
3209 }
3210 unsafe extern "system" fn item<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPDownloadCollection_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, litem: i32, ppdownload: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
3211 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3212 let this = (*this).get_impl();
3213 match this.item(::core::mem::transmute_copy(&litem)) {
3214 ::core::result::Result::Ok(ok__) => {
3215 ::core::ptr::write(ppdownload, ::core::mem::transmute(ok__));
3216 ::windows::core::HRESULT(0)
3217 }
3218 ::core::result::Result::Err(err) => err.into(),
3219 }
3220 }
3221 unsafe extern "system" fn startDownload<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPDownloadCollection_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrsourceurl: ::std::mem::MaybeUninit<::windows::core::BSTR>, bstrtype: ::std::mem::MaybeUninit<::windows::core::BSTR>, ppdownload: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
3222 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3223 let this = (*this).get_impl();
3224 match this.startDownload(::core::mem::transmute(&bstrsourceurl), ::core::mem::transmute(&bstrtype)) {
3225 ::core::result::Result::Ok(ok__) => {
3226 ::core::ptr::write(ppdownload, ::core::mem::transmute(ok__));
3227 ::windows::core::HRESULT(0)
3228 }
3229 ::core::result::Result::Err(err) => err.into(),
3230 }
3231 }
3232 unsafe extern "system" fn removeItem<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPDownloadCollection_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, litem: i32) -> ::windows::core::HRESULT {
3233 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3234 let this = (*this).get_impl();
3235 this.removeItem(::core::mem::transmute_copy(&litem)).into()
3236 }
3237 unsafe extern "system" fn Clear<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPDownloadCollection_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
3238 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3239 let this = (*this).get_impl();
3240 this.Clear().into()
3241 }
3242 Self {
3243 base__: super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
3244 id: id::<Identity, Impl, OFFSET>,
3245 count: count::<Identity, Impl, OFFSET>,
3246 item: item::<Identity, Impl, OFFSET>,
3247 startDownload: startDownload::<Identity, Impl, OFFSET>,
3248 removeItem: removeItem::<Identity, Impl, OFFSET>,
3249 Clear: Clear::<Identity, Impl, OFFSET>,
3250 }
3251 }
3252 pub fn matches(iid: &windows::core::GUID) -> bool {
3253 iid == &<IWMPDownloadCollection as ::windows::core::ComInterface>::IID || iid == &<super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID
3254 }
3255 }
3256 #[doc = "*Required features: `\"Win32_Media_MediaPlayer\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
3257 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
3258 pub trait IWMPDownloadItem_Impl: Sized + super::super::System::Com::IDispatch_Impl {
3259 fn sourceURL(&self, pbstrurl: *mut ::windows::core::BSTR) -> ::windows::core::Result<()>;
3260 fn size(&self, plsize: *mut i32) -> ::windows::core::Result<()>;
3261 fn r#type(&self, pbstrtype: *mut ::windows::core::BSTR) -> ::windows::core::Result<()>;
3262 fn progress(&self, plprogress: *mut i32) -> ::windows::core::Result<()>;
3263 fn downloadState(&self, pwmpsdls: *mut WMPSubscriptionDownloadState) -> ::windows::core::Result<()>;
3264 fn pause(&self) -> ::windows::core::Result<()>;
3265 fn resume(&self) -> ::windows::core::Result<()>;
3266 fn cancel(&self) -> ::windows::core::Result<()>;
3267 }
3268 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
3269 impl ::windows::core::RuntimeName for IWMPDownloadItem {}
3270 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
3271 impl IWMPDownloadItem_Vtbl {
3272 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPDownloadItem_Impl, const OFFSET: isize>() -> IWMPDownloadItem_Vtbl {
3273 unsafe extern "system" fn sourceURL<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPDownloadItem_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbstrurl: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
3274 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3275 let this = (*this).get_impl();
3276 this.sourceURL(::core::mem::transmute_copy(&pbstrurl)).into()
3277 }
3278 unsafe extern "system" fn size<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPDownloadItem_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, plsize: *mut i32) -> ::windows::core::HRESULT {
3279 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3280 let this = (*this).get_impl();
3281 this.size(::core::mem::transmute_copy(&plsize)).into()
3282 }
3283 unsafe extern "system" fn r#type<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPDownloadItem_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbstrtype: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
3284 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3285 let this = (*this).get_impl();
3286 this.r#type(::core::mem::transmute_copy(&pbstrtype)).into()
3287 }
3288 unsafe extern "system" fn progress<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPDownloadItem_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, plprogress: *mut i32) -> ::windows::core::HRESULT {
3289 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3290 let this = (*this).get_impl();
3291 this.progress(::core::mem::transmute_copy(&plprogress)).into()
3292 }
3293 unsafe extern "system" fn downloadState<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPDownloadItem_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pwmpsdls: *mut WMPSubscriptionDownloadState) -> ::windows::core::HRESULT {
3294 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3295 let this = (*this).get_impl();
3296 this.downloadState(::core::mem::transmute_copy(&pwmpsdls)).into()
3297 }
3298 unsafe extern "system" fn pause<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPDownloadItem_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
3299 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3300 let this = (*this).get_impl();
3301 this.pause().into()
3302 }
3303 unsafe extern "system" fn resume<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPDownloadItem_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
3304 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3305 let this = (*this).get_impl();
3306 this.resume().into()
3307 }
3308 unsafe extern "system" fn cancel<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPDownloadItem_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
3309 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3310 let this = (*this).get_impl();
3311 this.cancel().into()
3312 }
3313 Self {
3314 base__: super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
3315 sourceURL: sourceURL::<Identity, Impl, OFFSET>,
3316 size: size::<Identity, Impl, OFFSET>,
3317 r#type: r#type::<Identity, Impl, OFFSET>,
3318 progress: progress::<Identity, Impl, OFFSET>,
3319 downloadState: downloadState::<Identity, Impl, OFFSET>,
3320 pause: pause::<Identity, Impl, OFFSET>,
3321 resume: resume::<Identity, Impl, OFFSET>,
3322 cancel: cancel::<Identity, Impl, OFFSET>,
3323 }
3324 }
3325 pub fn matches(iid: &windows::core::GUID) -> bool {
3326 iid == &<IWMPDownloadItem as ::windows::core::ComInterface>::IID || iid == &<super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID
3327 }
3328 }
3329 #[doc = "*Required features: `\"Win32_Media_MediaPlayer\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
3330 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
3331 pub trait IWMPDownloadItem2_Impl: Sized + IWMPDownloadItem_Impl {
3332 fn getItemInfo(&self, bstritemname: &::windows::core::BSTR, pbstrval: *mut ::windows::core::BSTR) -> ::windows::core::Result<()>;
3333 }
3334 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
3335 impl ::windows::core::RuntimeName for IWMPDownloadItem2 {}
3336 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
3337 impl IWMPDownloadItem2_Vtbl {
3338 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPDownloadItem2_Impl, const OFFSET: isize>() -> IWMPDownloadItem2_Vtbl {
3339 unsafe extern "system" fn getItemInfo<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPDownloadItem2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstritemname: ::std::mem::MaybeUninit<::windows::core::BSTR>, pbstrval: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
3340 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3341 let this = (*this).get_impl();
3342 this.getItemInfo(::core::mem::transmute(&bstritemname), ::core::mem::transmute_copy(&pbstrval)).into()
3343 }
3344 Self { base__: IWMPDownloadItem_Vtbl::new::<Identity, Impl, OFFSET>(), getItemInfo: getItemInfo::<Identity, Impl, OFFSET> }
3345 }
3346 pub fn matches(iid: &windows::core::GUID) -> bool {
3347 iid == &<IWMPDownloadItem2 as ::windows::core::ComInterface>::IID || iid == &<super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID || iid == &<IWMPDownloadItem as ::windows::core::ComInterface>::IID
3348 }
3349 }
3350 #[doc = "*Required features: `\"Win32_Media_MediaPlayer\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
3351 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
3352 pub trait IWMPDownloadManager_Impl: Sized + super::super::System::Com::IDispatch_Impl {
3353 fn getDownloadCollection(&self, lcollectionid: i32) -> ::windows::core::Result<IWMPDownloadCollection>;
3354 fn createDownloadCollection(&self) -> ::windows::core::Result<IWMPDownloadCollection>;
3355 }
3356 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
3357 impl ::windows::core::RuntimeName for IWMPDownloadManager {}
3358 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
3359 impl IWMPDownloadManager_Vtbl {
3360 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPDownloadManager_Impl, const OFFSET: isize>() -> IWMPDownloadManager_Vtbl {
3361 unsafe extern "system" fn getDownloadCollection<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPDownloadManager_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lcollectionid: i32, ppcollection: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
3362 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3363 let this = (*this).get_impl();
3364 match this.getDownloadCollection(::core::mem::transmute_copy(&lcollectionid)) {
3365 ::core::result::Result::Ok(ok__) => {
3366 ::core::ptr::write(ppcollection, ::core::mem::transmute(ok__));
3367 ::windows::core::HRESULT(0)
3368 }
3369 ::core::result::Result::Err(err) => err.into(),
3370 }
3371 }
3372 unsafe extern "system" fn createDownloadCollection<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPDownloadManager_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppcollection: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
3373 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3374 let this = (*this).get_impl();
3375 match this.createDownloadCollection() {
3376 ::core::result::Result::Ok(ok__) => {
3377 ::core::ptr::write(ppcollection, ::core::mem::transmute(ok__));
3378 ::windows::core::HRESULT(0)
3379 }
3380 ::core::result::Result::Err(err) => err.into(),
3381 }
3382 }
3383 Self {
3384 base__: super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
3385 getDownloadCollection: getDownloadCollection::<Identity, Impl, OFFSET>,
3386 createDownloadCollection: createDownloadCollection::<Identity, Impl, OFFSET>,
3387 }
3388 }
3389 pub fn matches(iid: &windows::core::GUID) -> bool {
3390 iid == &<IWMPDownloadManager as ::windows::core::ComInterface>::IID || iid == &<super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID
3391 }
3392 }
3393 #[doc = "*Required features: `\"Win32_Media_MediaPlayer\"`, `\"Win32_Foundation\"`, `\"Win32_Graphics_Gdi\"`, `\"implement\"`*"]
3394 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
3395 pub trait IWMPEffects_Impl: Sized {
3396 fn Render(&self, plevels: *mut TimedLevel, hdc: super::super::Graphics::Gdi::HDC, prc: *mut super::super::Foundation::RECT) -> ::windows::core::Result<()>;
3397 fn MediaInfo(&self, lchannelcount: i32, lsamplerate: i32, bstrtitle: &::windows::core::BSTR) -> ::windows::core::Result<()>;
3398 fn GetCapabilities(&self, pdwcapabilities: *mut u32) -> ::windows::core::Result<()>;
3399 fn GetTitle(&self, bstrtitle: *mut ::windows::core::BSTR) -> ::windows::core::Result<()>;
3400 fn GetPresetTitle(&self, npreset: i32, bstrpresettitle: *mut ::windows::core::BSTR) -> ::windows::core::Result<()>;
3401 fn GetPresetCount(&self, pnpresetcount: *mut i32) -> ::windows::core::Result<()>;
3402 fn SetCurrentPreset(&self, npreset: i32) -> ::windows::core::Result<()>;
3403 fn GetCurrentPreset(&self, pnpreset: *mut i32) -> ::windows::core::Result<()>;
3404 fn DisplayPropertyPage(&self, hwndowner: super::super::Foundation::HWND) -> ::windows::core::Result<()>;
3405 fn GoFullscreen(&self, ffullscreen: super::super::Foundation::BOOL) -> ::windows::core::Result<()>;
3406 fn RenderFullScreen(&self, plevels: *mut TimedLevel) -> ::windows::core::Result<()>;
3407 }
3408 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
3409 impl ::windows::core::RuntimeName for IWMPEffects {}
3410 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))]
3411 impl IWMPEffects_Vtbl {
3412 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPEffects_Impl, const OFFSET: isize>() -> IWMPEffects_Vtbl {
3413 unsafe extern "system" fn Render<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPEffects_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, plevels: *mut TimedLevel, hdc: super::super::Graphics::Gdi::HDC, prc: *mut super::super::Foundation::RECT) -> ::windows::core::HRESULT {
3414 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3415 let this = (*this).get_impl();
3416 this.Render(::core::mem::transmute_copy(&plevels), ::core::mem::transmute_copy(&hdc), ::core::mem::transmute_copy(&prc)).into()
3417 }
3418 unsafe extern "system" fn MediaInfo<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPEffects_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lchannelcount: i32, lsamplerate: i32, bstrtitle: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
3419 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3420 let this = (*this).get_impl();
3421 this.MediaInfo(::core::mem::transmute_copy(&lchannelcount), ::core::mem::transmute_copy(&lsamplerate), ::core::mem::transmute(&bstrtitle)).into()
3422 }
3423 unsafe extern "system" fn GetCapabilities<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPEffects_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdwcapabilities: *mut u32) -> ::windows::core::HRESULT {
3424 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3425 let this = (*this).get_impl();
3426 this.GetCapabilities(::core::mem::transmute_copy(&pdwcapabilities)).into()
3427 }
3428 unsafe extern "system" fn GetTitle<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPEffects_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrtitle: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
3429 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3430 let this = (*this).get_impl();
3431 this.GetTitle(::core::mem::transmute_copy(&bstrtitle)).into()
3432 }
3433 unsafe extern "system" fn GetPresetTitle<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPEffects_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, npreset: i32, bstrpresettitle: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
3434 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3435 let this = (*this).get_impl();
3436 this.GetPresetTitle(::core::mem::transmute_copy(&npreset), ::core::mem::transmute_copy(&bstrpresettitle)).into()
3437 }
3438 unsafe extern "system" fn GetPresetCount<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPEffects_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pnpresetcount: *mut i32) -> ::windows::core::HRESULT {
3439 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3440 let this = (*this).get_impl();
3441 this.GetPresetCount(::core::mem::transmute_copy(&pnpresetcount)).into()
3442 }
3443 unsafe extern "system" fn SetCurrentPreset<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPEffects_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, npreset: i32) -> ::windows::core::HRESULT {
3444 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3445 let this = (*this).get_impl();
3446 this.SetCurrentPreset(::core::mem::transmute_copy(&npreset)).into()
3447 }
3448 unsafe extern "system" fn GetCurrentPreset<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPEffects_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pnpreset: *mut i32) -> ::windows::core::HRESULT {
3449 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3450 let this = (*this).get_impl();
3451 this.GetCurrentPreset(::core::mem::transmute_copy(&pnpreset)).into()
3452 }
3453 unsafe extern "system" fn DisplayPropertyPage<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPEffects_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, hwndowner: super::super::Foundation::HWND) -> ::windows::core::HRESULT {
3454 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3455 let this = (*this).get_impl();
3456 this.DisplayPropertyPage(::core::mem::transmute_copy(&hwndowner)).into()
3457 }
3458 unsafe extern "system" fn GoFullscreen<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPEffects_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ffullscreen: super::super::Foundation::BOOL) -> ::windows::core::HRESULT {
3459 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3460 let this = (*this).get_impl();
3461 this.GoFullscreen(::core::mem::transmute_copy(&ffullscreen)).into()
3462 }
3463 unsafe extern "system" fn RenderFullScreen<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPEffects_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, plevels: *mut TimedLevel) -> ::windows::core::HRESULT {
3464 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3465 let this = (*this).get_impl();
3466 this.RenderFullScreen(::core::mem::transmute_copy(&plevels)).into()
3467 }
3468 Self {
3469 base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
3470 Render: Render::<Identity, Impl, OFFSET>,
3471 MediaInfo: MediaInfo::<Identity, Impl, OFFSET>,
3472 GetCapabilities: GetCapabilities::<Identity, Impl, OFFSET>,
3473 GetTitle: GetTitle::<Identity, Impl, OFFSET>,
3474 GetPresetTitle: GetPresetTitle::<Identity, Impl, OFFSET>,
3475 GetPresetCount: GetPresetCount::<Identity, Impl, OFFSET>,
3476 SetCurrentPreset: SetCurrentPreset::<Identity, Impl, OFFSET>,
3477 GetCurrentPreset: GetCurrentPreset::<Identity, Impl, OFFSET>,
3478 DisplayPropertyPage: DisplayPropertyPage::<Identity, Impl, OFFSET>,
3479 GoFullscreen: GoFullscreen::<Identity, Impl, OFFSET>,
3480 RenderFullScreen: RenderFullScreen::<Identity, Impl, OFFSET>,
3481 }
3482 }
3483 pub fn matches(iid: &windows::core::GUID) -> bool {
3484 iid == &<IWMPEffects as ::windows::core::ComInterface>::IID
3485 }
3486 }
3487 #[doc = "*Required features: `\"Win32_Media_MediaPlayer\"`, `\"Win32_Foundation\"`, `\"Win32_Graphics_Gdi\"`, `\"Win32_System_Com\"`, `\"implement\"`*"]
3488 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi", feature = "Win32_System_Com"))]
3489 pub trait IWMPEffects2_Impl: Sized + IWMPEffects_Impl {
3490 fn SetCore(&self, pplayer: ::core::option::Option<&IWMPCore>) -> ::windows::core::Result<()>;
3491 fn Create(&self, hwndparent: super::super::Foundation::HWND) -> ::windows::core::Result<()>;
3492 fn Destroy(&self) -> ::windows::core::Result<()>;
3493 fn NotifyNewMedia(&self, pmedia: ::core::option::Option<&IWMPMedia>) -> ::windows::core::Result<()>;
3494 fn OnWindowMessage(&self, msg: u32, wparam: super::super::Foundation::WPARAM, lparam: super::super::Foundation::LPARAM, plresultparam: *mut super::super::Foundation::LRESULT) -> ::windows::core::Result<()>;
3495 fn RenderWindowed(&self, pdata: *mut TimedLevel, frequiredrender: super::super::Foundation::BOOL) -> ::windows::core::Result<()>;
3496 }
3497 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi", feature = "Win32_System_Com"))]
3498 impl ::windows::core::RuntimeName for IWMPEffects2 {}
3499 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi", feature = "Win32_System_Com"))]
3500 impl IWMPEffects2_Vtbl {
3501 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPEffects2_Impl, const OFFSET: isize>() -> IWMPEffects2_Vtbl {
3502 unsafe extern "system" fn SetCore<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPEffects2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pplayer: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
3503 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3504 let this = (*this).get_impl();
3505 this.SetCore(::windows::core::from_raw_borrowed(&pplayer)).into()
3506 }
3507 unsafe extern "system" fn Create<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPEffects2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, hwndparent: super::super::Foundation::HWND) -> ::windows::core::HRESULT {
3508 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3509 let this = (*this).get_impl();
3510 this.Create(::core::mem::transmute_copy(&hwndparent)).into()
3511 }
3512 unsafe extern "system" fn Destroy<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPEffects2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
3513 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3514 let this = (*this).get_impl();
3515 this.Destroy().into()
3516 }
3517 unsafe extern "system" fn NotifyNewMedia<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPEffects2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pmedia: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
3518 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3519 let this = (*this).get_impl();
3520 this.NotifyNewMedia(::windows::core::from_raw_borrowed(&pmedia)).into()
3521 }
3522 unsafe extern "system" fn OnWindowMessage<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPEffects2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, msg: u32, wparam: super::super::Foundation::WPARAM, lparam: super::super::Foundation::LPARAM, plresultparam: *mut super::super::Foundation::LRESULT) -> ::windows::core::HRESULT {
3523 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3524 let this = (*this).get_impl();
3525 this.OnWindowMessage(::core::mem::transmute_copy(&msg), ::core::mem::transmute_copy(&wparam), ::core::mem::transmute_copy(&lparam), ::core::mem::transmute_copy(&plresultparam)).into()
3526 }
3527 unsafe extern "system" fn RenderWindowed<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPEffects2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdata: *mut TimedLevel, frequiredrender: super::super::Foundation::BOOL) -> ::windows::core::HRESULT {
3528 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3529 let this = (*this).get_impl();
3530 this.RenderWindowed(::core::mem::transmute_copy(&pdata), ::core::mem::transmute_copy(&frequiredrender)).into()
3531 }
3532 Self {
3533 base__: IWMPEffects_Vtbl::new::<Identity, Impl, OFFSET>(),
3534 SetCore: SetCore::<Identity, Impl, OFFSET>,
3535 Create: Create::<Identity, Impl, OFFSET>,
3536 Destroy: Destroy::<Identity, Impl, OFFSET>,
3537 NotifyNewMedia: NotifyNewMedia::<Identity, Impl, OFFSET>,
3538 OnWindowMessage: OnWindowMessage::<Identity, Impl, OFFSET>,
3539 RenderWindowed: RenderWindowed::<Identity, Impl, OFFSET>,
3540 }
3541 }
3542 pub fn matches(iid: &windows::core::GUID) -> bool {
3543 iid == &<IWMPEffects2 as ::windows::core::ComInterface>::IID || iid == &<IWMPEffects as ::windows::core::ComInterface>::IID
3544 }
3545 }
3546 #[doc = "*Required features: `\"Win32_Media_MediaPlayer\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
3547 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
3548 pub trait IWMPError_Impl: Sized + super::super::System::Com::IDispatch_Impl {
3549 fn clearErrorQueue(&self) -> ::windows::core::Result<()>;
3550 fn errorCount(&self, plnumerrors: *mut i32) -> ::windows::core::Result<()>;
3551 fn get_item(&self, dwindex: i32) -> ::windows::core::Result<IWMPErrorItem>;
3552 fn webHelp(&self) -> ::windows::core::Result<()>;
3553 }
3554 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
3555 impl ::windows::core::RuntimeName for IWMPError {}
3556 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
3557 impl IWMPError_Vtbl {
3558 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPError_Impl, const OFFSET: isize>() -> IWMPError_Vtbl {
3559 unsafe extern "system" fn clearErrorQueue<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPError_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
3560 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3561 let this = (*this).get_impl();
3562 this.clearErrorQueue().into()
3563 }
3564 unsafe extern "system" fn errorCount<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPError_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, plnumerrors: *mut i32) -> ::windows::core::HRESULT {
3565 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3566 let this = (*this).get_impl();
3567 this.errorCount(::core::mem::transmute_copy(&plnumerrors)).into()
3568 }
3569 unsafe extern "system" fn get_item<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPError_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwindex: i32, pperroritem: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
3570 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3571 let this = (*this).get_impl();
3572 match this.get_item(::core::mem::transmute_copy(&dwindex)) {
3573 ::core::result::Result::Ok(ok__) => {
3574 ::core::ptr::write(pperroritem, ::core::mem::transmute(ok__));
3575 ::windows::core::HRESULT(0)
3576 }
3577 ::core::result::Result::Err(err) => err.into(),
3578 }
3579 }
3580 unsafe extern "system" fn webHelp<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPError_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
3581 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3582 let this = (*this).get_impl();
3583 this.webHelp().into()
3584 }
3585 Self {
3586 base__: super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
3587 clearErrorQueue: clearErrorQueue::<Identity, Impl, OFFSET>,
3588 errorCount: errorCount::<Identity, Impl, OFFSET>,
3589 get_item: get_item::<Identity, Impl, OFFSET>,
3590 webHelp: webHelp::<Identity, Impl, OFFSET>,
3591 }
3592 }
3593 pub fn matches(iid: &windows::core::GUID) -> bool {
3594 iid == &<IWMPError as ::windows::core::ComInterface>::IID || iid == &<super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID
3595 }
3596 }
3597 #[doc = "*Required features: `\"Win32_Media_MediaPlayer\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
3598 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
3599 pub trait IWMPErrorItem_Impl: Sized + super::super::System::Com::IDispatch_Impl {
3600 fn errorCode(&self, phr: *mut i32) -> ::windows::core::Result<()>;
3601 fn errorDescription(&self, pbstrdescription: *mut ::windows::core::BSTR) -> ::windows::core::Result<()>;
3602 fn errorContext(&self, pvarcontext: *mut super::super::System::Com::VARIANT) -> ::windows::core::Result<()>;
3603 fn remedy(&self, plremedy: *mut i32) -> ::windows::core::Result<()>;
3604 fn customUrl(&self, pbstrcustomurl: *mut ::windows::core::BSTR) -> ::windows::core::Result<()>;
3605 }
3606 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
3607 impl ::windows::core::RuntimeName for IWMPErrorItem {}
3608 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
3609 impl IWMPErrorItem_Vtbl {
3610 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPErrorItem_Impl, const OFFSET: isize>() -> IWMPErrorItem_Vtbl {
3611 unsafe extern "system" fn errorCode<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPErrorItem_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, phr: *mut i32) -> ::windows::core::HRESULT {
3612 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3613 let this = (*this).get_impl();
3614 this.errorCode(::core::mem::transmute_copy(&phr)).into()
3615 }
3616 unsafe extern "system" fn errorDescription<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPErrorItem_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbstrdescription: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
3617 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3618 let this = (*this).get_impl();
3619 this.errorDescription(::core::mem::transmute_copy(&pbstrdescription)).into()
3620 }
3621 unsafe extern "system" fn errorContext<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPErrorItem_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvarcontext: *mut super::super::System::Com::VARIANT) -> ::windows::core::HRESULT {
3622 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3623 let this = (*this).get_impl();
3624 this.errorContext(::core::mem::transmute_copy(&pvarcontext)).into()
3625 }
3626 unsafe extern "system" fn remedy<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPErrorItem_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, plremedy: *mut i32) -> ::windows::core::HRESULT {
3627 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3628 let this = (*this).get_impl();
3629 this.remedy(::core::mem::transmute_copy(&plremedy)).into()
3630 }
3631 unsafe extern "system" fn customUrl<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPErrorItem_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbstrcustomurl: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
3632 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3633 let this = (*this).get_impl();
3634 this.customUrl(::core::mem::transmute_copy(&pbstrcustomurl)).into()
3635 }
3636 Self {
3637 base__: super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
3638 errorCode: errorCode::<Identity, Impl, OFFSET>,
3639 errorDescription: errorDescription::<Identity, Impl, OFFSET>,
3640 errorContext: errorContext::<Identity, Impl, OFFSET>,
3641 remedy: remedy::<Identity, Impl, OFFSET>,
3642 customUrl: customUrl::<Identity, Impl, OFFSET>,
3643 }
3644 }
3645 pub fn matches(iid: &windows::core::GUID) -> bool {
3646 iid == &<IWMPErrorItem as ::windows::core::ComInterface>::IID || iid == &<super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID
3647 }
3648 }
3649 #[doc = "*Required features: `\"Win32_Media_MediaPlayer\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
3650 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
3651 pub trait IWMPErrorItem2_Impl: Sized + IWMPErrorItem_Impl {
3652 fn condition(&self, plcondition: *mut i32) -> ::windows::core::Result<()>;
3653 }
3654 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
3655 impl ::windows::core::RuntimeName for IWMPErrorItem2 {}
3656 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
3657 impl IWMPErrorItem2_Vtbl {
3658 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPErrorItem2_Impl, const OFFSET: isize>() -> IWMPErrorItem2_Vtbl {
3659 unsafe extern "system" fn condition<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPErrorItem2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, plcondition: *mut i32) -> ::windows::core::HRESULT {
3660 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3661 let this = (*this).get_impl();
3662 this.condition(::core::mem::transmute_copy(&plcondition)).into()
3663 }
3664 Self { base__: IWMPErrorItem_Vtbl::new::<Identity, Impl, OFFSET>(), condition: condition::<Identity, Impl, OFFSET> }
3665 }
3666 pub fn matches(iid: &windows::core::GUID) -> bool {
3667 iid == &<IWMPErrorItem2 as ::windows::core::ComInterface>::IID || iid == &<super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID || iid == &<IWMPErrorItem as ::windows::core::ComInterface>::IID
3668 }
3669 }
3670 #[doc = "*Required features: `\"Win32_Media_MediaPlayer\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"implement\"`*"]
3671 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
3672 pub trait IWMPEvents_Impl: Sized {
3673 fn OpenStateChange(&self, newstate: i32);
3674 fn PlayStateChange(&self, newstate: i32);
3675 fn AudioLanguageChange(&self, langid: i32);
3676 fn StatusChange(&self);
3677 fn ScriptCommand(&self, sctype: &::windows::core::BSTR, param: &::windows::core::BSTR);
3678 fn NewStream(&self);
3679 fn Disconnect(&self, result: i32);
3680 fn Buffering(&self, start: super::super::Foundation::VARIANT_BOOL);
3681 fn Error(&self);
3682 fn Warning(&self, warningtype: i32, param: i32, description: &::windows::core::BSTR);
3683 fn EndOfStream(&self, result: i32);
3684 fn PositionChange(&self, oldposition: f64, newposition: f64);
3685 fn MarkerHit(&self, markernum: i32);
3686 fn DurationUnitChange(&self, newdurationunit: i32);
3687 fn CdromMediaChange(&self, cdromnum: i32);
3688 fn PlaylistChange(&self, playlist: ::core::option::Option<&super::super::System::Com::IDispatch>, change: WMPPlaylistChangeEventType);
3689 fn CurrentPlaylistChange(&self, change: WMPPlaylistChangeEventType);
3690 fn CurrentPlaylistItemAvailable(&self, bstritemname: &::windows::core::BSTR);
3691 fn MediaChange(&self, item: ::core::option::Option<&super::super::System::Com::IDispatch>);
3692 fn CurrentMediaItemAvailable(&self, bstritemname: &::windows::core::BSTR);
3693 fn CurrentItemChange(&self, pdispmedia: ::core::option::Option<&super::super::System::Com::IDispatch>);
3694 fn MediaCollectionChange(&self);
3695 fn MediaCollectionAttributeStringAdded(&self, bstrattribname: &::windows::core::BSTR, bstrattribval: &::windows::core::BSTR);
3696 fn MediaCollectionAttributeStringRemoved(&self, bstrattribname: &::windows::core::BSTR, bstrattribval: &::windows::core::BSTR);
3697 fn MediaCollectionAttributeStringChanged(&self, bstrattribname: &::windows::core::BSTR, bstroldattribval: &::windows::core::BSTR, bstrnewattribval: &::windows::core::BSTR);
3698 fn PlaylistCollectionChange(&self);
3699 fn PlaylistCollectionPlaylistAdded(&self, bstrplaylistname: &::windows::core::BSTR);
3700 fn PlaylistCollectionPlaylistRemoved(&self, bstrplaylistname: &::windows::core::BSTR);
3701 fn PlaylistCollectionPlaylistSetAsDeleted(&self, bstrplaylistname: &::windows::core::BSTR, varfisdeleted: super::super::Foundation::VARIANT_BOOL);
3702 fn ModeChange(&self, modename: &::windows::core::BSTR, newvalue: super::super::Foundation::VARIANT_BOOL);
3703 fn MediaError(&self, pmediaobject: ::core::option::Option<&super::super::System::Com::IDispatch>);
3704 fn OpenPlaylistSwitch(&self, pitem: ::core::option::Option<&super::super::System::Com::IDispatch>);
3705 fn DomainChange(&self, strdomain: &::windows::core::BSTR);
3706 fn SwitchedToPlayerApplication(&self);
3707 fn SwitchedToControl(&self);
3708 fn PlayerDockedStateChange(&self);
3709 fn PlayerReconnect(&self);
3710 fn Click(&self, nbutton: i16, nshiftstate: i16, fx: i32, fy: i32);
3711 fn DoubleClick(&self, nbutton: i16, nshiftstate: i16, fx: i32, fy: i32);
3712 fn KeyDown(&self, nkeycode: i16, nshiftstate: i16);
3713 fn KeyPress(&self, nkeyascii: i16);
3714 fn KeyUp(&self, nkeycode: i16, nshiftstate: i16);
3715 fn MouseDown(&self, nbutton: i16, nshiftstate: i16, fx: i32, fy: i32);
3716 fn MouseMove(&self, nbutton: i16, nshiftstate: i16, fx: i32, fy: i32);
3717 fn MouseUp(&self, nbutton: i16, nshiftstate: i16, fx: i32, fy: i32);
3718 }
3719 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
3720 impl ::windows::core::RuntimeName for IWMPEvents {}
3721 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
3722 impl IWMPEvents_Vtbl {
3723 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPEvents_Impl, const OFFSET: isize>() -> IWMPEvents_Vtbl {
3724 unsafe extern "system" fn OpenStateChange<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, newstate: i32) {
3725 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3726 let this = (*this).get_impl();
3727 this.OpenStateChange(::core::mem::transmute_copy(&newstate))
3728 }
3729 unsafe extern "system" fn PlayStateChange<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, newstate: i32) {
3730 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3731 let this = (*this).get_impl();
3732 this.PlayStateChange(::core::mem::transmute_copy(&newstate))
3733 }
3734 unsafe extern "system" fn AudioLanguageChange<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, langid: i32) {
3735 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3736 let this = (*this).get_impl();
3737 this.AudioLanguageChange(::core::mem::transmute_copy(&langid))
3738 }
3739 unsafe extern "system" fn StatusChange<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) {
3740 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3741 let this = (*this).get_impl();
3742 this.StatusChange()
3743 }
3744 unsafe extern "system" fn ScriptCommand<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, sctype: ::std::mem::MaybeUninit<::windows::core::BSTR>, param: ::std::mem::MaybeUninit<::windows::core::BSTR>) {
3745 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3746 let this = (*this).get_impl();
3747 this.ScriptCommand(::core::mem::transmute(&sctype), ::core::mem::transmute(&param))
3748 }
3749 unsafe extern "system" fn NewStream<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) {
3750 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3751 let this = (*this).get_impl();
3752 this.NewStream()
3753 }
3754 unsafe extern "system" fn Disconnect<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, result: i32) {
3755 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3756 let this = (*this).get_impl();
3757 this.Disconnect(::core::mem::transmute_copy(&result))
3758 }
3759 unsafe extern "system" fn Buffering<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, start: super::super::Foundation::VARIANT_BOOL) {
3760 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3761 let this = (*this).get_impl();
3762 this.Buffering(::core::mem::transmute_copy(&start))
3763 }
3764 unsafe extern "system" fn Error<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) {
3765 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3766 let this = (*this).get_impl();
3767 this.Error()
3768 }
3769 unsafe extern "system" fn Warning<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, warningtype: i32, param: i32, description: ::std::mem::MaybeUninit<::windows::core::BSTR>) {
3770 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3771 let this = (*this).get_impl();
3772 this.Warning(::core::mem::transmute_copy(&warningtype), ::core::mem::transmute_copy(&param), ::core::mem::transmute(&description))
3773 }
3774 unsafe extern "system" fn EndOfStream<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, result: i32) {
3775 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3776 let this = (*this).get_impl();
3777 this.EndOfStream(::core::mem::transmute_copy(&result))
3778 }
3779 unsafe extern "system" fn PositionChange<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, oldposition: f64, newposition: f64) {
3780 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3781 let this = (*this).get_impl();
3782 this.PositionChange(::core::mem::transmute_copy(&oldposition), ::core::mem::transmute_copy(&newposition))
3783 }
3784 unsafe extern "system" fn MarkerHit<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, markernum: i32) {
3785 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3786 let this = (*this).get_impl();
3787 this.MarkerHit(::core::mem::transmute_copy(&markernum))
3788 }
3789 unsafe extern "system" fn DurationUnitChange<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, newdurationunit: i32) {
3790 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3791 let this = (*this).get_impl();
3792 this.DurationUnitChange(::core::mem::transmute_copy(&newdurationunit))
3793 }
3794 unsafe extern "system" fn CdromMediaChange<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, cdromnum: i32) {
3795 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3796 let this = (*this).get_impl();
3797 this.CdromMediaChange(::core::mem::transmute_copy(&cdromnum))
3798 }
3799 unsafe extern "system" fn PlaylistChange<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, playlist: *mut ::core::ffi::c_void, change: WMPPlaylistChangeEventType) {
3800 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3801 let this = (*this).get_impl();
3802 this.PlaylistChange(::windows::core::from_raw_borrowed(&playlist), ::core::mem::transmute_copy(&change))
3803 }
3804 unsafe extern "system" fn CurrentPlaylistChange<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, change: WMPPlaylistChangeEventType) {
3805 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3806 let this = (*this).get_impl();
3807 this.CurrentPlaylistChange(::core::mem::transmute_copy(&change))
3808 }
3809 unsafe extern "system" fn CurrentPlaylistItemAvailable<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstritemname: ::std::mem::MaybeUninit<::windows::core::BSTR>) {
3810 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3811 let this = (*this).get_impl();
3812 this.CurrentPlaylistItemAvailable(::core::mem::transmute(&bstritemname))
3813 }
3814 unsafe extern "system" fn MediaChange<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, item: *mut ::core::ffi::c_void) {
3815 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3816 let this = (*this).get_impl();
3817 this.MediaChange(::windows::core::from_raw_borrowed(&item))
3818 }
3819 unsafe extern "system" fn CurrentMediaItemAvailable<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstritemname: ::std::mem::MaybeUninit<::windows::core::BSTR>) {
3820 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3821 let this = (*this).get_impl();
3822 this.CurrentMediaItemAvailable(::core::mem::transmute(&bstritemname))
3823 }
3824 unsafe extern "system" fn CurrentItemChange<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdispmedia: *mut ::core::ffi::c_void) {
3825 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3826 let this = (*this).get_impl();
3827 this.CurrentItemChange(::windows::core::from_raw_borrowed(&pdispmedia))
3828 }
3829 unsafe extern "system" fn MediaCollectionChange<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) {
3830 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3831 let this = (*this).get_impl();
3832 this.MediaCollectionChange()
3833 }
3834 unsafe extern "system" fn MediaCollectionAttributeStringAdded<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrattribname: ::std::mem::MaybeUninit<::windows::core::BSTR>, bstrattribval: ::std::mem::MaybeUninit<::windows::core::BSTR>) {
3835 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3836 let this = (*this).get_impl();
3837 this.MediaCollectionAttributeStringAdded(::core::mem::transmute(&bstrattribname), ::core::mem::transmute(&bstrattribval))
3838 }
3839 unsafe extern "system" fn MediaCollectionAttributeStringRemoved<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrattribname: ::std::mem::MaybeUninit<::windows::core::BSTR>, bstrattribval: ::std::mem::MaybeUninit<::windows::core::BSTR>) {
3840 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3841 let this = (*this).get_impl();
3842 this.MediaCollectionAttributeStringRemoved(::core::mem::transmute(&bstrattribname), ::core::mem::transmute(&bstrattribval))
3843 }
3844 unsafe extern "system" fn MediaCollectionAttributeStringChanged<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrattribname: ::std::mem::MaybeUninit<::windows::core::BSTR>, bstroldattribval: ::std::mem::MaybeUninit<::windows::core::BSTR>, bstrnewattribval: ::std::mem::MaybeUninit<::windows::core::BSTR>) {
3845 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3846 let this = (*this).get_impl();
3847 this.MediaCollectionAttributeStringChanged(::core::mem::transmute(&bstrattribname), ::core::mem::transmute(&bstroldattribval), ::core::mem::transmute(&bstrnewattribval))
3848 }
3849 unsafe extern "system" fn PlaylistCollectionChange<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) {
3850 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3851 let this = (*this).get_impl();
3852 this.PlaylistCollectionChange()
3853 }
3854 unsafe extern "system" fn PlaylistCollectionPlaylistAdded<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrplaylistname: ::std::mem::MaybeUninit<::windows::core::BSTR>) {
3855 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3856 let this = (*this).get_impl();
3857 this.PlaylistCollectionPlaylistAdded(::core::mem::transmute(&bstrplaylistname))
3858 }
3859 unsafe extern "system" fn PlaylistCollectionPlaylistRemoved<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrplaylistname: ::std::mem::MaybeUninit<::windows::core::BSTR>) {
3860 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3861 let this = (*this).get_impl();
3862 this.PlaylistCollectionPlaylistRemoved(::core::mem::transmute(&bstrplaylistname))
3863 }
3864 unsafe extern "system" fn PlaylistCollectionPlaylistSetAsDeleted<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrplaylistname: ::std::mem::MaybeUninit<::windows::core::BSTR>, varfisdeleted: super::super::Foundation::VARIANT_BOOL) {
3865 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3866 let this = (*this).get_impl();
3867 this.PlaylistCollectionPlaylistSetAsDeleted(::core::mem::transmute(&bstrplaylistname), ::core::mem::transmute_copy(&varfisdeleted))
3868 }
3869 unsafe extern "system" fn ModeChange<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, modename: ::std::mem::MaybeUninit<::windows::core::BSTR>, newvalue: super::super::Foundation::VARIANT_BOOL) {
3870 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3871 let this = (*this).get_impl();
3872 this.ModeChange(::core::mem::transmute(&modename), ::core::mem::transmute_copy(&newvalue))
3873 }
3874 unsafe extern "system" fn MediaError<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pmediaobject: *mut ::core::ffi::c_void) {
3875 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3876 let this = (*this).get_impl();
3877 this.MediaError(::windows::core::from_raw_borrowed(&pmediaobject))
3878 }
3879 unsafe extern "system" fn OpenPlaylistSwitch<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pitem: *mut ::core::ffi::c_void) {
3880 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3881 let this = (*this).get_impl();
3882 this.OpenPlaylistSwitch(::windows::core::from_raw_borrowed(&pitem))
3883 }
3884 unsafe extern "system" fn DomainChange<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strdomain: ::std::mem::MaybeUninit<::windows::core::BSTR>) {
3885 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3886 let this = (*this).get_impl();
3887 this.DomainChange(::core::mem::transmute(&strdomain))
3888 }
3889 unsafe extern "system" fn SwitchedToPlayerApplication<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) {
3890 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3891 let this = (*this).get_impl();
3892 this.SwitchedToPlayerApplication()
3893 }
3894 unsafe extern "system" fn SwitchedToControl<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) {
3895 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3896 let this = (*this).get_impl();
3897 this.SwitchedToControl()
3898 }
3899 unsafe extern "system" fn PlayerDockedStateChange<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) {
3900 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3901 let this = (*this).get_impl();
3902 this.PlayerDockedStateChange()
3903 }
3904 unsafe extern "system" fn PlayerReconnect<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) {
3905 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3906 let this = (*this).get_impl();
3907 this.PlayerReconnect()
3908 }
3909 unsafe extern "system" fn Click<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, nbutton: i16, nshiftstate: i16, fx: i32, fy: i32) {
3910 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3911 let this = (*this).get_impl();
3912 this.Click(::core::mem::transmute_copy(&nbutton), ::core::mem::transmute_copy(&nshiftstate), ::core::mem::transmute_copy(&fx), ::core::mem::transmute_copy(&fy))
3913 }
3914 unsafe extern "system" fn DoubleClick<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, nbutton: i16, nshiftstate: i16, fx: i32, fy: i32) {
3915 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3916 let this = (*this).get_impl();
3917 this.DoubleClick(::core::mem::transmute_copy(&nbutton), ::core::mem::transmute_copy(&nshiftstate), ::core::mem::transmute_copy(&fx), ::core::mem::transmute_copy(&fy))
3918 }
3919 unsafe extern "system" fn KeyDown<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, nkeycode: i16, nshiftstate: i16) {
3920 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3921 let this = (*this).get_impl();
3922 this.KeyDown(::core::mem::transmute_copy(&nkeycode), ::core::mem::transmute_copy(&nshiftstate))
3923 }
3924 unsafe extern "system" fn KeyPress<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, nkeyascii: i16) {
3925 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3926 let this = (*this).get_impl();
3927 this.KeyPress(::core::mem::transmute_copy(&nkeyascii))
3928 }
3929 unsafe extern "system" fn KeyUp<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, nkeycode: i16, nshiftstate: i16) {
3930 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3931 let this = (*this).get_impl();
3932 this.KeyUp(::core::mem::transmute_copy(&nkeycode), ::core::mem::transmute_copy(&nshiftstate))
3933 }
3934 unsafe extern "system" fn MouseDown<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, nbutton: i16, nshiftstate: i16, fx: i32, fy: i32) {
3935 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3936 let this = (*this).get_impl();
3937 this.MouseDown(::core::mem::transmute_copy(&nbutton), ::core::mem::transmute_copy(&nshiftstate), ::core::mem::transmute_copy(&fx), ::core::mem::transmute_copy(&fy))
3938 }
3939 unsafe extern "system" fn MouseMove<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, nbutton: i16, nshiftstate: i16, fx: i32, fy: i32) {
3940 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3941 let this = (*this).get_impl();
3942 this.MouseMove(::core::mem::transmute_copy(&nbutton), ::core::mem::transmute_copy(&nshiftstate), ::core::mem::transmute_copy(&fx), ::core::mem::transmute_copy(&fy))
3943 }
3944 unsafe extern "system" fn MouseUp<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, nbutton: i16, nshiftstate: i16, fx: i32, fy: i32) {
3945 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3946 let this = (*this).get_impl();
3947 this.MouseUp(::core::mem::transmute_copy(&nbutton), ::core::mem::transmute_copy(&nshiftstate), ::core::mem::transmute_copy(&fx), ::core::mem::transmute_copy(&fy))
3948 }
3949 Self {
3950 base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
3951 OpenStateChange: OpenStateChange::<Identity, Impl, OFFSET>,
3952 PlayStateChange: PlayStateChange::<Identity, Impl, OFFSET>,
3953 AudioLanguageChange: AudioLanguageChange::<Identity, Impl, OFFSET>,
3954 StatusChange: StatusChange::<Identity, Impl, OFFSET>,
3955 ScriptCommand: ScriptCommand::<Identity, Impl, OFFSET>,
3956 NewStream: NewStream::<Identity, Impl, OFFSET>,
3957 Disconnect: Disconnect::<Identity, Impl, OFFSET>,
3958 Buffering: Buffering::<Identity, Impl, OFFSET>,
3959 Error: Error::<Identity, Impl, OFFSET>,
3960 Warning: Warning::<Identity, Impl, OFFSET>,
3961 EndOfStream: EndOfStream::<Identity, Impl, OFFSET>,
3962 PositionChange: PositionChange::<Identity, Impl, OFFSET>,
3963 MarkerHit: MarkerHit::<Identity, Impl, OFFSET>,
3964 DurationUnitChange: DurationUnitChange::<Identity, Impl, OFFSET>,
3965 CdromMediaChange: CdromMediaChange::<Identity, Impl, OFFSET>,
3966 PlaylistChange: PlaylistChange::<Identity, Impl, OFFSET>,
3967 CurrentPlaylistChange: CurrentPlaylistChange::<Identity, Impl, OFFSET>,
3968 CurrentPlaylistItemAvailable: CurrentPlaylistItemAvailable::<Identity, Impl, OFFSET>,
3969 MediaChange: MediaChange::<Identity, Impl, OFFSET>,
3970 CurrentMediaItemAvailable: CurrentMediaItemAvailable::<Identity, Impl, OFFSET>,
3971 CurrentItemChange: CurrentItemChange::<Identity, Impl, OFFSET>,
3972 MediaCollectionChange: MediaCollectionChange::<Identity, Impl, OFFSET>,
3973 MediaCollectionAttributeStringAdded: MediaCollectionAttributeStringAdded::<Identity, Impl, OFFSET>,
3974 MediaCollectionAttributeStringRemoved: MediaCollectionAttributeStringRemoved::<Identity, Impl, OFFSET>,
3975 MediaCollectionAttributeStringChanged: MediaCollectionAttributeStringChanged::<Identity, Impl, OFFSET>,
3976 PlaylistCollectionChange: PlaylistCollectionChange::<Identity, Impl, OFFSET>,
3977 PlaylistCollectionPlaylistAdded: PlaylistCollectionPlaylistAdded::<Identity, Impl, OFFSET>,
3978 PlaylistCollectionPlaylistRemoved: PlaylistCollectionPlaylistRemoved::<Identity, Impl, OFFSET>,
3979 PlaylistCollectionPlaylistSetAsDeleted: PlaylistCollectionPlaylistSetAsDeleted::<Identity, Impl, OFFSET>,
3980 ModeChange: ModeChange::<Identity, Impl, OFFSET>,
3981 MediaError: MediaError::<Identity, Impl, OFFSET>,
3982 OpenPlaylistSwitch: OpenPlaylistSwitch::<Identity, Impl, OFFSET>,
3983 DomainChange: DomainChange::<Identity, Impl, OFFSET>,
3984 SwitchedToPlayerApplication: SwitchedToPlayerApplication::<Identity, Impl, OFFSET>,
3985 SwitchedToControl: SwitchedToControl::<Identity, Impl, OFFSET>,
3986 PlayerDockedStateChange: PlayerDockedStateChange::<Identity, Impl, OFFSET>,
3987 PlayerReconnect: PlayerReconnect::<Identity, Impl, OFFSET>,
3988 Click: Click::<Identity, Impl, OFFSET>,
3989 DoubleClick: DoubleClick::<Identity, Impl, OFFSET>,
3990 KeyDown: KeyDown::<Identity, Impl, OFFSET>,
3991 KeyPress: KeyPress::<Identity, Impl, OFFSET>,
3992 KeyUp: KeyUp::<Identity, Impl, OFFSET>,
3993 MouseDown: MouseDown::<Identity, Impl, OFFSET>,
3994 MouseMove: MouseMove::<Identity, Impl, OFFSET>,
3995 MouseUp: MouseUp::<Identity, Impl, OFFSET>,
3996 }
3997 }
3998 pub fn matches(iid: &windows::core::GUID) -> bool {
3999 iid == &<IWMPEvents as ::windows::core::ComInterface>::IID
4000 }
4001 }
4002 #[doc = "*Required features: `\"Win32_Media_MediaPlayer\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"implement\"`*"]
4003 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
4004 pub trait IWMPEvents2_Impl: Sized + IWMPEvents_Impl {
4005 fn DeviceConnect(&self, pdevice: ::core::option::Option<&IWMPSyncDevice>);
4006 fn DeviceDisconnect(&self, pdevice: ::core::option::Option<&IWMPSyncDevice>);
4007 fn DeviceStatusChange(&self, pdevice: ::core::option::Option<&IWMPSyncDevice>, newstatus: WMPDeviceStatus);
4008 fn DeviceSyncStateChange(&self, pdevice: ::core::option::Option<&IWMPSyncDevice>, newstate: WMPSyncState);
4009 fn DeviceSyncError(&self, pdevice: ::core::option::Option<&IWMPSyncDevice>, pmedia: ::core::option::Option<&super::super::System::Com::IDispatch>);
4010 fn CreatePartnershipComplete(&self, pdevice: ::core::option::Option<&IWMPSyncDevice>, hrresult: ::windows::core::HRESULT);
4011 }
4012 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
4013 impl ::windows::core::RuntimeName for IWMPEvents2 {}
4014 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
4015 impl IWMPEvents2_Vtbl {
4016 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPEvents2_Impl, const OFFSET: isize>() -> IWMPEvents2_Vtbl {
4017 unsafe extern "system" fn DeviceConnect<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPEvents2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdevice: *mut ::core::ffi::c_void) {
4018 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4019 let this = (*this).get_impl();
4020 this.DeviceConnect(::windows::core::from_raw_borrowed(&pdevice))
4021 }
4022 unsafe extern "system" fn DeviceDisconnect<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPEvents2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdevice: *mut ::core::ffi::c_void) {
4023 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4024 let this = (*this).get_impl();
4025 this.DeviceDisconnect(::windows::core::from_raw_borrowed(&pdevice))
4026 }
4027 unsafe extern "system" fn DeviceStatusChange<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPEvents2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdevice: *mut ::core::ffi::c_void, newstatus: WMPDeviceStatus) {
4028 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4029 let this = (*this).get_impl();
4030 this.DeviceStatusChange(::windows::core::from_raw_borrowed(&pdevice), ::core::mem::transmute_copy(&newstatus))
4031 }
4032 unsafe extern "system" fn DeviceSyncStateChange<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPEvents2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdevice: *mut ::core::ffi::c_void, newstate: WMPSyncState) {
4033 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4034 let this = (*this).get_impl();
4035 this.DeviceSyncStateChange(::windows::core::from_raw_borrowed(&pdevice), ::core::mem::transmute_copy(&newstate))
4036 }
4037 unsafe extern "system" fn DeviceSyncError<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPEvents2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdevice: *mut ::core::ffi::c_void, pmedia: *mut ::core::ffi::c_void) {
4038 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4039 let this = (*this).get_impl();
4040 this.DeviceSyncError(::windows::core::from_raw_borrowed(&pdevice), ::windows::core::from_raw_borrowed(&pmedia))
4041 }
4042 unsafe extern "system" fn CreatePartnershipComplete<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPEvents2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdevice: *mut ::core::ffi::c_void, hrresult: ::windows::core::HRESULT) {
4043 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4044 let this = (*this).get_impl();
4045 this.CreatePartnershipComplete(::windows::core::from_raw_borrowed(&pdevice), ::core::mem::transmute_copy(&hrresult))
4046 }
4047 Self {
4048 base__: IWMPEvents_Vtbl::new::<Identity, Impl, OFFSET>(),
4049 DeviceConnect: DeviceConnect::<Identity, Impl, OFFSET>,
4050 DeviceDisconnect: DeviceDisconnect::<Identity, Impl, OFFSET>,
4051 DeviceStatusChange: DeviceStatusChange::<Identity, Impl, OFFSET>,
4052 DeviceSyncStateChange: DeviceSyncStateChange::<Identity, Impl, OFFSET>,
4053 DeviceSyncError: DeviceSyncError::<Identity, Impl, OFFSET>,
4054 CreatePartnershipComplete: CreatePartnershipComplete::<Identity, Impl, OFFSET>,
4055 }
4056 }
4057 pub fn matches(iid: &windows::core::GUID) -> bool {
4058 iid == &<IWMPEvents2 as ::windows::core::ComInterface>::IID || iid == &<IWMPEvents as ::windows::core::ComInterface>::IID
4059 }
4060 }
4061 #[doc = "*Required features: `\"Win32_Media_MediaPlayer\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"implement\"`*"]
4062 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
4063 pub trait IWMPEvents3_Impl: Sized + IWMPEvents2_Impl {
4064 fn CdromRipStateChange(&self, pcdromrip: ::core::option::Option<&IWMPCdromRip>, wmprs: WMPRipState);
4065 fn CdromRipMediaError(&self, pcdromrip: ::core::option::Option<&IWMPCdromRip>, pmedia: ::core::option::Option<&super::super::System::Com::IDispatch>);
4066 fn CdromBurnStateChange(&self, pcdromburn: ::core::option::Option<&IWMPCdromBurn>, wmpbs: WMPBurnState);
4067 fn CdromBurnMediaError(&self, pcdromburn: ::core::option::Option<&IWMPCdromBurn>, pmedia: ::core::option::Option<&super::super::System::Com::IDispatch>);
4068 fn CdromBurnError(&self, pcdromburn: ::core::option::Option<&IWMPCdromBurn>, hrerror: ::windows::core::HRESULT);
4069 fn LibraryConnect(&self, plibrary: ::core::option::Option<&IWMPLibrary>);
4070 fn LibraryDisconnect(&self, plibrary: ::core::option::Option<&IWMPLibrary>);
4071 fn FolderScanStateChange(&self, wmpfss: WMPFolderScanState);
4072 fn StringCollectionChange(&self, pdispstringcollection: ::core::option::Option<&super::super::System::Com::IDispatch>, change: WMPStringCollectionChangeEventType, lcollectionindex: i32);
4073 fn MediaCollectionMediaAdded(&self, pdispmedia: ::core::option::Option<&super::super::System::Com::IDispatch>);
4074 fn MediaCollectionMediaRemoved(&self, pdispmedia: ::core::option::Option<&super::super::System::Com::IDispatch>);
4075 }
4076 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
4077 impl ::windows::core::RuntimeName for IWMPEvents3 {}
4078 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
4079 impl IWMPEvents3_Vtbl {
4080 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPEvents3_Impl, const OFFSET: isize>() -> IWMPEvents3_Vtbl {
4081 unsafe extern "system" fn CdromRipStateChange<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPEvents3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pcdromrip: *mut ::core::ffi::c_void, wmprs: WMPRipState) {
4082 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4083 let this = (*this).get_impl();
4084 this.CdromRipStateChange(::windows::core::from_raw_borrowed(&pcdromrip), ::core::mem::transmute_copy(&wmprs))
4085 }
4086 unsafe extern "system" fn CdromRipMediaError<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPEvents3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pcdromrip: *mut ::core::ffi::c_void, pmedia: *mut ::core::ffi::c_void) {
4087 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4088 let this = (*this).get_impl();
4089 this.CdromRipMediaError(::windows::core::from_raw_borrowed(&pcdromrip), ::windows::core::from_raw_borrowed(&pmedia))
4090 }
4091 unsafe extern "system" fn CdromBurnStateChange<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPEvents3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pcdromburn: *mut ::core::ffi::c_void, wmpbs: WMPBurnState) {
4092 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4093 let this = (*this).get_impl();
4094 this.CdromBurnStateChange(::windows::core::from_raw_borrowed(&pcdromburn), ::core::mem::transmute_copy(&wmpbs))
4095 }
4096 unsafe extern "system" fn CdromBurnMediaError<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPEvents3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pcdromburn: *mut ::core::ffi::c_void, pmedia: *mut ::core::ffi::c_void) {
4097 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4098 let this = (*this).get_impl();
4099 this.CdromBurnMediaError(::windows::core::from_raw_borrowed(&pcdromburn), ::windows::core::from_raw_borrowed(&pmedia))
4100 }
4101 unsafe extern "system" fn CdromBurnError<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPEvents3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pcdromburn: *mut ::core::ffi::c_void, hrerror: ::windows::core::HRESULT) {
4102 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4103 let this = (*this).get_impl();
4104 this.CdromBurnError(::windows::core::from_raw_borrowed(&pcdromburn), ::core::mem::transmute_copy(&hrerror))
4105 }
4106 unsafe extern "system" fn LibraryConnect<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPEvents3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, plibrary: *mut ::core::ffi::c_void) {
4107 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4108 let this = (*this).get_impl();
4109 this.LibraryConnect(::windows::core::from_raw_borrowed(&plibrary))
4110 }
4111 unsafe extern "system" fn LibraryDisconnect<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPEvents3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, plibrary: *mut ::core::ffi::c_void) {
4112 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4113 let this = (*this).get_impl();
4114 this.LibraryDisconnect(::windows::core::from_raw_borrowed(&plibrary))
4115 }
4116 unsafe extern "system" fn FolderScanStateChange<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPEvents3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, wmpfss: WMPFolderScanState) {
4117 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4118 let this = (*this).get_impl();
4119 this.FolderScanStateChange(::core::mem::transmute_copy(&wmpfss))
4120 }
4121 unsafe extern "system" fn StringCollectionChange<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPEvents3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdispstringcollection: *mut ::core::ffi::c_void, change: WMPStringCollectionChangeEventType, lcollectionindex: i32) {
4122 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4123 let this = (*this).get_impl();
4124 this.StringCollectionChange(::windows::core::from_raw_borrowed(&pdispstringcollection), ::core::mem::transmute_copy(&change), ::core::mem::transmute_copy(&lcollectionindex))
4125 }
4126 unsafe extern "system" fn MediaCollectionMediaAdded<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPEvents3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdispmedia: *mut ::core::ffi::c_void) {
4127 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4128 let this = (*this).get_impl();
4129 this.MediaCollectionMediaAdded(::windows::core::from_raw_borrowed(&pdispmedia))
4130 }
4131 unsafe extern "system" fn MediaCollectionMediaRemoved<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPEvents3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdispmedia: *mut ::core::ffi::c_void) {
4132 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4133 let this = (*this).get_impl();
4134 this.MediaCollectionMediaRemoved(::windows::core::from_raw_borrowed(&pdispmedia))
4135 }
4136 Self {
4137 base__: IWMPEvents2_Vtbl::new::<Identity, Impl, OFFSET>(),
4138 CdromRipStateChange: CdromRipStateChange::<Identity, Impl, OFFSET>,
4139 CdromRipMediaError: CdromRipMediaError::<Identity, Impl, OFFSET>,
4140 CdromBurnStateChange: CdromBurnStateChange::<Identity, Impl, OFFSET>,
4141 CdromBurnMediaError: CdromBurnMediaError::<Identity, Impl, OFFSET>,
4142 CdromBurnError: CdromBurnError::<Identity, Impl, OFFSET>,
4143 LibraryConnect: LibraryConnect::<Identity, Impl, OFFSET>,
4144 LibraryDisconnect: LibraryDisconnect::<Identity, Impl, OFFSET>,
4145 FolderScanStateChange: FolderScanStateChange::<Identity, Impl, OFFSET>,
4146 StringCollectionChange: StringCollectionChange::<Identity, Impl, OFFSET>,
4147 MediaCollectionMediaAdded: MediaCollectionMediaAdded::<Identity, Impl, OFFSET>,
4148 MediaCollectionMediaRemoved: MediaCollectionMediaRemoved::<Identity, Impl, OFFSET>,
4149 }
4150 }
4151 pub fn matches(iid: &windows::core::GUID) -> bool {
4152 iid == &<IWMPEvents3 as ::windows::core::ComInterface>::IID || iid == &<IWMPEvents as ::windows::core::ComInterface>::IID || iid == &<IWMPEvents2 as ::windows::core::ComInterface>::IID
4153 }
4154 }
4155 #[doc = "*Required features: `\"Win32_Media_MediaPlayer\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"implement\"`*"]
4156 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
4157 pub trait IWMPEvents4_Impl: Sized + IWMPEvents3_Impl {
4158 fn DeviceEstimation(&self, pdevice: ::core::option::Option<&IWMPSyncDevice>, hrresult: ::windows::core::HRESULT, qwestimatedusedspace: i64, qwestimatedspace: i64);
4159 }
4160 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
4161 impl ::windows::core::RuntimeName for IWMPEvents4 {}
4162 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
4163 impl IWMPEvents4_Vtbl {
4164 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPEvents4_Impl, const OFFSET: isize>() -> IWMPEvents4_Vtbl {
4165 unsafe extern "system" fn DeviceEstimation<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPEvents4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdevice: *mut ::core::ffi::c_void, hrresult: ::windows::core::HRESULT, qwestimatedusedspace: i64, qwestimatedspace: i64) {
4166 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4167 let this = (*this).get_impl();
4168 this.DeviceEstimation(::windows::core::from_raw_borrowed(&pdevice), ::core::mem::transmute_copy(&hrresult), ::core::mem::transmute_copy(&qwestimatedusedspace), ::core::mem::transmute_copy(&qwestimatedspace))
4169 }
4170 Self { base__: IWMPEvents3_Vtbl::new::<Identity, Impl, OFFSET>(), DeviceEstimation: DeviceEstimation::<Identity, Impl, OFFSET> }
4171 }
4172 pub fn matches(iid: &windows::core::GUID) -> bool {
4173 iid == &<IWMPEvents4 as ::windows::core::ComInterface>::IID || iid == &<IWMPEvents as ::windows::core::ComInterface>::IID || iid == &<IWMPEvents2 as ::windows::core::ComInterface>::IID || iid == &<IWMPEvents3 as ::windows::core::ComInterface>::IID
4174 }
4175 }
4176 #[doc = "*Required features: `\"Win32_Media_MediaPlayer\"`, `\"implement\"`*"]
4177 pub trait IWMPFolderMonitorServices_Impl: Sized {
4178 fn count(&self, plcount: *mut i32) -> ::windows::core::Result<()>;
4179 fn item(&self, lindex: i32, pbstrfolder: *mut ::windows::core::BSTR) -> ::windows::core::Result<()>;
4180 fn add(&self, bstrfolder: &::windows::core::BSTR) -> ::windows::core::Result<()>;
4181 fn remove(&self, lindex: i32) -> ::windows::core::Result<()>;
4182 fn scanState(&self, pwmpfss: *mut WMPFolderScanState) -> ::windows::core::Result<()>;
4183 fn currentFolder(&self, pbstrfolder: *mut ::windows::core::BSTR) -> ::windows::core::Result<()>;
4184 fn scannedFilesCount(&self, plcount: *mut i32) -> ::windows::core::Result<()>;
4185 fn addedFilesCount(&self, plcount: *mut i32) -> ::windows::core::Result<()>;
4186 fn updateProgress(&self, plprogress: *mut i32) -> ::windows::core::Result<()>;
4187 fn startScan(&self) -> ::windows::core::Result<()>;
4188 fn stopScan(&self) -> ::windows::core::Result<()>;
4189 }
4190 impl ::windows::core::RuntimeName for IWMPFolderMonitorServices {}
4191 impl IWMPFolderMonitorServices_Vtbl {
4192 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPFolderMonitorServices_Impl, const OFFSET: isize>() -> IWMPFolderMonitorServices_Vtbl {
4193 unsafe extern "system" fn count<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPFolderMonitorServices_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, plcount: *mut i32) -> ::windows::core::HRESULT {
4194 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4195 let this = (*this).get_impl();
4196 this.count(::core::mem::transmute_copy(&plcount)).into()
4197 }
4198 unsafe extern "system" fn item<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPFolderMonitorServices_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lindex: i32, pbstrfolder: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
4199 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4200 let this = (*this).get_impl();
4201 this.item(::core::mem::transmute_copy(&lindex), ::core::mem::transmute_copy(&pbstrfolder)).into()
4202 }
4203 unsafe extern "system" fn add<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPFolderMonitorServices_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrfolder: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
4204 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4205 let this = (*this).get_impl();
4206 this.add(::core::mem::transmute(&bstrfolder)).into()
4207 }
4208 unsafe extern "system" fn remove<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPFolderMonitorServices_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lindex: i32) -> ::windows::core::HRESULT {
4209 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4210 let this = (*this).get_impl();
4211 this.remove(::core::mem::transmute_copy(&lindex)).into()
4212 }
4213 unsafe extern "system" fn scanState<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPFolderMonitorServices_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pwmpfss: *mut WMPFolderScanState) -> ::windows::core::HRESULT {
4214 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4215 let this = (*this).get_impl();
4216 this.scanState(::core::mem::transmute_copy(&pwmpfss)).into()
4217 }
4218 unsafe extern "system" fn currentFolder<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPFolderMonitorServices_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbstrfolder: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
4219 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4220 let this = (*this).get_impl();
4221 this.currentFolder(::core::mem::transmute_copy(&pbstrfolder)).into()
4222 }
4223 unsafe extern "system" fn scannedFilesCount<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPFolderMonitorServices_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, plcount: *mut i32) -> ::windows::core::HRESULT {
4224 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4225 let this = (*this).get_impl();
4226 this.scannedFilesCount(::core::mem::transmute_copy(&plcount)).into()
4227 }
4228 unsafe extern "system" fn addedFilesCount<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPFolderMonitorServices_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, plcount: *mut i32) -> ::windows::core::HRESULT {
4229 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4230 let this = (*this).get_impl();
4231 this.addedFilesCount(::core::mem::transmute_copy(&plcount)).into()
4232 }
4233 unsafe extern "system" fn updateProgress<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPFolderMonitorServices_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, plprogress: *mut i32) -> ::windows::core::HRESULT {
4234 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4235 let this = (*this).get_impl();
4236 this.updateProgress(::core::mem::transmute_copy(&plprogress)).into()
4237 }
4238 unsafe extern "system" fn startScan<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPFolderMonitorServices_Impl, const OFFSET: isize>(this: *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.startScan().into()
4242 }
4243 unsafe extern "system" fn stopScan<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPFolderMonitorServices_Impl, const OFFSET: isize>(this: *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.stopScan().into()
4247 }
4248 Self {
4249 base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
4250 count: count::<Identity, Impl, OFFSET>,
4251 item: item::<Identity, Impl, OFFSET>,
4252 add: add::<Identity, Impl, OFFSET>,
4253 remove: remove::<Identity, Impl, OFFSET>,
4254 scanState: scanState::<Identity, Impl, OFFSET>,
4255 currentFolder: currentFolder::<Identity, Impl, OFFSET>,
4256 scannedFilesCount: scannedFilesCount::<Identity, Impl, OFFSET>,
4257 addedFilesCount: addedFilesCount::<Identity, Impl, OFFSET>,
4258 updateProgress: updateProgress::<Identity, Impl, OFFSET>,
4259 startScan: startScan::<Identity, Impl, OFFSET>,
4260 stopScan: stopScan::<Identity, Impl, OFFSET>,
4261 }
4262 }
4263 pub fn matches(iid: &windows::core::GUID) -> bool {
4264 iid == &<IWMPFolderMonitorServices as ::windows::core::ComInterface>::IID
4265 }
4266 }
4267 #[doc = "*Required features: `\"Win32_Media_MediaPlayer\"`, `\"implement\"`*"]
4268 pub trait IWMPGraphCreation_Impl: Sized {
4269 fn GraphCreationPreRender(&self, pfiltergraph: ::core::option::Option<&::windows::core::IUnknown>, preserved: ::core::option::Option<&::windows::core::IUnknown>) -> ::windows::core::Result<()>;
4270 fn GraphCreationPostRender(&self, pfiltergraph: ::core::option::Option<&::windows::core::IUnknown>) -> ::windows::core::Result<()>;
4271 fn GetGraphCreationFlags(&self, pdwflags: *mut u32) -> ::windows::core::Result<()>;
4272 }
4273 impl ::windows::core::RuntimeName for IWMPGraphCreation {}
4274 impl IWMPGraphCreation_Vtbl {
4275 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPGraphCreation_Impl, const OFFSET: isize>() -> IWMPGraphCreation_Vtbl {
4276 unsafe extern "system" fn GraphCreationPreRender<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPGraphCreation_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pfiltergraph: *mut ::core::ffi::c_void, preserved: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
4277 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4278 let this = (*this).get_impl();
4279 this.GraphCreationPreRender(::windows::core::from_raw_borrowed(&pfiltergraph), ::windows::core::from_raw_borrowed(&preserved)).into()
4280 }
4281 unsafe extern "system" fn GraphCreationPostRender<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPGraphCreation_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pfiltergraph: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
4282 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4283 let this = (*this).get_impl();
4284 this.GraphCreationPostRender(::windows::core::from_raw_borrowed(&pfiltergraph)).into()
4285 }
4286 unsafe extern "system" fn GetGraphCreationFlags<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPGraphCreation_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdwflags: *mut u32) -> ::windows::core::HRESULT {
4287 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4288 let this = (*this).get_impl();
4289 this.GetGraphCreationFlags(::core::mem::transmute_copy(&pdwflags)).into()
4290 }
4291 Self {
4292 base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
4293 GraphCreationPreRender: GraphCreationPreRender::<Identity, Impl, OFFSET>,
4294 GraphCreationPostRender: GraphCreationPostRender::<Identity, Impl, OFFSET>,
4295 GetGraphCreationFlags: GetGraphCreationFlags::<Identity, Impl, OFFSET>,
4296 }
4297 }
4298 pub fn matches(iid: &windows::core::GUID) -> bool {
4299 iid == &<IWMPGraphCreation as ::windows::core::ComInterface>::IID
4300 }
4301 }
4302 #[doc = "*Required features: `\"Win32_Media_MediaPlayer\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"implement\"`*"]
4303 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
4304 pub trait IWMPLibrary_Impl: Sized {
4305 fn name(&self, pbstrname: *mut ::windows::core::BSTR) -> ::windows::core::Result<()>;
4306 fn r#type(&self, pwmplt: *mut WMPLibraryType) -> ::windows::core::Result<()>;
4307 fn mediaCollection(&self) -> ::windows::core::Result<IWMPMediaCollection>;
4308 fn isIdentical(&self, piwmplibrary: ::core::option::Option<&IWMPLibrary>, pvbool: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::Result<()>;
4309 }
4310 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
4311 impl ::windows::core::RuntimeName for IWMPLibrary {}
4312 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
4313 impl IWMPLibrary_Vtbl {
4314 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPLibrary_Impl, const OFFSET: isize>() -> IWMPLibrary_Vtbl {
4315 unsafe extern "system" fn name<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPLibrary_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbstrname: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
4316 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4317 let this = (*this).get_impl();
4318 this.name(::core::mem::transmute_copy(&pbstrname)).into()
4319 }
4320 unsafe extern "system" fn r#type<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPLibrary_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pwmplt: *mut WMPLibraryType) -> ::windows::core::HRESULT {
4321 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4322 let this = (*this).get_impl();
4323 this.r#type(::core::mem::transmute_copy(&pwmplt)).into()
4324 }
4325 unsafe extern "system" fn mediaCollection<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPLibrary_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppiwmpmediacollection: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
4326 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4327 let this = (*this).get_impl();
4328 match this.mediaCollection() {
4329 ::core::result::Result::Ok(ok__) => {
4330 ::core::ptr::write(ppiwmpmediacollection, ::core::mem::transmute(ok__));
4331 ::windows::core::HRESULT(0)
4332 }
4333 ::core::result::Result::Err(err) => err.into(),
4334 }
4335 }
4336 unsafe extern "system" fn isIdentical<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPLibrary_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, piwmplibrary: *mut ::core::ffi::c_void, pvbool: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
4337 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4338 let this = (*this).get_impl();
4339 this.isIdentical(::windows::core::from_raw_borrowed(&piwmplibrary), ::core::mem::transmute_copy(&pvbool)).into()
4340 }
4341 Self {
4342 base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
4343 name: name::<Identity, Impl, OFFSET>,
4344 r#type: r#type::<Identity, Impl, OFFSET>,
4345 mediaCollection: mediaCollection::<Identity, Impl, OFFSET>,
4346 isIdentical: isIdentical::<Identity, Impl, OFFSET>,
4347 }
4348 }
4349 pub fn matches(iid: &windows::core::GUID) -> bool {
4350 iid == &<IWMPLibrary as ::windows::core::ComInterface>::IID
4351 }
4352 }
4353 #[doc = "*Required features: `\"Win32_Media_MediaPlayer\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"implement\"`*"]
4354 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
4355 pub trait IWMPLibrary2_Impl: Sized + IWMPLibrary_Impl {
4356 fn getItemInfo(&self, bstritemname: &::windows::core::BSTR, pbstrval: *mut ::windows::core::BSTR) -> ::windows::core::Result<()>;
4357 }
4358 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
4359 impl ::windows::core::RuntimeName for IWMPLibrary2 {}
4360 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
4361 impl IWMPLibrary2_Vtbl {
4362 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPLibrary2_Impl, const OFFSET: isize>() -> IWMPLibrary2_Vtbl {
4363 unsafe extern "system" fn getItemInfo<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPLibrary2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstritemname: ::std::mem::MaybeUninit<::windows::core::BSTR>, pbstrval: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
4364 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4365 let this = (*this).get_impl();
4366 this.getItemInfo(::core::mem::transmute(&bstritemname), ::core::mem::transmute_copy(&pbstrval)).into()
4367 }
4368 Self { base__: IWMPLibrary_Vtbl::new::<Identity, Impl, OFFSET>(), getItemInfo: getItemInfo::<Identity, Impl, OFFSET> }
4369 }
4370 pub fn matches(iid: &windows::core::GUID) -> bool {
4371 iid == &<IWMPLibrary2 as ::windows::core::ComInterface>::IID || iid == &<IWMPLibrary as ::windows::core::ComInterface>::IID
4372 }
4373 }
4374 #[doc = "*Required features: `\"Win32_Media_MediaPlayer\"`, `\"implement\"`*"]
4375 pub trait IWMPLibraryServices_Impl: Sized {
4376 fn getCountByType(&self, wmplt: WMPLibraryType, plcount: *mut i32) -> ::windows::core::Result<()>;
4377 fn getLibraryByType(&self, wmplt: WMPLibraryType, lindex: i32) -> ::windows::core::Result<IWMPLibrary>;
4378 }
4379 impl ::windows::core::RuntimeName for IWMPLibraryServices {}
4380 impl IWMPLibraryServices_Vtbl {
4381 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPLibraryServices_Impl, const OFFSET: isize>() -> IWMPLibraryServices_Vtbl {
4382 unsafe extern "system" fn getCountByType<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPLibraryServices_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, wmplt: WMPLibraryType, plcount: *mut i32) -> ::windows::core::HRESULT {
4383 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4384 let this = (*this).get_impl();
4385 this.getCountByType(::core::mem::transmute_copy(&wmplt), ::core::mem::transmute_copy(&plcount)).into()
4386 }
4387 unsafe extern "system" fn getLibraryByType<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPLibraryServices_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, wmplt: WMPLibraryType, lindex: i32, ppiwmplibrary: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
4388 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4389 let this = (*this).get_impl();
4390 match this.getLibraryByType(::core::mem::transmute_copy(&wmplt), ::core::mem::transmute_copy(&lindex)) {
4391 ::core::result::Result::Ok(ok__) => {
4392 ::core::ptr::write(ppiwmplibrary, ::core::mem::transmute(ok__));
4393 ::windows::core::HRESULT(0)
4394 }
4395 ::core::result::Result::Err(err) => err.into(),
4396 }
4397 }
4398 Self {
4399 base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
4400 getCountByType: getCountByType::<Identity, Impl, OFFSET>,
4401 getLibraryByType: getLibraryByType::<Identity, Impl, OFFSET>,
4402 }
4403 }
4404 pub fn matches(iid: &windows::core::GUID) -> bool {
4405 iid == &<IWMPLibraryServices as ::windows::core::ComInterface>::IID
4406 }
4407 }
4408 #[doc = "*Required features: `\"Win32_Media_MediaPlayer\"`, `\"Win32_Foundation\"`, `\"implement\"`*"]
4409 #[cfg(feature = "Win32_Foundation")]
4410 pub trait IWMPLibrarySharingServices_Impl: Sized {
4411 fn isLibraryShared(&self, pvbshared: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::Result<()>;
4412 fn isLibrarySharingEnabled(&self, pvbenabled: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::Result<()>;
4413 fn showLibrarySharing(&self) -> ::windows::core::Result<()>;
4414 }
4415 #[cfg(feature = "Win32_Foundation")]
4416 impl ::windows::core::RuntimeName for IWMPLibrarySharingServices {}
4417 #[cfg(feature = "Win32_Foundation")]
4418 impl IWMPLibrarySharingServices_Vtbl {
4419 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPLibrarySharingServices_Impl, const OFFSET: isize>() -> IWMPLibrarySharingServices_Vtbl {
4420 unsafe extern "system" fn isLibraryShared<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPLibrarySharingServices_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvbshared: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
4421 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4422 let this = (*this).get_impl();
4423 this.isLibraryShared(::core::mem::transmute_copy(&pvbshared)).into()
4424 }
4425 unsafe extern "system" fn isLibrarySharingEnabled<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPLibrarySharingServices_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvbenabled: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
4426 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4427 let this = (*this).get_impl();
4428 this.isLibrarySharingEnabled(::core::mem::transmute_copy(&pvbenabled)).into()
4429 }
4430 unsafe extern "system" fn showLibrarySharing<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPLibrarySharingServices_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
4431 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4432 let this = (*this).get_impl();
4433 this.showLibrarySharing().into()
4434 }
4435 Self {
4436 base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
4437 isLibraryShared: isLibraryShared::<Identity, Impl, OFFSET>,
4438 isLibrarySharingEnabled: isLibrarySharingEnabled::<Identity, Impl, OFFSET>,
4439 showLibrarySharing: showLibrarySharing::<Identity, Impl, OFFSET>,
4440 }
4441 }
4442 pub fn matches(iid: &windows::core::GUID) -> bool {
4443 iid == &<IWMPLibrarySharingServices as ::windows::core::ComInterface>::IID
4444 }
4445 }
4446 #[doc = "*Required features: `\"Win32_Media_MediaPlayer\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
4447 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
4448 pub trait IWMPMedia_Impl: Sized + super::super::System::Com::IDispatch_Impl {
4449 fn get_isIdentical(&self, piwmpmedia: ::core::option::Option<&IWMPMedia>, pvbool: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::Result<()>;
4450 fn sourceURL(&self, pbstrsourceurl: *mut ::windows::core::BSTR) -> ::windows::core::Result<()>;
4451 fn name(&self, pbstrname: *mut ::windows::core::BSTR) -> ::windows::core::Result<()>;
4452 fn Setname(&self, bstrname: &::windows::core::BSTR) -> ::windows::core::Result<()>;
4453 fn imageSourceWidth(&self, pwidth: *mut i32) -> ::windows::core::Result<()>;
4454 fn imageSourceHeight(&self, pheight: *mut i32) -> ::windows::core::Result<()>;
4455 fn markerCount(&self, pmarkercount: *mut i32) -> ::windows::core::Result<()>;
4456 fn getMarkerTime(&self, markernum: i32, pmarkertime: *mut f64) -> ::windows::core::Result<()>;
4457 fn getMarkerName(&self, markernum: i32, pbstrmarkername: *mut ::windows::core::BSTR) -> ::windows::core::Result<()>;
4458 fn duration(&self, pduration: *mut f64) -> ::windows::core::Result<()>;
4459 fn durationString(&self, pbstrduration: *mut ::windows::core::BSTR) -> ::windows::core::Result<()>;
4460 fn attributeCount(&self, plcount: *mut i32) -> ::windows::core::Result<()>;
4461 fn getAttributeName(&self, lindex: i32, pbstritemname: *mut ::windows::core::BSTR) -> ::windows::core::Result<()>;
4462 fn getItemInfo(&self, bstritemname: &::windows::core::BSTR, pbstrval: *mut ::windows::core::BSTR) -> ::windows::core::Result<()>;
4463 fn setItemInfo(&self, bstritemname: &::windows::core::BSTR, bstrval: &::windows::core::BSTR) -> ::windows::core::Result<()>;
4464 fn getItemInfoByAtom(&self, latom: i32, pbstrval: *mut ::windows::core::BSTR) -> ::windows::core::Result<()>;
4465 fn isMemberOf(&self, pplaylist: ::core::option::Option<&IWMPPlaylist>, pvarfismemberof: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::Result<()>;
4466 fn isReadOnlyItem(&self, bstritemname: &::windows::core::BSTR, pvarfisreadonly: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::Result<()>;
4467 }
4468 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
4469 impl ::windows::core::RuntimeName for IWMPMedia {}
4470 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
4471 impl IWMPMedia_Vtbl {
4472 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPMedia_Impl, const OFFSET: isize>() -> IWMPMedia_Vtbl {
4473 unsafe extern "system" fn get_isIdentical<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPMedia_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, piwmpmedia: *mut ::core::ffi::c_void, pvbool: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
4474 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4475 let this = (*this).get_impl();
4476 this.get_isIdentical(::windows::core::from_raw_borrowed(&piwmpmedia), ::core::mem::transmute_copy(&pvbool)).into()
4477 }
4478 unsafe extern "system" fn sourceURL<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPMedia_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbstrsourceurl: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
4479 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4480 let this = (*this).get_impl();
4481 this.sourceURL(::core::mem::transmute_copy(&pbstrsourceurl)).into()
4482 }
4483 unsafe extern "system" fn name<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPMedia_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbstrname: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
4484 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4485 let this = (*this).get_impl();
4486 this.name(::core::mem::transmute_copy(&pbstrname)).into()
4487 }
4488 unsafe extern "system" fn Setname<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPMedia_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrname: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
4489 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4490 let this = (*this).get_impl();
4491 this.Setname(::core::mem::transmute(&bstrname)).into()
4492 }
4493 unsafe extern "system" fn imageSourceWidth<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPMedia_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pwidth: *mut i32) -> ::windows::core::HRESULT {
4494 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4495 let this = (*this).get_impl();
4496 this.imageSourceWidth(::core::mem::transmute_copy(&pwidth)).into()
4497 }
4498 unsafe extern "system" fn imageSourceHeight<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPMedia_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pheight: *mut i32) -> ::windows::core::HRESULT {
4499 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4500 let this = (*this).get_impl();
4501 this.imageSourceHeight(::core::mem::transmute_copy(&pheight)).into()
4502 }
4503 unsafe extern "system" fn markerCount<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPMedia_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pmarkercount: *mut i32) -> ::windows::core::HRESULT {
4504 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4505 let this = (*this).get_impl();
4506 this.markerCount(::core::mem::transmute_copy(&pmarkercount)).into()
4507 }
4508 unsafe extern "system" fn getMarkerTime<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPMedia_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, markernum: i32, pmarkertime: *mut f64) -> ::windows::core::HRESULT {
4509 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4510 let this = (*this).get_impl();
4511 this.getMarkerTime(::core::mem::transmute_copy(&markernum), ::core::mem::transmute_copy(&pmarkertime)).into()
4512 }
4513 unsafe extern "system" fn getMarkerName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPMedia_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, markernum: i32, pbstrmarkername: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
4514 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4515 let this = (*this).get_impl();
4516 this.getMarkerName(::core::mem::transmute_copy(&markernum), ::core::mem::transmute_copy(&pbstrmarkername)).into()
4517 }
4518 unsafe extern "system" fn duration<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPMedia_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pduration: *mut f64) -> ::windows::core::HRESULT {
4519 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4520 let this = (*this).get_impl();
4521 this.duration(::core::mem::transmute_copy(&pduration)).into()
4522 }
4523 unsafe extern "system" fn durationString<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPMedia_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbstrduration: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
4524 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4525 let this = (*this).get_impl();
4526 this.durationString(::core::mem::transmute_copy(&pbstrduration)).into()
4527 }
4528 unsafe extern "system" fn attributeCount<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPMedia_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, plcount: *mut i32) -> ::windows::core::HRESULT {
4529 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4530 let this = (*this).get_impl();
4531 this.attributeCount(::core::mem::transmute_copy(&plcount)).into()
4532 }
4533 unsafe extern "system" fn getAttributeName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPMedia_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lindex: i32, pbstritemname: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
4534 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4535 let this = (*this).get_impl();
4536 this.getAttributeName(::core::mem::transmute_copy(&lindex), ::core::mem::transmute_copy(&pbstritemname)).into()
4537 }
4538 unsafe extern "system" fn getItemInfo<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPMedia_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstritemname: ::std::mem::MaybeUninit<::windows::core::BSTR>, pbstrval: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
4539 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4540 let this = (*this).get_impl();
4541 this.getItemInfo(::core::mem::transmute(&bstritemname), ::core::mem::transmute_copy(&pbstrval)).into()
4542 }
4543 unsafe extern "system" fn setItemInfo<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPMedia_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstritemname: ::std::mem::MaybeUninit<::windows::core::BSTR>, bstrval: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
4544 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4545 let this = (*this).get_impl();
4546 this.setItemInfo(::core::mem::transmute(&bstritemname), ::core::mem::transmute(&bstrval)).into()
4547 }
4548 unsafe extern "system" fn getItemInfoByAtom<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPMedia_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, latom: i32, pbstrval: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
4549 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4550 let this = (*this).get_impl();
4551 this.getItemInfoByAtom(::core::mem::transmute_copy(&latom), ::core::mem::transmute_copy(&pbstrval)).into()
4552 }
4553 unsafe extern "system" fn isMemberOf<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPMedia_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pplaylist: *mut ::core::ffi::c_void, pvarfismemberof: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
4554 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4555 let this = (*this).get_impl();
4556 this.isMemberOf(::windows::core::from_raw_borrowed(&pplaylist), ::core::mem::transmute_copy(&pvarfismemberof)).into()
4557 }
4558 unsafe extern "system" fn isReadOnlyItem<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPMedia_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstritemname: ::std::mem::MaybeUninit<::windows::core::BSTR>, pvarfisreadonly: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
4559 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4560 let this = (*this).get_impl();
4561 this.isReadOnlyItem(::core::mem::transmute(&bstritemname), ::core::mem::transmute_copy(&pvarfisreadonly)).into()
4562 }
4563 Self {
4564 base__: super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
4565 get_isIdentical: get_isIdentical::<Identity, Impl, OFFSET>,
4566 sourceURL: sourceURL::<Identity, Impl, OFFSET>,
4567 name: name::<Identity, Impl, OFFSET>,
4568 Setname: Setname::<Identity, Impl, OFFSET>,
4569 imageSourceWidth: imageSourceWidth::<Identity, Impl, OFFSET>,
4570 imageSourceHeight: imageSourceHeight::<Identity, Impl, OFFSET>,
4571 markerCount: markerCount::<Identity, Impl, OFFSET>,
4572 getMarkerTime: getMarkerTime::<Identity, Impl, OFFSET>,
4573 getMarkerName: getMarkerName::<Identity, Impl, OFFSET>,
4574 duration: duration::<Identity, Impl, OFFSET>,
4575 durationString: durationString::<Identity, Impl, OFFSET>,
4576 attributeCount: attributeCount::<Identity, Impl, OFFSET>,
4577 getAttributeName: getAttributeName::<Identity, Impl, OFFSET>,
4578 getItemInfo: getItemInfo::<Identity, Impl, OFFSET>,
4579 setItemInfo: setItemInfo::<Identity, Impl, OFFSET>,
4580 getItemInfoByAtom: getItemInfoByAtom::<Identity, Impl, OFFSET>,
4581 isMemberOf: isMemberOf::<Identity, Impl, OFFSET>,
4582 isReadOnlyItem: isReadOnlyItem::<Identity, Impl, OFFSET>,
4583 }
4584 }
4585 pub fn matches(iid: &windows::core::GUID) -> bool {
4586 iid == &<IWMPMedia as ::windows::core::ComInterface>::IID || iid == &<super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID
4587 }
4588 }
4589 #[doc = "*Required features: `\"Win32_Media_MediaPlayer\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
4590 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
4591 pub trait IWMPMedia2_Impl: Sized + IWMPMedia_Impl {
4592 fn error(&self) -> ::windows::core::Result<IWMPErrorItem>;
4593 }
4594 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
4595 impl ::windows::core::RuntimeName for IWMPMedia2 {}
4596 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
4597 impl IWMPMedia2_Vtbl {
4598 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPMedia2_Impl, const OFFSET: isize>() -> IWMPMedia2_Vtbl {
4599 unsafe extern "system" fn error<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPMedia2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppiwmperroritem: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
4600 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4601 let this = (*this).get_impl();
4602 match this.error() {
4603 ::core::result::Result::Ok(ok__) => {
4604 ::core::ptr::write(ppiwmperroritem, ::core::mem::transmute(ok__));
4605 ::windows::core::HRESULT(0)
4606 }
4607 ::core::result::Result::Err(err) => err.into(),
4608 }
4609 }
4610 Self { base__: IWMPMedia_Vtbl::new::<Identity, Impl, OFFSET>(), error: error::<Identity, Impl, OFFSET> }
4611 }
4612 pub fn matches(iid: &windows::core::GUID) -> bool {
4613 iid == &<IWMPMedia2 as ::windows::core::ComInterface>::IID || iid == &<super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID || iid == &<IWMPMedia as ::windows::core::ComInterface>::IID
4614 }
4615 }
4616 #[doc = "*Required features: `\"Win32_Media_MediaPlayer\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
4617 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
4618 pub trait IWMPMedia3_Impl: Sized + IWMPMedia2_Impl {
4619 fn getAttributeCountByType(&self, bstrtype: &::windows::core::BSTR, bstrlanguage: &::windows::core::BSTR, plcount: *mut i32) -> ::windows::core::Result<()>;
4620 fn getItemInfoByType(&self, bstrtype: &::windows::core::BSTR, bstrlanguage: &::windows::core::BSTR, lindex: i32, pvarvalue: *mut super::super::System::Com::VARIANT) -> ::windows::core::Result<()>;
4621 }
4622 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
4623 impl ::windows::core::RuntimeName for IWMPMedia3 {}
4624 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
4625 impl IWMPMedia3_Vtbl {
4626 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPMedia3_Impl, const OFFSET: isize>() -> IWMPMedia3_Vtbl {
4627 unsafe extern "system" fn getAttributeCountByType<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPMedia3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrtype: ::std::mem::MaybeUninit<::windows::core::BSTR>, bstrlanguage: ::std::mem::MaybeUninit<::windows::core::BSTR>, plcount: *mut i32) -> ::windows::core::HRESULT {
4628 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4629 let this = (*this).get_impl();
4630 this.getAttributeCountByType(::core::mem::transmute(&bstrtype), ::core::mem::transmute(&bstrlanguage), ::core::mem::transmute_copy(&plcount)).into()
4631 }
4632 unsafe extern "system" fn getItemInfoByType<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPMedia3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrtype: ::std::mem::MaybeUninit<::windows::core::BSTR>, bstrlanguage: ::std::mem::MaybeUninit<::windows::core::BSTR>, lindex: i32, pvarvalue: *mut super::super::System::Com::VARIANT) -> ::windows::core::HRESULT {
4633 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4634 let this = (*this).get_impl();
4635 this.getItemInfoByType(::core::mem::transmute(&bstrtype), ::core::mem::transmute(&bstrlanguage), ::core::mem::transmute_copy(&lindex), ::core::mem::transmute_copy(&pvarvalue)).into()
4636 }
4637 Self {
4638 base__: IWMPMedia2_Vtbl::new::<Identity, Impl, OFFSET>(),
4639 getAttributeCountByType: getAttributeCountByType::<Identity, Impl, OFFSET>,
4640 getItemInfoByType: getItemInfoByType::<Identity, Impl, OFFSET>,
4641 }
4642 }
4643 pub fn matches(iid: &windows::core::GUID) -> bool {
4644 iid == &<IWMPMedia3 as ::windows::core::ComInterface>::IID || iid == &<super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID || iid == &<IWMPMedia as ::windows::core::ComInterface>::IID || iid == &<IWMPMedia2 as ::windows::core::ComInterface>::IID
4645 }
4646 }
4647 #[doc = "*Required features: `\"Win32_Media_MediaPlayer\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
4648 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
4649 pub trait IWMPMediaCollection_Impl: Sized + super::super::System::Com::IDispatch_Impl {
4650 fn add(&self, bstrurl: &::windows::core::BSTR) -> ::windows::core::Result<IWMPMedia>;
4651 fn getAll(&self) -> ::windows::core::Result<IWMPPlaylist>;
4652 fn getByName(&self, bstrname: &::windows::core::BSTR) -> ::windows::core::Result<IWMPPlaylist>;
4653 fn getByGenre(&self, bstrgenre: &::windows::core::BSTR) -> ::windows::core::Result<IWMPPlaylist>;
4654 fn getByAuthor(&self, bstrauthor: &::windows::core::BSTR) -> ::windows::core::Result<IWMPPlaylist>;
4655 fn getByAlbum(&self, bstralbum: &::windows::core::BSTR) -> ::windows::core::Result<IWMPPlaylist>;
4656 fn getByAttribute(&self, bstrattribute: &::windows::core::BSTR, bstrvalue: &::windows::core::BSTR) -> ::windows::core::Result<IWMPPlaylist>;
4657 fn remove(&self, pitem: ::core::option::Option<&IWMPMedia>, varfdeletefile: super::super::Foundation::VARIANT_BOOL) -> ::windows::core::Result<()>;
4658 fn getAttributeStringCollection(&self, bstrattribute: &::windows::core::BSTR, bstrmediatype: &::windows::core::BSTR) -> ::windows::core::Result<IWMPStringCollection>;
4659 fn getMediaAtom(&self, bstritemname: &::windows::core::BSTR, platom: *mut i32) -> ::windows::core::Result<()>;
4660 fn setDeleted(&self, pitem: ::core::option::Option<&IWMPMedia>, varfisdeleted: super::super::Foundation::VARIANT_BOOL) -> ::windows::core::Result<()>;
4661 fn isDeleted(&self, pitem: ::core::option::Option<&IWMPMedia>, pvarfisdeleted: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::Result<()>;
4662 }
4663 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
4664 impl ::windows::core::RuntimeName for IWMPMediaCollection {}
4665 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
4666 impl IWMPMediaCollection_Vtbl {
4667 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPMediaCollection_Impl, const OFFSET: isize>() -> IWMPMediaCollection_Vtbl {
4668 unsafe extern "system" fn add<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPMediaCollection_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrurl: ::std::mem::MaybeUninit<::windows::core::BSTR>, ppitem: *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 match this.add(::core::mem::transmute(&bstrurl)) {
4672 ::core::result::Result::Ok(ok__) => {
4673 ::core::ptr::write(ppitem, ::core::mem::transmute(ok__));
4674 ::windows::core::HRESULT(0)
4675 }
4676 ::core::result::Result::Err(err) => err.into(),
4677 }
4678 }
4679 unsafe extern "system" fn getAll<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPMediaCollection_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppmediaitems: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
4680 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4681 let this = (*this).get_impl();
4682 match this.getAll() {
4683 ::core::result::Result::Ok(ok__) => {
4684 ::core::ptr::write(ppmediaitems, ::core::mem::transmute(ok__));
4685 ::windows::core::HRESULT(0)
4686 }
4687 ::core::result::Result::Err(err) => err.into(),
4688 }
4689 }
4690 unsafe extern "system" fn getByName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPMediaCollection_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrname: ::std::mem::MaybeUninit<::windows::core::BSTR>, ppmediaitems: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
4691 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4692 let this = (*this).get_impl();
4693 match this.getByName(::core::mem::transmute(&bstrname)) {
4694 ::core::result::Result::Ok(ok__) => {
4695 ::core::ptr::write(ppmediaitems, ::core::mem::transmute(ok__));
4696 ::windows::core::HRESULT(0)
4697 }
4698 ::core::result::Result::Err(err) => err.into(),
4699 }
4700 }
4701 unsafe extern "system" fn getByGenre<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPMediaCollection_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrgenre: ::std::mem::MaybeUninit<::windows::core::BSTR>, ppmediaitems: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
4702 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4703 let this = (*this).get_impl();
4704 match this.getByGenre(::core::mem::transmute(&bstrgenre)) {
4705 ::core::result::Result::Ok(ok__) => {
4706 ::core::ptr::write(ppmediaitems, ::core::mem::transmute(ok__));
4707 ::windows::core::HRESULT(0)
4708 }
4709 ::core::result::Result::Err(err) => err.into(),
4710 }
4711 }
4712 unsafe extern "system" fn getByAuthor<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPMediaCollection_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrauthor: ::std::mem::MaybeUninit<::windows::core::BSTR>, ppmediaitems: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
4713 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4714 let this = (*this).get_impl();
4715 match this.getByAuthor(::core::mem::transmute(&bstrauthor)) {
4716 ::core::result::Result::Ok(ok__) => {
4717 ::core::ptr::write(ppmediaitems, ::core::mem::transmute(ok__));
4718 ::windows::core::HRESULT(0)
4719 }
4720 ::core::result::Result::Err(err) => err.into(),
4721 }
4722 }
4723 unsafe extern "system" fn getByAlbum<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPMediaCollection_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstralbum: ::std::mem::MaybeUninit<::windows::core::BSTR>, ppmediaitems: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
4724 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4725 let this = (*this).get_impl();
4726 match this.getByAlbum(::core::mem::transmute(&bstralbum)) {
4727 ::core::result::Result::Ok(ok__) => {
4728 ::core::ptr::write(ppmediaitems, ::core::mem::transmute(ok__));
4729 ::windows::core::HRESULT(0)
4730 }
4731 ::core::result::Result::Err(err) => err.into(),
4732 }
4733 }
4734 unsafe extern "system" fn getByAttribute<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPMediaCollection_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrattribute: ::std::mem::MaybeUninit<::windows::core::BSTR>, bstrvalue: ::std::mem::MaybeUninit<::windows::core::BSTR>, ppmediaitems: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
4735 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4736 let this = (*this).get_impl();
4737 match this.getByAttribute(::core::mem::transmute(&bstrattribute), ::core::mem::transmute(&bstrvalue)) {
4738 ::core::result::Result::Ok(ok__) => {
4739 ::core::ptr::write(ppmediaitems, ::core::mem::transmute(ok__));
4740 ::windows::core::HRESULT(0)
4741 }
4742 ::core::result::Result::Err(err) => err.into(),
4743 }
4744 }
4745 unsafe extern "system" fn remove<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPMediaCollection_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pitem: *mut ::core::ffi::c_void, varfdeletefile: super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
4746 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4747 let this = (*this).get_impl();
4748 this.remove(::windows::core::from_raw_borrowed(&pitem), ::core::mem::transmute_copy(&varfdeletefile)).into()
4749 }
4750 unsafe extern "system" fn getAttributeStringCollection<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPMediaCollection_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrattribute: ::std::mem::MaybeUninit<::windows::core::BSTR>, bstrmediatype: ::std::mem::MaybeUninit<::windows::core::BSTR>, ppstringcollection: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
4751 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4752 let this = (*this).get_impl();
4753 match this.getAttributeStringCollection(::core::mem::transmute(&bstrattribute), ::core::mem::transmute(&bstrmediatype)) {
4754 ::core::result::Result::Ok(ok__) => {
4755 ::core::ptr::write(ppstringcollection, ::core::mem::transmute(ok__));
4756 ::windows::core::HRESULT(0)
4757 }
4758 ::core::result::Result::Err(err) => err.into(),
4759 }
4760 }
4761 unsafe extern "system" fn getMediaAtom<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPMediaCollection_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstritemname: ::std::mem::MaybeUninit<::windows::core::BSTR>, platom: *mut i32) -> ::windows::core::HRESULT {
4762 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4763 let this = (*this).get_impl();
4764 this.getMediaAtom(::core::mem::transmute(&bstritemname), ::core::mem::transmute_copy(&platom)).into()
4765 }
4766 unsafe extern "system" fn setDeleted<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPMediaCollection_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pitem: *mut ::core::ffi::c_void, varfisdeleted: super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
4767 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4768 let this = (*this).get_impl();
4769 this.setDeleted(::windows::core::from_raw_borrowed(&pitem), ::core::mem::transmute_copy(&varfisdeleted)).into()
4770 }
4771 unsafe extern "system" fn isDeleted<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPMediaCollection_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pitem: *mut ::core::ffi::c_void, pvarfisdeleted: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
4772 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4773 let this = (*this).get_impl();
4774 this.isDeleted(::windows::core::from_raw_borrowed(&pitem), ::core::mem::transmute_copy(&pvarfisdeleted)).into()
4775 }
4776 Self {
4777 base__: super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
4778 add: add::<Identity, Impl, OFFSET>,
4779 getAll: getAll::<Identity, Impl, OFFSET>,
4780 getByName: getByName::<Identity, Impl, OFFSET>,
4781 getByGenre: getByGenre::<Identity, Impl, OFFSET>,
4782 getByAuthor: getByAuthor::<Identity, Impl, OFFSET>,
4783 getByAlbum: getByAlbum::<Identity, Impl, OFFSET>,
4784 getByAttribute: getByAttribute::<Identity, Impl, OFFSET>,
4785 remove: remove::<Identity, Impl, OFFSET>,
4786 getAttributeStringCollection: getAttributeStringCollection::<Identity, Impl, OFFSET>,
4787 getMediaAtom: getMediaAtom::<Identity, Impl, OFFSET>,
4788 setDeleted: setDeleted::<Identity, Impl, OFFSET>,
4789 isDeleted: isDeleted::<Identity, Impl, OFFSET>,
4790 }
4791 }
4792 pub fn matches(iid: &windows::core::GUID) -> bool {
4793 iid == &<IWMPMediaCollection as ::windows::core::ComInterface>::IID || iid == &<super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID
4794 }
4795 }
4796 #[doc = "*Required features: `\"Win32_Media_MediaPlayer\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
4797 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
4798 pub trait IWMPMediaCollection2_Impl: Sized + IWMPMediaCollection_Impl {
4799 fn createQuery(&self) -> ::windows::core::Result<IWMPQuery>;
4800 fn getPlaylistByQuery(&self, pquery: ::core::option::Option<&IWMPQuery>, bstrmediatype: &::windows::core::BSTR, bstrsortattribute: &::windows::core::BSTR, fsortascending: super::super::Foundation::VARIANT_BOOL) -> ::windows::core::Result<IWMPPlaylist>;
4801 fn getStringCollectionByQuery(&self, bstrattribute: &::windows::core::BSTR, pquery: ::core::option::Option<&IWMPQuery>, bstrmediatype: &::windows::core::BSTR, bstrsortattribute: &::windows::core::BSTR, fsortascending: super::super::Foundation::VARIANT_BOOL) -> ::windows::core::Result<IWMPStringCollection>;
4802 fn getByAttributeAndMediaType(&self, bstrattribute: &::windows::core::BSTR, bstrvalue: &::windows::core::BSTR, bstrmediatype: &::windows::core::BSTR) -> ::windows::core::Result<IWMPPlaylist>;
4803 }
4804 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
4805 impl ::windows::core::RuntimeName for IWMPMediaCollection2 {}
4806 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
4807 impl IWMPMediaCollection2_Vtbl {
4808 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPMediaCollection2_Impl, const OFFSET: isize>() -> IWMPMediaCollection2_Vtbl {
4809 unsafe extern "system" fn createQuery<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPMediaCollection2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppquery: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
4810 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4811 let this = (*this).get_impl();
4812 match this.createQuery() {
4813 ::core::result::Result::Ok(ok__) => {
4814 ::core::ptr::write(ppquery, ::core::mem::transmute(ok__));
4815 ::windows::core::HRESULT(0)
4816 }
4817 ::core::result::Result::Err(err) => err.into(),
4818 }
4819 }
4820 unsafe extern "system" fn getPlaylistByQuery<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPMediaCollection2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pquery: *mut ::core::ffi::c_void, bstrmediatype: ::std::mem::MaybeUninit<::windows::core::BSTR>, bstrsortattribute: ::std::mem::MaybeUninit<::windows::core::BSTR>, fsortascending: super::super::Foundation::VARIANT_BOOL, ppplaylist: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
4821 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4822 let this = (*this).get_impl();
4823 match this.getPlaylistByQuery(::windows::core::from_raw_borrowed(&pquery), ::core::mem::transmute(&bstrmediatype), ::core::mem::transmute(&bstrsortattribute), ::core::mem::transmute_copy(&fsortascending)) {
4824 ::core::result::Result::Ok(ok__) => {
4825 ::core::ptr::write(ppplaylist, ::core::mem::transmute(ok__));
4826 ::windows::core::HRESULT(0)
4827 }
4828 ::core::result::Result::Err(err) => err.into(),
4829 }
4830 }
4831 unsafe extern "system" fn getStringCollectionByQuery<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPMediaCollection2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrattribute: ::std::mem::MaybeUninit<::windows::core::BSTR>, pquery: *mut ::core::ffi::c_void, bstrmediatype: ::std::mem::MaybeUninit<::windows::core::BSTR>, bstrsortattribute: ::std::mem::MaybeUninit<::windows::core::BSTR>, fsortascending: super::super::Foundation::VARIANT_BOOL, ppstringcollection: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
4832 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4833 let this = (*this).get_impl();
4834 match this.getStringCollectionByQuery(::core::mem::transmute(&bstrattribute), ::windows::core::from_raw_borrowed(&pquery), ::core::mem::transmute(&bstrmediatype), ::core::mem::transmute(&bstrsortattribute), ::core::mem::transmute_copy(&fsortascending)) {
4835 ::core::result::Result::Ok(ok__) => {
4836 ::core::ptr::write(ppstringcollection, ::core::mem::transmute(ok__));
4837 ::windows::core::HRESULT(0)
4838 }
4839 ::core::result::Result::Err(err) => err.into(),
4840 }
4841 }
4842 unsafe extern "system" fn getByAttributeAndMediaType<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPMediaCollection2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrattribute: ::std::mem::MaybeUninit<::windows::core::BSTR>, bstrvalue: ::std::mem::MaybeUninit<::windows::core::BSTR>, bstrmediatype: ::std::mem::MaybeUninit<::windows::core::BSTR>, ppmediaitems: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
4843 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4844 let this = (*this).get_impl();
4845 match this.getByAttributeAndMediaType(::core::mem::transmute(&bstrattribute), ::core::mem::transmute(&bstrvalue), ::core::mem::transmute(&bstrmediatype)) {
4846 ::core::result::Result::Ok(ok__) => {
4847 ::core::ptr::write(ppmediaitems, ::core::mem::transmute(ok__));
4848 ::windows::core::HRESULT(0)
4849 }
4850 ::core::result::Result::Err(err) => err.into(),
4851 }
4852 }
4853 Self {
4854 base__: IWMPMediaCollection_Vtbl::new::<Identity, Impl, OFFSET>(),
4855 createQuery: createQuery::<Identity, Impl, OFFSET>,
4856 getPlaylistByQuery: getPlaylistByQuery::<Identity, Impl, OFFSET>,
4857 getStringCollectionByQuery: getStringCollectionByQuery::<Identity, Impl, OFFSET>,
4858 getByAttributeAndMediaType: getByAttributeAndMediaType::<Identity, Impl, OFFSET>,
4859 }
4860 }
4861 pub fn matches(iid: &windows::core::GUID) -> bool {
4862 iid == &<IWMPMediaCollection2 as ::windows::core::ComInterface>::IID || iid == &<super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID || iid == &<IWMPMediaCollection as ::windows::core::ComInterface>::IID
4863 }
4864 }
4865 #[doc = "*Required features: `\"Win32_Media_MediaPlayer\"`, `\"implement\"`*"]
4866 pub trait IWMPMediaPluginRegistrar_Impl: Sized {
4867 fn WMPRegisterPlayerPlugin(&self, pwszfriendlyname: &::windows::core::PCWSTR, pwszdescription: &::windows::core::PCWSTR, pwszuninstallstring: &::windows::core::PCWSTR, dwpriority: u32, guidplugintype: &::windows::core::GUID, clsid: &::windows::core::GUID, cmediatypes: u32, pmediatypes: *mut ::core::ffi::c_void) -> ::windows::core::Result<()>;
4868 fn WMPUnRegisterPlayerPlugin(&self, guidplugintype: &::windows::core::GUID, clsid: &::windows::core::GUID) -> ::windows::core::Result<()>;
4869 }
4870 impl ::windows::core::RuntimeName for IWMPMediaPluginRegistrar {}
4871 impl IWMPMediaPluginRegistrar_Vtbl {
4872 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPMediaPluginRegistrar_Impl, const OFFSET: isize>() -> IWMPMediaPluginRegistrar_Vtbl {
4873 unsafe extern "system" fn WMPRegisterPlayerPlugin<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPMediaPluginRegistrar_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pwszfriendlyname: ::windows::core::PCWSTR, pwszdescription: ::windows::core::PCWSTR, pwszuninstallstring: ::windows::core::PCWSTR, dwpriority: u32, guidplugintype: ::windows::core::GUID, clsid: ::windows::core::GUID, cmediatypes: u32, pmediatypes: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
4874 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4875 let this = (*this).get_impl();
4876 this.WMPRegisterPlayerPlugin(::core::mem::transmute(&pwszfriendlyname), ::core::mem::transmute(&pwszdescription), ::core::mem::transmute(&pwszuninstallstring), ::core::mem::transmute_copy(&dwpriority), ::core::mem::transmute(&guidplugintype), ::core::mem::transmute(&clsid), ::core::mem::transmute_copy(&cmediatypes), ::core::mem::transmute_copy(&pmediatypes)).into()
4877 }
4878 unsafe extern "system" fn WMPUnRegisterPlayerPlugin<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPMediaPluginRegistrar_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, guidplugintype: ::windows::core::GUID, clsid: ::windows::core::GUID) -> ::windows::core::HRESULT {
4879 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4880 let this = (*this).get_impl();
4881 this.WMPUnRegisterPlayerPlugin(::core::mem::transmute(&guidplugintype), ::core::mem::transmute(&clsid)).into()
4882 }
4883 Self {
4884 base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
4885 WMPRegisterPlayerPlugin: WMPRegisterPlayerPlugin::<Identity, Impl, OFFSET>,
4886 WMPUnRegisterPlayerPlugin: WMPUnRegisterPlayerPlugin::<Identity, Impl, OFFSET>,
4887 }
4888 }
4889 pub fn matches(iid: &windows::core::GUID) -> bool {
4890 iid == &<IWMPMediaPluginRegistrar as ::windows::core::ComInterface>::IID
4891 }
4892 }
4893 #[doc = "*Required features: `\"Win32_Media_MediaPlayer\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
4894 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
4895 pub trait IWMPMetadataPicture_Impl: Sized + super::super::System::Com::IDispatch_Impl {
4896 fn mimeType(&self, pbstrmimetype: *mut ::windows::core::BSTR) -> ::windows::core::Result<()>;
4897 fn pictureType(&self, pbstrpicturetype: *mut ::windows::core::BSTR) -> ::windows::core::Result<()>;
4898 fn description(&self, pbstrdescription: *mut ::windows::core::BSTR) -> ::windows::core::Result<()>;
4899 fn URL(&self, pbstrurl: *mut ::windows::core::BSTR) -> ::windows::core::Result<()>;
4900 }
4901 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
4902 impl ::windows::core::RuntimeName for IWMPMetadataPicture {}
4903 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
4904 impl IWMPMetadataPicture_Vtbl {
4905 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPMetadataPicture_Impl, const OFFSET: isize>() -> IWMPMetadataPicture_Vtbl {
4906 unsafe extern "system" fn mimeType<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPMetadataPicture_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbstrmimetype: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
4907 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4908 let this = (*this).get_impl();
4909 this.mimeType(::core::mem::transmute_copy(&pbstrmimetype)).into()
4910 }
4911 unsafe extern "system" fn pictureType<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPMetadataPicture_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbstrpicturetype: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
4912 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4913 let this = (*this).get_impl();
4914 this.pictureType(::core::mem::transmute_copy(&pbstrpicturetype)).into()
4915 }
4916 unsafe extern "system" fn description<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPMetadataPicture_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbstrdescription: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
4917 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4918 let this = (*this).get_impl();
4919 this.description(::core::mem::transmute_copy(&pbstrdescription)).into()
4920 }
4921 unsafe extern "system" fn URL<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPMetadataPicture_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbstrurl: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
4922 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4923 let this = (*this).get_impl();
4924 this.URL(::core::mem::transmute_copy(&pbstrurl)).into()
4925 }
4926 Self {
4927 base__: super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
4928 mimeType: mimeType::<Identity, Impl, OFFSET>,
4929 pictureType: pictureType::<Identity, Impl, OFFSET>,
4930 description: description::<Identity, Impl, OFFSET>,
4931 URL: URL::<Identity, Impl, OFFSET>,
4932 }
4933 }
4934 pub fn matches(iid: &windows::core::GUID) -> bool {
4935 iid == &<IWMPMetadataPicture as ::windows::core::ComInterface>::IID || iid == &<super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID
4936 }
4937 }
4938 #[doc = "*Required features: `\"Win32_Media_MediaPlayer\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
4939 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
4940 pub trait IWMPMetadataText_Impl: Sized + super::super::System::Com::IDispatch_Impl {
4941 fn description(&self, pbstrdescription: *mut ::windows::core::BSTR) -> ::windows::core::Result<()>;
4942 fn text(&self, pbstrtext: *mut ::windows::core::BSTR) -> ::windows::core::Result<()>;
4943 }
4944 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
4945 impl ::windows::core::RuntimeName for IWMPMetadataText {}
4946 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
4947 impl IWMPMetadataText_Vtbl {
4948 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPMetadataText_Impl, const OFFSET: isize>() -> IWMPMetadataText_Vtbl {
4949 unsafe extern "system" fn description<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPMetadataText_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbstrdescription: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
4950 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4951 let this = (*this).get_impl();
4952 this.description(::core::mem::transmute_copy(&pbstrdescription)).into()
4953 }
4954 unsafe extern "system" fn text<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPMetadataText_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbstrtext: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
4955 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4956 let this = (*this).get_impl();
4957 this.text(::core::mem::transmute_copy(&pbstrtext)).into()
4958 }
4959 Self {
4960 base__: super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
4961 description: description::<Identity, Impl, OFFSET>,
4962 text: text::<Identity, Impl, OFFSET>,
4963 }
4964 }
4965 pub fn matches(iid: &windows::core::GUID) -> bool {
4966 iid == &<IWMPMetadataText as ::windows::core::ComInterface>::IID || iid == &<super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID
4967 }
4968 }
4969 #[doc = "*Required features: `\"Win32_Media_MediaPlayer\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
4970 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
4971 pub trait IWMPNetwork_Impl: Sized + super::super::System::Com::IDispatch_Impl {
4972 fn bandWidth(&self, plbandwidth: *mut i32) -> ::windows::core::Result<()>;
4973 fn recoveredPackets(&self, plrecoveredpackets: *mut i32) -> ::windows::core::Result<()>;
4974 fn sourceProtocol(&self, pbstrsourceprotocol: *mut ::windows::core::BSTR) -> ::windows::core::Result<()>;
4975 fn receivedPackets(&self, plreceivedpackets: *mut i32) -> ::windows::core::Result<()>;
4976 fn lostPackets(&self, pllostpackets: *mut i32) -> ::windows::core::Result<()>;
4977 fn receptionQuality(&self, plreceptionquality: *mut i32) -> ::windows::core::Result<()>;
4978 fn bufferingCount(&self, plbufferingcount: *mut i32) -> ::windows::core::Result<()>;
4979 fn bufferingProgress(&self, plbufferingprogress: *mut i32) -> ::windows::core::Result<()>;
4980 fn bufferingTime(&self, plbufferingtime: *mut i32) -> ::windows::core::Result<()>;
4981 fn SetbufferingTime(&self, lbufferingtime: i32) -> ::windows::core::Result<()>;
4982 fn frameRate(&self, plframerate: *mut i32) -> ::windows::core::Result<()>;
4983 fn maxBitRate(&self, plbitrate: *mut i32) -> ::windows::core::Result<()>;
4984 fn bitRate(&self, plbitrate: *mut i32) -> ::windows::core::Result<()>;
4985 fn getProxySettings(&self, bstrprotocol: &::windows::core::BSTR, plproxysetting: *mut i32) -> ::windows::core::Result<()>;
4986 fn setProxySettings(&self, bstrprotocol: &::windows::core::BSTR, lproxysetting: i32) -> ::windows::core::Result<()>;
4987 fn getProxyName(&self, bstrprotocol: &::windows::core::BSTR, pbstrproxyname: *mut ::windows::core::BSTR) -> ::windows::core::Result<()>;
4988 fn setProxyName(&self, bstrprotocol: &::windows::core::BSTR, bstrproxyname: &::windows::core::BSTR) -> ::windows::core::Result<()>;
4989 fn getProxyPort(&self, bstrprotocol: &::windows::core::BSTR, lproxyport: *mut i32) -> ::windows::core::Result<()>;
4990 fn setProxyPort(&self, bstrprotocol: &::windows::core::BSTR, lproxyport: i32) -> ::windows::core::Result<()>;
4991 fn getProxyExceptionList(&self, bstrprotocol: &::windows::core::BSTR, pbstrexceptionlist: *mut ::windows::core::BSTR) -> ::windows::core::Result<()>;
4992 fn setProxyExceptionList(&self, bstrprotocol: &::windows::core::BSTR, pbstrexceptionlist: &::windows::core::BSTR) -> ::windows::core::Result<()>;
4993 fn getProxyBypassForLocal(&self, bstrprotocol: &::windows::core::BSTR, pfbypassforlocal: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::Result<()>;
4994 fn setProxyBypassForLocal(&self, bstrprotocol: &::windows::core::BSTR, fbypassforlocal: super::super::Foundation::VARIANT_BOOL) -> ::windows::core::Result<()>;
4995 fn maxBandwidth(&self, lmaxbandwidth: *mut i32) -> ::windows::core::Result<()>;
4996 fn SetmaxBandwidth(&self, lmaxbandwidth: i32) -> ::windows::core::Result<()>;
4997 fn downloadProgress(&self, pldownloadprogress: *mut i32) -> ::windows::core::Result<()>;
4998 fn encodedFrameRate(&self, plframerate: *mut i32) -> ::windows::core::Result<()>;
4999 fn framesSkipped(&self, plframes: *mut i32) -> ::windows::core::Result<()>;
5000 }
5001 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
5002 impl ::windows::core::RuntimeName for IWMPNetwork {}
5003 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
5004 impl IWMPNetwork_Vtbl {
5005 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPNetwork_Impl, const OFFSET: isize>() -> IWMPNetwork_Vtbl {
5006 unsafe extern "system" fn bandWidth<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPNetwork_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, plbandwidth: *mut i32) -> ::windows::core::HRESULT {
5007 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5008 let this = (*this).get_impl();
5009 this.bandWidth(::core::mem::transmute_copy(&plbandwidth)).into()
5010 }
5011 unsafe extern "system" fn recoveredPackets<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPNetwork_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, plrecoveredpackets: *mut i32) -> ::windows::core::HRESULT {
5012 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5013 let this = (*this).get_impl();
5014 this.recoveredPackets(::core::mem::transmute_copy(&plrecoveredpackets)).into()
5015 }
5016 unsafe extern "system" fn sourceProtocol<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPNetwork_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbstrsourceprotocol: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
5017 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5018 let this = (*this).get_impl();
5019 this.sourceProtocol(::core::mem::transmute_copy(&pbstrsourceprotocol)).into()
5020 }
5021 unsafe extern "system" fn receivedPackets<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPNetwork_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, plreceivedpackets: *mut i32) -> ::windows::core::HRESULT {
5022 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5023 let this = (*this).get_impl();
5024 this.receivedPackets(::core::mem::transmute_copy(&plreceivedpackets)).into()
5025 }
5026 unsafe extern "system" fn lostPackets<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPNetwork_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pllostpackets: *mut i32) -> ::windows::core::HRESULT {
5027 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5028 let this = (*this).get_impl();
5029 this.lostPackets(::core::mem::transmute_copy(&pllostpackets)).into()
5030 }
5031 unsafe extern "system" fn receptionQuality<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPNetwork_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, plreceptionquality: *mut i32) -> ::windows::core::HRESULT {
5032 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5033 let this = (*this).get_impl();
5034 this.receptionQuality(::core::mem::transmute_copy(&plreceptionquality)).into()
5035 }
5036 unsafe extern "system" fn bufferingCount<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPNetwork_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, plbufferingcount: *mut i32) -> ::windows::core::HRESULT {
5037 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5038 let this = (*this).get_impl();
5039 this.bufferingCount(::core::mem::transmute_copy(&plbufferingcount)).into()
5040 }
5041 unsafe extern "system" fn bufferingProgress<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPNetwork_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, plbufferingprogress: *mut i32) -> ::windows::core::HRESULT {
5042 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5043 let this = (*this).get_impl();
5044 this.bufferingProgress(::core::mem::transmute_copy(&plbufferingprogress)).into()
5045 }
5046 unsafe extern "system" fn bufferingTime<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPNetwork_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, plbufferingtime: *mut i32) -> ::windows::core::HRESULT {
5047 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5048 let this = (*this).get_impl();
5049 this.bufferingTime(::core::mem::transmute_copy(&plbufferingtime)).into()
5050 }
5051 unsafe extern "system" fn SetbufferingTime<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPNetwork_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lbufferingtime: i32) -> ::windows::core::HRESULT {
5052 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5053 let this = (*this).get_impl();
5054 this.SetbufferingTime(::core::mem::transmute_copy(&lbufferingtime)).into()
5055 }
5056 unsafe extern "system" fn frameRate<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPNetwork_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, plframerate: *mut i32) -> ::windows::core::HRESULT {
5057 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5058 let this = (*this).get_impl();
5059 this.frameRate(::core::mem::transmute_copy(&plframerate)).into()
5060 }
5061 unsafe extern "system" fn maxBitRate<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPNetwork_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, plbitrate: *mut i32) -> ::windows::core::HRESULT {
5062 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5063 let this = (*this).get_impl();
5064 this.maxBitRate(::core::mem::transmute_copy(&plbitrate)).into()
5065 }
5066 unsafe extern "system" fn bitRate<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPNetwork_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, plbitrate: *mut i32) -> ::windows::core::HRESULT {
5067 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5068 let this = (*this).get_impl();
5069 this.bitRate(::core::mem::transmute_copy(&plbitrate)).into()
5070 }
5071 unsafe extern "system" fn getProxySettings<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPNetwork_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrprotocol: ::std::mem::MaybeUninit<::windows::core::BSTR>, plproxysetting: *mut i32) -> ::windows::core::HRESULT {
5072 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5073 let this = (*this).get_impl();
5074 this.getProxySettings(::core::mem::transmute(&bstrprotocol), ::core::mem::transmute_copy(&plproxysetting)).into()
5075 }
5076 unsafe extern "system" fn setProxySettings<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPNetwork_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrprotocol: ::std::mem::MaybeUninit<::windows::core::BSTR>, lproxysetting: i32) -> ::windows::core::HRESULT {
5077 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5078 let this = (*this).get_impl();
5079 this.setProxySettings(::core::mem::transmute(&bstrprotocol), ::core::mem::transmute_copy(&lproxysetting)).into()
5080 }
5081 unsafe extern "system" fn getProxyName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPNetwork_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrprotocol: ::std::mem::MaybeUninit<::windows::core::BSTR>, pbstrproxyname: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
5082 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5083 let this = (*this).get_impl();
5084 this.getProxyName(::core::mem::transmute(&bstrprotocol), ::core::mem::transmute_copy(&pbstrproxyname)).into()
5085 }
5086 unsafe extern "system" fn setProxyName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPNetwork_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrprotocol: ::std::mem::MaybeUninit<::windows::core::BSTR>, bstrproxyname: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
5087 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5088 let this = (*this).get_impl();
5089 this.setProxyName(::core::mem::transmute(&bstrprotocol), ::core::mem::transmute(&bstrproxyname)).into()
5090 }
5091 unsafe extern "system" fn getProxyPort<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPNetwork_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrprotocol: ::std::mem::MaybeUninit<::windows::core::BSTR>, lproxyport: *mut i32) -> ::windows::core::HRESULT {
5092 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5093 let this = (*this).get_impl();
5094 this.getProxyPort(::core::mem::transmute(&bstrprotocol), ::core::mem::transmute_copy(&lproxyport)).into()
5095 }
5096 unsafe extern "system" fn setProxyPort<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPNetwork_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrprotocol: ::std::mem::MaybeUninit<::windows::core::BSTR>, lproxyport: i32) -> ::windows::core::HRESULT {
5097 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5098 let this = (*this).get_impl();
5099 this.setProxyPort(::core::mem::transmute(&bstrprotocol), ::core::mem::transmute_copy(&lproxyport)).into()
5100 }
5101 unsafe extern "system" fn getProxyExceptionList<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPNetwork_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrprotocol: ::std::mem::MaybeUninit<::windows::core::BSTR>, pbstrexceptionlist: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
5102 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5103 let this = (*this).get_impl();
5104 this.getProxyExceptionList(::core::mem::transmute(&bstrprotocol), ::core::mem::transmute_copy(&pbstrexceptionlist)).into()
5105 }
5106 unsafe extern "system" fn setProxyExceptionList<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPNetwork_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrprotocol: ::std::mem::MaybeUninit<::windows::core::BSTR>, pbstrexceptionlist: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
5107 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5108 let this = (*this).get_impl();
5109 this.setProxyExceptionList(::core::mem::transmute(&bstrprotocol), ::core::mem::transmute(&pbstrexceptionlist)).into()
5110 }
5111 unsafe extern "system" fn getProxyBypassForLocal<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPNetwork_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrprotocol: ::std::mem::MaybeUninit<::windows::core::BSTR>, pfbypassforlocal: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
5112 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5113 let this = (*this).get_impl();
5114 this.getProxyBypassForLocal(::core::mem::transmute(&bstrprotocol), ::core::mem::transmute_copy(&pfbypassforlocal)).into()
5115 }
5116 unsafe extern "system" fn setProxyBypassForLocal<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPNetwork_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrprotocol: ::std::mem::MaybeUninit<::windows::core::BSTR>, fbypassforlocal: super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
5117 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5118 let this = (*this).get_impl();
5119 this.setProxyBypassForLocal(::core::mem::transmute(&bstrprotocol), ::core::mem::transmute_copy(&fbypassforlocal)).into()
5120 }
5121 unsafe extern "system" fn maxBandwidth<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPNetwork_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lmaxbandwidth: *mut i32) -> ::windows::core::HRESULT {
5122 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5123 let this = (*this).get_impl();
5124 this.maxBandwidth(::core::mem::transmute_copy(&lmaxbandwidth)).into()
5125 }
5126 unsafe extern "system" fn SetmaxBandwidth<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPNetwork_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lmaxbandwidth: i32) -> ::windows::core::HRESULT {
5127 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5128 let this = (*this).get_impl();
5129 this.SetmaxBandwidth(::core::mem::transmute_copy(&lmaxbandwidth)).into()
5130 }
5131 unsafe extern "system" fn downloadProgress<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPNetwork_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pldownloadprogress: *mut i32) -> ::windows::core::HRESULT {
5132 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5133 let this = (*this).get_impl();
5134 this.downloadProgress(::core::mem::transmute_copy(&pldownloadprogress)).into()
5135 }
5136 unsafe extern "system" fn encodedFrameRate<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPNetwork_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, plframerate: *mut i32) -> ::windows::core::HRESULT {
5137 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5138 let this = (*this).get_impl();
5139 this.encodedFrameRate(::core::mem::transmute_copy(&plframerate)).into()
5140 }
5141 unsafe extern "system" fn framesSkipped<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPNetwork_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, plframes: *mut i32) -> ::windows::core::HRESULT {
5142 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5143 let this = (*this).get_impl();
5144 this.framesSkipped(::core::mem::transmute_copy(&plframes)).into()
5145 }
5146 Self {
5147 base__: super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
5148 bandWidth: bandWidth::<Identity, Impl, OFFSET>,
5149 recoveredPackets: recoveredPackets::<Identity, Impl, OFFSET>,
5150 sourceProtocol: sourceProtocol::<Identity, Impl, OFFSET>,
5151 receivedPackets: receivedPackets::<Identity, Impl, OFFSET>,
5152 lostPackets: lostPackets::<Identity, Impl, OFFSET>,
5153 receptionQuality: receptionQuality::<Identity, Impl, OFFSET>,
5154 bufferingCount: bufferingCount::<Identity, Impl, OFFSET>,
5155 bufferingProgress: bufferingProgress::<Identity, Impl, OFFSET>,
5156 bufferingTime: bufferingTime::<Identity, Impl, OFFSET>,
5157 SetbufferingTime: SetbufferingTime::<Identity, Impl, OFFSET>,
5158 frameRate: frameRate::<Identity, Impl, OFFSET>,
5159 maxBitRate: maxBitRate::<Identity, Impl, OFFSET>,
5160 bitRate: bitRate::<Identity, Impl, OFFSET>,
5161 getProxySettings: getProxySettings::<Identity, Impl, OFFSET>,
5162 setProxySettings: setProxySettings::<Identity, Impl, OFFSET>,
5163 getProxyName: getProxyName::<Identity, Impl, OFFSET>,
5164 setProxyName: setProxyName::<Identity, Impl, OFFSET>,
5165 getProxyPort: getProxyPort::<Identity, Impl, OFFSET>,
5166 setProxyPort: setProxyPort::<Identity, Impl, OFFSET>,
5167 getProxyExceptionList: getProxyExceptionList::<Identity, Impl, OFFSET>,
5168 setProxyExceptionList: setProxyExceptionList::<Identity, Impl, OFFSET>,
5169 getProxyBypassForLocal: getProxyBypassForLocal::<Identity, Impl, OFFSET>,
5170 setProxyBypassForLocal: setProxyBypassForLocal::<Identity, Impl, OFFSET>,
5171 maxBandwidth: maxBandwidth::<Identity, Impl, OFFSET>,
5172 SetmaxBandwidth: SetmaxBandwidth::<Identity, Impl, OFFSET>,
5173 downloadProgress: downloadProgress::<Identity, Impl, OFFSET>,
5174 encodedFrameRate: encodedFrameRate::<Identity, Impl, OFFSET>,
5175 framesSkipped: framesSkipped::<Identity, Impl, OFFSET>,
5176 }
5177 }
5178 pub fn matches(iid: &windows::core::GUID) -> bool {
5179 iid == &<IWMPNetwork as ::windows::core::ComInterface>::IID || iid == &<super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID
5180 }
5181 }
5182 #[doc = "*Required features: `\"Win32_Media_MediaPlayer\"`, `\"Win32_Foundation\"`, `\"implement\"`*"]
5183 #[cfg(feature = "Win32_Foundation")]
5184 pub trait IWMPNodeRealEstate_Impl: Sized {
5185 fn GetDesiredSize(&self, psize: *mut super::super::Foundation::SIZE) -> ::windows::core::Result<()>;
5186 fn SetRects(&self, psrc: *const super::super::Foundation::RECT, pdest: *const super::super::Foundation::RECT, pclip: *const super::super::Foundation::RECT) -> ::windows::core::Result<()>;
5187 fn GetRects(&self, psrc: *mut super::super::Foundation::RECT, pdest: *mut super::super::Foundation::RECT, pclip: *mut super::super::Foundation::RECT) -> ::windows::core::Result<()>;
5188 fn SetWindowless(&self, fwindowless: super::super::Foundation::BOOL) -> ::windows::core::Result<()>;
5189 fn GetWindowless(&self, pfwindowless: *mut super::super::Foundation::BOOL) -> ::windows::core::Result<()>;
5190 fn SetFullScreen(&self, ffullscreen: super::super::Foundation::BOOL) -> ::windows::core::Result<()>;
5191 fn GetFullScreen(&self, pffullscreen: *mut super::super::Foundation::BOOL) -> ::windows::core::Result<()>;
5192 }
5193 #[cfg(feature = "Win32_Foundation")]
5194 impl ::windows::core::RuntimeName for IWMPNodeRealEstate {}
5195 #[cfg(feature = "Win32_Foundation")]
5196 impl IWMPNodeRealEstate_Vtbl {
5197 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPNodeRealEstate_Impl, const OFFSET: isize>() -> IWMPNodeRealEstate_Vtbl {
5198 unsafe extern "system" fn GetDesiredSize<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPNodeRealEstate_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, psize: *mut super::super::Foundation::SIZE) -> ::windows::core::HRESULT {
5199 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5200 let this = (*this).get_impl();
5201 this.GetDesiredSize(::core::mem::transmute_copy(&psize)).into()
5202 }
5203 unsafe extern "system" fn SetRects<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPNodeRealEstate_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, psrc: *const super::super::Foundation::RECT, pdest: *const super::super::Foundation::RECT, pclip: *const super::super::Foundation::RECT) -> ::windows::core::HRESULT {
5204 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5205 let this = (*this).get_impl();
5206 this.SetRects(::core::mem::transmute_copy(&psrc), ::core::mem::transmute_copy(&pdest), ::core::mem::transmute_copy(&pclip)).into()
5207 }
5208 unsafe extern "system" fn GetRects<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPNodeRealEstate_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, psrc: *mut super::super::Foundation::RECT, pdest: *mut super::super::Foundation::RECT, pclip: *mut super::super::Foundation::RECT) -> ::windows::core::HRESULT {
5209 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5210 let this = (*this).get_impl();
5211 this.GetRects(::core::mem::transmute_copy(&psrc), ::core::mem::transmute_copy(&pdest), ::core::mem::transmute_copy(&pclip)).into()
5212 }
5213 unsafe extern "system" fn SetWindowless<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPNodeRealEstate_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, fwindowless: super::super::Foundation::BOOL) -> ::windows::core::HRESULT {
5214 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5215 let this = (*this).get_impl();
5216 this.SetWindowless(::core::mem::transmute_copy(&fwindowless)).into()
5217 }
5218 unsafe extern "system" fn GetWindowless<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPNodeRealEstate_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pfwindowless: *mut super::super::Foundation::BOOL) -> ::windows::core::HRESULT {
5219 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5220 let this = (*this).get_impl();
5221 this.GetWindowless(::core::mem::transmute_copy(&pfwindowless)).into()
5222 }
5223 unsafe extern "system" fn SetFullScreen<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPNodeRealEstate_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ffullscreen: super::super::Foundation::BOOL) -> ::windows::core::HRESULT {
5224 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5225 let this = (*this).get_impl();
5226 this.SetFullScreen(::core::mem::transmute_copy(&ffullscreen)).into()
5227 }
5228 unsafe extern "system" fn GetFullScreen<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPNodeRealEstate_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pffullscreen: *mut super::super::Foundation::BOOL) -> ::windows::core::HRESULT {
5229 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5230 let this = (*this).get_impl();
5231 this.GetFullScreen(::core::mem::transmute_copy(&pffullscreen)).into()
5232 }
5233 Self {
5234 base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
5235 GetDesiredSize: GetDesiredSize::<Identity, Impl, OFFSET>,
5236 SetRects: SetRects::<Identity, Impl, OFFSET>,
5237 GetRects: GetRects::<Identity, Impl, OFFSET>,
5238 SetWindowless: SetWindowless::<Identity, Impl, OFFSET>,
5239 GetWindowless: GetWindowless::<Identity, Impl, OFFSET>,
5240 SetFullScreen: SetFullScreen::<Identity, Impl, OFFSET>,
5241 GetFullScreen: GetFullScreen::<Identity, Impl, OFFSET>,
5242 }
5243 }
5244 pub fn matches(iid: &windows::core::GUID) -> bool {
5245 iid == &<IWMPNodeRealEstate as ::windows::core::ComInterface>::IID
5246 }
5247 }
5248 #[doc = "*Required features: `\"Win32_Media_MediaPlayer\"`, `\"Win32_Foundation\"`, `\"implement\"`*"]
5249 #[cfg(feature = "Win32_Foundation")]
5250 pub trait IWMPNodeRealEstateHost_Impl: Sized {
5251 fn OnDesiredSizeChange(&self, psize: *mut super::super::Foundation::SIZE) -> ::windows::core::Result<()>;
5252 fn OnFullScreenTransition(&self, ffullscreen: super::super::Foundation::BOOL) -> ::windows::core::Result<()>;
5253 }
5254 #[cfg(feature = "Win32_Foundation")]
5255 impl ::windows::core::RuntimeName for IWMPNodeRealEstateHost {}
5256 #[cfg(feature = "Win32_Foundation")]
5257 impl IWMPNodeRealEstateHost_Vtbl {
5258 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPNodeRealEstateHost_Impl, const OFFSET: isize>() -> IWMPNodeRealEstateHost_Vtbl {
5259 unsafe extern "system" fn OnDesiredSizeChange<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPNodeRealEstateHost_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, psize: *mut super::super::Foundation::SIZE) -> ::windows::core::HRESULT {
5260 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5261 let this = (*this).get_impl();
5262 this.OnDesiredSizeChange(::core::mem::transmute_copy(&psize)).into()
5263 }
5264 unsafe extern "system" fn OnFullScreenTransition<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPNodeRealEstateHost_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ffullscreen: super::super::Foundation::BOOL) -> ::windows::core::HRESULT {
5265 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5266 let this = (*this).get_impl();
5267 this.OnFullScreenTransition(::core::mem::transmute_copy(&ffullscreen)).into()
5268 }
5269 Self {
5270 base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
5271 OnDesiredSizeChange: OnDesiredSizeChange::<Identity, Impl, OFFSET>,
5272 OnFullScreenTransition: OnFullScreenTransition::<Identity, Impl, OFFSET>,
5273 }
5274 }
5275 pub fn matches(iid: &windows::core::GUID) -> bool {
5276 iid == &<IWMPNodeRealEstateHost as ::windows::core::ComInterface>::IID
5277 }
5278 }
5279 #[doc = "*Required features: `\"Win32_Media_MediaPlayer\"`, `\"implement\"`*"]
5280 pub trait IWMPNodeWindowed_Impl: Sized {
5281 fn SetOwnerWindow(&self, hwnd: isize) -> ::windows::core::Result<()>;
5282 fn GetOwnerWindow(&self, phwnd: *mut isize) -> ::windows::core::Result<()>;
5283 }
5284 impl ::windows::core::RuntimeName for IWMPNodeWindowed {}
5285 impl IWMPNodeWindowed_Vtbl {
5286 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPNodeWindowed_Impl, const OFFSET: isize>() -> IWMPNodeWindowed_Vtbl {
5287 unsafe extern "system" fn SetOwnerWindow<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPNodeWindowed_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, hwnd: isize) -> ::windows::core::HRESULT {
5288 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5289 let this = (*this).get_impl();
5290 this.SetOwnerWindow(::core::mem::transmute_copy(&hwnd)).into()
5291 }
5292 unsafe extern "system" fn GetOwnerWindow<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPNodeWindowed_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, phwnd: *mut isize) -> ::windows::core::HRESULT {
5293 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5294 let this = (*this).get_impl();
5295 this.GetOwnerWindow(::core::mem::transmute_copy(&phwnd)).into()
5296 }
5297 Self {
5298 base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
5299 SetOwnerWindow: SetOwnerWindow::<Identity, Impl, OFFSET>,
5300 GetOwnerWindow: GetOwnerWindow::<Identity, Impl, OFFSET>,
5301 }
5302 }
5303 pub fn matches(iid: &windows::core::GUID) -> bool {
5304 iid == &<IWMPNodeWindowed as ::windows::core::ComInterface>::IID
5305 }
5306 }
5307 #[doc = "*Required features: `\"Win32_Media_MediaPlayer\"`, `\"Win32_Foundation\"`, `\"implement\"`*"]
5308 #[cfg(feature = "Win32_Foundation")]
5309 pub trait IWMPNodeWindowedHost_Impl: Sized {
5310 fn OnWindowMessageFromRenderer(&self, umsg: u32, wparam: super::super::Foundation::WPARAM, lparam: super::super::Foundation::LPARAM, plret: *mut super::super::Foundation::LRESULT, pfhandled: *mut super::super::Foundation::BOOL) -> ::windows::core::Result<()>;
5311 }
5312 #[cfg(feature = "Win32_Foundation")]
5313 impl ::windows::core::RuntimeName for IWMPNodeWindowedHost {}
5314 #[cfg(feature = "Win32_Foundation")]
5315 impl IWMPNodeWindowedHost_Vtbl {
5316 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPNodeWindowedHost_Impl, const OFFSET: isize>() -> IWMPNodeWindowedHost_Vtbl {
5317 unsafe extern "system" fn OnWindowMessageFromRenderer<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPNodeWindowedHost_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, umsg: u32, wparam: super::super::Foundation::WPARAM, lparam: super::super::Foundation::LPARAM, plret: *mut super::super::Foundation::LRESULT, pfhandled: *mut super::super::Foundation::BOOL) -> ::windows::core::HRESULT {
5318 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5319 let this = (*this).get_impl();
5320 this.OnWindowMessageFromRenderer(::core::mem::transmute_copy(&umsg), ::core::mem::transmute_copy(&wparam), ::core::mem::transmute_copy(&lparam), ::core::mem::transmute_copy(&plret), ::core::mem::transmute_copy(&pfhandled)).into()
5321 }
5322 Self {
5323 base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
5324 OnWindowMessageFromRenderer: OnWindowMessageFromRenderer::<Identity, Impl, OFFSET>,
5325 }
5326 }
5327 pub fn matches(iid: &windows::core::GUID) -> bool {
5328 iid == &<IWMPNodeWindowedHost as ::windows::core::ComInterface>::IID
5329 }
5330 }
5331 #[doc = "*Required features: `\"Win32_Media_MediaPlayer\"`, `\"Win32_Foundation\"`, `\"implement\"`*"]
5332 #[cfg(feature = "Win32_Foundation")]
5333 pub trait IWMPNodeWindowless_Impl: Sized + IWMPWindowMessageSink_Impl {
5334 fn OnDraw(&self, hdc: isize, prcdraw: *const super::super::Foundation::RECT) -> ::windows::core::Result<()>;
5335 }
5336 #[cfg(feature = "Win32_Foundation")]
5337 impl ::windows::core::RuntimeName for IWMPNodeWindowless {}
5338 #[cfg(feature = "Win32_Foundation")]
5339 impl IWMPNodeWindowless_Vtbl {
5340 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPNodeWindowless_Impl, const OFFSET: isize>() -> IWMPNodeWindowless_Vtbl {
5341 unsafe extern "system" fn OnDraw<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPNodeWindowless_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, hdc: isize, prcdraw: *const super::super::Foundation::RECT) -> ::windows::core::HRESULT {
5342 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5343 let this = (*this).get_impl();
5344 this.OnDraw(::core::mem::transmute_copy(&hdc), ::core::mem::transmute_copy(&prcdraw)).into()
5345 }
5346 Self { base__: IWMPWindowMessageSink_Vtbl::new::<Identity, Impl, OFFSET>(), OnDraw: OnDraw::<Identity, Impl, OFFSET> }
5347 }
5348 pub fn matches(iid: &windows::core::GUID) -> bool {
5349 iid == &<IWMPNodeWindowless as ::windows::core::ComInterface>::IID || iid == &<IWMPWindowMessageSink as ::windows::core::ComInterface>::IID
5350 }
5351 }
5352 #[doc = "*Required features: `\"Win32_Media_MediaPlayer\"`, `\"Win32_Foundation\"`, `\"implement\"`*"]
5353 #[cfg(feature = "Win32_Foundation")]
5354 pub trait IWMPNodeWindowlessHost_Impl: Sized {
5355 fn InvalidateRect(&self, prc: *const super::super::Foundation::RECT, ferase: super::super::Foundation::BOOL) -> ::windows::core::Result<()>;
5356 }
5357 #[cfg(feature = "Win32_Foundation")]
5358 impl ::windows::core::RuntimeName for IWMPNodeWindowlessHost {}
5359 #[cfg(feature = "Win32_Foundation")]
5360 impl IWMPNodeWindowlessHost_Vtbl {
5361 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPNodeWindowlessHost_Impl, const OFFSET: isize>() -> IWMPNodeWindowlessHost_Vtbl {
5362 unsafe extern "system" fn InvalidateRect<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPNodeWindowlessHost_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, prc: *const super::super::Foundation::RECT, ferase: super::super::Foundation::BOOL) -> ::windows::core::HRESULT {
5363 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5364 let this = (*this).get_impl();
5365 this.InvalidateRect(::core::mem::transmute_copy(&prc), ::core::mem::transmute_copy(&ferase)).into()
5366 }
5367 Self { base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(), InvalidateRect: InvalidateRect::<Identity, Impl, OFFSET> }
5368 }
5369 pub fn matches(iid: &windows::core::GUID) -> bool {
5370 iid == &<IWMPNodeWindowlessHost as ::windows::core::ComInterface>::IID
5371 }
5372 }
5373 #[doc = "*Required features: `\"Win32_Media_MediaPlayer\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
5374 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
5375 pub trait IWMPPlayer_Impl: Sized + IWMPCore_Impl {
5376 fn enabled(&self, pbenabled: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::Result<()>;
5377 fn Setenabled(&self, benabled: super::super::Foundation::VARIANT_BOOL) -> ::windows::core::Result<()>;
5378 fn fullScreen(&self, pbfullscreen: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::Result<()>;
5379 fn SetfullScreen(&self, bfullscreen: super::super::Foundation::VARIANT_BOOL) -> ::windows::core::Result<()>;
5380 fn enableContextMenu(&self, pbenablecontextmenu: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::Result<()>;
5381 fn SetenableContextMenu(&self, benablecontextmenu: super::super::Foundation::VARIANT_BOOL) -> ::windows::core::Result<()>;
5382 fn SetuiMode(&self, bstrmode: &::windows::core::BSTR) -> ::windows::core::Result<()>;
5383 fn uiMode(&self, pbstrmode: *mut ::windows::core::BSTR) -> ::windows::core::Result<()>;
5384 }
5385 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
5386 impl ::windows::core::RuntimeName for IWMPPlayer {}
5387 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
5388 impl IWMPPlayer_Vtbl {
5389 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPPlayer_Impl, const OFFSET: isize>() -> IWMPPlayer_Vtbl {
5390 unsafe extern "system" fn enabled<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPPlayer_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbenabled: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
5391 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5392 let this = (*this).get_impl();
5393 this.enabled(::core::mem::transmute_copy(&pbenabled)).into()
5394 }
5395 unsafe extern "system" fn Setenabled<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPPlayer_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, benabled: super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
5396 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5397 let this = (*this).get_impl();
5398 this.Setenabled(::core::mem::transmute_copy(&benabled)).into()
5399 }
5400 unsafe extern "system" fn fullScreen<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPPlayer_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbfullscreen: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
5401 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5402 let this = (*this).get_impl();
5403 this.fullScreen(::core::mem::transmute_copy(&pbfullscreen)).into()
5404 }
5405 unsafe extern "system" fn SetfullScreen<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPPlayer_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bfullscreen: super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
5406 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5407 let this = (*this).get_impl();
5408 this.SetfullScreen(::core::mem::transmute_copy(&bfullscreen)).into()
5409 }
5410 unsafe extern "system" fn enableContextMenu<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPPlayer_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbenablecontextmenu: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
5411 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5412 let this = (*this).get_impl();
5413 this.enableContextMenu(::core::mem::transmute_copy(&pbenablecontextmenu)).into()
5414 }
5415 unsafe extern "system" fn SetenableContextMenu<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPPlayer_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, benablecontextmenu: super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
5416 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5417 let this = (*this).get_impl();
5418 this.SetenableContextMenu(::core::mem::transmute_copy(&benablecontextmenu)).into()
5419 }
5420 unsafe extern "system" fn SetuiMode<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPPlayer_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrmode: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
5421 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5422 let this = (*this).get_impl();
5423 this.SetuiMode(::core::mem::transmute(&bstrmode)).into()
5424 }
5425 unsafe extern "system" fn uiMode<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPPlayer_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbstrmode: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
5426 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5427 let this = (*this).get_impl();
5428 this.uiMode(::core::mem::transmute_copy(&pbstrmode)).into()
5429 }
5430 Self {
5431 base__: IWMPCore_Vtbl::new::<Identity, Impl, OFFSET>(),
5432 enabled: enabled::<Identity, Impl, OFFSET>,
5433 Setenabled: Setenabled::<Identity, Impl, OFFSET>,
5434 fullScreen: fullScreen::<Identity, Impl, OFFSET>,
5435 SetfullScreen: SetfullScreen::<Identity, Impl, OFFSET>,
5436 enableContextMenu: enableContextMenu::<Identity, Impl, OFFSET>,
5437 SetenableContextMenu: SetenableContextMenu::<Identity, Impl, OFFSET>,
5438 SetuiMode: SetuiMode::<Identity, Impl, OFFSET>,
5439 uiMode: uiMode::<Identity, Impl, OFFSET>,
5440 }
5441 }
5442 pub fn matches(iid: &windows::core::GUID) -> bool {
5443 iid == &<IWMPPlayer as ::windows::core::ComInterface>::IID || iid == &<super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID || iid == &<IWMPCore as ::windows::core::ComInterface>::IID
5444 }
5445 }
5446 #[doc = "*Required features: `\"Win32_Media_MediaPlayer\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
5447 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
5448 pub trait IWMPPlayer2_Impl: Sized + IWMPCore_Impl {
5449 fn enabled(&self, pbenabled: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::Result<()>;
5450 fn Setenabled(&self, benabled: super::super::Foundation::VARIANT_BOOL) -> ::windows::core::Result<()>;
5451 fn fullScreen(&self, pbfullscreen: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::Result<()>;
5452 fn SetfullScreen(&self, bfullscreen: super::super::Foundation::VARIANT_BOOL) -> ::windows::core::Result<()>;
5453 fn enableContextMenu(&self, pbenablecontextmenu: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::Result<()>;
5454 fn SetenableContextMenu(&self, benablecontextmenu: super::super::Foundation::VARIANT_BOOL) -> ::windows::core::Result<()>;
5455 fn SetuiMode(&self, bstrmode: &::windows::core::BSTR) -> ::windows::core::Result<()>;
5456 fn uiMode(&self, pbstrmode: *mut ::windows::core::BSTR) -> ::windows::core::Result<()>;
5457 fn stretchToFit(&self, pbenabled: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::Result<()>;
5458 fn SetstretchToFit(&self, benabled: super::super::Foundation::VARIANT_BOOL) -> ::windows::core::Result<()>;
5459 fn windowlessVideo(&self, pbenabled: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::Result<()>;
5460 fn SetwindowlessVideo(&self, benabled: super::super::Foundation::VARIANT_BOOL) -> ::windows::core::Result<()>;
5461 }
5462 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
5463 impl ::windows::core::RuntimeName for IWMPPlayer2 {}
5464 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
5465 impl IWMPPlayer2_Vtbl {
5466 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPPlayer2_Impl, const OFFSET: isize>() -> IWMPPlayer2_Vtbl {
5467 unsafe extern "system" fn enabled<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPPlayer2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbenabled: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
5468 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5469 let this = (*this).get_impl();
5470 this.enabled(::core::mem::transmute_copy(&pbenabled)).into()
5471 }
5472 unsafe extern "system" fn Setenabled<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPPlayer2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, benabled: super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
5473 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5474 let this = (*this).get_impl();
5475 this.Setenabled(::core::mem::transmute_copy(&benabled)).into()
5476 }
5477 unsafe extern "system" fn fullScreen<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPPlayer2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbfullscreen: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
5478 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5479 let this = (*this).get_impl();
5480 this.fullScreen(::core::mem::transmute_copy(&pbfullscreen)).into()
5481 }
5482 unsafe extern "system" fn SetfullScreen<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPPlayer2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bfullscreen: super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
5483 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5484 let this = (*this).get_impl();
5485 this.SetfullScreen(::core::mem::transmute_copy(&bfullscreen)).into()
5486 }
5487 unsafe extern "system" fn enableContextMenu<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPPlayer2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbenablecontextmenu: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
5488 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5489 let this = (*this).get_impl();
5490 this.enableContextMenu(::core::mem::transmute_copy(&pbenablecontextmenu)).into()
5491 }
5492 unsafe extern "system" fn SetenableContextMenu<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPPlayer2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, benablecontextmenu: super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
5493 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5494 let this = (*this).get_impl();
5495 this.SetenableContextMenu(::core::mem::transmute_copy(&benablecontextmenu)).into()
5496 }
5497 unsafe extern "system" fn SetuiMode<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPPlayer2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrmode: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
5498 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5499 let this = (*this).get_impl();
5500 this.SetuiMode(::core::mem::transmute(&bstrmode)).into()
5501 }
5502 unsafe extern "system" fn uiMode<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPPlayer2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbstrmode: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
5503 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5504 let this = (*this).get_impl();
5505 this.uiMode(::core::mem::transmute_copy(&pbstrmode)).into()
5506 }
5507 unsafe extern "system" fn stretchToFit<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPPlayer2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbenabled: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
5508 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5509 let this = (*this).get_impl();
5510 this.stretchToFit(::core::mem::transmute_copy(&pbenabled)).into()
5511 }
5512 unsafe extern "system" fn SetstretchToFit<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPPlayer2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, benabled: super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
5513 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5514 let this = (*this).get_impl();
5515 this.SetstretchToFit(::core::mem::transmute_copy(&benabled)).into()
5516 }
5517 unsafe extern "system" fn windowlessVideo<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPPlayer2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbenabled: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
5518 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5519 let this = (*this).get_impl();
5520 this.windowlessVideo(::core::mem::transmute_copy(&pbenabled)).into()
5521 }
5522 unsafe extern "system" fn SetwindowlessVideo<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPPlayer2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, benabled: super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
5523 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5524 let this = (*this).get_impl();
5525 this.SetwindowlessVideo(::core::mem::transmute_copy(&benabled)).into()
5526 }
5527 Self {
5528 base__: IWMPCore_Vtbl::new::<Identity, Impl, OFFSET>(),
5529 enabled: enabled::<Identity, Impl, OFFSET>,
5530 Setenabled: Setenabled::<Identity, Impl, OFFSET>,
5531 fullScreen: fullScreen::<Identity, Impl, OFFSET>,
5532 SetfullScreen: SetfullScreen::<Identity, Impl, OFFSET>,
5533 enableContextMenu: enableContextMenu::<Identity, Impl, OFFSET>,
5534 SetenableContextMenu: SetenableContextMenu::<Identity, Impl, OFFSET>,
5535 SetuiMode: SetuiMode::<Identity, Impl, OFFSET>,
5536 uiMode: uiMode::<Identity, Impl, OFFSET>,
5537 stretchToFit: stretchToFit::<Identity, Impl, OFFSET>,
5538 SetstretchToFit: SetstretchToFit::<Identity, Impl, OFFSET>,
5539 windowlessVideo: windowlessVideo::<Identity, Impl, OFFSET>,
5540 SetwindowlessVideo: SetwindowlessVideo::<Identity, Impl, OFFSET>,
5541 }
5542 }
5543 pub fn matches(iid: &windows::core::GUID) -> bool {
5544 iid == &<IWMPPlayer2 as ::windows::core::ComInterface>::IID || iid == &<super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID || iid == &<IWMPCore as ::windows::core::ComInterface>::IID
5545 }
5546 }
5547 #[doc = "*Required features: `\"Win32_Media_MediaPlayer\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
5548 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
5549 pub trait IWMPPlayer3_Impl: Sized + IWMPCore2_Impl {
5550 fn enabled(&self, pbenabled: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::Result<()>;
5551 fn Setenabled(&self, benabled: super::super::Foundation::VARIANT_BOOL) -> ::windows::core::Result<()>;
5552 fn fullScreen(&self, pbfullscreen: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::Result<()>;
5553 fn SetfullScreen(&self, bfullscreen: super::super::Foundation::VARIANT_BOOL) -> ::windows::core::Result<()>;
5554 fn enableContextMenu(&self, pbenablecontextmenu: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::Result<()>;
5555 fn SetenableContextMenu(&self, benablecontextmenu: super::super::Foundation::VARIANT_BOOL) -> ::windows::core::Result<()>;
5556 fn SetuiMode(&self, bstrmode: &::windows::core::BSTR) -> ::windows::core::Result<()>;
5557 fn uiMode(&self, pbstrmode: *mut ::windows::core::BSTR) -> ::windows::core::Result<()>;
5558 fn stretchToFit(&self, pbenabled: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::Result<()>;
5559 fn SetstretchToFit(&self, benabled: super::super::Foundation::VARIANT_BOOL) -> ::windows::core::Result<()>;
5560 fn windowlessVideo(&self, pbenabled: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::Result<()>;
5561 fn SetwindowlessVideo(&self, benabled: super::super::Foundation::VARIANT_BOOL) -> ::windows::core::Result<()>;
5562 }
5563 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
5564 impl ::windows::core::RuntimeName for IWMPPlayer3 {}
5565 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
5566 impl IWMPPlayer3_Vtbl {
5567 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPPlayer3_Impl, const OFFSET: isize>() -> IWMPPlayer3_Vtbl {
5568 unsafe extern "system" fn enabled<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPPlayer3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbenabled: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
5569 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5570 let this = (*this).get_impl();
5571 this.enabled(::core::mem::transmute_copy(&pbenabled)).into()
5572 }
5573 unsafe extern "system" fn Setenabled<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPPlayer3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, benabled: super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
5574 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5575 let this = (*this).get_impl();
5576 this.Setenabled(::core::mem::transmute_copy(&benabled)).into()
5577 }
5578 unsafe extern "system" fn fullScreen<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPPlayer3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbfullscreen: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
5579 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5580 let this = (*this).get_impl();
5581 this.fullScreen(::core::mem::transmute_copy(&pbfullscreen)).into()
5582 }
5583 unsafe extern "system" fn SetfullScreen<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPPlayer3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bfullscreen: super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
5584 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5585 let this = (*this).get_impl();
5586 this.SetfullScreen(::core::mem::transmute_copy(&bfullscreen)).into()
5587 }
5588 unsafe extern "system" fn enableContextMenu<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPPlayer3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbenablecontextmenu: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
5589 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5590 let this = (*this).get_impl();
5591 this.enableContextMenu(::core::mem::transmute_copy(&pbenablecontextmenu)).into()
5592 }
5593 unsafe extern "system" fn SetenableContextMenu<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPPlayer3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, benablecontextmenu: super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
5594 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5595 let this = (*this).get_impl();
5596 this.SetenableContextMenu(::core::mem::transmute_copy(&benablecontextmenu)).into()
5597 }
5598 unsafe extern "system" fn SetuiMode<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPPlayer3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrmode: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
5599 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5600 let this = (*this).get_impl();
5601 this.SetuiMode(::core::mem::transmute(&bstrmode)).into()
5602 }
5603 unsafe extern "system" fn uiMode<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPPlayer3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbstrmode: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
5604 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5605 let this = (*this).get_impl();
5606 this.uiMode(::core::mem::transmute_copy(&pbstrmode)).into()
5607 }
5608 unsafe extern "system" fn stretchToFit<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPPlayer3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbenabled: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
5609 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5610 let this = (*this).get_impl();
5611 this.stretchToFit(::core::mem::transmute_copy(&pbenabled)).into()
5612 }
5613 unsafe extern "system" fn SetstretchToFit<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPPlayer3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, benabled: super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
5614 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5615 let this = (*this).get_impl();
5616 this.SetstretchToFit(::core::mem::transmute_copy(&benabled)).into()
5617 }
5618 unsafe extern "system" fn windowlessVideo<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPPlayer3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbenabled: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
5619 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5620 let this = (*this).get_impl();
5621 this.windowlessVideo(::core::mem::transmute_copy(&pbenabled)).into()
5622 }
5623 unsafe extern "system" fn SetwindowlessVideo<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPPlayer3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, benabled: super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
5624 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5625 let this = (*this).get_impl();
5626 this.SetwindowlessVideo(::core::mem::transmute_copy(&benabled)).into()
5627 }
5628 Self {
5629 base__: IWMPCore2_Vtbl::new::<Identity, Impl, OFFSET>(),
5630 enabled: enabled::<Identity, Impl, OFFSET>,
5631 Setenabled: Setenabled::<Identity, Impl, OFFSET>,
5632 fullScreen: fullScreen::<Identity, Impl, OFFSET>,
5633 SetfullScreen: SetfullScreen::<Identity, Impl, OFFSET>,
5634 enableContextMenu: enableContextMenu::<Identity, Impl, OFFSET>,
5635 SetenableContextMenu: SetenableContextMenu::<Identity, Impl, OFFSET>,
5636 SetuiMode: SetuiMode::<Identity, Impl, OFFSET>,
5637 uiMode: uiMode::<Identity, Impl, OFFSET>,
5638 stretchToFit: stretchToFit::<Identity, Impl, OFFSET>,
5639 SetstretchToFit: SetstretchToFit::<Identity, Impl, OFFSET>,
5640 windowlessVideo: windowlessVideo::<Identity, Impl, OFFSET>,
5641 SetwindowlessVideo: SetwindowlessVideo::<Identity, Impl, OFFSET>,
5642 }
5643 }
5644 pub fn matches(iid: &windows::core::GUID) -> bool {
5645 iid == &<IWMPPlayer3 as ::windows::core::ComInterface>::IID || iid == &<super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID || iid == &<IWMPCore as ::windows::core::ComInterface>::IID || iid == &<IWMPCore2 as ::windows::core::ComInterface>::IID
5646 }
5647 }
5648 #[doc = "*Required features: `\"Win32_Media_MediaPlayer\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
5649 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
5650 pub trait IWMPPlayer4_Impl: Sized + IWMPCore3_Impl {
5651 fn enabled(&self, pbenabled: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::Result<()>;
5652 fn Setenabled(&self, benabled: super::super::Foundation::VARIANT_BOOL) -> ::windows::core::Result<()>;
5653 fn fullScreen(&self, pbfullscreen: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::Result<()>;
5654 fn SetfullScreen(&self, bfullscreen: super::super::Foundation::VARIANT_BOOL) -> ::windows::core::Result<()>;
5655 fn enableContextMenu(&self, pbenablecontextmenu: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::Result<()>;
5656 fn SetenableContextMenu(&self, benablecontextmenu: super::super::Foundation::VARIANT_BOOL) -> ::windows::core::Result<()>;
5657 fn SetuiMode(&self, bstrmode: &::windows::core::BSTR) -> ::windows::core::Result<()>;
5658 fn uiMode(&self, pbstrmode: *mut ::windows::core::BSTR) -> ::windows::core::Result<()>;
5659 fn stretchToFit(&self, pbenabled: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::Result<()>;
5660 fn SetstretchToFit(&self, benabled: super::super::Foundation::VARIANT_BOOL) -> ::windows::core::Result<()>;
5661 fn windowlessVideo(&self, pbenabled: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::Result<()>;
5662 fn SetwindowlessVideo(&self, benabled: super::super::Foundation::VARIANT_BOOL) -> ::windows::core::Result<()>;
5663 fn isRemote(&self, pvarfisremote: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::Result<()>;
5664 fn playerApplication(&self) -> ::windows::core::Result<IWMPPlayerApplication>;
5665 fn openPlayer(&self, bstrurl: &::windows::core::BSTR) -> ::windows::core::Result<()>;
5666 }
5667 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
5668 impl ::windows::core::RuntimeName for IWMPPlayer4 {}
5669 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
5670 impl IWMPPlayer4_Vtbl {
5671 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPPlayer4_Impl, const OFFSET: isize>() -> IWMPPlayer4_Vtbl {
5672 unsafe extern "system" fn enabled<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPPlayer4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbenabled: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
5673 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5674 let this = (*this).get_impl();
5675 this.enabled(::core::mem::transmute_copy(&pbenabled)).into()
5676 }
5677 unsafe extern "system" fn Setenabled<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPPlayer4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, benabled: super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
5678 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5679 let this = (*this).get_impl();
5680 this.Setenabled(::core::mem::transmute_copy(&benabled)).into()
5681 }
5682 unsafe extern "system" fn fullScreen<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPPlayer4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbfullscreen: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
5683 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5684 let this = (*this).get_impl();
5685 this.fullScreen(::core::mem::transmute_copy(&pbfullscreen)).into()
5686 }
5687 unsafe extern "system" fn SetfullScreen<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPPlayer4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bfullscreen: super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
5688 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5689 let this = (*this).get_impl();
5690 this.SetfullScreen(::core::mem::transmute_copy(&bfullscreen)).into()
5691 }
5692 unsafe extern "system" fn enableContextMenu<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPPlayer4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbenablecontextmenu: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
5693 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5694 let this = (*this).get_impl();
5695 this.enableContextMenu(::core::mem::transmute_copy(&pbenablecontextmenu)).into()
5696 }
5697 unsafe extern "system" fn SetenableContextMenu<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPPlayer4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, benablecontextmenu: super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
5698 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5699 let this = (*this).get_impl();
5700 this.SetenableContextMenu(::core::mem::transmute_copy(&benablecontextmenu)).into()
5701 }
5702 unsafe extern "system" fn SetuiMode<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPPlayer4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrmode: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
5703 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5704 let this = (*this).get_impl();
5705 this.SetuiMode(::core::mem::transmute(&bstrmode)).into()
5706 }
5707 unsafe extern "system" fn uiMode<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPPlayer4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbstrmode: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
5708 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5709 let this = (*this).get_impl();
5710 this.uiMode(::core::mem::transmute_copy(&pbstrmode)).into()
5711 }
5712 unsafe extern "system" fn stretchToFit<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPPlayer4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbenabled: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
5713 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5714 let this = (*this).get_impl();
5715 this.stretchToFit(::core::mem::transmute_copy(&pbenabled)).into()
5716 }
5717 unsafe extern "system" fn SetstretchToFit<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPPlayer4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, benabled: super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
5718 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5719 let this = (*this).get_impl();
5720 this.SetstretchToFit(::core::mem::transmute_copy(&benabled)).into()
5721 }
5722 unsafe extern "system" fn windowlessVideo<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPPlayer4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbenabled: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
5723 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5724 let this = (*this).get_impl();
5725 this.windowlessVideo(::core::mem::transmute_copy(&pbenabled)).into()
5726 }
5727 unsafe extern "system" fn SetwindowlessVideo<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPPlayer4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, benabled: super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
5728 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5729 let this = (*this).get_impl();
5730 this.SetwindowlessVideo(::core::mem::transmute_copy(&benabled)).into()
5731 }
5732 unsafe extern "system" fn isRemote<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPPlayer4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvarfisremote: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
5733 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5734 let this = (*this).get_impl();
5735 this.isRemote(::core::mem::transmute_copy(&pvarfisremote)).into()
5736 }
5737 unsafe extern "system" fn playerApplication<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPPlayer4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppiwmpplayerapplication: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
5738 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5739 let this = (*this).get_impl();
5740 match this.playerApplication() {
5741 ::core::result::Result::Ok(ok__) => {
5742 ::core::ptr::write(ppiwmpplayerapplication, ::core::mem::transmute(ok__));
5743 ::windows::core::HRESULT(0)
5744 }
5745 ::core::result::Result::Err(err) => err.into(),
5746 }
5747 }
5748 unsafe extern "system" fn openPlayer<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPPlayer4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrurl: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
5749 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5750 let this = (*this).get_impl();
5751 this.openPlayer(::core::mem::transmute(&bstrurl)).into()
5752 }
5753 Self {
5754 base__: IWMPCore3_Vtbl::new::<Identity, Impl, OFFSET>(),
5755 enabled: enabled::<Identity, Impl, OFFSET>,
5756 Setenabled: Setenabled::<Identity, Impl, OFFSET>,
5757 fullScreen: fullScreen::<Identity, Impl, OFFSET>,
5758 SetfullScreen: SetfullScreen::<Identity, Impl, OFFSET>,
5759 enableContextMenu: enableContextMenu::<Identity, Impl, OFFSET>,
5760 SetenableContextMenu: SetenableContextMenu::<Identity, Impl, OFFSET>,
5761 SetuiMode: SetuiMode::<Identity, Impl, OFFSET>,
5762 uiMode: uiMode::<Identity, Impl, OFFSET>,
5763 stretchToFit: stretchToFit::<Identity, Impl, OFFSET>,
5764 SetstretchToFit: SetstretchToFit::<Identity, Impl, OFFSET>,
5765 windowlessVideo: windowlessVideo::<Identity, Impl, OFFSET>,
5766 SetwindowlessVideo: SetwindowlessVideo::<Identity, Impl, OFFSET>,
5767 isRemote: isRemote::<Identity, Impl, OFFSET>,
5768 playerApplication: playerApplication::<Identity, Impl, OFFSET>,
5769 openPlayer: openPlayer::<Identity, Impl, OFFSET>,
5770 }
5771 }
5772 pub fn matches(iid: &windows::core::GUID) -> bool {
5773 iid == &<IWMPPlayer4 as ::windows::core::ComInterface>::IID || iid == &<super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID || iid == &<IWMPCore as ::windows::core::ComInterface>::IID || iid == &<IWMPCore2 as ::windows::core::ComInterface>::IID || iid == &<IWMPCore3 as ::windows::core::ComInterface>::IID
5774 }
5775 }
5776 #[doc = "*Required features: `\"Win32_Media_MediaPlayer\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
5777 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
5778 pub trait IWMPPlayerApplication_Impl: Sized + super::super::System::Com::IDispatch_Impl {
5779 fn switchToPlayerApplication(&self) -> ::windows::core::Result<()>;
5780 fn switchToControl(&self) -> ::windows::core::Result<()>;
5781 fn playerDocked(&self, pbplayerdocked: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::Result<()>;
5782 fn hasDisplay(&self, pbhasdisplay: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::Result<()>;
5783 }
5784 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
5785 impl ::windows::core::RuntimeName for IWMPPlayerApplication {}
5786 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
5787 impl IWMPPlayerApplication_Vtbl {
5788 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPPlayerApplication_Impl, const OFFSET: isize>() -> IWMPPlayerApplication_Vtbl {
5789 unsafe extern "system" fn switchToPlayerApplication<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPPlayerApplication_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
5790 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5791 let this = (*this).get_impl();
5792 this.switchToPlayerApplication().into()
5793 }
5794 unsafe extern "system" fn switchToControl<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPPlayerApplication_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
5795 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5796 let this = (*this).get_impl();
5797 this.switchToControl().into()
5798 }
5799 unsafe extern "system" fn playerDocked<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPPlayerApplication_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbplayerdocked: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
5800 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5801 let this = (*this).get_impl();
5802 this.playerDocked(::core::mem::transmute_copy(&pbplayerdocked)).into()
5803 }
5804 unsafe extern "system" fn hasDisplay<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPPlayerApplication_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbhasdisplay: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
5805 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5806 let this = (*this).get_impl();
5807 this.hasDisplay(::core::mem::transmute_copy(&pbhasdisplay)).into()
5808 }
5809 Self {
5810 base__: super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
5811 switchToPlayerApplication: switchToPlayerApplication::<Identity, Impl, OFFSET>,
5812 switchToControl: switchToControl::<Identity, Impl, OFFSET>,
5813 playerDocked: playerDocked::<Identity, Impl, OFFSET>,
5814 hasDisplay: hasDisplay::<Identity, Impl, OFFSET>,
5815 }
5816 }
5817 pub fn matches(iid: &windows::core::GUID) -> bool {
5818 iid == &<IWMPPlayerApplication as ::windows::core::ComInterface>::IID || iid == &<super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID
5819 }
5820 }
5821 #[doc = "*Required features: `\"Win32_Media_MediaPlayer\"`, `\"implement\"`*"]
5822 pub trait IWMPPlayerServices_Impl: Sized {
5823 fn activateUIPlugin(&self, bstrplugin: &::windows::core::BSTR) -> ::windows::core::Result<()>;
5824 fn setTaskPane(&self, bstrtaskpane: &::windows::core::BSTR) -> ::windows::core::Result<()>;
5825 fn setTaskPaneURL(&self, bstrtaskpane: &::windows::core::BSTR, bstrurl: &::windows::core::BSTR, bstrfriendlyname: &::windows::core::BSTR) -> ::windows::core::Result<()>;
5826 }
5827 impl ::windows::core::RuntimeName for IWMPPlayerServices {}
5828 impl IWMPPlayerServices_Vtbl {
5829 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPPlayerServices_Impl, const OFFSET: isize>() -> IWMPPlayerServices_Vtbl {
5830 unsafe extern "system" fn activateUIPlugin<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPPlayerServices_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrplugin: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
5831 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5832 let this = (*this).get_impl();
5833 this.activateUIPlugin(::core::mem::transmute(&bstrplugin)).into()
5834 }
5835 unsafe extern "system" fn setTaskPane<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPPlayerServices_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrtaskpane: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
5836 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5837 let this = (*this).get_impl();
5838 this.setTaskPane(::core::mem::transmute(&bstrtaskpane)).into()
5839 }
5840 unsafe extern "system" fn setTaskPaneURL<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPPlayerServices_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrtaskpane: ::std::mem::MaybeUninit<::windows::core::BSTR>, bstrurl: ::std::mem::MaybeUninit<::windows::core::BSTR>, bstrfriendlyname: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
5841 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5842 let this = (*this).get_impl();
5843 this.setTaskPaneURL(::core::mem::transmute(&bstrtaskpane), ::core::mem::transmute(&bstrurl), ::core::mem::transmute(&bstrfriendlyname)).into()
5844 }
5845 Self {
5846 base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
5847 activateUIPlugin: activateUIPlugin::<Identity, Impl, OFFSET>,
5848 setTaskPane: setTaskPane::<Identity, Impl, OFFSET>,
5849 setTaskPaneURL: setTaskPaneURL::<Identity, Impl, OFFSET>,
5850 }
5851 }
5852 pub fn matches(iid: &windows::core::GUID) -> bool {
5853 iid == &<IWMPPlayerServices as ::windows::core::ComInterface>::IID
5854 }
5855 }
5856 #[doc = "*Required features: `\"Win32_Media_MediaPlayer\"`, `\"implement\"`*"]
5857 pub trait IWMPPlayerServices2_Impl: Sized + IWMPPlayerServices_Impl {
5858 fn setBackgroundProcessingPriority(&self, bstrpriority: &::windows::core::BSTR) -> ::windows::core::Result<()>;
5859 }
5860 impl ::windows::core::RuntimeName for IWMPPlayerServices2 {}
5861 impl IWMPPlayerServices2_Vtbl {
5862 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPPlayerServices2_Impl, const OFFSET: isize>() -> IWMPPlayerServices2_Vtbl {
5863 unsafe extern "system" fn setBackgroundProcessingPriority<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPPlayerServices2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrpriority: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
5864 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5865 let this = (*this).get_impl();
5866 this.setBackgroundProcessingPriority(::core::mem::transmute(&bstrpriority)).into()
5867 }
5868 Self {
5869 base__: IWMPPlayerServices_Vtbl::new::<Identity, Impl, OFFSET>(),
5870 setBackgroundProcessingPriority: setBackgroundProcessingPriority::<Identity, Impl, OFFSET>,
5871 }
5872 }
5873 pub fn matches(iid: &windows::core::GUID) -> bool {
5874 iid == &<IWMPPlayerServices2 as ::windows::core::ComInterface>::IID || iid == &<IWMPPlayerServices as ::windows::core::ComInterface>::IID
5875 }
5876 }
5877 #[doc = "*Required features: `\"Win32_Media_MediaPlayer\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
5878 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
5879 pub trait IWMPPlaylist_Impl: Sized + super::super::System::Com::IDispatch_Impl {
5880 fn count(&self, plcount: *mut i32) -> ::windows::core::Result<()>;
5881 fn name(&self, pbstrname: *mut ::windows::core::BSTR) -> ::windows::core::Result<()>;
5882 fn Setname(&self, bstrname: &::windows::core::BSTR) -> ::windows::core::Result<()>;
5883 fn attributeCount(&self, plcount: *mut i32) -> ::windows::core::Result<()>;
5884 fn get_attributeName(&self, lindex: i32, pbstrattributename: *mut ::windows::core::BSTR) -> ::windows::core::Result<()>;
5885 fn get_item(&self, lindex: i32) -> ::windows::core::Result<IWMPMedia>;
5886 fn getItemInfo(&self, bstrname: &::windows::core::BSTR, pbstrval: *mut ::windows::core::BSTR) -> ::windows::core::Result<()>;
5887 fn setItemInfo(&self, bstrname: &::windows::core::BSTR, bstrvalue: &::windows::core::BSTR) -> ::windows::core::Result<()>;
5888 fn get_isIdentical(&self, piwmpplaylist: ::core::option::Option<&IWMPPlaylist>, pvbool: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::Result<()>;
5889 fn clear(&self) -> ::windows::core::Result<()>;
5890 fn insertItem(&self, lindex: i32, piwmpmedia: ::core::option::Option<&IWMPMedia>) -> ::windows::core::Result<()>;
5891 fn appendItem(&self, piwmpmedia: ::core::option::Option<&IWMPMedia>) -> ::windows::core::Result<()>;
5892 fn removeItem(&self, piwmpmedia: ::core::option::Option<&IWMPMedia>) -> ::windows::core::Result<()>;
5893 fn moveItem(&self, lindexold: i32, lindexnew: i32) -> ::windows::core::Result<()>;
5894 }
5895 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
5896 impl ::windows::core::RuntimeName for IWMPPlaylist {}
5897 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
5898 impl IWMPPlaylist_Vtbl {
5899 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPPlaylist_Impl, const OFFSET: isize>() -> IWMPPlaylist_Vtbl {
5900 unsafe extern "system" fn count<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPPlaylist_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, plcount: *mut i32) -> ::windows::core::HRESULT {
5901 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5902 let this = (*this).get_impl();
5903 this.count(::core::mem::transmute_copy(&plcount)).into()
5904 }
5905 unsafe extern "system" fn name<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPPlaylist_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbstrname: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
5906 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5907 let this = (*this).get_impl();
5908 this.name(::core::mem::transmute_copy(&pbstrname)).into()
5909 }
5910 unsafe extern "system" fn Setname<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPPlaylist_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrname: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
5911 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5912 let this = (*this).get_impl();
5913 this.Setname(::core::mem::transmute(&bstrname)).into()
5914 }
5915 unsafe extern "system" fn attributeCount<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPPlaylist_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, plcount: *mut i32) -> ::windows::core::HRESULT {
5916 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5917 let this = (*this).get_impl();
5918 this.attributeCount(::core::mem::transmute_copy(&plcount)).into()
5919 }
5920 unsafe extern "system" fn get_attributeName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPPlaylist_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lindex: i32, pbstrattributename: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
5921 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5922 let this = (*this).get_impl();
5923 this.get_attributeName(::core::mem::transmute_copy(&lindex), ::core::mem::transmute_copy(&pbstrattributename)).into()
5924 }
5925 unsafe extern "system" fn get_item<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPPlaylist_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lindex: i32, ppiwmpmedia: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
5926 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5927 let this = (*this).get_impl();
5928 match this.get_item(::core::mem::transmute_copy(&lindex)) {
5929 ::core::result::Result::Ok(ok__) => {
5930 ::core::ptr::write(ppiwmpmedia, ::core::mem::transmute(ok__));
5931 ::windows::core::HRESULT(0)
5932 }
5933 ::core::result::Result::Err(err) => err.into(),
5934 }
5935 }
5936 unsafe extern "system" fn getItemInfo<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPPlaylist_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrname: ::std::mem::MaybeUninit<::windows::core::BSTR>, pbstrval: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
5937 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5938 let this = (*this).get_impl();
5939 this.getItemInfo(::core::mem::transmute(&bstrname), ::core::mem::transmute_copy(&pbstrval)).into()
5940 }
5941 unsafe extern "system" fn setItemInfo<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPPlaylist_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrname: ::std::mem::MaybeUninit<::windows::core::BSTR>, bstrvalue: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
5942 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5943 let this = (*this).get_impl();
5944 this.setItemInfo(::core::mem::transmute(&bstrname), ::core::mem::transmute(&bstrvalue)).into()
5945 }
5946 unsafe extern "system" fn get_isIdentical<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPPlaylist_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, piwmpplaylist: *mut ::core::ffi::c_void, pvbool: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
5947 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5948 let this = (*this).get_impl();
5949 this.get_isIdentical(::windows::core::from_raw_borrowed(&piwmpplaylist), ::core::mem::transmute_copy(&pvbool)).into()
5950 }
5951 unsafe extern "system" fn clear<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPPlaylist_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
5952 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5953 let this = (*this).get_impl();
5954 this.clear().into()
5955 }
5956 unsafe extern "system" fn insertItem<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPPlaylist_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lindex: i32, piwmpmedia: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
5957 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5958 let this = (*this).get_impl();
5959 this.insertItem(::core::mem::transmute_copy(&lindex), ::windows::core::from_raw_borrowed(&piwmpmedia)).into()
5960 }
5961 unsafe extern "system" fn appendItem<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPPlaylist_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, piwmpmedia: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
5962 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5963 let this = (*this).get_impl();
5964 this.appendItem(::windows::core::from_raw_borrowed(&piwmpmedia)).into()
5965 }
5966 unsafe extern "system" fn removeItem<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPPlaylist_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, piwmpmedia: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
5967 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5968 let this = (*this).get_impl();
5969 this.removeItem(::windows::core::from_raw_borrowed(&piwmpmedia)).into()
5970 }
5971 unsafe extern "system" fn moveItem<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPPlaylist_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lindexold: i32, lindexnew: i32) -> ::windows::core::HRESULT {
5972 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5973 let this = (*this).get_impl();
5974 this.moveItem(::core::mem::transmute_copy(&lindexold), ::core::mem::transmute_copy(&lindexnew)).into()
5975 }
5976 Self {
5977 base__: super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
5978 count: count::<Identity, Impl, OFFSET>,
5979 name: name::<Identity, Impl, OFFSET>,
5980 Setname: Setname::<Identity, Impl, OFFSET>,
5981 attributeCount: attributeCount::<Identity, Impl, OFFSET>,
5982 get_attributeName: get_attributeName::<Identity, Impl, OFFSET>,
5983 get_item: get_item::<Identity, Impl, OFFSET>,
5984 getItemInfo: getItemInfo::<Identity, Impl, OFFSET>,
5985 setItemInfo: setItemInfo::<Identity, Impl, OFFSET>,
5986 get_isIdentical: get_isIdentical::<Identity, Impl, OFFSET>,
5987 clear: clear::<Identity, Impl, OFFSET>,
5988 insertItem: insertItem::<Identity, Impl, OFFSET>,
5989 appendItem: appendItem::<Identity, Impl, OFFSET>,
5990 removeItem: removeItem::<Identity, Impl, OFFSET>,
5991 moveItem: moveItem::<Identity, Impl, OFFSET>,
5992 }
5993 }
5994 pub fn matches(iid: &windows::core::GUID) -> bool {
5995 iid == &<IWMPPlaylist as ::windows::core::ComInterface>::IID || iid == &<super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID
5996 }
5997 }
5998 #[doc = "*Required features: `\"Win32_Media_MediaPlayer\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
5999 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
6000 pub trait IWMPPlaylistArray_Impl: Sized + super::super::System::Com::IDispatch_Impl {
6001 fn count(&self, plcount: *mut i32) -> ::windows::core::Result<()>;
6002 fn item(&self, lindex: i32) -> ::windows::core::Result<IWMPPlaylist>;
6003 }
6004 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
6005 impl ::windows::core::RuntimeName for IWMPPlaylistArray {}
6006 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
6007 impl IWMPPlaylistArray_Vtbl {
6008 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPPlaylistArray_Impl, const OFFSET: isize>() -> IWMPPlaylistArray_Vtbl {
6009 unsafe extern "system" fn count<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPPlaylistArray_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, plcount: *mut i32) -> ::windows::core::HRESULT {
6010 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6011 let this = (*this).get_impl();
6012 this.count(::core::mem::transmute_copy(&plcount)).into()
6013 }
6014 unsafe extern "system" fn item<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPPlaylistArray_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lindex: i32, ppitem: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
6015 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6016 let this = (*this).get_impl();
6017 match this.item(::core::mem::transmute_copy(&lindex)) {
6018 ::core::result::Result::Ok(ok__) => {
6019 ::core::ptr::write(ppitem, ::core::mem::transmute(ok__));
6020 ::windows::core::HRESULT(0)
6021 }
6022 ::core::result::Result::Err(err) => err.into(),
6023 }
6024 }
6025 Self {
6026 base__: super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
6027 count: count::<Identity, Impl, OFFSET>,
6028 item: item::<Identity, Impl, OFFSET>,
6029 }
6030 }
6031 pub fn matches(iid: &windows::core::GUID) -> bool {
6032 iid == &<IWMPPlaylistArray as ::windows::core::ComInterface>::IID || iid == &<super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID
6033 }
6034 }
6035 #[doc = "*Required features: `\"Win32_Media_MediaPlayer\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
6036 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
6037 pub trait IWMPPlaylistCollection_Impl: Sized + super::super::System::Com::IDispatch_Impl {
6038 fn newPlaylist(&self, bstrname: &::windows::core::BSTR) -> ::windows::core::Result<IWMPPlaylist>;
6039 fn getAll(&self) -> ::windows::core::Result<IWMPPlaylistArray>;
6040 fn getByName(&self, bstrname: &::windows::core::BSTR) -> ::windows::core::Result<IWMPPlaylistArray>;
6041 fn remove(&self, pitem: ::core::option::Option<&IWMPPlaylist>) -> ::windows::core::Result<()>;
6042 fn setDeleted(&self, pitem: ::core::option::Option<&IWMPPlaylist>, varfisdeleted: super::super::Foundation::VARIANT_BOOL) -> ::windows::core::Result<()>;
6043 fn isDeleted(&self, pitem: ::core::option::Option<&IWMPPlaylist>, pvarfisdeleted: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::Result<()>;
6044 fn importPlaylist(&self, pitem: ::core::option::Option<&IWMPPlaylist>) -> ::windows::core::Result<IWMPPlaylist>;
6045 }
6046 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
6047 impl ::windows::core::RuntimeName for IWMPPlaylistCollection {}
6048 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
6049 impl IWMPPlaylistCollection_Vtbl {
6050 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPPlaylistCollection_Impl, const OFFSET: isize>() -> IWMPPlaylistCollection_Vtbl {
6051 unsafe extern "system" fn newPlaylist<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPPlaylistCollection_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrname: ::std::mem::MaybeUninit<::windows::core::BSTR>, ppitem: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
6052 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6053 let this = (*this).get_impl();
6054 match this.newPlaylist(::core::mem::transmute(&bstrname)) {
6055 ::core::result::Result::Ok(ok__) => {
6056 ::core::ptr::write(ppitem, ::core::mem::transmute(ok__));
6057 ::windows::core::HRESULT(0)
6058 }
6059 ::core::result::Result::Err(err) => err.into(),
6060 }
6061 }
6062 unsafe extern "system" fn getAll<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPPlaylistCollection_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppplaylistarray: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
6063 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6064 let this = (*this).get_impl();
6065 match this.getAll() {
6066 ::core::result::Result::Ok(ok__) => {
6067 ::core::ptr::write(ppplaylistarray, ::core::mem::transmute(ok__));
6068 ::windows::core::HRESULT(0)
6069 }
6070 ::core::result::Result::Err(err) => err.into(),
6071 }
6072 }
6073 unsafe extern "system" fn getByName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPPlaylistCollection_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrname: ::std::mem::MaybeUninit<::windows::core::BSTR>, ppplaylistarray: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
6074 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6075 let this = (*this).get_impl();
6076 match this.getByName(::core::mem::transmute(&bstrname)) {
6077 ::core::result::Result::Ok(ok__) => {
6078 ::core::ptr::write(ppplaylistarray, ::core::mem::transmute(ok__));
6079 ::windows::core::HRESULT(0)
6080 }
6081 ::core::result::Result::Err(err) => err.into(),
6082 }
6083 }
6084 unsafe extern "system" fn remove<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPPlaylistCollection_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pitem: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
6085 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6086 let this = (*this).get_impl();
6087 this.remove(::windows::core::from_raw_borrowed(&pitem)).into()
6088 }
6089 unsafe extern "system" fn setDeleted<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPPlaylistCollection_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pitem: *mut ::core::ffi::c_void, varfisdeleted: super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
6090 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6091 let this = (*this).get_impl();
6092 this.setDeleted(::windows::core::from_raw_borrowed(&pitem), ::core::mem::transmute_copy(&varfisdeleted)).into()
6093 }
6094 unsafe extern "system" fn isDeleted<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPPlaylistCollection_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pitem: *mut ::core::ffi::c_void, pvarfisdeleted: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
6095 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6096 let this = (*this).get_impl();
6097 this.isDeleted(::windows::core::from_raw_borrowed(&pitem), ::core::mem::transmute_copy(&pvarfisdeleted)).into()
6098 }
6099 unsafe extern "system" fn importPlaylist<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPPlaylistCollection_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pitem: *mut ::core::ffi::c_void, ppimporteditem: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
6100 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6101 let this = (*this).get_impl();
6102 match this.importPlaylist(::windows::core::from_raw_borrowed(&pitem)) {
6103 ::core::result::Result::Ok(ok__) => {
6104 ::core::ptr::write(ppimporteditem, ::core::mem::transmute(ok__));
6105 ::windows::core::HRESULT(0)
6106 }
6107 ::core::result::Result::Err(err) => err.into(),
6108 }
6109 }
6110 Self {
6111 base__: super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
6112 newPlaylist: newPlaylist::<Identity, Impl, OFFSET>,
6113 getAll: getAll::<Identity, Impl, OFFSET>,
6114 getByName: getByName::<Identity, Impl, OFFSET>,
6115 remove: remove::<Identity, Impl, OFFSET>,
6116 setDeleted: setDeleted::<Identity, Impl, OFFSET>,
6117 isDeleted: isDeleted::<Identity, Impl, OFFSET>,
6118 importPlaylist: importPlaylist::<Identity, Impl, OFFSET>,
6119 }
6120 }
6121 pub fn matches(iid: &windows::core::GUID) -> bool {
6122 iid == &<IWMPPlaylistCollection as ::windows::core::ComInterface>::IID || iid == &<super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID
6123 }
6124 }
6125 #[doc = "*Required features: `\"Win32_Media_MediaPlayer\"`, `\"implement\"`*"]
6126 pub trait IWMPPlugin_Impl: Sized {
6127 fn Init(&self, dwplaybackcontext: usize) -> ::windows::core::Result<()>;
6128 fn Shutdown(&self) -> ::windows::core::Result<()>;
6129 fn GetID(&self, pguid: *mut ::windows::core::GUID) -> ::windows::core::Result<()>;
6130 fn GetCaps(&self, pdwflags: *mut u32) -> ::windows::core::Result<()>;
6131 fn AdviseWMPServices(&self, pwmpservices: ::core::option::Option<&IWMPServices>) -> ::windows::core::Result<()>;
6132 fn UnAdviseWMPServices(&self) -> ::windows::core::Result<()>;
6133 }
6134 impl ::windows::core::RuntimeName for IWMPPlugin {}
6135 impl IWMPPlugin_Vtbl {
6136 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPPlugin_Impl, const OFFSET: isize>() -> IWMPPlugin_Vtbl {
6137 unsafe extern "system" fn Init<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPPlugin_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwplaybackcontext: usize) -> ::windows::core::HRESULT {
6138 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6139 let this = (*this).get_impl();
6140 this.Init(::core::mem::transmute_copy(&dwplaybackcontext)).into()
6141 }
6142 unsafe extern "system" fn Shutdown<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPPlugin_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
6143 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6144 let this = (*this).get_impl();
6145 this.Shutdown().into()
6146 }
6147 unsafe extern "system" fn GetID<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPPlugin_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pguid: *mut ::windows::core::GUID) -> ::windows::core::HRESULT {
6148 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6149 let this = (*this).get_impl();
6150 this.GetID(::core::mem::transmute_copy(&pguid)).into()
6151 }
6152 unsafe extern "system" fn GetCaps<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPPlugin_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdwflags: *mut u32) -> ::windows::core::HRESULT {
6153 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6154 let this = (*this).get_impl();
6155 this.GetCaps(::core::mem::transmute_copy(&pdwflags)).into()
6156 }
6157 unsafe extern "system" fn AdviseWMPServices<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPPlugin_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pwmpservices: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
6158 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6159 let this = (*this).get_impl();
6160 this.AdviseWMPServices(::windows::core::from_raw_borrowed(&pwmpservices)).into()
6161 }
6162 unsafe extern "system" fn UnAdviseWMPServices<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPPlugin_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
6163 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6164 let this = (*this).get_impl();
6165 this.UnAdviseWMPServices().into()
6166 }
6167 Self {
6168 base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
6169 Init: Init::<Identity, Impl, OFFSET>,
6170 Shutdown: Shutdown::<Identity, Impl, OFFSET>,
6171 GetID: GetID::<Identity, Impl, OFFSET>,
6172 GetCaps: GetCaps::<Identity, Impl, OFFSET>,
6173 AdviseWMPServices: AdviseWMPServices::<Identity, Impl, OFFSET>,
6174 UnAdviseWMPServices: UnAdviseWMPServices::<Identity, Impl, OFFSET>,
6175 }
6176 }
6177 pub fn matches(iid: &windows::core::GUID) -> bool {
6178 iid == &<IWMPPlugin as ::windows::core::ComInterface>::IID
6179 }
6180 }
6181 #[doc = "*Required features: `\"Win32_Media_MediaPlayer\"`, `\"Win32_Foundation\"`, `\"implement\"`*"]
6182 #[cfg(feature = "Win32_Foundation")]
6183 pub trait IWMPPluginEnable_Impl: Sized {
6184 fn SetEnable(&self, fenable: super::super::Foundation::BOOL) -> ::windows::core::Result<()>;
6185 fn GetEnable(&self, pfenable: *mut super::super::Foundation::BOOL) -> ::windows::core::Result<()>;
6186 }
6187 #[cfg(feature = "Win32_Foundation")]
6188 impl ::windows::core::RuntimeName for IWMPPluginEnable {}
6189 #[cfg(feature = "Win32_Foundation")]
6190 impl IWMPPluginEnable_Vtbl {
6191 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPPluginEnable_Impl, const OFFSET: isize>() -> IWMPPluginEnable_Vtbl {
6192 unsafe extern "system" fn SetEnable<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPPluginEnable_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, fenable: super::super::Foundation::BOOL) -> ::windows::core::HRESULT {
6193 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6194 let this = (*this).get_impl();
6195 this.SetEnable(::core::mem::transmute_copy(&fenable)).into()
6196 }
6197 unsafe extern "system" fn GetEnable<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPPluginEnable_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pfenable: *mut super::super::Foundation::BOOL) -> ::windows::core::HRESULT {
6198 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6199 let this = (*this).get_impl();
6200 this.GetEnable(::core::mem::transmute_copy(&pfenable)).into()
6201 }
6202 Self {
6203 base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
6204 SetEnable: SetEnable::<Identity, Impl, OFFSET>,
6205 GetEnable: GetEnable::<Identity, Impl, OFFSET>,
6206 }
6207 }
6208 pub fn matches(iid: &windows::core::GUID) -> bool {
6209 iid == &<IWMPPluginEnable as ::windows::core::ComInterface>::IID
6210 }
6211 }
6212 #[doc = "*Required features: `\"Win32_Media_MediaPlayer\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"Win32_UI_WindowsAndMessaging\"`, `\"implement\"`*"]
6213 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_UI_WindowsAndMessaging"))]
6214 pub trait IWMPPluginUI_Impl: Sized {
6215 fn SetCore(&self, pcore: ::core::option::Option<&IWMPCore>) -> ::windows::core::Result<()>;
6216 fn Create(&self, hwndparent: super::super::Foundation::HWND, phwndwindow: *mut super::super::Foundation::HWND) -> ::windows::core::Result<()>;
6217 fn Destroy(&self) -> ::windows::core::Result<()>;
6218 fn DisplayPropertyPage(&self, hwndparent: super::super::Foundation::HWND) -> ::windows::core::Result<()>;
6219 fn GetProperty(&self, pwszname: &::windows::core::PCWSTR, pvarproperty: *mut super::super::System::Com::VARIANT) -> ::windows::core::Result<()>;
6220 fn SetProperty(&self, pwszname: &::windows::core::PCWSTR, pvarproperty: *const super::super::System::Com::VARIANT) -> ::windows::core::Result<()>;
6221 fn TranslateAccelerator(&self, lpmsg: *mut super::super::UI::WindowsAndMessaging::MSG) -> ::windows::core::Result<()>;
6222 }
6223 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_UI_WindowsAndMessaging"))]
6224 impl ::windows::core::RuntimeName for IWMPPluginUI {}
6225 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_UI_WindowsAndMessaging"))]
6226 impl IWMPPluginUI_Vtbl {
6227 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPPluginUI_Impl, const OFFSET: isize>() -> IWMPPluginUI_Vtbl {
6228 unsafe extern "system" fn SetCore<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPPluginUI_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pcore: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
6229 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6230 let this = (*this).get_impl();
6231 this.SetCore(::windows::core::from_raw_borrowed(&pcore)).into()
6232 }
6233 unsafe extern "system" fn Create<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPPluginUI_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, hwndparent: super::super::Foundation::HWND, phwndwindow: *mut super::super::Foundation::HWND) -> ::windows::core::HRESULT {
6234 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6235 let this = (*this).get_impl();
6236 this.Create(::core::mem::transmute_copy(&hwndparent), ::core::mem::transmute_copy(&phwndwindow)).into()
6237 }
6238 unsafe extern "system" fn Destroy<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPPluginUI_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
6239 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6240 let this = (*this).get_impl();
6241 this.Destroy().into()
6242 }
6243 unsafe extern "system" fn DisplayPropertyPage<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPPluginUI_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, hwndparent: super::super::Foundation::HWND) -> ::windows::core::HRESULT {
6244 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6245 let this = (*this).get_impl();
6246 this.DisplayPropertyPage(::core::mem::transmute_copy(&hwndparent)).into()
6247 }
6248 unsafe extern "system" fn GetProperty<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPPluginUI_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pwszname: ::windows::core::PCWSTR, pvarproperty: *mut super::super::System::Com::VARIANT) -> ::windows::core::HRESULT {
6249 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6250 let this = (*this).get_impl();
6251 this.GetProperty(::core::mem::transmute(&pwszname), ::core::mem::transmute_copy(&pvarproperty)).into()
6252 }
6253 unsafe extern "system" fn SetProperty<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPPluginUI_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pwszname: ::windows::core::PCWSTR, pvarproperty: *const super::super::System::Com::VARIANT) -> ::windows::core::HRESULT {
6254 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6255 let this = (*this).get_impl();
6256 this.SetProperty(::core::mem::transmute(&pwszname), ::core::mem::transmute_copy(&pvarproperty)).into()
6257 }
6258 unsafe extern "system" fn TranslateAccelerator<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPPluginUI_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lpmsg: *mut super::super::UI::WindowsAndMessaging::MSG) -> ::windows::core::HRESULT {
6259 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6260 let this = (*this).get_impl();
6261 this.TranslateAccelerator(::core::mem::transmute_copy(&lpmsg)).into()
6262 }
6263 Self {
6264 base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
6265 SetCore: SetCore::<Identity, Impl, OFFSET>,
6266 Create: Create::<Identity, Impl, OFFSET>,
6267 Destroy: Destroy::<Identity, Impl, OFFSET>,
6268 DisplayPropertyPage: DisplayPropertyPage::<Identity, Impl, OFFSET>,
6269 GetProperty: GetProperty::<Identity, Impl, OFFSET>,
6270 SetProperty: SetProperty::<Identity, Impl, OFFSET>,
6271 TranslateAccelerator: TranslateAccelerator::<Identity, Impl, OFFSET>,
6272 }
6273 }
6274 pub fn matches(iid: &windows::core::GUID) -> bool {
6275 iid == &<IWMPPluginUI as ::windows::core::ComInterface>::IID
6276 }
6277 }
6278 #[doc = "*Required features: `\"Win32_Media_MediaPlayer\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
6279 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
6280 pub trait IWMPQuery_Impl: Sized + super::super::System::Com::IDispatch_Impl {
6281 fn addCondition(&self, bstrattribute: &::windows::core::BSTR, bstroperator: &::windows::core::BSTR, bstrvalue: &::windows::core::BSTR) -> ::windows::core::Result<()>;
6282 fn beginNextGroup(&self) -> ::windows::core::Result<()>;
6283 }
6284 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
6285 impl ::windows::core::RuntimeName for IWMPQuery {}
6286 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
6287 impl IWMPQuery_Vtbl {
6288 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPQuery_Impl, const OFFSET: isize>() -> IWMPQuery_Vtbl {
6289 unsafe extern "system" fn addCondition<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPQuery_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrattribute: ::std::mem::MaybeUninit<::windows::core::BSTR>, bstroperator: ::std::mem::MaybeUninit<::windows::core::BSTR>, bstrvalue: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
6290 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6291 let this = (*this).get_impl();
6292 this.addCondition(::core::mem::transmute(&bstrattribute), ::core::mem::transmute(&bstroperator), ::core::mem::transmute(&bstrvalue)).into()
6293 }
6294 unsafe extern "system" fn beginNextGroup<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPQuery_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
6295 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6296 let this = (*this).get_impl();
6297 this.beginNextGroup().into()
6298 }
6299 Self {
6300 base__: super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
6301 addCondition: addCondition::<Identity, Impl, OFFSET>,
6302 beginNextGroup: beginNextGroup::<Identity, Impl, OFFSET>,
6303 }
6304 }
6305 pub fn matches(iid: &windows::core::GUID) -> bool {
6306 iid == &<IWMPQuery as ::windows::core::ComInterface>::IID || iid == &<super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID
6307 }
6308 }
6309 #[doc = "*Required features: `\"Win32_Media_MediaPlayer\"`, `\"Win32_System_Com\"`, `\"implement\"`*"]
6310 #[cfg(feature = "Win32_System_Com")]
6311 pub trait IWMPRemoteMediaServices_Impl: Sized {
6312 fn GetServiceType(&self, pbstrtype: *mut ::windows::core::BSTR) -> ::windows::core::Result<()>;
6313 fn GetApplicationName(&self, pbstrname: *mut ::windows::core::BSTR) -> ::windows::core::Result<()>;
6314 fn GetScriptableObject(&self, pbstrname: *mut ::windows::core::BSTR, ppdispatch: *mut ::core::option::Option<super::super::System::Com::IDispatch>) -> ::windows::core::Result<()>;
6315 fn GetCustomUIMode(&self, pbstrfile: *mut ::windows::core::BSTR) -> ::windows::core::Result<()>;
6316 }
6317 #[cfg(feature = "Win32_System_Com")]
6318 impl ::windows::core::RuntimeName for IWMPRemoteMediaServices {}
6319 #[cfg(feature = "Win32_System_Com")]
6320 impl IWMPRemoteMediaServices_Vtbl {
6321 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPRemoteMediaServices_Impl, const OFFSET: isize>() -> IWMPRemoteMediaServices_Vtbl {
6322 unsafe extern "system" fn GetServiceType<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPRemoteMediaServices_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbstrtype: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
6323 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6324 let this = (*this).get_impl();
6325 this.GetServiceType(::core::mem::transmute_copy(&pbstrtype)).into()
6326 }
6327 unsafe extern "system" fn GetApplicationName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPRemoteMediaServices_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbstrname: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
6328 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6329 let this = (*this).get_impl();
6330 this.GetApplicationName(::core::mem::transmute_copy(&pbstrname)).into()
6331 }
6332 unsafe extern "system" fn GetScriptableObject<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPRemoteMediaServices_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbstrname: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>, ppdispatch: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
6333 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6334 let this = (*this).get_impl();
6335 this.GetScriptableObject(::core::mem::transmute_copy(&pbstrname), ::core::mem::transmute_copy(&ppdispatch)).into()
6336 }
6337 unsafe extern "system" fn GetCustomUIMode<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPRemoteMediaServices_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbstrfile: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
6338 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6339 let this = (*this).get_impl();
6340 this.GetCustomUIMode(::core::mem::transmute_copy(&pbstrfile)).into()
6341 }
6342 Self {
6343 base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
6344 GetServiceType: GetServiceType::<Identity, Impl, OFFSET>,
6345 GetApplicationName: GetApplicationName::<Identity, Impl, OFFSET>,
6346 GetScriptableObject: GetScriptableObject::<Identity, Impl, OFFSET>,
6347 GetCustomUIMode: GetCustomUIMode::<Identity, Impl, OFFSET>,
6348 }
6349 }
6350 pub fn matches(iid: &windows::core::GUID) -> bool {
6351 iid == &<IWMPRemoteMediaServices as ::windows::core::ComInterface>::IID
6352 }
6353 }
6354 #[doc = "*Required features: `\"Win32_Media_MediaPlayer\"`, `\"Win32_Foundation\"`, `\"implement\"`*"]
6355 #[cfg(feature = "Win32_Foundation")]
6356 pub trait IWMPRenderConfig_Impl: Sized {
6357 fn SetinProcOnly(&self, finproc: super::super::Foundation::BOOL) -> ::windows::core::Result<()>;
6358 fn inProcOnly(&self, pfinproc: *mut super::super::Foundation::BOOL) -> ::windows::core::Result<()>;
6359 }
6360 #[cfg(feature = "Win32_Foundation")]
6361 impl ::windows::core::RuntimeName for IWMPRenderConfig {}
6362 #[cfg(feature = "Win32_Foundation")]
6363 impl IWMPRenderConfig_Vtbl {
6364 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPRenderConfig_Impl, const OFFSET: isize>() -> IWMPRenderConfig_Vtbl {
6365 unsafe extern "system" fn SetinProcOnly<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPRenderConfig_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, finproc: super::super::Foundation::BOOL) -> ::windows::core::HRESULT {
6366 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6367 let this = (*this).get_impl();
6368 this.SetinProcOnly(::core::mem::transmute_copy(&finproc)).into()
6369 }
6370 unsafe extern "system" fn inProcOnly<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPRenderConfig_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pfinproc: *mut super::super::Foundation::BOOL) -> ::windows::core::HRESULT {
6371 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6372 let this = (*this).get_impl();
6373 this.inProcOnly(::core::mem::transmute_copy(&pfinproc)).into()
6374 }
6375 Self {
6376 base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
6377 SetinProcOnly: SetinProcOnly::<Identity, Impl, OFFSET>,
6378 inProcOnly: inProcOnly::<Identity, Impl, OFFSET>,
6379 }
6380 }
6381 pub fn matches(iid: &windows::core::GUID) -> bool {
6382 iid == &<IWMPRenderConfig as ::windows::core::ComInterface>::IID
6383 }
6384 }
6385 #[doc = "*Required features: `\"Win32_Media_MediaPlayer\"`, `\"implement\"`*"]
6386 pub trait IWMPServices_Impl: Sized {
6387 fn GetStreamTime(&self, prt: *mut i64) -> ::windows::core::Result<()>;
6388 fn GetStreamState(&self, pstate: *mut WMPServices_StreamState) -> ::windows::core::Result<()>;
6389 }
6390 impl ::windows::core::RuntimeName for IWMPServices {}
6391 impl IWMPServices_Vtbl {
6392 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPServices_Impl, const OFFSET: isize>() -> IWMPServices_Vtbl {
6393 unsafe extern "system" fn GetStreamTime<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPServices_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, prt: *mut i64) -> ::windows::core::HRESULT {
6394 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6395 let this = (*this).get_impl();
6396 this.GetStreamTime(::core::mem::transmute_copy(&prt)).into()
6397 }
6398 unsafe extern "system" fn GetStreamState<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPServices_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pstate: *mut WMPServices_StreamState) -> ::windows::core::HRESULT {
6399 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6400 let this = (*this).get_impl();
6401 this.GetStreamState(::core::mem::transmute_copy(&pstate)).into()
6402 }
6403 Self {
6404 base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
6405 GetStreamTime: GetStreamTime::<Identity, Impl, OFFSET>,
6406 GetStreamState: GetStreamState::<Identity, Impl, OFFSET>,
6407 }
6408 }
6409 pub fn matches(iid: &windows::core::GUID) -> bool {
6410 iid == &<IWMPServices as ::windows::core::ComInterface>::IID
6411 }
6412 }
6413 #[doc = "*Required features: `\"Win32_Media_MediaPlayer\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
6414 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
6415 pub trait IWMPSettings_Impl: Sized + super::super::System::Com::IDispatch_Impl {
6416 fn get_isAvailable(&self, bstritem: &::windows::core::BSTR, pisavailable: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::Result<()>;
6417 fn autoStart(&self, pfautostart: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::Result<()>;
6418 fn SetautoStart(&self, fautostart: super::super::Foundation::VARIANT_BOOL) -> ::windows::core::Result<()>;
6419 fn baseURL(&self, pbstrbaseurl: *mut ::windows::core::BSTR) -> ::windows::core::Result<()>;
6420 fn SetbaseURL(&self, bstrbaseurl: &::windows::core::BSTR) -> ::windows::core::Result<()>;
6421 fn defaultFrame(&self, pbstrdefaultframe: *mut ::windows::core::BSTR) -> ::windows::core::Result<()>;
6422 fn SetdefaultFrame(&self, bstrdefaultframe: &::windows::core::BSTR) -> ::windows::core::Result<()>;
6423 fn invokeURLs(&self, pfinvokeurls: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::Result<()>;
6424 fn SetinvokeURLs(&self, finvokeurls: super::super::Foundation::VARIANT_BOOL) -> ::windows::core::Result<()>;
6425 fn mute(&self, pfmute: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::Result<()>;
6426 fn Setmute(&self, fmute: super::super::Foundation::VARIANT_BOOL) -> ::windows::core::Result<()>;
6427 fn playCount(&self, plcount: *mut i32) -> ::windows::core::Result<()>;
6428 fn SetplayCount(&self, lcount: i32) -> ::windows::core::Result<()>;
6429 fn rate(&self, pdrate: *mut f64) -> ::windows::core::Result<()>;
6430 fn Setrate(&self, drate: f64) -> ::windows::core::Result<()>;
6431 fn balance(&self, plbalance: *mut i32) -> ::windows::core::Result<()>;
6432 fn Setbalance(&self, lbalance: i32) -> ::windows::core::Result<()>;
6433 fn volume(&self, plvolume: *mut i32) -> ::windows::core::Result<()>;
6434 fn Setvolume(&self, lvolume: i32) -> ::windows::core::Result<()>;
6435 fn getMode(&self, bstrmode: &::windows::core::BSTR, pvarfmode: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::Result<()>;
6436 fn setMode(&self, bstrmode: &::windows::core::BSTR, varfmode: super::super::Foundation::VARIANT_BOOL) -> ::windows::core::Result<()>;
6437 fn enableErrorDialogs(&self, pfenableerrordialogs: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::Result<()>;
6438 fn SetenableErrorDialogs(&self, fenableerrordialogs: super::super::Foundation::VARIANT_BOOL) -> ::windows::core::Result<()>;
6439 }
6440 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
6441 impl ::windows::core::RuntimeName for IWMPSettings {}
6442 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
6443 impl IWMPSettings_Vtbl {
6444 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPSettings_Impl, const OFFSET: isize>() -> IWMPSettings_Vtbl {
6445 unsafe extern "system" fn get_isAvailable<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPSettings_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstritem: ::std::mem::MaybeUninit<::windows::core::BSTR>, pisavailable: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
6446 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6447 let this = (*this).get_impl();
6448 this.get_isAvailable(::core::mem::transmute(&bstritem), ::core::mem::transmute_copy(&pisavailable)).into()
6449 }
6450 unsafe extern "system" fn autoStart<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPSettings_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pfautostart: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
6451 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6452 let this = (*this).get_impl();
6453 this.autoStart(::core::mem::transmute_copy(&pfautostart)).into()
6454 }
6455 unsafe extern "system" fn SetautoStart<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPSettings_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, fautostart: super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
6456 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6457 let this = (*this).get_impl();
6458 this.SetautoStart(::core::mem::transmute_copy(&fautostart)).into()
6459 }
6460 unsafe extern "system" fn baseURL<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPSettings_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbstrbaseurl: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
6461 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6462 let this = (*this).get_impl();
6463 this.baseURL(::core::mem::transmute_copy(&pbstrbaseurl)).into()
6464 }
6465 unsafe extern "system" fn SetbaseURL<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPSettings_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrbaseurl: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
6466 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6467 let this = (*this).get_impl();
6468 this.SetbaseURL(::core::mem::transmute(&bstrbaseurl)).into()
6469 }
6470 unsafe extern "system" fn defaultFrame<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPSettings_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbstrdefaultframe: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
6471 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6472 let this = (*this).get_impl();
6473 this.defaultFrame(::core::mem::transmute_copy(&pbstrdefaultframe)).into()
6474 }
6475 unsafe extern "system" fn SetdefaultFrame<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPSettings_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrdefaultframe: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
6476 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6477 let this = (*this).get_impl();
6478 this.SetdefaultFrame(::core::mem::transmute(&bstrdefaultframe)).into()
6479 }
6480 unsafe extern "system" fn invokeURLs<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPSettings_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pfinvokeurls: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
6481 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6482 let this = (*this).get_impl();
6483 this.invokeURLs(::core::mem::transmute_copy(&pfinvokeurls)).into()
6484 }
6485 unsafe extern "system" fn SetinvokeURLs<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPSettings_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, finvokeurls: super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
6486 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6487 let this = (*this).get_impl();
6488 this.SetinvokeURLs(::core::mem::transmute_copy(&finvokeurls)).into()
6489 }
6490 unsafe extern "system" fn mute<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPSettings_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pfmute: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
6491 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6492 let this = (*this).get_impl();
6493 this.mute(::core::mem::transmute_copy(&pfmute)).into()
6494 }
6495 unsafe extern "system" fn Setmute<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPSettings_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, fmute: super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
6496 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6497 let this = (*this).get_impl();
6498 this.Setmute(::core::mem::transmute_copy(&fmute)).into()
6499 }
6500 unsafe extern "system" fn playCount<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPSettings_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, plcount: *mut i32) -> ::windows::core::HRESULT {
6501 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6502 let this = (*this).get_impl();
6503 this.playCount(::core::mem::transmute_copy(&plcount)).into()
6504 }
6505 unsafe extern "system" fn SetplayCount<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPSettings_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lcount: i32) -> ::windows::core::HRESULT {
6506 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6507 let this = (*this).get_impl();
6508 this.SetplayCount(::core::mem::transmute_copy(&lcount)).into()
6509 }
6510 unsafe extern "system" fn rate<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPSettings_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdrate: *mut f64) -> ::windows::core::HRESULT {
6511 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6512 let this = (*this).get_impl();
6513 this.rate(::core::mem::transmute_copy(&pdrate)).into()
6514 }
6515 unsafe extern "system" fn Setrate<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPSettings_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, drate: f64) -> ::windows::core::HRESULT {
6516 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6517 let this = (*this).get_impl();
6518 this.Setrate(::core::mem::transmute_copy(&drate)).into()
6519 }
6520 unsafe extern "system" fn balance<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPSettings_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, plbalance: *mut i32) -> ::windows::core::HRESULT {
6521 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6522 let this = (*this).get_impl();
6523 this.balance(::core::mem::transmute_copy(&plbalance)).into()
6524 }
6525 unsafe extern "system" fn Setbalance<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPSettings_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lbalance: i32) -> ::windows::core::HRESULT {
6526 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6527 let this = (*this).get_impl();
6528 this.Setbalance(::core::mem::transmute_copy(&lbalance)).into()
6529 }
6530 unsafe extern "system" fn volume<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPSettings_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, plvolume: *mut i32) -> ::windows::core::HRESULT {
6531 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6532 let this = (*this).get_impl();
6533 this.volume(::core::mem::transmute_copy(&plvolume)).into()
6534 }
6535 unsafe extern "system" fn Setvolume<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPSettings_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lvolume: i32) -> ::windows::core::HRESULT {
6536 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6537 let this = (*this).get_impl();
6538 this.Setvolume(::core::mem::transmute_copy(&lvolume)).into()
6539 }
6540 unsafe extern "system" fn getMode<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPSettings_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrmode: ::std::mem::MaybeUninit<::windows::core::BSTR>, pvarfmode: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
6541 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6542 let this = (*this).get_impl();
6543 this.getMode(::core::mem::transmute(&bstrmode), ::core::mem::transmute_copy(&pvarfmode)).into()
6544 }
6545 unsafe extern "system" fn setMode<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPSettings_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrmode: ::std::mem::MaybeUninit<::windows::core::BSTR>, varfmode: super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
6546 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6547 let this = (*this).get_impl();
6548 this.setMode(::core::mem::transmute(&bstrmode), ::core::mem::transmute_copy(&varfmode)).into()
6549 }
6550 unsafe extern "system" fn enableErrorDialogs<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPSettings_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pfenableerrordialogs: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
6551 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6552 let this = (*this).get_impl();
6553 this.enableErrorDialogs(::core::mem::transmute_copy(&pfenableerrordialogs)).into()
6554 }
6555 unsafe extern "system" fn SetenableErrorDialogs<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPSettings_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, fenableerrordialogs: super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
6556 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6557 let this = (*this).get_impl();
6558 this.SetenableErrorDialogs(::core::mem::transmute_copy(&fenableerrordialogs)).into()
6559 }
6560 Self {
6561 base__: super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
6562 get_isAvailable: get_isAvailable::<Identity, Impl, OFFSET>,
6563 autoStart: autoStart::<Identity, Impl, OFFSET>,
6564 SetautoStart: SetautoStart::<Identity, Impl, OFFSET>,
6565 baseURL: baseURL::<Identity, Impl, OFFSET>,
6566 SetbaseURL: SetbaseURL::<Identity, Impl, OFFSET>,
6567 defaultFrame: defaultFrame::<Identity, Impl, OFFSET>,
6568 SetdefaultFrame: SetdefaultFrame::<Identity, Impl, OFFSET>,
6569 invokeURLs: invokeURLs::<Identity, Impl, OFFSET>,
6570 SetinvokeURLs: SetinvokeURLs::<Identity, Impl, OFFSET>,
6571 mute: mute::<Identity, Impl, OFFSET>,
6572 Setmute: Setmute::<Identity, Impl, OFFSET>,
6573 playCount: playCount::<Identity, Impl, OFFSET>,
6574 SetplayCount: SetplayCount::<Identity, Impl, OFFSET>,
6575 rate: rate::<Identity, Impl, OFFSET>,
6576 Setrate: Setrate::<Identity, Impl, OFFSET>,
6577 balance: balance::<Identity, Impl, OFFSET>,
6578 Setbalance: Setbalance::<Identity, Impl, OFFSET>,
6579 volume: volume::<Identity, Impl, OFFSET>,
6580 Setvolume: Setvolume::<Identity, Impl, OFFSET>,
6581 getMode: getMode::<Identity, Impl, OFFSET>,
6582 setMode: setMode::<Identity, Impl, OFFSET>,
6583 enableErrorDialogs: enableErrorDialogs::<Identity, Impl, OFFSET>,
6584 SetenableErrorDialogs: SetenableErrorDialogs::<Identity, Impl, OFFSET>,
6585 }
6586 }
6587 pub fn matches(iid: &windows::core::GUID) -> bool {
6588 iid == &<IWMPSettings as ::windows::core::ComInterface>::IID || iid == &<super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID
6589 }
6590 }
6591 #[doc = "*Required features: `\"Win32_Media_MediaPlayer\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
6592 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
6593 pub trait IWMPSettings2_Impl: Sized + IWMPSettings_Impl {
6594 fn defaultAudioLanguage(&self, pllangid: *mut i32) -> ::windows::core::Result<()>;
6595 fn mediaAccessRights(&self, pbstrrights: *mut ::windows::core::BSTR) -> ::windows::core::Result<()>;
6596 fn requestMediaAccessRights(&self, bstrdesiredaccess: &::windows::core::BSTR, pvbaccepted: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::Result<()>;
6597 }
6598 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
6599 impl ::windows::core::RuntimeName for IWMPSettings2 {}
6600 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
6601 impl IWMPSettings2_Vtbl {
6602 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPSettings2_Impl, const OFFSET: isize>() -> IWMPSettings2_Vtbl {
6603 unsafe extern "system" fn defaultAudioLanguage<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPSettings2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pllangid: *mut i32) -> ::windows::core::HRESULT {
6604 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6605 let this = (*this).get_impl();
6606 this.defaultAudioLanguage(::core::mem::transmute_copy(&pllangid)).into()
6607 }
6608 unsafe extern "system" fn mediaAccessRights<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPSettings2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbstrrights: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
6609 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6610 let this = (*this).get_impl();
6611 this.mediaAccessRights(::core::mem::transmute_copy(&pbstrrights)).into()
6612 }
6613 unsafe extern "system" fn requestMediaAccessRights<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPSettings2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrdesiredaccess: ::std::mem::MaybeUninit<::windows::core::BSTR>, pvbaccepted: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
6614 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6615 let this = (*this).get_impl();
6616 this.requestMediaAccessRights(::core::mem::transmute(&bstrdesiredaccess), ::core::mem::transmute_copy(&pvbaccepted)).into()
6617 }
6618 Self {
6619 base__: IWMPSettings_Vtbl::new::<Identity, Impl, OFFSET>(),
6620 defaultAudioLanguage: defaultAudioLanguage::<Identity, Impl, OFFSET>,
6621 mediaAccessRights: mediaAccessRights::<Identity, Impl, OFFSET>,
6622 requestMediaAccessRights: requestMediaAccessRights::<Identity, Impl, OFFSET>,
6623 }
6624 }
6625 pub fn matches(iid: &windows::core::GUID) -> bool {
6626 iid == &<IWMPSettings2 as ::windows::core::ComInterface>::IID || iid == &<super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID || iid == &<IWMPSettings as ::windows::core::ComInterface>::IID
6627 }
6628 }
6629 #[doc = "*Required features: `\"Win32_Media_MediaPlayer\"`, `\"implement\"`*"]
6630 pub trait IWMPSkinManager_Impl: Sized {
6631 fn SetVisualStyle(&self, bstrpath: &::windows::core::BSTR) -> ::windows::core::Result<()>;
6632 }
6633 impl ::windows::core::RuntimeName for IWMPSkinManager {}
6634 impl IWMPSkinManager_Vtbl {
6635 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPSkinManager_Impl, const OFFSET: isize>() -> IWMPSkinManager_Vtbl {
6636 unsafe extern "system" fn SetVisualStyle<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPSkinManager_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrpath: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
6637 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6638 let this = (*this).get_impl();
6639 this.SetVisualStyle(::core::mem::transmute(&bstrpath)).into()
6640 }
6641 Self { base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(), SetVisualStyle: SetVisualStyle::<Identity, Impl, OFFSET> }
6642 }
6643 pub fn matches(iid: &windows::core::GUID) -> bool {
6644 iid == &<IWMPSkinManager as ::windows::core::ComInterface>::IID
6645 }
6646 }
6647 #[doc = "*Required features: `\"Win32_Media_MediaPlayer\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
6648 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
6649 pub trait IWMPStringCollection_Impl: Sized + super::super::System::Com::IDispatch_Impl {
6650 fn count(&self, plcount: *mut i32) -> ::windows::core::Result<()>;
6651 fn item(&self, lindex: i32, pbstrstring: *mut ::windows::core::BSTR) -> ::windows::core::Result<()>;
6652 }
6653 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
6654 impl ::windows::core::RuntimeName for IWMPStringCollection {}
6655 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
6656 impl IWMPStringCollection_Vtbl {
6657 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPStringCollection_Impl, const OFFSET: isize>() -> IWMPStringCollection_Vtbl {
6658 unsafe extern "system" fn count<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPStringCollection_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, plcount: *mut i32) -> ::windows::core::HRESULT {
6659 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6660 let this = (*this).get_impl();
6661 this.count(::core::mem::transmute_copy(&plcount)).into()
6662 }
6663 unsafe extern "system" fn item<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPStringCollection_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lindex: i32, pbstrstring: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
6664 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6665 let this = (*this).get_impl();
6666 this.item(::core::mem::transmute_copy(&lindex), ::core::mem::transmute_copy(&pbstrstring)).into()
6667 }
6668 Self {
6669 base__: super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
6670 count: count::<Identity, Impl, OFFSET>,
6671 item: item::<Identity, Impl, OFFSET>,
6672 }
6673 }
6674 pub fn matches(iid: &windows::core::GUID) -> bool {
6675 iid == &<IWMPStringCollection as ::windows::core::ComInterface>::IID || iid == &<super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID
6676 }
6677 }
6678 #[doc = "*Required features: `\"Win32_Media_MediaPlayer\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
6679 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
6680 pub trait IWMPStringCollection2_Impl: Sized + IWMPStringCollection_Impl {
6681 fn isIdentical(&self, piwmpstringcollection2: ::core::option::Option<&IWMPStringCollection2>, pvbool: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::Result<()>;
6682 fn getItemInfo(&self, lcollectionindex: i32, bstritemname: &::windows::core::BSTR, pbstrvalue: *mut ::windows::core::BSTR) -> ::windows::core::Result<()>;
6683 fn getAttributeCountByType(&self, lcollectionindex: i32, bstrtype: &::windows::core::BSTR, bstrlanguage: &::windows::core::BSTR, plcount: *mut i32) -> ::windows::core::Result<()>;
6684 fn getItemInfoByType(&self, lcollectionindex: i32, bstrtype: &::windows::core::BSTR, bstrlanguage: &::windows::core::BSTR, lattributeindex: i32, pvarvalue: *mut super::super::System::Com::VARIANT) -> ::windows::core::Result<()>;
6685 }
6686 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
6687 impl ::windows::core::RuntimeName for IWMPStringCollection2 {}
6688 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
6689 impl IWMPStringCollection2_Vtbl {
6690 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPStringCollection2_Impl, const OFFSET: isize>() -> IWMPStringCollection2_Vtbl {
6691 unsafe extern "system" fn isIdentical<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPStringCollection2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, piwmpstringcollection2: *mut ::core::ffi::c_void, pvbool: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
6692 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6693 let this = (*this).get_impl();
6694 this.isIdentical(::windows::core::from_raw_borrowed(&piwmpstringcollection2), ::core::mem::transmute_copy(&pvbool)).into()
6695 }
6696 unsafe extern "system" fn getItemInfo<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPStringCollection2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lcollectionindex: i32, bstritemname: ::std::mem::MaybeUninit<::windows::core::BSTR>, pbstrvalue: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
6697 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6698 let this = (*this).get_impl();
6699 this.getItemInfo(::core::mem::transmute_copy(&lcollectionindex), ::core::mem::transmute(&bstritemname), ::core::mem::transmute_copy(&pbstrvalue)).into()
6700 }
6701 unsafe extern "system" fn getAttributeCountByType<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPStringCollection2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lcollectionindex: i32, bstrtype: ::std::mem::MaybeUninit<::windows::core::BSTR>, bstrlanguage: ::std::mem::MaybeUninit<::windows::core::BSTR>, plcount: *mut i32) -> ::windows::core::HRESULT {
6702 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6703 let this = (*this).get_impl();
6704 this.getAttributeCountByType(::core::mem::transmute_copy(&lcollectionindex), ::core::mem::transmute(&bstrtype), ::core::mem::transmute(&bstrlanguage), ::core::mem::transmute_copy(&plcount)).into()
6705 }
6706 unsafe extern "system" fn getItemInfoByType<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPStringCollection2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lcollectionindex: i32, bstrtype: ::std::mem::MaybeUninit<::windows::core::BSTR>, bstrlanguage: ::std::mem::MaybeUninit<::windows::core::BSTR>, lattributeindex: i32, pvarvalue: *mut super::super::System::Com::VARIANT) -> ::windows::core::HRESULT {
6707 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6708 let this = (*this).get_impl();
6709 this.getItemInfoByType(::core::mem::transmute_copy(&lcollectionindex), ::core::mem::transmute(&bstrtype), ::core::mem::transmute(&bstrlanguage), ::core::mem::transmute_copy(&lattributeindex), ::core::mem::transmute_copy(&pvarvalue)).into()
6710 }
6711 Self {
6712 base__: IWMPStringCollection_Vtbl::new::<Identity, Impl, OFFSET>(),
6713 isIdentical: isIdentical::<Identity, Impl, OFFSET>,
6714 getItemInfo: getItemInfo::<Identity, Impl, OFFSET>,
6715 getAttributeCountByType: getAttributeCountByType::<Identity, Impl, OFFSET>,
6716 getItemInfoByType: getItemInfoByType::<Identity, Impl, OFFSET>,
6717 }
6718 }
6719 pub fn matches(iid: &windows::core::GUID) -> bool {
6720 iid == &<IWMPStringCollection2 as ::windows::core::ComInterface>::IID || iid == &<super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID || iid == &<IWMPStringCollection as ::windows::core::ComInterface>::IID
6721 }
6722 }
6723 #[doc = "*Required features: `\"Win32_Media_MediaPlayer\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"implement\"`*"]
6724 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
6725 pub trait IWMPSubscriptionService_Impl: Sized {
6726 fn allowPlay(&self, hwnd: super::super::Foundation::HWND, pmedia: ::core::option::Option<&IWMPMedia>, pfallowplay: *mut super::super::Foundation::BOOL) -> ::windows::core::Result<()>;
6727 fn allowCDBurn(&self, hwnd: super::super::Foundation::HWND, pplaylist: ::core::option::Option<&IWMPPlaylist>, pfallowburn: *mut super::super::Foundation::BOOL) -> ::windows::core::Result<()>;
6728 fn allowPDATransfer(&self, hwnd: super::super::Foundation::HWND, pplaylist: ::core::option::Option<&IWMPPlaylist>, pfallowtransfer: *mut super::super::Foundation::BOOL) -> ::windows::core::Result<()>;
6729 fn startBackgroundProcessing(&self, hwnd: super::super::Foundation::HWND) -> ::windows::core::Result<()>;
6730 }
6731 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
6732 impl ::windows::core::RuntimeName for IWMPSubscriptionService {}
6733 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
6734 impl IWMPSubscriptionService_Vtbl {
6735 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPSubscriptionService_Impl, const OFFSET: isize>() -> IWMPSubscriptionService_Vtbl {
6736 unsafe extern "system" fn allowPlay<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPSubscriptionService_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, hwnd: super::super::Foundation::HWND, pmedia: *mut ::core::ffi::c_void, pfallowplay: *mut super::super::Foundation::BOOL) -> ::windows::core::HRESULT {
6737 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6738 let this = (*this).get_impl();
6739 this.allowPlay(::core::mem::transmute_copy(&hwnd), ::windows::core::from_raw_borrowed(&pmedia), ::core::mem::transmute_copy(&pfallowplay)).into()
6740 }
6741 unsafe extern "system" fn allowCDBurn<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPSubscriptionService_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, hwnd: super::super::Foundation::HWND, pplaylist: *mut ::core::ffi::c_void, pfallowburn: *mut super::super::Foundation::BOOL) -> ::windows::core::HRESULT {
6742 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6743 let this = (*this).get_impl();
6744 this.allowCDBurn(::core::mem::transmute_copy(&hwnd), ::windows::core::from_raw_borrowed(&pplaylist), ::core::mem::transmute_copy(&pfallowburn)).into()
6745 }
6746 unsafe extern "system" fn allowPDATransfer<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPSubscriptionService_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, hwnd: super::super::Foundation::HWND, pplaylist: *mut ::core::ffi::c_void, pfallowtransfer: *mut super::super::Foundation::BOOL) -> ::windows::core::HRESULT {
6747 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6748 let this = (*this).get_impl();
6749 this.allowPDATransfer(::core::mem::transmute_copy(&hwnd), ::windows::core::from_raw_borrowed(&pplaylist), ::core::mem::transmute_copy(&pfallowtransfer)).into()
6750 }
6751 unsafe extern "system" fn startBackgroundProcessing<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPSubscriptionService_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, hwnd: super::super::Foundation::HWND) -> ::windows::core::HRESULT {
6752 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6753 let this = (*this).get_impl();
6754 this.startBackgroundProcessing(::core::mem::transmute_copy(&hwnd)).into()
6755 }
6756 Self {
6757 base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
6758 allowPlay: allowPlay::<Identity, Impl, OFFSET>,
6759 allowCDBurn: allowCDBurn::<Identity, Impl, OFFSET>,
6760 allowPDATransfer: allowPDATransfer::<Identity, Impl, OFFSET>,
6761 startBackgroundProcessing: startBackgroundProcessing::<Identity, Impl, OFFSET>,
6762 }
6763 }
6764 pub fn matches(iid: &windows::core::GUID) -> bool {
6765 iid == &<IWMPSubscriptionService as ::windows::core::ComInterface>::IID
6766 }
6767 }
6768 #[doc = "*Required features: `\"Win32_Media_MediaPlayer\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"implement\"`*"]
6769 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
6770 pub trait IWMPSubscriptionService2_Impl: Sized + IWMPSubscriptionService_Impl {
6771 fn stopBackgroundProcessing(&self) -> ::windows::core::Result<()>;
6772 fn serviceEvent(&self, event: WMPSubscriptionServiceEvent) -> ::windows::core::Result<()>;
6773 fn deviceAvailable(&self, bstrdevicename: &::windows::core::BSTR, pcb: ::core::option::Option<&IWMPSubscriptionServiceCallback>) -> ::windows::core::Result<()>;
6774 fn prepareForSync(&self, bstrfilename: &::windows::core::BSTR, bstrdevicename: &::windows::core::BSTR, pcb: ::core::option::Option<&IWMPSubscriptionServiceCallback>) -> ::windows::core::Result<()>;
6775 }
6776 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
6777 impl ::windows::core::RuntimeName for IWMPSubscriptionService2 {}
6778 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
6779 impl IWMPSubscriptionService2_Vtbl {
6780 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPSubscriptionService2_Impl, const OFFSET: isize>() -> IWMPSubscriptionService2_Vtbl {
6781 unsafe extern "system" fn stopBackgroundProcessing<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPSubscriptionService2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
6782 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6783 let this = (*this).get_impl();
6784 this.stopBackgroundProcessing().into()
6785 }
6786 unsafe extern "system" fn serviceEvent<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPSubscriptionService2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, event: WMPSubscriptionServiceEvent) -> ::windows::core::HRESULT {
6787 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6788 let this = (*this).get_impl();
6789 this.serviceEvent(::core::mem::transmute_copy(&event)).into()
6790 }
6791 unsafe extern "system" fn deviceAvailable<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPSubscriptionService2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrdevicename: ::std::mem::MaybeUninit<::windows::core::BSTR>, pcb: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
6792 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6793 let this = (*this).get_impl();
6794 this.deviceAvailable(::core::mem::transmute(&bstrdevicename), ::windows::core::from_raw_borrowed(&pcb)).into()
6795 }
6796 unsafe extern "system" fn prepareForSync<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPSubscriptionService2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrfilename: ::std::mem::MaybeUninit<::windows::core::BSTR>, bstrdevicename: ::std::mem::MaybeUninit<::windows::core::BSTR>, pcb: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
6797 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6798 let this = (*this).get_impl();
6799 this.prepareForSync(::core::mem::transmute(&bstrfilename), ::core::mem::transmute(&bstrdevicename), ::windows::core::from_raw_borrowed(&pcb)).into()
6800 }
6801 Self {
6802 base__: IWMPSubscriptionService_Vtbl::new::<Identity, Impl, OFFSET>(),
6803 stopBackgroundProcessing: stopBackgroundProcessing::<Identity, Impl, OFFSET>,
6804 serviceEvent: serviceEvent::<Identity, Impl, OFFSET>,
6805 deviceAvailable: deviceAvailable::<Identity, Impl, OFFSET>,
6806 prepareForSync: prepareForSync::<Identity, Impl, OFFSET>,
6807 }
6808 }
6809 pub fn matches(iid: &windows::core::GUID) -> bool {
6810 iid == &<IWMPSubscriptionService2 as ::windows::core::ComInterface>::IID || iid == &<IWMPSubscriptionService as ::windows::core::ComInterface>::IID
6811 }
6812 }
6813 #[doc = "*Required features: `\"Win32_Media_MediaPlayer\"`, `\"implement\"`*"]
6814 pub trait IWMPSubscriptionServiceCallback_Impl: Sized {
6815 fn onComplete(&self, hrresult: ::windows::core::HRESULT) -> ::windows::core::Result<()>;
6816 }
6817 impl ::windows::core::RuntimeName for IWMPSubscriptionServiceCallback {}
6818 impl IWMPSubscriptionServiceCallback_Vtbl {
6819 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPSubscriptionServiceCallback_Impl, const OFFSET: isize>() -> IWMPSubscriptionServiceCallback_Vtbl {
6820 unsafe extern "system" fn onComplete<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPSubscriptionServiceCallback_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, hrresult: ::windows::core::HRESULT) -> ::windows::core::HRESULT {
6821 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6822 let this = (*this).get_impl();
6823 this.onComplete(::core::mem::transmute_copy(&hrresult)).into()
6824 }
6825 Self { base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(), onComplete: onComplete::<Identity, Impl, OFFSET> }
6826 }
6827 pub fn matches(iid: &windows::core::GUID) -> bool {
6828 iid == &<IWMPSubscriptionServiceCallback as ::windows::core::ComInterface>::IID
6829 }
6830 }
6831 #[doc = "*Required features: `\"Win32_Media_MediaPlayer\"`, `\"Win32_Foundation\"`, `\"implement\"`*"]
6832 #[cfg(feature = "Win32_Foundation")]
6833 pub trait IWMPSyncDevice_Impl: Sized {
6834 fn friendlyName(&self, pbstrname: *mut ::windows::core::BSTR) -> ::windows::core::Result<()>;
6835 fn SetfriendlyName(&self, bstrname: &::windows::core::BSTR) -> ::windows::core::Result<()>;
6836 fn deviceName(&self, pbstrname: *mut ::windows::core::BSTR) -> ::windows::core::Result<()>;
6837 fn deviceId(&self, pbstrdeviceid: *mut ::windows::core::BSTR) -> ::windows::core::Result<()>;
6838 fn partnershipIndex(&self, plindex: *mut i32) -> ::windows::core::Result<()>;
6839 fn connected(&self, pvbconnected: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::Result<()>;
6840 fn status(&self, pwmpds: *mut WMPDeviceStatus) -> ::windows::core::Result<()>;
6841 fn syncState(&self, pwmpss: *mut WMPSyncState) -> ::windows::core::Result<()>;
6842 fn progress(&self, plprogress: *mut i32) -> ::windows::core::Result<()>;
6843 fn getItemInfo(&self, bstritemname: &::windows::core::BSTR, pbstrval: *mut ::windows::core::BSTR) -> ::windows::core::Result<()>;
6844 fn createPartnership(&self, vbshowui: super::super::Foundation::VARIANT_BOOL) -> ::windows::core::Result<()>;
6845 fn deletePartnership(&self) -> ::windows::core::Result<()>;
6846 fn start(&self) -> ::windows::core::Result<()>;
6847 fn stop(&self) -> ::windows::core::Result<()>;
6848 fn showSettings(&self) -> ::windows::core::Result<()>;
6849 fn isIdentical(&self, pdevice: ::core::option::Option<&IWMPSyncDevice>, pvbool: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::Result<()>;
6850 }
6851 #[cfg(feature = "Win32_Foundation")]
6852 impl ::windows::core::RuntimeName for IWMPSyncDevice {}
6853 #[cfg(feature = "Win32_Foundation")]
6854 impl IWMPSyncDevice_Vtbl {
6855 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPSyncDevice_Impl, const OFFSET: isize>() -> IWMPSyncDevice_Vtbl {
6856 unsafe extern "system" fn friendlyName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPSyncDevice_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbstrname: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
6857 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6858 let this = (*this).get_impl();
6859 this.friendlyName(::core::mem::transmute_copy(&pbstrname)).into()
6860 }
6861 unsafe extern "system" fn SetfriendlyName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPSyncDevice_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrname: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
6862 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6863 let this = (*this).get_impl();
6864 this.SetfriendlyName(::core::mem::transmute(&bstrname)).into()
6865 }
6866 unsafe extern "system" fn deviceName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPSyncDevice_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbstrname: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
6867 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6868 let this = (*this).get_impl();
6869 this.deviceName(::core::mem::transmute_copy(&pbstrname)).into()
6870 }
6871 unsafe extern "system" fn deviceId<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPSyncDevice_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbstrdeviceid: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
6872 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6873 let this = (*this).get_impl();
6874 this.deviceId(::core::mem::transmute_copy(&pbstrdeviceid)).into()
6875 }
6876 unsafe extern "system" fn partnershipIndex<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPSyncDevice_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, plindex: *mut i32) -> ::windows::core::HRESULT {
6877 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6878 let this = (*this).get_impl();
6879 this.partnershipIndex(::core::mem::transmute_copy(&plindex)).into()
6880 }
6881 unsafe extern "system" fn connected<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPSyncDevice_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvbconnected: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
6882 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6883 let this = (*this).get_impl();
6884 this.connected(::core::mem::transmute_copy(&pvbconnected)).into()
6885 }
6886 unsafe extern "system" fn status<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPSyncDevice_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pwmpds: *mut WMPDeviceStatus) -> ::windows::core::HRESULT {
6887 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6888 let this = (*this).get_impl();
6889 this.status(::core::mem::transmute_copy(&pwmpds)).into()
6890 }
6891 unsafe extern "system" fn syncState<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPSyncDevice_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pwmpss: *mut WMPSyncState) -> ::windows::core::HRESULT {
6892 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6893 let this = (*this).get_impl();
6894 this.syncState(::core::mem::transmute_copy(&pwmpss)).into()
6895 }
6896 unsafe extern "system" fn progress<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPSyncDevice_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, plprogress: *mut i32) -> ::windows::core::HRESULT {
6897 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6898 let this = (*this).get_impl();
6899 this.progress(::core::mem::transmute_copy(&plprogress)).into()
6900 }
6901 unsafe extern "system" fn getItemInfo<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPSyncDevice_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstritemname: ::std::mem::MaybeUninit<::windows::core::BSTR>, pbstrval: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
6902 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6903 let this = (*this).get_impl();
6904 this.getItemInfo(::core::mem::transmute(&bstritemname), ::core::mem::transmute_copy(&pbstrval)).into()
6905 }
6906 unsafe extern "system" fn createPartnership<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPSyncDevice_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, vbshowui: super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
6907 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6908 let this = (*this).get_impl();
6909 this.createPartnership(::core::mem::transmute_copy(&vbshowui)).into()
6910 }
6911 unsafe extern "system" fn deletePartnership<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPSyncDevice_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
6912 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6913 let this = (*this).get_impl();
6914 this.deletePartnership().into()
6915 }
6916 unsafe extern "system" fn start<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPSyncDevice_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
6917 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6918 let this = (*this).get_impl();
6919 this.start().into()
6920 }
6921 unsafe extern "system" fn stop<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPSyncDevice_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
6922 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6923 let this = (*this).get_impl();
6924 this.stop().into()
6925 }
6926 unsafe extern "system" fn showSettings<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPSyncDevice_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
6927 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6928 let this = (*this).get_impl();
6929 this.showSettings().into()
6930 }
6931 unsafe extern "system" fn isIdentical<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPSyncDevice_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdevice: *mut ::core::ffi::c_void, pvbool: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
6932 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6933 let this = (*this).get_impl();
6934 this.isIdentical(::windows::core::from_raw_borrowed(&pdevice), ::core::mem::transmute_copy(&pvbool)).into()
6935 }
6936 Self {
6937 base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
6938 friendlyName: friendlyName::<Identity, Impl, OFFSET>,
6939 SetfriendlyName: SetfriendlyName::<Identity, Impl, OFFSET>,
6940 deviceName: deviceName::<Identity, Impl, OFFSET>,
6941 deviceId: deviceId::<Identity, Impl, OFFSET>,
6942 partnershipIndex: partnershipIndex::<Identity, Impl, OFFSET>,
6943 connected: connected::<Identity, Impl, OFFSET>,
6944 status: status::<Identity, Impl, OFFSET>,
6945 syncState: syncState::<Identity, Impl, OFFSET>,
6946 progress: progress::<Identity, Impl, OFFSET>,
6947 getItemInfo: getItemInfo::<Identity, Impl, OFFSET>,
6948 createPartnership: createPartnership::<Identity, Impl, OFFSET>,
6949 deletePartnership: deletePartnership::<Identity, Impl, OFFSET>,
6950 start: start::<Identity, Impl, OFFSET>,
6951 stop: stop::<Identity, Impl, OFFSET>,
6952 showSettings: showSettings::<Identity, Impl, OFFSET>,
6953 isIdentical: isIdentical::<Identity, Impl, OFFSET>,
6954 }
6955 }
6956 pub fn matches(iid: &windows::core::GUID) -> bool {
6957 iid == &<IWMPSyncDevice as ::windows::core::ComInterface>::IID
6958 }
6959 }
6960 #[doc = "*Required features: `\"Win32_Media_MediaPlayer\"`, `\"Win32_Foundation\"`, `\"implement\"`*"]
6961 #[cfg(feature = "Win32_Foundation")]
6962 pub trait IWMPSyncDevice2_Impl: Sized + IWMPSyncDevice_Impl {
6963 fn setItemInfo(&self, bstritemname: &::windows::core::BSTR, bstrval: &::windows::core::BSTR) -> ::windows::core::Result<()>;
6964 }
6965 #[cfg(feature = "Win32_Foundation")]
6966 impl ::windows::core::RuntimeName for IWMPSyncDevice2 {}
6967 #[cfg(feature = "Win32_Foundation")]
6968 impl IWMPSyncDevice2_Vtbl {
6969 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPSyncDevice2_Impl, const OFFSET: isize>() -> IWMPSyncDevice2_Vtbl {
6970 unsafe extern "system" fn setItemInfo<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPSyncDevice2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstritemname: ::std::mem::MaybeUninit<::windows::core::BSTR>, bstrval: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
6971 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6972 let this = (*this).get_impl();
6973 this.setItemInfo(::core::mem::transmute(&bstritemname), ::core::mem::transmute(&bstrval)).into()
6974 }
6975 Self { base__: IWMPSyncDevice_Vtbl::new::<Identity, Impl, OFFSET>(), setItemInfo: setItemInfo::<Identity, Impl, OFFSET> }
6976 }
6977 pub fn matches(iid: &windows::core::GUID) -> bool {
6978 iid == &<IWMPSyncDevice2 as ::windows::core::ComInterface>::IID || iid == &<IWMPSyncDevice as ::windows::core::ComInterface>::IID
6979 }
6980 }
6981 #[doc = "*Required features: `\"Win32_Media_MediaPlayer\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"implement\"`*"]
6982 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
6983 pub trait IWMPSyncDevice3_Impl: Sized + IWMPSyncDevice2_Impl {
6984 fn estimateSyncSize(&self, pnonruleplaylist: ::core::option::Option<&IWMPPlaylist>, prulesplaylist: ::core::option::Option<&IWMPPlaylist>) -> ::windows::core::Result<()>;
6985 fn cancelEstimation(&self) -> ::windows::core::Result<()>;
6986 }
6987 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
6988 impl ::windows::core::RuntimeName for IWMPSyncDevice3 {}
6989 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
6990 impl IWMPSyncDevice3_Vtbl {
6991 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPSyncDevice3_Impl, const OFFSET: isize>() -> IWMPSyncDevice3_Vtbl {
6992 unsafe extern "system" fn estimateSyncSize<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPSyncDevice3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pnonruleplaylist: *mut ::core::ffi::c_void, prulesplaylist: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
6993 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6994 let this = (*this).get_impl();
6995 this.estimateSyncSize(::windows::core::from_raw_borrowed(&pnonruleplaylist), ::windows::core::from_raw_borrowed(&prulesplaylist)).into()
6996 }
6997 unsafe extern "system" fn cancelEstimation<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPSyncDevice3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
6998 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6999 let this = (*this).get_impl();
7000 this.cancelEstimation().into()
7001 }
7002 Self {
7003 base__: IWMPSyncDevice2_Vtbl::new::<Identity, Impl, OFFSET>(),
7004 estimateSyncSize: estimateSyncSize::<Identity, Impl, OFFSET>,
7005 cancelEstimation: cancelEstimation::<Identity, Impl, OFFSET>,
7006 }
7007 }
7008 pub fn matches(iid: &windows::core::GUID) -> bool {
7009 iid == &<IWMPSyncDevice3 as ::windows::core::ComInterface>::IID || iid == &<IWMPSyncDevice as ::windows::core::ComInterface>::IID || iid == &<IWMPSyncDevice2 as ::windows::core::ComInterface>::IID
7010 }
7011 }
7012 #[doc = "*Required features: `\"Win32_Media_MediaPlayer\"`, `\"implement\"`*"]
7013 pub trait IWMPSyncServices_Impl: Sized {
7014 fn deviceCount(&self, plcount: *mut i32) -> ::windows::core::Result<()>;
7015 fn getDevice(&self, lindex: i32) -> ::windows::core::Result<IWMPSyncDevice>;
7016 }
7017 impl ::windows::core::RuntimeName for IWMPSyncServices {}
7018 impl IWMPSyncServices_Vtbl {
7019 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPSyncServices_Impl, const OFFSET: isize>() -> IWMPSyncServices_Vtbl {
7020 unsafe extern "system" fn deviceCount<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPSyncServices_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, plcount: *mut i32) -> ::windows::core::HRESULT {
7021 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7022 let this = (*this).get_impl();
7023 this.deviceCount(::core::mem::transmute_copy(&plcount)).into()
7024 }
7025 unsafe extern "system" fn getDevice<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPSyncServices_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lindex: i32, ppdevice: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
7026 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7027 let this = (*this).get_impl();
7028 match this.getDevice(::core::mem::transmute_copy(&lindex)) {
7029 ::core::result::Result::Ok(ok__) => {
7030 ::core::ptr::write(ppdevice, ::core::mem::transmute(ok__));
7031 ::windows::core::HRESULT(0)
7032 }
7033 ::core::result::Result::Err(err) => err.into(),
7034 }
7035 }
7036 Self {
7037 base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
7038 deviceCount: deviceCount::<Identity, Impl, OFFSET>,
7039 getDevice: getDevice::<Identity, Impl, OFFSET>,
7040 }
7041 }
7042 pub fn matches(iid: &windows::core::GUID) -> bool {
7043 iid == &<IWMPSyncServices as ::windows::core::ComInterface>::IID
7044 }
7045 }
7046 #[doc = "*Required features: `\"Win32_Media_MediaPlayer\"`, `\"Win32_Foundation\"`, `\"implement\"`*"]
7047 #[cfg(feature = "Win32_Foundation")]
7048 pub trait IWMPTranscodePolicy_Impl: Sized {
7049 fn allowTranscode(&self, pvballow: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::Result<()>;
7050 }
7051 #[cfg(feature = "Win32_Foundation")]
7052 impl ::windows::core::RuntimeName for IWMPTranscodePolicy {}
7053 #[cfg(feature = "Win32_Foundation")]
7054 impl IWMPTranscodePolicy_Vtbl {
7055 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPTranscodePolicy_Impl, const OFFSET: isize>() -> IWMPTranscodePolicy_Vtbl {
7056 unsafe extern "system" fn allowTranscode<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPTranscodePolicy_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvballow: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
7057 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7058 let this = (*this).get_impl();
7059 this.allowTranscode(::core::mem::transmute_copy(&pvballow)).into()
7060 }
7061 Self { base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(), allowTranscode: allowTranscode::<Identity, Impl, OFFSET> }
7062 }
7063 pub fn matches(iid: &windows::core::GUID) -> bool {
7064 iid == &<IWMPTranscodePolicy as ::windows::core::ComInterface>::IID
7065 }
7066 }
7067 #[doc = "*Required features: `\"Win32_Media_MediaPlayer\"`, `\"implement\"`*"]
7068 pub trait IWMPUserEventSink_Impl: Sized {
7069 fn NotifyUserEvent(&self, eventcode: i32) -> ::windows::core::Result<()>;
7070 }
7071 impl ::windows::core::RuntimeName for IWMPUserEventSink {}
7072 impl IWMPUserEventSink_Vtbl {
7073 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPUserEventSink_Impl, const OFFSET: isize>() -> IWMPUserEventSink_Vtbl {
7074 unsafe extern "system" fn NotifyUserEvent<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPUserEventSink_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, eventcode: i32) -> ::windows::core::HRESULT {
7075 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7076 let this = (*this).get_impl();
7077 this.NotifyUserEvent(::core::mem::transmute_copy(&eventcode)).into()
7078 }
7079 Self { base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(), NotifyUserEvent: NotifyUserEvent::<Identity, Impl, OFFSET> }
7080 }
7081 pub fn matches(iid: &windows::core::GUID) -> bool {
7082 iid == &<IWMPUserEventSink as ::windows::core::ComInterface>::IID
7083 }
7084 }
7085 #[doc = "*Required features: `\"Win32_Media_MediaPlayer\"`, `\"Win32_Media_MediaFoundation\"`, `\"implement\"`*"]
7086 #[cfg(feature = "Win32_Media_MediaFoundation")]
7087 pub trait IWMPVideoRenderConfig_Impl: Sized {
7088 fn SetpresenterActivate(&self, pactivate: ::core::option::Option<&super::MediaFoundation::IMFActivate>) -> ::windows::core::Result<()>;
7089 }
7090 #[cfg(feature = "Win32_Media_MediaFoundation")]
7091 impl ::windows::core::RuntimeName for IWMPVideoRenderConfig {}
7092 #[cfg(feature = "Win32_Media_MediaFoundation")]
7093 impl IWMPVideoRenderConfig_Vtbl {
7094 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPVideoRenderConfig_Impl, const OFFSET: isize>() -> IWMPVideoRenderConfig_Vtbl {
7095 unsafe extern "system" fn SetpresenterActivate<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPVideoRenderConfig_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pactivate: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
7096 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7097 let this = (*this).get_impl();
7098 this.SetpresenterActivate(::windows::core::from_raw_borrowed(&pactivate)).into()
7099 }
7100 Self { base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(), SetpresenterActivate: SetpresenterActivate::<Identity, Impl, OFFSET> }
7101 }
7102 pub fn matches(iid: &windows::core::GUID) -> bool {
7103 iid == &<IWMPVideoRenderConfig as ::windows::core::ComInterface>::IID
7104 }
7105 }
7106 #[doc = "*Required features: `\"Win32_Media_MediaPlayer\"`, `\"Win32_Foundation\"`, `\"implement\"`*"]
7107 #[cfg(feature = "Win32_Foundation")]
7108 pub trait IWMPWindowMessageSink_Impl: Sized {
7109 fn OnWindowMessage(&self, umsg: u32, wparam: super::super::Foundation::WPARAM, lparam: super::super::Foundation::LPARAM, plret: *mut super::super::Foundation::LRESULT, pfhandled: *mut super::super::Foundation::BOOL) -> ::windows::core::Result<()>;
7110 }
7111 #[cfg(feature = "Win32_Foundation")]
7112 impl ::windows::core::RuntimeName for IWMPWindowMessageSink {}
7113 #[cfg(feature = "Win32_Foundation")]
7114 impl IWMPWindowMessageSink_Vtbl {
7115 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPWindowMessageSink_Impl, const OFFSET: isize>() -> IWMPWindowMessageSink_Vtbl {
7116 unsafe extern "system" fn OnWindowMessage<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWMPWindowMessageSink_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, umsg: u32, wparam: super::super::Foundation::WPARAM, lparam: super::super::Foundation::LPARAM, plret: *mut super::super::Foundation::LRESULT, pfhandled: *mut super::super::Foundation::BOOL) -> ::windows::core::HRESULT {
7117 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7118 let this = (*this).get_impl();
7119 this.OnWindowMessage(::core::mem::transmute_copy(&umsg), ::core::mem::transmute_copy(&wparam), ::core::mem::transmute_copy(&lparam), ::core::mem::transmute_copy(&plret), ::core::mem::transmute_copy(&pfhandled)).into()
7120 }
7121 Self { base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(), OnWindowMessage: OnWindowMessage::<Identity, Impl, OFFSET> }
7122 }
7123 pub fn matches(iid: &windows::core::GUID) -> bool {
7124 iid == &<IWMPWindowMessageSink as ::windows::core::ComInterface>::IID
7125 }
7126 }
7127 #[doc = "*Required features: `\"Win32_Media_MediaPlayer\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"implement\"`*"]
7128 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
7129 pub trait IXFeed_Impl: Sized {
7130 fn Xml(&self, uiitemcount: u32, sortproperty: FEEDS_XML_SORT_PROPERTY, sortorder: FEEDS_XML_SORT_ORDER, filterflags: FEEDS_XML_FILTER_FLAGS, includeflags: FEEDS_XML_INCLUDE_FLAGS) -> ::windows::core::Result<super::super::System::Com::IStream>;
7131 fn Name(&self) -> ::windows::core::Result<::windows::core::PWSTR>;
7132 fn Rename(&self, pszname: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
7133 fn Url(&self) -> ::windows::core::Result<::windows::core::PWSTR>;
7134 fn SetUrl(&self, pszurl: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
7135 fn LocalId(&self) -> ::windows::core::Result<::windows::core::GUID>;
7136 fn Path(&self) -> ::windows::core::Result<::windows::core::PWSTR>;
7137 fn Move(&self, pszpath: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
7138 fn Parent(&self, riid: *const ::windows::core::GUID, ppv: *mut *mut ::core::ffi::c_void) -> ::windows::core::Result<()>;
7139 fn LastWriteTime(&self) -> ::windows::core::Result<super::super::Foundation::SYSTEMTIME>;
7140 fn Delete(&self) -> ::windows::core::Result<()>;
7141 fn Download(&self) -> ::windows::core::Result<()>;
7142 fn AsyncDownload(&self) -> ::windows::core::Result<()>;
7143 fn CancelAsyncDownload(&self) -> ::windows::core::Result<()>;
7144 fn SyncSetting(&self) -> ::windows::core::Result<FEEDS_SYNC_SETTING>;
7145 fn SetSyncSetting(&self, fss: FEEDS_SYNC_SETTING) -> ::windows::core::Result<()>;
7146 fn Interval(&self) -> ::windows::core::Result<u32>;
7147 fn SetInterval(&self, uiinterval: u32) -> ::windows::core::Result<()>;
7148 fn LastDownloadTime(&self) -> ::windows::core::Result<super::super::Foundation::SYSTEMTIME>;
7149 fn LocalEnclosurePath(&self) -> ::windows::core::Result<::windows::core::PWSTR>;
7150 fn Items(&self) -> ::windows::core::Result<IXFeedsEnum>;
7151 fn GetItem(&self, uiid: u32, riid: *const ::windows::core::GUID, ppv: *mut *mut ::core::ffi::c_void) -> ::windows::core::Result<()>;
7152 fn MarkAllItemsRead(&self) -> ::windows::core::Result<()>;
7153 fn MaxItemCount(&self) -> ::windows::core::Result<u32>;
7154 fn SetMaxItemCount(&self, uimaxitemcount: u32) -> ::windows::core::Result<()>;
7155 fn DownloadEnclosuresAutomatically(&self) -> ::windows::core::Result<super::super::Foundation::BOOL>;
7156 fn SetDownloadEnclosuresAutomatically(&self, bdownloadenclosuresautomatically: super::super::Foundation::BOOL) -> ::windows::core::Result<()>;
7157 fn DownloadStatus(&self) -> ::windows::core::Result<FEEDS_DOWNLOAD_STATUS>;
7158 fn LastDownloadError(&self) -> ::windows::core::Result<FEEDS_DOWNLOAD_ERROR>;
7159 fn Merge(&self, pstream: ::core::option::Option<&super::super::System::Com::IStream>, pszurl: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
7160 fn DownloadUrl(&self) -> ::windows::core::Result<::windows::core::PWSTR>;
7161 fn Title(&self) -> ::windows::core::Result<::windows::core::PWSTR>;
7162 fn Description(&self) -> ::windows::core::Result<::windows::core::PWSTR>;
7163 fn Link(&self) -> ::windows::core::Result<::windows::core::PWSTR>;
7164 fn Image(&self) -> ::windows::core::Result<::windows::core::PWSTR>;
7165 fn LastBuildDate(&self) -> ::windows::core::Result<super::super::Foundation::SYSTEMTIME>;
7166 fn PubDate(&self) -> ::windows::core::Result<super::super::Foundation::SYSTEMTIME>;
7167 fn Ttl(&self) -> ::windows::core::Result<u32>;
7168 fn Language(&self) -> ::windows::core::Result<::windows::core::PWSTR>;
7169 fn Copyright(&self) -> ::windows::core::Result<::windows::core::PWSTR>;
7170 fn IsList(&self) -> ::windows::core::Result<super::super::Foundation::BOOL>;
7171 fn GetWatcher(&self, scope: FEEDS_EVENTS_SCOPE, mask: FEEDS_EVENTS_MASK, riid: *const ::windows::core::GUID, ppv: *mut *mut ::core::ffi::c_void) -> ::windows::core::Result<()>;
7172 fn UnreadItemCount(&self) -> ::windows::core::Result<u32>;
7173 fn ItemCount(&self) -> ::windows::core::Result<u32>;
7174 }
7175 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
7176 impl ::windows::core::RuntimeName for IXFeed {}
7177 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
7178 impl IXFeed_Vtbl {
7179 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IXFeed_Impl, const OFFSET: isize>() -> IXFeed_Vtbl {
7180 unsafe extern "system" fn Xml<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IXFeed_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, uiitemcount: u32, sortproperty: FEEDS_XML_SORT_PROPERTY, sortorder: FEEDS_XML_SORT_ORDER, filterflags: FEEDS_XML_FILTER_FLAGS, includeflags: FEEDS_XML_INCLUDE_FLAGS, pps: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
7181 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7182 let this = (*this).get_impl();
7183 match this.Xml(::core::mem::transmute_copy(&uiitemcount), ::core::mem::transmute_copy(&sortproperty), ::core::mem::transmute_copy(&sortorder), ::core::mem::transmute_copy(&filterflags), ::core::mem::transmute_copy(&includeflags)) {
7184 ::core::result::Result::Ok(ok__) => {
7185 ::core::ptr::write(pps, ::core::mem::transmute(ok__));
7186 ::windows::core::HRESULT(0)
7187 }
7188 ::core::result::Result::Err(err) => err.into(),
7189 }
7190 }
7191 unsafe extern "system" fn Name<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IXFeed_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppszname: *mut ::windows::core::PWSTR) -> ::windows::core::HRESULT {
7192 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7193 let this = (*this).get_impl();
7194 match this.Name() {
7195 ::core::result::Result::Ok(ok__) => {
7196 ::core::ptr::write(ppszname, ::core::mem::transmute(ok__));
7197 ::windows::core::HRESULT(0)
7198 }
7199 ::core::result::Result::Err(err) => err.into(),
7200 }
7201 }
7202 unsafe extern "system" fn Rename<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IXFeed_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pszname: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
7203 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7204 let this = (*this).get_impl();
7205 this.Rename(::core::mem::transmute(&pszname)).into()
7206 }
7207 unsafe extern "system" fn Url<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IXFeed_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppszurl: *mut ::windows::core::PWSTR) -> ::windows::core::HRESULT {
7208 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7209 let this = (*this).get_impl();
7210 match this.Url() {
7211 ::core::result::Result::Ok(ok__) => {
7212 ::core::ptr::write(ppszurl, ::core::mem::transmute(ok__));
7213 ::windows::core::HRESULT(0)
7214 }
7215 ::core::result::Result::Err(err) => err.into(),
7216 }
7217 }
7218 unsafe extern "system" fn SetUrl<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IXFeed_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pszurl: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
7219 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7220 let this = (*this).get_impl();
7221 this.SetUrl(::core::mem::transmute(&pszurl)).into()
7222 }
7223 unsafe extern "system" fn LocalId<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IXFeed_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pguid: *mut ::windows::core::GUID) -> ::windows::core::HRESULT {
7224 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7225 let this = (*this).get_impl();
7226 match this.LocalId() {
7227 ::core::result::Result::Ok(ok__) => {
7228 ::core::ptr::write(pguid, ::core::mem::transmute(ok__));
7229 ::windows::core::HRESULT(0)
7230 }
7231 ::core::result::Result::Err(err) => err.into(),
7232 }
7233 }
7234 unsafe extern "system" fn Path<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IXFeed_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppszpath: *mut ::windows::core::PWSTR) -> ::windows::core::HRESULT {
7235 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7236 let this = (*this).get_impl();
7237 match this.Path() {
7238 ::core::result::Result::Ok(ok__) => {
7239 ::core::ptr::write(ppszpath, ::core::mem::transmute(ok__));
7240 ::windows::core::HRESULT(0)
7241 }
7242 ::core::result::Result::Err(err) => err.into(),
7243 }
7244 }
7245 unsafe extern "system" fn Move<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IXFeed_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pszpath: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
7246 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7247 let this = (*this).get_impl();
7248 this.Move(::core::mem::transmute(&pszpath)).into()
7249 }
7250 unsafe extern "system" fn Parent<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IXFeed_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, riid: *const ::windows::core::GUID, ppv: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
7251 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7252 let this = (*this).get_impl();
7253 this.Parent(::core::mem::transmute_copy(&riid), ::core::mem::transmute_copy(&ppv)).into()
7254 }
7255 unsafe extern "system" fn LastWriteTime<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IXFeed_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pstlastwritetime: *mut super::super::Foundation::SYSTEMTIME) -> ::windows::core::HRESULT {
7256 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7257 let this = (*this).get_impl();
7258 match this.LastWriteTime() {
7259 ::core::result::Result::Ok(ok__) => {
7260 ::core::ptr::write(pstlastwritetime, ::core::mem::transmute(ok__));
7261 ::windows::core::HRESULT(0)
7262 }
7263 ::core::result::Result::Err(err) => err.into(),
7264 }
7265 }
7266 unsafe extern "system" fn Delete<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IXFeed_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
7267 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7268 let this = (*this).get_impl();
7269 this.Delete().into()
7270 }
7271 unsafe extern "system" fn Download<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IXFeed_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
7272 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7273 let this = (*this).get_impl();
7274 this.Download().into()
7275 }
7276 unsafe extern "system" fn AsyncDownload<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IXFeed_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
7277 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7278 let this = (*this).get_impl();
7279 this.AsyncDownload().into()
7280 }
7281 unsafe extern "system" fn CancelAsyncDownload<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IXFeed_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
7282 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7283 let this = (*this).get_impl();
7284 this.CancelAsyncDownload().into()
7285 }
7286 unsafe extern "system" fn SyncSetting<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IXFeed_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pfss: *mut FEEDS_SYNC_SETTING) -> ::windows::core::HRESULT {
7287 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7288 let this = (*this).get_impl();
7289 match this.SyncSetting() {
7290 ::core::result::Result::Ok(ok__) => {
7291 ::core::ptr::write(pfss, ::core::mem::transmute(ok__));
7292 ::windows::core::HRESULT(0)
7293 }
7294 ::core::result::Result::Err(err) => err.into(),
7295 }
7296 }
7297 unsafe extern "system" fn SetSyncSetting<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IXFeed_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, fss: FEEDS_SYNC_SETTING) -> ::windows::core::HRESULT {
7298 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7299 let this = (*this).get_impl();
7300 this.SetSyncSetting(::core::mem::transmute_copy(&fss)).into()
7301 }
7302 unsafe extern "system" fn Interval<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IXFeed_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, puiinterval: *mut u32) -> ::windows::core::HRESULT {
7303 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7304 let this = (*this).get_impl();
7305 match this.Interval() {
7306 ::core::result::Result::Ok(ok__) => {
7307 ::core::ptr::write(puiinterval, ::core::mem::transmute(ok__));
7308 ::windows::core::HRESULT(0)
7309 }
7310 ::core::result::Result::Err(err) => err.into(),
7311 }
7312 }
7313 unsafe extern "system" fn SetInterval<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IXFeed_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, uiinterval: u32) -> ::windows::core::HRESULT {
7314 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7315 let this = (*this).get_impl();
7316 this.SetInterval(::core::mem::transmute_copy(&uiinterval)).into()
7317 }
7318 unsafe extern "system" fn LastDownloadTime<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IXFeed_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pstlastdownloadtime: *mut super::super::Foundation::SYSTEMTIME) -> ::windows::core::HRESULT {
7319 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7320 let this = (*this).get_impl();
7321 match this.LastDownloadTime() {
7322 ::core::result::Result::Ok(ok__) => {
7323 ::core::ptr::write(pstlastdownloadtime, ::core::mem::transmute(ok__));
7324 ::windows::core::HRESULT(0)
7325 }
7326 ::core::result::Result::Err(err) => err.into(),
7327 }
7328 }
7329 unsafe extern "system" fn LocalEnclosurePath<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IXFeed_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppszpath: *mut ::windows::core::PWSTR) -> ::windows::core::HRESULT {
7330 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7331 let this = (*this).get_impl();
7332 match this.LocalEnclosurePath() {
7333 ::core::result::Result::Ok(ok__) => {
7334 ::core::ptr::write(ppszpath, ::core::mem::transmute(ok__));
7335 ::windows::core::HRESULT(0)
7336 }
7337 ::core::result::Result::Err(err) => err.into(),
7338 }
7339 }
7340 unsafe extern "system" fn Items<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IXFeed_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppfe: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
7341 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7342 let this = (*this).get_impl();
7343 match this.Items() {
7344 ::core::result::Result::Ok(ok__) => {
7345 ::core::ptr::write(ppfe, ::core::mem::transmute(ok__));
7346 ::windows::core::HRESULT(0)
7347 }
7348 ::core::result::Result::Err(err) => err.into(),
7349 }
7350 }
7351 unsafe extern "system" fn GetItem<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IXFeed_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, uiid: u32, riid: *const ::windows::core::GUID, ppv: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
7352 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7353 let this = (*this).get_impl();
7354 this.GetItem(::core::mem::transmute_copy(&uiid), ::core::mem::transmute_copy(&riid), ::core::mem::transmute_copy(&ppv)).into()
7355 }
7356 unsafe extern "system" fn MarkAllItemsRead<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IXFeed_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
7357 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7358 let this = (*this).get_impl();
7359 this.MarkAllItemsRead().into()
7360 }
7361 unsafe extern "system" fn MaxItemCount<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IXFeed_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, puimaxitemcount: *mut u32) -> ::windows::core::HRESULT {
7362 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7363 let this = (*this).get_impl();
7364 match this.MaxItemCount() {
7365 ::core::result::Result::Ok(ok__) => {
7366 ::core::ptr::write(puimaxitemcount, ::core::mem::transmute(ok__));
7367 ::windows::core::HRESULT(0)
7368 }
7369 ::core::result::Result::Err(err) => err.into(),
7370 }
7371 }
7372 unsafe extern "system" fn SetMaxItemCount<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IXFeed_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, uimaxitemcount: u32) -> ::windows::core::HRESULT {
7373 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7374 let this = (*this).get_impl();
7375 this.SetMaxItemCount(::core::mem::transmute_copy(&uimaxitemcount)).into()
7376 }
7377 unsafe extern "system" fn DownloadEnclosuresAutomatically<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IXFeed_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbdownloadenclosuresautomatically: *mut super::super::Foundation::BOOL) -> ::windows::core::HRESULT {
7378 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7379 let this = (*this).get_impl();
7380 match this.DownloadEnclosuresAutomatically() {
7381 ::core::result::Result::Ok(ok__) => {
7382 ::core::ptr::write(pbdownloadenclosuresautomatically, ::core::mem::transmute(ok__));
7383 ::windows::core::HRESULT(0)
7384 }
7385 ::core::result::Result::Err(err) => err.into(),
7386 }
7387 }
7388 unsafe extern "system" fn SetDownloadEnclosuresAutomatically<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IXFeed_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bdownloadenclosuresautomatically: super::super::Foundation::BOOL) -> ::windows::core::HRESULT {
7389 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7390 let this = (*this).get_impl();
7391 this.SetDownloadEnclosuresAutomatically(::core::mem::transmute_copy(&bdownloadenclosuresautomatically)).into()
7392 }
7393 unsafe extern "system" fn DownloadStatus<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IXFeed_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pfds: *mut FEEDS_DOWNLOAD_STATUS) -> ::windows::core::HRESULT {
7394 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7395 let this = (*this).get_impl();
7396 match this.DownloadStatus() {
7397 ::core::result::Result::Ok(ok__) => {
7398 ::core::ptr::write(pfds, ::core::mem::transmute(ok__));
7399 ::windows::core::HRESULT(0)
7400 }
7401 ::core::result::Result::Err(err) => err.into(),
7402 }
7403 }
7404 unsafe extern "system" fn LastDownloadError<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IXFeed_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pfde: *mut FEEDS_DOWNLOAD_ERROR) -> ::windows::core::HRESULT {
7405 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7406 let this = (*this).get_impl();
7407 match this.LastDownloadError() {
7408 ::core::result::Result::Ok(ok__) => {
7409 ::core::ptr::write(pfde, ::core::mem::transmute(ok__));
7410 ::windows::core::HRESULT(0)
7411 }
7412 ::core::result::Result::Err(err) => err.into(),
7413 }
7414 }
7415 unsafe extern "system" fn Merge<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IXFeed_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pstream: *mut ::core::ffi::c_void, pszurl: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
7416 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7417 let this = (*this).get_impl();
7418 this.Merge(::windows::core::from_raw_borrowed(&pstream), ::core::mem::transmute(&pszurl)).into()
7419 }
7420 unsafe extern "system" fn DownloadUrl<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IXFeed_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppszurl: *mut ::windows::core::PWSTR) -> ::windows::core::HRESULT {
7421 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7422 let this = (*this).get_impl();
7423 match this.DownloadUrl() {
7424 ::core::result::Result::Ok(ok__) => {
7425 ::core::ptr::write(ppszurl, ::core::mem::transmute(ok__));
7426 ::windows::core::HRESULT(0)
7427 }
7428 ::core::result::Result::Err(err) => err.into(),
7429 }
7430 }
7431 unsafe extern "system" fn Title<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IXFeed_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppsztitle: *mut ::windows::core::PWSTR) -> ::windows::core::HRESULT {
7432 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7433 let this = (*this).get_impl();
7434 match this.Title() {
7435 ::core::result::Result::Ok(ok__) => {
7436 ::core::ptr::write(ppsztitle, ::core::mem::transmute(ok__));
7437 ::windows::core::HRESULT(0)
7438 }
7439 ::core::result::Result::Err(err) => err.into(),
7440 }
7441 }
7442 unsafe extern "system" fn Description<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IXFeed_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppszdescription: *mut ::windows::core::PWSTR) -> ::windows::core::HRESULT {
7443 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7444 let this = (*this).get_impl();
7445 match this.Description() {
7446 ::core::result::Result::Ok(ok__) => {
7447 ::core::ptr::write(ppszdescription, ::core::mem::transmute(ok__));
7448 ::windows::core::HRESULT(0)
7449 }
7450 ::core::result::Result::Err(err) => err.into(),
7451 }
7452 }
7453 unsafe extern "system" fn Link<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IXFeed_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppszhomepage: *mut ::windows::core::PWSTR) -> ::windows::core::HRESULT {
7454 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7455 let this = (*this).get_impl();
7456 match this.Link() {
7457 ::core::result::Result::Ok(ok__) => {
7458 ::core::ptr::write(ppszhomepage, ::core::mem::transmute(ok__));
7459 ::windows::core::HRESULT(0)
7460 }
7461 ::core::result::Result::Err(err) => err.into(),
7462 }
7463 }
7464 unsafe extern "system" fn Image<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IXFeed_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppszimageurl: *mut ::windows::core::PWSTR) -> ::windows::core::HRESULT {
7465 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7466 let this = (*this).get_impl();
7467 match this.Image() {
7468 ::core::result::Result::Ok(ok__) => {
7469 ::core::ptr::write(ppszimageurl, ::core::mem::transmute(ok__));
7470 ::windows::core::HRESULT(0)
7471 }
7472 ::core::result::Result::Err(err) => err.into(),
7473 }
7474 }
7475 unsafe extern "system" fn LastBuildDate<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IXFeed_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pstlastbuilddate: *mut super::super::Foundation::SYSTEMTIME) -> ::windows::core::HRESULT {
7476 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7477 let this = (*this).get_impl();
7478 match this.LastBuildDate() {
7479 ::core::result::Result::Ok(ok__) => {
7480 ::core::ptr::write(pstlastbuilddate, ::core::mem::transmute(ok__));
7481 ::windows::core::HRESULT(0)
7482 }
7483 ::core::result::Result::Err(err) => err.into(),
7484 }
7485 }
7486 unsafe extern "system" fn PubDate<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IXFeed_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pstpubdate: *mut super::super::Foundation::SYSTEMTIME) -> ::windows::core::HRESULT {
7487 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7488 let this = (*this).get_impl();
7489 match this.PubDate() {
7490 ::core::result::Result::Ok(ok__) => {
7491 ::core::ptr::write(pstpubdate, ::core::mem::transmute(ok__));
7492 ::windows::core::HRESULT(0)
7493 }
7494 ::core::result::Result::Err(err) => err.into(),
7495 }
7496 }
7497 unsafe extern "system" fn Ttl<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IXFeed_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, puittl: *mut u32) -> ::windows::core::HRESULT {
7498 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7499 let this = (*this).get_impl();
7500 match this.Ttl() {
7501 ::core::result::Result::Ok(ok__) => {
7502 ::core::ptr::write(puittl, ::core::mem::transmute(ok__));
7503 ::windows::core::HRESULT(0)
7504 }
7505 ::core::result::Result::Err(err) => err.into(),
7506 }
7507 }
7508 unsafe extern "system" fn Language<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IXFeed_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppszlanguage: *mut ::windows::core::PWSTR) -> ::windows::core::HRESULT {
7509 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7510 let this = (*this).get_impl();
7511 match this.Language() {
7512 ::core::result::Result::Ok(ok__) => {
7513 ::core::ptr::write(ppszlanguage, ::core::mem::transmute(ok__));
7514 ::windows::core::HRESULT(0)
7515 }
7516 ::core::result::Result::Err(err) => err.into(),
7517 }
7518 }
7519 unsafe extern "system" fn Copyright<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IXFeed_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppszcopyright: *mut ::windows::core::PWSTR) -> ::windows::core::HRESULT {
7520 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7521 let this = (*this).get_impl();
7522 match this.Copyright() {
7523 ::core::result::Result::Ok(ok__) => {
7524 ::core::ptr::write(ppszcopyright, ::core::mem::transmute(ok__));
7525 ::windows::core::HRESULT(0)
7526 }
7527 ::core::result::Result::Err(err) => err.into(),
7528 }
7529 }
7530 unsafe extern "system" fn IsList<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IXFeed_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbislist: *mut super::super::Foundation::BOOL) -> ::windows::core::HRESULT {
7531 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7532 let this = (*this).get_impl();
7533 match this.IsList() {
7534 ::core::result::Result::Ok(ok__) => {
7535 ::core::ptr::write(pbislist, ::core::mem::transmute(ok__));
7536 ::windows::core::HRESULT(0)
7537 }
7538 ::core::result::Result::Err(err) => err.into(),
7539 }
7540 }
7541 unsafe extern "system" fn GetWatcher<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IXFeed_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, scope: FEEDS_EVENTS_SCOPE, mask: FEEDS_EVENTS_MASK, riid: *const ::windows::core::GUID, ppv: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
7542 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7543 let this = (*this).get_impl();
7544 this.GetWatcher(::core::mem::transmute_copy(&scope), ::core::mem::transmute_copy(&mask), ::core::mem::transmute_copy(&riid), ::core::mem::transmute_copy(&ppv)).into()
7545 }
7546 unsafe extern "system" fn UnreadItemCount<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IXFeed_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, puiunreaditemcount: *mut u32) -> ::windows::core::HRESULT {
7547 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7548 let this = (*this).get_impl();
7549 match this.UnreadItemCount() {
7550 ::core::result::Result::Ok(ok__) => {
7551 ::core::ptr::write(puiunreaditemcount, ::core::mem::transmute(ok__));
7552 ::windows::core::HRESULT(0)
7553 }
7554 ::core::result::Result::Err(err) => err.into(),
7555 }
7556 }
7557 unsafe extern "system" fn ItemCount<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IXFeed_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, puiitemcount: *mut u32) -> ::windows::core::HRESULT {
7558 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7559 let this = (*this).get_impl();
7560 match this.ItemCount() {
7561 ::core::result::Result::Ok(ok__) => {
7562 ::core::ptr::write(puiitemcount, ::core::mem::transmute(ok__));
7563 ::windows::core::HRESULT(0)
7564 }
7565 ::core::result::Result::Err(err) => err.into(),
7566 }
7567 }
7568 Self {
7569 base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
7570 Xml: Xml::<Identity, Impl, OFFSET>,
7571 Name: Name::<Identity, Impl, OFFSET>,
7572 Rename: Rename::<Identity, Impl, OFFSET>,
7573 Url: Url::<Identity, Impl, OFFSET>,
7574 SetUrl: SetUrl::<Identity, Impl, OFFSET>,
7575 LocalId: LocalId::<Identity, Impl, OFFSET>,
7576 Path: Path::<Identity, Impl, OFFSET>,
7577 Move: Move::<Identity, Impl, OFFSET>,
7578 Parent: Parent::<Identity, Impl, OFFSET>,
7579 LastWriteTime: LastWriteTime::<Identity, Impl, OFFSET>,
7580 Delete: Delete::<Identity, Impl, OFFSET>,
7581 Download: Download::<Identity, Impl, OFFSET>,
7582 AsyncDownload: AsyncDownload::<Identity, Impl, OFFSET>,
7583 CancelAsyncDownload: CancelAsyncDownload::<Identity, Impl, OFFSET>,
7584 SyncSetting: SyncSetting::<Identity, Impl, OFFSET>,
7585 SetSyncSetting: SetSyncSetting::<Identity, Impl, OFFSET>,
7586 Interval: Interval::<Identity, Impl, OFFSET>,
7587 SetInterval: SetInterval::<Identity, Impl, OFFSET>,
7588 LastDownloadTime: LastDownloadTime::<Identity, Impl, OFFSET>,
7589 LocalEnclosurePath: LocalEnclosurePath::<Identity, Impl, OFFSET>,
7590 Items: Items::<Identity, Impl, OFFSET>,
7591 GetItem: GetItem::<Identity, Impl, OFFSET>,
7592 MarkAllItemsRead: MarkAllItemsRead::<Identity, Impl, OFFSET>,
7593 MaxItemCount: MaxItemCount::<Identity, Impl, OFFSET>,
7594 SetMaxItemCount: SetMaxItemCount::<Identity, Impl, OFFSET>,
7595 DownloadEnclosuresAutomatically: DownloadEnclosuresAutomatically::<Identity, Impl, OFFSET>,
7596 SetDownloadEnclosuresAutomatically: SetDownloadEnclosuresAutomatically::<Identity, Impl, OFFSET>,
7597 DownloadStatus: DownloadStatus::<Identity, Impl, OFFSET>,
7598 LastDownloadError: LastDownloadError::<Identity, Impl, OFFSET>,
7599 Merge: Merge::<Identity, Impl, OFFSET>,
7600 DownloadUrl: DownloadUrl::<Identity, Impl, OFFSET>,
7601 Title: Title::<Identity, Impl, OFFSET>,
7602 Description: Description::<Identity, Impl, OFFSET>,
7603 Link: Link::<Identity, Impl, OFFSET>,
7604 Image: Image::<Identity, Impl, OFFSET>,
7605 LastBuildDate: LastBuildDate::<Identity, Impl, OFFSET>,
7606 PubDate: PubDate::<Identity, Impl, OFFSET>,
7607 Ttl: Ttl::<Identity, Impl, OFFSET>,
7608 Language: Language::<Identity, Impl, OFFSET>,
7609 Copyright: Copyright::<Identity, Impl, OFFSET>,
7610 IsList: IsList::<Identity, Impl, OFFSET>,
7611 GetWatcher: GetWatcher::<Identity, Impl, OFFSET>,
7612 UnreadItemCount: UnreadItemCount::<Identity, Impl, OFFSET>,
7613 ItemCount: ItemCount::<Identity, Impl, OFFSET>,
7614 }
7615 }
7616 pub fn matches(iid: &windows::core::GUID) -> bool {
7617 iid == &<IXFeed as ::windows::core::ComInterface>::IID
7618 }
7619 }
7620 #[doc = "*Required features: `\"Win32_Media_MediaPlayer\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"implement\"`*"]
7621 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
7622 pub trait IXFeed2_Impl: Sized + IXFeed_Impl {
7623 fn GetItemByEffectiveId(&self, uieffectiveid: u32, riid: *const ::windows::core::GUID, ppv: *mut *mut ::core::ffi::c_void) -> ::windows::core::Result<()>;
7624 fn LastItemDownloadTime(&self) -> ::windows::core::Result<super::super::Foundation::SYSTEMTIME>;
7625 fn Username(&self) -> ::windows::core::Result<::windows::core::PWSTR>;
7626 fn Password(&self) -> ::windows::core::Result<::windows::core::PWSTR>;
7627 fn SetCredentials(&self, pszusername: &::windows::core::PCWSTR, pszpassword: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
7628 fn ClearCredentials(&self) -> ::windows::core::Result<()>;
7629 }
7630 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
7631 impl ::windows::core::RuntimeName for IXFeed2 {}
7632 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
7633 impl IXFeed2_Vtbl {
7634 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IXFeed2_Impl, const OFFSET: isize>() -> IXFeed2_Vtbl {
7635 unsafe extern "system" fn GetItemByEffectiveId<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IXFeed2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, uieffectiveid: u32, riid: *const ::windows::core::GUID, ppv: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
7636 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7637 let this = (*this).get_impl();
7638 this.GetItemByEffectiveId(::core::mem::transmute_copy(&uieffectiveid), ::core::mem::transmute_copy(&riid), ::core::mem::transmute_copy(&ppv)).into()
7639 }
7640 unsafe extern "system" fn LastItemDownloadTime<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IXFeed2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pstlastitemdownloadtime: *mut super::super::Foundation::SYSTEMTIME) -> ::windows::core::HRESULT {
7641 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7642 let this = (*this).get_impl();
7643 match this.LastItemDownloadTime() {
7644 ::core::result::Result::Ok(ok__) => {
7645 ::core::ptr::write(pstlastitemdownloadtime, ::core::mem::transmute(ok__));
7646 ::windows::core::HRESULT(0)
7647 }
7648 ::core::result::Result::Err(err) => err.into(),
7649 }
7650 }
7651 unsafe extern "system" fn Username<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IXFeed2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppszusername: *mut ::windows::core::PWSTR) -> ::windows::core::HRESULT {
7652 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7653 let this = (*this).get_impl();
7654 match this.Username() {
7655 ::core::result::Result::Ok(ok__) => {
7656 ::core::ptr::write(ppszusername, ::core::mem::transmute(ok__));
7657 ::windows::core::HRESULT(0)
7658 }
7659 ::core::result::Result::Err(err) => err.into(),
7660 }
7661 }
7662 unsafe extern "system" fn Password<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IXFeed2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppszpassword: *mut ::windows::core::PWSTR) -> ::windows::core::HRESULT {
7663 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7664 let this = (*this).get_impl();
7665 match this.Password() {
7666 ::core::result::Result::Ok(ok__) => {
7667 ::core::ptr::write(ppszpassword, ::core::mem::transmute(ok__));
7668 ::windows::core::HRESULT(0)
7669 }
7670 ::core::result::Result::Err(err) => err.into(),
7671 }
7672 }
7673 unsafe extern "system" fn SetCredentials<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IXFeed2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pszusername: ::windows::core::PCWSTR, pszpassword: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
7674 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7675 let this = (*this).get_impl();
7676 this.SetCredentials(::core::mem::transmute(&pszusername), ::core::mem::transmute(&pszpassword)).into()
7677 }
7678 unsafe extern "system" fn ClearCredentials<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IXFeed2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
7679 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7680 let this = (*this).get_impl();
7681 this.ClearCredentials().into()
7682 }
7683 Self {
7684 base__: IXFeed_Vtbl::new::<Identity, Impl, OFFSET>(),
7685 GetItemByEffectiveId: GetItemByEffectiveId::<Identity, Impl, OFFSET>,
7686 LastItemDownloadTime: LastItemDownloadTime::<Identity, Impl, OFFSET>,
7687 Username: Username::<Identity, Impl, OFFSET>,
7688 Password: Password::<Identity, Impl, OFFSET>,
7689 SetCredentials: SetCredentials::<Identity, Impl, OFFSET>,
7690 ClearCredentials: ClearCredentials::<Identity, Impl, OFFSET>,
7691 }
7692 }
7693 pub fn matches(iid: &windows::core::GUID) -> bool {
7694 iid == &<IXFeed2 as ::windows::core::ComInterface>::IID || iid == &<IXFeed as ::windows::core::ComInterface>::IID
7695 }
7696 }
7697 #[doc = "*Required features: `\"Win32_Media_MediaPlayer\"`, `\"implement\"`*"]
7698 pub trait IXFeedEnclosure_Impl: Sized {
7699 fn Url(&self) -> ::windows::core::Result<::windows::core::PWSTR>;
7700 fn Type(&self) -> ::windows::core::Result<::windows::core::PWSTR>;
7701 fn Length(&self) -> ::windows::core::Result<u32>;
7702 fn AsyncDownload(&self) -> ::windows::core::Result<()>;
7703 fn CancelAsyncDownload(&self) -> ::windows::core::Result<()>;
7704 fn DownloadStatus(&self) -> ::windows::core::Result<FEEDS_DOWNLOAD_STATUS>;
7705 fn LastDownloadError(&self) -> ::windows::core::Result<FEEDS_DOWNLOAD_ERROR>;
7706 fn LocalPath(&self) -> ::windows::core::Result<::windows::core::PWSTR>;
7707 fn Parent(&self, riid: *const ::windows::core::GUID, ppv: *mut *mut ::core::ffi::c_void) -> ::windows::core::Result<()>;
7708 fn DownloadUrl(&self) -> ::windows::core::Result<::windows::core::PWSTR>;
7709 fn DownloadMimeType(&self) -> ::windows::core::Result<::windows::core::PWSTR>;
7710 fn RemoveFile(&self) -> ::windows::core::Result<()>;
7711 fn SetFile(&self, pszdownloadurl: &::windows::core::PCWSTR, pszdownloadfilepath: &::windows::core::PCWSTR, pszdownloadmimetype: &::windows::core::PCWSTR, pszenclosurefilename: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
7712 }
7713 impl ::windows::core::RuntimeName for IXFeedEnclosure {}
7714 impl IXFeedEnclosure_Vtbl {
7715 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IXFeedEnclosure_Impl, const OFFSET: isize>() -> IXFeedEnclosure_Vtbl {
7716 unsafe extern "system" fn Url<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IXFeedEnclosure_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppszurl: *mut ::windows::core::PWSTR) -> ::windows::core::HRESULT {
7717 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7718 let this = (*this).get_impl();
7719 match this.Url() {
7720 ::core::result::Result::Ok(ok__) => {
7721 ::core::ptr::write(ppszurl, ::core::mem::transmute(ok__));
7722 ::windows::core::HRESULT(0)
7723 }
7724 ::core::result::Result::Err(err) => err.into(),
7725 }
7726 }
7727 unsafe extern "system" fn Type<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IXFeedEnclosure_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppszmimetype: *mut ::windows::core::PWSTR) -> ::windows::core::HRESULT {
7728 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7729 let this = (*this).get_impl();
7730 match this.Type() {
7731 ::core::result::Result::Ok(ok__) => {
7732 ::core::ptr::write(ppszmimetype, ::core::mem::transmute(ok__));
7733 ::windows::core::HRESULT(0)
7734 }
7735 ::core::result::Result::Err(err) => err.into(),
7736 }
7737 }
7738 unsafe extern "system" fn Length<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IXFeedEnclosure_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, puilength: *mut u32) -> ::windows::core::HRESULT {
7739 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7740 let this = (*this).get_impl();
7741 match this.Length() {
7742 ::core::result::Result::Ok(ok__) => {
7743 ::core::ptr::write(puilength, ::core::mem::transmute(ok__));
7744 ::windows::core::HRESULT(0)
7745 }
7746 ::core::result::Result::Err(err) => err.into(),
7747 }
7748 }
7749 unsafe extern "system" fn AsyncDownload<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IXFeedEnclosure_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
7750 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7751 let this = (*this).get_impl();
7752 this.AsyncDownload().into()
7753 }
7754 unsafe extern "system" fn CancelAsyncDownload<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IXFeedEnclosure_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
7755 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7756 let this = (*this).get_impl();
7757 this.CancelAsyncDownload().into()
7758 }
7759 unsafe extern "system" fn DownloadStatus<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IXFeedEnclosure_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pfds: *mut FEEDS_DOWNLOAD_STATUS) -> ::windows::core::HRESULT {
7760 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7761 let this = (*this).get_impl();
7762 match this.DownloadStatus() {
7763 ::core::result::Result::Ok(ok__) => {
7764 ::core::ptr::write(pfds, ::core::mem::transmute(ok__));
7765 ::windows::core::HRESULT(0)
7766 }
7767 ::core::result::Result::Err(err) => err.into(),
7768 }
7769 }
7770 unsafe extern "system" fn LastDownloadError<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IXFeedEnclosure_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pfde: *mut FEEDS_DOWNLOAD_ERROR) -> ::windows::core::HRESULT {
7771 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7772 let this = (*this).get_impl();
7773 match this.LastDownloadError() {
7774 ::core::result::Result::Ok(ok__) => {
7775 ::core::ptr::write(pfde, ::core::mem::transmute(ok__));
7776 ::windows::core::HRESULT(0)
7777 }
7778 ::core::result::Result::Err(err) => err.into(),
7779 }
7780 }
7781 unsafe extern "system" fn LocalPath<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IXFeedEnclosure_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppszpath: *mut ::windows::core::PWSTR) -> ::windows::core::HRESULT {
7782 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7783 let this = (*this).get_impl();
7784 match this.LocalPath() {
7785 ::core::result::Result::Ok(ok__) => {
7786 ::core::ptr::write(ppszpath, ::core::mem::transmute(ok__));
7787 ::windows::core::HRESULT(0)
7788 }
7789 ::core::result::Result::Err(err) => err.into(),
7790 }
7791 }
7792 unsafe extern "system" fn Parent<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IXFeedEnclosure_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, riid: *const ::windows::core::GUID, ppv: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
7793 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7794 let this = (*this).get_impl();
7795 this.Parent(::core::mem::transmute_copy(&riid), ::core::mem::transmute_copy(&ppv)).into()
7796 }
7797 unsafe extern "system" fn DownloadUrl<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IXFeedEnclosure_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppszurl: *mut ::windows::core::PWSTR) -> ::windows::core::HRESULT {
7798 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7799 let this = (*this).get_impl();
7800 match this.DownloadUrl() {
7801 ::core::result::Result::Ok(ok__) => {
7802 ::core::ptr::write(ppszurl, ::core::mem::transmute(ok__));
7803 ::windows::core::HRESULT(0)
7804 }
7805 ::core::result::Result::Err(err) => err.into(),
7806 }
7807 }
7808 unsafe extern "system" fn DownloadMimeType<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IXFeedEnclosure_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppszmimetype: *mut ::windows::core::PWSTR) -> ::windows::core::HRESULT {
7809 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7810 let this = (*this).get_impl();
7811 match this.DownloadMimeType() {
7812 ::core::result::Result::Ok(ok__) => {
7813 ::core::ptr::write(ppszmimetype, ::core::mem::transmute(ok__));
7814 ::windows::core::HRESULT(0)
7815 }
7816 ::core::result::Result::Err(err) => err.into(),
7817 }
7818 }
7819 unsafe extern "system" fn RemoveFile<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IXFeedEnclosure_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
7820 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7821 let this = (*this).get_impl();
7822 this.RemoveFile().into()
7823 }
7824 unsafe extern "system" fn SetFile<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IXFeedEnclosure_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pszdownloadurl: ::windows::core::PCWSTR, pszdownloadfilepath: ::windows::core::PCWSTR, pszdownloadmimetype: ::windows::core::PCWSTR, pszenclosurefilename: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
7825 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7826 let this = (*this).get_impl();
7827 this.SetFile(::core::mem::transmute(&pszdownloadurl), ::core::mem::transmute(&pszdownloadfilepath), ::core::mem::transmute(&pszdownloadmimetype), ::core::mem::transmute(&pszenclosurefilename)).into()
7828 }
7829 Self {
7830 base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
7831 Url: Url::<Identity, Impl, OFFSET>,
7832 Type: Type::<Identity, Impl, OFFSET>,
7833 Length: Length::<Identity, Impl, OFFSET>,
7834 AsyncDownload: AsyncDownload::<Identity, Impl, OFFSET>,
7835 CancelAsyncDownload: CancelAsyncDownload::<Identity, Impl, OFFSET>,
7836 DownloadStatus: DownloadStatus::<Identity, Impl, OFFSET>,
7837 LastDownloadError: LastDownloadError::<Identity, Impl, OFFSET>,
7838 LocalPath: LocalPath::<Identity, Impl, OFFSET>,
7839 Parent: Parent::<Identity, Impl, OFFSET>,
7840 DownloadUrl: DownloadUrl::<Identity, Impl, OFFSET>,
7841 DownloadMimeType: DownloadMimeType::<Identity, Impl, OFFSET>,
7842 RemoveFile: RemoveFile::<Identity, Impl, OFFSET>,
7843 SetFile: SetFile::<Identity, Impl, OFFSET>,
7844 }
7845 }
7846 pub fn matches(iid: &windows::core::GUID) -> bool {
7847 iid == &<IXFeedEnclosure as ::windows::core::ComInterface>::IID
7848 }
7849 }
7850 #[doc = "*Required features: `\"Win32_Media_MediaPlayer\"`, `\"implement\"`*"]
7851 pub trait IXFeedEvents_Impl: Sized {
7852 fn Error(&self) -> ::windows::core::Result<()>;
7853 fn FeedDeleted(&self, pszpath: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
7854 fn FeedRenamed(&self, pszpath: &::windows::core::PCWSTR, pszoldpath: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
7855 fn FeedUrlChanged(&self, pszpath: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
7856 fn FeedMoved(&self, pszpath: &::windows::core::PCWSTR, pszoldpath: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
7857 fn FeedDownloading(&self, pszpath: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
7858 fn FeedDownloadCompleted(&self, pszpath: &::windows::core::PCWSTR, fde: FEEDS_DOWNLOAD_ERROR) -> ::windows::core::Result<()>;
7859 fn FeedItemCountChanged(&self, pszpath: &::windows::core::PCWSTR, feicfflags: i32) -> ::windows::core::Result<()>;
7860 }
7861 impl ::windows::core::RuntimeName for IXFeedEvents {}
7862 impl IXFeedEvents_Vtbl {
7863 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IXFeedEvents_Impl, const OFFSET: isize>() -> IXFeedEvents_Vtbl {
7864 unsafe extern "system" fn Error<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IXFeedEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
7865 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7866 let this = (*this).get_impl();
7867 this.Error().into()
7868 }
7869 unsafe extern "system" fn FeedDeleted<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IXFeedEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pszpath: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
7870 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7871 let this = (*this).get_impl();
7872 this.FeedDeleted(::core::mem::transmute(&pszpath)).into()
7873 }
7874 unsafe extern "system" fn FeedRenamed<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IXFeedEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pszpath: ::windows::core::PCWSTR, pszoldpath: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
7875 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7876 let this = (*this).get_impl();
7877 this.FeedRenamed(::core::mem::transmute(&pszpath), ::core::mem::transmute(&pszoldpath)).into()
7878 }
7879 unsafe extern "system" fn FeedUrlChanged<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IXFeedEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pszpath: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
7880 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7881 let this = (*this).get_impl();
7882 this.FeedUrlChanged(::core::mem::transmute(&pszpath)).into()
7883 }
7884 unsafe extern "system" fn FeedMoved<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IXFeedEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pszpath: ::windows::core::PCWSTR, pszoldpath: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
7885 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7886 let this = (*this).get_impl();
7887 this.FeedMoved(::core::mem::transmute(&pszpath), ::core::mem::transmute(&pszoldpath)).into()
7888 }
7889 unsafe extern "system" fn FeedDownloading<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IXFeedEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pszpath: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
7890 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7891 let this = (*this).get_impl();
7892 this.FeedDownloading(::core::mem::transmute(&pszpath)).into()
7893 }
7894 unsafe extern "system" fn FeedDownloadCompleted<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IXFeedEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pszpath: ::windows::core::PCWSTR, fde: FEEDS_DOWNLOAD_ERROR) -> ::windows::core::HRESULT {
7895 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7896 let this = (*this).get_impl();
7897 this.FeedDownloadCompleted(::core::mem::transmute(&pszpath), ::core::mem::transmute_copy(&fde)).into()
7898 }
7899 unsafe extern "system" fn FeedItemCountChanged<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IXFeedEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pszpath: ::windows::core::PCWSTR, feicfflags: i32) -> ::windows::core::HRESULT {
7900 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7901 let this = (*this).get_impl();
7902 this.FeedItemCountChanged(::core::mem::transmute(&pszpath), ::core::mem::transmute_copy(&feicfflags)).into()
7903 }
7904 Self {
7905 base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
7906 Error: Error::<Identity, Impl, OFFSET>,
7907 FeedDeleted: FeedDeleted::<Identity, Impl, OFFSET>,
7908 FeedRenamed: FeedRenamed::<Identity, Impl, OFFSET>,
7909 FeedUrlChanged: FeedUrlChanged::<Identity, Impl, OFFSET>,
7910 FeedMoved: FeedMoved::<Identity, Impl, OFFSET>,
7911 FeedDownloading: FeedDownloading::<Identity, Impl, OFFSET>,
7912 FeedDownloadCompleted: FeedDownloadCompleted::<Identity, Impl, OFFSET>,
7913 FeedItemCountChanged: FeedItemCountChanged::<Identity, Impl, OFFSET>,
7914 }
7915 }
7916 pub fn matches(iid: &windows::core::GUID) -> bool {
7917 iid == &<IXFeedEvents as ::windows::core::ComInterface>::IID
7918 }
7919 }
7920 #[doc = "*Required features: `\"Win32_Media_MediaPlayer\"`, `\"Win32_Foundation\"`, `\"implement\"`*"]
7921 #[cfg(feature = "Win32_Foundation")]
7922 pub trait IXFeedFolder_Impl: Sized {
7923 fn Feeds(&self) -> ::windows::core::Result<IXFeedsEnum>;
7924 fn Subfolders(&self) -> ::windows::core::Result<IXFeedsEnum>;
7925 fn CreateFeed(&self, pszname: &::windows::core::PCWSTR, pszurl: &::windows::core::PCWSTR, riid: *const ::windows::core::GUID, ppv: *mut *mut ::core::ffi::c_void) -> ::windows::core::Result<()>;
7926 fn CreateSubfolder(&self, pszname: &::windows::core::PCWSTR, riid: *const ::windows::core::GUID, ppv: *mut *mut ::core::ffi::c_void) -> ::windows::core::Result<()>;
7927 fn ExistsFeed(&self, pszname: &::windows::core::PCWSTR, pbfeedexists: *const super::super::Foundation::BOOL) -> ::windows::core::Result<()>;
7928 fn ExistsSubfolder(&self, pszname: &::windows::core::PCWSTR, pbsubfolderexists: *const super::super::Foundation::BOOL) -> ::windows::core::Result<()>;
7929 fn GetFeed(&self, pszname: &::windows::core::PCWSTR, riid: *const ::windows::core::GUID, ppv: *mut *mut ::core::ffi::c_void) -> ::windows::core::Result<()>;
7930 fn GetSubfolder(&self, pszname: &::windows::core::PCWSTR, riid: *const ::windows::core::GUID, ppv: *mut *mut ::core::ffi::c_void) -> ::windows::core::Result<()>;
7931 fn Delete(&self) -> ::windows::core::Result<()>;
7932 fn Name(&self) -> ::windows::core::Result<::windows::core::PWSTR>;
7933 fn Rename(&self, pszname: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
7934 fn Path(&self) -> ::windows::core::Result<::windows::core::PWSTR>;
7935 fn Move(&self, pszpath: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
7936 fn Parent(&self, riid: *const ::windows::core::GUID, ppv: *mut *mut ::core::ffi::c_void) -> ::windows::core::Result<()>;
7937 fn IsRoot(&self) -> ::windows::core::Result<super::super::Foundation::BOOL>;
7938 fn GetWatcher(&self, scope: FEEDS_EVENTS_SCOPE, mask: FEEDS_EVENTS_MASK, riid: *const ::windows::core::GUID, ppv: *mut *mut ::core::ffi::c_void) -> ::windows::core::Result<()>;
7939 fn TotalUnreadItemCount(&self) -> ::windows::core::Result<u32>;
7940 fn TotalItemCount(&self) -> ::windows::core::Result<u32>;
7941 }
7942 #[cfg(feature = "Win32_Foundation")]
7943 impl ::windows::core::RuntimeName for IXFeedFolder {}
7944 #[cfg(feature = "Win32_Foundation")]
7945 impl IXFeedFolder_Vtbl {
7946 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IXFeedFolder_Impl, const OFFSET: isize>() -> IXFeedFolder_Vtbl {
7947 unsafe extern "system" fn Feeds<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IXFeedFolder_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppfe: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
7948 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7949 let this = (*this).get_impl();
7950 match this.Feeds() {
7951 ::core::result::Result::Ok(ok__) => {
7952 ::core::ptr::write(ppfe, ::core::mem::transmute(ok__));
7953 ::windows::core::HRESULT(0)
7954 }
7955 ::core::result::Result::Err(err) => err.into(),
7956 }
7957 }
7958 unsafe extern "system" fn Subfolders<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IXFeedFolder_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppfe: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
7959 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7960 let this = (*this).get_impl();
7961 match this.Subfolders() {
7962 ::core::result::Result::Ok(ok__) => {
7963 ::core::ptr::write(ppfe, ::core::mem::transmute(ok__));
7964 ::windows::core::HRESULT(0)
7965 }
7966 ::core::result::Result::Err(err) => err.into(),
7967 }
7968 }
7969 unsafe extern "system" fn CreateFeed<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IXFeedFolder_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pszname: ::windows::core::PCWSTR, pszurl: ::windows::core::PCWSTR, riid: *const ::windows::core::GUID, ppv: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
7970 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7971 let this = (*this).get_impl();
7972 this.CreateFeed(::core::mem::transmute(&pszname), ::core::mem::transmute(&pszurl), ::core::mem::transmute_copy(&riid), ::core::mem::transmute_copy(&ppv)).into()
7973 }
7974 unsafe extern "system" fn CreateSubfolder<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IXFeedFolder_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pszname: ::windows::core::PCWSTR, riid: *const ::windows::core::GUID, ppv: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
7975 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7976 let this = (*this).get_impl();
7977 this.CreateSubfolder(::core::mem::transmute(&pszname), ::core::mem::transmute_copy(&riid), ::core::mem::transmute_copy(&ppv)).into()
7978 }
7979 unsafe extern "system" fn ExistsFeed<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IXFeedFolder_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pszname: ::windows::core::PCWSTR, pbfeedexists: *const super::super::Foundation::BOOL) -> ::windows::core::HRESULT {
7980 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7981 let this = (*this).get_impl();
7982 this.ExistsFeed(::core::mem::transmute(&pszname), ::core::mem::transmute_copy(&pbfeedexists)).into()
7983 }
7984 unsafe extern "system" fn ExistsSubfolder<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IXFeedFolder_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pszname: ::windows::core::PCWSTR, pbsubfolderexists: *const super::super::Foundation::BOOL) -> ::windows::core::HRESULT {
7985 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7986 let this = (*this).get_impl();
7987 this.ExistsSubfolder(::core::mem::transmute(&pszname), ::core::mem::transmute_copy(&pbsubfolderexists)).into()
7988 }
7989 unsafe extern "system" fn GetFeed<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IXFeedFolder_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pszname: ::windows::core::PCWSTR, riid: *const ::windows::core::GUID, ppv: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
7990 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7991 let this = (*this).get_impl();
7992 this.GetFeed(::core::mem::transmute(&pszname), ::core::mem::transmute_copy(&riid), ::core::mem::transmute_copy(&ppv)).into()
7993 }
7994 unsafe extern "system" fn GetSubfolder<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IXFeedFolder_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pszname: ::windows::core::PCWSTR, riid: *const ::windows::core::GUID, ppv: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
7995 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7996 let this = (*this).get_impl();
7997 this.GetSubfolder(::core::mem::transmute(&pszname), ::core::mem::transmute_copy(&riid), ::core::mem::transmute_copy(&ppv)).into()
7998 }
7999 unsafe extern "system" fn Delete<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IXFeedFolder_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
8000 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
8001 let this = (*this).get_impl();
8002 this.Delete().into()
8003 }
8004 unsafe extern "system" fn Name<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IXFeedFolder_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppszname: *mut ::windows::core::PWSTR) -> ::windows::core::HRESULT {
8005 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
8006 let this = (*this).get_impl();
8007 match this.Name() {
8008 ::core::result::Result::Ok(ok__) => {
8009 ::core::ptr::write(ppszname, ::core::mem::transmute(ok__));
8010 ::windows::core::HRESULT(0)
8011 }
8012 ::core::result::Result::Err(err) => err.into(),
8013 }
8014 }
8015 unsafe extern "system" fn Rename<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IXFeedFolder_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pszname: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
8016 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
8017 let this = (*this).get_impl();
8018 this.Rename(::core::mem::transmute(&pszname)).into()
8019 }
8020 unsafe extern "system" fn Path<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IXFeedFolder_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppszpath: *mut ::windows::core::PWSTR) -> ::windows::core::HRESULT {
8021 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
8022 let this = (*this).get_impl();
8023 match this.Path() {
8024 ::core::result::Result::Ok(ok__) => {
8025 ::core::ptr::write(ppszpath, ::core::mem::transmute(ok__));
8026 ::windows::core::HRESULT(0)
8027 }
8028 ::core::result::Result::Err(err) => err.into(),
8029 }
8030 }
8031 unsafe extern "system" fn Move<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IXFeedFolder_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pszpath: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
8032 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
8033 let this = (*this).get_impl();
8034 this.Move(::core::mem::transmute(&pszpath)).into()
8035 }
8036 unsafe extern "system" fn Parent<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IXFeedFolder_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, riid: *const ::windows::core::GUID, ppv: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
8037 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
8038 let this = (*this).get_impl();
8039 this.Parent(::core::mem::transmute_copy(&riid), ::core::mem::transmute_copy(&ppv)).into()
8040 }
8041 unsafe extern "system" fn IsRoot<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IXFeedFolder_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbisrootfeedfolder: *mut super::super::Foundation::BOOL) -> ::windows::core::HRESULT {
8042 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
8043 let this = (*this).get_impl();
8044 match this.IsRoot() {
8045 ::core::result::Result::Ok(ok__) => {
8046 ::core::ptr::write(pbisrootfeedfolder, ::core::mem::transmute(ok__));
8047 ::windows::core::HRESULT(0)
8048 }
8049 ::core::result::Result::Err(err) => err.into(),
8050 }
8051 }
8052 unsafe extern "system" fn GetWatcher<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IXFeedFolder_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, scope: FEEDS_EVENTS_SCOPE, mask: FEEDS_EVENTS_MASK, riid: *const ::windows::core::GUID, ppv: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
8053 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
8054 let this = (*this).get_impl();
8055 this.GetWatcher(::core::mem::transmute_copy(&scope), ::core::mem::transmute_copy(&mask), ::core::mem::transmute_copy(&riid), ::core::mem::transmute_copy(&ppv)).into()
8056 }
8057 unsafe extern "system" fn TotalUnreadItemCount<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IXFeedFolder_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, puitotalunreaditemcount: *mut u32) -> ::windows::core::HRESULT {
8058 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
8059 let this = (*this).get_impl();
8060 match this.TotalUnreadItemCount() {
8061 ::core::result::Result::Ok(ok__) => {
8062 ::core::ptr::write(puitotalunreaditemcount, ::core::mem::transmute(ok__));
8063 ::windows::core::HRESULT(0)
8064 }
8065 ::core::result::Result::Err(err) => err.into(),
8066 }
8067 }
8068 unsafe extern "system" fn TotalItemCount<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IXFeedFolder_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, puitotalitemcount: *mut u32) -> ::windows::core::HRESULT {
8069 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
8070 let this = (*this).get_impl();
8071 match this.TotalItemCount() {
8072 ::core::result::Result::Ok(ok__) => {
8073 ::core::ptr::write(puitotalitemcount, ::core::mem::transmute(ok__));
8074 ::windows::core::HRESULT(0)
8075 }
8076 ::core::result::Result::Err(err) => err.into(),
8077 }
8078 }
8079 Self {
8080 base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
8081 Feeds: Feeds::<Identity, Impl, OFFSET>,
8082 Subfolders: Subfolders::<Identity, Impl, OFFSET>,
8083 CreateFeed: CreateFeed::<Identity, Impl, OFFSET>,
8084 CreateSubfolder: CreateSubfolder::<Identity, Impl, OFFSET>,
8085 ExistsFeed: ExistsFeed::<Identity, Impl, OFFSET>,
8086 ExistsSubfolder: ExistsSubfolder::<Identity, Impl, OFFSET>,
8087 GetFeed: GetFeed::<Identity, Impl, OFFSET>,
8088 GetSubfolder: GetSubfolder::<Identity, Impl, OFFSET>,
8089 Delete: Delete::<Identity, Impl, OFFSET>,
8090 Name: Name::<Identity, Impl, OFFSET>,
8091 Rename: Rename::<Identity, Impl, OFFSET>,
8092 Path: Path::<Identity, Impl, OFFSET>,
8093 Move: Move::<Identity, Impl, OFFSET>,
8094 Parent: Parent::<Identity, Impl, OFFSET>,
8095 IsRoot: IsRoot::<Identity, Impl, OFFSET>,
8096 GetWatcher: GetWatcher::<Identity, Impl, OFFSET>,
8097 TotalUnreadItemCount: TotalUnreadItemCount::<Identity, Impl, OFFSET>,
8098 TotalItemCount: TotalItemCount::<Identity, Impl, OFFSET>,
8099 }
8100 }
8101 pub fn matches(iid: &windows::core::GUID) -> bool {
8102 iid == &<IXFeedFolder as ::windows::core::ComInterface>::IID
8103 }
8104 }
8105 #[doc = "*Required features: `\"Win32_Media_MediaPlayer\"`, `\"implement\"`*"]
8106 pub trait IXFeedFolderEvents_Impl: Sized {
8107 fn Error(&self) -> ::windows::core::Result<()>;
8108 fn FolderAdded(&self, pszpath: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
8109 fn FolderDeleted(&self, pszpath: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
8110 fn FolderRenamed(&self, pszpath: &::windows::core::PCWSTR, pszoldpath: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
8111 fn FolderMovedFrom(&self, pszpath: &::windows::core::PCWSTR, pszoldpath: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
8112 fn FolderMovedTo(&self, pszpath: &::windows::core::PCWSTR, pszoldpath: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
8113 fn FolderItemCountChanged(&self, pszpath: &::windows::core::PCWSTR, feicfflags: i32) -> ::windows::core::Result<()>;
8114 fn FeedAdded(&self, pszpath: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
8115 fn FeedDeleted(&self, pszpath: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
8116 fn FeedRenamed(&self, pszpath: &::windows::core::PCWSTR, pszoldpath: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
8117 fn FeedUrlChanged(&self, pszpath: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
8118 fn FeedMovedFrom(&self, pszpath: &::windows::core::PCWSTR, pszoldpath: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
8119 fn FeedMovedTo(&self, pszpath: &::windows::core::PCWSTR, pszoldpath: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
8120 fn FeedDownloading(&self, pszpath: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
8121 fn FeedDownloadCompleted(&self, pszpath: &::windows::core::PCWSTR, fde: FEEDS_DOWNLOAD_ERROR) -> ::windows::core::Result<()>;
8122 fn FeedItemCountChanged(&self, pszpath: &::windows::core::PCWSTR, feicfflags: i32) -> ::windows::core::Result<()>;
8123 }
8124 impl ::windows::core::RuntimeName for IXFeedFolderEvents {}
8125 impl IXFeedFolderEvents_Vtbl {
8126 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IXFeedFolderEvents_Impl, const OFFSET: isize>() -> IXFeedFolderEvents_Vtbl {
8127 unsafe extern "system" fn Error<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IXFeedFolderEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
8128 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
8129 let this = (*this).get_impl();
8130 this.Error().into()
8131 }
8132 unsafe extern "system" fn FolderAdded<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IXFeedFolderEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pszpath: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
8133 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
8134 let this = (*this).get_impl();
8135 this.FolderAdded(::core::mem::transmute(&pszpath)).into()
8136 }
8137 unsafe extern "system" fn FolderDeleted<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IXFeedFolderEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pszpath: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
8138 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
8139 let this = (*this).get_impl();
8140 this.FolderDeleted(::core::mem::transmute(&pszpath)).into()
8141 }
8142 unsafe extern "system" fn FolderRenamed<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IXFeedFolderEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pszpath: ::windows::core::PCWSTR, pszoldpath: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
8143 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
8144 let this = (*this).get_impl();
8145 this.FolderRenamed(::core::mem::transmute(&pszpath), ::core::mem::transmute(&pszoldpath)).into()
8146 }
8147 unsafe extern "system" fn FolderMovedFrom<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IXFeedFolderEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pszpath: ::windows::core::PCWSTR, pszoldpath: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
8148 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
8149 let this = (*this).get_impl();
8150 this.FolderMovedFrom(::core::mem::transmute(&pszpath), ::core::mem::transmute(&pszoldpath)).into()
8151 }
8152 unsafe extern "system" fn FolderMovedTo<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IXFeedFolderEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pszpath: ::windows::core::PCWSTR, pszoldpath: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
8153 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
8154 let this = (*this).get_impl();
8155 this.FolderMovedTo(::core::mem::transmute(&pszpath), ::core::mem::transmute(&pszoldpath)).into()
8156 }
8157 unsafe extern "system" fn FolderItemCountChanged<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IXFeedFolderEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pszpath: ::windows::core::PCWSTR, feicfflags: i32) -> ::windows::core::HRESULT {
8158 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
8159 let this = (*this).get_impl();
8160 this.FolderItemCountChanged(::core::mem::transmute(&pszpath), ::core::mem::transmute_copy(&feicfflags)).into()
8161 }
8162 unsafe extern "system" fn FeedAdded<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IXFeedFolderEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pszpath: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
8163 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
8164 let this = (*this).get_impl();
8165 this.FeedAdded(::core::mem::transmute(&pszpath)).into()
8166 }
8167 unsafe extern "system" fn FeedDeleted<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IXFeedFolderEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pszpath: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
8168 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
8169 let this = (*this).get_impl();
8170 this.FeedDeleted(::core::mem::transmute(&pszpath)).into()
8171 }
8172 unsafe extern "system" fn FeedRenamed<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IXFeedFolderEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pszpath: ::windows::core::PCWSTR, pszoldpath: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
8173 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
8174 let this = (*this).get_impl();
8175 this.FeedRenamed(::core::mem::transmute(&pszpath), ::core::mem::transmute(&pszoldpath)).into()
8176 }
8177 unsafe extern "system" fn FeedUrlChanged<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IXFeedFolderEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pszpath: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
8178 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
8179 let this = (*this).get_impl();
8180 this.FeedUrlChanged(::core::mem::transmute(&pszpath)).into()
8181 }
8182 unsafe extern "system" fn FeedMovedFrom<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IXFeedFolderEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pszpath: ::windows::core::PCWSTR, pszoldpath: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
8183 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
8184 let this = (*this).get_impl();
8185 this.FeedMovedFrom(::core::mem::transmute(&pszpath), ::core::mem::transmute(&pszoldpath)).into()
8186 }
8187 unsafe extern "system" fn FeedMovedTo<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IXFeedFolderEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pszpath: ::windows::core::PCWSTR, pszoldpath: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
8188 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
8189 let this = (*this).get_impl();
8190 this.FeedMovedTo(::core::mem::transmute(&pszpath), ::core::mem::transmute(&pszoldpath)).into()
8191 }
8192 unsafe extern "system" fn FeedDownloading<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IXFeedFolderEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pszpath: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
8193 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
8194 let this = (*this).get_impl();
8195 this.FeedDownloading(::core::mem::transmute(&pszpath)).into()
8196 }
8197 unsafe extern "system" fn FeedDownloadCompleted<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IXFeedFolderEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pszpath: ::windows::core::PCWSTR, fde: FEEDS_DOWNLOAD_ERROR) -> ::windows::core::HRESULT {
8198 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
8199 let this = (*this).get_impl();
8200 this.FeedDownloadCompleted(::core::mem::transmute(&pszpath), ::core::mem::transmute_copy(&fde)).into()
8201 }
8202 unsafe extern "system" fn FeedItemCountChanged<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IXFeedFolderEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pszpath: ::windows::core::PCWSTR, feicfflags: i32) -> ::windows::core::HRESULT {
8203 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
8204 let this = (*this).get_impl();
8205 this.FeedItemCountChanged(::core::mem::transmute(&pszpath), ::core::mem::transmute_copy(&feicfflags)).into()
8206 }
8207 Self {
8208 base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
8209 Error: Error::<Identity, Impl, OFFSET>,
8210 FolderAdded: FolderAdded::<Identity, Impl, OFFSET>,
8211 FolderDeleted: FolderDeleted::<Identity, Impl, OFFSET>,
8212 FolderRenamed: FolderRenamed::<Identity, Impl, OFFSET>,
8213 FolderMovedFrom: FolderMovedFrom::<Identity, Impl, OFFSET>,
8214 FolderMovedTo: FolderMovedTo::<Identity, Impl, OFFSET>,
8215 FolderItemCountChanged: FolderItemCountChanged::<Identity, Impl, OFFSET>,
8216 FeedAdded: FeedAdded::<Identity, Impl, OFFSET>,
8217 FeedDeleted: FeedDeleted::<Identity, Impl, OFFSET>,
8218 FeedRenamed: FeedRenamed::<Identity, Impl, OFFSET>,
8219 FeedUrlChanged: FeedUrlChanged::<Identity, Impl, OFFSET>,
8220 FeedMovedFrom: FeedMovedFrom::<Identity, Impl, OFFSET>,
8221 FeedMovedTo: FeedMovedTo::<Identity, Impl, OFFSET>,
8222 FeedDownloading: FeedDownloading::<Identity, Impl, OFFSET>,
8223 FeedDownloadCompleted: FeedDownloadCompleted::<Identity, Impl, OFFSET>,
8224 FeedItemCountChanged: FeedItemCountChanged::<Identity, Impl, OFFSET>,
8225 }
8226 }
8227 pub fn matches(iid: &windows::core::GUID) -> bool {
8228 iid == &<IXFeedFolderEvents as ::windows::core::ComInterface>::IID
8229 }
8230 }
8231 #[doc = "*Required features: `\"Win32_Media_MediaPlayer\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"implement\"`*"]
8232 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
8233 pub trait IXFeedItem_Impl: Sized {
8234 fn Xml(&self, fxif: FEEDS_XML_INCLUDE_FLAGS) -> ::windows::core::Result<super::super::System::Com::IStream>;
8235 fn Title(&self) -> ::windows::core::Result<::windows::core::PWSTR>;
8236 fn Link(&self) -> ::windows::core::Result<::windows::core::PWSTR>;
8237 fn Guid(&self) -> ::windows::core::Result<::windows::core::PWSTR>;
8238 fn Description(&self) -> ::windows::core::Result<::windows::core::PWSTR>;
8239 fn PubDate(&self) -> ::windows::core::Result<super::super::Foundation::SYSTEMTIME>;
8240 fn Comments(&self) -> ::windows::core::Result<::windows::core::PWSTR>;
8241 fn Author(&self) -> ::windows::core::Result<::windows::core::PWSTR>;
8242 fn Enclosure(&self, riid: *const ::windows::core::GUID, ppv: *mut *mut ::core::ffi::c_void) -> ::windows::core::Result<()>;
8243 fn IsRead(&self) -> ::windows::core::Result<super::super::Foundation::BOOL>;
8244 fn SetIsRead(&self, bisread: super::super::Foundation::BOOL) -> ::windows::core::Result<()>;
8245 fn LocalId(&self) -> ::windows::core::Result<u32>;
8246 fn Parent(&self, riid: *const ::windows::core::GUID, ppv: *mut *mut ::core::ffi::c_void) -> ::windows::core::Result<()>;
8247 fn Delete(&self) -> ::windows::core::Result<()>;
8248 fn DownloadUrl(&self) -> ::windows::core::Result<::windows::core::PWSTR>;
8249 fn LastDownloadTime(&self) -> ::windows::core::Result<super::super::Foundation::SYSTEMTIME>;
8250 fn Modified(&self) -> ::windows::core::Result<super::super::Foundation::SYSTEMTIME>;
8251 }
8252 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
8253 impl ::windows::core::RuntimeName for IXFeedItem {}
8254 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
8255 impl IXFeedItem_Vtbl {
8256 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IXFeedItem_Impl, const OFFSET: isize>() -> IXFeedItem_Vtbl {
8257 unsafe extern "system" fn Xml<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IXFeedItem_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, fxif: FEEDS_XML_INCLUDE_FLAGS, pps: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
8258 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
8259 let this = (*this).get_impl();
8260 match this.Xml(::core::mem::transmute_copy(&fxif)) {
8261 ::core::result::Result::Ok(ok__) => {
8262 ::core::ptr::write(pps, ::core::mem::transmute(ok__));
8263 ::windows::core::HRESULT(0)
8264 }
8265 ::core::result::Result::Err(err) => err.into(),
8266 }
8267 }
8268 unsafe extern "system" fn Title<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IXFeedItem_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppsztitle: *mut ::windows::core::PWSTR) -> ::windows::core::HRESULT {
8269 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
8270 let this = (*this).get_impl();
8271 match this.Title() {
8272 ::core::result::Result::Ok(ok__) => {
8273 ::core::ptr::write(ppsztitle, ::core::mem::transmute(ok__));
8274 ::windows::core::HRESULT(0)
8275 }
8276 ::core::result::Result::Err(err) => err.into(),
8277 }
8278 }
8279 unsafe extern "system" fn Link<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IXFeedItem_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppszurl: *mut ::windows::core::PWSTR) -> ::windows::core::HRESULT {
8280 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
8281 let this = (*this).get_impl();
8282 match this.Link() {
8283 ::core::result::Result::Ok(ok__) => {
8284 ::core::ptr::write(ppszurl, ::core::mem::transmute(ok__));
8285 ::windows::core::HRESULT(0)
8286 }
8287 ::core::result::Result::Err(err) => err.into(),
8288 }
8289 }
8290 unsafe extern "system" fn Guid<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IXFeedItem_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppszguid: *mut ::windows::core::PWSTR) -> ::windows::core::HRESULT {
8291 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
8292 let this = (*this).get_impl();
8293 match this.Guid() {
8294 ::core::result::Result::Ok(ok__) => {
8295 ::core::ptr::write(ppszguid, ::core::mem::transmute(ok__));
8296 ::windows::core::HRESULT(0)
8297 }
8298 ::core::result::Result::Err(err) => err.into(),
8299 }
8300 }
8301 unsafe extern "system" fn Description<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IXFeedItem_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppszdescription: *mut ::windows::core::PWSTR) -> ::windows::core::HRESULT {
8302 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
8303 let this = (*this).get_impl();
8304 match this.Description() {
8305 ::core::result::Result::Ok(ok__) => {
8306 ::core::ptr::write(ppszdescription, ::core::mem::transmute(ok__));
8307 ::windows::core::HRESULT(0)
8308 }
8309 ::core::result::Result::Err(err) => err.into(),
8310 }
8311 }
8312 unsafe extern "system" fn PubDate<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IXFeedItem_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pstpubdate: *mut super::super::Foundation::SYSTEMTIME) -> ::windows::core::HRESULT {
8313 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
8314 let this = (*this).get_impl();
8315 match this.PubDate() {
8316 ::core::result::Result::Ok(ok__) => {
8317 ::core::ptr::write(pstpubdate, ::core::mem::transmute(ok__));
8318 ::windows::core::HRESULT(0)
8319 }
8320 ::core::result::Result::Err(err) => err.into(),
8321 }
8322 }
8323 unsafe extern "system" fn Comments<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IXFeedItem_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppszurl: *mut ::windows::core::PWSTR) -> ::windows::core::HRESULT {
8324 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
8325 let this = (*this).get_impl();
8326 match this.Comments() {
8327 ::core::result::Result::Ok(ok__) => {
8328 ::core::ptr::write(ppszurl, ::core::mem::transmute(ok__));
8329 ::windows::core::HRESULT(0)
8330 }
8331 ::core::result::Result::Err(err) => err.into(),
8332 }
8333 }
8334 unsafe extern "system" fn Author<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IXFeedItem_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppszauthor: *mut ::windows::core::PWSTR) -> ::windows::core::HRESULT {
8335 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
8336 let this = (*this).get_impl();
8337 match this.Author() {
8338 ::core::result::Result::Ok(ok__) => {
8339 ::core::ptr::write(ppszauthor, ::core::mem::transmute(ok__));
8340 ::windows::core::HRESULT(0)
8341 }
8342 ::core::result::Result::Err(err) => err.into(),
8343 }
8344 }
8345 unsafe extern "system" fn Enclosure<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IXFeedItem_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, riid: *const ::windows::core::GUID, ppv: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
8346 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
8347 let this = (*this).get_impl();
8348 this.Enclosure(::core::mem::transmute_copy(&riid), ::core::mem::transmute_copy(&ppv)).into()
8349 }
8350 unsafe extern "system" fn IsRead<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IXFeedItem_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbisread: *mut super::super::Foundation::BOOL) -> ::windows::core::HRESULT {
8351 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
8352 let this = (*this).get_impl();
8353 match this.IsRead() {
8354 ::core::result::Result::Ok(ok__) => {
8355 ::core::ptr::write(pbisread, ::core::mem::transmute(ok__));
8356 ::windows::core::HRESULT(0)
8357 }
8358 ::core::result::Result::Err(err) => err.into(),
8359 }
8360 }
8361 unsafe extern "system" fn SetIsRead<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IXFeedItem_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bisread: super::super::Foundation::BOOL) -> ::windows::core::HRESULT {
8362 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
8363 let this = (*this).get_impl();
8364 this.SetIsRead(::core::mem::transmute_copy(&bisread)).into()
8365 }
8366 unsafe extern "system" fn LocalId<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IXFeedItem_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, puiid: *mut u32) -> ::windows::core::HRESULT {
8367 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
8368 let this = (*this).get_impl();
8369 match this.LocalId() {
8370 ::core::result::Result::Ok(ok__) => {
8371 ::core::ptr::write(puiid, ::core::mem::transmute(ok__));
8372 ::windows::core::HRESULT(0)
8373 }
8374 ::core::result::Result::Err(err) => err.into(),
8375 }
8376 }
8377 unsafe extern "system" fn Parent<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IXFeedItem_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, riid: *const ::windows::core::GUID, ppv: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
8378 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
8379 let this = (*this).get_impl();
8380 this.Parent(::core::mem::transmute_copy(&riid), ::core::mem::transmute_copy(&ppv)).into()
8381 }
8382 unsafe extern "system" fn Delete<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IXFeedItem_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
8383 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
8384 let this = (*this).get_impl();
8385 this.Delete().into()
8386 }
8387 unsafe extern "system" fn DownloadUrl<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IXFeedItem_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppszurl: *mut ::windows::core::PWSTR) -> ::windows::core::HRESULT {
8388 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
8389 let this = (*this).get_impl();
8390 match this.DownloadUrl() {
8391 ::core::result::Result::Ok(ok__) => {
8392 ::core::ptr::write(ppszurl, ::core::mem::transmute(ok__));
8393 ::windows::core::HRESULT(0)
8394 }
8395 ::core::result::Result::Err(err) => err.into(),
8396 }
8397 }
8398 unsafe extern "system" fn LastDownloadTime<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IXFeedItem_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pstlastdownloadtime: *mut super::super::Foundation::SYSTEMTIME) -> ::windows::core::HRESULT {
8399 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
8400 let this = (*this).get_impl();
8401 match this.LastDownloadTime() {
8402 ::core::result::Result::Ok(ok__) => {
8403 ::core::ptr::write(pstlastdownloadtime, ::core::mem::transmute(ok__));
8404 ::windows::core::HRESULT(0)
8405 }
8406 ::core::result::Result::Err(err) => err.into(),
8407 }
8408 }
8409 unsafe extern "system" fn Modified<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IXFeedItem_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pstmodifiedtime: *mut super::super::Foundation::SYSTEMTIME) -> ::windows::core::HRESULT {
8410 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
8411 let this = (*this).get_impl();
8412 match this.Modified() {
8413 ::core::result::Result::Ok(ok__) => {
8414 ::core::ptr::write(pstmodifiedtime, ::core::mem::transmute(ok__));
8415 ::windows::core::HRESULT(0)
8416 }
8417 ::core::result::Result::Err(err) => err.into(),
8418 }
8419 }
8420 Self {
8421 base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
8422 Xml: Xml::<Identity, Impl, OFFSET>,
8423 Title: Title::<Identity, Impl, OFFSET>,
8424 Link: Link::<Identity, Impl, OFFSET>,
8425 Guid: Guid::<Identity, Impl, OFFSET>,
8426 Description: Description::<Identity, Impl, OFFSET>,
8427 PubDate: PubDate::<Identity, Impl, OFFSET>,
8428 Comments: Comments::<Identity, Impl, OFFSET>,
8429 Author: Author::<Identity, Impl, OFFSET>,
8430 Enclosure: Enclosure::<Identity, Impl, OFFSET>,
8431 IsRead: IsRead::<Identity, Impl, OFFSET>,
8432 SetIsRead: SetIsRead::<Identity, Impl, OFFSET>,
8433 LocalId: LocalId::<Identity, Impl, OFFSET>,
8434 Parent: Parent::<Identity, Impl, OFFSET>,
8435 Delete: Delete::<Identity, Impl, OFFSET>,
8436 DownloadUrl: DownloadUrl::<Identity, Impl, OFFSET>,
8437 LastDownloadTime: LastDownloadTime::<Identity, Impl, OFFSET>,
8438 Modified: Modified::<Identity, Impl, OFFSET>,
8439 }
8440 }
8441 pub fn matches(iid: &windows::core::GUID) -> bool {
8442 iid == &<IXFeedItem as ::windows::core::ComInterface>::IID
8443 }
8444 }
8445 #[doc = "*Required features: `\"Win32_Media_MediaPlayer\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"implement\"`*"]
8446 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
8447 pub trait IXFeedItem2_Impl: Sized + IXFeedItem_Impl {
8448 fn EffectiveId(&self) -> ::windows::core::Result<u32>;
8449 }
8450 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
8451 impl ::windows::core::RuntimeName for IXFeedItem2 {}
8452 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
8453 impl IXFeedItem2_Vtbl {
8454 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IXFeedItem2_Impl, const OFFSET: isize>() -> IXFeedItem2_Vtbl {
8455 unsafe extern "system" fn EffectiveId<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IXFeedItem2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, puieffectiveid: *mut u32) -> ::windows::core::HRESULT {
8456 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
8457 let this = (*this).get_impl();
8458 match this.EffectiveId() {
8459 ::core::result::Result::Ok(ok__) => {
8460 ::core::ptr::write(puieffectiveid, ::core::mem::transmute(ok__));
8461 ::windows::core::HRESULT(0)
8462 }
8463 ::core::result::Result::Err(err) => err.into(),
8464 }
8465 }
8466 Self { base__: IXFeedItem_Vtbl::new::<Identity, Impl, OFFSET>(), EffectiveId: EffectiveId::<Identity, Impl, OFFSET> }
8467 }
8468 pub fn matches(iid: &windows::core::GUID) -> bool {
8469 iid == &<IXFeedItem2 as ::windows::core::ComInterface>::IID || iid == &<IXFeedItem as ::windows::core::ComInterface>::IID
8470 }
8471 }
8472 #[doc = "*Required features: `\"Win32_Media_MediaPlayer\"`, `\"implement\"`*"]
8473 pub trait IXFeedsEnum_Impl: Sized {
8474 fn Count(&self) -> ::windows::core::Result<u32>;
8475 fn Item(&self, uiindex: u32, riid: *const ::windows::core::GUID, ppv: *mut *mut ::core::ffi::c_void) -> ::windows::core::Result<()>;
8476 }
8477 impl ::windows::core::RuntimeName for IXFeedsEnum {}
8478 impl IXFeedsEnum_Vtbl {
8479 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IXFeedsEnum_Impl, const OFFSET: isize>() -> IXFeedsEnum_Vtbl {
8480 unsafe extern "system" fn Count<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IXFeedsEnum_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, puicount: *mut u32) -> ::windows::core::HRESULT {
8481 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
8482 let this = (*this).get_impl();
8483 match this.Count() {
8484 ::core::result::Result::Ok(ok__) => {
8485 ::core::ptr::write(puicount, ::core::mem::transmute(ok__));
8486 ::windows::core::HRESULT(0)
8487 }
8488 ::core::result::Result::Err(err) => err.into(),
8489 }
8490 }
8491 unsafe extern "system" fn Item<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IXFeedsEnum_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, uiindex: u32, riid: *const ::windows::core::GUID, ppv: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
8492 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
8493 let this = (*this).get_impl();
8494 this.Item(::core::mem::transmute_copy(&uiindex), ::core::mem::transmute_copy(&riid), ::core::mem::transmute_copy(&ppv)).into()
8495 }
8496 Self { base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(), Count: Count::<Identity, Impl, OFFSET>, Item: Item::<Identity, Impl, OFFSET> }
8497 }
8498 pub fn matches(iid: &windows::core::GUID) -> bool {
8499 iid == &<IXFeedsEnum as ::windows::core::ComInterface>::IID
8500 }
8501 }
8502 #[doc = "*Required features: `\"Win32_Media_MediaPlayer\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"implement\"`*"]
8503 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
8504 pub trait IXFeedsManager_Impl: Sized {
8505 fn RootFolder(&self, riid: *const ::windows::core::GUID, ppv: *mut *mut ::core::ffi::c_void) -> ::windows::core::Result<()>;
8506 fn IsSubscribed(&self, pszurl: &::windows::core::PCWSTR) -> ::windows::core::Result<super::super::Foundation::BOOL>;
8507 fn ExistsFeed(&self, pszpath: &::windows::core::PCWSTR) -> ::windows::core::Result<super::super::Foundation::BOOL>;
8508 fn GetFeed(&self, pszpath: &::windows::core::PCWSTR, riid: *const ::windows::core::GUID, ppv: *mut *mut ::core::ffi::c_void) -> ::windows::core::Result<()>;
8509 fn GetFeedByUrl(&self, pszurl: &::windows::core::PCWSTR, riid: *const ::windows::core::GUID, ppv: *mut *mut ::core::ffi::c_void) -> ::windows::core::Result<()>;
8510 fn ExistsFolder(&self, pszpath: &::windows::core::PCWSTR) -> ::windows::core::Result<super::super::Foundation::BOOL>;
8511 fn GetFolder(&self, pszpath: &::windows::core::PCWSTR, riid: *const ::windows::core::GUID, ppv: *mut *mut ::core::ffi::c_void) -> ::windows::core::Result<()>;
8512 fn DeleteFeed(&self, pszpath: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
8513 fn DeleteFolder(&self, pszpath: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
8514 fn BackgroundSync(&self, fbsa: FEEDS_BACKGROUNDSYNC_ACTION) -> ::windows::core::Result<()>;
8515 fn BackgroundSyncStatus(&self) -> ::windows::core::Result<FEEDS_BACKGROUNDSYNC_STATUS>;
8516 fn DefaultInterval(&self) -> ::windows::core::Result<u32>;
8517 fn SetDefaultInterval(&self, uiinterval: u32) -> ::windows::core::Result<()>;
8518 fn AsyncSyncAll(&self) -> ::windows::core::Result<()>;
8519 fn Normalize(&self, pstreamin: ::core::option::Option<&super::super::System::Com::IStream>) -> ::windows::core::Result<super::super::System::Com::IStream>;
8520 fn ItemCountLimit(&self) -> ::windows::core::Result<u32>;
8521 }
8522 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
8523 impl ::windows::core::RuntimeName for IXFeedsManager {}
8524 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
8525 impl IXFeedsManager_Vtbl {
8526 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IXFeedsManager_Impl, const OFFSET: isize>() -> IXFeedsManager_Vtbl {
8527 unsafe extern "system" fn RootFolder<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IXFeedsManager_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, riid: *const ::windows::core::GUID, ppv: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
8528 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
8529 let this = (*this).get_impl();
8530 this.RootFolder(::core::mem::transmute_copy(&riid), ::core::mem::transmute_copy(&ppv)).into()
8531 }
8532 unsafe extern "system" fn IsSubscribed<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IXFeedsManager_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pszurl: ::windows::core::PCWSTR, pbsubscribed: *mut super::super::Foundation::BOOL) -> ::windows::core::HRESULT {
8533 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
8534 let this = (*this).get_impl();
8535 match this.IsSubscribed(::core::mem::transmute(&pszurl)) {
8536 ::core::result::Result::Ok(ok__) => {
8537 ::core::ptr::write(pbsubscribed, ::core::mem::transmute(ok__));
8538 ::windows::core::HRESULT(0)
8539 }
8540 ::core::result::Result::Err(err) => err.into(),
8541 }
8542 }
8543 unsafe extern "system" fn ExistsFeed<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IXFeedsManager_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pszpath: ::windows::core::PCWSTR, pbfeedexists: *mut super::super::Foundation::BOOL) -> ::windows::core::HRESULT {
8544 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
8545 let this = (*this).get_impl();
8546 match this.ExistsFeed(::core::mem::transmute(&pszpath)) {
8547 ::core::result::Result::Ok(ok__) => {
8548 ::core::ptr::write(pbfeedexists, ::core::mem::transmute(ok__));
8549 ::windows::core::HRESULT(0)
8550 }
8551 ::core::result::Result::Err(err) => err.into(),
8552 }
8553 }
8554 unsafe extern "system" fn GetFeed<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IXFeedsManager_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pszpath: ::windows::core::PCWSTR, riid: *const ::windows::core::GUID, ppv: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
8555 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
8556 let this = (*this).get_impl();
8557 this.GetFeed(::core::mem::transmute(&pszpath), ::core::mem::transmute_copy(&riid), ::core::mem::transmute_copy(&ppv)).into()
8558 }
8559 unsafe extern "system" fn GetFeedByUrl<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IXFeedsManager_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pszurl: ::windows::core::PCWSTR, riid: *const ::windows::core::GUID, ppv: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
8560 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
8561 let this = (*this).get_impl();
8562 this.GetFeedByUrl(::core::mem::transmute(&pszurl), ::core::mem::transmute_copy(&riid), ::core::mem::transmute_copy(&ppv)).into()
8563 }
8564 unsafe extern "system" fn ExistsFolder<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IXFeedsManager_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pszpath: ::windows::core::PCWSTR, pbfolderexists: *mut super::super::Foundation::BOOL) -> ::windows::core::HRESULT {
8565 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
8566 let this = (*this).get_impl();
8567 match this.ExistsFolder(::core::mem::transmute(&pszpath)) {
8568 ::core::result::Result::Ok(ok__) => {
8569 ::core::ptr::write(pbfolderexists, ::core::mem::transmute(ok__));
8570 ::windows::core::HRESULT(0)
8571 }
8572 ::core::result::Result::Err(err) => err.into(),
8573 }
8574 }
8575 unsafe extern "system" fn GetFolder<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IXFeedsManager_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pszpath: ::windows::core::PCWSTR, riid: *const ::windows::core::GUID, ppv: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
8576 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
8577 let this = (*this).get_impl();
8578 this.GetFolder(::core::mem::transmute(&pszpath), ::core::mem::transmute_copy(&riid), ::core::mem::transmute_copy(&ppv)).into()
8579 }
8580 unsafe extern "system" fn DeleteFeed<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IXFeedsManager_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pszpath: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
8581 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
8582 let this = (*this).get_impl();
8583 this.DeleteFeed(::core::mem::transmute(&pszpath)).into()
8584 }
8585 unsafe extern "system" fn DeleteFolder<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IXFeedsManager_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pszpath: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
8586 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
8587 let this = (*this).get_impl();
8588 this.DeleteFolder(::core::mem::transmute(&pszpath)).into()
8589 }
8590 unsafe extern "system" fn BackgroundSync<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IXFeedsManager_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, fbsa: FEEDS_BACKGROUNDSYNC_ACTION) -> ::windows::core::HRESULT {
8591 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
8592 let this = (*this).get_impl();
8593 this.BackgroundSync(::core::mem::transmute_copy(&fbsa)).into()
8594 }
8595 unsafe extern "system" fn BackgroundSyncStatus<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IXFeedsManager_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pfbss: *mut FEEDS_BACKGROUNDSYNC_STATUS) -> ::windows::core::HRESULT {
8596 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
8597 let this = (*this).get_impl();
8598 match this.BackgroundSyncStatus() {
8599 ::core::result::Result::Ok(ok__) => {
8600 ::core::ptr::write(pfbss, ::core::mem::transmute(ok__));
8601 ::windows::core::HRESULT(0)
8602 }
8603 ::core::result::Result::Err(err) => err.into(),
8604 }
8605 }
8606 unsafe extern "system" fn DefaultInterval<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IXFeedsManager_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, puiinterval: *mut u32) -> ::windows::core::HRESULT {
8607 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
8608 let this = (*this).get_impl();
8609 match this.DefaultInterval() {
8610 ::core::result::Result::Ok(ok__) => {
8611 ::core::ptr::write(puiinterval, ::core::mem::transmute(ok__));
8612 ::windows::core::HRESULT(0)
8613 }
8614 ::core::result::Result::Err(err) => err.into(),
8615 }
8616 }
8617 unsafe extern "system" fn SetDefaultInterval<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IXFeedsManager_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, uiinterval: u32) -> ::windows::core::HRESULT {
8618 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
8619 let this = (*this).get_impl();
8620 this.SetDefaultInterval(::core::mem::transmute_copy(&uiinterval)).into()
8621 }
8622 unsafe extern "system" fn AsyncSyncAll<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IXFeedsManager_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
8623 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
8624 let this = (*this).get_impl();
8625 this.AsyncSyncAll().into()
8626 }
8627 unsafe extern "system" fn Normalize<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IXFeedsManager_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pstreamin: *mut ::core::ffi::c_void, ppstreamout: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
8628 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
8629 let this = (*this).get_impl();
8630 match this.Normalize(::windows::core::from_raw_borrowed(&pstreamin)) {
8631 ::core::result::Result::Ok(ok__) => {
8632 ::core::ptr::write(ppstreamout, ::core::mem::transmute(ok__));
8633 ::windows::core::HRESULT(0)
8634 }
8635 ::core::result::Result::Err(err) => err.into(),
8636 }
8637 }
8638 unsafe extern "system" fn ItemCountLimit<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IXFeedsManager_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, puiitemcountlimit: *mut u32) -> ::windows::core::HRESULT {
8639 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
8640 let this = (*this).get_impl();
8641 match this.ItemCountLimit() {
8642 ::core::result::Result::Ok(ok__) => {
8643 ::core::ptr::write(puiitemcountlimit, ::core::mem::transmute(ok__));
8644 ::windows::core::HRESULT(0)
8645 }
8646 ::core::result::Result::Err(err) => err.into(),
8647 }
8648 }
8649 Self {
8650 base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
8651 RootFolder: RootFolder::<Identity, Impl, OFFSET>,
8652 IsSubscribed: IsSubscribed::<Identity, Impl, OFFSET>,
8653 ExistsFeed: ExistsFeed::<Identity, Impl, OFFSET>,
8654 GetFeed: GetFeed::<Identity, Impl, OFFSET>,
8655 GetFeedByUrl: GetFeedByUrl::<Identity, Impl, OFFSET>,
8656 ExistsFolder: ExistsFolder::<Identity, Impl, OFFSET>,
8657 GetFolder: GetFolder::<Identity, Impl, OFFSET>,
8658 DeleteFeed: DeleteFeed::<Identity, Impl, OFFSET>,
8659 DeleteFolder: DeleteFolder::<Identity, Impl, OFFSET>,
8660 BackgroundSync: BackgroundSync::<Identity, Impl, OFFSET>,
8661 BackgroundSyncStatus: BackgroundSyncStatus::<Identity, Impl, OFFSET>,
8662 DefaultInterval: DefaultInterval::<Identity, Impl, OFFSET>,
8663 SetDefaultInterval: SetDefaultInterval::<Identity, Impl, OFFSET>,
8664 AsyncSyncAll: AsyncSyncAll::<Identity, Impl, OFFSET>,
8665 Normalize: Normalize::<Identity, Impl, OFFSET>,
8666 ItemCountLimit: ItemCountLimit::<Identity, Impl, OFFSET>,
8667 }
8668 }
8669 pub fn matches(iid: &windows::core::GUID) -> bool {
8670 iid == &<IXFeedsManager as ::windows::core::ComInterface>::IID
8671 }
8672 }
8673 #[doc = "*Required features: `\"Win32_Media_MediaPlayer\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
8674 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
8675 pub trait _WMPOCXEvents_Impl: Sized + super::super::System::Com::IDispatch_Impl {}
8676 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
8677 impl ::windows::core::RuntimeName for _WMPOCXEvents {}
8678 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
8679 impl _WMPOCXEvents_Vtbl {
8680 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: _WMPOCXEvents_Impl, const OFFSET: isize>() -> _WMPOCXEvents_Vtbl {
8681 Self { base__: super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>() }
8682 }
8683 pub fn matches(iid: &windows::core::GUID) -> bool {
8684 iid == &<_WMPOCXEvents as ::windows::core::ComInterface>::IID || iid == &<super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID
8685 }
8686 }