Z16300
驱动牛犊
驱动牛犊
  • 注册日期2002-06-04
  • 最后登录2018-01-17
  • 粉丝3
  • 关注0
  • 积分88分
  • 威望239点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
  • 社区居民
阅读:1157回复:2

请问我的SEEK(10)2Bh怎莫老返回失败啊?

楼主#
更多 发布于:2003-08-06 16:35
请问我的SEEK(10)2Bh怎莫老返回失败啊?
grant
驱动老牛
驱动老牛
  • 注册日期2001-05-14
  • 最后登录2007-04-13
  • 粉丝0
  • 关注0
  • 积分350分
  • 威望35点
  • 贡献值0点
  • 好评度35点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-08-06 18:39
可不可以把你的程序片段帖上来我看一下?
最近可能有办法测试,尽快。
或者直接发我信箱。
助人乃快乐之本 有人给分就更快乐了 :-)
Z16300
驱动牛犊
驱动牛犊
  • 注册日期2002-06-04
  • 最后登录2018-01-17
  • 粉丝3
  • 关注0
  • 积分88分
  • 威望239点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
  • 社区居民
板凳#
发布于:2003-08-06 19:41
这是我添的SEEK命令:
srbExecSCSICmd.SRB_Cmd = SC_EXEC_SCSI_CMD;
srbExecSCSICmd.SRB_HaId = HA;
srbExecSCSICmd.SRB_Target = ID;
srbExecSCSICmd.SRB_Lun = LN;
srbExecSCSICmd.SRB_Flags = SRB_DIR_IN | SRB_EVENT_NOTIFY;
srbExecSCSICmd.SRB_BufLen = 8;
srbExecSCSICmd.SRB_BufPointer = buf;
srbExecSCSICmd.SRB_SenseLen = SENSE_LEN; //SENSE_LEN系统定义
srbExecSCSICmd.SRB_CDBLen = 10;
srbExecSCSICmd.CDBByte[0] = SEEK10;
srbExecSCSICmd.CDBByte[1] = LN & 0xE0; //置LUN
srbExecSCSICmd.CDBByte[2] = HIBYTE(HIWORD(CDB_LBN));
srbExecSCSICmd.CDBByte[3] = LOBYTE(HIWORD(CDB_LBN));
srbExecSCSICmd.CDBByte[4] = HIBYTE(LOWORD(CDB_LBN));
srbExecSCSICmd.CDBByte[5] = LOBYTE(LOWORD(CDB_LBN));

好像ReadDefectData命令也没成功

srbExecSCSICmd.SRB_Cmd = SC_EXEC_SCSI_CMD;
srbExecSCSICmd.SRB_HaId = HA;
srbExecSCSICmd.SRB_Target = ID;
srbExecSCSICmd.SRB_Lun = LN;
srbExecSCSICmd.SRB_Flags = SRB_DIR_IN | SRB_EVENT_NOTIFY;
srbExecSCSICmd.SRB_BufLen = 4;
srbExecSCSICmd.SRB_BufPointer = buf;
srbExecSCSICmd.SRB_SenseLen = SENSE_LEN;
srbExecSCSICmd.SRB_CDBLen = 10;
srbExecSCSICmd.CDBByte[0] = READDEFECT;
srbExecSCSICmd.CDBByte[2] = 0x0D; //得到的是扇区格式的。
srbExecSCSICmd.CDBByte[8] = 4; //只取前四个字节即可。
游客

返回顶部