CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  其他开发语言 >  汇编语言

如何在DOS中编程实现获取硬盘容量参数(高手请进!!!)

楼主smzh8(QQ:420827644)2004-12-03 15:48:34 在 其他开发语言 / 汇编语言 提问

如何在DOS中编程实现获取硬盘容量参数(高手请进!!!) 问题点数:0、回复次数:1Top

1 楼clumsy(Kyrie eleison)回复于 2004-12-04 10:18:52 得分 0

可以通过扩展的   int13h   功能调用吧:   int13h(AH=48h)  
  最后先大致看一下扩展的   int13h   的调用说明,   在调用下面的功能之前,   前调用   int13h(AH=41h)   检查一下  
   
  8)   取得驱动器参数  
  入口:  
    AH   =   48h  
    DL   =   驱动器号  
    DS:SI   =   返回数据缓冲区地址  
   
  返回:  
    CF   =   0,   AH   =   0   成功  
      DS:SI   驱动器参数数据包地址,   (参见后面的介绍)  
    CF   =   1,   AH   =   错误码  
   
    这个调用返回指定驱动器的参数.  
   
   
  驱动器参数数据包   Drive   Parameters   Packet  
   驱动器参数数据包是在扩展   Int13H   的取得驱动器参数子功能调用中使用的数据包.   格式如下:  
    struct   DriveParametersPacket  
    {  
      WORD   InfoSize;         //   数据包尺寸   (26   字节)  
      WORD   Flags;          //   信息标志  
      DWORD   Cylinders;        //   磁盘柱面数  
      DWORD   Heads;          //   磁盘磁头数  
      DWORD   SectorsPerTrack; //   每磁道扇区数  
      QWORD   Sectors;         //   磁盘总扇区数  
      WORD   SectorSize;        //   扇区尺寸   (以字节为单位)  
    };  
    信息标志用于返回磁盘的附加信息,   每一位的定义如下:  
    0   位:  
      0   =   可能发生   DMA   边界错误  
      1   =   DMA   边界错误将被透明处理  
      如果这位置   1,   表示   BIOS   将自动处理   DMA   边界错误,   也就是说  
      错误代码   09H   永远也不会出现.  
    1   位:  
      0   =   未提供   CHS   信息  
      1   =   CHS   信息合法  
      如果块设备的传统   CHS   几何信息不适当的话,   该位将置   0.  
    2   位:  
      0   =   驱动器不可移动  
      1   =   驱动器可移动  
    3   位:   表示该驱动器是否支持写入时校验.  
    4   位:  
      0   =   驱动器不具备介质更换检测线  
      1   =   驱动器具备介质更换检测线  
    5   位:  
      0   =   驱动器不可锁定  
      1   =   驱动器可以锁定  
      要存取驱动器号大于   0x80   的可移动驱动器,   该位必须置   1  
      (某些驱动器号为   0   到   0x7F   的设备也需要置位)  
    6   位:  
      0   =   CHS   值是当前存储介质的值   (仅对于可移动介质),   如果  
      驱动器中有存储介质,   CHS   值将被返回.  
      1   =   CHS   值是驱动器支持的最大值   (此时驱动器中没有介质).  
    7   -   15   位:   保留,   必须置   0.Top

相关问题

  • 获取硬盘号
  • 获取硬盘ID
  • SDK编程中如果取得参数?
  • spring、编程式事务、参数 问题?
  • jsp获取参数问题
  • webWork无法获取参数
  • 如何编程获取mx(VC语言)
  • 获取硬盘序列号?
  • 编程如何区分普通硬盘和USB硬盘?
  • 求 IBM硬盘: IC35L080AVVA07-0 的参数设置

关键词

  • 扩展
  • word
  • 参数
  • 驱动器
  • 调用
  • 数据包
  • 扇区
  • 磁盘
  • ah
  • 返回

得分解答快速导航

  • 帖主:smzh8

相关链接

  • CSDN Blog
  • 技术文档
  • 代码下载
  • 第二书店
  • 读书频道

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo