Добрый день! Проблема следующая: Управление драйвером осуществляется через обычное MFC'шное приложение созданное через визард. При посылке некоторого контрольного кода из GUI в драйвер, главное окошко GUI подвисает. Ответ приходит из драйвера через 10-20 секунд, форма отвисает. Подскажите как организовать, чтобы форма на подвисала, пока ещё не пришёл ответ от драйвера. Видимо нужно сделать отдельный поток, который и будет "общаться" с драйвером. Подскажи детальнее, что именно должно быть в этом потоке и где должна находится функция WaitForMultipleObjects() Заранее благодарен.
n0name параметр посмотрел, сделал как написано в msdn, но всё равно подвисает. В GUI Код (Text): hDevice = CreateFile( LinkName , FILE_ALL_ACCESS ,0,NULL,OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL|FILE_FLAG_OVERLAPPED ,NULL ); Код (Text): OVERLAPPED Overlapped; Overlapped.hEvent = CreateEvent( NULL, TRUE, FALSE, NULL ); DeviceIoControl(hDevice,CtrlCode01, InBuf,InBufSize,OutBuf,OutBufSize,&nBytesRetun, &Overlapped ); Если есть исходник с похожей обработкой пришли, пожалуйста, на derek-x@mail.ru
оффтоп: краснее морда лица при скатывание с горки А вообще, хочется увидеть реализацию. Зачем в сообщение окну тогда читать. В общем код в студию!
Исходник - _http://webfile.ru/2585497 По нажатию на кнопку GUI отсылает драйверу код GET_MEMORY. Драйер получает начинает дампить память. Форма подвисает. В идеале сделать так, что бы драйвер данные не сохранял в файл, а отправлял их в GUI. GUI их обрабатывал. Где о такой синхронизации можно почитать, посмотреть? Если кто-то решал подобные задачи, пожалуйста, поделитель опытом.