怎么知道系统中的硬盘分区哪些是ide,哪些是scsi,哪些是移动硬盘的分区呢

xiaoshali 2003-08-21 09:04:19
如体,谢谢大家
...全文
172 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
howtotell 2003-09-09
  • 打赏
  • 举报
回复
http://www.csdn.net/develop/article/17/17097.shtm
会思考的草 2003-09-09
  • 打赏
  • 举报
回复
你要的是不是这个功能?这是我的硬盘上的运行结果:
FriendlyName:
PhysicalDeviceObjectName:\Device\FloppyPDO0
Service:flpydisk
SerialNo.ACPI\PNP0700\3&13C0B0C5&0
Device Type:Standard floppy disk controller
StorageManagerNumber:0xffffffff StorageManagerName:
AliasName:FDC#GENERIC_FLOPPY_DRIVE#4&33bc18fa&1&0#{53f5630d-b6bf-11d0-94f2-00a0c91efb8b}

FriendlyName:Generic STEALTH DVD SCSI CdRom Device
PhysicalDeviceObjectName:\Device\Scsi\st3wolf1Port2Path0Target0Lun0
Service:cdrom
SerialNo.X2BIOS\ST3T33\0000
Device Type:ST3WOLF SCSI Controller
StorageManagerNumber:0xffffffff StorageManagerName:
AliasName:SCSI#CdRom&Ven_Generic&Prod_STEALTH_DVD&Rev_#2&3243cb57&0&000#{53f56308-b6bf-11d0-94f2-00a0c91efb8b}
AliasName:SCSI#CdRom&Ven_Generic&Prod_STEALTH_DVD&Rev_#2&3243cb57&0&000#{53f5630d-b6bf-11d0-94f2-00a0c91efb8b}

FriendlyName:
PhysicalDeviceObjectName:\Device\HarddiskVolume2
Service:
SerialNo.ROOT\FTDISK\0000
Device Type:Volume Manager
StorageManagerNumber:0x0 StorageManagerName:PhysDisk
AliasName:D:
AliasName:Volume{3ae438ec-c727-11d7-86b4-806d6172696f}
AliasName:STORAGE#Volume#1&30a96598&0&Signature976D976DOffset27116F400Length4E22C6E00#{53f5630d-b6bf-11d0-94f2-00a0c91efb8b}

FriendlyName:
PhysicalDeviceObjectName:\Device\HarddiskVolume3
Service:
SerialNo.ROOT\FTDISK\0000
Device Type:Volume Manager
StorageManagerNumber:0x0 StorageManagerName:PhysDisk
AliasName:E:
AliasName:Volume{3ae438ed-c727-11d7-86b4-806d6172696f}
AliasName:STORAGE#Volume#1&30a96598&0&Signature976D976DOffset75343E000Length1FDDFA200#{53f5630d-b6bf-11d0-94f2-00a0c91efb8b}

FriendlyName:
PhysicalDeviceObjectName:\Device\HarddiskVolume1
Service:
SerialNo.ROOT\FTDISK\0000
Device Type:Volume Manager
StorageManagerNumber:0x0 StorageManagerName:PhysDisk
AliasName:STORAGE#Volume#1&30a96598&0&Signature976D976DOffset7E00Length27115F800#{53f5630d-b6bf-11d0-94f2-00a0c91efb8b}
AliasName:Volume{3ae438eb-c727-11d7-86b4-806d6172696f}
AliasName:C:

FriendlyName:ST340016A
PhysicalDeviceObjectName:\Device\Ide\IdeDeviceP0T0L0-2
Service:disk
SerialNo.PCIIDE\IDECHANNEL\4&E3EC092&0&0
Device Type:Primary IDE Channel
Capacity:0 MegaBytes SectorSize:0(0x0)
Cylinders:0(0x0),Heads:0(0x0),Sectors:0(0x0),SectorSize:3435973836(0xcccccccc)
Warning Sector Sizes are Conflicted.
DriveLetter D:
DriveLetter E:
DriveLetter C:
会思考的草 2003-09-09
  • 打赏
  • 举报
