1

我正在尝试从网络共享(作者、专辑等)上的音乐文件中读取扩展属性

此行(改编自Read/Write 'Extended' file properties (C#)中的代码)

objFolder = shell.Namespace(@"C:\somefolder");

有效,但这些行将 objFolder 设置为 null:

objFolder = shell.Namespace(@"\\nasdrive\somefolder");

(Z 映射到 \nasdrive)

objFolder = shell.Namespace(@"Z:\somefolder");

我尝试使用来自http://platinumdogs.me/2008/10/30/net-c-impersonation-with-network-credentials/的模拟来包装代码,但它不起作用。

(虽然模拟适用于正常的文件访问:File.Open(...) 等)

如何在不将文件移动到本地驱动器的情况下读取这些扩展属性?

4

1 回答 1

0

如果您正在从网络共享读取,为什么要转义特殊字符,然后使用 4 个反斜杠?

objFolder = shell.Namespace(@"\\\\nasdrive\somefolder");

我认为应该是:

objFolder = shell.Namespace(@"\\nasdrive\somefolder");

或者

objFolder = shell.Namespace("\\\\nasdrive\\somefolder");
于 2013-01-01T22:56:13.110 回答