roger_ding
驱动牛犊
驱动牛犊
  • 注册日期2002-06-03
  • 最后登录2008-10-13
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1356回复:3

关于Win2000,WinXP下的U盘SCSI命令

楼主#
更多 发布于:2004-08-08 15:32
在Win98下可以通过SendASPI32Command发送
SC_GET_DISK_INFO(0x06   // Get Disk information)
命令给U盘,然后可以得到如下结构的值:

typedef struct                                  // Offset
{                                               // HX/DEC
    BYTE        SRB_Cmd;                        // 00/000 ASPI command code = SC_GET_DISK_INFO
    BYTE        SRB_Status;                     // 01/001 ASPI command status byte
    BYTE        SRB_HaId;                       // 02/002 ASPI host adapter number
    BYTE        SRB_Flags;                      // 03/003 Reserved, MUST = 0
    DWORD       SRB_Hdr_Rsvd;                   // 04/004 Reserved, MUST = 0
    BYTE        SRB_Target;                     // 08/008 Target's SCSI ID
    BYTE        SRB_Lun;                        // 09/009 Target's LUN number
    BYTE        SRB_DriveFlags;                 // 0A/010 Driver flags
    BYTE        SRB_Int13HDriveInfo;            // 0B/011 Host Adapter Status
    BYTE        SRB_Heads;                      // 0C/012 Preferred number of heads translation
    BYTE        SRB_Sectors;                    // 0D/013 Preferred number of sectors translation
    BYTE        SRB_Rsvd1[10];                  // 0E/014 Reserved, MUST = 0
}
SRB_GetDiskInfo, *PSRB_GetDiskInfo, FAR *LPSRB_GetDiskInfo;

其中包括SRB_Heads和SRB_Sectors,即U盘的磁头数和扇区数,请问哪位大虾知道这个ASPI命令向U盘发送了什么命令和参数来得到这个结构的值?
因为Win2000下没有ASPI,只有SCSI命令,所以我想知道这个ASPI向U盘发送了那些SCSI命令,这样在Win2000下就也可以得到这些参数了,谢了!(根据我的理解U盘和操作系统之间都是通过SCSI命令来互相通讯的,包括读写,那么这些参数应该也是由SCSI命令得到的吧,不过不知是那些SCSI命令)

最新喜欢:

iwubiwub
roger_ding
驱动牛犊
驱动牛犊
  • 注册日期2002-06-03
  • 最后登录2008-10-13
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-08-11 08:49
请问有人知道吗?
iwub
驱动牛犊
驱动牛犊
  • 注册日期2002-10-09
  • 最后登录2009-06-22
  • 粉丝0
  • 关注0
  • 积分7分
  • 威望60点
  • 贡献值0点
  • 好评度17点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-08-11 16:50
我也做这个,没解决呢。:)大家讨论讨论
iwub
clementzhao
驱动大牛
驱动大牛
  • 注册日期2003-05-08
  • 最后登录2009-02-20
  • 粉丝0
  • 关注0
  • 积分28分
  • 威望63点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
地板#
发布于:2004-08-11 17:26
小硬盘靠0扇区前几个bytes,大硬盘通过报告的容量计算后得。具体位置你查一下。
游客

返回顶部