windows的磁盘操作之六——获取系统所在物理磁盘号
来源:互联网 发布:mac windows 哪个好 编辑:程序博客网 时间:2024/05/21 07:54
很多情况下,我们在程序中需要获知操作系统安装在哪个分区上或者哪个物理磁盘上,进而对其进行一些操作或避免一些操作。例如要避免对系统磁盘分区表的删除操作。本节讨论如何获取操作系统所在的逻辑分区号和物理驱动器号。
还是先上代码。
/******************************************************************************
* Function: get the number of disk which the system installed on
* input: N/A
* output: N/A
* return: Succeed, disk number
* Fail, -1
******************************************************************************/
DWORD GetSystemDiskPhysicalNumber(void)
{
CHAR sysPath[DISK_PATH_LEN];
CHAR diskLetter;
DWORD diskNumber;
DWORD ret = GetSystemDirectory(sysPath, sizeof(sysPath));
if (ret == 0)
{
fprintf(stderr, "GetSystemDirectory() Error: %ld\n", GetLastError());
return (DWORD)-1;
}
diskLetter = sysPath[0];
diskNumber = GetPhysicalDriveFromPartitionLetter(diskLetter);
return diskNumber;
}
代码分析:
1. 先调用GetSystemDirectory函数获取windows路径。sysPath中存储的路径形式为C:\WINDOWS\system32。
2. 截取sysPath字符串的第一个字符,即可获得系统所在的分区盘符。
3. 根据逻辑分区号,调用第四节中讨论的GetPhysicalDriveFromPartitionLetter函数即可获得操作系统所在的物理磁盘号。
0 0
- windows的磁盘操作之六——获取系统所在物理磁盘号
- windows的磁盘操作之六——获取系统所在物理磁盘号
- windows的磁盘操作之六——获取系统所在物理磁盘号
- windows的磁盘操作之六——获取系统所在物理磁盘号
- windows的磁盘操作之七——获取当前所有的物理磁盘号
- windows的磁盘操作之七——获取当前所有的物理磁盘号
- windows的磁盘操作之七——获取当前所有的物理磁盘号
- windows的磁盘操作之七——获取当前所有的物理磁盘号
- windows的磁盘操作之七——获取当前所有的物理磁盘号 加备注
- 获取操作系统所在的物理磁盘号
- windows的磁盘操作之四——根据逻辑分区号获得物理磁盘号
- windows的磁盘操作之四——根据逻辑分区号获得物理磁盘号
- windows的磁盘操作之四——根据逻辑分区号获得物理磁盘号
- windows的磁盘操作之四——根据逻辑分区号获得物理磁盘号
- windows的磁盘操作之五——获取物理磁盘上的所有逻辑分区号
- windows的磁盘操作之五——获取物理磁盘上的所有逻辑分区号
- windows的磁盘操作之五——获取物理磁盘上的所有逻辑分区号
- windows的磁盘操作之五——获取物理磁盘上的所有逻辑分区号
- Git学习笔记四
- 在iOS AudioQueue中用Speex进行编码和解码
- json计算并传多个值到后台
- 安卓应用程序插件化开发框架 -AAP Framework
- XStream实现xml和java对象之间的互相转换(包括对属性,别名,下划线_的处理),同理JSON也可以
- windows的磁盘操作之六——获取系统所在物理磁盘号
- Java之斐波那契数列
- 打包前代码混淆
- RailsCasts13 Dangers of Model in Session 将model放在session中是危险的
- 签到功能之三部曲
- LRP架构Linux路由器/防火墙
- 在Windows下编译Firefox源码
- 发表在 Science 上的一种新聚类算法
- 黑马程序员_Java 高新技术(4)