ninesunsz
驱动牛犊
驱动牛犊
  • 注册日期2002-10-10
  • 最后登录2010-01-07
  • 粉丝0
  • 关注0
  • 积分14分
  • 威望31点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
阅读:3466回复:4

usb的bulk传输的读写问题

楼主#
更多 发布于:2009-02-14 21:13
我想通过USB的bulk协议对U盘写一些自己定义的CBW command,现在通过SetupDiGetClassDevs已经得到了devicepath,然后用createfile也可以正确创建handle,但是用writefile写的时候总是报错错误返回值是87,creatfile部分的代码如下
    char sPipeNameIn[MAX_PATH];
    char sPipeNameOut[MAX_PATH];

    ::strcpy(sPipeNameIn, sDeviceName);
    ::strcat(sPipeNameIn, "\\PIPE1");

    ::strcpy(sPipeNameOut, sDeviceName);
    ::strcat(sPipeNameOut, "\\PIPE2");

    m_hPipeIn = ::CreateFile(sPipeNameIn,
        GENERIC_READ | GENERIC_WRITE,
        FILE_SHARE_READ,
        NULL,
        OPEN_EXISTING,
        0,
        NULL);

    m_hPipeOut = ::CreateFile(sPipeNameOut,
        GENERIC_WRITE,
        FILE_SHARE_WRITE,
        NULL,
        OPEN_EXISTING,
        0,
        NULL);

sDeviceName是devciepath,这些创建的句柄都是正确的,现在用的是微软的系统usbbulk驱动,端点应该没有错误,写入就不行,我写入的函数为
WriteFile(m_hPipeOut, pBuffer, ulBufferSize, pBytesWritten, NULL),我查了好几天的资料但是都没有得到解决的办法,哪位能指教一下,谢谢!
qiaoroger
驱动牛犊
驱动牛犊
  • 注册日期2005-02-03
  • 最后登录2010-03-22
  • 粉丝0
  • 关注0
  • 积分111分
  • 威望92点
  • 贡献值1点
  • 好评度7点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2010-03-16 16:14
我现在遇到相同问题,请问是怎么解决的???
llss2007
驱动小牛
驱动小牛
  • 注册日期2007-09-25
  • 最后登录2010-03-16
  • 粉丝5
  • 关注0
  • 积分1001分
  • 威望123点
  • 贡献值0点
  • 好评度112点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2010-03-16 16:48
m_hPipeIn = ::CreateFile(sPipeNameIn,
        GENERIC_READ | GENERIC_WRITE,        FILE_SHARE_READ,
        NULL,
        OPEN_EXISTING,
        0,
        NULL);
划线的部分写的有问题
在交流中前进
qiaoroger
驱动牛犊
驱动牛犊
  • 注册日期2005-02-03
  • 最后登录2010-03-22
  • 粉丝0
  • 关注0
  • 积分111分
  • 威望92点
  • 贡献值1点
  • 好评度7点
  • 原创分0分
  • 专家分0分
地板#
发布于:2010-03-17 09:43
修改了这部分也是相同错误啊?
m_hPipeIn = ::CreateFile(sPipeNameIn,
        GENERIC_READ ,        FILE_SHARE_READ,
        NULL,
        OPEN_EXISTING,
        0,
        NULL);
liuxingyu20057
驱动牛犊
驱动牛犊
  • 注册日期2010-12-10
  • 最后登录2011-06-08
  • 粉丝0
  • 关注0
  • 积分1分
  • 威望11点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2010-12-14 14:45
我也有类似的问题啊,写入和读取Bulk的,就是不成功?
游客

返回顶部