我没有编写U盘驱动,也不知U盘驱动程序,用的是从市场上购买的U盘//可以成功打开U盘
hUsbDevice=CreateFile(符号连接名,...);
//CreateFile总是返回失败
char buf[100];
DWORD dwTrueWrites;
strcpy(buf,"zhao fuq inag");
int nLen=strlen(buf);
if(WriteFile(hHandle,LPVOID(buf),nLen,&dwTrueWrites,NULL))
{
  TRACE("已传输%d个字节\n",dwTrueWrites);
  AfxMessageBox("写优盘成功!");
  return TRUE;
}
else
{
  TRACE("写优盘失败with error %d\n",GetLastError());
  AfxMessageBox("写优盘失败");
  return FALSE;
}这是怎么一回事呢?另外在用CreateFile(蓝牙适配器的的符号连接名...)打开蓝牙USB适配器时返回错误码31。这又是什么原因呢?

解决方案 »

  1.   

    你的U盘是不是打开了写保护开关啊?
    31错误码可以通过visual studio自带的Error Lookup这个工具查看。
      

  2.   

    31是指参数错误,不明白WriteFile那个参数有问题
      

  3.   

    不好意思,31是指连到系统上的设备没有发挥作用。 听说要打开一个USB管道,首先要知道这种USB设备的GUID和管道名称,
    请问U盘的管道名称是什么?管道名称注册表中有吗?哪里?