ActiveX/Automation
컬렉션 - ATL
jjryu
2009. 3. 3. 23:05
클라이언트는 루트 개체가 제공하는 읽기 전용의 속성을 통하여 컬렉션 개체에 접근하게 된다.
루트 개체
컬렉션 개체
멤버 항목 개체
루트 개체
읽기 전용 속성의 컬렉션 개체를 노출
interface ICompany : IDispatch
{
[propget, id(1), helpstring("property Employees")] HRESULT Employees([out, retval] VARIANT *pVal);
};
{
[propget, id(1), helpstring("property Employees")] HRESULT Employees([out, retval] VARIANT *pVal);
};
컬렉션 개체
클래스 팩토리 관련 내용은 제거한다.
.Count
.Item[]
._NewEnum
[.Add()]
[.Remove()]
.Count
.Item[]
._NewEnum
[.Add()]
[.Remove()]
interface IEmployees : IDispatch
{
[propget, id(1), helpstring("property Count")] HRESULT Count([out, retval] long *pVal);
[propget, id(DISPID_VALUE), helpstring("property Item")] HRESULT Item([in] long index, [out, retval] VARIANT *pVal);
[propget, id(DISPID_NEWENUM), helpstring("property _NewEnum")] HRESULT _NewEnum([out, retval] LPUNKNOWN *pVal);
};
{
[propget, id(1), helpstring("property Count")] HRESULT Count([out, retval] long *pVal);
[propget, id(DISPID_VALUE), helpstring("property Item")] HRESULT Item([in] long index, [out, retval] VARIANT *pVal);
[propget, id(DISPID_NEWENUM), helpstring("property _NewEnum")] HRESULT _NewEnum([out, retval] LPUNKNOWN *pVal);
};
멤버 항목 개체
클래스 팩토리 관련 내용은 제거한다.
다른 컬렉션 개체를 제공할 수 있다.
다른 컬렉션 개체를 제공할 수 있다.
interface IEmployee : IDispatch
{
[propget, id(1), helpstring("property Name")] HRESULT Name([out, retval] BSTR *pVal);
...
};
{
[propget, id(1), helpstring("property Name")] HRESULT Name([out, retval] BSTR *pVal);
...
};