Important: |
---|
This is retired content. This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This content may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist. |
Microsoft Corporation
April 2000
Summary:This white paper outlines the communications capabilities of the Microsoft Windows CE operating system. Because applications and devices differ in their communications needs, Windows CE provides support for a variety of hardware and communication technologies. Serial communication support is provided for communication between devices connected by cables, modems, or infrared transceivers. Windows CE network communications supports options ranging from networking over a serial connection with SLIP or PPP, to LAN and wireless networking with TCP/IP. (5 printed pages)
An Overview of Windows CE
Communications
The ability to communicate is a key feature of Windows CE-based
devices. Virtually all will have at least some built-in
communication hardware, such as a serial cable or infrared (IR)
transceiver. PC card or Compact Flash card support permits a wide
variety of aftermarket communications devices to be added to the
basic package. Windows CE communications can thus take a variety of
forms ranging from serial communication over a cable to wireless
networking with TCP/IP. There are two basic types of communication supported by Windows
CE. In many cases, they use the same hardware. The distinction is
in how the data is packaged. Serial communication can be used when
you have a one-to-one connection between transmitter and receiver.
Data is simply streamed from one device to the other. Network
communication allows you to address a transmission to one of many
devices. It also provides a high degree of reliability, to prevent
loss of data. There are three types of communication supported by Windows
CE:
Serial communication can take place over:
Network communication can take place over almost any type of
communication hardware. Windows CE networking supports:
Windows CE also provides support for managing modem connections
through the telephony API (TAPI). TAPI handles such tasks as
dialing a phone number, establishing a connection, and terminating
a call. The communications model is represented schematically in the
following figure.
Figure 1. A schematic illustration of the Windows CE
Communications Model
Serial communications will be supported by virtually all Windows
CE devices. At the hardware level, serial communications will
usually take place over a cable or through the IR transceiver.
Modems can also support serial communications. Each serial device is assigned a COM port, such as "COM1:".
Windows CE provides an API for opening COM ports and managing the
connection to the receiving device. Once connected, the actual data
transfer uses the same functions that are used for reading from or
writing to a file. The data is simply streamed from one device to
the other. Overlapped or asynchronous I/O is not supported. Some devices may allow the IR transceiver to be used for serial
communication. The transmission will be "raw" which means, for
instance, that there will be no collision detection. The procedures
for using raw serial IR are virtually identical to those for a
cable. More robust serial IR communication utilizing the IrDA protocols
is available through IRSock (a part of the network stack, discussed
later). As an alternative to using IrSock directly, IrComm emulates
serial communication but uses IRSock and the IrDA protocols
internally. The procedures for using IrComm are virtually identical
to those for serial cables and raw IR. Windows CE supports networked communication using a variety of
hardware including:
It also provides several APIs to simplify the process of
including network communications in an application. Windows CE provides two high-level APIs that that simplify some
of the more common uses of network communication. The WinInet API supports the HTTP 1.0 and FTP Internet browsing
protocols. It greatly simplifies the process of writing an Internet
client application. Gopher, cookies, proxy bypass lists, and
persistent URL caching are not supported. WinInet also helps secure
communication. Three security protocols are available: Secure
Sockets Layer (SSL) 2.0 and 3.0, and Private Communication
Technology (PCT) 1.0. The Wnet API provides access to a Common Internet File System
(CIFS) redirector for access to remote printers and files.
Currently only Microsoft Windows 95 and Microsoft Windows NT
operating system connections are supported. The redirector supports
Universal Name Convention (UNC) names such as \\serverXX\shareXX,
but not drive letters. All network communications go through the Windows Sockets
interface, commonly known as Winsock. WinInet and Wnet use Winsock
internally, and relieve applications of the need to explicitly make
and manage a socket connection. You can also use Winsock
directly. Windows CE supports the standard WinSock 1.1 functions.
Asynchronous Winsock functions are not included. However, some
asynchronous notification support is available through the
Microsoft Foundation Classes (MFC) CCeSocket class. An
implementation of WSAIoctl is provided to support security service
providers. Windows CE supports Secure Sockets Layer 2.0, 3.0, and
PCT1.0 security protocols. IrSock is an extension to Winsock that enables socket-based
infrared communication using the IrDA protocols. Applications
implement IrSock in much the same way as conventional WinSock,
although several of the functions are used somewhat
differently. Windows CE supports Remote Access Server (RAS) clients. RAS is
multi-protocol router used to connect remote devices. Windows CE
RAS client support is virtually identical to the standard Windows
implementation, but only supports one point-to-point connection at
a time. The TCP/IP suite was developed for the Internet, and is probably
the most flexible and widely implemented network protocol. It is
supported by a wide variety of systems and forms the core of the
Windows CE network stack. While you cannot access the TCP/IP stack
directly, you can optimize it by modifying some of its
parameters. Conventional TCP/IP stacks are designed to function efficiently
on wired networks. They may work poorly with Windows CE based
mobile devices that use wireless networking. The Windows CE TCP/IP
stack is designed so that parameters such as the acknowledgement
timeout can be set to effectively support wireless networking. The Infrared Data Association (IRDA) protocol is a widely used
standard for IR communication. It is much more reliable than simply
streaming data from source to receiver. The Window CE IRDA stack is
designed to support NDIS 4.0 SIR and FIR drivers. While a one-to-one connection between two devices permits serial
communication, network communications techniques are often used.
For instance, many Windows CE-based devices will connect to their
network via a serial communication link, such as a modem. Even
between two devices connected by a serial cable, TCP/IP provides
built-in reliability that eliminates loss of data. To support serial-link networking, Windows CE supports the
widely used Serial Line Interface (SLIP), and Point to Point (PPP)
protocols. Authentication is provided via Password Authentication
Protocol (PAP), Challenge Authentication Protocol (CHAP), and
Microsoft CHAP. To support local area and IrDA networking, Windows CE includes
an implementation of NDIS 4.0. At present, only Ethernet and IrDA
miniport drivers are supported. Wide area networks are not
currently supported. Data transmission over a modem connection can take place using
either serial or network APIs. However, neither API provides any
assistance with such tasks as dialing a telephone number. To
simplify the process of making and managing telephone connections,
Windows CE includes a Telephony API (TAPI) that can be used with
either built-in or PC card modems. It includes a Unimodem service
provider for AT command based modems. For other types of modems,
TAPI supports installable service providers. TAPI is a collection of utilities that allow you to take
advantage of a wide variety of telephone and communications
services without needing detailed knowledge of the particular
technology. It handles such tasks as dialing telephone numbers,
managing the modem connection, and terminating the call. Only
outbound calls are supported.
The information contained in this document represents the
current view of Microsoft Corporation on the issues discussed as of
the date of publication. Because Microsoft must respond to changing
market conditions, it should not be interpreted to be a commitment
on the part of Microsoft, and Microsoft cannot guarantee the
accuracy of any information presented after the date of
publication.
This White Paper is for informational purposes only. MICROSOFT
MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS DOCUMENT.
Other product and company names mentioned herein may be the
trademarks of their respective owners.
Serial Communications
Network Communications
For More Information
An Overview of Windows CE
Communications
Serial Communications
Network Communications
Internet Browsing and Access to Remote Files and
Printers
WinSock and IRSock
Remote Access Client Support
TCP/IP and IrDA
Networking Hardware
Managing Telephone Connections
For More Information