1 // ObjectVector.h : CObjectVector
\82Ì
\90é
\8c¾
5 #include "resource.h" //
\83\81\83C
\83\93 \83V
\83\93\83{
\83\8b
8 typedef std::vector<CComVariant> VariantVector;
10 /////////////////////////////////////////////////////////////////////////////
12 class ATL_NO_VTABLE CObjectVector :
13 public CComObjectRootEx<CComSingleThreadModel>,
14 public CComCoClass<CObjectVector, &CLSID_ObjectVector>,
15 public ISupportErrorInfoImpl<&IID_IObjectVector>,
16 public IDispatchImpl<IObjectVector, &IID_IObjectVector, &LIBID_SERAPHYSCRIPTTOOLSLib>
21 m_vctVariant.reserve(256); //
\8f\89\8aú
\8fó
\91Ô
\82Å256
\82Ì
\83o
\83b
\83t
\83@
\82ð
\8am
\95Û
\82·
\82é
25 ATLTRACE("CObjectVector::FinalRelease\r\n");
29 DECLARE_REGISTRY_RESOURCEID(IDR_OBJECTVECTOR)
31 DECLARE_PROTECT_FINAL_CONSTRUCT()
33 BEGIN_COM_MAP(CObjectVector)
34 COM_INTERFACE_ENTRY(IObjectVector)
35 COM_INTERFACE_ENTRY(IDispatch)
36 COM_INTERFACE_ENTRY(ISupportErrorInfo)
41 STDMETHOD(MakeArray)(/*[out,retval]*/VARIANT* pVal);
42 STDMETHOD(Merge)(/*[in]*/VARIANT unkVal);
43 STDMETHOD(get__NewEnum)(/*[out, retval]*/ IUnknown* *pVal);
44 STDMETHOD(get_Count)(/*[out, retval]*/ long *pVal);
45 STDMETHOD(get_Value)(/*[in,optional]*/VARIANT idx, /*[out, retval]*/ VARIANT *pVal);
46 STDMETHOD(put_Value)(/*[in,optional]*/VARIANT idx, /*[in]*/ VARIANT newVal);
47 STDMETHOD(Insert)(/*[in]*/VARIANT idx,/*[in]*/VARIANT newVal);
48 STDMETHOD(Pop)(/*[out,retval]*/VARIANT* pVal);
49 STDMETHOD(Push)(/*[in]*/VARIANT newVal);
50 STDMETHOD(Erase)(/*[in]*/VARIANT start,/*[in,optional]*/VARIANT count);
52 STDMETHOD(Duplicate)(/*[in,optional]*/VARIANT idx,/*[in,optional]*/VARIANT count,/*[out,retval]*/IUnknown** punkVal);
53 STDMETHOD(CreateVector)(/*[out,retval]*/IUnknown** punkVal);
55 VariantVector m_vctVariant;