This book is intended for enterprise developers who want to build reliable, scalable, and secure server-side applications (services) on Microsoft Windows 2000. Unlike client-side GUI programming, server applications (Windows Services) need to be always on, efficiently handle I/O, manage threads, deal with security, and be administered remotely.
Richter and Clark walk through all the major Windows 2000 subsystems used by services: how to write services that register with the Service Control Manager; how to write and manage service-control programs; how to do asynchronous (overlapped) I/O for high performance; how to communicate between threads; how to work with the system registry for configuration; how to write to the Event Log; how to set up performance counters; how to expose management interfaces via WMI; and how to secure the service, including using access control, user tokens, Kerberos, and encrypted channels.
They also emphasize scalability (so services can handle heavy loads), robustness (services clean up resources properly, handle failures), and administrability (remote configuration, logging, performance monitoring). The book includes many sample applications and C++ classes to illustrate practical techniques.