Removed unnecessary handling of 'shell::' prefixed paths in GetShellItemForPath. Determined that `SHCreateItemFromParsingName` already does this.

pull/180/head
dahall 2020-11-02 07:39:46 -07:00
parent 44f0afe732
commit aa6cbf204f
1 changed files with 10 additions and 10 deletions

View File

@ -81,16 +81,16 @@ namespace Vanara.PInvoke
return null;
// Handle case of a 'shell' URI and convert GUID to known folder
if (path.StartsWith("shell:::", StringComparison.InvariantCultureIgnoreCase))
{
path = path.Substring(8);
var separatorIndex = path.IndexOf('/');
var kf = new Guid(separatorIndex == -1 ? path : path.Substring(0, separatorIndex));
var fullPath = GetPathForKnownFolder(kf);
if (separatorIndex != -1)
fullPath += path.Substring(separatorIndex).Replace('/', '\\');
path = fullPath;
}
//if (path.StartsWith("shell:::", StringComparison.InvariantCultureIgnoreCase))
//{
// path = path.Substring(8);
// var separatorIndex = path.IndexOf('/');
// var kf = new Guid(separatorIndex == -1 ? path : path.Substring(0, separatorIndex));
// var fullPath = GetPathForKnownFolder(kf);
// if (separatorIndex != -1)
// fullPath += path.Substring(separatorIndex).Replace('/', '\\');
// path = fullPath;
//}
var hr = SHCreateItemFromParsingName(path, null, typeof(IShellItem).GUID, out var unk);
if (hr == (HRESULT)Win32Error.ERROR_FILE_NOT_FOUND)