获取物理磁盘物理索引号
2013-03-13 09:36
183 查看
int GetPhysicalDriveIndex(char cLable)
{
char szDriverName[64] = "\\\\.\\C:\0";
szDriverName[4] = cLable;
int PhysicalDriveNum = -1;
HANDLE hDev = CreateFile(szDriverName,
0,
FILE_SHARE_READ|FILE_SHARE_WRITE,
NULL,
OPEN_EXISTING,
0,
NULL);
if (hDev == INVALID_HANDLE_VALUE)
{
return PhysicalDriveNum;
}
STORAGE_DEVICE_NUMBER sdn;
DWORD dwBytesRetuned=0;
long res = DeviceIoControl(hDev,
IOCTL_STORAGE_GET_DEVICE_NUMBER,
NULL,
0,
&sdn,sizeof(sdn),
&dwBytesRetuned,
NULL);
if(res)
{
PhysicalDriveNum = (int)sdn.DeviceNumber;
}
CloseHandle(hDev);
return PhysicalDriveNum;
}
{
char szDriverName[64] = "\\\\.\\C:\0";
szDriverName[4] = cLable;
int PhysicalDriveNum = -1;
HANDLE hDev = CreateFile(szDriverName,
0,
FILE_SHARE_READ|FILE_SHARE_WRITE,
NULL,
OPEN_EXISTING,
0,
NULL);
if (hDev == INVALID_HANDLE_VALUE)
{
return PhysicalDriveNum;
}
STORAGE_DEVICE_NUMBER sdn;
DWORD dwBytesRetuned=0;
long res = DeviceIoControl(hDev,
IOCTL_STORAGE_GET_DEVICE_NUMBER,
NULL,
0,
&sdn,sizeof(sdn),
&dwBytesRetuned,
NULL);
if(res)
{
PhysicalDriveNum = (int)sdn.DeviceNumber;
}
CloseHandle(hDev);
return PhysicalDriveNum;
}
相关文章推荐
- windows的磁盘操作之六——获取系统所在物理磁盘号
- windows的磁盘操作之七——获取当前所有的物理磁盘号
- windows的磁盘操作之七——获取当前所有的物理磁盘号
- windows的磁盘操作之七——获取当前所有的物理磁盘号
- windows的磁盘操作之五——获取物理磁盘上的所有逻辑分区号
- windows的磁盘操作之六——获取系统所在物理磁盘号
- windows的磁盘操作之七——获取当前所有的物理磁盘号
- windows的磁盘操作之五――获取物理磁盘上的所有逻辑分区号
- windows的磁盘操作之七――获取当前所有的物理磁盘号
- windows的磁盘操作之七——获取当前所有的物理磁盘号 加备注
- 获取物理磁盘和移动磁盘信息
- windows的磁盘操作之五——获取物理磁盘上的所有逻辑分区号
- Windows的磁盘操作之五——获取物理磁盘上的所有逻辑分区号
- windows的磁盘操作之七——获取当前所有的物理磁盘号
- windows的磁盘操作之五——获取物理磁盘上的所有逻辑分区号
- 使用批处理+WMI获取指定文件或目录所在的物理磁盘信息
- C#获取物理磁盘信息
- windows的磁盘操作之五——获取物理磁盘上的所有逻辑分区号
- windows的磁盘操作之五——获取物理磁盘上的所有逻辑分区号
- windows的磁盘操作之五——获取物理磁盘上的所有逻辑分区号