Overview of Communications in Windows 95

Archived content. No warranty is made as to technical accuracy. Content may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist.

This chapter describes how changes to the communications subsystem in Windows 95 have resulted in improved communications capabilities over Windows 3.x. It also introduces the new communications features that will be explained in other chapters in this section.

The Windows 95 communications subsystem allows users to make simultaneous connections to a variety of communications services, including electronic mail, fax, and online services. With Windows 95, connecting to another communication service is as easy as connecting to your network.


Windows 95 provides the following communications features:

Easy modem installation and operation.

Users need only select and configure a modem once to work for all applications created for Windows 95. Users can install a modem in the Modems option in Control Panel, or in a Windows 95 communications application the first time the application is run. Two other communications tools facilitate modem calling: HyperTerminal (an upgrade of Windows 3.1 Terminal) connects two computers over a modem and transfers files between them, and Phone Dialer dials voice telephone calls. For information, see Chapter 25, "Modems and Communications Tools."

Electronic mail and Microsoft Exchange client.

Microsoft Exchange is a universal information client that can read and send electronic mail from any message application that supports messaging application programming interface (MAPI) services. These applications include LAN-based mail systems such as Microsoft Mail, or online-based mail systems such as CompuServe® and The Microsoft Network. Microsoft Exchange client can also send and receive faxes and other remote messages. For information, see Chapter 26, "Electronic Mail and Microsoft Exchange."

Microsoft Fax.

Microsoft Fax provides a computer running Windows 95 with all the capabilities of a fax machine. With Microsoft Fax and a modem, users can exchange faxes and files as easily as printing a document or sending electronic mail. For information, see Chapter 27, "Microsoft Fax."

Dial-Up Networking and mobile computing.

Dial-Up Networking provides remote users with complete network capabilities, including downloading and browsing electronic mail, accessing shared files, and running a client-server application. Other mobile computing features include Briefcase, which keeps documents up-to-date on two computers; Direct Cable Connection, which connects two computers for sharing resources; deferred printing capability, which lets users generate print jobs from a remote site and print them when they return to the office; and remote mail using the Microsoft Mail client that comes with Windows 95. For information, see Chapter 28, "Dial-Up Networking and Mobile Computing," and Chapter 26, "Electronic Mail and Microsoft Exchange."

The Microsoft Network.

With a local phone call, this new online service offers affordable and easy access to electronic mail, bulletin boards, chat rooms, file libraries, and Internet news groups. It is the single best place to get information and support for Microsoft products. For information, see Chapter 29, "The Microsoft Network."

Internet access.

Windows 95 provides all the basic protocols and utilities users need to connect a computer to a server that has access to the Internet, and the software users need to browse and download information from the Internet. For information, see Chapter 30, "Internet Access."

Improved Communications in Windows 95

The new Windows 95 communications subsystem allows applications to transmit data quickly and reliably and to cooperatively share communications devices. The new kernel and communications architecture in Windows 95 provide the following benefits:

Improvements over Windows 3.1.

Windows 95 replaces the monolithic communications driver architecture of Windows 3.1 with a modular driver model that allows other software and communications device manufacturers to easily plug in new communications device drivers.

High-speed reliability.

Windows 95 supports reliable, high-speed communications. It avoids loss of characters by keeping up with data coming in from the communications port. To quicken communications, the amount of code in the kernel that can be used by only one process at a time (critical sections) has been reduced. In addition, the network architecture and the 32-bit, protected-mode file system of the communications subsystem reduce required mode transitions and interrupt latency. The data-transmission speed in Windows 95 is limited only by the hardware characteristics of the computer, such as the processor speed and type of communications port. Windows 95 supports communications devices with higher transmission speeds than base RS-232 devices. For example, it supports Integrated Services Digital Network (ISDN), which can communicate at speeds of 64 or 128 kilobits per second, if an ISDN vendor provides a driver.

Higher data throughput.

The 32-bit communications subsystem takes advantage of the preemptive multitasking architecture of Windows 95 to provide better responsiveness to communications applications, thus supporting higher data throughput. Consequently, communications transfers in Win32 applications are not as affected by other tasks running in the system as were Win16-based applications under Windows 3.1.

