2014-02-19 17:51:52 +01:00
|
|
|
/*
|
|
|
|
* Copyright 2014 Jacek Caban for CodeWeavers
|
|
|
|
*
|
|
|
|
* This library is free software; you can redistribute it and/or
|
|
|
|
* modify it under the terms of the GNU Lesser General Public
|
|
|
|
* License as published by the Free Software Foundation; either
|
|
|
|
* version 2.1 of the License, or (at your option) any later version.
|
|
|
|
*
|
|
|
|
* This library is distributed in the hope that it will be useful,
|
|
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
|
|
* Lesser General Public License for more details.
|
|
|
|
*
|
|
|
|
* You should have received a copy of the GNU Lesser General Public
|
|
|
|
* License along with this library; if not, write to the Free Software
|
|
|
|
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
|
|
|
*/
|
|
|
|
|
|
|
|
#include "wmp_private.h"
|
|
|
|
|
|
|
|
#include "wine/debug.h"
|
|
|
|
|
|
|
|
WINE_DEFAULT_DEBUG_CHANNEL(wmp);
|
|
|
|
|
|
|
|
static inline WindowsMediaPlayer *impl_from_IWMPPlayer4(IWMPPlayer4 *iface)
|
|
|
|
{
|
|
|
|
return CONTAINING_RECORD(iface, WindowsMediaPlayer, IWMPPlayer4_iface);
|
|
|
|
}
|
|
|
|
|
2018-02-07 21:24:44 +01:00
|
|
|
static inline WindowsMediaPlayer *impl_from_IWMPPlayer(IWMPPlayer *iface)
|
|
|
|
{
|
|
|
|
return CONTAINING_RECORD(iface, WindowsMediaPlayer, IWMPPlayer_iface);
|
|
|
|
}
|
|
|
|
|
2018-02-19 08:31:25 +01:00
|
|
|
static inline WindowsMediaPlayer *impl_from_IWMPControls(IWMPControls *iface)
|
|
|
|
{
|
|
|
|
return CONTAINING_RECORD(iface, WindowsMediaPlayer, IWMPControls_iface);
|
|
|
|
}
|
|
|
|
|
2014-02-19 17:51:52 +01:00
|
|
|
static HRESULT WINAPI WMPPlayer4_QueryInterface(IWMPPlayer4 *iface, REFIID riid, void **ppv)
|
|
|
|
{
|
|
|
|
WindowsMediaPlayer *This = impl_from_IWMPPlayer4(iface);
|
|
|
|
return IOleObject_QueryInterface(&This->IOleObject_iface, riid, ppv);
|
|
|
|
}
|
|
|
|
|
|
|
|
static ULONG WINAPI WMPPlayer4_AddRef(IWMPPlayer4 *iface)
|
|
|
|
{
|
|
|
|
WindowsMediaPlayer *This = impl_from_IWMPPlayer4(iface);
|
|
|
|
return IOleObject_AddRef(&This->IOleObject_iface);
|
|
|
|
}
|
|
|
|
|
|
|
|
static ULONG WINAPI WMPPlayer4_Release(IWMPPlayer4 *iface)
|
|
|
|
{
|
|
|
|
WindowsMediaPlayer *This = impl_from_IWMPPlayer4(iface);
|
|
|
|
return IOleObject_Release(&This->IOleObject_iface);
|
|
|
|
}
|
|
|
|
|
|
|
|
static HRESULT WINAPI WMPPlayer4_GetTypeInfoCount(IWMPPlayer4 *iface, UINT *pctinfo)
|
|
|
|
{
|
|
|
|
WindowsMediaPlayer *This = impl_from_IWMPPlayer4(iface);
|
|
|
|
FIXME("(%p)->(%p)\n", This, pctinfo);
|
|
|
|
return E_NOTIMPL;
|
|
|
|
}
|
|
|
|
|
|
|
|
static HRESULT WINAPI WMPPlayer4_GetTypeInfo(IWMPPlayer4 *iface, UINT iTInfo,
|
|
|
|
LCID lcid, ITypeInfo **ppTInfo)
|
|
|
|
{
|
|
|
|
WindowsMediaPlayer *This = impl_from_IWMPPlayer4(iface);
|
|
|
|
FIXME("(%p)->(%u %d %p)\n", This, iTInfo, lcid, ppTInfo);
|
|
|
|
return E_NOTIMPL;
|
|
|
|
}
|
|
|
|
|
|
|
|
static HRESULT WINAPI WMPPlayer4_GetIDsOfNames(IWMPPlayer4 *iface, REFIID riid,
|
|
|
|
LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId)
|
|
|
|
{
|
|
|
|
WindowsMediaPlayer *This = impl_from_IWMPPlayer4(iface);
|
|
|
|
FIXME("(%p)->(%s %p %u %d %p)\n", This, debugstr_guid(riid), rgszNames, cNames, lcid, rgDispId);
|
|
|
|
return E_NOTIMPL;
|
|
|
|
}
|
|
|
|
|
|
|
|
static HRESULT WINAPI WMPPlayer4_Invoke(IWMPPlayer4 *iface, DISPID dispIdMember,
|
|
|
|
REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult,
|
|
|
|
EXCEPINFO *pExcepInfo, UINT *puArgErr)
|
|
|
|
{
|
|
|
|
WindowsMediaPlayer *This = impl_from_IWMPPlayer4(iface);
|
|
|
|
FIXME("(%p)->(%d %s %d %x %p %p %p %p)\n", This, dispIdMember, debugstr_guid(riid), lcid,
|
|
|
|
wFlags, pDispParams, pVarResult, pExcepInfo, puArgErr);
|
|
|
|
return E_NOTIMPL;
|
|
|
|
}
|
|
|
|
|
|
|
|
static HRESULT WINAPI WMPPlayer4_close(IWMPPlayer4 *iface)
|
|
|
|
{
|
|
|
|
WindowsMediaPlayer *This = impl_from_IWMPPlayer4(iface);
|
|
|
|
FIXME("(%p)\n", This);
|
|
|
|
return E_NOTIMPL;
|
|
|
|
}
|
|
|
|
|
|
|
|
static HRESULT WINAPI WMPPlayer4_get_URL(IWMPPlayer4 *iface, BSTR *pbstrURL)
|
|
|
|
{
|
|
|
|
WindowsMediaPlayer *This = impl_from_IWMPPlayer4(iface);
|
|
|
|
FIXME("(%p)->(%p)\n", This, pbstrURL);
|
|
|
|
return E_NOTIMPL;
|
|
|
|
}
|
|
|
|
|
|
|
|
static HRESULT WINAPI WMPPlayer4_put_URL(IWMPPlayer4 *iface, BSTR url)
|
|
|
|
{
|
|
|
|
WindowsMediaPlayer *This = impl_from_IWMPPlayer4(iface);
|
|
|
|
FIXME("(%p)->(%s)\n", This, debugstr_w(url));
|
|
|
|
return E_NOTIMPL;
|
|
|
|
}
|
|
|
|
|
|
|
|
static HRESULT WINAPI WMPPlayer4_get_openState(IWMPPlayer4 *iface, WMPOpenState *pwmpos)
|
|
|
|
{
|
|
|
|
WindowsMediaPlayer *This = impl_from_IWMPPlayer4(iface);
|
|
|
|
FIXME("(%p)->(%p)\n", This, pwmpos);
|
|
|
|
return E_NOTIMPL;
|
|
|
|
}
|
|
|
|
|
|
|
|
static HRESULT WINAPI WMPPlayer4_get_playState(IWMPPlayer4 *iface, WMPPlayState *pwmpps)
|
|
|
|
{
|
|
|
|
WindowsMediaPlayer *This = impl_from_IWMPPlayer4(iface);
|
|
|
|
FIXME("(%p)->(%p)\n", This, pwmpps);
|
|
|
|
return E_NOTIMPL;
|
|
|
|
}
|
|
|
|
|
|
|
|
static HRESULT WINAPI WMPPlayer4_get_controls(IWMPPlayer4 *iface, IWMPControls **ppControl)
|
|
|
|
{
|
|
|
|
WindowsMediaPlayer *This = impl_from_IWMPPlayer4(iface);
|
2018-02-19 08:31:25 +01:00
|
|
|
|
|
|
|
TRACE("(%p)->(%p)\n", This, ppControl);
|
|
|
|
|
|
|
|
IWMPControls_AddRef(&This->IWMPControls_iface);
|
|
|
|
*ppControl = &This->IWMPControls_iface;
|
|
|
|
return S_OK;
|
2014-02-19 17:51:52 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
static HRESULT WINAPI WMPPlayer4_get_settings(IWMPPlayer4 *iface, IWMPSettings **ppSettings)
|
|
|
|
{
|
|
|
|
WindowsMediaPlayer *This = impl_from_IWMPPlayer4(iface);
|
2014-02-26 12:07:15 +01:00
|
|
|
|
|
|
|
TRACE("(%p)->(%p)\n", This, ppSettings);
|
|
|
|
|
|
|
|
IWMPSettings_AddRef(&This->IWMPSettings_iface);
|
|
|
|
*ppSettings = &This->IWMPSettings_iface;
|
|
|
|
return S_OK;
|
2014-02-19 17:51:52 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
static HRESULT WINAPI WMPPlayer4_get_currentMedia(IWMPPlayer4 *iface, IWMPMedia **ppMedia)
|
|
|
|
{
|
|
|
|
WindowsMediaPlayer *This = impl_from_IWMPPlayer4(iface);
|
|
|
|
FIXME("(%p)->(%p)\n", This, ppMedia);
|
|
|
|
return E_NOTIMPL;
|
|
|
|
}
|
|
|
|
|
|
|
|
static HRESULT WINAPI WMPPlayer4_put_currentMedia(IWMPPlayer4 *iface, IWMPMedia *pMedia)
|
|
|
|
{
|
|
|
|
WindowsMediaPlayer *This = impl_from_IWMPPlayer4(iface);
|
|
|
|
FIXME("(%p)->(%p)\n", This, pMedia);
|
|
|
|
return E_NOTIMPL;
|
|
|
|
}
|
|
|
|
|
|
|
|
static HRESULT WINAPI WMPPlayer4_get_mediaCollection(IWMPPlayer4 *iface, IWMPMediaCollection **ppMediaCollection)
|
|
|
|
{
|
|
|
|
WindowsMediaPlayer *This = impl_from_IWMPPlayer4(iface);
|
|
|
|
FIXME("(%p)->(%p)\n", This, ppMediaCollection);
|
|
|
|
return E_NOTIMPL;
|
|
|
|
}
|
|
|
|
|
|
|
|
static HRESULT WINAPI WMPPlayer4_get_playlistCollection(IWMPPlayer4 *iface, IWMPPlaylistCollection **ppPlaylistCollection)
|
|
|
|
{
|
|
|
|
WindowsMediaPlayer *This = impl_from_IWMPPlayer4(iface);
|
|
|
|
FIXME("(%p)->(%p)\n", This, ppPlaylistCollection);
|
|
|
|
return E_NOTIMPL;
|
|
|
|
}
|
|
|
|
|
2014-06-14 07:11:29 +02:00
|
|
|
static HRESULT WINAPI WMPPlayer4_get_versionInfo(IWMPPlayer4 *iface, BSTR *version)
|
2014-02-19 17:51:52 +01:00
|
|
|
{
|
2014-06-14 07:11:29 +02:00
|
|
|
static const WCHAR versionW[] = {'1','2','.','0','.','7','6','0','1','.','1','6','9','8','2',0};
|
2014-02-19 17:51:52 +01:00
|
|
|
WindowsMediaPlayer *This = impl_from_IWMPPlayer4(iface);
|
2014-06-14 07:11:29 +02:00
|
|
|
|
|
|
|
TRACE("(%p)->(%p)\n", This, version);
|
|
|
|
|
|
|
|
if (!version)
|
|
|
|
return E_POINTER;
|
|
|
|
|
|
|
|
*version = SysAllocString(versionW);
|
|
|
|
return *version ? S_OK : E_OUTOFMEMORY;
|
2014-02-19 17:51:52 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
static HRESULT WINAPI WMPPlayer4_launchURL(IWMPPlayer4 *iface, BSTR url)
|
|
|
|
{
|
|
|
|
WindowsMediaPlayer *This = impl_from_IWMPPlayer4(iface);
|
|
|
|
FIXME("(%p)->(%s)\n", This, debugstr_w(url));
|
|
|
|
return E_NOTIMPL;
|
|
|
|
}
|
|
|
|
|
|
|
|
static HRESULT WINAPI WMPPlayer4_get_network(IWMPPlayer4 *iface, IWMPNetwork **ppQNI)
|
|
|
|
{
|
|
|
|
WindowsMediaPlayer *This = impl_from_IWMPPlayer4(iface);
|
|
|
|
FIXME("(%p)->(%p)\n", This, ppQNI);
|
|
|
|
return E_NOTIMPL;
|
|
|
|
}
|
|
|
|
|
|
|
|
static HRESULT WINAPI WMPPlayer4_get_currentPlaylist(IWMPPlayer4 *iface, IWMPPlaylist **ppPL)
|
|
|
|
{
|
|
|
|
WindowsMediaPlayer *This = impl_from_IWMPPlayer4(iface);
|
|
|
|
FIXME("(%p)->(%p)\n", This, ppPL);
|
|
|
|
return E_NOTIMPL;
|
|
|
|
}
|
|
|
|
|
|
|
|
static HRESULT WINAPI WMPPlayer4_put_currentPlaylist(IWMPPlayer4 *iface, IWMPPlaylist *pPL)
|
|
|
|
{
|
|
|
|
WindowsMediaPlayer *This = impl_from_IWMPPlayer4(iface);
|
|
|
|
FIXME("(%p)->(%p)\n", This, pPL);
|
|
|
|
return E_NOTIMPL;
|
|
|
|
}
|
|
|
|
|
|
|
|
static HRESULT WINAPI WMPPlayer4_get_cdromCollection(IWMPPlayer4 *iface, IWMPCdromCollection **ppCdromCollection)
|
|
|
|
{
|
|
|
|
WindowsMediaPlayer *This = impl_from_IWMPPlayer4(iface);
|
|
|
|
FIXME("(%p)->(%p)\n", This, ppCdromCollection);
|
|
|
|
return E_NOTIMPL;
|
|
|
|
}
|
|
|
|
|
|
|
|
static HRESULT WINAPI WMPPlayer4_get_closedCaption(IWMPPlayer4 *iface, IWMPClosedCaption **ppClosedCaption)
|
|
|
|
{
|
|
|
|
WindowsMediaPlayer *This = impl_from_IWMPPlayer4(iface);
|
|
|
|
FIXME("(%p)->(%p)\n", This, ppClosedCaption);
|
|
|
|
return E_NOTIMPL;
|
|
|
|
}
|
|
|
|
|
|
|
|
static HRESULT WINAPI WMPPlayer4_get_isOnline(IWMPPlayer4 *iface, VARIANT_BOOL *pfOnline)
|
|
|
|
{
|
|
|
|
WindowsMediaPlayer *This = impl_from_IWMPPlayer4(iface);
|
|
|
|
FIXME("(%p)->(%p)\n", This, pfOnline);
|
|
|
|
return E_NOTIMPL;
|
|
|
|
}
|
|
|
|
|
|
|
|
static HRESULT WINAPI WMPPlayer4_get_Error(IWMPPlayer4 *iface, IWMPError **ppError)
|
|
|
|
{
|
|
|
|
WindowsMediaPlayer *This = impl_from_IWMPPlayer4(iface);
|
|
|
|
FIXME("(%p)->(%p)\n", This, ppError);
|
|
|
|
return E_NOTIMPL;
|
|
|
|
}
|
|
|
|
|
|
|
|
static HRESULT WINAPI WMPPlayer4_get_Status(IWMPPlayer4 *iface, BSTR *pbstrStatus)
|
|
|
|
{
|
|
|
|
WindowsMediaPlayer *This = impl_from_IWMPPlayer4(iface);
|
|
|
|
FIXME("(%p)->(%p)\n", This, pbstrStatus);
|
|
|
|
return E_NOTIMPL;
|
|
|
|
}
|
|
|
|
|
|
|
|
static HRESULT WINAPI WMPPlayer4_get_dvd(IWMPPlayer4 *iface, IWMPDVD **ppDVD)
|
|
|
|
{
|
|
|
|
WindowsMediaPlayer *This = impl_from_IWMPPlayer4(iface);
|
|
|
|
FIXME("(%p)->(%p)\n", This, ppDVD);
|
|
|
|
return E_NOTIMPL;
|
|
|
|
}
|
|
|
|
|
|
|
|
static HRESULT WINAPI WMPPlayer4_newPlaylist(IWMPPlayer4 *iface, BSTR name, BSTR url, IWMPPlaylist **ppPlaylist)
|
|
|
|
{
|
|
|
|
WindowsMediaPlayer *This = impl_from_IWMPPlayer4(iface);
|
|
|
|
FIXME("(%p)->(%s %s %p)\n", This, debugstr_w(name), debugstr_w(url), ppPlaylist);
|
|
|
|
return E_NOTIMPL;
|
|
|
|
}
|
|
|
|
|
|
|
|
static HRESULT WINAPI WMPPlayer4_newMedia(IWMPPlayer4 *iface, BSTR url, IWMPMedia **ppMedia)
|
|
|
|
{
|
|
|
|
WindowsMediaPlayer *This = impl_from_IWMPPlayer4(iface);
|
|
|
|
FIXME("(%p)->(%p)\n", This, ppMedia);
|
|
|
|
return E_NOTIMPL;
|
|
|
|
}
|
|
|
|
|
|
|
|
static HRESULT WINAPI WMPPlayer4_get_enabled(IWMPPlayer4 *iface, VARIANT_BOOL *pbEnabled)
|
|
|
|
{
|
|
|
|
WindowsMediaPlayer *This = impl_from_IWMPPlayer4(iface);
|
|
|
|
FIXME("(%p)->(%p)\n", This, pbEnabled);
|
|
|
|
return E_NOTIMPL;
|
|
|
|
}
|
|
|
|
|
|
|
|
static HRESULT WINAPI WMPPlayer4_put_enabled(IWMPPlayer4 *iface, VARIANT_BOOL enabled)
|
|
|
|
{
|
|
|
|
WindowsMediaPlayer *This = impl_from_IWMPPlayer4(iface);
|
|
|
|
FIXME("(%p)->(%x)\n", This, enabled);
|
|
|
|
return E_NOTIMPL;
|
|
|
|
}
|
|
|
|
|
|
|
|
static HRESULT WINAPI WMPPlayer4_get_fullScreen(IWMPPlayer4 *iface, VARIANT_BOOL *pbFullScreen)
|
|
|
|
{
|
|
|
|
WindowsMediaPlayer *This = impl_from_IWMPPlayer4(iface);
|
|
|
|
FIXME("(%p)->(%p)\n", This, pbFullScreen);
|
|
|
|
return E_NOTIMPL;
|
|
|
|
}
|
|
|
|
|
|
|
|
static HRESULT WINAPI WMPPlayer4_put_fullScreen(IWMPPlayer4 *iface, VARIANT_BOOL fullscreen)
|
|
|
|
{
|
|
|
|
WindowsMediaPlayer *This = impl_from_IWMPPlayer4(iface);
|
|
|
|
FIXME("(%p)->(%x)\n", This, fullscreen);
|
|
|
|
return E_NOTIMPL;
|
|
|
|
}
|
|
|
|
|
|
|
|
static HRESULT WINAPI WMPPlayer4_get_enableContextMenu(IWMPPlayer4 *iface, VARIANT_BOOL *pbEnableContextMenu)
|
|
|
|
{
|
|
|
|
WindowsMediaPlayer *This = impl_from_IWMPPlayer4(iface);
|
|
|
|
FIXME("(%p)->(%p)\n", This, pbEnableContextMenu);
|
|
|
|
return E_NOTIMPL;
|
|
|
|
}
|
|
|
|
|
|
|
|
static HRESULT WINAPI WMPPlayer4_put_enableContextMenu(IWMPPlayer4 *iface, VARIANT_BOOL enable)
|
|
|
|
{
|
|
|
|
WindowsMediaPlayer *This = impl_from_IWMPPlayer4(iface);
|
|
|
|
FIXME("(%p)->(%x)\n", This, enable);
|
|
|
|
return E_NOTIMPL;
|
|
|
|
}
|
|
|
|
|
|
|
|
static HRESULT WINAPI WMPPlayer4_put_uiMode(IWMPPlayer4 *iface, BSTR mode)
|
|
|
|
{
|
|
|
|
WindowsMediaPlayer *This = impl_from_IWMPPlayer4(iface);
|
|
|
|
FIXME("(%p)->(%s)\n", This, debugstr_w(mode));
|
|
|
|
return E_NOTIMPL;
|
|
|
|
}
|
|
|
|
|
|
|
|
static HRESULT WINAPI WMPPlayer4_get_uiMode(IWMPPlayer4 *iface, BSTR *pbstrMode)
|
|
|
|
{
|
|
|
|
WindowsMediaPlayer *This = impl_from_IWMPPlayer4(iface);
|
|
|
|
FIXME("(%p)->(%p)\n", This, pbstrMode);
|
|
|
|
return E_NOTIMPL;
|
|
|
|
}
|
|
|
|
|
|
|
|
static HRESULT WINAPI WMPPlayer4_get_stretchToFit(IWMPPlayer4 *iface, VARIANT_BOOL *enabled)
|
|
|
|
{
|
|
|
|
WindowsMediaPlayer *This = impl_from_IWMPPlayer4(iface);
|
|
|
|
FIXME("(%p)->(%p)\n", This, enabled);
|
|
|
|
return E_NOTIMPL;
|
|
|
|
}
|
|
|
|
|
|
|
|
static HRESULT WINAPI WMPPlayer4_put_stretchToFit(IWMPPlayer4 *iface, VARIANT_BOOL enabled)
|
|
|
|
{
|
|
|
|
WindowsMediaPlayer *This = impl_from_IWMPPlayer4(iface);
|
|
|
|
FIXME("(%p)->(%x)\n", This, enabled);
|
|
|
|
return E_NOTIMPL;
|
|
|
|
}
|
|
|
|
|
|
|
|
static HRESULT WINAPI WMPPlayer4_get_windowlessVideo(IWMPPlayer4 *iface, VARIANT_BOOL *enabled)
|
|
|
|
{
|
|
|
|
WindowsMediaPlayer *This = impl_from_IWMPPlayer4(iface);
|
|
|
|
FIXME("(%p)->(%p)\n", This, enabled);
|
|
|
|
return E_NOTIMPL;
|
|
|
|
}
|
|
|
|
|
|
|
|
static HRESULT WINAPI WMPPlayer4_put_windowlessVideo(IWMPPlayer4 *iface, VARIANT_BOOL enabled)
|
|
|
|
{
|
|
|
|
WindowsMediaPlayer *This = impl_from_IWMPPlayer4(iface);
|
|
|
|
FIXME("(%p)->(%x)\n", This, enabled);
|
|
|
|
return E_NOTIMPL;
|
|
|
|
}
|
|
|
|
|
|
|
|
static HRESULT WINAPI WMPPlayer4_get_isRemote(IWMPPlayer4 *iface, VARIANT_BOOL *pvarfIsRemote)
|
|
|
|
{
|
|
|
|
WindowsMediaPlayer *This = impl_from_IWMPPlayer4(iface);
|
|
|
|
FIXME("(%p)->(%p)\n", This, pvarfIsRemote);
|
|
|
|
return E_NOTIMPL;
|
|
|
|
}
|
|
|
|
|
|
|
|
static HRESULT WINAPI WMPPlayer4_get_playerApplication(IWMPPlayer4 *iface, IWMPPlayerApplication **ppIWMPPlayerApplication)
|
|
|
|
{
|
|
|
|
WindowsMediaPlayer *This = impl_from_IWMPPlayer4(iface);
|
|
|
|
FIXME("(%p)->(%p)\n", This, ppIWMPPlayerApplication);
|
|
|
|
return E_NOTIMPL;
|
|
|
|
}
|
|
|
|
|
|
|
|
static HRESULT WINAPI WMPPlayer4_openPlayer(IWMPPlayer4 *iface, BSTR url)
|
|
|
|
{
|
|
|
|
WindowsMediaPlayer *This = impl_from_IWMPPlayer4(iface);
|
|
|
|
FIXME("(%p)->(%s)\n", This, debugstr_w(url));
|
|
|
|
return E_NOTIMPL;
|
|
|
|
}
|
|
|
|
|
2018-02-07 21:24:44 +01:00
|
|
|
static HRESULT WINAPI WMPPlayer_QueryInterface(IWMPPlayer *iface, REFIID riid, void **ppv)
|
|
|
|
{
|
|
|
|
WindowsMediaPlayer *This = impl_from_IWMPPlayer(iface);
|
|
|
|
return WMPPlayer4_QueryInterface(&This->IWMPPlayer4_iface, riid, ppv);
|
|
|
|
}
|
|
|
|
|
|
|
|
static ULONG WINAPI WMPPlayer_AddRef(IWMPPlayer *iface)
|
|
|
|
{
|
|
|
|
WindowsMediaPlayer *This = impl_from_IWMPPlayer(iface);
|
|
|
|
return WMPPlayer4_AddRef(&This->IWMPPlayer4_iface);
|
|
|
|
}
|
|
|
|
|
|
|
|
static ULONG WINAPI WMPPlayer_Release(IWMPPlayer *iface)
|
|
|
|
{
|
|
|
|
WindowsMediaPlayer *This = impl_from_IWMPPlayer(iface);
|
|
|
|
return WMPPlayer4_Release(&This->IWMPPlayer4_iface);
|
|
|
|
}
|
|
|
|
|
|
|
|
static HRESULT WINAPI WMPPlayer_GetTypeInfoCount(IWMPPlayer *iface, UINT *pctinfo)
|
|
|
|
{
|
|
|
|
WindowsMediaPlayer *This = impl_from_IWMPPlayer(iface);
|
|
|
|
return WMPPlayer4_GetTypeInfoCount(&This->IWMPPlayer4_iface, pctinfo);
|
|
|
|
}
|
|
|
|
|
|
|
|
static HRESULT WINAPI WMPPlayer_GetTypeInfo(IWMPPlayer *iface, UINT iTInfo,
|
|
|
|
LCID lcid, ITypeInfo **ppTInfo)
|
|
|
|
{
|
|
|
|
WindowsMediaPlayer *This = impl_from_IWMPPlayer(iface);
|
|
|
|
|
|
|
|
return WMPPlayer4_GetTypeInfo(&This->IWMPPlayer4_iface, iTInfo,
|
|
|
|
lcid, ppTInfo);
|
|
|
|
}
|
|
|
|
|
|
|
|
static HRESULT WINAPI WMPPlayer_GetIDsOfNames(IWMPPlayer *iface, REFIID riid,
|
|
|
|
LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId)
|
|
|
|
{
|
|
|
|
WindowsMediaPlayer *This = impl_from_IWMPPlayer(iface);
|
|
|
|
return WMPPlayer4_GetIDsOfNames(&This->IWMPPlayer4_iface, riid,
|
|
|
|
rgszNames, cNames, lcid, rgDispId);
|
|
|
|
}
|
|
|
|
|
|
|
|
static HRESULT WINAPI WMPPlayer_Invoke(IWMPPlayer *iface, DISPID dispIdMember,
|
|
|
|
REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult,
|
|
|
|
EXCEPINFO *pExcepInfo, UINT *puArgErr)
|
|
|
|
{
|
|
|
|
WindowsMediaPlayer *This = impl_from_IWMPPlayer(iface);
|
|
|
|
return WMPPlayer4_Invoke(&This->IWMPPlayer4_iface, dispIdMember,
|
|
|
|
riid, lcid, wFlags, pDispParams, pVarResult,
|
|
|
|
pExcepInfo, puArgErr);
|
|
|
|
}
|
|
|
|
|
|
|
|
static HRESULT WINAPI WMPPlayer_close(IWMPPlayer *iface)
|
|
|
|
{
|
|
|
|
WindowsMediaPlayer *This = impl_from_IWMPPlayer(iface);
|
|
|
|
return WMPPlayer4_close(&This->IWMPPlayer4_iface);
|
|
|
|
}
|
|
|
|
|
|
|
|
static HRESULT WINAPI WMPPlayer_get_URL(IWMPPlayer *iface, BSTR *pbstrURL)
|
|
|
|
{
|
|
|
|
WindowsMediaPlayer *This = impl_from_IWMPPlayer(iface);
|
|
|
|
return WMPPlayer4_get_URL(&This->IWMPPlayer4_iface, pbstrURL);
|
|
|
|
}
|
|
|
|
|
|
|
|
static HRESULT WINAPI WMPPlayer_put_URL(IWMPPlayer *iface, BSTR url)
|
|
|
|
{
|
|
|
|
WindowsMediaPlayer *This = impl_from_IWMPPlayer(iface);
|
|
|
|
return WMPPlayer4_put_URL(&This->IWMPPlayer4_iface, url);
|
|
|
|
}
|
|
|
|
|
|
|
|
static HRESULT WINAPI WMPPlayer_get_openState(IWMPPlayer *iface, WMPOpenState *pwmpos)
|
|
|
|
{
|
|
|
|
WindowsMediaPlayer *This = impl_from_IWMPPlayer(iface);
|
|
|
|
return WMPPlayer4_get_openState(&This->IWMPPlayer4_iface, pwmpos);
|
|
|
|
}
|
|
|
|
|
|
|
|
static HRESULT WINAPI WMPPlayer_get_playState(IWMPPlayer *iface, WMPPlayState *pwmpps)
|
|
|
|
{
|
|
|
|
WindowsMediaPlayer *This = impl_from_IWMPPlayer(iface);
|
|
|
|
return WMPPlayer4_get_playState(&This->IWMPPlayer4_iface, pwmpps);
|
|
|
|
}
|
|
|
|
|
|
|
|
static HRESULT WINAPI WMPPlayer_get_controls(IWMPPlayer *iface, IWMPControls **ppControl)
|
|
|
|
{
|
|
|
|
WindowsMediaPlayer *This = impl_from_IWMPPlayer(iface);
|
|
|
|
return WMPPlayer4_get_controls(&This->IWMPPlayer4_iface, ppControl);
|
|
|
|
}
|
|
|
|
|
|
|
|
static HRESULT WINAPI WMPPlayer_get_settings(IWMPPlayer *iface, IWMPSettings **ppSettings)
|
|
|
|
{
|
|
|
|
WindowsMediaPlayer *This = impl_from_IWMPPlayer(iface);
|
|
|
|
return WMPPlayer4_get_settings(&This->IWMPPlayer4_iface, ppSettings);
|
|
|
|
}
|
|
|
|
|
|
|
|
static HRESULT WINAPI WMPPlayer_get_currentMedia(IWMPPlayer *iface, IWMPMedia **ppMedia)
|
|
|
|
{
|
|
|
|
WindowsMediaPlayer *This = impl_from_IWMPPlayer(iface);
|
|
|
|
return WMPPlayer4_get_currentMedia(&This->IWMPPlayer4_iface, ppMedia);
|
|
|
|
}
|
|
|
|
|
|
|
|
static HRESULT WINAPI WMPPlayer_put_currentMedia(IWMPPlayer *iface, IWMPMedia *pMedia)
|
|
|
|
{
|
|
|
|
WindowsMediaPlayer *This = impl_from_IWMPPlayer(iface);
|
|
|
|
return WMPPlayer4_put_currentMedia(&This->IWMPPlayer4_iface, pMedia);
|
|
|
|
}
|
|
|
|
|
|
|
|
static HRESULT WINAPI WMPPlayer_get_mediaCollection(IWMPPlayer *iface, IWMPMediaCollection **ppMediaCollection)
|
|
|
|
{
|
|
|
|
WindowsMediaPlayer *This = impl_from_IWMPPlayer(iface);
|
|
|
|
return WMPPlayer4_get_mediaCollection(&This->IWMPPlayer4_iface, ppMediaCollection);
|
|
|
|
}
|
|
|
|
|
|
|
|
static HRESULT WINAPI WMPPlayer_get_playlistCollection(IWMPPlayer *iface, IWMPPlaylistCollection **ppPlaylistCollection)
|
|
|
|
{
|
|
|
|
WindowsMediaPlayer *This = impl_from_IWMPPlayer(iface);
|
|
|
|
return WMPPlayer4_get_playlistCollection(&This->IWMPPlayer4_iface, ppPlaylistCollection);
|
|
|
|
}
|
|
|
|
|
|
|
|
static HRESULT WINAPI WMPPlayer_get_versionInfo(IWMPPlayer *iface, BSTR *version)
|
|
|
|
{
|
|
|
|
WindowsMediaPlayer *This = impl_from_IWMPPlayer(iface);
|
|
|
|
return WMPPlayer4_get_versionInfo(&This->IWMPPlayer4_iface, version);
|
|
|
|
}
|
|
|
|
|
|
|
|
static HRESULT WINAPI WMPPlayer_launchURL(IWMPPlayer *iface, BSTR url)
|
|
|
|
{
|
|
|
|
WindowsMediaPlayer *This = impl_from_IWMPPlayer(iface);
|
|
|
|
return WMPPlayer4_launchURL(&This->IWMPPlayer4_iface, url);
|
|
|
|
}
|
|
|
|
|
|
|
|
static HRESULT WINAPI WMPPlayer_get_network(IWMPPlayer *iface, IWMPNetwork **ppQNI)
|
|
|
|
{
|
|
|
|
WindowsMediaPlayer *This = impl_from_IWMPPlayer(iface);
|
|
|
|
return WMPPlayer4_get_network(&This->IWMPPlayer4_iface, ppQNI);
|
|
|
|
}
|
|
|
|
|
|
|
|
static HRESULT WINAPI WMPPlayer_get_currentPlaylist(IWMPPlayer *iface, IWMPPlaylist **ppPL)
|
|
|
|
{
|
|
|
|
WindowsMediaPlayer *This = impl_from_IWMPPlayer(iface);
|
|
|
|
return WMPPlayer4_get_currentPlaylist(&This->IWMPPlayer4_iface, ppPL);
|
|
|
|
}
|
|
|
|
|
|
|
|
static HRESULT WINAPI WMPPlayer_put_currentPlaylist(IWMPPlayer *iface, IWMPPlaylist *pPL)
|
|
|
|
{
|
|
|
|
WindowsMediaPlayer *This = impl_from_IWMPPlayer(iface);
|
|
|
|
return WMPPlayer4_put_currentPlaylist(&This->IWMPPlayer4_iface, pPL);
|
|
|
|
}
|
|
|
|
|
|
|
|
static HRESULT WINAPI WMPPlayer_get_cdromCollection(IWMPPlayer *iface, IWMPCdromCollection **ppCdromCollection)
|
|
|
|
{
|
|
|
|
WindowsMediaPlayer *This = impl_from_IWMPPlayer(iface);
|
|
|
|
return WMPPlayer4_get_cdromCollection(&This->IWMPPlayer4_iface, ppCdromCollection);
|
|
|
|
}
|
|
|
|
|
|
|
|
static HRESULT WINAPI WMPPlayer_get_closedCaption(IWMPPlayer *iface, IWMPClosedCaption **ppClosedCaption)
|
|
|
|
{
|
|
|
|
WindowsMediaPlayer *This = impl_from_IWMPPlayer(iface);
|
|
|
|
return WMPPlayer4_get_closedCaption(&This->IWMPPlayer4_iface, ppClosedCaption);
|
|
|
|
}
|
|
|
|
|
|
|
|
static HRESULT WINAPI WMPPlayer_get_isOnline(IWMPPlayer *iface, VARIANT_BOOL *pfOnline)
|
|
|
|
{
|
|
|
|
WindowsMediaPlayer *This = impl_from_IWMPPlayer(iface);
|
|
|
|
return WMPPlayer4_get_isOnline(&This->IWMPPlayer4_iface, pfOnline);
|
|
|
|
}
|
|
|
|
|
|
|
|
static HRESULT WINAPI WMPPlayer_get_Error(IWMPPlayer *iface, IWMPError **ppError)
|
|
|
|
{
|
|
|
|
WindowsMediaPlayer *This = impl_from_IWMPPlayer(iface);
|
|
|
|
return WMPPlayer4_get_Error(&This->IWMPPlayer4_iface, ppError);
|
|
|
|
}
|
|
|
|
|
|
|
|
static HRESULT WINAPI WMPPlayer_get_Status(IWMPPlayer *iface, BSTR *pbstrStatus)
|
|
|
|
{
|
|
|
|
WindowsMediaPlayer *This = impl_from_IWMPPlayer(iface);
|
|
|
|
return WMPPlayer4_get_Status(&This->IWMPPlayer4_iface, pbstrStatus);
|
|
|
|
}
|
|
|
|
|
|
|
|
static HRESULT WINAPI WMPPlayer_get_enabled(IWMPPlayer *iface, VARIANT_BOOL *pbEnabled)
|
|
|
|
{
|
|
|
|
WindowsMediaPlayer *This = impl_from_IWMPPlayer(iface);
|
|
|
|
return WMPPlayer4_get_enabled(&This->IWMPPlayer4_iface, pbEnabled);
|
|
|
|
}
|
|
|
|
|
|
|
|
static HRESULT WINAPI WMPPlayer_put_enabled(IWMPPlayer *iface, VARIANT_BOOL enabled)
|
|
|
|
{
|
|
|
|
WindowsMediaPlayer *This = impl_from_IWMPPlayer(iface);
|
|
|
|
return WMPPlayer4_put_enabled(&This->IWMPPlayer4_iface, enabled);
|
|
|
|
}
|
|
|
|
|
|
|
|
static HRESULT WINAPI WMPPlayer_get_fullScreen(IWMPPlayer *iface, VARIANT_BOOL *pbFullScreen)
|
|
|
|
{
|
|
|
|
WindowsMediaPlayer *This = impl_from_IWMPPlayer(iface);
|
|
|
|
return WMPPlayer4_get_fullScreen(&This->IWMPPlayer4_iface, pbFullScreen);
|
|
|
|
}
|
|
|
|
|
|
|
|
static HRESULT WINAPI WMPPlayer_put_fullScreen(IWMPPlayer *iface, VARIANT_BOOL fullscreen)
|
|
|
|
{
|
|
|
|
WindowsMediaPlayer *This = impl_from_IWMPPlayer(iface);
|
|
|
|
return WMPPlayer4_put_fullScreen(&This->IWMPPlayer4_iface, fullscreen);
|
|
|
|
}
|
|
|
|
|
|
|
|
static HRESULT WINAPI WMPPlayer_get_enableContextMenu(IWMPPlayer *iface, VARIANT_BOOL *pbEnableContextMenu)
|
|
|
|
{
|
|
|
|
WindowsMediaPlayer *This = impl_from_IWMPPlayer(iface);
|
|
|
|
return WMPPlayer4_get_enableContextMenu(&This->IWMPPlayer4_iface, pbEnableContextMenu);
|
|
|
|
}
|
|
|
|
|
|
|
|
static HRESULT WINAPI WMPPlayer_put_enableContextMenu(IWMPPlayer *iface, VARIANT_BOOL enable)
|
|
|
|
{
|
|
|
|
WindowsMediaPlayer *This = impl_from_IWMPPlayer(iface);
|
|
|
|
return WMPPlayer4_put_enableContextMenu(&This->IWMPPlayer4_iface, enable);
|
|
|
|
}
|
|
|
|
|
|
|
|
static HRESULT WINAPI WMPPlayer_put_uiMode(IWMPPlayer *iface, BSTR mode)
|
|
|
|
{
|
|
|
|
WindowsMediaPlayer *This = impl_from_IWMPPlayer(iface);
|
|
|
|
return WMPPlayer4_put_uiMode(&This->IWMPPlayer4_iface, mode);
|
|
|
|
}
|
|
|
|
|
|
|
|
static HRESULT WINAPI WMPPlayer_get_uiMode(IWMPPlayer *iface, BSTR *pbstrMode)
|
|
|
|
{
|
|
|
|
WindowsMediaPlayer *This = impl_from_IWMPPlayer(iface);
|
|
|
|
return WMPPlayer4_get_uiMode(&This->IWMPPlayer4_iface, pbstrMode);
|
|
|
|
}
|
|
|
|
|
|
|
|
static IWMPPlayerVtbl WMPPlayerVtbl = {
|
|
|
|
WMPPlayer_QueryInterface,
|
|
|
|
WMPPlayer_AddRef,
|
|
|
|
WMPPlayer_Release,
|
|
|
|
WMPPlayer_GetTypeInfoCount,
|
|
|
|
WMPPlayer_GetTypeInfo,
|
|
|
|
WMPPlayer_GetIDsOfNames,
|
|
|
|
WMPPlayer_Invoke,
|
|
|
|
WMPPlayer_close,
|
|
|
|
WMPPlayer_get_URL,
|
|
|
|
WMPPlayer_put_URL,
|
|
|
|
WMPPlayer_get_openState,
|
|
|
|
WMPPlayer_get_playState,
|
|
|
|
WMPPlayer_get_controls,
|
|
|
|
WMPPlayer_get_settings,
|
|
|
|
WMPPlayer_get_currentMedia,
|
|
|
|
WMPPlayer_put_currentMedia,
|
|
|
|
WMPPlayer_get_mediaCollection,
|
|
|
|
WMPPlayer_get_playlistCollection,
|
|
|
|
WMPPlayer_get_versionInfo,
|
|
|
|
WMPPlayer_launchURL,
|
|
|
|
WMPPlayer_get_network,
|
|
|
|
WMPPlayer_get_currentPlaylist,
|
|
|
|
WMPPlayer_put_currentPlaylist,
|
|
|
|
WMPPlayer_get_cdromCollection,
|
|
|
|
WMPPlayer_get_closedCaption,
|
|
|
|
WMPPlayer_get_isOnline,
|
|
|
|
WMPPlayer_get_Error,
|
|
|
|
WMPPlayer_get_Status,
|
|
|
|
WMPPlayer_get_enabled,
|
|
|
|
WMPPlayer_put_enabled,
|
|
|
|
WMPPlayer_get_fullScreen,
|
|
|
|
WMPPlayer_put_fullScreen,
|
|
|
|
WMPPlayer_get_enableContextMenu,
|
|
|
|
WMPPlayer_put_enableContextMenu,
|
|
|
|
WMPPlayer_put_uiMode,
|
|
|
|
WMPPlayer_get_uiMode,
|
|
|
|
};
|
|
|
|
|
|
|
|
|
2014-02-19 17:51:52 +01:00
|
|
|
static IWMPPlayer4Vtbl WMPPlayer4Vtbl = {
|
|
|
|
WMPPlayer4_QueryInterface,
|
|
|
|
WMPPlayer4_AddRef,
|
|
|
|
WMPPlayer4_Release,
|
|
|
|
WMPPlayer4_GetTypeInfoCount,
|
|
|
|
WMPPlayer4_GetTypeInfo,
|
|
|
|
WMPPlayer4_GetIDsOfNames,
|
|
|
|
WMPPlayer4_Invoke,
|
|
|
|
WMPPlayer4_close,
|
|
|
|
WMPPlayer4_get_URL,
|
|
|
|
WMPPlayer4_put_URL,
|
|
|
|
WMPPlayer4_get_openState,
|
|
|
|
WMPPlayer4_get_playState,
|
|
|
|
WMPPlayer4_get_controls,
|
|
|
|
WMPPlayer4_get_settings,
|
|
|
|
WMPPlayer4_get_currentMedia,
|
|
|
|
WMPPlayer4_put_currentMedia,
|
|
|
|
WMPPlayer4_get_mediaCollection,
|
|
|
|
WMPPlayer4_get_playlistCollection,
|
|
|
|
WMPPlayer4_get_versionInfo,
|
|
|
|
WMPPlayer4_launchURL,
|
|
|
|
WMPPlayer4_get_network,
|
|
|
|
WMPPlayer4_get_currentPlaylist,
|
|
|
|
WMPPlayer4_put_currentPlaylist,
|
|
|
|
WMPPlayer4_get_cdromCollection,
|
|
|
|
WMPPlayer4_get_closedCaption,
|
|
|
|
WMPPlayer4_get_isOnline,
|
|
|
|
WMPPlayer4_get_Error,
|
|
|
|
WMPPlayer4_get_Status,
|
|
|
|
WMPPlayer4_get_dvd,
|
|
|
|
WMPPlayer4_newPlaylist,
|
|
|
|
WMPPlayer4_newMedia,
|
|
|
|
WMPPlayer4_get_enabled,
|
|
|
|
WMPPlayer4_put_enabled,
|
|
|
|
WMPPlayer4_get_fullScreen,
|
|
|
|
WMPPlayer4_put_fullScreen,
|
|
|
|
WMPPlayer4_get_enableContextMenu,
|
|
|
|
WMPPlayer4_put_enableContextMenu,
|
|
|
|
WMPPlayer4_put_uiMode,
|
|
|
|
WMPPlayer4_get_uiMode,
|
|
|
|
WMPPlayer4_get_stretchToFit,
|
|
|
|
WMPPlayer4_put_stretchToFit,
|
|
|
|
WMPPlayer4_get_windowlessVideo,
|
|
|
|
WMPPlayer4_put_windowlessVideo,
|
|
|
|
WMPPlayer4_get_isRemote,
|
|
|
|
WMPPlayer4_get_playerApplication,
|
|
|
|
WMPPlayer4_openPlayer
|
|
|
|
};
|
|
|
|
|
2014-02-26 12:07:15 +01:00
|
|
|
static inline WindowsMediaPlayer *impl_from_IWMPSettings(IWMPSettings *iface)
|
|
|
|
{
|
|
|
|
return CONTAINING_RECORD(iface, WindowsMediaPlayer, IWMPSettings_iface);
|
|
|
|
}
|
|
|
|
|
|
|
|
static HRESULT WINAPI WMPSettings_QueryInterface(IWMPSettings *iface, REFIID riid, void **ppv)
|
|
|
|
{
|
|
|
|
WindowsMediaPlayer *This = impl_from_IWMPSettings(iface);
|
|
|
|
return IOleObject_QueryInterface(&This->IOleObject_iface, riid, ppv);
|
|
|
|
}
|
|
|
|
|
|
|
|
static ULONG WINAPI WMPSettings_AddRef(IWMPSettings *iface)
|
|
|
|
{
|
|
|
|
WindowsMediaPlayer *This = impl_from_IWMPSettings(iface);
|
|
|
|
return IOleObject_AddRef(&This->IOleObject_iface);
|
|
|
|
}
|
|
|
|
|
|
|
|
static ULONG WINAPI WMPSettings_Release(IWMPSettings *iface)
|
|
|
|
{
|
|
|
|
WindowsMediaPlayer *This = impl_from_IWMPSettings(iface);
|
|
|
|
return IOleObject_Release(&This->IOleObject_iface);
|
|
|
|
}
|
|
|
|
|
|
|
|
static HRESULT WINAPI WMPSettings_GetTypeInfoCount(IWMPSettings *iface, UINT *pctinfo)
|
|
|
|
{
|
|
|
|
WindowsMediaPlayer *This = impl_from_IWMPSettings(iface);
|
|
|
|
FIXME("(%p)->(%p)\n", This, pctinfo);
|
|
|
|
return E_NOTIMPL;
|
|
|
|
}
|
|
|
|
|
|
|
|
static HRESULT WINAPI WMPSettings_GetTypeInfo(IWMPSettings *iface, UINT iTInfo,
|
|
|
|
LCID lcid, ITypeInfo **ppTInfo)
|
|
|
|
{
|
|
|
|
WindowsMediaPlayer *This = impl_from_IWMPSettings(iface);
|
|
|
|
FIXME("(%p)->(%u %d %p)\n", This, iTInfo, lcid, ppTInfo);
|
|
|
|
return E_NOTIMPL;
|
|
|
|
}
|
|
|
|
|
|
|
|
static HRESULT WINAPI WMPSettings_GetIDsOfNames(IWMPSettings *iface, REFIID riid,
|
|
|
|
LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId)
|
|
|
|
{
|
|
|
|
WindowsMediaPlayer *This = impl_from_IWMPSettings(iface);
|
|
|
|
FIXME("(%p)->(%s %p %u %d %p)\n", This, debugstr_guid(riid), rgszNames, cNames, lcid, rgDispId);
|
|
|
|
return E_NOTIMPL;
|
|
|
|
}
|
|
|
|
|
|
|
|
static HRESULT WINAPI WMPSettings_Invoke(IWMPSettings *iface, DISPID dispIdMember,
|
|
|
|
REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult,
|
|
|
|
EXCEPINFO *pExcepInfo, UINT *puArgErr)
|
|
|
|
{
|
|
|
|
WindowsMediaPlayer *This = impl_from_IWMPSettings(iface);
|
|
|
|
FIXME("(%p)->(%d %s %d %x %p %p %p %p)\n", This, dispIdMember, debugstr_guid(riid), lcid,
|
|
|
|
wFlags, pDispParams, pVarResult, pExcepInfo, puArgErr);
|
|
|
|
return E_NOTIMPL;
|
|
|
|
}
|
|
|
|
|
|
|
|
static HRESULT WINAPI WMPSettings_get_isAvailable(IWMPSettings *iface, BSTR item, VARIANT_BOOL *p)
|
|
|
|
{
|
|
|
|
WindowsMediaPlayer *This = impl_from_IWMPSettings(iface);
|
|
|
|
FIXME("(%p)->(%s %p)\n", This, debugstr_w(item), p);
|
|
|
|
return E_NOTIMPL;
|
|
|
|
}
|
|
|
|
|
|
|
|
static HRESULT WINAPI WMPSettings_get_autoStart(IWMPSettings *iface, VARIANT_BOOL *p)
|
|
|
|
{
|
|
|
|
WindowsMediaPlayer *This = impl_from_IWMPSettings(iface);
|
|
|
|
FIXME("(%p)->(%p)\n", This, p);
|
|
|
|
return E_NOTIMPL;
|
|
|
|
}
|
|
|
|
|
|
|
|
static HRESULT WINAPI WMPSettings_put_autoStart(IWMPSettings *iface, VARIANT_BOOL v)
|
|
|
|
{
|
|
|
|
WindowsMediaPlayer *This = impl_from_IWMPSettings(iface);
|
|
|
|
FIXME("(%p)->(%x)\n", This, v);
|
|
|
|
return E_NOTIMPL;
|
|
|
|
}
|
|
|
|
|
|
|
|
static HRESULT WINAPI WMPSettings_get_baseURL(IWMPSettings *iface, BSTR *p)
|
|
|
|
{
|
|
|
|
WindowsMediaPlayer *This = impl_from_IWMPSettings(iface);
|
|
|
|
FIXME("(%p)->(%p)\n", This, p);
|
|
|
|
return E_NOTIMPL;
|
|
|
|
}
|
|
|
|
|
|
|
|
static HRESULT WINAPI WMPSettings_put_baseURL(IWMPSettings *iface, BSTR v)
|
|
|
|
{
|
|
|
|
WindowsMediaPlayer *This = impl_from_IWMPSettings(iface);
|
|
|
|
FIXME("(%p)->(%s)\n", This, debugstr_w(v));
|
|
|
|
return E_NOTIMPL;
|
|
|
|
}
|
|
|
|
|
|
|
|
static HRESULT WINAPI WMPSettings_get_defaultFrame(IWMPSettings *iface, BSTR *p)
|
|
|
|
{
|
|
|
|
WindowsMediaPlayer *This = impl_from_IWMPSettings(iface);
|
|
|
|
FIXME("(%p)->(%p)\n", This, p);
|
|
|
|
return E_NOTIMPL;
|
|
|
|
}
|
|
|
|
|
|
|
|
static HRESULT WINAPI WMPSettings_put_defaultFrame(IWMPSettings *iface, BSTR v)
|
|
|
|
{
|
|
|
|
WindowsMediaPlayer *This = impl_from_IWMPSettings(iface);
|
|
|
|
FIXME("(%p)->(%s)\n", This, debugstr_w(v));
|
|
|
|
return E_NOTIMPL;
|
|
|
|
}
|
|
|
|
|
|
|
|
static HRESULT WINAPI WMPSettings_get_invokeURLs(IWMPSettings *iface, VARIANT_BOOL *p)
|
|
|
|
{
|
|
|
|
WindowsMediaPlayer *This = impl_from_IWMPSettings(iface);
|
|
|
|
FIXME("(%p)->(%p)\n", This, p);
|
|
|
|
return E_NOTIMPL;
|
|
|
|
}
|
|
|
|
|
|
|
|
static HRESULT WINAPI WMPSettings_put_invokeURLs(IWMPSettings *iface, VARIANT_BOOL v)
|
|
|
|
{
|
|
|
|
WindowsMediaPlayer *This = impl_from_IWMPSettings(iface);
|
|
|
|
FIXME("(%p)->(%x)\n", This, v);
|
|
|
|
return E_NOTIMPL;
|
|
|
|
}
|
|
|
|
|
|
|
|
static HRESULT WINAPI WMPSettings_get_mute(IWMPSettings *iface, VARIANT_BOOL *p)
|
|
|
|
{
|
|
|
|
WindowsMediaPlayer *This = impl_from_IWMPSettings(iface);
|
|
|
|
FIXME("(%p)->(%p)\n", This, p);
|
|
|
|
return E_NOTIMPL;
|
|
|
|
}
|
|
|
|
|
|
|
|
static HRESULT WINAPI WMPSettings_put_mute(IWMPSettings *iface, VARIANT_BOOL v)
|
|
|
|
{
|
|
|
|
WindowsMediaPlayer *This = impl_from_IWMPSettings(iface);
|
|
|
|
FIXME("(%p)->(%x)\n", This, v);
|
|
|
|
return E_NOTIMPL;
|
|
|
|
}
|
|
|
|
|
|
|
|
static HRESULT WINAPI WMPSettings_get_playCount(IWMPSettings *iface, LONG *p)
|
|
|
|
{
|
|
|
|
WindowsMediaPlayer *This = impl_from_IWMPSettings(iface);
|
|
|
|
FIXME("(%p)->(%p)\n", This, p);
|
|
|
|
return E_NOTIMPL;
|
|
|
|
}
|
|
|
|
|
|
|
|
static HRESULT WINAPI WMPSettings_put_playCount(IWMPSettings *iface, LONG v)
|
|
|
|
{
|
|
|
|
WindowsMediaPlayer *This = impl_from_IWMPSettings(iface);
|
|
|
|
FIXME("(%p)->(%d)\n", This, v);
|
|
|
|
return E_NOTIMPL;
|
|
|
|
}
|
|
|
|
|
|
|
|
static HRESULT WINAPI WMPSettings_get_rate(IWMPSettings *iface, double *p)
|
|
|
|
{
|
|
|
|
WindowsMediaPlayer *This = impl_from_IWMPSettings(iface);
|
|
|
|
FIXME("(%p)->(%p)\n", This, p);
|
|
|
|
return E_NOTIMPL;
|
|
|
|
}
|
|
|
|
|
|
|
|
static HRESULT WINAPI WMPSettings_put_rate(IWMPSettings *iface, double v)
|
|
|
|
{
|
|
|
|
WindowsMediaPlayer *This = impl_from_IWMPSettings(iface);
|
|
|
|
FIXME("(%p)->(%lf)\n", This, v);
|
|
|
|
return E_NOTIMPL;
|
|
|
|
}
|
|
|
|
|
|
|
|
static HRESULT WINAPI WMPSettings_get_balance(IWMPSettings *iface, LONG *p)
|
|
|
|
{
|
|
|
|
WindowsMediaPlayer *This = impl_from_IWMPSettings(iface);
|
|
|
|
FIXME("(%p)->(%p)\n", This, p);
|
|
|
|
return E_NOTIMPL;
|
|
|
|
}
|
|
|
|
|
|
|
|
static HRESULT WINAPI WMPSettings_put_balance(IWMPSettings *iface, LONG v)
|
|
|
|
{
|
|
|
|
WindowsMediaPlayer *This = impl_from_IWMPSettings(iface);
|
|
|
|
FIXME("(%p)->(%d)\n", This, v);
|
|
|
|
return E_NOTIMPL;
|
|
|
|
}
|
|
|
|
|
|
|
|
static HRESULT WINAPI WMPSettings_get_volume(IWMPSettings *iface, LONG *p)
|
|
|
|
{
|
|
|
|
WindowsMediaPlayer *This = impl_from_IWMPSettings(iface);
|
|
|
|
FIXME("(%p)->(%p)\n", This, p);
|
|
|
|
return E_NOTIMPL;
|
|
|
|
}
|
|
|
|
|
|
|
|
static HRESULT WINAPI WMPSettings_put_volume(IWMPSettings *iface, LONG v)
|
|
|
|
{
|
|
|
|
WindowsMediaPlayer *This = impl_from_IWMPSettings(iface);
|
|
|
|
FIXME("(%p)->(%d)\n", This, v);
|
|
|
|
return E_NOTIMPL;
|
|
|
|
}
|
|
|
|
|
|
|
|
static HRESULT WINAPI WMPSettings_getMode(IWMPSettings *iface, BSTR mode, VARIANT_BOOL *p)
|
|
|
|
{
|
|
|
|
WindowsMediaPlayer *This = impl_from_IWMPSettings(iface);
|
|
|
|
FIXME("(%p)->(%s %p)\n", This, debugstr_w(mode), p);
|
|
|
|
return E_NOTIMPL;
|
|
|
|
}
|
|
|
|
|
|
|
|
static HRESULT WINAPI WMPSettings_setMode(IWMPSettings *iface, BSTR mode, VARIANT_BOOL v)
|
|
|
|
{
|
|
|
|
WindowsMediaPlayer *This = impl_from_IWMPSettings(iface);
|
|
|
|
FIXME("(%p)->(%s %x)\n", This, debugstr_w(mode), v);
|
|
|
|
return E_NOTIMPL;
|
|
|
|
}
|
|
|
|
|
|
|
|
static HRESULT WINAPI WMPSettings_get_enableErrorDialogs(IWMPSettings *iface, VARIANT_BOOL *p)
|
|
|
|
{
|
|
|
|
WindowsMediaPlayer *This = impl_from_IWMPSettings(iface);
|
|
|
|
FIXME("(%p)->(%p)\n", This, p);
|
|
|
|
return E_NOTIMPL;
|
|
|
|
}
|
|
|
|
|
|
|
|
static HRESULT WINAPI WMPSettings_put_enableErrorDialogs(IWMPSettings *iface, VARIANT_BOOL v)
|
|
|
|
{
|
|
|
|
WindowsMediaPlayer *This = impl_from_IWMPSettings(iface);
|
|
|
|
FIXME("(%p)->(%x)\n", This, v);
|
|
|
|
return E_NOTIMPL;
|
|
|
|
}
|
|
|
|
|
|
|
|
static const IWMPSettingsVtbl WMPSettingsVtbl = {
|
|
|
|
WMPSettings_QueryInterface,
|
|
|
|
WMPSettings_AddRef,
|
|
|
|
WMPSettings_Release,
|
|
|
|
WMPSettings_GetTypeInfoCount,
|
|
|
|
WMPSettings_GetTypeInfo,
|
|
|
|
WMPSettings_GetIDsOfNames,
|
|
|
|
WMPSettings_Invoke,
|
|
|
|
WMPSettings_get_isAvailable,
|
|
|
|
WMPSettings_get_autoStart,
|
|
|
|
WMPSettings_put_autoStart,
|
|
|
|
WMPSettings_get_baseURL,
|
|
|
|
WMPSettings_put_baseURL,
|
|
|
|
WMPSettings_get_defaultFrame,
|
|
|
|
WMPSettings_put_defaultFrame,
|
|
|
|
WMPSettings_get_invokeURLs,
|
|
|
|
WMPSettings_put_invokeURLs,
|
|
|
|
WMPSettings_get_mute,
|
|
|
|
WMPSettings_put_mute,
|
|
|
|
WMPSettings_get_playCount,
|
|
|
|
WMPSettings_put_playCount,
|
|
|
|
WMPSettings_get_rate,
|
|
|
|
WMPSettings_put_rate,
|
|
|
|
WMPSettings_get_balance,
|
|
|
|
WMPSettings_put_balance,
|
|
|
|
WMPSettings_get_volume,
|
|
|
|
WMPSettings_put_volume,
|
|
|
|
WMPSettings_getMode,
|
|
|
|
WMPSettings_setMode,
|
|
|
|
WMPSettings_get_enableErrorDialogs,
|
|
|
|
WMPSettings_put_enableErrorDialogs
|
|
|
|
};
|
|
|
|
|
2018-02-19 08:31:25 +01:00
|
|
|
HRESULT WINAPI WMPControls_QueryInterface(IWMPControls *iface, REFIID riid, void **ppv)
|
|
|
|
{
|
|
|
|
if(IsEqualGUID(riid, &IID_IDispatch)) {
|
|
|
|
*ppv = iface;
|
|
|
|
}else if(IsEqualGUID(riid, &IID_IWMPControls)) {
|
|
|
|
*ppv = iface;
|
|
|
|
}else {
|
|
|
|
WARN("Unsupported interface (%s)\n", wine_dbgstr_guid(riid));
|
|
|
|
*ppv = NULL;
|
|
|
|
return E_NOINTERFACE;
|
|
|
|
}
|
|
|
|
|
|
|
|
IUnknown_AddRef((IUnknown*)*ppv);
|
|
|
|
return S_OK;
|
|
|
|
}
|
|
|
|
|
|
|
|
static ULONG WINAPI WMPControls_AddRef(IWMPControls *iface)
|
|
|
|
{
|
|
|
|
WindowsMediaPlayer *This = impl_from_IWMPControls(iface);
|
|
|
|
return IOleObject_AddRef(&This->IOleObject_iface);
|
|
|
|
}
|
|
|
|
|
|
|
|
static ULONG WINAPI WMPControls_Release(IWMPControls *iface)
|
|
|
|
{
|
|
|
|
WindowsMediaPlayer *This = impl_from_IWMPControls(iface);
|
|
|
|
return IOleObject_Release(&This->IOleObject_iface);
|
|
|
|
}
|
|
|
|
|
|
|
|
static HRESULT WINAPI WMPControls_GetTypeInfoCount(IWMPControls *iface, UINT *pctinfo)
|
|
|
|
{
|
|
|
|
WindowsMediaPlayer *This = impl_from_IWMPControls(iface);
|
|
|
|
FIXME("(%p)->(%p)\n", This, pctinfo);
|
|
|
|
return E_NOTIMPL;
|
|
|
|
}
|
|
|
|
|
|
|
|
static HRESULT WINAPI WMPControls_GetTypeInfo(IWMPControls *iface, UINT iTInfo,
|
|
|
|
LCID lcid, ITypeInfo **ppTInfo)
|
|
|
|
{
|
|
|
|
WindowsMediaPlayer *This = impl_from_IWMPControls(iface);
|
|
|
|
FIXME("(%p)->(%u %d %p)\n", This, iTInfo, lcid, ppTInfo);
|
|
|
|
return E_NOTIMPL;
|
|
|
|
}
|
|
|
|
|
|
|
|
static HRESULT WINAPI WMPControls_GetIDsOfNames(IWMPControls *iface, REFIID riid,
|
|
|
|
LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId)
|
|
|
|
{
|
|
|
|
WindowsMediaPlayer *This = impl_from_IWMPControls(iface);
|
|
|
|
FIXME("(%p)->(%s %p %u %d %p)\n", This, debugstr_guid(riid), rgszNames, cNames, lcid, rgDispId);
|
|
|
|
return E_NOTIMPL;
|
|
|
|
}
|
|
|
|
|
|
|
|
static HRESULT WINAPI WMPControls_Invoke(IWMPControls *iface, DISPID dispIdMember,
|
|
|
|
REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult,
|
|
|
|
EXCEPINFO *pExcepInfo, UINT *puArgErr)
|
|
|
|
{
|
|
|
|
WindowsMediaPlayer *This = impl_from_IWMPControls(iface);
|
|
|
|
FIXME("(%p)->(%d %s %d %x %p %p %p %p)\n", This, dispIdMember, debugstr_guid(riid), lcid,
|
|
|
|
wFlags, pDispParams, pVarResult, pExcepInfo, puArgErr);
|
|
|
|
return E_NOTIMPL;
|
|
|
|
}
|
|
|
|
|
|
|
|
static HRESULT WINAPI WMPControls_get_isAvailable(IWMPControls *iface, BSTR bstrItem, VARIANT_BOOL *pIsAvailable)
|
|
|
|
{
|
|
|
|
WindowsMediaPlayer *This = impl_from_IWMPControls(iface);
|
|
|
|
FIXME("(%p)->(%s)\n", This, debugstr_w(bstrItem));
|
|
|
|
return E_NOTIMPL;
|
|
|
|
}
|
|
|
|
|
|
|
|
HRESULT WINAPI WMPControls_play(IWMPControls *iface)
|
|
|
|
{
|
|
|
|
WindowsMediaPlayer *This = impl_from_IWMPControls(iface);
|
|
|
|
FIXME("(%p)\n", This);
|
|
|
|
return E_NOTIMPL;
|
|
|
|
}
|
|
|
|
|
|
|
|
HRESULT WINAPI WMPControls_stop(IWMPControls *iface)
|
|
|
|
{
|
|
|
|
WindowsMediaPlayer *This = impl_from_IWMPControls(iface);
|
|
|
|
FIXME("(%p)\n", This);
|
|
|
|
return E_NOTIMPL;
|
|
|
|
}
|
|
|
|
|
|
|
|
HRESULT WINAPI WMPControls_pause(IWMPControls *iface)
|
|
|
|
{
|
|
|
|
WindowsMediaPlayer *This = impl_from_IWMPControls(iface);
|
|
|
|
FIXME("(%p)\n", This);
|
|
|
|
return E_NOTIMPL;
|
|
|
|
}
|
|
|
|
|
|
|
|
HRESULT WINAPI WMPControls_fastForward(IWMPControls *iface)
|
|
|
|
{
|
|
|
|
WindowsMediaPlayer *This = impl_from_IWMPControls(iface);
|
|
|
|
FIXME("(%p)\n", This);
|
|
|
|
return E_NOTIMPL;
|
|
|
|
}
|
|
|
|
|
|
|
|
HRESULT WINAPI WMPControls_fastReverse(IWMPControls *iface)
|
|
|
|
{
|
|
|
|
WindowsMediaPlayer *This = impl_from_IWMPControls(iface);
|
|
|
|
FIXME("(%p)\n", This);
|
|
|
|
return E_NOTIMPL;
|
|
|
|
}
|
|
|
|
|
|
|
|
HRESULT WINAPI WMPControls_get_currentPosition(IWMPControls *iface, DOUBLE *pdCurrentPosition)
|
|
|
|
{
|
|
|
|
WindowsMediaPlayer *This = impl_from_IWMPControls(iface);
|
|
|
|
FIXME("(%p)->(%p)\n", This, pdCurrentPosition);
|
|
|
|
return E_NOTIMPL;
|
|
|
|
}
|
|
|
|
|
|
|
|
HRESULT WINAPI WMPControls_put_currentPosition(IWMPControls *iface, DOUBLE dCurrentPosition)
|
|
|
|
{
|
|
|
|
WindowsMediaPlayer *This = impl_from_IWMPControls(iface);
|
|
|
|
FIXME("(%p)->(%f)\n", This, dCurrentPosition);
|
|
|
|
return E_NOTIMPL;
|
|
|
|
}
|
|
|
|
|
|
|
|
HRESULT WINAPI WMPControls_get_currentPositionString(IWMPControls *iface, BSTR *pbstrCurrentPosition)
|
|
|
|
{
|
|
|
|
WindowsMediaPlayer *This = impl_from_IWMPControls(iface);
|
|
|
|
FIXME("(%p)->(%p)\n", This, pbstrCurrentPosition);
|
|
|
|
return E_NOTIMPL;
|
|
|
|
}
|
|
|
|
|
|
|
|
HRESULT WINAPI WMPControls_next(IWMPControls *iface)
|
|
|
|
{
|
|
|
|
WindowsMediaPlayer *This = impl_from_IWMPControls(iface);
|
|
|
|
FIXME("(%p)\n", This);
|
|
|
|
return E_NOTIMPL;
|
|
|
|
}
|
|
|
|
|
|
|
|
HRESULT WINAPI WMPControls_previous(IWMPControls *iface)
|
|
|
|
{
|
|
|
|
WindowsMediaPlayer *This = impl_from_IWMPControls(iface);
|
|
|
|
FIXME("(%p)\n", This);
|
|
|
|
return E_NOTIMPL;
|
|
|
|
}
|
|
|
|
|
|
|
|
HRESULT WINAPI WMPControls_get_currentItem(IWMPControls *iface, IWMPMedia **ppIWMPMedia)
|
|
|
|
{
|
|
|
|
WindowsMediaPlayer *This = impl_from_IWMPControls(iface);
|
|
|
|
FIXME("(%p)->(%p)\n", This, ppIWMPMedia);
|
|
|
|
return E_NOTIMPL;
|
|
|
|
}
|
|
|
|
|
|
|
|
HRESULT WINAPI WMPControls_put_currentItem(IWMPControls *iface, IWMPMedia *pIWMPMedia)
|
|
|
|
{
|
|
|
|
WindowsMediaPlayer *This = impl_from_IWMPControls(iface);
|
|
|
|
FIXME("(%p)->(%p)\n", This, pIWMPMedia);
|
|
|
|
return E_NOTIMPL;
|
|
|
|
}
|
|
|
|
|
|
|
|
HRESULT WINAPI WMPControls_get_currentMarker(IWMPControls *iface, LONG *plMarker)
|
|
|
|
{
|
|
|
|
WindowsMediaPlayer *This = impl_from_IWMPControls(iface);
|
|
|
|
FIXME("(%p)->(%p)\n", This, plMarker);
|
|
|
|
return E_NOTIMPL;
|
|
|
|
}
|
|
|
|
|
|
|
|
HRESULT WINAPI WMPControls_put_currentMarker(IWMPControls *iface, LONG lMarker)
|
|
|
|
{
|
|
|
|
WindowsMediaPlayer *This = impl_from_IWMPControls(iface);
|
|
|
|
FIXME("(%p)->(%d)\n", This, lMarker);
|
|
|
|
return E_NOTIMPL;
|
|
|
|
}
|
|
|
|
|
|
|
|
HRESULT WINAPI WMPControls_playItem(IWMPControls *iface, IWMPMedia *pIWMPMedia)
|
|
|
|
{
|
|
|
|
WindowsMediaPlayer *This = impl_from_IWMPControls(iface);
|
|
|
|
FIXME("(%p)->(%p)\n", This, pIWMPMedia);
|
|
|
|
return E_NOTIMPL;
|
|
|
|
}
|
|
|
|
|
|
|
|
static const IWMPControlsVtbl WMPControlsVtbl = {
|
|
|
|
WMPControls_QueryInterface,
|
|
|
|
WMPControls_AddRef,
|
|
|
|
WMPControls_Release,
|
|
|
|
WMPControls_GetTypeInfoCount,
|
|
|
|
WMPControls_GetTypeInfo,
|
|
|
|
WMPControls_GetIDsOfNames,
|
|
|
|
WMPControls_Invoke,
|
|
|
|
WMPControls_get_isAvailable,
|
|
|
|
WMPControls_play,
|
|
|
|
WMPControls_stop,
|
|
|
|
WMPControls_pause,
|
|
|
|
WMPControls_fastForward,
|
|
|
|
WMPControls_fastReverse,
|
|
|
|
WMPControls_get_currentPosition,
|
|
|
|
WMPControls_put_currentPosition,
|
|
|
|
WMPControls_get_currentPositionString,
|
|
|
|
WMPControls_next,
|
|
|
|
WMPControls_previous,
|
|
|
|
WMPControls_get_currentItem,
|
|
|
|
WMPControls_put_currentItem,
|
|
|
|
WMPControls_get_currentMarker,
|
|
|
|
WMPControls_put_currentMarker,
|
|
|
|
WMPControls_playItem,
|
|
|
|
};
|
|
|
|
|
2014-02-19 17:51:52 +01:00
|
|
|
void init_player_ifaces(WindowsMediaPlayer *wmp)
|
|
|
|
{
|
|
|
|
wmp->IWMPPlayer4_iface.lpVtbl = &WMPPlayer4Vtbl;
|
2018-02-07 21:24:44 +01:00
|
|
|
wmp->IWMPPlayer_iface.lpVtbl = &WMPPlayerVtbl;
|
2014-02-26 12:07:15 +01:00
|
|
|
wmp->IWMPSettings_iface.lpVtbl = &WMPSettingsVtbl;
|
2018-02-19 08:31:25 +01:00
|
|
|
wmp->IWMPControls_iface.lpVtbl = &WMPControlsVtbl;
|
2014-02-19 17:51:52 +01:00
|
|
|
}
|