拥有一个 StorageFolder 对象并尝试创建一个名称中包含冒号的文件夹(不是在开头或结尾)会导致 COM 错误并显示 HRESULT 80004005 (HRESULT E_FAIL)。
示例:await ApplicationData.Current.TemporaryFolder.CreateFolderAsync("abc:xyz", CreationCollisionOption.OpenIfExists);
如果冒号在开头或结尾,我会收到 HRESULT 8007007b 消息“文件名、目录名或卷标语法不正确”。没关系。
我检查了其他无效字符,但只有一个冒号导致 E_FAIL。
如果用户输入文件夹名称,这可能会出现问题。解决方法当然是简单地检查文件名中的冒号。
有谁知道 E_FAIL 错误的可能原因?我假设 COM 认为文件夹名称以 URI 开头,但当然无法弄清楚它是哪种 URI。