📄 mycomproobjimpl.h
字号:
// MYCOMPROOBJIMPL.H : Declaration of the TMyComProObjImpl
#ifndef MyComProObjImplH
#define MyComProObjImplH
#include "ComProDll_TLB.H"
#define _MTX_NOFORCE_LIBS
#include <vcl\mtshlpr.h>
/////////////////////////////////////////////////////////////////////////////
// TMyComProObjImpl Implements IMyComProObj, default interface of MyComProObj
// ThreadingModel : tmApartment
// Dual Interface : TRUE
// Event Support : FALSE
// Default ProgID : ComProDll.MyComProObj
// Description :
/////////////////////////////////////////////////////////////////////////////
class ATL_NO_VTABLE TMyComProObjImpl :
public CComObjectRootEx<CComSingleThreadModel>,
public CComCoClass<TMyComProObjImpl, &CLSID_MyComProObj>,
public IObjectControl,
public IDispatchImpl<IMyComProObj, &IID_IMyComProObj, &LIBID_ComProDll>
{
public:
TMyComProObjImpl()
{
FMoney=0;
}
// Data used when registering Object
//
DECLARE_THREADING_MODEL(otApartment);
DECLARE_PROGID("ComProDll.MyComProObj");
DECLARE_DESCRIPTION("");
// Function invoked to (un)register object
//
static HRESULT WINAPI UpdateRegistry(BOOL bRegister)
{
TTypedComServerRegistrarT<TMyComProObjImpl>
regObj(GetObjectCLSID(), GetProgID(), GetDescription());
return regObj.UpdateRegistry(bRegister);
}
DECLARE_NOT_AGGREGATABLE(TMyComProObjImpl)
BEGIN_COM_MAP(TMyComProObjImpl)
COM_INTERFACE_ENTRY(IMyComProObj)
COM_INTERFACE_ENTRY(IObjectControl)
COM_INTERFACE_ENTRY(IDispatch)
END_COM_MAP()
// IObjectControl
public:
STDMETHOD(Activate)();
STDMETHOD(Deposit(long Value));
STDMETHOD(get_Money(long* Value));
STDMETHOD(WithDraw(long Value));
STDMETHOD_(BOOL, CanBePooled)();
STDMETHOD_(void, Deactivate)();
CComPtr<IObjectContext> m_spObjectContext;
// IMyComProObj
public:
private:
long FMoney;
};
#endif //MyComProObjImplH
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -