Windows NT Serial Communication Support, MS-DOS & Windows

Last reviewed: September 12, 1997
Article ID: Q101631

The information in this article applies to:
  • Microsoft Windows NT operating system, version 3.1
  • Microsoft Windows NT Advanced Server, version 3.1

The text below describes how Windows NT supports serial communications in 16-bit Windows-based and in MS-DOS-based applications.

16-Bit Windows-Based Applications

Windows NT supports serial communications in 16-bit Windows-based applications in the same manner that 16-bit Windows 3.1 does, through communications functions in the Windows application programming interface (API). From the application standpoint, Windows NT provides COMM.DRV, the communications driver in 16-bit Windows 3.1, because a mapping exists between the Windows 3.1 and Windows NT functions. This mechanism emulates the EventWord and shadow modem status register (MSR) to support the GetCommEventMask() function. It also sends WM_COMMNOTIFY messages to support the EnableCommNotification() function.

If a 16-bit Windows-based application uses any extended functionality provided by a third-party communications driver, it may not communicate reliably because Windows NT may not support the extended functionality.

MS-DOS-Based Applications

Most MS-DOS-based communication applications do not use any serial port functions; instead, they directly access the serial port hardware. Windows NT supports these applications by simulating the standard hardware serial adapters, COM1 through COM4; the application never directly controls the serial port hardware. Modems that are setup for non standard irq's like irq 5 will not work with dos applications in Windows NT. Win32 applications like DUN and Hyperterminal will work correctly though.

Windows NT simulates four 16450 UARTs at the standard serial I/O addresses and interrupt numbers used in IBM PC-compatible hardware. When each virtual MS-DOS machine (VDM) starts, the simulated UARTs are dormant. When an application accesses a simulated UART, Windows NT connects the simulated UART to the corresponding Windows NT serial port, even if it uses a different address, interrupt number, or a completely different interface. If the corresponding serial port is not present of if it is already in use, Windows NT displays an error dialog box to inform the user of the problem.

Some applications have an "idle curiosity" about serial ports that they do not otherwise use. When you run one of these applications in Windows NT, it may cause spurious error messages and/or prevent another application from using the serial ports. At this time, if the software does not provide a method to disable this behavior, there is no method to work around this behavior. Contact your software supplier for a corrected, or Windows NT-specific, version of the application.

   NOTE: Serial communications is not emulated perfectly because of
   fundamental differences between the preemptive and nonpreemtive
   multitasking environments. If an application uses real-time
   hardware interrupts, it may experience problems caused by
   preemptive multitasking in Windows NT. Timing serial events in
   Windows NT may be different than in 16-bit Windows 3.1. Also, the
   ability to directly access hardware is not available in Windows NT.
   If your application directly accesses hardware, contact your vendor
   for a Windows NT-specific version of the application.


Additional query words: prodnt wow
Keywords : nt16ap ntdosap kb3rdparty kbinterop
Version : 3.1
Platform : WINDOWS


THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.

Last reviewed: September 12, 1997
© 1998 Microsoft Corporation. All rights reserved. Terms of Use.