У меня есть простое диалоговое приложение MFC. Я хотел бы сделать некоторые перекрывающиеся ввода-вывода. Ожидание совпадающего дескриптора события в отдельном потоке - боль. Мне интересно, есть ли вызов функции для регистрации сообщения Windows на возвращаемый дескриптор? Очень похоже на то, как работает WSAAsyncSelect, но без сокета и просто общий обработчик Win32 (событие, мьютекс, канал и т.д.).
Моя среда: Windows XP, Visual Studio 2010
Благодарю!
Учитывая ваши ограничения, я бы использовал RegisterWaitForSingleObject(), чтобы зарегистрировать процедуру обратного вызова, которая будет вызываться, когда сигнализируется ожидаемый объект.
Функция обратного вызова проста - ему просто нужно отправить сообщение, определенное пользователем, в интересующее окно, указывающее, что событие сигнализируется.
Тем не менее, если вы используете ReadFileEx(), WriteFileEx() или другую функцию ввода-вывода, которая поддерживает обратный вызов завершения, вы можете использовать этот обратный вызов для достижения аналогичной функциональности.