获取操作系统所在的物理磁盘号

上传人:第*** 文档编号:34734299 上传时间:2018-02-28 格式:DOC 页数:4 大小:27.50KB
返回 下载 相关 举报
获取操作系统所在的物理磁盘号_第1页
第1页 / 共4页
获取操作系统所在的物理磁盘号_第2页
第2页 / 共4页
获取操作系统所在的物理磁盘号_第3页
第3页 / 共4页
获取操作系统所在的物理磁盘号_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《获取操作系统所在的物理磁盘号》由会员分享,可在线阅读,更多相关《获取操作系统所在的物理磁盘号(4页珍藏版)》请在金锄头文库上搜索。

1、获取操作系统所在的物理磁盘号.txt熬夜,是因为没有勇气结束这一天;赖床,是因为没 有勇气开始这一天。朋友,就是将你看透了还能喜欢你的人。获取操作系统所在的物理磁盘 号2008-11-16 21:29由于程序需要,查了下如何判断操作系统所在的PhysicalDrive,把 这段代码贴这里做个备忘。 。 获取系统盘的逻辑驱动器号的函数 GetSystemDirectory; 根据逻辑驱动器号查找物理驱动器号的方法如下 相关的宏定义 typedef struct _DISK_EXTENT DWORD DiskNumber; LARGE_INTEGER StartingOffset; LARGE_I

2、NTEGER ExtentLength; DISK_EXTENT, *PDISK_EXTENT; typedef struct _VOLUME_DISK_EXTENTS DWORD NumberOfDiskExtents; DISK_EXTENT Extents1; VOLUME_DISK_EXTENTS, *PVOLUME_DISK_EXTENTS; #define IOCTL_VOLUME_BASE (DWORD) V) #define IOCTL_VOLUME_GET_VOLUME_DISK_EXTENTS CTL_CODE(IOCTL_VOLUME_BASE, 0, METHOD_BU

3、FFERED, FILE_ANY_ACCESS) 函数 HANDLE hFile = CreateFile(“.C:“,GENERIC_READ,FILE_SHARE_READ|FILE_SHARE_WRITE,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL); VOLUME_DISK_EXTENTS vde; DWORD readed; BOOL ret = DeviceIoControl(hFile,IOCTL_VOLUME_GET_VOLUME_DISK_EXTENTS,NULL,0, CloseHandle(hFile); * * 解决了,根

4、据盘符获取物理磁盘号和分区号: /获取指定盘符的分区号,如C盘是1:1 BOOL COneKeyDlg:GetPartitionNumber(LPCTSTR lpszDiskName, CString HANDLE hDrv = CreateFile(szDiskName, GENERIC_READ, FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_EXISTING, 0, NULL); if(!hDrv) /cout DiskNumber+1, pinfo.PartitionNumber); return TRUE; 参考: http:/ htt

5、p:/ 不知有无问题 * * 一、枚举USB设备通过枚举USB控制器-枚举此控制器上的USB HUB-枚举HUB的各个端口-获得设备信 息。 枚举控制器: wsprintf(HCName, “.HCD%d“, HCNum);hHCDev = CreateFile(HCName, GENERIC_WRITE, FILE_SHARE_WRITE, NULL, OPEN_EXISTING, 0, NULL);计算机上的USB主控制器以HCD1,HCD2等命名。通过控制器名称,使用CCreateFile 打开它。使用DeviceIoControl即可得到其驱动程序名,以及与它连接的HUB的名称。用 C

6、CreateFile打开HUB,获得连接信息。再枚举HUB的各个端口即可获得连接的设备信息。 二、枚举HID设备HID 设备是微软定义的标准人机接口规范。比如USB鼠标,USB游戏手柄等。不用查找 具体设备的GUID,使用API HidD_GetHidGuid(&guidHID)即可得到GUID。有了GUID通过 API SetupDiEnumDeviceInterfaces可获得是否有设备连接。如果此类设备连接通过 SetupDiGetDeviceInterfaceDetail获得它的设备路径信息。使用CCreateFile 打开它,通 过HidD_GetAttributes获得其基本属性信息。使用DeviceIoControl可以获得更详细的属 性。在本代码中如果计算机上插有USB游戏手柄,可获得其信息。但不知道为什么xp下却 不能获得USB鼠标的信息。 三 枚举 U盘先用GetDriveType API获得设备的类型,若类型为REMOVABLE(当然有些大容量U盘 可能报告为FIXED,那就需要其他方法来确定了) ,即可能是U盘。用CCreateFile 打开之 后,再用IOCTL_STORAGE_QUERY_PROPERTY为参数的DeviceIoControl来获得其属性。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号