Commit b0b6728c authored by Jacek Caban's avatar Jacek Caban Committed by Alexandre Julliard

wmp: Added IWMPPlayer4 stub implementation.

parent 92517e2c
......@@ -2,6 +2,7 @@ MODULE = wmp.dll
C_SRCS = \
oleobj.c \
player.c \
wmp_main.c
RC_SRCS = rsrc.rc
......
......@@ -23,18 +23,6 @@
WINE_DEFAULT_DEBUG_CHANNEL(wmp);
struct WindowsMediaPlayer {
IOleObject IOleObject_iface;
IProvideClassInfo2 IProvideClassInfo2_iface;
IPersistStreamInit IPersistStreamInit_iface;
IOleInPlaceObjectWindowless IOleInPlaceObjectWindowless_iface;
IConnectionPointContainer IConnectionPointContainer_iface;
LONG ref;
IOleClientSite *client_site;
};
static void release_client_site(WindowsMediaPlayer *This)
{
if(!This->client_site)
......@@ -83,6 +71,18 @@ static HRESULT WINAPI OleObject_QueryInterface(IOleObject *iface, REFIID riid, v
}else if(IsEqualGUID(riid, &IID_IConnectionPointContainer)) {
TRACE("(%p)->(IID_IConnectionPointContainer %p)\n", This, ppv);
*ppv = &This->IConnectionPointContainer_iface;
}else if(IsEqualGUID(riid, &IID_IWMPCore)) {
TRACE("(%p)->(IID_IWMPCore %p)\n", This, ppv);
*ppv = &This->IWMPPlayer4_iface;
}else if(IsEqualGUID(riid, &IID_IWMPCore2)) {
TRACE("(%p)->(IID_IWMPCore2 %p)\n", This, ppv);
*ppv = &This->IWMPPlayer4_iface;
}else if(IsEqualGUID(riid, &IID_IWMPCore3)) {
TRACE("(%p)->(IID_IWMPCore3 %p)\n", This, ppv);
*ppv = &This->IWMPPlayer4_iface;
}else if(IsEqualGUID(riid, &IID_IWMPPlayer4)) {
TRACE("(%p)->(IID_IWMPPlayer4 %p)\n", This, ppv);
*ppv = &This->IWMPPlayer4_iface;
}else {
FIXME("(%p)->(%s %p)\n", This, debugstr_guid(riid), ppv);
*ppv = NULL;
......@@ -633,6 +633,8 @@ HRESULT WINAPI WMPFactory_CreateInstance(IClassFactory *iface, IUnknown *outer,
wmp->ref = 1;
init_player_ifaces(wmp);
hres = IOleObject_QueryInterface(&wmp->IOleObject_iface, riid, ppv);
IOleObject_Release(&wmp->IOleObject_iface);
return hres;
......
......@@ -22,6 +22,21 @@
#include "ole2.h"
#include "wmp.h"
struct WindowsMediaPlayer {
IOleObject IOleObject_iface;
IProvideClassInfo2 IProvideClassInfo2_iface;
IPersistStreamInit IPersistStreamInit_iface;
IOleInPlaceObjectWindowless IOleInPlaceObjectWindowless_iface;
IConnectionPointContainer IConnectionPointContainer_iface;
IWMPPlayer4 IWMPPlayer4_iface;
LONG ref;
IOleClientSite *client_site;
};
void init_player_ifaces(WindowsMediaPlayer*) DECLSPEC_HIDDEN;
HRESULT WINAPI WMPFactory_CreateInstance(IClassFactory*,IUnknown*,REFIID,void**) DECLSPEC_HIDDEN;
static inline void *heap_alloc(size_t len)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment