如何知道磁盘是基本的还是动态的?

rpl*_*usg 2 c c++ windows disk

在Windows中,我们可以从ac/c ++程序中了解我们正在处理哪种磁盘?忘记gpt或mbr,如何知道它是基本的还是动态的?程序输入可以是驱动器号或与磁盘相关的任何信息,输出应该是动态的或基本的.不需要直接的做法,即使它是漫长的过程,也没关系.我在msdn中找不到多少.请帮帮我.

Ala*_*lan 6

在Windows中有一种方法,但它不是直截了当的.

没有直接API来确定磁盘是基本磁盘还是动态磁盘,但是所有动态磁盘都将具有LDM信息.

因此,如果一个驱动器上有一个带有LDM信息的分区,那么它将成为一个动态磁盘.

带有IOCTL_DISK_GET_DRIVE_LAYOUT_EX控制代码的DeviceIoControl()方法可用于获取此信息.

这是一个带有示例控制台应用程序的帖子,可以满足您的需求.