【发布时间】:2010-01-12 16:11:53
【问题描述】:
是否有用于从 UNC 路径确定 NAS 存储上的可用空间的编程 API?我查看了 WMI 文档,并不清楚这是否可行。
非常感谢您提供代码示例和对相关 API 调用的引用。
【问题讨论】:
-
如果一个 mod 看到这个,这可能应该被标记为 61037184 的副本。是的,这个问题首先出现,但是这里有一个唯一被赞成的答案的实际实现,并且引入 dll 是非微不足道,所以这些细节是相关的。
是否有用于从 UNC 路径确定 NAS 存储上的可用空间的编程 API?我查看了 WMI 文档,并不清楚这是否可行。
非常感谢您提供代码示例和对相关 API 调用的引用。
【问题讨论】:
在 windows API 中,GetFreeDiskSpaceEx 似乎是要使用的方法,根据MSDN docs,它适用于 UNC 路径。
【讨论】:
使用this example获取UNC路径,你可以直接返回FreeSpace属性,我修改了下面的代码:
ManagementPath path = new ManagementPath(@"\" + System.Environment.MachineName + @"\root\cimv2");
ObjectQuery query = new ObjectQuery("select * from Win32_LogicalDisk WHERE DriveType = 4");
ManagementScope scope = new ManagementScope(path, new ConnectionOptions());
ManagementObjectSearcher search = new ManagementObjectSearcher(scope, query);
foreach (ManagementObject o in search.Get())
{
Console.WriteLine(o.Properties["FreeSpace"].Value.ToString());
}
【讨论】: