December 2001

Windows XP: Kernel Improvements Create a More Robust, Powerful, and Scalable OS

The Windows XP kernel includes a number of improvements over Windows 2000 that promote better scalability and overall performance. This article covers these changes and explains how they improve startup time, increase registry size limits, and promote more efficient disk partitioning. Windows XP provides support for 64-bit processors, which is covered here along with a discussion of how side-by-side assemblies end DLL Hell. Also new in the Windows XP kernel is a facility that will roll back driver installations to the Last Known Good state of the registry, making driver installation safer. Other topics include the new volume shadow copy facility, which provides for more accurate backups and improvements in remote debugging. Mark Russinovich and David Solomon

ADO.NET: Building a Custom Data Provider for Use with the .NET Data Access Framework

The System.Data.dll assembly in the .NET Framework contains namespaces whose base classes can be used to create custom data providers. These namespaces also define a number of data access interfaces and base classes that let developers create data providers that will interoperate with other custom providers. Using the ADO.NET classes Connection, Command, DataReader, and DataAdapter, writing a provider is easier than writing one for OLE DB. This article explains these classes and their implementation, and how they can be used to write a variety of different kinds of data providers. Bob Beauchemin

Windows Services: New Base Classes in .NET Make Writing a Windows Service Easy

Windows services are applications that run outside of any particular user context in Windows NT, Windows 2000, or Windows XP. The creation of services used to require expert coding skills and generally required C or C++. Visual Studio .NET now makes it easy for you to create a Windows service, whether you're writing code in C++, C#, or Visual Basic. You can also write a Windows service in any other language that targets the common language runtime. This article walks you through the creation of a useful Windows service, then demonstrates how to install, test, and debug the service. Ken Getz

**Windows Media Technologies:**Using Windows Media Rights Manager to Protect and Distribute Digital Media

Media distributors have been looking for a way to prevent users from getting saleable content for free ever since independent distributors and peer-to-peer systems began distributing files without licensing them. Windows Media Services addresses these concerns by providing encryption, licensing, and management capabilities. One of its components, Windows Media Rights Manager, allows companies to issue licenses that consumers must pay for before their media files will play. This article explains this and other components of Windows Media Services so you can begin protecting your media files today. Andrea Pruneda

Generative Programming: Modern Techniques to Automate Repetitive Programming Tasks

Even when developers have recurring computer-readable metadata to process and a clear idea of how code should be structured, they can still find themselves in need of a technique to automatically generate the code to avoid the drudge work of repeatedly writing and tweaking it. Generative programming is a technique that addresses this problem. Using generative programming techniques, you can solve software engineering problems in families, rather than individually, saving time and coding effort. This article describes these techniques, and builds a sample template-driven code generator. The article also lists existing utilities that have been built with generative programming techniques, as well as actual code generators. Chris Sells

Pocket PC: MSMQ for Windows CE Brings Advanced Windows Messaging to Embedded Devices

Handheld devices are becoming increasingly important nodes on wireless networks, allowing their users to connect to data stores and other central server applications over the network. But wireless network connections can be unreliable, requiring the use of store-and-forward messaging that does not need to maintain a continuous connection. Microsoft Message Queue (MSMQ) has supplied these features to desktop machines, and there is now a version for handheld devices. MSMQ for Windows CE allows users of embedded devices to perform tasks such as remote order processing and inventory update without worrying about the state of their connection. The benefits of MSMQ for Windows CE and how to install and run the service is covered here. Bob Hartman

Editor's Note: Windows XP is Here, Again!

New Stuff: Resources for Your Developer Toolbox

Theresa W. Carey

Web Q&A: Multiple Entry Points, Optimizing JScript

Edited by Nancy Michell

The XML Files: What's New in MSXML 4.0

Aaron Skonnard

The ASP Column: DataList vs. DataGrid in ASP.NET

George Shepherd

Cutting Edge: Using Session and Application Objects in ASP.NET, Part 2

Dino Esposito

Basic Instincts: Using Inheritance in the .NET World, Part 2

Ted Pattison

Under the Hood: The .NET Profiling API and the DNProfiler Tool

Matt Pietrek

C++ Q&A: Stopping Screen Savers, Detecting Screen Resolution, Adding Status Bar Buttons

Paul DiLascia

Code Download (3,517 KB)
.Chm Files