16+
Суббота
17 ноября
Вход |Карта сайта | |Upload |codebook | PARTS

 О смысле всего сущего 0xFF

 Средства и методы разработки

 Мобильная и беспроводная связь

 Блошиный рынок Объявления

caxapa

Микроконтроллеры ARM 

AVR PIC MSP PLD,FPGA,DSP 

Кибернетика Технологии 

Схемы, платы, компоненты 

Средства и методы разработки

 
   Новая тема Правила Регистрация Поиск »» Архив
Вернуться в конференциюТопик полностью
IBAH  (25.09.2018 15:04, ссылка) , в ответ на Напишите так: автор: Ксения
Это, извините, костыль. Начинаю понимать, что чтобы правильно записать, надо правильно открыть порт 
lpOverlapped [in] Указатель на структуру OVERLAPPED. Эта структура требуется тогда, если параметр hFile создавался с флажком FILE_FLAG_OVERLAPPED. Если hFile был открыт с флажком FILE_FLAG_OVERLAPPED, у параметра lpOverlapped не должно быть значения ПУСТО (NULL). Он должен указывать на правильную структуру OVERLAPPED. Если hFile был открыт с флажком FILE_FLAG_OVERLAPPED, а lpOverlapped имеет значение ПУСТО (NULL), функция может неправильно сообщить о завершении операции записи. Если hFile был открыт с флажком FILE_FLAG_OVERLAPPED, а lpOverlapped имеет значение не ПУСТО (NULL), операция записи начинается при смещении, заданном в структуре OVERLAPPED, а WriteFile может возвратить значение прежде, чем операция записи будет закончена. В этом случае, WriteFile возвращает значение ЛОЖЬ (FALSE), а функция GetLastError возвращает значение ERROR_IO_PENDING. Это дает возможность вызывающему процессу продолжать работу до тех пор, пока операция записи не закончится. После завершения операции записи, событие, определяемое в структуре OVERLAPPED устанавливается в сигнальное состояние. Вызывающая программа должна корректировать позицию указателя позиции в файле после завершения операции. Если hFile не открывался с флажком FILE_FLAG_OVERLAPPED, а lpOverlapped - значение ПУСТО (NULL), операция записи начинается с текущей позиции в файле и WriteFile не возвращает значения до тех пор, пока операция не будет закончена. Система после завершения операции модернизирует указатель позиции в файле. Функция WriteFile сбрасывает событие, заданное членом hEvent структуры OVERLAPPED в несигнальное состояние, когда она начинает операцию ввода-вывода (I/O). Поэтому, нет какой-либо необходимости вызывающей программе проделывать эту процедуру. Windows NT/2000/XP: Если hFile не был открыт с флажком FILE_FLAG_OVERLAPPED и lpOverlapped - не ПУСТО (NULL), то операция записи начнется со смещения, заданного в структуре OVERLAPPED, а WriteFile не возвращает значение до тех пор, пока операция записи не завершится. Windows 95/98/Me: Для операций с файлами, дисками, каналами или почтовыми ящиками в ядре Windows, этим параметром должно быть значение ПУСТО (NULL); указатель на структуру OVERLAPPED порождает вызов, который завершиться ошибкой. Тем не менее, Windows 95/98/Me поддерживает асинхронные операции на последовательных и параллельном портах.
Главная | Карта сайта | О проекте | Проекты | Файлообменник | Регистрация | Вебмастер | RSS
Лето 7527 от сотворения мира. При использовании материалов сайта ссылка на caxapу обязательна.
MMI © MMXVIII