質問

うなりを呼び出すときは WaitForSingleObject() に取扱いました CreateFile() または _get_osfhandle()?

の理由でプライベートビーチがあり説明したいと思い WaitForSingleObject() 待ちに取り扱った _get_osfhandle(fd), では、 fd から通常の通話を _open().可能ですか?

していたので実際に、一部の機械動作しますが変更される場合の取扱いはいつものシグナル状態にした読み取りが可能であるため、より多くのデータから、一部の機 WaitForSingleObject() 無期限にブロックができるようになってしまいます。

にMSDNページ WaitForSingleObject() ということをサポートされている唯一のものの取扱いに関して"変更のお知らせ、コンソール入力、イベント、メモリ資源の通知、ミューテックス、プロセス、セマフォ、スレッドは、waitableタイマー."

また、それぞれ異なる場合に使用した CreateFile() の代わりに _get_osfhandle() にCRTファイル記述子?

役に立ちましたか?

解決

それをしないでください。あなたが見ることができるように、それは未定義の動作をしています。

動作が定義されている場合でも、あなたは追加のコードを書くことが好きではありませんしない限り、

、それが比較的有用ではないことにするように定義されています。 I / O操作が完了し、追跡に一般化されていないおり、そのハンドル上の任意の非同期I / O操作が完了したときに通知されます。

なぜあなたはファイルハンドルで待機しようとしていますか?明らかに意図事項あなたも無期限にブロックしないように十分にサポートされていない何かをやっているときます。

他のヒント

また、以下のリンクです。のconcensusしんでいただけるように思います。

待機中のファイルに対応

がI/O操作を開始しました 非同期対応に取り扱う に非ず。そのため、 用いた場合には、こ WaitForSingleObjectや WaitForMultipleObjects、 ファイルの扱いとなるシグナルが の入出力操作が前の入出力操作が完了します。しかし、 Microsoft積極的に萎縮させるこ 技術ませんので一般化する場合 が存在する複数申請中のI/O 運転の取り扱いとなり 示唆する場合の入出力操作が前の入出力操作 完了します。が必要であることが予想され、この 技術の実現可能ではない が最適であると見なされます。

利用ReadDirectoryChangesWに 多重モードになります。WaitForSingleObject でのイベントの 重なったstruct.

も利用できるAPI WaitForSingleObject()待ちに ファイルを使用する場合は変更後 変更通知機能:
FindFirstChangeNotification()
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/fileio/fs/findfirstchangenotification.asp http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dllproc/base/waitforsingleobject.asp

興味深いお"evilness"のReadDirectoryChangesW:
http://blogs.msdn.com/ericgu/archive/2005/10/07/478396.aspx

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top