本文整理汇总了C++中IShellFolder::BindToStorage方法的典型用法代码示例。如果您正苦于以下问题:C++ IShellFolder::BindToStorage方法的具体用法?C++ IShellFolder::BindToStorage怎么用?C++ IShellFolder::BindToStorage使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IShellFolder
的用法示例。
在下文中一共展示了IShellFolder::BindToStorage方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: CopyShellIDListData
HRESULT CDropHandler::CopyShellIDListData(IDataObject *pDataObject,
list<PastedFile_t> *pPastedFileList)
{
STGMEDIUM stg;
HRESULT hr;
hr = pDataObject->GetData(&m_ftcShellIDList,&stg);
if(hr == S_OK)
{
CIDA *pcida = (CIDA *)GlobalLock(stg.hGlobal);
if(pcida != NULL)
{
IShellFolder *pShellFolder = NULL;
HRESULT hr;
LPCITEMIDLIST pidlDirectory = HIDA_GetPIDLFolder(pcida);
hr = BindToShellFolder(pidlDirectory,&pShellFolder);
if(SUCCEEDED(hr))
{
LPCITEMIDLIST pidlItem = NULL;
IStorage *pStorage = NULL;
for(unsigned int i = 0;i < pcida->cidl;i++)
{
pidlItem = HIDA_GetPIDLItem(pcida,i);
hr = pShellFolder->BindToStorage(pidlItem,NULL,IID_IStorage,(LPVOID *)&pStorage);
if(SUCCEEDED(hr))
{
/* TODO: Copy the files. */
pStorage->Release();
}
}
pShellFolder->Release();
}
GlobalUnlock(stg.hGlobal);
}
ReleaseStgMedium(&stg);
}
return hr;
}