ccomthread_src.zip
LegacyCOMObject1
Shared
SimpleCOMObject1
SimpleCOMObject2
Test Programs
VBTest
VCTests
DemonstrateDefaultSTA
VCTest01
main.cpp
SimpleCOMObject2.tlh
SimpleCOMObject2.tli
VCTest01.dsp
VCTest01.dsw
VCTest02
main.cpp
SimpleCOMObject2.tlh
SimpleCOMObject2.tli
VCTest02.dsp
VCTest02.dsw
DemonstrateExeServerSTA
Client
VCTest01
Implementation
ExeServerImpl
Interface
ExeServerInterfaces
DemonstrateLegacySTA
VCTest01
LegacyCOMObject1.tlh
LegacyCOMObject1.tli
main.cpp
VCTest01.dsp
VCTest01.dsw
VCTest02
DemonstrateNoMessageLoop
VCTest01
main.cpp
SimpleCOMObject2.tlh
SimpleCOMObject2.tli
VCTest01.dsp
VCTest01.dsw
DemonstrateSTA
VCTest01
main.cpp
SimpleCOMObject2.tlh
SimpleCOMObject2.tli
VCTest01.dsp
VCTest01.dsw
|
#ifndef EXE_OBJ_01_H
#define EXE_OBJ_01_H
#include "ExeServerInterfaces.h"
#include "refcountobj.h"
class CExeObj01 : public CReferenceCountedObject, public IExeObj01
{
public :
CExeObj01();
~CExeObj01();
// Overridden IUnknown methods
STDMETHODIMP QueryInterface(REFIID riid, void** ppvObject);
STDMETHODIMP_(ULONG) AddRef();
STDMETHODIMP_(ULONG) Release();
public :
// IExeObj01 interface impl.
STDMETHOD(TestMethod1)();
// IDispatch interface impl.
STDMETHOD(GetTypeInfoCount)(UINT* pctinfo)
{
return E_NOTIMPL;
}
STDMETHOD(GetTypeInfo)(UINT itinfo, LCID lcid, ITypeInfo** pptinfo)
{
return E_NOTIMPL;
}
STDMETHOD(GetIDsOfNames)(REFIID riid, LPOLESTR* rgszNames, UINT cNames,
LCID lcid, DISPID* rgdispid)
{
return E_NOTIMPL;
}
STDMETHOD(Invoke)(DISPID dispidMember, REFIID riid,
LCID lcid, WORD wFlags, DISPPARAMS* pdispparams, VARIANT* pvarResult,
EXCEPINFO* pexcepinfo, UINT* puArgErr)
{
return E_NOTIMPL;
}
};
class CExeObj01_Factory : public CClassFactory
{
public :
CExeObj01_Factory();
~CExeObj01_Factory();
// IUnknown methods
STDMETHODIMP QueryInterface(REFIID riid, void** ppvObject);
STDMETHODIMP_(ULONG) AddRef();
STDMETHODIMP_(ULONG) Release();
// IClassFactory methods.
STDMETHODIMP CreateInstance
(
IUnknown __RPC_FAR *pUnkOuter,
REFIID riid,
void __RPC_FAR *__RPC_FAR *ppvObject
);
STDMETHODIMP LockServer
(
BOOL fLock
);
};
#endif
|
By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.
If a file you wish to view isn't highlighted, and is a text file (not binary), please
let us know and we'll add colourisation support for it.
Lim Bio Liong is a Specialist at a leading Software House in Singapore.
Bio has been in software development for over 10 years. He specialises in C/C++ programming and Windows software development.
Bio has also done device-driver development and enjoys low-level programming. Bio has recently picked up C# programming and has been researching in this area.