阅读:2034回复:5
vxd中怎么辨认USB硬盘?
我用DCB_device_type去判断过,只能认出cdrom和floppy,可USB硬盘认不出来。哪位知道请指教,在此谢过。
|
|
沙发#
发布于:2003-03-18 16:54
没人回答。。。。。。
只好再顶一下了 :D 难道非得用WDM吗?(98真麻烦) |
|
板凳#
发布于:2003-03-19 14:27
在RING3。通过API 函数来辨别 USB盘的话。他的类型跟 软盘是一 样。但软盘特定A: 或B:。所以如果一个驱动器类型为“ 移动介质”,但盘符又不为 A: B:的话。你想要的就做到了。 在RING0。你能够区分软驱,光驱。你又能区分A: B: C:。。。 所以你能区分USB。 |
|
地板#
发布于:2003-03-21 10:19
能不能给那个API涵数啊?
(偷个懒 :D) |
|
地下室#
发布于: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] |
|
5楼#
发布于:2003-03-21 13:41
不管能不能用上,先谢过 :P
|
|