New and Enhanced Hardware Support
Windows 2000 Professional supports standards for the following types of hardware devices: Human Interface Device (HID); DVD; digital audio; still image; multiple display support; video capture; and Accelerated Graphics Port (AGP). Much of this support is either new or significantly improved from what was offered in previous versions of Windows. The following sections describe the hardware device standards supported by Windows 2000 Professional.
Human Interface Devices
Windows 2000 Professional supports devices compliant with the Human Interface Device (HID) firmware specification, the new standard for input devices, such as keyboards, mouse and pointing devices, joysticks, game pads, and other types of game controllers. HIDs also include a variety of controls for vehicle simulation, virtual reality, sports equipment, and appliances. Support is based on the specification developed by the USB Implementers' Forum and is meant for devices connecting through USB. Windows 2000 Professional also includes HID support for devices connected through older interfaces.The HID-compliant device is self-describing; it indicates its type and provides usage information when plugged into the host system.For more information about the USB Implementers Forum and HID usage, see the USB link on the Web Resources page at http://windows.microsoft.com/windows2000/reskit/webresources.Windows 2000 Professional provides support for HIDs through WDM. The operating system supplies the HID class driver, the HID minidriver, and the HID parser. Windows 2000 Professional includes complete support for the following types of standard HID input devices:
Keyboards and keypadsMouse and pointing devicesJoysticks and game pads
You can plug these types of HID devices into the system and use them immediately. They do not require installation of additional software drivers.The generality of the HID specification opens up the opportunity for new kinds of input devices. For example, HID use is defined for the following types of devices:
Simulation devices (for example, automobiles, planes, tanks, spaceships, and submarines)Virtual reality devices (for example, belts, body suits, gloves, head trackers, head-mounted displays, and oculometers)Sports-equipment devices (for example, golf clubs, baseball bats, rowing machines, and treadmills)Consumer appliance devices (for example, audio and video appliances, and remote controls)Advanced game controllers (for example, 3-D game controllers and pinball devices)
Support for Plug and Play and power management for USB/HID devices takes place within the USB driver stack that is part of the new WDM-based architecture.From the perspective of a computer program, any HID device can be accessed either through HID APIs exposed by Hid.dll, or through DirectInput Component Object Model (COM) methods. DirectInput, which is part of Microsoft® DirectX® multimedia architecture, includes support for HID devices.Windows 2000 Professional also supports HID devices that connect to the system through ports or buses other than those of Hidusb.sys. For example, the IEEE 1394 bus can be developed and supplied by vendors.For more information about developing minidrivers and filter drivers, see the Driver Development Kits link on the Web Resources page at Device Management" in this book.
DVD
Digital Versatile Disk (DVD) provides digital data storage that encompasses audio, video, and computer data, and therefore has the potential for replacing current technologies for business data storage, laser disc, audio CD, CD-ROM, VHS videotape, and dedicated game technologies. DVD was designed for multimedia applications, with the goal of storing full-length feature movies.The DVD Consortium has defined two major compression technologies, MPEG-2 and AC-3 (also called Dolby Digital), which you can use to store over two hours of video and audio on a single DVD disk. The quality of the stored video and audio is higher than that found on laser disks and CDs.
DVD Support
Windows 2000 Professional supports DVD as follows:DVD Movie Playback If the proper decoding hardware or software is present, Windows 2000 Professional supports playback of DVD video. This support is especially important for entertainment computers, but it is also important for any multimedia platform meant to provide good quality support for the playback of movies. This support includes the full range of interactivity and high-quality playback found on a standard DVD Video player. Because computers are capable of better image quality than television, playing DVD on a computer running Windows 2000 Professional can produce an image of better quality than standard DVD video player devices connected to a television set.DVD as a Storage Device You can use DVD as a storage device on most computers that support DVD. While most first-generation DVD-ROM drives do not read CD-Recordable (CD-R) disks, all second-generation drives do. DVD-ROM discs and devices provide cost-effective storage for large data files. There are a number of competing formats for rewritable DVD, such as DVD-RAM, DVD-RW, and DVD+RW. However, there is no single drive that is capable of reading all of these different types of media.Figure C.2 shows the support architecture for existing DVD technologies that use Windows 2000 Professional.
Figure C.2 Implementation of the DVD support architecture
DVD Movie Playback ComponentsThe following components comprise support for DVD movie playback under Windows 2000 Professional:DVD-ROM Class Driver DVD-ROM has its own industry-defined command set, supported through an updated CD-ROM class driver. This driver provides the ability to read data sectors from a DVD-ROM drive.UDF File System Support for Universal Disk Format (UDF) ensures support for UDF-formatted DVD discs. UDF takes advantage of packet writing and is the industry standard for compact disc storage. As with File Allocation Table (FAT) and FAT32 file systems, Windows 2000 Professional provides installable file systems for UDF.WDM Stream Class Driver The WDM Stream class driver supports streaming data types, and MPEG-2 and AC-3 (Dolby Digital) hardware decoders. Hardware vendors must write only a small amount of interface code in a minidriver to ensure that the specific features in their hardware are supported. This allows most DVD decoders to work without user intervention.DirectShow Microsoft® DirectShow® (formerly ActiveMovie) proxy filters and related support include a DVD Navigator/Splitter, proxy filters for video streams, a video mixer, and a video renderer. The proxy filters allow programs written to the DirectShow API to control kernel mode filters.DirectDraw Hardware Abstraction Layer (HAL) with Video Port Extensions (VPE) Decoded video streams are huge—possibly too large even for the PCI bus on a computer. Manufacturers have solved this problem by creating dedicated buses to transfer decoded video streams from an MPEG-2 decoder to the display card. Microsoft provides software support for these interfaces using the DirectDraw HAL with VPE.Copyright Protection Copyright protection for DVD is established when key sectors on a disk are encrypted , then decrypted before the sectors are decoded. The encryption scheme used is called the Content-Scrambling System (CSS). Microsoft provides support for both software and hardware decrypters using a software module that enables authentication between the decoders and the DVD-ROM drives in a computer.Regionalization As part of the copyright protection scheme used for DVD, the DVD Consortium has defined six worldwide regions. Disks are playable on DVD devices in some or all of the regions according to regional codes set by the content creators. Microsoft provides software that responds to the regionalization codes as required by the DVD Consortium and as part of the decryption licenses.DVDPlay Microsoft provides a DVD movie playback application, which you can replace with another DVD playback application written to DirectShow2.DVD-ROM Storage DeviceUnder Windows 2000 Professional, DVD-ROM is simply a large storage medium, much like CD-ROM. To enable DVD-ROM as a read-only device, Microsoft provides support for DVD-ROM devices in Windows 2000 Professional and support for UDF as an installable file system. Using DVD-ROM device drivers, a DVD-ROM drive is treated as another peripheral, using industry-defined methods to access DVD disks and handle encrypted content.
DVD and Streaming Data
A program produces streaming data when it delivers large amount of data in a constant load, or stream, over time. The program never loads the data completely into memory; the data file might be too large, and the operations on the data file are typically sequential. The best example of this for DVD is an MPEG-2 video stream. When a computer plays an MPEG-2 file, a program loads and streams the MPEG-2 data through the computer for decoding and displaying. The data might enter and exit the host processor and bus of the computer several times during this process. In addition, an MPEG-2 stream starts out at approximately 5 to 10 Mbps. After the stream is decoded, the data transfer rate can easily exceed 100 Mbps. A single data stream this large can saturate and overwhelm a computer's PCI bus, so an alternate path might be required for the raw, decoded video data.A single stream demands a potentially large and constant load on a computer, over what can be considered a long time in computer terms. DVD is even more demanding because the system must be able to independently manage and decode at least four separate streams:
MPEG-2 videoAC-3 or MPEG-2 audioSubpictureNavigation
This independent processing of streams is necessary to ensure that the streams are totally synchronized when they reach their final destinations, with no dropped frames or degraded video. This requires precision in load balancing, synchronization, and processing.The WDM Stream class driver can deal with these problems because it is optimized to work with any devices that use streamed data. This includes devices that encode data (for example, video capture devices), and those that decode data (for example, DVD hardware decoders that decode MPEG-2 streams for playing DVD movies). This class driver uses the WDM layered architecture for interconnecting device drivers to optimize data flow within the Windows 2000 Professional kernels.For more information about DVD, see "Multimedia" in this book.
Digital Audio
Because Windows 2000 Professional supports USB and the IEEE 1394 bus, it can support digital audio. USB and IEEE 1394 have the bandwidth necessary to support digital audio and have mechanisms to provide synchronization between an audio source and an audio sink. Both provide different forms of isochronous and asynchronous services that distributed audio systems can use.In Windows 2000 Professional, digital audio is supported by WDM, which enables it to handle multiple streams of audio simultaneously. This means that two applications can play sound at the same time, and you can hear both. Windows 2000 Professional can also redirect audio output. Redirecting audio output to external USB and IEEE 1394 devices has two significant advantages:
Higher fidelity. Unlike internal audio devices, external devices are not subject to signal degradation due to high levels of radio-frequency noise. Device visibility. While Plug and Play can configure an internal audio device, it cannot guarantee that the speakers are connected to it. With USB speakers however, Plug and Play can see that they are in fact connected.
How USB Supports Digital Audio
The attributes of USB that allow it to accommodate digital audio devices are as follows:Capacity With a total transfer rate of 12 Mbps, USB has enough capacity for consumer audio but is inappropriate for multitrack audio production. Adding nodes to a USB network does not add to the total data-carrying capacity of the network, unlike IEEE 1394.Synchronization Although USB uses a 1 millisecond (ms) master clock for synchronization, the burden of synchronization is placed on the host computer. USB provides the following three modes of synchronization:
Asynchronous nodes have independent clocks. It is the responsibility of code in the host to add or delete samples to keep a source and data sink synchronized.Synchronous nodes synchronize to the master clock in the host. Two synchronized nodes can communicate without host intervention. The host might need to perform sample rate conversions but can assume that clocks on both devices are synchronized relative to one another.Adaptive nodes derive their clock from the data stream. For example, in an Internet telephone conversation, the nominal data rate might be 8,000 samples per second, but the remote party's sound card might be running at 8,002 samples per second. Every millisecond the computer is expected to send eight samples to the local USB audio device, but because the remote device is sending data faster, the network telephony program can compensate by sending an extra sample every half second. Adaptive nodes can deal with this sort of variance without problems.
Digital Signal Processing (DSP) Capability With USB, DSP must take place in the end nodes or in the host. For example, if a DVD drive and a home stereo are connected to a host, and the user wants to play an AC-3 audio-encoded stream, the AC-3 decoding can take place in either the host or in the stereo set, but not in an intermediate DSP dongle (a device, attached to a computer's I/O port, that adds hardware capabilities). The USB requirement for DSP connection is in contrast to the IEEE 1394 bus requirement, in which DSPs can also be connected as interior members of the daisy-chain or tree.USB Device Classes If a device conforms to a defined USB device class, you can use Plug and Play methods to identify the device and load a device driver. This eliminates the need for device manufacturers to ship driver disks with their products.Appliances as computer peripherals with USB Open Standards Not only is USB designed for standard devices, such as joysticks, keyboards, printers, and mouse devices, but because of its low production cost and relatively simple implementation, USB enables a wide class of devices to become computer peripherals. For example, a postage meter containing microcontrollers can have a USB port added for a small increase in cost. Connected to a computer, the meter can become part of a company-wide cost-tracking system. Adding voice output to the postage meter for use by a sight impaired user requires connecting the postage meter to a computer containing USB audio hardware. A programmer can add audio by using application programming interfaces (APIs) under Windows 2000 Professional.If the postage meter conforms to the HID class, Plug and Play support ensures that the device is recognized as soon as it is plugged into the computer. When that occurs, Windows 2000 Professional loads a device driver, configures the device, and makes it available to end-user software. This is particularly useful for telephones. A telephone is both an HID (the keypad) and an audio USB device. It might also include a conventional, ISDN, or high-speed cable modem. If a telephone answering/fax machine has a USB port, the device works well in a stand-alone mode, but when it is plugged into a computer, it becomes a modem, scanner, printer, or more intelligent answering machine.Home entertainment The home stereo system is another consumer device that contains a microcontroller and can be easily upgraded to connect to a computer running Windows 2000 Professional with USB. Except for the audio data rates, a stereo system is not much different from a telephone with USB. When equipped with a USB interface, a stereo system becomes a USB audio class device and an HID class device. The microcontroller inside a stereo system is not much different from the microcontroller inside a keyboard. The stereo system microcontroller spends most of its time polling buttons, waiting for the user to change the volume or tone controls.
IEEE 1394 Bus Support for Digital Audio
The attributes of the IEEE 1394 bus that allow it to accommodate digital-audio devices are as follows:Capacity and Synchronization With the IEEE 1394 bus, it is possible to put a CD drive on one node and a digital-to-analog converter (DAC) on another node. The clocks of both devices can be synchronized to the master clock on the bus. Because the IEEE 1394 bus is designed to handle video data (a transfer rate of 400 Mbps), handling multiple tracks of audio is a much simpler task. IEEE 1394 networks can be configured using multiple buses and filtering bridges in a leaf-node configuration so many devices can play in parallel without passing data over the same segment of the bus.DSP capability Arbitrary amounts of DSP power can be applied to streams of audio by means of IEEE 1394 dongles. DSPs inside a computer are limited by the total memory of the system and must compete with the CPU for this resource. On the IEEE 1394 bus, signals can be passed between nodes containing DSPs. Each DSP node increases delay to the processing time, but the IEEE 1394 bus can string many DSPs together.
Supporting Still Image Devices
Windows 2000 Professional supports still image (STI) devices under the WDM architecture. WDM supports SCSI, IEEE 1394, USB digital still image, and serial devices. Support for infrared and serial still image devices, which are connected to standard COM ports, comes from the existing infrared and serial interfaces. Image scanners and digital cameras are examples of STI devices.Figure C.3 illustrates the STI architecture.
Figure C.3 STI architecture
The following describes the components shown in Figure C.3:Application Two primary types of applications use still images. One type is for the editing of image data. Examples of this type are Adobe PhotoShop and Microsoft® PictureIt!® The other type is for authoring documents that include image data, but that do not focus on editing that image data. Examples of this type are word processing and page layout applications, such as Microsoft® Word, or a presentation application, such as Microsoft® PowerPoint®.Still Image APIs TWAIN, ISIS, and Adobe Acquire are the common API interfaces in use today. Currently, a hardware vendor must supply a device-specific component that implements a driver for each supported API.Color Management This interface and implementation maintains device color profiles and provides for color-space conversion. All color output from scanners must be defined. To accomplish this, a scanner must either create Red, Green, Blue (RGB) output or embed the International Color Consortium (ICC) profile for the scanned image into the image file to identify the color-space information for that image.Still Image Control Panel In Windows 2000 Professional, Scanners and Cameras in Control Panel gives you access to the following options for installed STI devices:
List of the installed STI devicesAddition and removal of STI devices that are not Plug and PlayTest of the validation of a selected deviceOptional device-specific configurationControl of the association between specific device events and the applications to be notified of these events.
The Scanners and Cameras icon appears in Control Panel when Windows 2000 Professional detects a Plug and Play STI device, or when you install a non Plug and Play STI device through the Add New Hardware Wizard.For more information about the Add New Hardware Wizard, see "Device Management" in this book.Still Image Event Monitor This application (provided by Microsoft) supports push-model behavior by detecting events coming from installed STI devices, and dispatching a set of those events to an application. From Control Panel, you can configure which Still Image-compliant applications are invoked.Still Image Device Driver Interface (DDI) You use the Still Image Device Driver Interface (DDI) to communicate with a particular device. The Still Image APIs, Control Panel, and the Event Monitor use the Still Image DDI. This DDI uses the color management system as a repository for the color profile supplied for a specific device. The DDI provides interfaces for the following:
EnumerationDevice information (primitive capabilities and status)Test activationData and command I/ONotification for device events, including polling for device activityRetrieval of an Image Color Management (ICM) color profile and other auxiliary information associated with a device
User-Mode Minidrivers These vendor-written modules are small components used to implement device-specific DDI functionality (test, status, and data I/O).Still Image Kernel-Mode Drivers These modules, provided by Microsoft, package a command or data for delivery on a specific bus type. All new kernel-mode drivers provided by Microsoft are WDM-based, although kernel-mode drivers generally need not be. Vendors must supply their own kernel-mode drivers for devices that are not designed to use the standard Microsoft kernel-mode drivers for a specific bus. Currently, kernel mode drivers for SCSI and USB are provided specific to still image devices.Bus drivers. These modules, provided by Microsoft, are used to communicate with the STI device. Examples are the USB driver stack and drivers for the serial and parallel ports.
Video Capture
Video Capture under Windows 2000 Professional is based on the WDM Stream class driver. Windows 2000 Professional provides minidrivers for USB and IEEE 1394 cameras, as well as PCI and videoport analog video devices. Support includes DirectShow filters for WDM video capture interfaces, and for compatibility with previous interface versions, a Video for Windows (VFW)-to-WDM mapper. The mapper, also called the VFWWDM mapper, allows WDM video capture devices to take advantage of existing 32-bit VFW applications, using the AVICap interfaces.Capturing video with WDM has the following advantages:
Compatibility with Windows 98Synergy with Microsoft® DirectShow® and Connection and Streaming ArchitectureSingle class driver architecture for hardware (such as video ports and chip sets) that is shared between video capture devices and DVD or MPEG devicesTelevision tuner, input selection, and support for fields, vertical blanking interval (VBI), and video port extensions
Capture applications have been developed using both DirectShow and VFW. A sample DirectShow capture application (Amcap.exe) is included in the DirectShow Software Development Kit.Vidcap32.exe is a sample Video for Windows (VFW) capture application included in the Win32 SDK. It allows you to capture video sequences and images from a VCR, videodisc player, or video camera. Video Capture provides two modes for capturing video sequences:
Real-time captureStep-frame capture
Using Real-Time Capture
Real-time capture processes a video sequence and audio as the events occur naturally or as the video source plays without interruption. A video source for real-time capture (such as a video camera or videodisc) provides an uninterrupted stream of information to the capture hardware. The capture hardware copies each frame of the video sequence (and each portion of audio) and transfers it to the hard disk before the next frame of data enters the capture hardware. A video frame contains one image of the video sequence.Real-time capture demands a fast computer and hard disk. The computer must process and store each incoming video frame before the next frame is received in the capture board. If the system lags during capture, frames of video data are lost.
Using Step-Frame Capture
Step-frame capture pauses the video source as it collects each frame (image) of data. If audio is also selected, this capture mode rewinds the media in the video source and collects audio data as the video source plays a second time. Step-frame capture collects video frames from a video sequence in a series of steps. Frames are captured one at a time, generally from a paused video device. You can perform step-frame capture manually, advancing the video source using the controls on the video device. Video Capture also provides automatic step-frame capture for video devices that support the Media Control Interface. With this method, Video Capture issues frame-advance commands to the source device and captures the sequence frame-by-frame. When Video Capture finishes capturing the current frame, it advances the video source to the next capture point.Step-frame capture provides an alternative for systems that cannot process a video sequence in real time. Because the system can fully process a video frame before contending with the next frame, you can use larger frame sizes and color formats, and you can compress the video sequence during capture. When a step-frame capture is complete, you can capture the audio segment associated with the video frames by playing the source video a second time.
Smart Cards
Smart Card technology is fully integrated into Windows 2000 Professional, and is an important component of the operating system's public-key infrastructure security feature. It allows Windows 2000 Professional to authenticate users using the private and public key information stored on a card, and enables single sign-on to the enterprise.A smart card is a small electronic device, approximately the size of a credit card, that contains an embedded integrated circuit. Smart cards are used to securely store public and private keys, passwords, and other personal information such as medical records.Smart cards provide:
Tamper-resistant storage for protecting private keys and other forms of personal information.Isolation of security-critical computations involving authentication, digital signatures, and key exchange from other parts of the system that do not have a "need to know"Portability of credentials and other private information between computers at work, home, or on the road
The Smart Card subsystem on Windows 2000 Professional supports industry standard Personal Computer/Smart Card (PC/SC) recommendations, and provides drivers for commercially available Plug and Play smart card readers. Windows 2000 Professional does not support non PC/SC-compliant or non-Plug and Play smart card readers. Some manufacturers might provide drivers for non-Plug and Play smart card readers that work with Windows 2000 Professional; however, it is recommended that you purchase only Plug and Play PC/SC-compliant smart card readers.Windows 2000 Professional automatically detects Plug and Play-compliant smart card readers and installs them using the Hardware Wizard. Once the reader is installed, you only need to configure a dial-up network connection to use a pre-configured smart card. In the Security tab of the connection Properties box, select Use smart card in the Validate my identity as follows list.
NOTE
Non-Plug and Play smart card readers are not recommended on the Windows 2000 platform. If you use a non-Plug and Play reader, you must obtain installation instructions including associated device driver software directly from the manufacturer of the smart card reader. Microsoft does not support nor recommend using non-Plug and Play smart card readers.
For information about Windows 2000-compatible smart card readers see the Windows Hardware Compatibility List link on the Web Resources page at Security" in this book. For smart card installation procedures, see Windows 2000 Professional Help.NOTESmart card readers typically come with set up instructions about how to connect cables, if there are any. If your reader has instructions, follow them. If you do not have instructions, then use the following general procedure.To install a smart card reader
To develop a device driver or service provider, see the Windows 2000 SDK. For more information, see SDK information in the MSDNTM Library link on the Web Resources pages at http://windows.microsoft.com/windows2000/reskit/webresources
Shut down your computer.Attach your reader to an available serial port or insert the PC Card reader into an available PCMCIA Type II slot.If your serial reader has a supplementary PS/2 cable/connector, attach your keyboard or mouse connector to it and plug it into your computer's keyboard or mouse port. Many new smart card readers take power from the keyboard or mouse port because power is not always provided by RS-232 ports and a separate power supply can be expensive and cumbersome.Start up your computer and log on.
If your smart card reader is Plug and Play-compliant, the Hardware Wizard detects it and installs the correct device driver.To install a smart card reader driver, follow the Hardware Wizard's directions for installing device driver software. This requires that you either use the Windows 2000 Professional CD or media from the smart card reader manufacturer which contains the appropriate device driver.