Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2005.11.06;
Скачать: [xml.tar.bz2];

Вниз

Работа с TAPI на Delphi под Win 98 и Win XP   Найти похожие ветки 

 
viv-x ©   (2005-09-03 20:13) [0]

Для реализации удаленного доступа и связи компьютеров по TCP/IP по 4-х пров. выделенной линии пишу дозвонщик (Dialer) на Delphi 6.0 с использованием TAPI. Для работы выбраны модемы ZyXEL U-336S, которые настраиваются для работы на 4-х пров. выделенной линии, в связи с чем пришлось поправить установочные inf-файлы для этого модема (для Win"98 - mdmz336s.inf, для XP - mdmzyxel.inf, mdmzyxlg.inf).
 Первоначально звонилка была сделана для Win"98 и успешно работала. Затем пришлось ее доработать для XP. Однако в XP возникли проблемы. Если Win"98 ложил трубку (RasHangUpA) в течении 1-2 секунд и корректно сбрасывал модем, то Win"XP RasHangUpA выполнял секунд 40, при этом все это время программа ожидала возвращения управления. Между тем, для модема ZyXEL в режиме 4-х пров. линии (как и для большинства модемов) сброс модема производится снятием сигнала DSR (готовность компьютера). В 98 сигнал DSR на панели модема сбрасывался, а в XP оставался поднятым.
 Указанная ситуация поторялась и с использованием стандартного соединения компонента "Удаленноый доступ" системы Windows XP (без участия моего дозвонщика).
 Не могу понять почему продвинутый во времени XP не может корректно положить трубку и сбросить модем, а устаревший Win"98 делает это нормальным образом.
 Подскажите почему так происходит и как с этим бороться ?

--- LOG-файл работы модема в 98"ом ---
09-02-2005 22:44:56.25 - ZyXEL U-336S, Plug&Play in use.
09-02-2005 22:44:56.25 - Modem type: ZyXEL U-336S, Plug&Play
09-02-2005 22:44:56.25 - Modem inf path: ZYXELC~1.INF
09-02-2005 22:44:56.25 - Modem inf section: U336S
09-02-2005 22:44:56.49 - 57600,N,8,1
09-02-2005 22:44:56.49 - 57600,N,8,1
09-02-2005 22:44:56.49 - Initializing modem.
09-02-2005 22:44:56.49 - Send: AT&FE0X7<cr>
09-02-2005 22:44:56.49 - Recv: AT&FE0X7<cr>
09-02-2005 22:44:56.52 - Recv: <cr><lf>OK<cr><lf>
09-02-2005 22:44:56.52 - Interpreted response: Ok
09-02-2005 22:44:56.52 - Send: ATM0&D3*Q0S41=80S43=0S49=0<cr>
09-02-2005 22:44:56.53 - Recv: <cr><lf>OK<cr><lf>
09-02-2005 22:44:56.53 - Interpreted response: Ok
09-02-2005 22:44:56.53 - Send: AT<cr>
09-02-2005 22:44:56.54 - Recv: <cr><lf>OK<cr><lf>
09-02-2005 22:44:56.54 - Interpreted response: Ok
09-02-2005 22:44:56.54 - Send: ATS7=60S10=15&L2S52=88*P07S35=40&N70<cr>
09-02-2005 22:44:56.55 - Recv: <cr><lf>OK<cr><lf>
09-02-2005 22:44:56.55 - Interpreted response: Ok
09-02-2005 22:44:56.55 - Dialing.
09-02-2005 22:44:56.55 - Send: ATA<cr>
09-02-2005 22:45:01.92 - Hanging up the modem.
09-02-2005 22:45:01.92 - Send: <cr>
09-02-2005 22:45:03.92 - Session Statistics:
09-02-2005 22:45:03.92 -                Reads : 33 bytes
09-02-2005 22:45:03.92 -                Writes: 81 bytes
09-02-2005 22:45:03.92 - ZyXEL U-336S, Plug&Play closed.

--- LOG-Файл работы модема в XP ---
09-03-2005 17:46:07.431 - Тип модема: ZyXEL U-336S, Plug&Play
09-03-2005 17:46:07.431 - INF-файл модема: mdmzyxel.inf
09-03-2005 17:46:07.431 - Секция INF-файла модема: U336S
09-03-2005 17:46:07.431 - Соответствие аппаратному коду (ID): serenum\zyx0303
09-03-2005 17:46:07.441 - Opening Modem
09-03-2005 17:46:07.451 - 57600,8,N,1, ctsfl=1, rtsctl=2
09-03-2005 17:46:07.451 - Инициализация модема.
09-03-2005 17:46:07.461 - Послано: AT&FE0X7<cr>
09-03-2005 17:46:07.461 - Принято: AT&FE0X7<cr>
09-03-2005 17:46:07.461 - Режим вывода команд на экран
09-03-2005 17:46:07.491 - Принято: <cr><lf>OK<cr><lf>
09-03-2005 17:46:07.491 - Интерпретированный ответ: ОК
09-03-2005 17:46:07.501 - Послано: ATM0&D3*Q0S41=80S43=0S49=0<cr>
09-03-2005 17:46:07.511 - Принято: <cr><lf>OK<cr><lf>
09-03-2005 17:46:07.511 - Интерпретированный ответ: ОК
09-03-2005 17:46:07.522 - Послано: AT<cr>
09-03-2005 17:46:07.522 - Принято: <cr><lf>OK<cr><lf>
09-03-2005 17:46:07.522 - Интерпретированный ответ: ОК
09-03-2005 17:46:07.522 - Отправка пользовательских команд инициализации.
09-03-2005 17:46:07.532 - Послано: ATS7=60S10=15&L2S52=88*P07S35=40&N70<cr>
09-03-2005 17:46:07.542 - Принято: <cr><lf>OK<cr><lf>
09-03-2005 17:46:07.542 - Интерпретированный ответ: ОК
09-03-2005 17:46:07.552 - TSP(0000): Совершение звонка
09-03-2005 17:46:07.562 - Ожидание звонка.
09-03-2005 17:46:07.562 - 57600,8,N,1, ctsfl=1, rtsctl=2
09-03-2005 17:46:07.562 - Инициализация модема.
09-03-2005 17:46:07.572 - Послано: AT&FE0X7<cr>
09-03-2005 17:46:07.602 - Принято: <cr><lf>OK<cr><lf>
09-03-2005 17:46:07.602 - Интерпретированный ответ: ОК
09-03-2005 17:46:07.612 - Послано: ATM0&D3*Q0S41=80S43=0S49=0<cr>
09-03-2005 17:46:07.622 - Принято: <cr><lf>OK<cr><lf>
09-03-2005 17:46:07.622 - Интерпретированный ответ: ОК
09-03-2005 17:46:07.632 - Послано: AT<cr>
09-03-2005 17:46:07.632 - Принято: <cr><lf>OK<cr><lf>
09-03-2005 17:46:07.632 - Интерпретированный ответ: ОК
09-03-2005 17:46:07.632 - Отправка пользовательских команд инициализации.
09-03-2005 17:46:07.642 - Послано: ATS7=60S10=15&L2S52=88*P07S35=40&N73<cr>
09-03-2005 17:46:07.652 - Принято: <cr><lf>OK<cr><lf>
09-03-2005 17:46:07.652 - Интерпретированный ответ: ОК
09-03-2005 17:46:07.652 - Набор номера.
09-03-2005 17:46:07.652 - Завершение асинхронной операции (0x000102cd) поставщика
                         служб телефонии (TSP). Состояние 0x00000000
09-03-2005 17:46:07.652 - TSP(0000): LINEEVENT: LINECALLSTATE_DIALING
09-03-2005 17:46:07.652 - TSP(0000): LINEEVENT: LINECALLSTATE_PROCEEDING
09-03-2005 17:46:07.662 - Послано: ATA<cr>
09-03-2005 17:46:15.443 - TSP(0000): Завершение звонка
09-03-2005 17:46:15.443 - Идет попытка отмены текущей команды
09-03-2005 17:46:15.443 - Послано: <cr>
09-03-2005 17:46:24.586 - TSP(0000): Закрытие звонка
09-03-2005 17:47:23.961 - TSP(0000): Совершение звонка
09-03-2005 17:47:27.667 - Ожидается отклик модема
09-03-2005 17:47:27.667 - Разрыв соединения модема.
09-03-2005 17:47:27.677 - Послано: +++
09-03-2005 17:47:32.684 - Ожидается отклик модема
09-03-2005 17:47:32.694 - Послано: +++
09-03-2005 17:47:37.701 - Ожидается отклик модема
09-03-2005 17:47:37.711 - Послано: +++
09-03-2005 17:47:42.718 - Ожидается отклик модема
09-03-2005 17:47:42.728 - Послано: +++
09-03-2005 17:47:47.736 - Ожидается отклик модема
09-03-2005 17:47:47.736 - 57600,8,N,1, ctsfl=1, rtsctl=2
09-03-2005 17:47:47.736 - Инициализация модема.
09-03-2005 17:47:47.746 - Послано: AT&FE0X7<cr>
09-03-2005 17:47:47.746 - Принято: <cr><lf>OK<cr><lf>
09-03-2005 17:47:47.746 - Интерпретированный ответ: ОК
09-03-2005 17:47:47.756 - Послано: ATM0&D3*Q0S41=80S43=0S49=0<cr>
09-03-2005 17:47:47.916 - Принято: <cr><lf>NO CARRIER<cr><lf>
09-03-2005 17:47:47.916 - Интерпретированный ответ: Нет несущей частоты
09-03-2005 17:47:47.916 - Статистика сеанса:
09-03-2005 17:47:47.916 -                Чтение: 20 байт
09-03-2005 17:47:47.916 -                Запись: 36 байт


 
viv-x ©   (2005-09-05 23:17) [1]

Небольшая поправка. Для удаленного доступа мною используется конечно не TAPI, а RAS API. В стандартном Delphi 6.0 RAS разумеется не реализован, пришлось использовать пример из Inet"а. В остальном все так как изложено.



Страницы: 1 вся ветка

Форум: "WinAPI";
Текущий архив: 2005.11.06;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.039 c
1-1129210536
devmaster
2005-10-13 17:35
2005.11.06
MDi Form + DLL(MDI Child) ?


5-1108374336
AndyBond
2005-02-14 12:45
2005.11.06
TCollection + Компонент + Инспектор объектов Delphi


6-1122096507
offs
2005-07-23 09:28
2005.11.06
Поиск файлов в локальной сети


14-1129064523
Trajor
2005-10-12 01:02
2005.11.06
Подсветка синтаксиса


14-1129120340
MacroDenS
2005-10-12 16:32
2005.11.06
Стабилизированные 12 вольт





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский