正在阅读:实用!超强VC/MFC 常见问答收集实用!超强VC/MFC 常见问答收集

2004-07-15 10:04 出处:CSDN 作者:jiangsheng收集 责任编辑:linjixiong


}

CEnumString::~CEnumString()
{

}
/////////////////////////////////////////////////////////////
// CEnumString message handlers
ULONG FAR EXPORT CEnumString::AddRef()
{
 TRACE_LINE("CEnumString::AddRef\n");
 return ::InterlockedIncrement(reinterpret_cast<LONG*>(&m_nRefCount));
}

ULONG FAR EXPORT CEnumString::Release()
{
 TRACE_LINE("CEnumString::Release\n");
 ULONG nCount = 0;
 nCount = (ULONG) ::InterlockedDecrement(reinterpret_cast<LONG*>(&m_nRefCount));

 if (nCount == 0)
  delete this;

 return nCount;

}

HRESULT FAR EXPORT CEnumString::QueryInterface(
    REFIID riid, void FAR* FAR* ppvObject )
{
  HRESULT hr = E_NOINTERFACE;
 
  if (ppvObject != NULL)
  {
   *ppvObject = NULL;

   if (IID_IUnknown == riid)
    *ppvObject = static_cast<IUnknown*>(this);

   if (IID_IEnumString == riid)
    *ppvObject = static_cast<IEnumString*>(this);

   if (*ppvObject != NULL)
   {
    hr = S_OK;
    ((LPUNKNOWN)*ppvObject)->AddRef();
   }

 


察看评论详细内容 我要发表评论
作者笔名 简短内容 发表时间
:

键盘也能翻页,试试“← →”键

关注我们

最新资讯离线随时看 聊天吐槽赢奖品