2 * Copyright 2014 Jacek Caban for CodeWeavers
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
19 #include "wmp_private.h"
21 #include "wine/debug.h"
23 WINE_DEFAULT_DEBUG_CHANNEL(wmp
);
25 static inline WMPMedia
*impl_from_IWMPMedia(IWMPMedia
*iface
)
27 return CONTAINING_RECORD(iface
, WMPMedia
, IWMPMedia_iface
);
30 static inline WindowsMediaPlayer
*impl_from_IWMPNetwork(IWMPNetwork
*iface
)
32 return CONTAINING_RECORD(iface
, WindowsMediaPlayer
, IWMPNetwork_iface
);
35 static inline WindowsMediaPlayer
*impl_from_IWMPPlayer4(IWMPPlayer4
*iface
)
37 return CONTAINING_RECORD(iface
, WindowsMediaPlayer
, IWMPPlayer4_iface
);
40 static inline WindowsMediaPlayer
*impl_from_IWMPPlayer(IWMPPlayer
*iface
)
42 return CONTAINING_RECORD(iface
, WindowsMediaPlayer
, IWMPPlayer_iface
);
45 static inline WindowsMediaPlayer
*impl_from_IWMPControls(IWMPControls
*iface
)
47 return CONTAINING_RECORD(iface
, WindowsMediaPlayer
, IWMPControls_iface
);
50 static HRESULT WINAPI
WMPPlayer4_QueryInterface(IWMPPlayer4
*iface
, REFIID riid
, void **ppv
)
52 WindowsMediaPlayer
*This
= impl_from_IWMPPlayer4(iface
);
53 return IOleObject_QueryInterface(&This
->IOleObject_iface
, riid
, ppv
);
56 static ULONG WINAPI
WMPPlayer4_AddRef(IWMPPlayer4
*iface
)
58 WindowsMediaPlayer
*This
= impl_from_IWMPPlayer4(iface
);
59 return IOleObject_AddRef(&This
->IOleObject_iface
);
62 static ULONG WINAPI
WMPPlayer4_Release(IWMPPlayer4
*iface
)
64 WindowsMediaPlayer
*This
= impl_from_IWMPPlayer4(iface
);
65 return IOleObject_Release(&This
->IOleObject_iface
);
68 static HRESULT WINAPI
WMPPlayer4_GetTypeInfoCount(IWMPPlayer4
*iface
, UINT
*pctinfo
)
70 WindowsMediaPlayer
*This
= impl_from_IWMPPlayer4(iface
);
71 FIXME("(%p)->(%p)\n", This
, pctinfo
);
75 static HRESULT WINAPI
WMPPlayer4_GetTypeInfo(IWMPPlayer4
*iface
, UINT iTInfo
,
76 LCID lcid
, ITypeInfo
**ppTInfo
)
78 WindowsMediaPlayer
*This
= impl_from_IWMPPlayer4(iface
);
79 FIXME("(%p)->(%u %d %p)\n", This
, iTInfo
, lcid
, ppTInfo
);
83 static HRESULT WINAPI
WMPPlayer4_GetIDsOfNames(IWMPPlayer4
*iface
, REFIID riid
,
84 LPOLESTR
*rgszNames
, UINT cNames
, LCID lcid
, DISPID
*rgDispId
)
86 WindowsMediaPlayer
*This
= impl_from_IWMPPlayer4(iface
);
87 FIXME("(%p)->(%s %p %u %d %p)\n", This
, debugstr_guid(riid
), rgszNames
, cNames
, lcid
, rgDispId
);
91 static HRESULT WINAPI
WMPPlayer4_Invoke(IWMPPlayer4
*iface
, DISPID dispIdMember
,
92 REFIID riid
, LCID lcid
, WORD wFlags
, DISPPARAMS
*pDispParams
, VARIANT
*pVarResult
,
93 EXCEPINFO
*pExcepInfo
, UINT
*puArgErr
)
95 WindowsMediaPlayer
*This
= impl_from_IWMPPlayer4(iface
);
96 FIXME("(%p)->(%d %s %d %x %p %p %p %p)\n", This
, dispIdMember
, debugstr_guid(riid
), lcid
,
97 wFlags
, pDispParams
, pVarResult
, pExcepInfo
, puArgErr
);
101 static HRESULT WINAPI
WMPPlayer4_close(IWMPPlayer4
*iface
)
103 WindowsMediaPlayer
*This
= impl_from_IWMPPlayer4(iface
);
104 FIXME("(%p)\n", This
);
108 static HRESULT WINAPI
WMPPlayer4_get_URL(IWMPPlayer4
*iface
, BSTR
*pbstrURL
)
110 WindowsMediaPlayer
*This
= impl_from_IWMPPlayer4(iface
);
111 TRACE("(%p)->(%p)\n", This
, pbstrURL
);
112 if(This
->wmpmedia
== NULL
) {
115 return IWMPMedia_get_sourceURL(This
->wmpmedia
, pbstrURL
);
118 static HRESULT WINAPI
WMPPlayer4_put_URL(IWMPPlayer4
*iface
, BSTR url
)
120 WindowsMediaPlayer
*This
= impl_from_IWMPPlayer4(iface
);
122 TRACE("(%p)->(%s)\n", This
, debugstr_w(url
));
126 media
= create_media_from_url(url
);
127 return IWMPPlayer4_put_currentMedia(iface
, media
);
130 static HRESULT WINAPI
WMPPlayer4_get_openState(IWMPPlayer4
*iface
, WMPOpenState
*pwmpos
)
132 WindowsMediaPlayer
*This
= impl_from_IWMPPlayer4(iface
);
133 FIXME("(%p)->(%p)\n", This
, pwmpos
);
137 static HRESULT WINAPI
WMPPlayer4_get_playState(IWMPPlayer4
*iface
, WMPPlayState
*pwmpps
)
139 WindowsMediaPlayer
*This
= impl_from_IWMPPlayer4(iface
);
140 FIXME("(%p)->(%p)\n", This
, pwmpps
);
144 static HRESULT WINAPI
WMPPlayer4_get_controls(IWMPPlayer4
*iface
, IWMPControls
**ppControl
)
146 WindowsMediaPlayer
*This
= impl_from_IWMPPlayer4(iface
);
148 TRACE("(%p)->(%p)\n", This
, ppControl
);
150 IWMPControls_AddRef(&This
->IWMPControls_iface
);
151 *ppControl
= &This
->IWMPControls_iface
;
155 static HRESULT WINAPI
WMPPlayer4_get_settings(IWMPPlayer4
*iface
, IWMPSettings
**ppSettings
)
157 WindowsMediaPlayer
*This
= impl_from_IWMPPlayer4(iface
);
159 TRACE("(%p)->(%p)\n", This
, ppSettings
);
161 IWMPSettings_AddRef(&This
->IWMPSettings_iface
);
162 *ppSettings
= &This
->IWMPSettings_iface
;
166 static HRESULT WINAPI
WMPPlayer4_get_currentMedia(IWMPPlayer4
*iface
, IWMPMedia
**ppMedia
)
168 WindowsMediaPlayer
*This
= impl_from_IWMPPlayer4(iface
);
169 TRACE("(%p)->(%p)\n", This
, ppMedia
);
170 if(This
->wmpmedia
== NULL
) {
173 IWMPMedia_AddRef(This
->wmpmedia
);
174 *ppMedia
= This
->wmpmedia
;
178 static HRESULT WINAPI
WMPPlayer4_put_currentMedia(IWMPPlayer4
*iface
, IWMPMedia
*pMedia
)
180 WindowsMediaPlayer
*This
= impl_from_IWMPPlayer4(iface
);
181 TRACE("(%p)->(%p)\n", This
, pMedia
);
185 if(This
->wmpmedia
!= NULL
) {
186 IWMPMedia_Release(This
->wmpmedia
);
188 This
->wmpmedia
= pMedia
;
189 IWMPMedia_AddRef(This
->wmpmedia
);
193 static HRESULT WINAPI
WMPPlayer4_get_mediaCollection(IWMPPlayer4
*iface
, IWMPMediaCollection
**ppMediaCollection
)
195 WindowsMediaPlayer
*This
= impl_from_IWMPPlayer4(iface
);
196 FIXME("(%p)->(%p)\n", This
, ppMediaCollection
);
200 static HRESULT WINAPI
WMPPlayer4_get_playlistCollection(IWMPPlayer4
*iface
, IWMPPlaylistCollection
**ppPlaylistCollection
)
202 WindowsMediaPlayer
*This
= impl_from_IWMPPlayer4(iface
);
203 FIXME("(%p)->(%p)\n", This
, ppPlaylistCollection
);
207 static HRESULT WINAPI
WMPPlayer4_get_versionInfo(IWMPPlayer4
*iface
, BSTR
*version
)
209 static const WCHAR versionW
[] = {'1','2','.','0','.','7','6','0','1','.','1','6','9','8','2',0};
210 WindowsMediaPlayer
*This
= impl_from_IWMPPlayer4(iface
);
212 TRACE("(%p)->(%p)\n", This
, version
);
217 *version
= SysAllocString(versionW
);
218 return *version
? S_OK
: E_OUTOFMEMORY
;
221 static HRESULT WINAPI
WMPPlayer4_launchURL(IWMPPlayer4
*iface
, BSTR url
)
223 WindowsMediaPlayer
*This
= impl_from_IWMPPlayer4(iface
);
224 FIXME("(%p)->(%s)\n", This
, debugstr_w(url
));
228 static HRESULT WINAPI
WMPPlayer4_get_network(IWMPPlayer4
*iface
, IWMPNetwork
**ppQNI
)
230 WindowsMediaPlayer
*This
= impl_from_IWMPPlayer4(iface
);
231 TRACE("(%p)->(%p)\n", This
, ppQNI
);
233 IWMPNetwork_AddRef(&This
->IWMPNetwork_iface
);
234 *ppQNI
= &This
->IWMPNetwork_iface
;
238 static HRESULT WINAPI
WMPPlayer4_get_currentPlaylist(IWMPPlayer4
*iface
, IWMPPlaylist
**ppPL
)
240 WindowsMediaPlayer
*This
= impl_from_IWMPPlayer4(iface
);
241 FIXME("(%p)->(%p)\n", This
, ppPL
);
245 static HRESULT WINAPI
WMPPlayer4_put_currentPlaylist(IWMPPlayer4
*iface
, IWMPPlaylist
*pPL
)
247 WindowsMediaPlayer
*This
= impl_from_IWMPPlayer4(iface
);
248 FIXME("(%p)->(%p)\n", This
, pPL
);
252 static HRESULT WINAPI
WMPPlayer4_get_cdromCollection(IWMPPlayer4
*iface
, IWMPCdromCollection
**ppCdromCollection
)
254 WindowsMediaPlayer
*This
= impl_from_IWMPPlayer4(iface
);
255 FIXME("(%p)->(%p)\n", This
, ppCdromCollection
);
259 static HRESULT WINAPI
WMPPlayer4_get_closedCaption(IWMPPlayer4
*iface
, IWMPClosedCaption
**ppClosedCaption
)
261 WindowsMediaPlayer
*This
= impl_from_IWMPPlayer4(iface
);
262 FIXME("(%p)->(%p)\n", This
, ppClosedCaption
);
266 static HRESULT WINAPI
WMPPlayer4_get_isOnline(IWMPPlayer4
*iface
, VARIANT_BOOL
*pfOnline
)
268 WindowsMediaPlayer
*This
= impl_from_IWMPPlayer4(iface
);
269 FIXME("(%p)->(%p)\n", This
, pfOnline
);
273 static HRESULT WINAPI
WMPPlayer4_get_Error(IWMPPlayer4
*iface
, IWMPError
**ppError
)
275 WindowsMediaPlayer
*This
= impl_from_IWMPPlayer4(iface
);
276 FIXME("(%p)->(%p)\n", This
, ppError
);
280 static HRESULT WINAPI
WMPPlayer4_get_Status(IWMPPlayer4
*iface
, BSTR
*pbstrStatus
)
282 WindowsMediaPlayer
*This
= impl_from_IWMPPlayer4(iface
);
283 FIXME("(%p)->(%p)\n", This
, pbstrStatus
);
287 static HRESULT WINAPI
WMPPlayer4_get_dvd(IWMPPlayer4
*iface
, IWMPDVD
**ppDVD
)
289 WindowsMediaPlayer
*This
= impl_from_IWMPPlayer4(iface
);
290 FIXME("(%p)->(%p)\n", This
, ppDVD
);
294 static HRESULT WINAPI
WMPPlayer4_newPlaylist(IWMPPlayer4
*iface
, BSTR name
, BSTR url
, IWMPPlaylist
**ppPlaylist
)
296 WindowsMediaPlayer
*This
= impl_from_IWMPPlayer4(iface
);
297 FIXME("(%p)->(%s %s %p)\n", This
, debugstr_w(name
), debugstr_w(url
), ppPlaylist
);
301 static HRESULT WINAPI
WMPPlayer4_newMedia(IWMPPlayer4
*iface
, BSTR url
, IWMPMedia
**ppMedia
)
303 WindowsMediaPlayer
*This
= impl_from_IWMPPlayer4(iface
);
304 FIXME("(%p)->(%p)\n", This
, ppMedia
);
308 static HRESULT WINAPI
WMPPlayer4_get_enabled(IWMPPlayer4
*iface
, VARIANT_BOOL
*pbEnabled
)
310 WindowsMediaPlayer
*This
= impl_from_IWMPPlayer4(iface
);
311 FIXME("(%p)->(%p)\n", This
, pbEnabled
);
315 static HRESULT WINAPI
WMPPlayer4_put_enabled(IWMPPlayer4
*iface
, VARIANT_BOOL enabled
)
317 WindowsMediaPlayer
*This
= impl_from_IWMPPlayer4(iface
);
318 FIXME("(%p)->(%x)\n", This
, enabled
);
322 static HRESULT WINAPI
WMPPlayer4_get_fullScreen(IWMPPlayer4
*iface
, VARIANT_BOOL
*pbFullScreen
)
324 WindowsMediaPlayer
*This
= impl_from_IWMPPlayer4(iface
);
325 FIXME("(%p)->(%p)\n", This
, pbFullScreen
);
329 static HRESULT WINAPI
WMPPlayer4_put_fullScreen(IWMPPlayer4
*iface
, VARIANT_BOOL fullscreen
)
331 WindowsMediaPlayer
*This
= impl_from_IWMPPlayer4(iface
);
332 FIXME("(%p)->(%x)\n", This
, fullscreen
);
336 static HRESULT WINAPI
WMPPlayer4_get_enableContextMenu(IWMPPlayer4
*iface
, VARIANT_BOOL
*pbEnableContextMenu
)
338 WindowsMediaPlayer
*This
= impl_from_IWMPPlayer4(iface
);
339 FIXME("(%p)->(%p)\n", This
, pbEnableContextMenu
);
343 static HRESULT WINAPI
WMPPlayer4_put_enableContextMenu(IWMPPlayer4
*iface
, VARIANT_BOOL enable
)
345 WindowsMediaPlayer
*This
= impl_from_IWMPPlayer4(iface
);
346 FIXME("(%p)->(%x)\n", This
, enable
);
350 static HRESULT WINAPI
WMPPlayer4_put_uiMode(IWMPPlayer4
*iface
, BSTR mode
)
352 WindowsMediaPlayer
*This
= impl_from_IWMPPlayer4(iface
);
353 FIXME("(%p)->(%s)\n", This
, debugstr_w(mode
));
357 static HRESULT WINAPI
WMPPlayer4_get_uiMode(IWMPPlayer4
*iface
, BSTR
*pbstrMode
)
359 WindowsMediaPlayer
*This
= impl_from_IWMPPlayer4(iface
);
360 FIXME("(%p)->(%p)\n", This
, pbstrMode
);
364 static HRESULT WINAPI
WMPPlayer4_get_stretchToFit(IWMPPlayer4
*iface
, VARIANT_BOOL
*enabled
)
366 WindowsMediaPlayer
*This
= impl_from_IWMPPlayer4(iface
);
367 FIXME("(%p)->(%p)\n", This
, enabled
);
371 static HRESULT WINAPI
WMPPlayer4_put_stretchToFit(IWMPPlayer4
*iface
, VARIANT_BOOL enabled
)
373 WindowsMediaPlayer
*This
= impl_from_IWMPPlayer4(iface
);
374 FIXME("(%p)->(%x)\n", This
, enabled
);
378 static HRESULT WINAPI
WMPPlayer4_get_windowlessVideo(IWMPPlayer4
*iface
, VARIANT_BOOL
*enabled
)
380 WindowsMediaPlayer
*This
= impl_from_IWMPPlayer4(iface
);
381 FIXME("(%p)->(%p)\n", This
, enabled
);
385 static HRESULT WINAPI
WMPPlayer4_put_windowlessVideo(IWMPPlayer4
*iface
, VARIANT_BOOL enabled
)
387 WindowsMediaPlayer
*This
= impl_from_IWMPPlayer4(iface
);
388 FIXME("(%p)->(%x)\n", This
, enabled
);
392 static HRESULT WINAPI
WMPPlayer4_get_isRemote(IWMPPlayer4
*iface
, VARIANT_BOOL
*pvarfIsRemote
)
394 WindowsMediaPlayer
*This
= impl_from_IWMPPlayer4(iface
);
395 FIXME("(%p)->(%p)\n", This
, pvarfIsRemote
);
399 static HRESULT WINAPI
WMPPlayer4_get_playerApplication(IWMPPlayer4
*iface
, IWMPPlayerApplication
**ppIWMPPlayerApplication
)
401 WindowsMediaPlayer
*This
= impl_from_IWMPPlayer4(iface
);
402 FIXME("(%p)->(%p)\n", This
, ppIWMPPlayerApplication
);
406 static HRESULT WINAPI
WMPPlayer4_openPlayer(IWMPPlayer4
*iface
, BSTR url
)
408 WindowsMediaPlayer
*This
= impl_from_IWMPPlayer4(iface
);
409 FIXME("(%p)->(%s)\n", This
, debugstr_w(url
));
413 static HRESULT WINAPI
WMPPlayer_QueryInterface(IWMPPlayer
*iface
, REFIID riid
, void **ppv
)
415 WindowsMediaPlayer
*This
= impl_from_IWMPPlayer(iface
);
416 return WMPPlayer4_QueryInterface(&This
->IWMPPlayer4_iface
, riid
, ppv
);
419 static ULONG WINAPI
WMPPlayer_AddRef(IWMPPlayer
*iface
)
421 WindowsMediaPlayer
*This
= impl_from_IWMPPlayer(iface
);
422 return WMPPlayer4_AddRef(&This
->IWMPPlayer4_iface
);
425 static ULONG WINAPI
WMPPlayer_Release(IWMPPlayer
*iface
)
427 WindowsMediaPlayer
*This
= impl_from_IWMPPlayer(iface
);
428 return WMPPlayer4_Release(&This
->IWMPPlayer4_iface
);
431 static HRESULT WINAPI
WMPPlayer_GetTypeInfoCount(IWMPPlayer
*iface
, UINT
*pctinfo
)
433 WindowsMediaPlayer
*This
= impl_from_IWMPPlayer(iface
);
434 return WMPPlayer4_GetTypeInfoCount(&This
->IWMPPlayer4_iface
, pctinfo
);
437 static HRESULT WINAPI
WMPPlayer_GetTypeInfo(IWMPPlayer
*iface
, UINT iTInfo
,
438 LCID lcid
, ITypeInfo
**ppTInfo
)
440 WindowsMediaPlayer
*This
= impl_from_IWMPPlayer(iface
);
442 return WMPPlayer4_GetTypeInfo(&This
->IWMPPlayer4_iface
, iTInfo
,
446 static HRESULT WINAPI
WMPPlayer_GetIDsOfNames(IWMPPlayer
*iface
, REFIID riid
,
447 LPOLESTR
*rgszNames
, UINT cNames
, LCID lcid
, DISPID
*rgDispId
)
449 WindowsMediaPlayer
*This
= impl_from_IWMPPlayer(iface
);
450 return WMPPlayer4_GetIDsOfNames(&This
->IWMPPlayer4_iface
, riid
,
451 rgszNames
, cNames
, lcid
, rgDispId
);
454 static HRESULT WINAPI
WMPPlayer_Invoke(IWMPPlayer
*iface
, DISPID dispIdMember
,
455 REFIID riid
, LCID lcid
, WORD wFlags
, DISPPARAMS
*pDispParams
, VARIANT
*pVarResult
,
456 EXCEPINFO
*pExcepInfo
, UINT
*puArgErr
)
458 WindowsMediaPlayer
*This
= impl_from_IWMPPlayer(iface
);
459 return WMPPlayer4_Invoke(&This
->IWMPPlayer4_iface
, dispIdMember
,
460 riid
, lcid
, wFlags
, pDispParams
, pVarResult
,
461 pExcepInfo
, puArgErr
);
464 static HRESULT WINAPI
WMPPlayer_close(IWMPPlayer
*iface
)
466 WindowsMediaPlayer
*This
= impl_from_IWMPPlayer(iface
);
467 return WMPPlayer4_close(&This
->IWMPPlayer4_iface
);
470 static HRESULT WINAPI
WMPPlayer_get_URL(IWMPPlayer
*iface
, BSTR
*pbstrURL
)
472 WindowsMediaPlayer
*This
= impl_from_IWMPPlayer(iface
);
473 return WMPPlayer4_get_URL(&This
->IWMPPlayer4_iface
, pbstrURL
);
476 static HRESULT WINAPI
WMPPlayer_put_URL(IWMPPlayer
*iface
, BSTR url
)
478 WindowsMediaPlayer
*This
= impl_from_IWMPPlayer(iface
);
479 return WMPPlayer4_put_URL(&This
->IWMPPlayer4_iface
, url
);
482 static HRESULT WINAPI
WMPPlayer_get_openState(IWMPPlayer
*iface
, WMPOpenState
*pwmpos
)
484 WindowsMediaPlayer
*This
= impl_from_IWMPPlayer(iface
);
485 return WMPPlayer4_get_openState(&This
->IWMPPlayer4_iface
, pwmpos
);
488 static HRESULT WINAPI
WMPPlayer_get_playState(IWMPPlayer
*iface
, WMPPlayState
*pwmpps
)
490 WindowsMediaPlayer
*This
= impl_from_IWMPPlayer(iface
);
491 return WMPPlayer4_get_playState(&This
->IWMPPlayer4_iface
, pwmpps
);
494 static HRESULT WINAPI
WMPPlayer_get_controls(IWMPPlayer
*iface
, IWMPControls
**ppControl
)
496 WindowsMediaPlayer
*This
= impl_from_IWMPPlayer(iface
);
497 return WMPPlayer4_get_controls(&This
->IWMPPlayer4_iface
, ppControl
);
500 static HRESULT WINAPI
WMPPlayer_get_settings(IWMPPlayer
*iface
, IWMPSettings
**ppSettings
)
502 WindowsMediaPlayer
*This
= impl_from_IWMPPlayer(iface
);
503 return WMPPlayer4_get_settings(&This
->IWMPPlayer4_iface
, ppSettings
);
506 static HRESULT WINAPI
WMPPlayer_get_currentMedia(IWMPPlayer
*iface
, IWMPMedia
**ppMedia
)
508 WindowsMediaPlayer
*This
= impl_from_IWMPPlayer(iface
);
509 return WMPPlayer4_get_currentMedia(&This
->IWMPPlayer4_iface
, ppMedia
);
512 static HRESULT WINAPI
WMPPlayer_put_currentMedia(IWMPPlayer
*iface
, IWMPMedia
*pMedia
)
514 WindowsMediaPlayer
*This
= impl_from_IWMPPlayer(iface
);
515 return WMPPlayer4_put_currentMedia(&This
->IWMPPlayer4_iface
, pMedia
);
518 static HRESULT WINAPI
WMPPlayer_get_mediaCollection(IWMPPlayer
*iface
, IWMPMediaCollection
**ppMediaCollection
)
520 WindowsMediaPlayer
*This
= impl_from_IWMPPlayer(iface
);
521 return WMPPlayer4_get_mediaCollection(&This
->IWMPPlayer4_iface
, ppMediaCollection
);
524 static HRESULT WINAPI
WMPPlayer_get_playlistCollection(IWMPPlayer
*iface
, IWMPPlaylistCollection
**ppPlaylistCollection
)
526 WindowsMediaPlayer
*This
= impl_from_IWMPPlayer(iface
);
527 return WMPPlayer4_get_playlistCollection(&This
->IWMPPlayer4_iface
, ppPlaylistCollection
);
530 static HRESULT WINAPI
WMPPlayer_get_versionInfo(IWMPPlayer
*iface
, BSTR
*version
)
532 WindowsMediaPlayer
*This
= impl_from_IWMPPlayer(iface
);
533 return WMPPlayer4_get_versionInfo(&This
->IWMPPlayer4_iface
, version
);
536 static HRESULT WINAPI
WMPPlayer_launchURL(IWMPPlayer
*iface
, BSTR url
)
538 WindowsMediaPlayer
*This
= impl_from_IWMPPlayer(iface
);
539 return WMPPlayer4_launchURL(&This
->IWMPPlayer4_iface
, url
);
542 static HRESULT WINAPI
WMPPlayer_get_network(IWMPPlayer
*iface
, IWMPNetwork
**ppQNI
)
544 WindowsMediaPlayer
*This
= impl_from_IWMPPlayer(iface
);
545 return WMPPlayer4_get_network(&This
->IWMPPlayer4_iface
, ppQNI
);
548 static HRESULT WINAPI
WMPPlayer_get_currentPlaylist(IWMPPlayer
*iface
, IWMPPlaylist
**ppPL
)
550 WindowsMediaPlayer
*This
= impl_from_IWMPPlayer(iface
);
551 return WMPPlayer4_get_currentPlaylist(&This
->IWMPPlayer4_iface
, ppPL
);
554 static HRESULT WINAPI
WMPPlayer_put_currentPlaylist(IWMPPlayer
*iface
, IWMPPlaylist
*pPL
)
556 WindowsMediaPlayer
*This
= impl_from_IWMPPlayer(iface
);
557 return WMPPlayer4_put_currentPlaylist(&This
->IWMPPlayer4_iface
, pPL
);
560 static HRESULT WINAPI
WMPPlayer_get_cdromCollection(IWMPPlayer
*iface
, IWMPCdromCollection
**ppCdromCollection
)
562 WindowsMediaPlayer
*This
= impl_from_IWMPPlayer(iface
);
563 return WMPPlayer4_get_cdromCollection(&This
->IWMPPlayer4_iface
, ppCdromCollection
);
566 static HRESULT WINAPI
WMPPlayer_get_closedCaption(IWMPPlayer
*iface
, IWMPClosedCaption
**ppClosedCaption
)
568 WindowsMediaPlayer
*This
= impl_from_IWMPPlayer(iface
);
569 return WMPPlayer4_get_closedCaption(&This
->IWMPPlayer4_iface
, ppClosedCaption
);
572 static HRESULT WINAPI
WMPPlayer_get_isOnline(IWMPPlayer
*iface
, VARIANT_BOOL
*pfOnline
)
574 WindowsMediaPlayer
*This
= impl_from_IWMPPlayer(iface
);
575 return WMPPlayer4_get_isOnline(&This
->IWMPPlayer4_iface
, pfOnline
);
578 static HRESULT WINAPI
WMPPlayer_get_Error(IWMPPlayer
*iface
, IWMPError
**ppError
)
580 WindowsMediaPlayer
*This
= impl_from_IWMPPlayer(iface
);
581 return WMPPlayer4_get_Error(&This
->IWMPPlayer4_iface
, ppError
);
584 static HRESULT WINAPI
WMPPlayer_get_Status(IWMPPlayer
*iface
, BSTR
*pbstrStatus
)
586 WindowsMediaPlayer
*This
= impl_from_IWMPPlayer(iface
);
587 return WMPPlayer4_get_Status(&This
->IWMPPlayer4_iface
, pbstrStatus
);
590 static HRESULT WINAPI
WMPPlayer_get_enabled(IWMPPlayer
*iface
, VARIANT_BOOL
*pbEnabled
)
592 WindowsMediaPlayer
*This
= impl_from_IWMPPlayer(iface
);
593 return WMPPlayer4_get_enabled(&This
->IWMPPlayer4_iface
, pbEnabled
);
596 static HRESULT WINAPI
WMPPlayer_put_enabled(IWMPPlayer
*iface
, VARIANT_BOOL enabled
)
598 WindowsMediaPlayer
*This
= impl_from_IWMPPlayer(iface
);
599 return WMPPlayer4_put_enabled(&This
->IWMPPlayer4_iface
, enabled
);
602 static HRESULT WINAPI
WMPPlayer_get_fullScreen(IWMPPlayer
*iface
, VARIANT_BOOL
*pbFullScreen
)
604 WindowsMediaPlayer
*This
= impl_from_IWMPPlayer(iface
);
605 return WMPPlayer4_get_fullScreen(&This
->IWMPPlayer4_iface
, pbFullScreen
);
608 static HRESULT WINAPI
WMPPlayer_put_fullScreen(IWMPPlayer
*iface
, VARIANT_BOOL fullscreen
)
610 WindowsMediaPlayer
*This
= impl_from_IWMPPlayer(iface
);
611 return WMPPlayer4_put_fullScreen(&This
->IWMPPlayer4_iface
, fullscreen
);
614 static HRESULT WINAPI
WMPPlayer_get_enableContextMenu(IWMPPlayer
*iface
, VARIANT_BOOL
*pbEnableContextMenu
)
616 WindowsMediaPlayer
*This
= impl_from_IWMPPlayer(iface
);
617 return WMPPlayer4_get_enableContextMenu(&This
->IWMPPlayer4_iface
, pbEnableContextMenu
);
620 static HRESULT WINAPI
WMPPlayer_put_enableContextMenu(IWMPPlayer
*iface
, VARIANT_BOOL enable
)
622 WindowsMediaPlayer
*This
= impl_from_IWMPPlayer(iface
);
623 return WMPPlayer4_put_enableContextMenu(&This
->IWMPPlayer4_iface
, enable
);
626 static HRESULT WINAPI
WMPPlayer_put_uiMode(IWMPPlayer
*iface
, BSTR mode
)
628 WindowsMediaPlayer
*This
= impl_from_IWMPPlayer(iface
);
629 return WMPPlayer4_put_uiMode(&This
->IWMPPlayer4_iface
, mode
);
632 static HRESULT WINAPI
WMPPlayer_get_uiMode(IWMPPlayer
*iface
, BSTR
*pbstrMode
)
634 WindowsMediaPlayer
*This
= impl_from_IWMPPlayer(iface
);
635 return WMPPlayer4_get_uiMode(&This
->IWMPPlayer4_iface
, pbstrMode
);
638 static IWMPPlayerVtbl WMPPlayerVtbl
= {
639 WMPPlayer_QueryInterface
,
642 WMPPlayer_GetTypeInfoCount
,
643 WMPPlayer_GetTypeInfo
,
644 WMPPlayer_GetIDsOfNames
,
649 WMPPlayer_get_openState
,
650 WMPPlayer_get_playState
,
651 WMPPlayer_get_controls
,
652 WMPPlayer_get_settings
,
653 WMPPlayer_get_currentMedia
,
654 WMPPlayer_put_currentMedia
,
655 WMPPlayer_get_mediaCollection
,
656 WMPPlayer_get_playlistCollection
,
657 WMPPlayer_get_versionInfo
,
659 WMPPlayer_get_network
,
660 WMPPlayer_get_currentPlaylist
,
661 WMPPlayer_put_currentPlaylist
,
662 WMPPlayer_get_cdromCollection
,
663 WMPPlayer_get_closedCaption
,
664 WMPPlayer_get_isOnline
,
666 WMPPlayer_get_Status
,
667 WMPPlayer_get_enabled
,
668 WMPPlayer_put_enabled
,
669 WMPPlayer_get_fullScreen
,
670 WMPPlayer_put_fullScreen
,
671 WMPPlayer_get_enableContextMenu
,
672 WMPPlayer_put_enableContextMenu
,
673 WMPPlayer_put_uiMode
,
674 WMPPlayer_get_uiMode
,
678 static IWMPPlayer4Vtbl WMPPlayer4Vtbl
= {
679 WMPPlayer4_QueryInterface
,
682 WMPPlayer4_GetTypeInfoCount
,
683 WMPPlayer4_GetTypeInfo
,
684 WMPPlayer4_GetIDsOfNames
,
689 WMPPlayer4_get_openState
,
690 WMPPlayer4_get_playState
,
691 WMPPlayer4_get_controls
,
692 WMPPlayer4_get_settings
,
693 WMPPlayer4_get_currentMedia
,
694 WMPPlayer4_put_currentMedia
,
695 WMPPlayer4_get_mediaCollection
,
696 WMPPlayer4_get_playlistCollection
,
697 WMPPlayer4_get_versionInfo
,
698 WMPPlayer4_launchURL
,
699 WMPPlayer4_get_network
,
700 WMPPlayer4_get_currentPlaylist
,
701 WMPPlayer4_put_currentPlaylist
,
702 WMPPlayer4_get_cdromCollection
,
703 WMPPlayer4_get_closedCaption
,
704 WMPPlayer4_get_isOnline
,
705 WMPPlayer4_get_Error
,
706 WMPPlayer4_get_Status
,
708 WMPPlayer4_newPlaylist
,
710 WMPPlayer4_get_enabled
,
711 WMPPlayer4_put_enabled
,
712 WMPPlayer4_get_fullScreen
,
713 WMPPlayer4_put_fullScreen
,
714 WMPPlayer4_get_enableContextMenu
,
715 WMPPlayer4_put_enableContextMenu
,
716 WMPPlayer4_put_uiMode
,
717 WMPPlayer4_get_uiMode
,
718 WMPPlayer4_get_stretchToFit
,
719 WMPPlayer4_put_stretchToFit
,
720 WMPPlayer4_get_windowlessVideo
,
721 WMPPlayer4_put_windowlessVideo
,
722 WMPPlayer4_get_isRemote
,
723 WMPPlayer4_get_playerApplication
,
724 WMPPlayer4_openPlayer
727 static inline WindowsMediaPlayer
*impl_from_IWMPSettings(IWMPSettings
*iface
)
729 return CONTAINING_RECORD(iface
, WindowsMediaPlayer
, IWMPSettings_iface
);
732 static HRESULT WINAPI
WMPSettings_QueryInterface(IWMPSettings
*iface
, REFIID riid
, void **ppv
)
734 WindowsMediaPlayer
*This
= impl_from_IWMPSettings(iface
);
735 return IOleObject_QueryInterface(&This
->IOleObject_iface
, riid
, ppv
);
738 static ULONG WINAPI
WMPSettings_AddRef(IWMPSettings
*iface
)
740 WindowsMediaPlayer
*This
= impl_from_IWMPSettings(iface
);
741 return IOleObject_AddRef(&This
->IOleObject_iface
);
744 static ULONG WINAPI
WMPSettings_Release(IWMPSettings
*iface
)
746 WindowsMediaPlayer
*This
= impl_from_IWMPSettings(iface
);
747 return IOleObject_Release(&This
->IOleObject_iface
);
750 static HRESULT WINAPI
WMPSettings_GetTypeInfoCount(IWMPSettings
*iface
, UINT
*pctinfo
)
752 WindowsMediaPlayer
*This
= impl_from_IWMPSettings(iface
);
753 FIXME("(%p)->(%p)\n", This
, pctinfo
);
757 static HRESULT WINAPI
WMPSettings_GetTypeInfo(IWMPSettings
*iface
, UINT iTInfo
,
758 LCID lcid
, ITypeInfo
**ppTInfo
)
760 WindowsMediaPlayer
*This
= impl_from_IWMPSettings(iface
);
761 FIXME("(%p)->(%u %d %p)\n", This
, iTInfo
, lcid
, ppTInfo
);
765 static HRESULT WINAPI
WMPSettings_GetIDsOfNames(IWMPSettings
*iface
, REFIID riid
,
766 LPOLESTR
*rgszNames
, UINT cNames
, LCID lcid
, DISPID
*rgDispId
)
768 WindowsMediaPlayer
*This
= impl_from_IWMPSettings(iface
);
769 FIXME("(%p)->(%s %p %u %d %p)\n", This
, debugstr_guid(riid
), rgszNames
, cNames
, lcid
, rgDispId
);
773 static HRESULT WINAPI
WMPSettings_Invoke(IWMPSettings
*iface
, DISPID dispIdMember
,
774 REFIID riid
, LCID lcid
, WORD wFlags
, DISPPARAMS
*pDispParams
, VARIANT
*pVarResult
,
775 EXCEPINFO
*pExcepInfo
, UINT
*puArgErr
)
777 WindowsMediaPlayer
*This
= impl_from_IWMPSettings(iface
);
778 FIXME("(%p)->(%d %s %d %x %p %p %p %p)\n", This
, dispIdMember
, debugstr_guid(riid
), lcid
,
779 wFlags
, pDispParams
, pVarResult
, pExcepInfo
, puArgErr
);
783 static HRESULT WINAPI
WMPSettings_get_isAvailable(IWMPSettings
*iface
, BSTR item
, VARIANT_BOOL
*p
)
785 WindowsMediaPlayer
*This
= impl_from_IWMPSettings(iface
);
786 FIXME("(%p)->(%s %p)\n", This
, debugstr_w(item
), p
);
790 static HRESULT WINAPI
WMPSettings_get_autoStart(IWMPSettings
*iface
, VARIANT_BOOL
*p
)
792 WindowsMediaPlayer
*This
= impl_from_IWMPSettings(iface
);
793 TRACE("(%p)->(%p)\n", This
, p
);
796 *p
= This
->auto_start
;
800 static HRESULT WINAPI
WMPSettings_put_autoStart(IWMPSettings
*iface
, VARIANT_BOOL v
)
802 WindowsMediaPlayer
*This
= impl_from_IWMPSettings(iface
);
803 TRACE("(%p)->(%x)\n", This
, v
);
804 This
->auto_start
= v
;
808 static HRESULT WINAPI
WMPSettings_get_baseURL(IWMPSettings
*iface
, BSTR
*p
)
810 WindowsMediaPlayer
*This
= impl_from_IWMPSettings(iface
);
811 FIXME("(%p)->(%p)\n", This
, p
);
815 static HRESULT WINAPI
WMPSettings_put_baseURL(IWMPSettings
*iface
, BSTR v
)
817 WindowsMediaPlayer
*This
= impl_from_IWMPSettings(iface
);
818 FIXME("(%p)->(%s)\n", This
, debugstr_w(v
));
822 static HRESULT WINAPI
WMPSettings_get_defaultFrame(IWMPSettings
*iface
, BSTR
*p
)
824 WindowsMediaPlayer
*This
= impl_from_IWMPSettings(iface
);
825 FIXME("(%p)->(%p)\n", This
, p
);
829 static HRESULT WINAPI
WMPSettings_put_defaultFrame(IWMPSettings
*iface
, BSTR v
)
831 WindowsMediaPlayer
*This
= impl_from_IWMPSettings(iface
);
832 FIXME("(%p)->(%s)\n", This
, debugstr_w(v
));
836 static HRESULT WINAPI
WMPSettings_get_invokeURLs(IWMPSettings
*iface
, VARIANT_BOOL
*p
)
838 WindowsMediaPlayer
*This
= impl_from_IWMPSettings(iface
);
840 TRACE("(%p)->(%p)\n", This
, p
);
844 *p
= This
->invoke_urls
;
848 static HRESULT WINAPI
WMPSettings_put_invokeURLs(IWMPSettings
*iface
, VARIANT_BOOL v
)
850 WindowsMediaPlayer
*This
= impl_from_IWMPSettings(iface
);
851 /* Leaving as FIXME as we don't currently use this */
852 FIXME("(%p)->(%x)\n", This
, v
);
853 This
->invoke_urls
= v
;
857 static HRESULT WINAPI
WMPSettings_get_mute(IWMPSettings
*iface
, VARIANT_BOOL
*p
)
859 WindowsMediaPlayer
*This
= impl_from_IWMPSettings(iface
);
860 FIXME("(%p)->(%p)\n", This
, p
);
864 static HRESULT WINAPI
WMPSettings_put_mute(IWMPSettings
*iface
, VARIANT_BOOL v
)
866 WindowsMediaPlayer
*This
= impl_from_IWMPSettings(iface
);
867 FIXME("(%p)->(%x)\n", This
, v
);
871 static HRESULT WINAPI
WMPSettings_get_playCount(IWMPSettings
*iface
, LONG
*p
)
873 WindowsMediaPlayer
*This
= impl_from_IWMPSettings(iface
);
874 FIXME("(%p)->(%p)\n", This
, p
);
878 static HRESULT WINAPI
WMPSettings_put_playCount(IWMPSettings
*iface
, LONG v
)
880 WindowsMediaPlayer
*This
= impl_from_IWMPSettings(iface
);
881 FIXME("(%p)->(%d)\n", This
, v
);
885 static HRESULT WINAPI
WMPSettings_get_rate(IWMPSettings
*iface
, double *p
)
887 WindowsMediaPlayer
*This
= impl_from_IWMPSettings(iface
);
888 FIXME("(%p)->(%p)\n", This
, p
);
892 static HRESULT WINAPI
WMPSettings_put_rate(IWMPSettings
*iface
, double v
)
894 WindowsMediaPlayer
*This
= impl_from_IWMPSettings(iface
);
895 FIXME("(%p)->(%lf)\n", This
, v
);
899 static HRESULT WINAPI
WMPSettings_get_balance(IWMPSettings
*iface
, LONG
*p
)
901 WindowsMediaPlayer
*This
= impl_from_IWMPSettings(iface
);
902 FIXME("(%p)->(%p)\n", This
, p
);
906 static HRESULT WINAPI
WMPSettings_put_balance(IWMPSettings
*iface
, LONG v
)
908 WindowsMediaPlayer
*This
= impl_from_IWMPSettings(iface
);
909 FIXME("(%p)->(%d)\n", This
, v
);
913 static HRESULT WINAPI
WMPSettings_get_volume(IWMPSettings
*iface
, LONG
*p
)
915 WindowsMediaPlayer
*This
= impl_from_IWMPSettings(iface
);
916 FIXME("(%p)->(%p)\n", This
, p
);
920 static HRESULT WINAPI
WMPSettings_put_volume(IWMPSettings
*iface
, LONG v
)
922 WindowsMediaPlayer
*This
= impl_from_IWMPSettings(iface
);
923 FIXME("(%p)->(%d)\n", This
, v
);
927 static HRESULT WINAPI
WMPSettings_getMode(IWMPSettings
*iface
, BSTR mode
, VARIANT_BOOL
*p
)
929 WindowsMediaPlayer
*This
= impl_from_IWMPSettings(iface
);
930 FIXME("(%p)->(%s %p)\n", This
, debugstr_w(mode
), p
);
934 static HRESULT WINAPI
WMPSettings_setMode(IWMPSettings
*iface
, BSTR mode
, VARIANT_BOOL v
)
936 WindowsMediaPlayer
*This
= impl_from_IWMPSettings(iface
);
937 FIXME("(%p)->(%s %x)\n", This
, debugstr_w(mode
), v
);
941 static HRESULT WINAPI
WMPSettings_get_enableErrorDialogs(IWMPSettings
*iface
, VARIANT_BOOL
*p
)
943 WindowsMediaPlayer
*This
= impl_from_IWMPSettings(iface
);
945 TRACE("(%p)->(%p)\n", This
, p
);
949 *p
= This
->enable_error_dialogs
;
953 static HRESULT WINAPI
WMPSettings_put_enableErrorDialogs(IWMPSettings
*iface
, VARIANT_BOOL v
)
955 WindowsMediaPlayer
*This
= impl_from_IWMPSettings(iface
);
956 /* Leaving as FIXME as we don't currently use this */
957 FIXME("(%p)->(%x)\n", This
, v
);
958 This
->enable_error_dialogs
= v
;
962 static const IWMPSettingsVtbl WMPSettingsVtbl
= {
963 WMPSettings_QueryInterface
,
966 WMPSettings_GetTypeInfoCount
,
967 WMPSettings_GetTypeInfo
,
968 WMPSettings_GetIDsOfNames
,
970 WMPSettings_get_isAvailable
,
971 WMPSettings_get_autoStart
,
972 WMPSettings_put_autoStart
,
973 WMPSettings_get_baseURL
,
974 WMPSettings_put_baseURL
,
975 WMPSettings_get_defaultFrame
,
976 WMPSettings_put_defaultFrame
,
977 WMPSettings_get_invokeURLs
,
978 WMPSettings_put_invokeURLs
,
979 WMPSettings_get_mute
,
980 WMPSettings_put_mute
,
981 WMPSettings_get_playCount
,
982 WMPSettings_put_playCount
,
983 WMPSettings_get_rate
,
984 WMPSettings_put_rate
,
985 WMPSettings_get_balance
,
986 WMPSettings_put_balance
,
987 WMPSettings_get_volume
,
988 WMPSettings_put_volume
,
991 WMPSettings_get_enableErrorDialogs
,
992 WMPSettings_put_enableErrorDialogs
995 static HRESULT WINAPI
WMPNetwork_QueryInterface(IWMPNetwork
*iface
, REFIID riid
, void **ppv
)
997 if(IsEqualGUID(riid
, &IID_IDispatch
)) {
999 }else if(IsEqualGUID(riid
, &IID_IWMPNetwork
)) {
1002 WARN("Unsupported interface (%s)\n", wine_dbgstr_guid(riid
));
1004 return E_NOINTERFACE
;
1007 IUnknown_AddRef((IUnknown
*)*ppv
);
1011 static ULONG WINAPI
WMPNetwork_AddRef(IWMPNetwork
*iface
)
1013 WindowsMediaPlayer
*This
= impl_from_IWMPNetwork(iface
);
1014 return IOleObject_AddRef(&This
->IOleObject_iface
);
1017 static ULONG WINAPI
WMPNetwork_Release(IWMPNetwork
*iface
)
1019 WindowsMediaPlayer
*This
= impl_from_IWMPNetwork(iface
);
1020 return IOleObject_Release(&This
->IOleObject_iface
);
1023 static HRESULT WINAPI
WMPNetwork_GetTypeInfoCount(IWMPNetwork
*iface
, UINT
*pctinfo
)
1025 WindowsMediaPlayer
*This
= impl_from_IWMPNetwork(iface
);
1026 FIXME("(%p)->(%p)\n", This
, pctinfo
);
1030 static HRESULT WINAPI
WMPNetwork_GetTypeInfo(IWMPNetwork
*iface
, UINT iTInfo
,
1031 LCID lcid
, ITypeInfo
**ppTInfo
)
1033 WindowsMediaPlayer
*This
= impl_from_IWMPNetwork(iface
);
1034 FIXME("(%p)->(%u %d %p)\n", This
, iTInfo
, lcid
, ppTInfo
);
1038 static HRESULT WINAPI
WMPNetwork_GetIDsOfNames(IWMPNetwork
*iface
, REFIID riid
,
1039 LPOLESTR
*rgszNames
, UINT cNames
, LCID lcid
, DISPID
*rgDispId
)
1041 WindowsMediaPlayer
*This
= impl_from_IWMPNetwork(iface
);
1042 FIXME("(%p)->(%s %p %u %d %p)\n", This
, debugstr_guid(riid
), rgszNames
, cNames
, lcid
, rgDispId
);
1046 static HRESULT WINAPI
WMPNetwork_Invoke(IWMPNetwork
*iface
, DISPID dispIdMember
,
1047 REFIID riid
, LCID lcid
, WORD wFlags
, DISPPARAMS
*pDispParams
, VARIANT
*pVarResult
,
1048 EXCEPINFO
*pExcepInfo
, UINT
*puArgErr
)
1050 WindowsMediaPlayer
*This
= impl_from_IWMPNetwork(iface
);
1051 FIXME("(%p)->(%d %s %d %x %p %p %p %p)\n", This
, dispIdMember
, debugstr_guid(riid
), lcid
,
1052 wFlags
, pDispParams
, pVarResult
, pExcepInfo
, puArgErr
);
1056 static HRESULT WINAPI
WMPNetwork_get_bandWidth(IWMPNetwork
*iface
, LONG
*plBandwidth
)
1058 WindowsMediaPlayer
*This
= impl_from_IWMPNetwork(iface
);
1059 FIXME("(%p)->(%p)\n", This
, plBandwidth
);
1063 static HRESULT WINAPI
WMPNetwork_get_recoveredPackets(IWMPNetwork
*iface
, LONG
*plRecoveredPackets
)
1065 WindowsMediaPlayer
*This
= impl_from_IWMPNetwork(iface
);
1066 FIXME("(%p)->(%p)\n", This
, plRecoveredPackets
);
1070 static HRESULT WINAPI
WMPNetwork_get_sourceProtocol(IWMPNetwork
*iface
, BSTR
*pbstrSourceProtocol
)
1072 WindowsMediaPlayer
*This
= impl_from_IWMPNetwork(iface
);
1073 FIXME("(%p)->(%p)\n", This
, pbstrSourceProtocol
);
1077 static HRESULT WINAPI
WMPNetwork_get_receivedPackets(IWMPNetwork
*iface
, LONG
*plReceivedPackets
)
1079 WindowsMediaPlayer
*This
= impl_from_IWMPNetwork(iface
);
1080 FIXME("(%p)->(%p)\n", This
, plReceivedPackets
);
1084 static HRESULT WINAPI
WMPNetwork_get_lostPackets(IWMPNetwork
*iface
, LONG
*plLostPackets
)
1086 WindowsMediaPlayer
*This
= impl_from_IWMPNetwork(iface
);
1087 FIXME("(%p)->(%p)\n", This
, plLostPackets
);
1091 static HRESULT WINAPI
WMPNetwork_get_receptionQuality(IWMPNetwork
*iface
, LONG
*plReceptionQuality
)
1093 WindowsMediaPlayer
*This
= impl_from_IWMPNetwork(iface
);
1094 FIXME("(%p)->(%p)\n", This
, plReceptionQuality
);
1098 static HRESULT WINAPI
WMPNetwork_get_bufferingCount(IWMPNetwork
*iface
, LONG
*plBufferingCount
)
1100 WindowsMediaPlayer
*This
= impl_from_IWMPNetwork(iface
);
1101 FIXME("(%p)->(%p)\n", This
, plBufferingCount
);
1105 static HRESULT WINAPI
WMPNetwork_get_bufferingProgress(IWMPNetwork
*iface
, LONG
*plBufferingProgress
)
1107 WindowsMediaPlayer
*This
= impl_from_IWMPNetwork(iface
);
1108 FIXME("(%p)->(%p)\n", This
, plBufferingProgress
);
1112 static HRESULT WINAPI
WMPNetwork_get_bufferingTime(IWMPNetwork
*iface
, LONG
*plBufferingTime
)
1114 WindowsMediaPlayer
*This
= impl_from_IWMPNetwork(iface
);
1115 FIXME("(%p)->(%p)\n", This
, plBufferingTime
);
1119 static HRESULT WINAPI
WMPNetwork_put_bufferingTime(IWMPNetwork
*iface
, LONG lBufferingTime
)
1121 WindowsMediaPlayer
*This
= impl_from_IWMPNetwork(iface
);
1122 FIXME("(%p)->(%d)\n", This
, lBufferingTime
);
1126 static HRESULT WINAPI
WMPNetwork_get_frameRate(IWMPNetwork
*iface
, LONG
*plFrameRate
)
1128 WindowsMediaPlayer
*This
= impl_from_IWMPNetwork(iface
);
1129 FIXME("(%p)->(%p)\n", This
, plFrameRate
);
1133 static HRESULT WINAPI
WMPNetwork_get_maxBitRate(IWMPNetwork
*iface
, LONG
*plBitRate
)
1135 WindowsMediaPlayer
*This
= impl_from_IWMPNetwork(iface
);
1136 FIXME("(%p)->(%p)\n", This
, plBitRate
);
1140 static HRESULT WINAPI
WMPNetwork_get_bitRate(IWMPNetwork
*iface
, LONG
*plBitRate
)
1142 WindowsMediaPlayer
*This
= impl_from_IWMPNetwork(iface
);
1143 FIXME("(%p)->(%p)\n", This
, plBitRate
);
1147 static HRESULT WINAPI
WMPNetwork_getProxySettings(IWMPNetwork
*iface
, BSTR bstrProtocol
, LONG
*plProxySetting
)
1149 WindowsMediaPlayer
*This
= impl_from_IWMPNetwork(iface
);
1150 FIXME("(%p)->(%s, %p)\n", This
, debugstr_w(bstrProtocol
), plProxySetting
);
1154 static HRESULT WINAPI
WMPNetwork_setProxySettings(IWMPNetwork
*iface
, BSTR bstrProtocol
, LONG lProxySetting
)
1156 WindowsMediaPlayer
*This
= impl_from_IWMPNetwork(iface
);
1157 FIXME("(%p)->(%s, %d)\n", This
, debugstr_w(bstrProtocol
), lProxySetting
);
1161 static HRESULT WINAPI
WMPNetwork_getProxyName(IWMPNetwork
*iface
, BSTR bstrProtocol
, BSTR
*pbstrProxyName
)
1163 WindowsMediaPlayer
*This
= impl_from_IWMPNetwork(iface
);
1164 FIXME("(%p)->(%s, %p)\n", This
, debugstr_w(bstrProtocol
), pbstrProxyName
);
1168 static HRESULT WINAPI
WMPNetwork_setProxyName(IWMPNetwork
*iface
, BSTR bstrProtocol
, BSTR bstrProxyName
)
1170 WindowsMediaPlayer
*This
= impl_from_IWMPNetwork(iface
);
1171 FIXME("(%p)->(%s, %s)\n", This
, debugstr_w(bstrProtocol
), debugstr_w(bstrProxyName
));
1175 static HRESULT WINAPI
WMPNetwork_getProxyPort(IWMPNetwork
*iface
, BSTR bstrProtocol
, LONG
*plProxyPort
)
1177 WindowsMediaPlayer
*This
= impl_from_IWMPNetwork(iface
);
1178 FIXME("(%p)->(%s, %p)\n", This
, debugstr_w(bstrProtocol
), plProxyPort
);
1182 static HRESULT WINAPI
WMPNetwork_setProxyPort(IWMPNetwork
*iface
, BSTR bstrProtocol
, LONG lProxyPort
)
1184 WindowsMediaPlayer
*This
= impl_from_IWMPNetwork(iface
);
1185 FIXME("(%p)->(%s, %d)\n", This
, debugstr_w(bstrProtocol
), lProxyPort
);
1189 static HRESULT WINAPI
WMPNetwork_getProxyExceptionList(IWMPNetwork
*iface
, BSTR bstrProtocol
, BSTR
*pbstrExceptionList
)
1191 WindowsMediaPlayer
*This
= impl_from_IWMPNetwork(iface
);
1192 FIXME("(%p)->(%s, %p)\n", This
, debugstr_w(bstrProtocol
), pbstrExceptionList
);
1196 static HRESULT WINAPI
WMPNetwork_setProxyExceptionList(IWMPNetwork
*iface
, BSTR bstrProtocol
, BSTR bstrExceptionList
)
1198 WindowsMediaPlayer
*This
= impl_from_IWMPNetwork(iface
);
1199 FIXME("(%p)->(%s, %s)\n", This
, debugstr_w(bstrProtocol
), debugstr_w(bstrExceptionList
));
1203 static HRESULT WINAPI
WMPNetwork_getProxyBypassForLocal(IWMPNetwork
*iface
, BSTR bstrProtocol
, VARIANT_BOOL
*pfBypassForLocal
)
1205 WindowsMediaPlayer
*This
= impl_from_IWMPNetwork(iface
);
1206 FIXME("(%p)->(%s, %p)\n", This
, debugstr_w(bstrProtocol
), pfBypassForLocal
);
1210 static HRESULT WINAPI
WMPNetwork_setProxyBypassForLocal(IWMPNetwork
*iface
, BSTR bstrProtocol
, VARIANT_BOOL fBypassForLocal
)
1212 WindowsMediaPlayer
*This
= impl_from_IWMPNetwork(iface
);
1213 FIXME("(%p)->(%s, %d)\n", This
, debugstr_w(bstrProtocol
), fBypassForLocal
);
1217 static HRESULT WINAPI
WMPNetwork_get_maxBandwidth(IWMPNetwork
*iface
, LONG
*plMaxBandwidth
)
1219 WindowsMediaPlayer
*This
= impl_from_IWMPNetwork(iface
);
1220 FIXME("(%p)->(%p)\n", This
, plMaxBandwidth
);
1224 static HRESULT WINAPI
WMPNetwork_put_maxBandwidth(IWMPNetwork
*iface
, LONG lMaxBandwidth
)
1226 WindowsMediaPlayer
*This
= impl_from_IWMPNetwork(iface
);
1227 FIXME("(%p)->(%d)\n", This
, lMaxBandwidth
);
1231 static HRESULT WINAPI
WMPNetwork_get_downloadProgress(IWMPNetwork
*iface
, LONG
*plDownloadProgress
)
1233 WindowsMediaPlayer
*This
= impl_from_IWMPNetwork(iface
);
1234 FIXME("(%p)->(%p)\n", This
, plDownloadProgress
);
1238 static HRESULT WINAPI
WMPNetwork_get_encodedFrameRate(IWMPNetwork
*iface
, LONG
*plFrameRate
)
1240 WindowsMediaPlayer
*This
= impl_from_IWMPNetwork(iface
);
1241 FIXME("(%p)->(%p)\n", This
, plFrameRate
);
1245 static HRESULT WINAPI
WMPNetwork_get_framesSkipped(IWMPNetwork
*iface
, LONG
*plFrames
)
1247 WindowsMediaPlayer
*This
= impl_from_IWMPNetwork(iface
);
1248 FIXME("(%p)->(%p)\n", This
, plFrames
);
1252 static const IWMPNetworkVtbl WMPNetworkVtbl
= {
1253 WMPNetwork_QueryInterface
,
1256 WMPNetwork_GetTypeInfoCount
,
1257 WMPNetwork_GetTypeInfo
,
1258 WMPNetwork_GetIDsOfNames
,
1260 WMPNetwork_get_bandWidth
,
1261 WMPNetwork_get_recoveredPackets
,
1262 WMPNetwork_get_sourceProtocol
,
1263 WMPNetwork_get_receivedPackets
,
1264 WMPNetwork_get_lostPackets
,
1265 WMPNetwork_get_receptionQuality
,
1266 WMPNetwork_get_bufferingCount
,
1267 WMPNetwork_get_bufferingProgress
,
1268 WMPNetwork_get_bufferingTime
,
1269 WMPNetwork_put_bufferingTime
,
1270 WMPNetwork_get_frameRate
,
1271 WMPNetwork_get_maxBitRate
,
1272 WMPNetwork_get_bitRate
,
1273 WMPNetwork_getProxySettings
,
1274 WMPNetwork_setProxySettings
,
1275 WMPNetwork_getProxyName
,
1276 WMPNetwork_setProxyName
,
1277 WMPNetwork_getProxyPort
,
1278 WMPNetwork_setProxyPort
,
1279 WMPNetwork_getProxyExceptionList
,
1280 WMPNetwork_setProxyExceptionList
,
1281 WMPNetwork_getProxyBypassForLocal
,
1282 WMPNetwork_setProxyBypassForLocal
,
1283 WMPNetwork_get_maxBandwidth
,
1284 WMPNetwork_put_maxBandwidth
,
1285 WMPNetwork_get_downloadProgress
,
1286 WMPNetwork_get_encodedFrameRate
,
1287 WMPNetwork_get_framesSkipped
,
1290 static HRESULT WINAPI
WMPControls_QueryInterface(IWMPControls
*iface
, REFIID riid
, void **ppv
)
1292 if(IsEqualGUID(riid
, &IID_IDispatch
)) {
1294 }else if(IsEqualGUID(riid
, &IID_IWMPControls
)) {
1297 WARN("Unsupported interface (%s)\n", wine_dbgstr_guid(riid
));
1299 return E_NOINTERFACE
;
1302 IUnknown_AddRef((IUnknown
*)*ppv
);
1306 static ULONG WINAPI
WMPControls_AddRef(IWMPControls
*iface
)
1308 WindowsMediaPlayer
*This
= impl_from_IWMPControls(iface
);
1309 return IOleObject_AddRef(&This
->IOleObject_iface
);
1312 static ULONG WINAPI
WMPControls_Release(IWMPControls
*iface
)
1314 WindowsMediaPlayer
*This
= impl_from_IWMPControls(iface
);
1315 return IOleObject_Release(&This
->IOleObject_iface
);
1318 static HRESULT WINAPI
WMPControls_GetTypeInfoCount(IWMPControls
*iface
, UINT
*pctinfo
)
1320 WindowsMediaPlayer
*This
= impl_from_IWMPControls(iface
);
1321 FIXME("(%p)->(%p)\n", This
, pctinfo
);
1325 static HRESULT WINAPI
WMPControls_GetTypeInfo(IWMPControls
*iface
, UINT iTInfo
,
1326 LCID lcid
, ITypeInfo
**ppTInfo
)
1328 WindowsMediaPlayer
*This
= impl_from_IWMPControls(iface
);
1329 FIXME("(%p)->(%u %d %p)\n", This
, iTInfo
, lcid
, ppTInfo
);
1333 static HRESULT WINAPI
WMPControls_GetIDsOfNames(IWMPControls
*iface
, REFIID riid
,
1334 LPOLESTR
*rgszNames
, UINT cNames
, LCID lcid
, DISPID
*rgDispId
)
1336 WindowsMediaPlayer
*This
= impl_from_IWMPControls(iface
);
1337 FIXME("(%p)->(%s %p %u %d %p)\n", This
, debugstr_guid(riid
), rgszNames
, cNames
, lcid
, rgDispId
);
1341 static HRESULT WINAPI
WMPControls_Invoke(IWMPControls
*iface
, DISPID dispIdMember
,
1342 REFIID riid
, LCID lcid
, WORD wFlags
, DISPPARAMS
*pDispParams
, VARIANT
*pVarResult
,
1343 EXCEPINFO
*pExcepInfo
, UINT
*puArgErr
)
1345 WindowsMediaPlayer
*This
= impl_from_IWMPControls(iface
);
1346 FIXME("(%p)->(%d %s %d %x %p %p %p %p)\n", This
, dispIdMember
, debugstr_guid(riid
), lcid
,
1347 wFlags
, pDispParams
, pVarResult
, pExcepInfo
, puArgErr
);
1351 static HRESULT WINAPI
WMPControls_get_isAvailable(IWMPControls
*iface
, BSTR bstrItem
, VARIANT_BOOL
*pIsAvailable
)
1353 WindowsMediaPlayer
*This
= impl_from_IWMPControls(iface
);
1354 FIXME("(%p)->(%s)\n", This
, debugstr_w(bstrItem
));
1358 static HRESULT WINAPI
WMPControls_play(IWMPControls
*iface
)
1360 WindowsMediaPlayer
*This
= impl_from_IWMPControls(iface
);
1361 FIXME("(%p)\n", This
);
1365 static HRESULT WINAPI
WMPControls_stop(IWMPControls
*iface
)
1367 WindowsMediaPlayer
*This
= impl_from_IWMPControls(iface
);
1368 FIXME("(%p)\n", This
);
1372 static HRESULT WINAPI
WMPControls_pause(IWMPControls
*iface
)
1374 WindowsMediaPlayer
*This
= impl_from_IWMPControls(iface
);
1375 FIXME("(%p)\n", This
);
1379 static HRESULT WINAPI
WMPControls_fastForward(IWMPControls
*iface
)
1381 WindowsMediaPlayer
*This
= impl_from_IWMPControls(iface
);
1382 FIXME("(%p)\n", This
);
1386 static HRESULT WINAPI
WMPControls_fastReverse(IWMPControls
*iface
)
1388 WindowsMediaPlayer
*This
= impl_from_IWMPControls(iface
);
1389 FIXME("(%p)\n", This
);
1393 static HRESULT WINAPI
WMPControls_get_currentPosition(IWMPControls
*iface
, DOUBLE
*pdCurrentPosition
)
1395 WindowsMediaPlayer
*This
= impl_from_IWMPControls(iface
);
1396 FIXME("(%p)->(%p)\n", This
, pdCurrentPosition
);
1400 static HRESULT WINAPI
WMPControls_put_currentPosition(IWMPControls
*iface
, DOUBLE dCurrentPosition
)
1402 WindowsMediaPlayer
*This
= impl_from_IWMPControls(iface
);
1403 FIXME("(%p)->(%f)\n", This
, dCurrentPosition
);
1407 static HRESULT WINAPI
WMPControls_get_currentPositionString(IWMPControls
*iface
, BSTR
*pbstrCurrentPosition
)
1409 WindowsMediaPlayer
*This
= impl_from_IWMPControls(iface
);
1410 FIXME("(%p)->(%p)\n", This
, pbstrCurrentPosition
);
1414 static HRESULT WINAPI
WMPControls_next(IWMPControls
*iface
)
1416 WindowsMediaPlayer
*This
= impl_from_IWMPControls(iface
);
1417 FIXME("(%p)\n", This
);
1421 static HRESULT WINAPI
WMPControls_previous(IWMPControls
*iface
)
1423 WindowsMediaPlayer
*This
= impl_from_IWMPControls(iface
);
1424 FIXME("(%p)\n", This
);
1428 static HRESULT WINAPI
WMPControls_get_currentItem(IWMPControls
*iface
, IWMPMedia
**ppIWMPMedia
)
1430 WindowsMediaPlayer
*This
= impl_from_IWMPControls(iface
);
1431 FIXME("(%p)->(%p)\n", This
, ppIWMPMedia
);
1435 static HRESULT WINAPI
WMPControls_put_currentItem(IWMPControls
*iface
, IWMPMedia
*pIWMPMedia
)
1437 WindowsMediaPlayer
*This
= impl_from_IWMPControls(iface
);
1438 FIXME("(%p)->(%p)\n", This
, pIWMPMedia
);
1442 static HRESULT WINAPI
WMPControls_get_currentMarker(IWMPControls
*iface
, LONG
*plMarker
)
1444 WindowsMediaPlayer
*This
= impl_from_IWMPControls(iface
);
1445 FIXME("(%p)->(%p)\n", This
, plMarker
);
1449 static HRESULT WINAPI
WMPControls_put_currentMarker(IWMPControls
*iface
, LONG lMarker
)
1451 WindowsMediaPlayer
*This
= impl_from_IWMPControls(iface
);
1452 FIXME("(%p)->(%d)\n", This
, lMarker
);
1456 static HRESULT WINAPI
WMPControls_playItem(IWMPControls
*iface
, IWMPMedia
*pIWMPMedia
)
1458 WindowsMediaPlayer
*This
= impl_from_IWMPControls(iface
);
1459 FIXME("(%p)->(%p)\n", This
, pIWMPMedia
);
1463 static const IWMPControlsVtbl WMPControlsVtbl
= {
1464 WMPControls_QueryInterface
,
1466 WMPControls_Release
,
1467 WMPControls_GetTypeInfoCount
,
1468 WMPControls_GetTypeInfo
,
1469 WMPControls_GetIDsOfNames
,
1471 WMPControls_get_isAvailable
,
1475 WMPControls_fastForward
,
1476 WMPControls_fastReverse
,
1477 WMPControls_get_currentPosition
,
1478 WMPControls_put_currentPosition
,
1479 WMPControls_get_currentPositionString
,
1481 WMPControls_previous
,
1482 WMPControls_get_currentItem
,
1483 WMPControls_put_currentItem
,
1484 WMPControls_get_currentMarker
,
1485 WMPControls_put_currentMarker
,
1486 WMPControls_playItem
,
1489 static HRESULT WINAPI
WMPMedia_QueryInterface(IWMPMedia
*iface
, REFIID riid
, void **ppv
)
1491 WMPMedia
*This
= impl_from_IWMPMedia(iface
);
1492 TRACE("(%p)\n", This
);
1493 if(IsEqualGUID(&IID_IUnknown
, riid
)) {
1494 TRACE("(%p)->(IID_IUnknown %p)\n", This
, ppv
);
1495 *ppv
= &This
->IWMPMedia_iface
;
1496 }else if(IsEqualGUID(&IID_IDispatch
, riid
)) {
1497 TRACE("(%p)->(IID_IDispatch %p)\n", This
, ppv
);
1498 *ppv
= &This
->IWMPMedia_iface
;
1499 }else if(IsEqualGUID(&IID_IWMPMedia
, riid
)) {
1500 TRACE("(%p)->(IID_IWMPMedia %p)\n", This
, ppv
);
1501 *ppv
= &This
->IWMPMedia_iface
;
1503 WARN("Unsupported interface %s\n", debugstr_guid(riid
));
1505 return E_NOINTERFACE
;
1508 IUnknown_AddRef((IUnknown
*)*ppv
);
1512 static ULONG WINAPI
WMPMedia_AddRef(IWMPMedia
*iface
)
1514 WMPMedia
*This
= impl_from_IWMPMedia(iface
);
1515 LONG ref
= InterlockedIncrement(&This
->ref
);
1517 TRACE("(%p) ref=%d\n", This
, ref
);
1522 static ULONG WINAPI
WMPMedia_Release(IWMPMedia
*iface
)
1524 WMPMedia
*This
= impl_from_IWMPMedia(iface
);
1525 LONG ref
= InterlockedDecrement(&This
->ref
);
1527 TRACE("(%p) ref=%d\n", This
, ref
);
1530 heap_free(This
->url
);
1537 static HRESULT WINAPI
WMPMedia_GetTypeInfoCount(IWMPMedia
*iface
, UINT
*pctinfo
)
1539 WMPMedia
*This
= impl_from_IWMPMedia(iface
);
1540 FIXME("(%p)->(%p)\n", This
, pctinfo
);
1544 static HRESULT WINAPI
WMPMedia_GetTypeInfo(IWMPMedia
*iface
, UINT iTInfo
,
1545 LCID lcid
, ITypeInfo
**ppTInfo
)
1547 WMPMedia
*This
= impl_from_IWMPMedia(iface
);
1548 FIXME("(%p)->(%u %d %p)\n", This
, iTInfo
, lcid
, ppTInfo
);
1552 static HRESULT WINAPI
WMPMedia_GetIDsOfNames(IWMPMedia
*iface
, REFIID riid
,
1553 LPOLESTR
*rgszNames
, UINT cNames
, LCID lcid
, DISPID
*rgDispId
)
1555 WMPMedia
*This
= impl_from_IWMPMedia(iface
);
1556 FIXME("(%p)->(%s %p %u %d %p)\n", This
, debugstr_guid(riid
), rgszNames
, cNames
, lcid
, rgDispId
);
1560 static HRESULT WINAPI
WMPMedia_Invoke(IWMPMedia
*iface
, DISPID dispIdMember
,
1561 REFIID riid
, LCID lcid
, WORD wFlags
, DISPPARAMS
*pDispParams
, VARIANT
*pVarResult
,
1562 EXCEPINFO
*pExcepInfo
, UINT
*puArgErr
)
1564 WMPMedia
*This
= impl_from_IWMPMedia(iface
);
1565 FIXME("(%p)->(%d %s %d %x %p %p %p %p)\n", This
, dispIdMember
, debugstr_guid(riid
), lcid
,
1566 wFlags
, pDispParams
, pVarResult
, pExcepInfo
, puArgErr
);
1570 static HRESULT WINAPI
WMPMedia_get_isIdentical(IWMPMedia
*iface
, IWMPMedia
*other
, VARIANT_BOOL
*pvBool
)
1572 WMPMedia
*This
= impl_from_IWMPMedia(iface
);
1573 FIXME("(%p)->(%p, %p)\n", This
, other
, pvBool
);
1577 static HRESULT WINAPI
WMPMedia_get_sourceURL(IWMPMedia
*iface
, BSTR
*pbstrSourceUrl
)
1579 WMPMedia
*This
= impl_from_IWMPMedia(iface
);
1581 TRACE("(%p)->(%p)\n", This
, pbstrSourceUrl
);
1582 url
= SysAllocString(This
->url
);
1584 *pbstrSourceUrl
= url
;
1587 return E_OUTOFMEMORY
;
1590 static HRESULT WINAPI
WMPMedia_get_name(IWMPMedia
*iface
, BSTR
*pbstrName
)
1592 WMPMedia
*This
= impl_from_IWMPMedia(iface
);
1593 FIXME("(%p)->(%p)\n", This
, pbstrName
);
1597 static HRESULT WINAPI
WMPMedia_put_name(IWMPMedia
*iface
, BSTR pbstrName
)
1599 WMPMedia
*This
= impl_from_IWMPMedia(iface
);
1600 FIXME("(%p)->(%s)\n", This
, debugstr_w(pbstrName
));
1604 static HRESULT WINAPI
WMPMedia_get_imageSourceWidth(IWMPMedia
*iface
, LONG
*pWidth
)
1606 WMPMedia
*This
= impl_from_IWMPMedia(iface
);
1607 FIXME("(%p)->(%p)\n", This
, pWidth
);
1611 static HRESULT WINAPI
WMPMedia_get_imageSourceHeight(IWMPMedia
*iface
, LONG
*pHeight
)
1613 WMPMedia
*This
= impl_from_IWMPMedia(iface
);
1614 FIXME("(%p)->(%p)\n", This
, pHeight
);
1618 static HRESULT WINAPI
WMPMedia_get_markerCount(IWMPMedia
*iface
, LONG
* pMarkerCount
)
1620 WMPMedia
*This
= impl_from_IWMPMedia(iface
);
1621 FIXME("(%p)->(%p)\n", This
, pMarkerCount
);
1625 static HRESULT WINAPI
WMPMedia_getMarkerTime(IWMPMedia
*iface
, LONG MarkerNum
, DOUBLE
*pMarkerTime
)
1627 WMPMedia
*This
= impl_from_IWMPMedia(iface
);
1628 FIXME("(%p)->(%d, %p)\n", This
, MarkerNum
, pMarkerTime
);
1632 static HRESULT WINAPI
WMPMedia_getMarkerName(IWMPMedia
*iface
, LONG MarkerNum
, BSTR
*pbstrMarkerName
)
1634 WMPMedia
*This
= impl_from_IWMPMedia(iface
);
1635 FIXME("(%p)->(%d, %p)\n", This
, MarkerNum
, pbstrMarkerName
);
1639 static HRESULT WINAPI
WMPMedia_get_duration(IWMPMedia
*iface
, DOUBLE
*pDuration
)
1641 WMPMedia
*This
= impl_from_IWMPMedia(iface
);
1642 FIXME("(%p)->(%p)\n", This
, pDuration
);
1646 static HRESULT WINAPI
WMPMedia_get_durationString(IWMPMedia
*iface
, BSTR
*pbstrDuration
)
1648 WMPMedia
*This
= impl_from_IWMPMedia(iface
);
1649 FIXME("(%p)->(%p)\n", This
, pbstrDuration
);
1653 static HRESULT WINAPI
WMPMedia_get_attributeCount(IWMPMedia
*iface
, LONG
*plCount
)
1655 WMPMedia
*This
= impl_from_IWMPMedia(iface
);
1656 FIXME("(%p)->(%p)\n", This
, plCount
);
1660 static HRESULT WINAPI
WMPMedia_getAttributeName(IWMPMedia
*iface
, LONG lIndex
, BSTR
*pbstrItemName
)
1662 WMPMedia
*This
= impl_from_IWMPMedia(iface
);
1663 FIXME("(%p)->(%d, %p)\n", This
, lIndex
, pbstrItemName
);
1667 static HRESULT WINAPI
WMPMedia_getItemInfo(IWMPMedia
*iface
, BSTR bstrItemName
, BSTR
*pbstrVal
)
1669 WMPMedia
*This
= impl_from_IWMPMedia(iface
);
1670 FIXME("(%p)->(%s, %p)\n", This
, debugstr_w(bstrItemName
), pbstrVal
);
1674 static HRESULT WINAPI
WMPMedia_setItemInfo(IWMPMedia
*iface
, BSTR bstrItemName
, BSTR bstrVal
)
1676 WMPMedia
*This
= impl_from_IWMPMedia(iface
);
1677 FIXME("(%p)->(%s, %s)\n", This
, debugstr_w(bstrItemName
), debugstr_w(bstrVal
));
1681 static HRESULT WINAPI
WMPMedia_getItemInfoByAtom(IWMPMedia
*iface
, LONG lAtom
, BSTR
*pbstrVal
)
1683 WMPMedia
*This
= impl_from_IWMPMedia(iface
);
1684 FIXME("(%p)->(%d, %p)\n", This
, lAtom
, pbstrVal
);
1688 static HRESULT WINAPI
WMPMedia_isMemberOf(IWMPMedia
*iface
, IWMPPlaylist
*pPlaylist
, VARIANT_BOOL
*pvarfIsMemberOf
)
1690 WMPMedia
*This
= impl_from_IWMPMedia(iface
);
1691 FIXME("(%p)->(%p, %p)\n", This
, pPlaylist
, pvarfIsMemberOf
);
1695 static HRESULT WINAPI
WMPMedia_isReadOnlyItem(IWMPMedia
*iface
, BSTR bstrItemName
, VARIANT_BOOL
*pvarfIsReadOnly
)
1697 WMPMedia
*This
= impl_from_IWMPMedia(iface
);
1698 FIXME("(%p)->(%s, %p)\n", This
, debugstr_w(bstrItemName
), pvarfIsReadOnly
);
1702 static const IWMPMediaVtbl WMPMediaVtbl
= {
1703 WMPMedia_QueryInterface
,
1706 WMPMedia_GetTypeInfoCount
,
1707 WMPMedia_GetTypeInfo
,
1708 WMPMedia_GetIDsOfNames
,
1710 WMPMedia_get_isIdentical
,
1711 WMPMedia_get_sourceURL
,
1714 WMPMedia_get_imageSourceWidth
,
1715 WMPMedia_get_imageSourceHeight
,
1716 WMPMedia_get_markerCount
,
1717 WMPMedia_getMarkerTime
,
1718 WMPMedia_getMarkerName
,
1719 WMPMedia_get_duration
,
1720 WMPMedia_get_durationString
,
1721 WMPMedia_get_attributeCount
,
1722 WMPMedia_getAttributeName
,
1723 WMPMedia_getItemInfo
,
1724 WMPMedia_setItemInfo
,
1725 WMPMedia_getItemInfoByAtom
,
1726 WMPMedia_isMemberOf
,
1727 WMPMedia_isReadOnlyItem
1730 void init_player(WindowsMediaPlayer
*wmp
)
1732 wmp
->IWMPPlayer4_iface
.lpVtbl
= &WMPPlayer4Vtbl
;
1733 wmp
->IWMPPlayer_iface
.lpVtbl
= &WMPPlayerVtbl
;
1734 wmp
->IWMPSettings_iface
.lpVtbl
= &WMPSettingsVtbl
;
1735 wmp
->IWMPControls_iface
.lpVtbl
= &WMPControlsVtbl
;
1736 wmp
->IWMPNetwork_iface
.lpVtbl
= &WMPNetworkVtbl
;
1738 wmp
->invoke_urls
= VARIANT_TRUE
;
1739 wmp
->auto_start
= VARIANT_TRUE
;
1742 void destroy_player(WindowsMediaPlayer
*wmp
)
1745 IWMPMedia_Release(wmp
->wmpmedia
);
1748 IWMPMedia
* create_media_from_url(BSTR url
){
1750 WMPMedia
*media
= heap_alloc_zero(sizeof(WMPMedia
));
1751 media
->IWMPMedia_iface
.lpVtbl
= &WMPMediaVtbl
;
1752 media
->url
= heap_strdupW(url
);
1755 return &media
->IWMPMedia_iface
;