com 枚举器

COM接口与枚举实现
本文介绍了COM接口IItems的具体实现细节,包括Count方法用于返回集合的数量,Item方法用于获取指定索引的元素,以及_NewEnum方法返回一个枚举器。此外还详细描述了IEnumVARIANT接口的方法Next、Skip、Reset和Clone的功能。

 

interface IItems : IDispatch
{
    [id(DISPID_NEWENUM), propget]
    HRESULT _NewEnum([out, retval] IUnknown** ppUnk);

    [id(DISPID_VALUE), propget]
    HRESULT Item(
                    [in] VARIANT Index, 
                    [out, retval] VARIANT* pVal);

    [id(0x00000001), propget]
    HRESULT Count([out, retval] long * pVal);
}

Count:返回数量
Item:索引项
_NewEnum:返回枚举器

IEnumVARIANT : public IUnknown
{
public:
    virtual /* [local] */ HRESULT STDMETHODCALLTYPE Next( 
        /* [in] */ ULONG celt,
        /* [length_is][size_is][out] */ VARIANT *rgVar,
        /* [out] */ ULONG *pCeltFetched) = 0;
    
    virtual HRESULT STDMETHODCALLTYPE Skip( 
        /* [in] */ ULONG celt) = 0;
    
    virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
    
    virtual HRESULT STDMETHODCALLTYPE Clone( 
        /* [out] */ __RPC__deref_out_opt IEnumVARIANT **ppEnum) = 0;
    
};

Next:celt批量返回个数,pCeltFetched实际返回个数

转载于:https://www.cnblogs.com/Clingingboy/archive/2011/06/13/2080100.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值