1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 |
- #pragma once
- #include <ocidl.h>
- #include <exdisp.h>
- #include <objsafe.h>
- class Winamp : public IObjectWithSite,
- public IDispatch,
- public IOleObject,
- public IPersistStorage,
- public IDataObject,
- public IObjectSafety
- {
- public:
- Winamp();
- /* IUnknown */
- HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void __RPC_FAR *__RPC_FAR *ppvObject);
- ULONG STDMETHODCALLTYPE AddRef(void);
- ULONG STDMETHODCALLTYPE Release(void);
- // *** IDispatch Methods ***
- STDMETHOD (GetIDsOfNames)(REFIID riid, OLECHAR FAR* FAR* rgszNames, unsigned int cNames, LCID lcid, DISPID FAR* rgdispid);
- STDMETHOD (GetTypeInfo)(unsigned int itinfo, LCID lcid, ITypeInfo FAR* FAR* pptinfo);
- STDMETHOD (GetTypeInfoCount)(unsigned int FAR * pctinfo);
- STDMETHOD (Invoke)(DISPID dispid, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS FAR *pdispparams, VARIANT FAR *pvarResult, EXCEPINFO FAR * pexecinfo, unsigned int FAR *puArgErr);
- /* IOleObject */
- HRESULT STDMETHODCALLTYPE SetClientSite(IOleClientSite *pClientSite);
- HRESULT STDMETHODCALLTYPE GetClientSite(IOleClientSite **ppClientSite);
- HRESULT STDMETHODCALLTYPE SetHostNames(LPCOLESTR szContainerApp,LPCOLESTR szContainerObj);
- HRESULT STDMETHODCALLTYPE Close(DWORD dwSaveOption);
- HRESULT STDMETHODCALLTYPE SetMoniker(DWORD dwWhichMoniker,IMoniker *pmk);
- HRESULT STDMETHODCALLTYPE GetMoniker(DWORD dwAssign, DWORD dwWhichMoniker,IMoniker **ppmk);
- HRESULT STDMETHODCALLTYPE InitFromData(IDataObject *pDataObject,BOOL fCreation,DWORD dwReserved);
- HRESULT STDMETHODCALLTYPE GetClipboardData(DWORD dwReserved,IDataObject **ppDataObject);
- HRESULT STDMETHODCALLTYPE DoVerb(LONG iVerb,LPMSG lpmsg,IOleClientSite *pActiveSite,LONG lindex, HWND hwndParent, LPCRECT lprcPosRect);
- HRESULT STDMETHODCALLTYPE EnumVerbs(IEnumOLEVERB **ppEnumOleVerb);
- HRESULT STDMETHODCALLTYPE Update(void);
- HRESULT STDMETHODCALLTYPE IsUpToDate(void);
- HRESULT STDMETHODCALLTYPE GetUserClassID(CLSID *pClsid);
- HRESULT STDMETHODCALLTYPE GetUserType(DWORD dwFormOfType,LPOLESTR *pszUserType);
- HRESULT STDMETHODCALLTYPE SetExtent(DWORD dwDrawAspect,SIZEL *psizel);
- HRESULT STDMETHODCALLTYPE GetExtent(DWORD dwDrawAspect,SIZEL *psizel);
- HRESULT STDMETHODCALLTYPE Advise(IAdviseSink *pAdvSink,DWORD *pdwConnection);
- HRESULT STDMETHODCALLTYPE Unadvise(DWORD dwConnection);
- HRESULT STDMETHODCALLTYPE EnumAdvise(IEnumSTATDATA **ppenumAdvise);
- HRESULT STDMETHODCALLTYPE GetMiscStatus(DWORD dwAspect,DWORD *pdwStatus);
- HRESULT STDMETHODCALLTYPE SetColorScheme(LOGPALETTE *pLogpal);
- /* IPersistStorage */
- HRESULT STDMETHODCALLTYPE GetClassID(CLSID *pClassID);
- HRESULT STDMETHODCALLTYPE IsDirty(void);
- HRESULT STDMETHODCALLTYPE InitNew(IStorage *pStg);
- HRESULT STDMETHODCALLTYPE Load(IStorage *pStg);
- HRESULT STDMETHODCALLTYPE Save(IStorage *pStgSave, BOOL fSameAsLoad);
- HRESULT STDMETHODCALLTYPE SaveCompleted(IStorage *pStgNew);
- HRESULT STDMETHODCALLTYPE HandsOffStorage(void);
- /* IDataStorage */
- HRESULT STDMETHODCALLTYPE GetData(FORMATETC *pformatetcIn,STGMEDIUM *pmedium);
- HRESULT STDMETHODCALLTYPE GetDataHere(FORMATETC *pformatetc,STGMEDIUM *pmedium);
- HRESULT STDMETHODCALLTYPE QueryGetData(FORMATETC *pformatetc);
- HRESULT STDMETHODCALLTYPE GetCanonicalFormatEtc(FORMATETC *pformatectIn,FORMATETC *pformatetcOut);
- HRESULT STDMETHODCALLTYPE SetData(FORMATETC *pformatetc,STGMEDIUM *pmedium,BOOL fRelease);
- HRESULT STDMETHODCALLTYPE EnumFormatEtc(DWORD dwDirection,IEnumFORMATETC **ppenumFormatEtc);
- HRESULT STDMETHODCALLTYPE DAdvise(FORMATETC *pformatetc,DWORD advf,IAdviseSink *pAdvSink,DWORD *pdwConnection);
- HRESULT STDMETHODCALLTYPE DUnadvise(DWORD dwConnection);
- HRESULT STDMETHODCALLTYPE EnumDAdvise(IEnumSTATDATA **ppenumAdvise);
- /* IObjectSafety */
- HRESULT STDMETHODCALLTYPE GetInterfaceSafetyOptions(REFIID riid, DWORD *pdwSupportedOptions, DWORD *pdwEnabledOptions);
- HRESULT STDMETHODCALLTYPE SetInterfaceSafetyOptions(REFIID riid, DWORD dwOptionSetMask, DWORD dwEnabledOptions);
- /* IObjectWithSite */
- HRESULT STDMETHODCALLTYPE GetSite(REFIID riid, void** ppvSite);
- HRESULT STDMETHODCALLTYPE SetSite(IUnknown*);
- STDMETHOD (Test)(WORD wFlags, DISPPARAMS FAR *pdispparams, VARIANT FAR *pvarResult, unsigned int FAR *puArgErr);
- STDMETHOD (getVersion)(WORD wFlags, DISPPARAMS FAR *pdispparams, VARIANT FAR *pvarResult, unsigned int FAR *puArgErr);
- private:
- LONG refCount;
- IOleClientSite *client_site;
- private:
- IWebBrowser2 *webBrowser_;
- IConnectionPointContainer *connectionPointContainer;
- DWORD cookie_;
- IDispatch *document_;
- };
|