在 Windows 中,是否可以通过 C/C++ 程序知道我们正在处理哪种磁盘?忘记gpt或mbr,如何知道它是基本的还是动态的?程序输入可以是驱动器号或任何与磁盘相关的信息,输出应该是动态的或基本的。 不需要直接的方法,即使是漫长的过程也没关系。 我在 msdn 中找不到太多内容。请帮帮我。
最佳答案
Windows 中有一种方法,但并不简单。
没有直接的 API 来确定磁盘是基本磁盘还是动态磁盘,但是所有动态磁盘都将具有 LDM 信息。
因此,如果驱动器上有一个包含 LDM 信息的分区,那么它将是动态磁盘。
带有 IOCTL_DISK_GET_DRIVE_LAYOUT_EX 控制代码的 DeviceIoControl() 方法可用于获取此信息。
Here is a post with a sample console application to do what you're asking for.
关于c++ - 如何知道磁盘是基本磁盘还是动态磁盘?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1984657/