做一个能对U盘重新分区的小工具,使用该方法删除U盘中原有的分区表。

 bool CCesDiskDll::DestroyDisk(unsigned char deviceNumber)
{
DWORD readed;
char diskName[_DISK_PATH_LEN_];
sprintf(diskName, "\\\\.\\PhysicalDrive%d", deviceNumber);
HANDLE hDisk = CreateFileA(diskName, GENERIC_READ | GENERIC_WRITE, FILE_SHARE_READ | FILE_SHARE_WRITE,
nullptr, OPEN_EXISTING, , nullptr);
if (hDisk == INVALID_HANDLE_VALUE)
{
CErrorHandle::ErrorMessageBox(TEXT("磁盘读取异常"));
return false;
}
if (!DeviceIoControl(hDisk, IOCTL_DISK_DELETE_DRIVE_LAYOUT, nullptr, , nullptr, , &readed,
nullptr))
{
CErrorHandle::ErrorMessageBox(TEXT("磁盘分区表删除异常"));
CloseHandle(hDisk);
return false;
}
if (!DeviceIoControl(hDisk, IOCTL_DISK_UPDATE_PROPERTIES, nullptr, , nullptr, , &readed,
nullptr))
{
CErrorHandle::ErrorMessageBox(TEXT("磁盘分区表刷新异常"));
CloseHandle(hDisk);
return false;
}
CloseHandle(hDisk);
return true;
}

最新文章

  1. apk反编译
  2. Canvas: Out of system resources
  3. Unity3D Layout 快捷键
  4. Ohlàlà
  5. 查看BADI有哪些实现
  6. php监听客户端连接状态
  7. OpenCV源码阅读(1)---matx.h---mat类与vec类
  8. modsecookie
  9. netcore webapi帮助文档设置
  10. 如何在jenkins的maven项目中,用mvn命令行指定findbugs的黑名单规则文件
  11. 《k8s-1.13版本源码分析》-调度器初始化
  12. SpringBoot报错:java.lang.NoSuchMethodError: javax.servlet.ServletContext.getVirtualServerName()Ljava/lang/String;
  13. Hyper-V 替换 vmwp
  14. SQL Server ltrim(rtrim()) 去不掉空格
  15. rabbitmq集群安装与配置(故障恢复)
  16. wordpress中常用的一些php代码
  17. Go 文件操作(创建、打开、读、写)
  18. Python3 Selenium WebDriver网页的前进、后退、刷新、最大化、获取窗口位置、设置窗口大小、获取页面title、获取网页源码、获取Url等基本操作
  19. Socket入门之前的知识点
  20. C语言 · 最大最小公倍数

热门文章

  1. Probit回归模型
  2. C/C++ http协议加载sessionID
  3. malloc函数详解
  4. 读javascript高级程序设计16-几条函数小技巧
  5. ShopNc基本介绍
  6. WCF初探-12:WCF客户端异常处理
  7. iOS开发拓展篇—CoreLocation定位服务
  8. DBAccess
  9. 用Handler图片轮播练习
  10. WinRT知识积累1之读xml数据