[問題] Win32 API WriteFile() with Overlapped IO

看板C_and_CPP (C/C++)作者 (夜夢紛)時間16年前 (2010/06/20 18:38), 編輯推噓0(002)
留言2則, 2人參與, 最新討論串1/1
若是不能問Win32 API 請告之我會自刪!! 問題: 使用Asynchromous I/O to read/write file in Win32. 先CreateFile(..,FILE_FLAG_OVERLAPPED,...) 如果欲呼叫WriteFile(...,number2Send, &bytesWritten,&Overlapp_HANDLE) 請問 (Write會PENDING) 1.WriteFile()一call會馬上return FALSE, 然後我們再用GetLastError()去 檢查是否為ERROR_IO_PENDING, then 等待IO completion.這時&bytesWritten 是否為無意義?? (Write不會PENDING) 2.如果一WriteFile()馬上成功, 是否就會return TRUE呢? 那&bytesWritten 就是write出去的bytes 數? 我目前觀念是以為如果一CreateFile()為Overlapped, 永遠就是一呼叫WriteFile() 就是馬上return FALSE, 然後在去做後續處理. 感謝回答指導. -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 219.87.64.222

06/21 01:08, , 1F
我記得MSDN都有寫
06/21 01:08, 1F

06/21 14:54, , 2F
所以縱使Overlapped,WriteFile還是有可能return TRUE?
06/21 14:54, 2F
文章代碼(AID): #1C7U-jcn (C_and_CPP)
文章代碼(AID): #1C7U-jcn (C_and_CPP)