ReadFileを完了させる方法 – プログラミング – Home

ReadFileを完了させる方法
 
通知
すべてクリア

ReadFileを完了させる方法


ho
 ho
(@ho)
ゲスト
結合: 12年前
投稿: 1
Topic starter  

windows xp,vc++2008(MFC)を使用しています。

非同期によるReadFile関数を使用していますが、
ReadFileの読み取り動作完了条件は、
・指定したサイズのデータを読み取った場合、
・オーバーラップ構造体のイベントがセットされたとき
の2つのみでしょうか?

実行中のReadFile関数を他のスレッドで中断したいのですが、
イベントをマニュアルでセットする方法しか思いつきません。
イベントをセットしても読み取り動作が完全に完了しているわけでなないので
CancelIO関数を使用しています。

中断させるための他の方法がありましたらおしえてください。


引用解決済
トピックタグ
ITO
 ITO
(@ITO)
ゲスト
結合: 22年前
投稿: 1235
 

> 中断させるための他の方法がありましたらおしえてください。
CancelIO関数を利用するしかないと思います。
ReadFile関数のオーバーラップ構造体はセットしてありますよね。

http://msdn.microsoft.com/ja-jp/library/cc429679.aspx
ここにあるような非同期処理のプログラムを組んでありますか?
僕はそのまま利用しています。
非同期処理の例はネットで探すといろいろ出てきます。

gOverLapped.hEventを時間設定のWaitForSingleObjectで待って
TIMEOUTの戻りでCancelIO処理です。
オーバーラップ構造体をメインスレッドで読めるようにしておくと処理が楽です。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました