资源简介
数据恢复 源码
数据恢复 源码
数据恢复 源码
数据恢复 源码
数据恢复 源码
代码片段和文件信息
#include “commen.h“
#include “healthInfo.h“
#include “theDataRecoveryHead.h“
//////////////////////////////////////////////////////////////////////////
//获取逻辑驱动器信息
BOOL GetLogicalDriveInfo(LOGICALDRIVEINFO *logicalDriveInfochar logicalDriveNumberint phyDriveNumber)
{
HANDLE hDrive;
char path[128];
STORAGE_DEVICE_NUMBER number; //use this to get disk numbers
DWORD readed; // discard results
sprintf_s(path“\\\\.\\%c:“logicalDriveNumber);
hDrive=CreateFile(pathGENERIC_READ | GENERIC_WRITEFILE_SHARE_READ | FILE_SHARE_WRITE NULLOPEN_EXISTING0NULL);
if (hDrive == INVALID_HANDLE_VALUE) // cannot open the drive
{
CloseHandle(hDrive);
return FALSE;
}
if (DeviceIoControl(hDriveIOCTL_STORAGE_GET_DEVICE_NUMBERNULL0&numbersizeof(number)&readedNULL))
{
//如果不同一个磁盘,则返回FALSE
if ((number.DeviceNumber!=phyDriveNumber) || phyDriveNumber<0)
{
CloseHandle(hDrive);
return FALSE;
}
}
//OK有这个物理驱动器,而且属于同一个磁盘开始获取逻辑驱动器信息
logicalDriveInfo->szDrive=logicalDriveNumber;
//获取驱动器类型
sprintf_s(path“%c:\\“logicalDriveNumber);
logicalDriveInfo->uDriveType=GetDriveType(path);
//使用GetVolumeInformation获取
if(!GetVolumeInformation(
path
logicalDriveInfo->szDriveName
sizeof(logicalDriveInfo->szDriveName)
&logicalDriveInfo->dwSerialNumber
&logicalDriveInfo->dwMaximumComponentLength
&logicalDriveInfo->dwFileSystemFlags
logicalDriveInfo->dwFileSystem
sizeof(logicalDriveInfo->dwFileSystem)
))
{
CloseHandle(hDrive);
return FALSE;
}
//使用GetDiskFreeSpace获取信息
if (!GetDiskFreeSpace(
path
&logicalDriveInfo->dwSectorsPerCluster
&logicalDriveInfo->dwBytesPerSector
&logicalDriveInfo->dwNumberOfFreeCluters
&logicalDriveInfo->dwTotalNumberOfClusters
))
{
CloseHandle(hDrive);
return FALSE;
}
CloseHandle(hDrive);
return TRUE;
}
//////////////////////////////////////////////////////////////////////////
//读取物理驱动器信息,简短的
//使用DeviceIoControl获取硬件信息步骤:根据控制码(第二个参数),填充好输入
//参数,然后再定义输出参数,从输出参数里取信息,这些参数一般是结构体的。
BOOL GetPhysicalDriveInfoShort (PHYDRIVEINFOSHORT *pThePhyDriveInfoint iDrive)
{
HANDLE hPhysicalDriveIOCTL = 0;
BOOL OK=FALSE;
TCHAR driveName [32];
_stprintf_s(driveName_T(“\\\\.\\PhysicalDrive%d“)iDrive);
// 打开设备,获得物理磁盘句柄
hPhysicalDriveIOCTL = CreateFile (driveName 0FILE_SHARE_READ | FILE_SHARE_WRITE NULLOPEN_EXISTING 0 NULL);
if (hPhysicalDriveIOCTL != INVALID_HANDLE_VALUE)
{
STORAGE_PROPERTY_QUERY query;
DWORD cbBytesReturned = 0;
char buffer [10000];
memset ((void *) & query 0 sizeof (query));
query.PropertyId = StorageDeviceProperty;
query.QueryType = PropertyStandardQuery;
memset (buffer 0 sizeof (buffer));
if ( DeviceIoControl (hPhysicalDriveIOCTL IOCTL_STORAGE_QUERY_PROPERTY& querysizeof (query)& buffersizeof (buffer)& cbBytesReturned NULL) )
{
STORAGE_DEVICE_DEscriptOR * descrip = (
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2018-01-08 15:42 dataRecovery\
目录 0 2018-01-08 15:32 dataRecovery\Src\
目录 0 2018-01-08 15:32 dataRecovery\Src\Debug\
文件 96256 2014-06-09 15:53 dataRecovery\Src\Debug\Robam Data Recovery.exe
文件 920576 2014-06-09 15:53 dataRecovery\Src\Debug\Robam Data Recovery.pdb
目录 0 2018-01-08 15:32 dataRecovery\Src\Release\
文件 60928 2012-05-22 17:06 dataRecovery\Src\Release\Robam Data Recovery.exe
文件 437248 2012-05-22 17:06 dataRecovery\Src\Release\Robam Data Recovery.pdb
目录 0 2018-01-08 15:32 dataRecovery\Src\TheGood\
目录 0 2018-01-08 15:32 dataRecovery\Src\TheGood\Debug\
文件 23944 2014-06-09 15:53 dataRecovery\Src\TheGood\Debug\BuildLog.htm
文件 937 2014-05-15 08:45 dataRecovery\Src\TheGood\Debug\Robam Data Recovery.exe.em
文件 1004 2014-05-15 08:45 dataRecovery\Src\TheGood\Debug\Robam Data Recovery.exe.em
文件 873 2014-06-09 15:53 dataRecovery\Src\TheGood\Debug\Robam Data Recovery.exe.intermediate.manifest
文件 663 2012-03-02 14:19 dataRecovery\Src\TheGood\Debug\TheGood.exe.em
文件 728 2012-03-02 14:19 dataRecovery\Src\TheGood\Debug\TheGood.exe.em
文件 621 2012-03-05 23:11 dataRecovery\Src\TheGood\Debug\TheGood.exe.intermediate.manifest
文件 10460 2014-05-19 15:20 dataRecovery\Src\TheGood\Debug\TheGood.res
文件 159061 2014-05-19 15:20 dataRecovery\Src\TheGood\Debug\commen.obj
文件 170351 2014-06-09 15:53 dataRecovery\Src\TheGood\Debug\main.obj
文件 65 2014-06-09 15:53 dataRecovery\Src\TheGood\Debug\mt.dep
文件 592896 2014-06-09 15:53 dataRecovery\Src\TheGood\Debug\vc90.idb
文件 462848 2014-06-09 15:53 dataRecovery\Src\TheGood\Debug\vc90.pdb
目录 0 2018-01-08 15:32 dataRecovery\Src\TheGood\PIC\
文件 824 2012-03-16 12:05 dataRecovery\Src\TheGood\PIC\301.bmp
文件 3444 2012-03-16 12:01 dataRecovery\Src\TheGood\PIC\301.png
文件 824 2012-03-16 12:05 dataRecovery\Src\TheGood\PIC\302.bmp
文件 3390 2012-03-16 12:01 dataRecovery\Src\TheGood\PIC\302.png
文件 824 2012-03-16 12:05 dataRecovery\Src\TheGood\PIC\617.bmp
文件 3571 2012-04-08 14:10 dataRecovery\Src\TheGood\PIC\617.png
文件 1150 2012-04-08 14:17 dataRecovery\Src\TheGood\PIC\favicon.ico
............此处省略24个文件信息
- 上一篇:精通 WebSphere MQ(完整版)
- 下一篇:ESP12原理图及其封装库
相关资源
- 《x86汇编语言:从实模式到保护模式
- Fatfs R0.13b 版本官方源码
- CH451手册及按键源码
- 宠物商店源码
- 微信小程序毕业设计源码
- 微信app源码
- 帽子接球-Unity3D-源码及详细文档
- 异梦易支付全解密去授权内附使用说
- PB源码的进销存管理系统
- FTP服务器和客户端源码集合
- MS5837水深传感器-stm32程序源码
- 最漂亮上档次的卖辅助官网
- SVG画图工具,整套源码
- 基于FPGA的ov7670及SDRAM源码
- 动态炫酷天空引导页源码.zip
- cygwin-1.1.8-2-src
- ftp源码
- flex&bison英文版+源码
- 仿课程格子 课程表 UI
- tensorflow下 自制rfrecords数据集采用on
- DNF最新脚本源码TC的
- 易语言成品仓库管理源码
- 推箱子自动求解及游戏(最终算法源
- fira机器人足球基础动作源码
- risc-v core Verilog源码
-
EasyWeb if
rame多标签版-混淆版源码 - FBAs游戏机模拟器源码,支持联网对战
- windows下编译adb源码
- 串口调试助手源码 串口调试助手源码
- LSD SLAM源码 windows版本非ROS版本
评论
共有 条评论