2011-03-05 50 views
3

如何找到文件/目录所在的物理驱动器。我想比较两个文件,如果它们位于两个单独的驱动器上,那么我可以通过同时读取两个文件来加速比较。确定文件所在的物理硬盘驱动器是什么?

Regards

+2

我想反正同时阅读这两个,尤其是如果它的C# – n00b 2011-03-05 23:57:16

+0

@同时的n00b阅读在多个位置硬盘上可以减缓读下来显著由于高寻道时间正常的硬盘了。 – CodesInChaos 2011-03-05 23:59:05

+0

@CodeInChaos:取决于磁盘。如果它在一个RAID阵列上,例如...... – 2011-03-06 00:00:23

回答

2

这可能需要P/Invoke。

Way to know if two partitions are in one physical hard disk without WMI?

从上面的链接:

你需要使用Win32函数被调用的DeviceIoControl()。 API文档可在http://msdn.microsoft.com/en-us/library/aa363216(VS.85).aspx找到。使用控制代码IOCTL_STORAGE_GET_DEVICE_NUMBER调用DeviceIoControl(),您将获得给定分区设备句柄的物理磁盘驱动器。分区的设备句柄可以使用CreateFile()API检索。

3

无论同时读取两者。

最糟糕的是它可能会稍微慢一些(取决于实际的物理磁盘)。

最好它会更快。

相关问题