![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
![]()
Сообщение
#1
|
|
Продвинутый пользователь ![]() ![]() ![]() ![]() Группа: Участники Сообщений: 276 Регистрация: 28.1.2007 Пользователь №: 613 ![]() |
Пожелание очень простое: пофиксить наконец баги, которые тянутся уже несколько версий.
А конкретно: 1) Проблема с обрезанием параметра lpParams в функции lineDevSpecific. Нафига драйверу исправлять данные в другом процессе? 2) Отказ драйвера при lpParams = "smdr/b" в той же lineDevSpecific. Драйвер падает после появления SMDR информации. 3) И опять lineDevSpecific... Нет синхронизации после получения всяческих девайс специфик событий. К примеру: драйвер сообщает что получен список со линий, а на самом деле приходит другая инфа. (Удивительно, как работает ez Phone с таким драйвером???) 4) Неправильная работа функции lineGetAddressStatus. Драйвер возвращает ошибку LINEERR_STRUCTURETOOSMALL несмотря на то что размер выделенного буфера памяти и параметр dwTotalSize равен размеру структуры LINEADDRESSSTATUS. В ситуации когда драйвер должен сохранить различные device specific данные в структуру пользователя, и при этом структура меньше чем размер сохраняемых данных (но не меньше чем размер LINEADDRESSSTATUS), драйвер должен вернуть success и правильно заполнить поле dwNeededSize. Иначе говоря правильно будет так: if (dwTotalSize >= SizeOf(LINEADDRESSSTATUS)) Return SUCCESS else Return LINEERR_STRUCTURETOOSMALL |
|
|
![]() ![]() |
Текстовая версия | Сейчас: 21.6.2024, 13:10 |