什么 API 可用于在 Windows 文件系统上创建驱动器?

Posted

技术标签:

【中文标题】什么 API 可用于在 Windows 文件系统上创建驱动器?【英文标题】:What API is available to create a Drive on the Windows File System? 【发布时间】:2011-06-16 22:06:06 【问题描述】:

我基本上是在寻找一个 API 的例子,例如,一个外部 USB 硬盘驱动器向 Windows 上的文件系统添加一个新驱动器。

谢谢!

【问题讨论】:

您在寻找什么语言? 让我们在这个上使用 C++,除非周围有 .NET API。 :P 查看WMI。它可以在 C++ 或 C# 上使用。 【参考方案1】:

文件系统实际上是由一堆驱动程序实现的。例如,USB 驱动器首先由 USB 大容量存储驱动程序处理。由于一个 USB 驱动器可能包含多个分区,具有不同的文件系统,因此您可以同时拥有多个文件系统驱动程序,并且您会在资源管理器中显示多个驱动器。

无论如何,您可能正在寻找的 API 称为 IFS,可安装文件系统。这必然是一个 C API,因为文件系统驱动程序是内核操作的基础。例如,您必须处理分页内存和 IRQ 级别。

【讨论】:

这听起来很有希望。我会阅读 MSDN 并回来。谢谢。【参考方案2】:

IOCTL_DISK_SET_DRIVE_LAYOUT_EX

【讨论】:

DeviceIoControl,其中一个参数是 IOCTL_DISK_SET_DRIVE_LAYOUT_EX。但是看看另一个答案,我想知道提问者是否打算检测现有分区而不是添加一个。

以上是关于什么 API 可用于在 Windows 文件系统上创建驱动器?的主要内容,如果未能解决你的问题,请参考以下文章

用于访问稀疏文件的操作系统 API?

可用于 Windows 运行时应用的 Windows API 替代项

没有广泛 API 的可移植 UTF-8 接口(Windows 和 Unix)

Cortana API是否可用于桌面应用程序?

用于非感知可执行文件的 ASLR 和 Windows 系统 DLL?

可执行二进制文件和操作系统