123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979 |
- /**************************************************************************
- THIS CODE AND INFORMATION IS PROVIDED 'AS IS' WITHOUT WARRANTY OF
- ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
- THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
- PARTICULAR PURPOSE.
- Copyright 1998 Microsoft Corporation. All Rights Reserved.
- **************************************************************************/
- /**************************************************************************
- File: contnr.cpp
- Description: This file contains the complete implementation of an
- ActiveX control container. This purpose of this container
- is to test a single control being hosted.
- **************************************************************************/
- /**************************************************************************
- #include statements
- **************************************************************************/
- #include "main.h"
- #include <windows.h>
- #include <commctrl.h>
- #include "contnr.h"
- #include <mshtmdid.h>
- #include <shlobj.h>
- #include "ml_local.h"
- /**************************************************************************
- CContainer::CContainer()
- **************************************************************************/
- extern IDispatch *winampExternal;
- CContainer::CContainer()
- {
- m_cRefs = 1;
- m_hwnd = NULL;
- m_punk = NULL;
- m_scrollbars= 1;
- m_allowScripts=1;
- m_restrictAlreadySet=0;
- m_hwndStatus = 0;
-
- }
- /**************************************************************************
- CContainer::~CContainer()
- **************************************************************************/
- CContainer::~CContainer()
- {
- if (m_punk)
- {
- m_punk->Release();
- m_punk=NULL;
- }
- }
- /**************************************************************************
- CContainer::QueryInterface()
- **************************************************************************/
- STDMETHODIMP CContainer::QueryInterface(REFIID riid, PVOID *ppvObject)
- {
- if (!ppvObject)
- return E_POINTER;
- if (IsEqualIID(riid, IID_IOleClientSite))
- *ppvObject = (IOleClientSite *)this;
- else if (IsEqualIID(riid, IID_IOleInPlaceSite))
- *ppvObject = (IOleInPlaceSite *)this;
- else if (IsEqualIID(riid, IID_IOleInPlaceFrame))
- *ppvObject = (IOleInPlaceFrame *)this;
- else if (IsEqualIID(riid, IID_IOleInPlaceUIWindow))
- *ppvObject = (IOleInPlaceUIWindow *)this;
- else if (IsEqualIID(riid, IID_IOleControlSite))
- *ppvObject = (IOleControlSite *)this;
- else if (IsEqualIID(riid, IID_IOleWindow))
- *ppvObject = this;
- else if (IsEqualIID(riid, IID_IDispatch))
- *ppvObject = (IDispatch *)this;
- else if (IsEqualIID(riid, IID_IUnknown))
- *ppvObject = this;
- else if (IsEqualIID(riid, IID_IDocHostUIHandler))
- *ppvObject = (IDocHostUIHandler *)this;
- else
- {
- *ppvObject = NULL;
- return E_NOINTERFACE;
- }
- AddRef();
- return S_OK;
- }
- /**************************************************************************
- CContainer::AddRef()
- **************************************************************************/
- ULONG CContainer::AddRef(void)
- {
- return ++m_cRefs;
- }
- /**************************************************************************
- CContainer::Release()
- **************************************************************************/
- ULONG CContainer::Release(void)
- {
- if (--m_cRefs)
- return m_cRefs;
- delete this;
- return 0;
- }
- /**************************************************************************
- CContainer::SaveObject()
- **************************************************************************/
- HRESULT CContainer::SaveObject()
- {
- return E_NOTIMPL;
- }
- /**************************************************************************
- CContainer::GetMoniker()
- **************************************************************************/
- HRESULT CContainer::GetMoniker(DWORD dwAssign, DWORD dwWhichMoniker, LPMONIKER * ppMk)
- {
- return E_NOTIMPL;
- }
- /**************************************************************************
- CContainer::GetContainer()
- **************************************************************************/
- HRESULT CContainer::GetContainer(LPOLECONTAINER * ppContainer)
- {
- return E_NOINTERFACE;
- }
- /**************************************************************************
- CContainer::ShowObject()
- **************************************************************************/
- HRESULT CContainer::ShowObject()
- {
- return S_OK;
- }
- /**************************************************************************
- CContainer::OnShowWindow()
- **************************************************************************/
- HRESULT CContainer::OnShowWindow(BOOL fShow)
- {
- return S_OK;
- }
- /**************************************************************************
- CContainer::RequestNewObjectLayout()
- **************************************************************************/
- HRESULT CContainer::RequestNewObjectLayout()
- {
- return E_NOTIMPL;
- }
- // ***********************************************************************
- // IOleWindow
- // ***********************************************************************
- /**************************************************************************
- CContainer::GetWindow()
- **************************************************************************/
- HRESULT CContainer::GetWindow(HWND * lphwnd)
- {
- if (!IsWindow(m_hwnd))
- return S_FALSE;
- *lphwnd = m_hwnd;
- return S_OK;
- }
- /**************************************************************************
- CContainer::ContextSensitiveHelp()
- **************************************************************************/
- HRESULT CContainer::ContextSensitiveHelp(BOOL fEnterMode)
- {
- return E_NOTIMPL;
- }
- // ***********************************************************************
- // IOleInPlaceSite
- // ***********************************************************************
- /**************************************************************************
- CContainer::CanInPlaceActivate()
- **************************************************************************/
- HRESULT CContainer::CanInPlaceActivate(void)
- {
- return S_OK;
- }
- /**************************************************************************
- CContainer::OnInPlaceActivate()
- **************************************************************************/
- HRESULT CContainer::OnInPlaceActivate(void)
- {
- return S_OK;
- }
- /**************************************************************************
- CContainer::OnUIActivate()
- **************************************************************************/
- HRESULT CContainer::OnUIActivate(void)
- {
- return S_OK;
- }
- /**************************************************************************
- CContainer::GetWindowContext()
- **************************************************************************/
- HRESULT CContainer::GetWindowContext (IOleInPlaceFrame ** ppFrame, IOleInPlaceUIWindow ** ppIIPUIWin,
- LPRECT lprcPosRect, LPRECT lprcClipRect, LPOLEINPLACEFRAMEINFO lpFrameInfo)
- {
- *ppFrame = (IOleInPlaceFrame *)this;
- *ppIIPUIWin = NULL;
- RECT rect;
- GetClientRect(m_hwnd, &rect);
- lprcPosRect->left = 0;
- lprcPosRect->top = 0;
- lprcPosRect->right = rect.right;
- lprcPosRect->bottom = rect.bottom;
- CopyRect(lprcClipRect, lprcPosRect);
- lpFrameInfo->cb = sizeof(OLEINPLACEFRAMEINFO);
- lpFrameInfo->fMDIApp = FALSE;
- lpFrameInfo->hwndFrame = m_hwnd;
- lpFrameInfo->haccel = 0;
- lpFrameInfo->cAccelEntries = 0;
- (*ppFrame)->AddRef();
- return S_OK;
- }
- /**************************************************************************
- CContainer::Scroll()
- **************************************************************************/
- HRESULT CContainer::Scroll(SIZE scrollExtent)
- {
- return E_NOTIMPL;
- }
- /**************************************************************************
- CContainer::OnUIDeactivate()
- **************************************************************************/
- HRESULT CContainer::OnUIDeactivate(BOOL fUndoable)
- {
- return S_OK;
- }
- /**************************************************************************
- CContainer::OnInPlaceDeactivate()
- **************************************************************************/
- HRESULT CContainer::OnInPlaceDeactivate(void)
- {
- return S_OK;
- }
- /**************************************************************************
- CContainer::DiscardUndoState()
- **************************************************************************/
- HRESULT CContainer::DiscardUndoState(void)
- {
- return E_NOTIMPL;
- }
- /**************************************************************************
- CContainer::DeactivateAndUndo()
- **************************************************************************/
- HRESULT CContainer::DeactivateAndUndo(void)
- {
- return E_NOTIMPL;
- }
- /**************************************************************************
- CContainer::OnPosRectChange()
- **************************************************************************/
- HRESULT CContainer::OnPosRectChange(LPCRECT lprcPosRect)
- {
- HRESULT hr;
- IOleInPlaceObject *pipo;
- hr = m_punk->QueryInterface(IID_IOleInPlaceObject, (PVOID *)&pipo);
- if (SUCCEEDED(hr))
- {
- pipo->SetObjectRects(lprcPosRect, lprcPosRect);
- pipo->Release();
- }
- return(S_OK);
- }
- // ***********************************************************************
- // IOleInPlaceUIWindow
- // ***********************************************************************
- /**************************************************************************
- CContainer::GetBorder()
- **************************************************************************/
- HRESULT CContainer::GetBorder(LPRECT lprectBorder)
- {
- return E_NOTIMPL;
- }
- /**************************************************************************
- CContainer::RequestBorderSpace()
- **************************************************************************/
- HRESULT CContainer::RequestBorderSpace(LPCBORDERWIDTHS lpborderwidths)
- {
- return E_NOTIMPL;
- }
- /**************************************************************************
- CContainer::SetBorderSpace()
- **************************************************************************/
- HRESULT CContainer::SetBorderSpace(LPCBORDERWIDTHS lpborderwidths)
- {
- return E_NOTIMPL;
- }
- /**************************************************************************
- CContainer::SetActiveObject()
- **************************************************************************/
- HRESULT CContainer::SetActiveObject(IOleInPlaceActiveObject * pActiveObject, LPCOLESTR lpszObjName)
- {
- return S_OK;
- }
- // ***********************************************************************
- // IOleInPlaceFrame
- // ***********************************************************************
- /**************************************************************************
- CContainer::InsertMenus()
- **************************************************************************/
- HRESULT CContainer::InsertMenus(HMENU hmenuShared, LPOLEMENUGROUPWIDTHS lpMenuWidths)
- {
- return E_NOTIMPL;
- }
- /**************************************************************************
- CContainer::SetMenu()
- **************************************************************************/
- HRESULT CContainer::SetMenu(HMENU hmenuShared, HOLEMENU holemenu, HWND hwndActiveObject)
- {
- return S_OK;
- }
- /**************************************************************************
- CContainer::RemoveMenus()
- **************************************************************************/
- HRESULT CContainer::RemoveMenus(HMENU hmenuShared)
- {
- return E_NOTIMPL;
- }
- /**************************************************************************
- CContainer::SetStatusText()
- **************************************************************************/
- HRESULT CContainer::SetStatusText(LPCOLESTR pszStatusText)
- {
- char status[MAX_PATH]; // ansi version of status text
- if (NULL == pszStatusText)
- return E_POINTER;
- WideCharToMultiByte(CP_ACP, 0, pszStatusText, -1, status, MAX_PATH, NULL, NULL);
- if (IsWindow(m_hwndStatus))
- SendMessage(m_hwndStatus, SB_SETTEXT, (WPARAM)0, (LPARAM)status);
- return (S_OK);
- }
- /**************************************************************************
- CContainer::EnableModeless()
- **************************************************************************/
- HRESULT CContainer::EnableModeless(BOOL fEnable)
- {
- return S_OK;
- }
- /**************************************************************************
- CContainer::TranslateAccelerator()
- **************************************************************************/
- HRESULT CContainer::TranslateAccelerator(LPMSG lpmsg, WORD wID)
- {
- return E_NOTIMPL;
- }
- // ***********************************************************************
- // IOleControlSite
- // ***********************************************************************
- /**************************************************************************
- CContainer::OnControlInfoChanged()
- **************************************************************************/
- HRESULT CContainer::OnControlInfoChanged()
- {
- return E_NOTIMPL;
- }
- /**************************************************************************
- CContainer::LockInPlaceActive()
- **************************************************************************/
- HRESULT CContainer::LockInPlaceActive(BOOL fLock)
- {
- return E_NOTIMPL;
- }
- /**************************************************************************
- CContainer::GetExtendedControl()
- **************************************************************************/
- HRESULT CContainer::GetExtendedControl(IDispatch **ppDisp)
- {
- if (ppDisp == NULL)
- return E_INVALIDARG;
- *ppDisp = (IDispatch *)this;
- (*ppDisp)->AddRef();
- return S_OK;
- }
- /**************************************************************************
- CContainer::TransformCoords()
- **************************************************************************/
- HRESULT CContainer::TransformCoords(POINTL *pptlHimetric, POINTF *pptfContainer, DWORD dwFlags)
- {
- return E_NOTIMPL;
- }
- /**************************************************************************
- CContainer::TranslateAccelerator()
- **************************************************************************/
- HRESULT CContainer::TranslateAccelerator(LPMSG pMsg, DWORD grfModifiers)
- {
- return S_FALSE;
- }
- /**************************************************************************
- CContainer::OnFocus()
- **************************************************************************/
- HRESULT CContainer::OnFocus(BOOL fGotFocus)
- {
- return E_NOTIMPL;
- }
- /**************************************************************************
- CContainer::ShowPropertyFrame()
- **************************************************************************/
- HRESULT CContainer::ShowPropertyFrame(void)
- {
- return E_NOTIMPL;
- }
- // ***********************************************************************
- // IDispatch
- // ***********************************************************************
- /**************************************************************************
- CContainer::GetIDsOfNames()
- **************************************************************************/
- HRESULT CContainer::GetIDsOfNames(REFIID riid, OLECHAR FAR* FAR* rgszNames, unsigned int cNames, LCID lcid, DISPID FAR* rgdispid)
- {
- *rgdispid = DISPID_UNKNOWN;
- return DISP_E_UNKNOWNNAME;
- }
- /**************************************************************************
- CContainer::GetTypeInfo()
- **************************************************************************/
- HRESULT CContainer::GetTypeInfo(unsigned int itinfo, LCID lcid, ITypeInfo FAR* FAR* pptinfo)
- {
- return E_NOTIMPL;
- }
- /**************************************************************************
- CContainer::GetTypeInfoCount()
- **************************************************************************/
- HRESULT CContainer::GetTypeInfoCount(unsigned int FAR * pctinfo)
- {
- return E_NOTIMPL;
- }
- /**************************************************************************
- CContainer::Invoke()
- **************************************************************************/
- HRESULT CContainer::Invoke(DISPID dispid, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS FAR *pdispparams, VARIANT FAR *pvarResult, EXCEPINFO FAR * pexecinfo, unsigned int FAR *puArgErr)
- {
- if(dispid==DISPID_AMBIENT_DLCONTROL)
- {
- m_restrictAlreadySet=1;
- if(!m_allowScripts)
- {
- pvarResult->vt = VT_I4;
- pvarResult->lVal = DLCTL_DLIMAGES|DLCTL_NO_SCRIPTS|DLCTL_NO_DLACTIVEXCTLS|DLCTL_NO_RUNACTIVEXCTLS|DLCTL_NO_JAVA;
- return S_OK;
- }
- }
- return DISP_E_MEMBERNOTFOUND;
- }
- // ***********************************************************************
- // Public (non-interface) Methods
- // ***********************************************************************
- /**************************************************************************
- CContainer::add()
- **************************************************************************/
- void CContainer::add(BSTR bstrClsid)
- {
- CLSID clsid; // CLSID of the control object
- HRESULT hr; // return code
- CLSIDFromString(bstrClsid, &clsid);
- CoCreateInstance(clsid,
- NULL,
- CLSCTX_INPROC_SERVER | CLSCTX_LOCAL_SERVER,
- IID_IUnknown,
- (PVOID *)&m_punk);
- if (!m_punk)
- return;
- IOleObject *pioo;
- hr = m_punk->QueryInterface(IID_IOleObject, (PVOID *)&pioo);
- if (FAILED(hr))
- return;
- pioo->SetClientSite(this);
- pioo->Release();
- IPersistStreamInit *ppsi;
- hr = m_punk->QueryInterface(IID_IPersistStreamInit, (PVOID *)&ppsi);
- if (SUCCEEDED(hr))
- {
- ppsi->InitNew();
- ppsi->Release();
- }
- }
- /**************************************************************************
- CContainer::remove()
- **************************************************************************/
- void CContainer::remove()
- {
- if (!m_punk)
- return;
- HRESULT hr;
- IOleObject *pioo;
- IOleInPlaceObject *pipo;
- hr = m_punk->QueryInterface(IID_IOleObject, (PVOID *)&pioo);
- if (SUCCEEDED(hr))
- {
- pioo->Close(OLECLOSE_NOSAVE);
- pioo->SetClientSite(NULL);
- pioo->Release();
- }
- hr = m_punk->QueryInterface(IID_IOleInPlaceObject, (PVOID *)&pipo);
- if (SUCCEEDED(hr))
- {
- pipo->UIDeactivate();
- pipo->InPlaceDeactivate();
- pipo->Release();
- }
- m_punk->Release();
- m_punk = NULL;
- }
- /**************************************************************************
- CContainer::setParent()
- **************************************************************************/
- void CContainer::setParent(HWND hwndParent)
- {
- m_hwnd = hwndParent;
- }
- /**************************************************************************
- CContainer::setLocation()
- **************************************************************************/
- void CContainer::setLocation(int x, int y, int width, int height)
- {
- RECT rc;
- ::SetRect(&rc, x, y, x + width, y + height);
-
- if (!m_punk) return;
- HRESULT hr;
- IOleInPlaceObject *pipo;
- hr = m_punk->QueryInterface(IID_IOleInPlaceObject, (PVOID *)&pipo);
- if (FAILED(hr))
- return;
- pipo->SetObjectRects(&rc, &rc);
- pipo->Release();
- }
- BOOL CContainer::SetRect(RECT *prc)
- {
- HRESULT hr;
- IOleInPlaceObject *pipo;
-
- if (!m_punk) return FALSE;
- hr = m_punk->QueryInterface(IID_IOleInPlaceObject, (PVOID *)&pipo);
- if (SUCCEEDED(hr))
- {
- hr = pipo->SetObjectRects(prc, prc);
- pipo->Release();
- }
- return SUCCEEDED(hr);
- }
- /**************************************************************************
- CContainer::setVisible()
- **************************************************************************/
- void CContainer::setVisible(BOOL fVisible)
- {
- if (!m_punk)
- return;
- HRESULT hr;
- IOleObject *pioo;
- hr = m_punk->QueryInterface(IID_IOleObject, (PVOID *)&pioo);
- if (FAILED(hr))
- return;
-
- if (fVisible)
- {
-
- pioo->DoVerb(OLEIVERB_INPLACEACTIVATE, NULL, this, 0, m_hwnd, NULL);
- pioo->DoVerb(OLEIVERB_SHOW, NULL, this, 0, m_hwnd, NULL);
- }
- else
- pioo->DoVerb(OLEIVERB_HIDE, NULL, this, 0, m_hwnd, NULL);
- pioo->Release();
- }
- /**************************************************************************
- CContainer::setFocus()
- **************************************************************************/
- void CContainer::setFocus(BOOL fFocus)
- {
- if (!m_punk)
- return;
- if (fFocus)
- {
- IOleObject *pioo;
- HRESULT hr = m_punk->QueryInterface(IID_IOleObject, (PVOID *)&pioo);
- if (FAILED(hr))
- return;
- pioo->DoVerb(OLEIVERB_UIACTIVATE, NULL, this, 0, m_hwnd, NULL);
- pioo->Release();
- }
- }
- /**************************************************************************
- CContainer::setStatusWindow()
- **************************************************************************/
- void CContainer::setStatusWindow(HWND hwndStatus)
- {
- m_hwndStatus = hwndStatus;
- }
- /**************************************************************************
- CContainer::translateKey()
- **************************************************************************/
- void CContainer::translateKey(MSG msg)
- {
- if (!m_punk)
- return;
- HRESULT hr;
- IOleInPlaceActiveObject *pao;
- hr = m_punk->QueryInterface(IID_IOleInPlaceActiveObject, (PVOID *)&pao);
- if (FAILED(hr))
- return;
- pao->TranslateAccelerator(&msg);
- pao->Release();
- }
- /**************************************************************************
- * CContainer::getDispatch()
- **************************************************************************/
- IDispatch * CContainer::getDispatch()
- {
- if (!m_punk)
- return NULL;
- IDispatch *pdisp;
- m_punk->QueryInterface(IID_IDispatch, (PVOID *)&pdisp);
- return pdisp;
- }
- /**************************************************************************
- * CContainer::getUnknown()
- **************************************************************************/
- IUnknown * CContainer::getUnknown()
- {
- if (!m_punk)
- return NULL;
- m_punk->AddRef();
- return m_punk;
- }
- void CContainer::setScrollbars(int scroll)
- {
- m_scrollbars=scroll;
- }
- // ***********************************************************************
- // IDocHostUIHandler
- // ***********************************************************************
- HRESULT CContainer::ShowContextMenu(DWORD dwID, POINT __RPC_FAR *ppt, IUnknown __RPC_FAR *pcmdtReserved, IDispatch __RPC_FAR *pdispReserved)
- {
- return E_NOTIMPL;
- }
-
- HRESULT CContainer::GetHostInfo(DOCHOSTUIINFO __RPC_FAR *pInfo)
- {
- pInfo->dwFlags=0x00200000|(m_scrollbars?0:8);
- return S_OK;
- }
-
- HRESULT CContainer::ShowUI(DWORD dwID, IOleInPlaceActiveObject __RPC_FAR *pActiveObject, IOleCommandTarget __RPC_FAR *pCommandTarget, IOleInPlaceFrame __RPC_FAR *pFrame, IOleInPlaceUIWindow __RPC_FAR *pDoc)
- {
- return E_NOTIMPL;
- }
-
- HRESULT CContainer::HideUI(void)
- {
- return E_NOTIMPL;
- }
-
- HRESULT CContainer::UpdateUI(void)
- {
- return E_NOTIMPL;
- }
-
- HRESULT CContainer::OnDocWindowActivate(BOOL fActivate)
- {
- return E_NOTIMPL;
- }
-
- HRESULT CContainer::OnFrameWindowActivate(BOOL fActivate)
- {
- return E_NOTIMPL;
- }
-
- HRESULT CContainer::ResizeBorder(LPCRECT prcBorder, IOleInPlaceUIWindow __RPC_FAR *pUIWindow, BOOL fRameWindow)
- {
- return E_NOTIMPL;
- }
-
- HRESULT CContainer::TranslateAccelerator(LPMSG lpMsg, const GUID __RPC_FAR *pguidCmdGroup, DWORD nCmdID)
- {
- return E_NOTIMPL;
- }
-
- HRESULT CContainer::GetOptionKeyPath(LPOLESTR __RPC_FAR *pchKey, DWORD dw)
- {
- return E_NOTIMPL;
- }
-
- HRESULT CContainer::GetDropTarget(IDropTarget __RPC_FAR *pDropTarget, IDropTarget __RPC_FAR *__RPC_FAR *ppDropTarget)
- {
- return E_NOTIMPL;
- }
-
- HRESULT CContainer::GetExternal(IDispatch __RPC_FAR *__RPC_FAR *ppDispatch)
- {
- *ppDispatch = winampExternal;
- return S_OK; //E_NOTIMPL;
- }
-
- HRESULT CContainer::TranslateUrl(DWORD dwTranslate, OLECHAR __RPC_FAR *pchURLIn, OLECHAR __RPC_FAR *__RPC_FAR *ppchURLOut)
- {
- return E_NOTIMPL;
- }
-
- HRESULT CContainer::FilterDataObject(IDataObject __RPC_FAR *pDO, IDataObject __RPC_FAR *__RPC_FAR *ppDORet)
- {
- return E_NOTIMPL;
- }
|