资源简介
数据恢复 源码
数据恢复 源码
数据恢复 源码
数据恢复 源码
数据恢复 源码

代码片段和文件信息
#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原理图及其封装库
相关资源
- Scratch源码
- E4A无障碍跨程序操作类库(带源码、
- 设备管理系统源码
- 安卓wifi直连app源码
- 我的世界源码(易语言版)
- labview编程软件滤波器以及编写程序设
- 我的界面(visual foxpro)源码
- 易语言:一键cf基址源码
- The Secret Path 3D 3D魔方迷宫[源码][scra
- scratch垃圾分类源码(最终版本).sb
- 安卓QQ6.71协议源码易语言,qq协议源码
- 编译原理实验工具及参考源码(lex&
- E盾偷后台工具源码
- UNIX/LINUX编程实践教程的源码
- 十以内加减法练习 powerbuilder源码
- 农场开发项目
- OCR源码
- PLC上位机编程软件
- 用foobar2000听google音乐[更新一下]
- 学生信息管理系统源码
- 用VC 编写的仿QQ聊天室程序源代码
- 毕业论文之温度传感器DS18B20(源码
- 可自定义导航网站源码
- 栅栏填充算法源码(VC)
- msp430F149操作红外接收模块源码
- [免费]图像识别c 源码
- 周易排盘源码
- RSA算法源码
- 一个人脸识别程序源码
- 编译原理课程设计:词法语法编译器
评论
共有 条评论