什么 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 文件系统上创建驱动器?的主要内容,如果未能解决你的问题,请参考以下文章
可用于 Windows 运行时应用的 Windows API 替代项
没有广泛 API 的可移植 UTF-8 接口(Windows 和 Unix)