Здравствуйте, Seagull777, Вы писали:
S>Встал остро вопрос — как определить,
S>является данное устройство обычным аналоговым модемом (dial-up устройством, PSTN-устройством, Public Switched Telephone Network), т.е. устройство, которому для осуществления соединения с RAS-сервером необходимо набирать телефонный номер — т.е. оно полностью основано на существующей тел. сети общественного пользования,
S>или это устройство иного типа (кабельный модем, xDSL, ISDN(прямое, не диалап)) — для которого набор номера не нужен,
S>и связь идет мимо обычного коммутатора АТС.
S>По сути — нужно узнать является данный девайс обычным dialup-устройством, или диалап ему не нужен.
S>(знаю пару xDSL модемов, которые для системы выглядят как бы dialup — но номер дозвона можно вводить любой, он игнорируется... и содинение устанавливается мгновенно...)
S>Посему, просто сравнивать тип устройства с "modem" не предлагать. Далеко не факт.
S>У кого есть идеи?
S>Сее должно работать на Win98-XP.
S>Перерыл все в RAS API, TAPI... безуспешно...
Структура RASENTRY
есть поля
//
// Device
//
TCHAR szDeviceType[ RAS_MaxDeviceType + 1 ];
TCHAR szDeviceName[ RAS_MaxDeviceName + 1 ];
//
szDeviceType
Specifies a null-terminated string that indicates the RAS device type referenced by szDeviceName. This member can be one of the following string constants. String Description
RASDT_Modem A modem accessed through a COM port.
RASDT_Isdn An ISDN card with corresponding NDISWAN driver installed.
RASDT_X25 An X.25 card with corresponding NDISWAN driver installed.
RASDT_Vpn Windows 2000 or later: A virtual private network connection. For more information, see VPN Connections
RASDT_Pad Windows 2000 or later: A Packet Assembler/Disassembler.
RASDT_Generic Windows 2000 or later: Generic
RASDT_Serial Windows 2000 or later: Direct serial connection through a serial port.
RASDT_FrameRelay Windows 2000 or later: Frame Relay
RASDT_Atm Windows 2000 or later: Asynchronous Transfer Mode (ATM).
RASDT_Sonet Windows 2000 or later: Sonet
RASDT_SW56 Windows 2000 or later: Switched 56K Access
RASDT_Irda Windows 2000 or later: Infrared Data Association (IrDA) compliant device.
RASDT_Parallel Windows 2000 or later: Direct parallel connection through a parallel port.
RASDT_PPPoE Whistler: Point-to-Point Protocol over Ethernet. For more information, see PPPoE Connections
Только если в inf прописан как dial-up модем — не лечиться, только методом тыка, тебе говорят — есть такое устройство,и по имени и прочим характерисикам определяешь
Насчёт пары xDSL модемов — если они дают возможность дозваниваться через телефонный dialer, т.е. реализованы АТ, то они dial-up, однозначно. С точки зрения Windows и АТ команд.
P.S. В принциме можно порыться в реестре на эту тему, только это хак, не факт что потом везде будет работать.