Разница между асинхронным и синхронным вызовом CreateFile заключается в способе выполнения операции ввода-вывода. 15
Синхронный вызов (по умолчанию) предполагает, что поток запускает операцию ввода-вывода и немедленно входит в состояние ожидания до её завершения. 5 Программа останавливается до выполнения операции. 1
Асинхронный вызов позволяет отправлять запрос в систему, а та выполняет его параллельно с работой программы. 1 Программа может продолжать выполнять другие задачи, а система автоматически отправит уведомление о завершении запроса. 1
Чтобы открыть файл для асинхронного ввода-вывода с помощью CreateFile, нужно указать флаг FILEFLAGOVERLAPPED в параметре dwFlagsAndAttributes. 5 Если этот флаг не указан, файл откроется для синхронного ввода-вывода. 5