有如下代码:
m_pDesktopFolder->ParseDisplayName(NULL, NULL, _T("F:\\VC\\SortListDemo"), 
&pchEaten, &pidl, &pwdAttributes);
m_pDesktopFolder->GetUIObjectOf(NULL, 1, (LPCITEMIDLIST *)&pidl, IID_IDataObject, NULL, (void**)&pDataObject);
m_pMalloc->Free(pidl);
m_pDesktopFolder->ParseDisplayName(NULL, NULL, _T("F:\\VC\\dd"), 
&pchEaten, &pidl, &pwdAttributes);
m_pDesktopFolder->GetUIObjectOf(NULL, 1, (LPCITEMIDLIST *)&pidl, IID_IDataObject, NULL, (void**)&pDataObject);
m_pMalloc->Free(pidl);我想把两次 m_pDesktopFolder->GetUIObjectOf 取得pDataObject合成一个,不知道要怎么处理?

解决方案 »

  1.   

    就是变成差不多像下面这样子的意思,一个pDataObject里有两个路径m_pDesktopFolder->ParseDisplayName(NULL, NULL, _T("F:\\VC\\SortListDemo;F:\\VC\\dd"), 
    &pchEaten, &pidl, &pwdAttributes);
    m_pDesktopFolder->GetUIObjectOf(NULL, 1, (LPCITEMIDLIST *)&pidl, IID_IDataObject, NULL, (void**)&pDataObject);
    m_pMalloc->Free(pidl);
      

  2.   

    呵呵。除非是m_pDesktopFolder所指的对象实现是你写的,那你完全可以照你的意思重新实现接口。