atlcom2.h
来自「wince6.0平台上的任务管理器,功能类似于windows的任务管理器. 」· C头文件 代码 · 共 33 行
H
33 行
#pragma once
#include <atlcom.h>
// CComEnum2<> extends ATL CComEnum<> that the Next() method initializes its T parameter
template <class Base, const IID* piid, class T, class Copy, class ThreadModel = CComObjectThreadModel>
class CComEnum2 :
public CComEnum<Base, piid, T, Copy, ThreadModel>
{
public:
STDMETHOD(Next)(ULONG celt, T* rgelt, ULONG* pceltFetched)
{
*rgelt = T();
return CComEnum::Next(celt, rgelt, pceltFetched);
}
};
// CComEnum2<> template class specialization where T = VARIANT
// This will overcome a bug in CF3.5 that will check erroneously VARIANT vt type
// when the last item of an IEnumVariant is checked for validity. CComEnum<> returns than S_FALSE
template <class Base, const IID* piid, class Copy, class ThreadModel/* = CComObjectThreadModel*/>
class CComEnum2<Base, piid, VARIANT, Copy, ThreadModel> :
public CComEnum<Base, piid, VARIANT, Copy, ThreadModel>
{
public:
STDMETHOD(Next)(ULONG celt, VARIANT* rgelt, ULONG* pceltFetched)
{
VariantInit(rgelt);
return CComEnum::Next(celt, rgelt, pceltFetched);
}
};
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?