TAPI with WinModem causing blue screen of death



We have an application that runs on Windows 2000 and higher (TAPI 1.4)
that calls custom hardware data collection devices that are equipped
with modems in order to download the collected data. The "comm/
datamodem" device class is used, and a handle to a serial port
obtained. Standard serial port communication is then performed with
that handle.

If a true, external, serial modem is used, no matter the type of
machine that runs the application, the application works fine.

If a WinModem is used instead of a true serial modem, and the machine
is a uniprocessor, things also are fine.

If a WinModem is used with a machine with more than one core (Intel
Centrino Duo, for instance), the call will be established, some data
will be transferred, but then Windows will blue screen. The blue
screen always identifies the WinModem device driver as the source of
the crash, though the exact address is not always the same from crash
to crash.

Is there anything that can be done from the TAPI side to prevent the
crash? If the device is connected to directly, without using the
modem, the serial communication itself with the device works fine. The
problem only occurs when the data communication is over a modem, and
only when it is a WinModem on a multiprocessor machine.

The above would lead me to believe the WinModem driver is at fault,
but please note that using the exact same hardware with Hyperterminal,
services such as AOL, or with small TAPI test apps which establish
data calls and send data from one side to the other (using the same
TAPI code as our application), do not fail. This leads me to believe
it is something in the interaction with our application with TAPI, but
I can't see an obvious problem.

Is there anything to be aware of when using WinModems? Is there a
recommended way to try to debug what is going on?

Thanks!

Charles
.



Relevant Pages

  • RESOLVED: RegisterCallNotifications for Multiple Modems?
    ... Second, As all of the TAPI gurus here pointed out, it is neccessary to ... with modem based TAPI lines as using just Monitor does not result in any ... BSTR* ppName = CXT AC-Link Modem for Intel ...
    (microsoft.public.win32.programmer.tapi)
  • Re: RESOLVED: RegisterCallNotifications for Multiple Modems?
    ... If you get the caller ID when you first learn about the call and then ... isn't being provided in these cases by the modem TAPI Service Provider ... Best I can suggest is to look at the low level modem log (check Andreas' ... It sounds sensible what you write that CID info might be available prior ...
    (microsoft.public.win32.programmer.tapi)
  • Re: Future or TAPI
    ... duplex and that the Unimodem driver only supported half duplex operation. ... And when the modem disconnects it does eventually know ... Modems don't have hardware support ... > TAPI application. ...
    (microsoft.public.win32.programmer.tapi)
  • Re: Getting Fax tone on next incoming call using TAPI
    ... I am using voice modem/Data modem and UniModem.TSP ... I basically initialize TAPI, register events I am ... This code is adapted from sample in P-SDK or SAPI sample, ...
    (microsoft.public.win32.programmer.tapi)
  • Re: TAPI and VS.NET 2003
    ... the computer I have the modem on only has the ability to ... probably the 3rd party application has messed up your system. ... You should rather create the TAPI part as a dll in C++ or VB and use ... The intellisense lists all the ITxxx interfaces but not ITxxx2. ...
    (microsoft.public.win32.programmer.tapi)