public static IKnownFolder FromCanonicalName(string canonicalName)
{
IKnownFolderNative knownFolderNative;
var knownFolderManager = (IKnownFolderManager)new KnownFolderManagerClass();
knownFolderManager.GetFolderByName(canonicalName, out knownFolderNative);
IKnownFolder kf = KnownFolderHelper.GetKnownFolder(knownFolderNative);
if (kf == null)
throw new ArgumentException("Invalid canonical name!", "canonicalName");
else
return kf;
}