2011-09-11 15 views

答えて

1

Overlapped I/Oを使用して非同期ReadFileを設定します。 CancelIOExを使用して、いつでも読み取りを取り消すことができます。

1

名前付きパイプについて話しているとすれば、普通の方法は重複した読み込みを行い、WaitForSingleObject(またはWaitForMultipleObjects)を呼び出すときにタイムアウトを指定することです。 /タイムアウトが切れると、待ちはWAIT_OBJECT_0の代わりにWAIT_TIMEOUTを返します。

+0

どのように重ねて読み込むのですか? –

+0

@Erik:名前付きパイプを作成するときに 'FILE_FLAG_OVERLAPPED'を指定し、' ReadFile'(または 'ReadFileEx'などの任意の数の呼び出しを呼び出すときに' OVERLAPPED'構造体を渡します - Microsoftは重複するI/O)。 –

関連する問題