Support for Plug and Play and legacy communications devices.

Plug and Play support and device installation wizards simplify installation and configuration of Plug and Play and legacy modems and communications devices.

Device sharing among communications applications.

The telephony application programming interface (TAPI) arbitrates among applications that want to share the same communications ports and devices. For example, while Dial-Up Networking waits for an incoming call, Microsoft Fax can send an outgoing fax without the user having to close Dial-Up Networking.

Communications Architecture

Windows 3.1 used a monolithic communications driver, COMM.DRV, that provided an API for Windows-based applications to interact with communications devices and the code that served as the communications port driver. This approach made it necessary to completely replace the Windows communications driver if new functionality was required by a hardware device.

Windows 95 provides a more flexible communications architecture by separating communications operations into three primary areas: Win32 communications APIs and TAPI, the universal modem driver, and communications port drivers.

VCOMM is a new communications device driver that provides the protected-mode services that allow Windows-based applications and drivers to use ports and modems. To conserve system resources, communications drivers are loaded into memory only when in use by applications. Also, VCOMM uses the new Plug and Play services in Windows 95 to assist with configuration and installation of communications devices.

The following figure shows the relationship between the VCOMM communications driver and the port drivers that communicate with hardware devices.


The flow path for a Win16-based application is also illustrated in the previous figure to show how compatibility is maintained when hardware or software vendors replace the Windows 3.1 COMM.DRV driver. The vendor-specific communications driver, however, communicates directly with the I/O port, rather than through VCOMM.

The following list describes the primary areas that make up the architecture.

Win32 communications APIs and TAPI.

The Win32 communications APIs in Windows 95 provide an interface for using modems and communications devices in a device-independent fashion. Applications call the Win32 communications APIs to configure modems and perform data I/O through them. Through TAPI, applications can control modems or other telephony devices.

Universal modem driver.

The universal modem driver (Unimodem) is a layer that provides services for data and fax modems and voice so that users and application developers will not have to learn or maintain difficult modem AT commands to dial, answer, and configure modems. Rather, Unimodem does these tasks automatically by using mini-drivers written by modem hardware vendors.

Unimodem is both a VCOMM device driver and a TAPI service provider. Other service providers (for example, those supporting other devices, such as an ISDN adapter, a telephone on a PBX system, or an AT-command modem) can also be used with TAPI.

Port drivers.

Port drivers are specifically responsible for communicating with I/O ports, which are accessed through the VCOMM driver. Port drivers provide a layered approach to device communications. For example, Windows 95 provides a port driver to communicate with serial communications and parallel ports, and other vendors can provide port drivers to communicate with their own hardware adapters, such as multiport communications adapters. With the port driver model in Windows 95, it is not necessary for vendors to replace the communications subsystem as they did in Windows 3.1.

Windows telephony API.

TAPI-aware communications applications no longer need to provide their own modem support list because interaction with a modem is now centralized by Windows 95. All communications services provided with Windows 95 use these services.

TAPI provides a standard way for communications applications to control telephony functions for data, fax, and voice calls. TAPI manages all signaling between a computer and a telephone network, including basic functions such as dialing, answering, and hanging up a call. It also includes supplementary functions, such as hold, transfer, conference, and call park found in PBX, ISDN, and other phone systems. TAPI also provides access to features specific to certain service providers, with built-in extensibility to accommodate future telephony features and networks as they become available.

TAPI services arbitrate requests from communications applications to share communications ports and devices in a cooperative manner. Win32-based applications can use TAPI functionality to make outgoing calls while others are waiting for incoming calls. Of course, only one call can be performed at a time, but users no longer have to close applications that are using the same communications port.

TAPI consists of two interfaces: an API that developers use to write applications and the service provider interface (SPI) that applications use to establish the connection to the specific telephone network. This model resembles the computer industry model for printers in that printer manufacturers provide printer drivers for Windows-based applications. The following figure shows the relationship between the front-end TAPI and the back-end SPI.