打印
[USB编程]

请问VC++的CreateFile能打开自定义的 usb bulk 设备吗?

[复制链接]
1386|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
evilchips|  楼主 | 2013-8-21 11:37 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 evilchips 于 2013-8-21 11:38 编辑

RT:

我用CreateFile函数打开usb bulk设备时,返回无效的句柄,用GetLastError函数取得的返回值为1:表示功能错误。
自定义的bulk设备只有端点1,IN和OUT都用,纯bulk设备,用bushound发送IN的URB能正确返回数据。

if(g_DevFoundFlag==TRUE)
        {
                PrintfMessage("Device found!");
               
                g_hDevHandle=CreateFile(g_DevPathName,
                                                                GENERIC_READ|GENERIC_WRITE,
                                                                FILE_SHARE_READ|FILE_SHARE_WRITE,
                                                                NULL,
                                                                OPEN_EXISTING,
                                                                FILE_ATTRIBUTE_NORMAL|FILE_FLAG_OVERLAPPED,
                                                                NULL);
               
                if(g_hDevHandle != INVALID_HANDLE_VALUE)
                {
                        PrintfMessage("Device connect success.");
                }
                else
                {
                        if(GetLastError()==0x20)
                                PrintfMessage("Device connect failed! Device connected");
                        else
                                PrintfMessage("Device connect failed!");
                                //MessageBox(itos(GetLastError(), 16), "!!!!");
                                
                        g_DevFoundFlag=FALSE;
                }
        }
        else
        {
                PrintfMessage("Device not found!");
        }

程序已经找到了设备,就是连接不上。
驱动和程序都是参考圈圈的书生成的,打开设备用GUID打开的,GUID用MessageBox检查过和DS生成的一致,希望各位能提供点建议。调试信息输出字符串:
Device found!
Device connect failed!

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

8

主题

23

帖子

2

粉丝