Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

46 lines
2.4 KiB

interface _VBComponent;
DEFINE_GUID(IID__VBComponent,0xC224F73FL,0x8D72,0x11D2,0x8A,0x0B,0x00,0x00,0x21,0x47,0x31,0x28);
DECLARE_INTERFACE_(_VBComponent, IDispatch)
{
STDMETHOD(StartAnimation)(THIS) PURE;
STDMETHOD(StopAnimation)(THIS) PURE;
};
DEFINE_GUID(CLSID_VBComponent,0xCD3A5DAAL,0x8CA5,0x11D2,0x8A,0x0B,0x00,0x00,0x21,0x47,0x31,0x28);
class CWrapVBComponent : public _VBComponent
{
public:
STDMETHOD(QueryInterface)(THIS_ REFIID riid, void FAR* FAR* ppvObj){ return m_pInternal->QueryInterface(riid, ppvObj); }
STDMETHOD_(unsigned long, AddRef)(THIS){ return m_pInternal->AddRef(); }
STDMETHOD_(unsigned long, Release)(THIS){ return m_pInternal->Release(); }
STDMETHOD(GetTypeInfoCount)(THIS_ unsigned int FAR* pctinfo){ return m_pInternal->GetTypeInfoCount(pctinfo); }
STDMETHOD(GetTypeInfo)(THIS_ unsigned int itinfo, unsigned long lcid, ITypeInfo FAR* FAR* pptinfo){ return m_pInternal->GetTypeInfo(itinfo, lcid, pptinfo); }
STDMETHOD(GetIDsOfNames)(THIS_ REFIID riid, unsigned short FAR* FAR* rgszNames, unsigned int cNames, unsigned long lcid, long FAR* rgdispid){ return m_pInternal->GetIDsOfNames(riid,
rgszNames, cNames, lcid, rgdispid); }
STDMETHOD(Invoke)(THIS_ long dispidMember, REFIID riid, unsigned long lcid, unsigned short wFlags, DISPPARAMS FAR* pdispparams, VARIANT FAR* pvarResult, EXCEPINFO
FAR* pexcepinfo, unsigned int FAR* puArgErr){ return m_pInternal->Invoke(dispidMember, riid, lcid, wFlags, pdispparams, pvarResult, pexcepinfo, puArgErr); }
STDMETHOD(StartAnimation)(THIS){ return m_pInternal->StartAnimation(); }
STDMETHOD(StopAnimation)(THIS){ return m_pInternal->StopAnimation(); }
CWrapVBComponent()
{
m_pInternal = NULL;
IUnknown FAR* pUnk;
if SUCCEEDED(m_hrLaunch = CoCreateInstance(CLSID_VBComponent, NULL, CLSCTX_SERVER,
IID_IUnknown, (void FAR* FAR*) &pUnk)) {
m_hrLaunch = pUnk->QueryInterface(IID__VBComponent, (void FAR* FAR*) &m_pInternal);
pUnk->Release();
}
}
CWrapVBComponent(IUnknown *pUnk)
{
m_pInternal = NULL;
m_hrLaunch = pUnk->QueryInterface(IID__VBComponent, (void FAR* FAR*) &m_pInternal);
}
virtual ~CWrapVBComponent(){if (m_pInternal) m_pInternal->Release();}
HRESULT LaunchError(){return m_hrLaunch;}
private:
_VBComponent FAR* m_pInternal;
HRESULT m_hrLaunch;
};