首页 | 公司简介 | 数据恢复 | 备份服务 | 成功案例 | 技术中心 | 客户服务 | 服务报价 | 数据恢复软件 | 联系我们 | 北亚博客  
 
  北京总部: 4006-505-646
  天 津 部: 4006-505-646
  上 海 部: 4006-505-646
  深 圳 部: 4006-505-646
  广 州 部: 4006-505-646
  重 庆 部: 4006-505-646
  南 京 部: 4006-505-646
  其它地区: 4006-505-646
北亚数据恢复软件Windows专业版
三星手机数据恢复软件V1.0
北亚苹果手机数据恢复软件V2.0
北亚硬盘录像机数据恢复软件 V
北亚vmware虚拟机数据恢复软件
北亚照片数据恢复软件
北亚摄像机数据恢复软件 v2.1
北亚Sybase数据库修复软件 V2.
raid磁盘阵列应急方案
HP EVA4400/6400/8400/P6000
iphone 通讯录丢失如何恢复?
xen server 存储库(sr)损坏后
RAID6结构原理详解(北亚数据
AIX下删除LV后的现场保护和数
RAID损坏后 对数据的完整备份
您当前的位置:首页 >> 技术中心 >> 硬件故障恢复文栏 >> 正文

扩展int13h调用详解(修正)

    ds:si ==> 磁盘地址数据包( disk address packet )
    dl    ==> 驱动器号
    ah    ==> 功能代码 / 返回码

    在基本 Int13H 调用中, 0 - 0x7F 之间的驱动器号代表可移动驱动器0x80 - 0xFF 之间的驱动器号代表固定驱动器. 但在扩展 Int13H 调用中
0x80 - 0xFF 之间还包括一些新出现的可移动驱动器, 比如活动硬盘等.这些驱动器支持先进的锁定,解锁等功能.
    ah 返回的错误码除了标准 Int13H 调用规定的基本错误码以外,又增加了以下错误码:

   B0h   驱动器中的介质未被锁定

   B1h   驱动器中的介质已经锁定

   B2h   介质是可移动的

   B3h   介质正在被使用

   B4h   锁定记数溢出

   B5h   合法的弹出请求失败

2. API 子集介绍
   1.x 版的扩展 Int13H 调用中规定了两个主要的 API 子集.

   第一个子集提供了访问大硬盘所必须的功能, 包括 检查扩展 In13H是否存在( 41h ), 扩展读( 42h ), 扩展写( 43h ), 校验扇区( 44h ),
扩展定位( 47h ) 和 取得驱动器参数( 48h ).   第二个子集提供了对软件控制驱动器锁定和弹出的支持, 包括 检查扩展Int13H 是否存在( 41h ), 锁定/解锁驱动器( 45h ), 弹出驱动器( 46h ),
取得驱动器参数( 48h ), 取得扩展驱动器改变状态( 49h ), int 15h.如果使用了调用规范中不支持的功能, BIOS 将返回错误码 ah = 01h,
CF = 1.

3. API 详解

1) 检验扩展功能是否存在
入口:
    AH = 41h
    BX = 55AAh
    DL = 驱动器号

返回:
    CF = 0
       AH = 扩展功能的主版本号
       AL = 内部使用
       BX = AA55h
       CX = API 子集支持位图
    CF = 1
       AH = 错误码 01h, 无效命令

    这个调用检验对特定的驱动器是否存在扩展功能. 如果进位标志置 1则此驱动器不支持扩展功能. 如果进位标志为 0, 同时 BX = AA55h, 则
存在扩展功能. 此时 CX 的 0 位表示是否支持第一个子集, 1位表示是否支持第二个子集.对于 1.x 版的扩展 Int13H 来说, 主版本号 AH = 1. AL 是副版本号,
但这仅限于 BIOS 内部使用, 任何软件不得检查 AL 的值.

2) 扩展读
入口:
    AH = 42h
    DL = 驱动器号
    DS:DI = 磁盘地址数据包(Disk Address Packet)

返回:
    CF = 0, AH = 0 成功
    CF = 1, AH = 错误码

    这个调用将磁盘上的数据读入内存. 如果出现错误, DAP 的 BlockCount项中则记录了出错前实际读取的数据块个数.

3) 扩展写
入口:
    AH = 43h
    AL
       0 位 = 0 关闭写校验
              1 打开写校验
       1 - 7 位保留, 置 0
    DL = 驱动器号
    DS:DI = 磁盘地址数据包(DAP)
返回:
    CF = 0, AH = 0 成功
    CF = 1, AH = 错误码

    这个调用将内存中的数据写入磁盘. 如果打开了写校验选项, 但 BIOS不支持, 则会返回错误码 AH = 01h, CF = 1. 功能 48h 可以检测BIOS是否

本新闻共11页,当前在第09页  
01  02  03  04  05  06  07  08  09  10  
11  

上一篇:软件能够修复硬盘吗?——硬盘损坏全分析
下一篇:MBR的详细分析
返回首页 | 联系我们 | 关于我们 | 招聘信息 | 友情链接 | 网站地图 | 合作伙伴
版权所有 北京北亚宸星科技有限公司
全国统一客服热线:4006-505-646
北京总部:北京市海淀区永丰基地丰慧中路7号新材料创业大厦B座205室
京ICP备09039053

Ee<