回复
可以通过判断设备的服务类型来实现。各个设备的GUID不一样的。
xiaohedou 2003-09-09
  • 打赏
  • 举报
回复
bhw98:csdn的专栏作家,的文章:

实战DeviceIoControl 之四:获取硬盘的详细信息 bhw98(原作)

关键字 DeviceIoControl,ATA/ATAPI,硬盘序列号

http://www.csdn.net/develop/read_article.asp?id=17097

zhouyong0371(小周周) :你的方法好像只能判断盘符?
linfeng1216 2003-09-05
  • 打赏
  • 举报
回复
up
linfeng1216 2003-09-04
  • 打赏
  • 举报
回复
gz
xiaohedou 2003-09-03
  • 打赏
  • 举报
回复
这是前几天的一个帖子:

http://expert.csdn.net/Expert/topic/2134/2134696.xml?temp=7.651919E-02

3.磁盘信息
我们希望获得系统所有磁盘的信息,包括软盘,硬盘,光盘等等;
GetLogicalDriveStrings(dwBufferLength,lpBuffer);
//获得逻辑设备的信息;
GetVolumeInformation(lpRootPathName,lpVolumeNameBuffer,
dwVolumeNameSize,&dwVolumeSerialNumber,
&dwMaximumComponentLength,&dwFileSystemFlags,
lpFileSystemNameBuffer,dwFileSystemNameSize);
//获得磁盘卷信息,包括卷名称和格式类型;
GetDiskFreeSpaceEx(lpRootPathName,&FreeBytesAvailable,
&TotalNumberOfBytes,&TotalNumberOfFreeBytes);
//探测磁盘的空间使用情况;
yifengling0 2003-09-02
  • 打赏
  • 举报
回复
移动硬盘在windows里,都被认成本地硬盘了

gz
howtotell 2003-09-02
  • 打赏
  • 举报
回复
csdn上有篇收藏的文章专门讲读取驱动器详细信息的,你可以自己搜索一下。
xiaoshali 2003-09-01
  • 打赏
  • 举报
回复
我再顶,高手救救我啊
chen_pin 2003-08-31
  • 打赏
  • 举报
回复
关注
xiaoshali 2003-08-31
  • 打赏
  • 举报
回复
发现上述方法的问题,如果是u盘的话确实是removeable,但是如果是移动硬盘,则是fixed,怎么办啊
zhouyong0371 2003-08-26
  • 打赏
  • 举报
回复
DWORD drivertype;
drivertype = GetDriveType("C:");
if(drivertype==DRIVE_REMOVABLE)
{
MessageBox("removeable");
}
if(drivertype==DRIVE_FIXED)
{
MessageBox("fixed");
}
if(drivertype==DRIVE_CDROM)
{
MessageBox("cdrom");
}
if(drivertype==DRIVE_REMOTE)
{
MessageBox("remote");
}
zhouyong0371 2003-08-26
  • 打赏
  • 举报
回复
GetDriveType
The GetDriveType function determines whether a disk drive is a removable, fixed, CD-ROM, RAM disk, or network drive.

UINT GetDriveType(
LPCTSTR lpRootPathName // root directory
);
Parameters
lpRootPathName
[in] Pointer to a null-terminated string that specifies the root directory of the disk to return information about. A trailing backslash is required. If lpRootPathName is NULL, the function uses the root of the current directory.
Return Values
The return value specifies the type of drive. It can be one of the following values.

Value Meaning
DRIVE_UNKNOWN The drive type cannot be determined.
DRIVE_NO_ROOT_DIR The root path is invalid. For example, no volume is mounted at the path.
DRIVE_REMOVABLE The disk can be removed from the drive.
DRIVE_FIXED The disk cannot be removed from the drive.
DRIVE_REMOTE The drive is a remote (network) drive.
DRIVE_CDROM The drive is a CD-ROM drive.
DRIVE_RAMDISK The drive is a RAM disk.
AthlonxpX86 2003-08-26
  • 打赏
  • 举报
回复
硬盘分区是逻辑设备,ide,scsi是物理设备,从磁盘分区上看不太好分辨啊
关注+UP

2,640

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 硬件/系统
社区管理员
  • 硬件/系统社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