调用 WriteFile写数据时出错,用GetLastError得到错误代码为87(无效参数)。

代码片段如下:

  if ((!WriteFile(m_hDevEx,pBuf,size,&WriteBytes,&Overlapped)) &&(GetLastError() != ERROR_IO_PENDING)){OutputDebugString("Write error\n");return false;}

问题出在最后一个参数Overlapped,初始化是这样的:

    OVERLAPPED Overlapped;Overlapped.hEvent = CreateEvent(NULL, TRUE, FALSE, NULL);

这种初始化在ReadFile时时没有问题的,而WriteFile时需要将该结构体中的Offset,OffsetHigh两个参数设置成零,即:

    OVERLAPPED    Overlapped;Overlapped.hEvent = CreateEvent(NULL, TRUE, FALSE, NULL);Overlapped.Offset = 0;Overlapped.OffsetHigh = 0;

以上这样初始化之后,错误消失!

WriteFile操作时返回87错误相关推荐

  1. MyBatis在insert插入操作时返回主键ID

    数据库为MySql时:  <insert id="insert" parameterType="com.test.User" keyProperty=&q ...

  2. symbian使用活动对象时返回-2147483647错误值的解决办法

    今天在使用RConnection的异步函数start进行联网操作时,5230手机上每次Runl()中查询iStatus的值都是-2147483647,同时在这个值的情况下再次SetActive()后会 ...

  3. 解决Win7更新时返回0x8024402f错误问题

    在更新Win7时返回0x8024402f错误代码,可以使用如下步骤进行修复: 1.新建修复.bat文件 在根目录(如C:\)新建修复.bat文件,将如下代码拷贝粘贴到修复.bat文件并保存. @ech ...

  4. mybatis进行CRUD操作时返回值不为影响的条数,为null

    对应自己的情况多试试看,总有一种方法可以解决吧! 1.如果报期望的返回值为null而原始返回值类型为int的错误 则将Dao/mapper接口中的函数的返回值类型改为Integer,在方法调用时使用. ...

  5. MyBatis在insert插入操作时返回主键ID的配置

    在使用MyBatis做持久层时,insert语句默认是不返回记录的主键值,而是返回插入的记录条数:如果业务层需要得到记录的主键时,可以通过Mapper.XML配置的方式来完成这个功能. 在 INSER ...

  6. Oracle exp/imp 操作时ORACLE 4068错误解决方法

    一.错误情况 进行exp或者imp时,出现如下错误: 出现错误如下: 经由常规路径导出由EXPORT:V08.01.05创建的文件 已经完成ZHS16GBK字符集和AL16UTF16 NCHAR 字符 ...

  7. Curl请求错误时返回错误编码含义

    原网站地址https://curl.haxx.se/libcurl/c/libcurl-errors.html 以下为翻译: 几乎所有"简单"的接口函数都会返回一个CURLcode ...

  8. 无法访问D盘,执行页内操作时的错误

    打开D盘后出现"无法访问D:/,执行页内操作时的错误"怎么办? 既便D盘有病毒也不会出现这种状况,初步判断是D: 分区表错误,用系统安装光盘开机进入纯DOS下的修复模式中用 CHK ...

  9. 设置maxJsonLength,解决ajax通过POST方式调用.net的webService时,数据过长时服务器返回500错误的问题

    设置maxJsonLength,解决ajax通过POST方式调用.net的webService时,数据过长时服务器返回500错误的问题 参考文章: (1)设置maxJsonLength,解决ajax通 ...

最新文章

  1. 第一个实例-----我与node.js的第一步接触
  2. redis演练(5) redis持久化
  3. ubuntu 安装 anaconda
  4. 【ffmpeg for wince】音视频编解码多平台移植(for window/wince)
  5. react获取id_解决React应用界面开发常见痛点(一)业务逻辑与UI分离
  6. 石油-美元金融体系的形成
  7. “我们的边缘计算技术点,可能超前了业界一点”
  8. 【BFS】迷宫问题c++代码详解(逐句分析)
  9. 关于DB9和DB25
  10. Fiddler抓取雷电模拟器数据包,模拟器代理设置
  11. 机器学习基石-林轩田-第一周笔记
  12. SWOT模板与方法论
  13. 清华计算机校友郭毅可院士履新,任港科大首席副校长
  14. 程序员如何在技术上提升自己
  15. LM7805使用总结
  16. 求素数(质数)的方法及时间复杂度的比较
  17. 汽车网络安全渗透测试
  18. Origin作图流程
  19. IT培训机构出来的学生之我见闻
  20. C# NHibernate处理多帐套问题

热门文章

  1. 手机访问计算机FTP服务器
  2. Android手机中使用Termux安装ubuntu系统
  3. MyBatis自定义自定义动态SQL解析方式
  4. 8大底层逻辑,提升思维能力
  5. Python实现Chrome浏览器书签自动备份
  6. 有各组方差怎么算组间平方和_#excel单因素方差分析#excel如何计算组间离差平方和...
  7. 如何使特定的数据高亮显示?
  8. ​LeetCode刷题实战450:删除二叉搜索树中的节点
  9. 浅谈Linux就业前景
  10. 网络舆情信息怎么报送的流程