1 // ObjectVector.h : CObjectVector
\82Ì
\90é
\8c¾
3 #ifndef __OBJECTVECTOR_H_
4 #define __OBJECTVECTOR_H_
6 #include "resource.h" //
\83\81\83C
\83\93 \83V
\83\93\83{
\83\8b
10 typedef vector<VARIANT> VariantVector;
12 /////////////////////////////////////////////////////////////////////////////
14 class ATL_NO_VTABLE CObjectVector :
15 public CComObjectRootEx<CComSingleThreadModel>,
16 public CComCoClass<CObjectVector, &CLSID_ObjectVector>,
17 public ISupportErrorInfo,
18 public IDispatchImpl<IObjectVector, &IID_IObjectVector, &LIBID_SERAPHYSCRIPTTOOLSLib>
23 m_vctVariant.reserve(100); //
\8f\89\8aú
\8fó
\91Ô
\82Å100
\82Ì
\83o
\83b
\83t
\83@
\82ð
\8am
\95Û
\82·
\82é
27 ATLTRACE("CObjectVector::FinalRelease\r\n");
31 DECLARE_REGISTRY_RESOURCEID(IDR_OBJECTVECTOR)
33 DECLARE_PROTECT_FINAL_CONSTRUCT()
35 BEGIN_COM_MAP(CObjectVector)
36 COM_INTERFACE_ENTRY(IObjectVector)
37 COM_INTERFACE_ENTRY(IDispatch)
38 COM_INTERFACE_ENTRY(ISupportErrorInfo)
42 STDMETHOD(InterfaceSupportsErrorInfo)(REFIID riid);
46 STDMETHOD(MakeArray)(/*[out,retval]*/VARIANT* pVal);
47 STDMETHOD(Merge)(/*[in]*/VARIANT unkVal);
48 STDMETHOD(get__NewEnum)(/*[out, retval]*/ IUnknown* *pVal);
49 STDMETHOD(get_Count)(/*[out, retval]*/ long *pVal);
50 STDMETHOD(get_Value)(/*[in,optional]*/VARIANT idx, /*[out, retval]*/ VARIANT *pVal);
51 STDMETHOD(put_Value)(/*[in,optional]*/VARIANT idx, /*[in]*/ VARIANT newVal);
52 STDMETHOD(Insert)(/*[in]*/VARIANT idx,/*[in]*/VARIANT newVal);
53 STDMETHOD(Pop)(/*[out,retval]*/VARIANT* pVal);
54 STDMETHOD(Push)(/*[in]*/VARIANT newVal);
55 STDMETHOD(Erase)(/*[in]*/VARIANT start,/*[in,optional]*/VARIANT count);
57 STDMETHOD(Duplicate)(/*[in,optional]*/VARIANT idx,/*[in,optional]*/VARIANT count,/*[out,retval]*/IUnknown** punkVal);
58 STDMETHOD(CreateVector)(/*[out,retval]*/IUnknown** punkVal);
60 VariantVector m_vctVariant;
63 #endif //__OBJECTVECTOR_H_