阅读:1233回复:2
请问我的SEEK(10)2Bh怎莫老返回失败啊?
请问我的SEEK(10)2Bh怎莫老返回失败啊?
|
|
沙发#
发布于:2003-08-06 18:39
可不可以把你的程序片段帖上来我看一下?
最近可能有办法测试,尽快。 或者直接发我信箱。 |
|
|
板凳#
发布于: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; //只取前四个字节即可。 |
|