如何读写硬盘的最后一些扇区

[复制链接]

该用户从未签到

2

主题

4

回帖

42

积分

[INTOHARD]工兵

Rank: 1

积分
42
发表于 2010-6-16 23:25:03 | 显示全部楼层 |阅读模式
DWORD SetFilePointer(

  HANDLE hFile,

  LONG lDistanceToMove,

  PLONG lpDistanceToMoveHigh,

  DWORD dwMoveMethod

);
我尝试着用这个函数移动指针,然后用 writeFile() ,readFile()读写函数,可结果
始终是 只能读写 前2g的硬盘,我用了   PLONG lpDistanceToMoveHigh,
这个参数了哦

另外就是,deviceIoControl(),用 IOCTL_DISK_GET_DRIVE_GEOMETR_EX啊,获取的总字节数/512 才为实际的扇区数,
CHS计算出的结果始终要小些,谁知道原因哦??

该用户从未签到

2

主题

4

回帖

42

积分

[INTOHARD]工兵

Rank: 1

积分
42
 楼主| 发表于 2010-6-16 23:25:25 | 显示全部楼层
高手 指教哦??
  • TA的每日心情
    无聊
    2021-11-2 09:15
  • 签到天数: 806 天

    [LV.10]一品大学士

    16

    主题

    1235

    回帖

    8310

    积分

    [INTOHARD]团长

    Rank: 8Rank: 8

    积分
    8310
    QQ
    发表于 2010-6-17 10:01:16 | 显示全部楼层
    (38:看不懂o
  • TA的每日心情
    开心
    2013-5-27 10:51
  • 签到天数: 5 天

    [LV.2]九品芝麻官

    73

    主题

    711

    回帖

    1889

    积分

    Intohard Team

    Rank: 7Rank: 7Rank: 7

    积分
    1889
    QQ
    发表于 2010-6-17 11:02:32 | 显示全部楼层
    LONG lDistanceToMove,

      PLONG lpDistanceToMoveHigh,
    需要这两个参数高低位进行配合才能读取大磁盘。

    该用户从未签到

    2

    主题

    4

    回帖

    42

    积分

    [INTOHARD]工兵

    Rank: 1

    积分
    42
     楼主| 发表于 2010-6-17 11:08:10 | 显示全部楼层
    需要这两个参数高低位进行配合才能读取大磁盘。
    我已经两个参数都用上了,就是无法读取后面的硬盘
    另外我 在想 可不可以用 file_end这个标志位哦,
    也就是setFilePointer()从硬盘末向前移动
  • TA的每日心情
    开心
    2013-5-27 10:51
  • 签到天数: 5 天

    [LV.2]九品芝麻官

    73

    主题

    711

    回帖

    1889

    积分

    Intohard Team

    Rank: 7Rank: 7Rank: 7

    积分
    1889
    QQ
    发表于 2010-6-17 11:20:02 | 显示全部楼层
    回复 5# ghostknightsy


        那样开发起来就麻烦多了! 程序复杂程度也大大增加了。

    该用户从未签到

    2

    主题

    4

    回帖

    42

    积分

    [INTOHARD]工兵

    Rank: 1

    积分
    42
     楼主| 发表于 2010-6-17 11:35:40 | 显示全部楼层
    回复 6# jim19


        不会啊,代码还更加少些呢,不过这个原因是为什么就不知道了
    还有就是,deviceIoControl()函数获取C,H,S计算出的总扇区数也小于
    硬盘的实际扇区数(磁盘工具获取的哦)

    该用户从未签到

    2

    主题

    4

    回帖

    42

    积分

    [INTOHARD]工兵

    Rank: 1

    积分
    42
     楼主| 发表于 2010-6-17 11:36:23 | 显示全部楼层
    咋感觉这里面 很少有人 谈 编程实现 的东东
    许多都是在讲 各种各样的磁盘工具哦
  • TA的每日心情
    开心
    2013-5-27 10:51
  • 签到天数: 5 天

    [LV.2]九品芝麻官

    73

    主题

    711

    回帖

    1889

    积分

    Intohard Team

    Rank: 7Rank: 7Rank: 7

    积分
    1889
    QQ
    发表于 2010-6-17 11:42:49 | 显示全部楼层
    回复 8# ghostknightsy


        这里主要讨论修盘和数据恢复的,有兴趣加qq聊聊, 5 9 8 8 2 0 9 1 9

    该用户从未签到

    28

    主题

    174

    回帖

    6965

    积分

    [INTOHARD]团长

    兴趣广泛

    Rank: 8Rank: 8

    积分
    6965

    特殊贡献奖原创先锋奖

    QQ
    发表于 2010-6-17 16:37:12 | 显示全部楼层
    方便把代码贴出来吗? 你仔细看看你高双字参数用错了没?如果没有 则用异步版本试试
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    快速回复 返回顶部 返回列表