免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 4501 | 回复: 2
打印 上一主题 下一主题

老大们,如何通过程序获得移动硬盘的序列号等信息啊 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-10-20 14:45 |只看该作者 |倒序浏览
各位看一下 hdparm -i /dev/sda1  只对IDE硬盘起作用,我怎么能得到移动硬盘的序列号呢老大们,

论坛徽章:
0
2 [报告]
发表于 2005-10-21 10:07 |只看该作者

老大们,如何通过程序获得移动硬盘的序列号等信息啊

大牛们,有这方面的经验吗,找了很长时间也没有,一点线索也没有.各位提供点线索也好啊.谢谢了

论坛徽章:
1
处女座
日期:2013-08-19 12:39:10
3 [报告]
发表于 2005-12-04 08:47 |只看该作者
转的:

  1. //========================================================
  2. #include <stdio.h>
  3. #include <stdlib.h>
  4. #include <unistd.h>
  5. #include <string.h>
  6. #define extern
  7. #include <asm/io.h>

  8. char *getascii (unsigned int in_data [], int off_start, int off_end);

  9. static int WaitIde()
  10. {
  11. int al;

  12. while ((al=inb(0x1F7))>=0x80) ;
  13. return al;
  14. }

  15. static void ReadIDE()
  16. {
  17. int al;
  18. int i;
  19. ioperm(0x1f0, 16, 1);
  20. WORD pw[256];

  21. WaitIde();
  22. outb(0xA0,0x1F6);
  23. al = WaitIde();
  24. if ((al&0x50)!=0x50) return;

  25. outb(0xA0,0x1F6);
  26. outb(0xEC,0x1F7);
  27. al = WaitIde();
  28. if ((al&0x58)!=0x58) return;

  29. for (i=0;i<256;i++) {
  30. pw[i] = inw(0x1F0);
  31. }
  32. }

  33. int main (void)
  34. {
  35. ReadIDE();
  36. }
  37. //========================================================
复制代码

[ 本帖最后由 wsgtrsys 于 2005-12-4 08:48 编辑 ]
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP