// InnerComponent.h : Declaration of the CInnerComponent #pragma once #include "resource.h" // main symbols #include "InnerComp.h" // CInnerComponent class ATL_NO_VTABLE CInnerComponent : public CComObjectRootEx, public CComCoClass, public IDispatchImpl { public: CInnerComponent() { } DECLARE_REGISTRY_RESOURCEID(IDR_INNERCOMPONENT) BEGIN_COM_MAP(CInnerComponent) COM_INTERFACE_ENTRY(IInnerComponent) COM_INTERFACE_ENTRY(IDispatch) END_COM_MAP() DECLARE_PROTECT_FINAL_CONSTRUCT() HRESULT FinalConstruct() { return S_OK; } void FinalRelease() { } public: STDMETHOD(ModifyStringAgain)(BSTR* str); }; OBJECT_ENTRY_AUTO(__uuidof(InnerComponent), CInnerComponent)