如何使用Windows Shell APIparsing像“This PC \ Galaxy Tab A \ Card \ Folder1”这样的浏览器面包屑path?

当用户在Windows资源pipe理器中导航到他的Android手机的SD卡上的文件夹时,当在地址中点击一下时,资源pipe理器将显示一种类似"This PC\Galaxy Tab A\Card\Folder1"的面包屑path酒吧。

Windows资源pipe理器在地址栏中input或复制这些path时也会接受这些path并按回车键。

我想知道是否有一种方法来parsing这些使用Shell API的面包屑path,并返回一个IShellItemIShellItem 。 到目前为止,我没有成功使用例如SHParseDisplayName() 。 这个代码

 LPITEMIDLIST itemidlist; HRESULT hr = SHParseDisplayName(L"This PC\\Galaxy Tab A\\Card\\testfolder", NULL, &itemidlist, 0, NULL); 

返回0x80070002作为HRESULT

当path不存在时 ,问题SHParseDisplayName将处理如何使用IBindCtx来parsing尚不存在的文件path的问题。 这可以使用STR_FILE_SYS_BIND_DATA绑定上下文来完成。 但是移动设备上的对象没有文件系统数据,而且它们已经存在,所以我不明白为什么这是重复的。

Solutions Collecting From Web of "如何使用Windows Shell APIparsing像“This PC \ Galaxy Tab A \ Card \ Folder1”这样的浏览器面包屑path?"