yuxuehu
驱动小牛
驱动小牛
  • 注册日期2002-05-13
  • 最后登录2008-04-03
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:2034回复:5

vxd中怎么辨认USB硬盘?

楼主#
更多 发布于:2003-03-09 22:26
我用DCB_device_type去判断过,只能认出cdrom和floppy,可USB硬盘认不出来。哪位知道请指教,在此谢过。
yuxuehu
驱动小牛
驱动小牛
  • 注册日期2002-05-13
  • 最后登录2008-04-03
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-03-18 16:54
没人回答。。。。。。
只好再顶一下了 :D
难道非得用WDM吗?(98真麻烦)
Yss
Yss
驱动牛犊
驱动牛犊
  • 注册日期2002-01-29
  • 最后登录2005-06-28
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-03-19 14:27

  在RING3。通过API 函数来辨别 USB盘的话。他的类型跟 软盘是一
 样。但软盘特定A: 或B:。所以如果一个驱动器类型为“ 移动介质”,但盘符又不为 A: B:的话。你想要的就做到了。
 在RING0。你能够区分软驱,光驱。你又能区分A: B: C:。。。
  所以你能区分USB。
yuxuehu
驱动小牛
驱动小牛
  • 注册日期2002-05-13
  • 最后登录2008-04-03
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2003-03-21 10:19
能不能给那个API涵数啊?
(偷个懒 :D)
Yss
Yss
驱动牛犊
驱动牛犊
  • 注册日期2002-01-29
  • 最后登录2005-06-28
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2003-03-21 11:04
void Check()
{
    TCHAR buf[100];
    DWORD len = GetLogicalDriveStrings(sizeof(buf)/sizeof(TCHAR),buf);
char volname[255],filename[100];                //buffer[512];
    DWORD sno,maxl,fileflag ;
    for(TCHAR* s=buf; *s; s+=_tcslen(s)+1){
LPCTSTR sDrivePath = s;
UINT uDriveType = GetDriveType(sDrivePath);
if(uDriveType==5){
                        ////光驱

}
if(uDriveType==2){
if((GetVolumeInformation(sDrivePath,volname,255,&sno,&maxl,&fileflag,filename,100)))
{

if(s[0]==\'A\'||s[0]==\'B\'||s[0]==\'a\'||s[0]==\'b\'){
                                        ////// 软驱
}
else{
///////USB盘;
}
}
}
}
}

[编辑 -  3/21/03 by  Yss]
yuxuehu
驱动小牛
驱动小牛
  • 注册日期2002-05-13
  • 最后登录2008-04-03
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2003-03-21 13:41
不管能不能用上,先谢过  :P
游客

返回顶部