VC 根据逻辑驱动器号,得到物理驱动器号

来源:百度知道 编辑:UC知道 时间:2024/05/26 19:40:17
在VC中如何根据逻辑驱动器号,得到物理驱动器号。就是如果有个逻辑驱动器C
,怎么判断C盘是属于哪个物理驱动器。

说白了,就是判断下C盘所在的硬盘的接口是IDE的还是SCSI的,或者其他。同时要判断出连接该硬盘的接口是IDE或者SCSI接口上的第几个口.

调用DeviceIoControl,
使用IOCTL_VOLUME_GET_VOLUME_DISK_EXTENTS,
可以得到物理驱动器的编号,
0就是IDE0位置0,1就是IDE0位置1,依次类推。
另外,IOCTL_DISK_CONTROLLER_NUMBER也可以完成这个功能。
后面比较麻烦,
要得到总线类型需要调用IOCTL_STORAGE_QUERY_PROPERTY,
但是这个需要DDK的头文件,可以获得的信息也很多,自己看ntdddisk.h、ntddstor.h