Technical features new to Windows Vista
Windows Vista (formerly codenamed Windows "Longhorn") has many significant new features compared with previous Microsoft Windows versions, covering most aspects of the operating system. In addition to the new user interface, security capabilities, and developer technologies, several major components of the core operating system were redesigned, most notably the audio, print, display, and networking subsystems; while the results of this work will be visible to software developers, end-users will only see what appear to be evolutionary changes in the user interface. As part of the redesign of the networking architecture, IPv6 has been  incorporated into the operating system, and a number of performance improvements have been introduced, such as TCP window scaling. Prior versions of Windows typically needed third-party wireless networking software to work properly; this is no longer the case with Windows Vista, as it includes comprehensive wireless networking support. For graphics, Windows Vista introduces a new as well as major revisions to Direct3D. The new display driver model facilitates the new Desktop Window Manager, which provides the tearing-free desktop and special effects that are the cornerstones of the Windows Aero graphical user interface. The new display driver model is  also able to offload rudimentary tasks to the GPU, allow users to install drivers without requiring a system reboot, and seamlessly recover from rare driver errors due to illegal application behavior. At the core of the operating system, many improvements have been made to the memory manager, process scheduler, heap manager, and I/O scheduler. A Kernel Transaction Manager has been implemented that can be used by data persistence services to enable atomic transactions. The service is being used to give applications the ability to work with the file system and registry using atomic transaction operations. Audio. Windows Vista features  a completely re-written audio stack designed to provide low-latency 32-bit floating point audio, higher-quality digital signal processing, bit-for-bit sample level accuracy, up to 144 dB of dynamic range and new audio APIs created by a team including Steve Ball and Larry Osterman. The new audio stack runs at user level, thus increasing stability. Also, the new Universal Audio Architecture (UAA) model has been introduced, replacing WDM audio, which allows compliant audio hardware to automatically work under Windows without needing device drivers from the audio hardware vendor. There are three major APIs in the Windows  Vista audio architecture: Audio stack architecture. Applications communicate with the audio driver through "Sessions", and these "Sessions" are programmed through the "Windows Audio Session API (WASAPI)". In general, WASAPI operates in two modes. In "exclusive mode" (also called "DMA mode"), unmixed audio streams are rendered directly to the audio adapter and no other application's audio will play and signal processing has no effect. Exclusive mode is useful for applications that demand the least amount of intermediate processing of the audio data or those that want to output compressed audio data such as Dolby Digital, DTS or WMA Pro over  S/PDIF. WASAPI exclusive mode is similar to kernel streaming in function, but no kernel mode programming is required. In "shared mode", audio streams are rendered by the application and optionally applied per-stream audio effects known as "Local Effects (LFX)" (such as per-session volume control). Then the streams are mixed by the global audio engine, where a set of "global audio effects" (GFX) may be applied. Finally, they're rendered on the audio device. After passing through WASAPI, all host-based audio processing, including custom audio processing, can take place. Host-based processing modules are referred to as  Audio Processing Objects, or "APOs". All these components operate in user mode, only the audio driver runs in kernel mode. The Windows Kernel Mixer (KMixer) is completely gone. DirectSound and MME are emulated as Session instances rather than being directly connected to the audio driver. This does have the effect of preventing DirectSound from being hardware-accelerated, and completely removes support for DirectSound3D and EAX extensions, however APIs such as ASIO and OpenAL are not affected. Audio performance. Windows Vista also includes a new Multimedia Class Scheduler Service (MMCSS) that allows multimedia applications to register their time-critical processing to  run at an elevated thread priority, thus ensuring prioritized access to CPU resources for time-sensitive DSP processing and mixing tasks. For audio professionals, a new WaveRT port driver has been introduced that strives to achieve real-time performance by using the multimedia class scheduler and supports audio applications that reduce the latency of audio streams. All the existing audio APIs have been re-plumbed and emulated to use these APIs internally, all audio goes through these three APIs, so that most applications "just work". Issues. A fault in the MME WaveIn/WaveOut emulation was introduced in Windows Vista: if  sample rate conversion is needed, audible noise is sometimes introduced, such as when playing audio in a web browser that uses these APIs. This is because the internal resampler, which is no longer configurable, defaults to linear interpolation, which was the lowest-quality conversion mode that could be set in previous versions of Windows. The resampler can be set to a high-quality mode via a hotfix for Windows 7 and Windows Server 2008 R2 only. Audio signal processing. New digital signal processing functionalities such as "Room Correction", "Bass Management", "Loudness Equalization" and "Speaker Fill" have been introduced. These adapt  and modify an audio signal to take best advantage of the speaker configuration a given system has. Windows Vista also includes the ability to calibrate speakers to a given room's acoustics automatically using a software wizard. Windows Vista also includes the ability for audio drivers to include custom DSP effects, which are presented to the user through user-mode System Effect Audio Processing Objects (sAPOs). These sAPOs are also reusable by third-party software. Audio devices support. Windows Vista builds on the Universal Audio Architecture, a new class driver definition that aims to reduce the need for third-party  drivers, and to increase the overall stability and reliability of audio in Windows. Microsoft has also included a new high quality voice capture DirectX Media Object (DMO) as part of DirectShow that allows voice capture applications such as instant messengers and speech recognition applications to apply Acoustic Echo Cancellation and microphone array processing to speech signals. Speech recognition. Windows Vista is the first Windows operating system to include fully integrated support for speech recognition. Under Windows 2000 and XP, Speech Recognition was installed with Office 2003, or was included in Windows XP Tablet PC Edition. Windows Speech Recognition allows users  to control their machine through voice commands, and enables dictation into many applications. The application has a fairly high recognition accuracy and provides a set of commands that assists in dictation. A brief speech-driven tutorial is included to help familiarize a user with speech recognition commands. Training could also be completed to improve the accuracy of speech recognition. Windows Vista includes speech recognition for 8 languages at release time: English (U.S. and British), Spanish, German, French, Japanese and Chinese (traditional and simplified). Support for additional languages is planned for post-release. Speech recognition in Vista utilizes version 5.3 of  the Microsoft Speech API (SAPI) and version 8 of the Speech Recognizer. Speech synthesis. Speech synthesis was first introduced in Windows with Windows 2000, but it has been significantly enhanced for Windows Vista (code name Mulan). The old voice, Microsoft Sam, has been replaced with two new, more natural sounding voices of generally greater intelligibility: Anna and Lili, the latter of which is capable of speaking Chinese. The screen-reader Narrator which uses these voices has also been updated. Microsoft Agent and other text to speech applications now use the newer SAPI 5 voices. Print. Windows Vista includes a redesigned  print architecture, built around Windows Presentation Foundation. It provides high-fidelity color printing through improved use of color management, removes limitations of the current GDI-based print subsystem, enhances support for printing advanced effects such as gradients, transparencies, etc., and for color laser printers through the use of XML Paper Specification (XPS). The print subsystem in Windows Vista implements the new XPS print path as well as the legacy GDI print path for legacy support. Windows Vista transparently makes use of the XPS print path for those printers that support it, otherwise using the GDI print path. On documents with  intensive graphics, XPS printers are expected to produce much greater quality prints than GDI printers. In a networked environment with a print server running Windows Vista, documents will be rendered on the client machine, rather than on the server, using a feature known as "Client Side Rendering". The rendered intermediate form will just be transferred to the server to be printed without additional processing, making print servers more scalable by offloading rendering computation to clients. XPS print path. The XPS Print Path introduced in Windows Vista supports high quality 16-bit color printing. The XPS print path uses XML Paper  Specification (XPS) as the print spooler file format, that serves as the page description language (PDL) for printers. The XPS spooler format is the intended replacement for the Enhanced Metafile (EMF) format which is the print spooler format in the Graphics Device Interface (GDI) print path. XPS is an XML-based (more specifically XAML-based) color-managed device and resolution independent vector-based paged document format which encapsulates an exact representation of the actual printed output. XPS documents are packed in a ZIP container along with text, fonts, raster images, 2D vector graphics and DRM information. For printers supporting XPS , this eliminates an intermediate conversion to a printer-specific language, increasing the reliability and fidelity of the printed output. Microsoft claims that major printer vendors are planning to release printers with built-in XPS support and that this will provide better fidelity to the original document. At the core of the XPS print path is XPSDrv, the XPS-based printer driver which includes the filter pipeline. It contains a set of "filters" which are print processing modules and an XML-based configuration file to describe how the filters are loaded. Filters receive the spool file data as input, perform document  processing, rendering and PDL post-processing, and then output PDL data for the printer to consume. Filters can perform a single function such as watermarking a page or doing color transformations or they can perform several print processing functions on specific document parts individually or collectively and then convert the spool file to the page description language supported by the printer. Windows Vista also provides improved color support through the Windows Color System for higher color precision and dynamic range. It also supports CMYK colorspace and multiple ink systems for higher print fidelity. The print subsystem also has support for  named colors simplifying color definition for images transmitted to printer supporting those colors. The XPS print path can automatically calibrate color profile settings with those being used by the display subsystem. Conversely, XPS print drivers can express the configurable capabilities of the printer, by virtue of the "XPS PrintCapabilities" class, to enable more fine-grained control of print settings, tuned to the individual printing device. Applications which use the Windows Presentation Foundation for the display elements can directly print to the XPS print path without the need for image or colorspace conversion. The XPS format used in the spool file , represents advanced graphics effects such as 3D images, glow effects, and gradients as Windows Presentation Foundation primitives, which are processed by the printer drivers without rasterization, preventing rendering artifacts and reducing computational load. When the legacy GDI Print Path is used, the XPS spool file is used for processing before it is converted to a GDI image to minimize the processing done at raster level. Print schemas. Print schemas provide an XML-based format for expressing and organizing a large set of properties that describe either a job format or print capabilities in a hierarchically structured manner. Print schemas are  intended to address the problems associated with internal communication between the components of the print subsystem, and external communication between the print subsystem and applications. Networking. Windows Vista contains a new networking stack, which brings large improvements in all areas of network-related functionality. It includes a native implementation of IPv6, as well as complete overhaul of IPv4. IPv6 is now supported by all networking components, services, and the user interface. In IPv6 mode, Windows Vista can use the Link Local Multicast Name Resolution (LLMNR) protocol to resolve names of local hosts on a network which does not have a  DNS server running. The new TCP/IP stack uses a new method to store configuration settings that enables more dynamic control and does not require a computer restart after settings are changed. The new stack is also based on a strong host model and features an infrastructure to enable more modular components that can be dynamically inserted and removed. The user interface for configuring, troubleshooting and working with network connections has changed significantly from prior versions of Windows as well. Users can make use of the new "Network Center" to see the status of their network connections, and to access  every aspect of configuration. The network can be browsed using "Network Explorer", which replaces Windows XP's "My Network Places". Network Explorer items can be a shared device such as a scanner, or a file share. "Network Location Awareness" uniquely identifies each network and exposes the network's attributes and connectivity type. Windows Vista graphically presents how different devices are connected over a network in the "Network Map" view, using the LLTD protocol. In addition, the "Network Map" uses LLTD to determine connectivity information and media type (wired or wireless). Any device can implement LLTD to appear on the "Network  Map" with an icon representing the device, allowing users one-click access to the device's user interface. When LLTD is invoked, it provides metadata about the device that contains static or state information, such as the MAC address, IPv4/IPv6 address, signal strength etc. Support for wireless networks is built into the network stack itself, and does not emulate wired connections, as was the case with previous versions of Windows. This allows implementation of wireless-specific features such as larger frame sizes and optimized error recovery procedures. Windows Vista uses various techniques like Receive Window Auto-scaling, Explicit Congestion  Notification, TCP Chimney offload and Compound TCP to improve networking performance. Quality of service (QoS) policies can be used to prioritize network traffic, with traffic shaping available to all applications, even those that do not explicitly use QoS APIs. Windows Vista includes in-built support for peer-to-peer networks and SMB 2.0. For improved network security, Windows Vista supports for 256-bit and 384-bit Diffie-Hellman (DH) algorithms, as well as for 128-bit, 192-bit and 256-bit Advanced Encryption Standard (AES) is included in the network stack itself, while integrating IPsec with Windows Firewall. Kernel and  core OS changes. Boot process. Windows Vista introduces an overhaul of the previous Windows NT operating system loader architecture NTLDR. Used by versions of Windows NT since its inception with Windows NT 3.1, NTLDR has been completely replaced with a new architecture designed to address modern firmware technologies such as the Unified Extensible Firmware Interface. The new architecture introduces a firmware-independent data store and is backward compatible with previous versions of the Windows operating system. Drivers. Windows Vista introduces an improved driver model, Windows Driver Foundation which is an opt-in framework to replace the older Windows Driver Model . It includes: Processor Power Management. Windows Vista includes the following changes and enhancements in processor power management: Programmability. Section::::.NET Framework 3.0. Windows Vista is the first client version of Windows to ship with the .NET Framework. Specifically, it includes .NET Framework 2.0 and .NET Framework 3.0 (previously known as WinFX) but not version 1.0 or 1.1. The .NET Framework is a set of managed code APIs that is slated to succeed Win32. The Win32 API is also present in Windows Vista, but does not give direct access to all the new functionality introduced with the .NET Framework. In addition, .NET  Framework is intended to give programmers easier access to the functionality present in Windows itself. .NET Framework 3.0 includes APIs such as ADO.NET, ASP.NET, Windows Forms, among others, and adds four core frameworks to the .NET Framework: WPF. Windows Presentation Foundation (codenamed Avalon) is the overhaul of the graphical subsystem in Windows and the flagship resolution independent API for 2D and 3D graphics, raster and vector graphics (XAML), fixed and adaptive documents (XPS), advanced typography, animation (XAML), data binding, audio and video in Windows Vista. WPF enables richer control, design, and development of the visual aspects of Windows programs. Based  on DirectX, it renders all graphics using Direct3D. Routing the graphics through Direct3D allows Windows to offload graphics tasks to the GPU, reducing the workload on the computer's CPU. This capability is used by the Desktop Window Manager to make the desktop, all windows and all other shell elements into 3D surfaces. WPF applications can be deployed on the desktop or hosted in a web browser (XBAP). The 3D capabilities in WPF are limited compared to what's available in Direct3D. However, WPF provides tighter integration with other features like user interface (UI), documents, and media. This makes it  possible to have 3D UI, 3D documents, and 3D media. A set of built-in controls is provided as part of WPF, containing items such as button, menu, and list box controls. WPF provides the ability to perform control composition, where a control can contain any other control or layout. WPF also has a built-in set of data services to enable application developers to bind data to the controls. Images are supported using the Windows Imaging Component. For media, WPF supports any audio and video formats which Windows Media Player can play. In addition, WPF supports time-based animations , in contrast to the frame-based approach. This delinks the speed of the animation from how slow or fast the system is performing. Text is anti-aliased and rendered using ClearType. WPF uses Extensible Application Markup Language (XAML), which is a variant of XML, intended for use in developing user interfaces. Using XAML to develop user interfaces also allows for separation of model and view. In XAML, every element maps onto a class in the underlying API, and the attributes are set as properties on the instantiated classes. All elements of WPF may also be coded in a .NET language  such as C#. The XAML code is ultimately compiled into a managed assembly in the same way all .NET languages are, which means that the use of XAML for development does not incur a performance cost. WCF. Windows Communication Foundation (codenamed Indigo) is a new communication subsystem to enable applications, in one machine or across multiple machines connected by a network, to communicate. WCF programming model unifies Web Services, .NET Remoting, Distributed Transactions, and Message Queues into a single Service-oriented architecture model for distributed computing, where a server exposes a service via an interface, defined using XML, to which  clients connect. WCF runs in a sandbox and provides the enhanced security model all .NET applications provide. WCF is capable of using SOAP for communication between two processes, thereby making WCF based applications interoperable with any other process that communicates via SOAP. When a WCF process communicates with a non-WCF process, XML based encoding is used for the SOAP messages but when it communicates with another WCF process, the SOAP messages are encoded in an optimized binary format, to optimize the communication. Both the encodings conform to the data structure of the SOAP format, called Infoset. Windows Vista also  incorporates Microsoft Message Queuing 4.0 (MSMQ) that supports subqueues, poison messages (messages which continually fail to be processed correctly by the receiver), and transactional receives of messages from a remote queue. WF. Windows Workflow Foundation is a Microsoft technology for defining, executing and managing workflows. This technology is part of .NET Framework 3.0 and therefore targeted primarily for the Windows Vista operating system. The Windows Workflow Foundation runtime components provide common facilities for running and managing the workflows and can be hosted in any CLR application domain. Workflows comprise 'activities'. Developers can write their own domain-specific activities and then  use them in workflows. Windows Workflow Foundation also provides a set of general-purpose 'activities' that cover several control flow constructs. It also includes a visual workflow designer. The workflow designer can be used within Visual Studio 2005, including integration with the Visual Studio project system and debugger. Windows CardSpace. Windows CardSpace (codenamed InfoCard), a part of .NET Framework 3.0, is an implementation of Identity Metasystem, which centralizes acquiring, usage and management of digital identity. A digital identity is represented as logical "Security Tokens", that each consist of one or more "Claims", which provide information about different aspects of the  identity, such as name, address etc. Any identity system centers around three entities — the "User" who is to be identified, an "Identity Provider" who provides identifying information regarding the "User", and "Relying Party" who uses the identity to authenticate the user. An "Identity Provider" may be a service like Active Directory, or even the user who provides an authentication password, or biometric authentication data. A "Relying Party" issues a request to an application for an identity, by means of a "Policy" that states what "Claims" it needs and what will be the physical representation of the security token. The application  then passes on the request to Windows CardSpace, which then contacts a suitable "Identity Provider" and retrieves the "Identity". It then provides the application with the "Identity" along with information on how to use it. Windows CardSpace also keeps a track of all "Identities" used, and represents them as visually identifiable virtual cards, accessible to the user from a centralized location. Whenever an application requests any identity, Windows CardSpace informs the user about which identity is being used and needs confirmation before it provides the requestor with the identity. Windows CardSpace presents an API that allows any application to use  Windows CardSpace to handle authentication tasks. Similarly, the API allows "Identity Providers" to hook up with Windows CardSpace. To any "Relying Party", it appears as a service which provides authentication credentials. Media Foundation. Media Foundation is a set of COM-based APIs to handle audio and video playback that provides DirectX Video Acceleration 2.0 and better resilience to CPU, I/O, and memory stress for glitch-free low-latency playback of audio and video. It also enables high color spaces through the multimedia processing pipeline. DirectShow and Windows Media SDK will be gradually deprecated in future versions. Search. The Windows  Vista "Instant Search" index can also be accessed programmatically using both managed as well as native code. Native code connects to the index catalog by using a "Data Source Object" retrieved from Windows Vista shell's Indexing Service OLE DB provider. Managed code use the "MSIDXS" ADO.NET provider with the index catalog name. A catalog on a remote machine can also be specified using a UNC path. The criteria for the search is specified using a SQL-like syntax. The default catalog is called "SystemIndex" and it stores all the properties of indexed items with a predefined naming pattern. For  example, the name and location of documents in the system is exposed as a table with the column names "System. ItemName" and "System. ItemURL" respectively. An SQL query can directly refer these tables and index catalogues and use the "MSIDXS" provider to run queries against them. The search index can also be used via OLE DB, using the "CollatorDSO" provider. However, OLE DB provider is read-only, supporting only "SELECT" and "GROUP ON" SQL statements. The Windows Search API can also be used to convert a search query written using Advanced Query Syntax (or "Natural Query Syntax", the natural language  version of AQS) to SQL queries. It exposes a method "GenerateSQLFromUserQuery" method of the "ISearchQueryHelper" interface. Searches can also be performed using the "search-ms:" protocol, which is a pseudo protocol that lets searches be exposed as an URI. It contains all the operators and search terms specified in AQS. It can refer to saved search folders as well. When such a URI is activated, Windows Search, which is registered as a handler for the protocol, parses the URI to extract the parameters and perform the search. Networking. Winsock Kernel (WSK) is a new transport-independent kernel-mode Network Programming  Interface (NPI) for that provides TDI client developers with a sockets-like programming model similar to those supported in user-mode Winsock. While most of the same sockets programming concepts exist as in user-mode Winsock such as socket, creation, bind, connect, accept, send and receive, "Winsock Kernel" is a completely new programming interface with unique characteristics such as asynchronous I/O that uses IRPs and event callbacks to enhance performance. TDI is supported in Windows Vista for backward compatibility. Windows Vista includes a specialized QoS API called qWave ("Quality Windows Audio/Video Experience"), which is a pre-configured quality  of service module for time dependent multimedia data, such as audio or video streams. qWave uses different packet priority schemes for real-time flows (such as multimedia packets) and best-effort flows (such as file downloads or e-mails) to ensure that real time data gets as little delays as possible, while providing a high quality channel for other data packets. Windows Filtering Platform allows external applications to access and hook into the packet processing pipeline of the networking subsystem. Cryptography. Windows Vista features an update to the Microsoft Crypto API known as Cryptography API: Next Generation (CNG). CNG is  an extensible, user mode and kernel mode API that includes support for Elliptic curve cryptography and a number of newer algorithms that are part of the National Security Agency (NSA) Suite B. It also integrates with the smart card subsystem by including a Base CSP module which encapsulates the smart card API so that developers do not have to write complex CSPs.