Здравствуйте, ononim, Вы писали:
_>>Сказать хотел, что никаких реальных асинхронных вызовов там нет. Вот железо действительно асинхронно (см. прерывания), драйверы винды тоже (собственно они в итоге прерывания и обрабатывают), а вот далее вся асинхронность резко кончается. В пользовательском процессе у нас наблюдается тот же самый банальный поток, ждущий сообщения из очереди. O>Асинхронность состоит в том, что пользовательский поток вовсе не обязан все время ждать сообщения. Он может заниматься чем-то другим и периодияеки обрабатывать что там ему наприходило.
Вообще то GetQueuedCompletionStatus вполне себе ждёт сообщения, если их нет в очереди. )))