我的dll中有readfile的调用,用户使用此dll的接口调试时,会终止调试,再次启动调试时,我得dll就会出现“io操作正在进行中的错误”,而不调试就没有问题(正常退出),这个问题那位大侠能给予解释?谢谢!

解决方案 »

  1.   

    操作前,检查IO操作的状态!如果出于IO_PENDING状态,就等待或者强制释放以后在操作!
      

  2.   

    当用户使用DLL接口调试时,终止调试,此时你的DLL中的ReadFile打开的文件正在读写文件,由于非正常终止调试,可能你的文件没有正常关闭,所以在下次打开的时候导致该错误的出现!个人看法,听听其他人的意见!:)
      

  3.   

    那如何保证正常关闭?我挺奇怪,我单调dll,就不会出现这个错误(也许出现概率极小)。可调程序时就不行。。:(
      

  4.   

    问题是怎么做收尾工作呀.你说overlapped方式的readfile操作,在调试终止的时候,ms就没有机制让他工作完成?你觉得是不是其他地方有错误呀?
      

  5.   

    3x,give u credit later:)
      

  6.   

    http://expert.csdn.net/Expert/topic/2876/2876691.xml?temp=.1671564