sqlwth
驱动牛犊
驱动牛犊
  • 注册日期2007-03-11
  • 最后登录2012-08-31
  • 粉丝0
  • 关注0
  • 积分21分
  • 威望85点
  • 贡献值1点
  • 好评度5点
  • 原创分0分
  • 专家分0分
阅读:4799回复:5

WriteFIle错误,返回错误代码6

楼主#
更多 发布于:2009-04-26 10:03
小弟最近写了一个USB读写的应用程序,主要是用CreateFile,WriteFile和ReadFile,在CreateFile成功后,返回设备句柄hDevice

    hDevice = CreateFile(DevicePath,
                         GENERIC_READ|GENERIC_WRITE,
                         FILE_SHARE_READ | FILE_SHARE_WRITE,
                         NULL,
                         OPEN_EXISTING,
                         0,
                         NULL );

但在使用WriteFile时总是返回错误代码6,句柄无效! 此时查看句柄仍然hDevice = 0x000007ac,这和创建文件时的句柄一致

    DWORD lpdwBytesWritten=0;
    char sBuffer[12];
        memset(sBuffer, (char)NULL, sizeof(sBuffer));
        strcpy(sBuffer, "Hello World");

        if (!WriteFile(hDevice,sBuffer,12,&lpdwBytesWritten,NULL))
        {
               printf("ERROR: WriteFile returns %0x.\n", GetLastError());
               exit(1);
        }
原因找了半天也没找到,哪位大侠能帮帮小弟呢
游客

返回顶部