本文整理汇总了C++中CComQIPtr::GetCurFolder方法的典型用法代码示例。如果您正苦于以下问题:C++ CComQIPtr::GetCurFolder方法的具体用法?C++ CComQIPtr::GetCurFolder怎么用?C++ CComQIPtr::GetCurFolder使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CComQIPtr
的用法示例。
在下文中一共展示了CComQIPtr::GetCurFolder方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: SHCreateItemFromRelativeName
/**
* Create a Shell Item from relative name.
* Complements the SHCreateItemFromRelativeName() provided by the Shell with an IShellFolder argument.
*/
HRESULT SHCreateItemFromRelativeName(IShellFolder* pFolder, LPCWSTR pszName, IBindCtx* pbc, REFIID riid, LPVOID* ppRetVal)
{
ATLASSERT(pFolder);
ATLASSERT(ppRetVal!=NULL);
ATLASSERT(*ppRetVal==NULL);
if( pFolder == NULL || pszName == NULL ) return E_INVALIDARG;
CComQIPtr<IPersistFolder2> spPersist = pFolder;
if( spPersist == NULL ) return E_FAIL;
CPidl pidlFolder;
HR( spPersist->GetCurFolder((PIDLIST_ABSOLUTE*) &pidlFolder.m_p) );
CPidl pidlName;
HR( pFolder->ParseDisplayName(NULL, pbc, const_cast<LPWSTR>(pszName), NULL, &pidlName, NULL) );
return ::SHCreateItemFromIDList(pidlFolder + pidlName, riid, ppRetVal);
}