Aimed at the experienced C/C++ developer, the new edition of Jeffrey Richter's Programming Applications for Microsoft Windows
supplies expanded coverage of essential advanced Windows programming techniques and APIs. In addition, the book includes excellent material on Windows 2000 (including future 64-bit versions of the OS) and use of some C++ for sample code.
This book's strength has to be its coverage of essential under-the-hood operating system features, like processes and threads, synchronization objects and memory management techniques, plus the APIs used to work with them. In each section, the book zeros in on how Windows 2000 and Windows 98 manage these system objects. (Windows NT 4 isn't mentioned here, however.) Short, effective examples, several of which incorporate the author's reusable custom C++ classes, demonstrate each operating system feature in action. Several useful utilities highlight details of how Windows works, with programs that let you view threads, memory objects, and other kernel objects.
With its coverage of Unicode and 64-bit Windows 2000, this is a book that will take your codebase into the future. Besides describing important APIs, the book provides programming tricks and tips for many useful advanced coding tasks (such as local thread storage, sparsely mapped memory files, using DLLs, and Windows hooks.)
Clearly written and filled with technical details on Windows 2000, this book is a great resource for any C/C++ programmer who wants to know what is really going on inside the latest Microsoft OS. In all, this title will be an essential "upgrade" for any reader of an earlier edition and will no doubt deserve serious consideration from C/C++ programmers wanting to get the most out of their Windows code. --Richard Dragan
Topics covered: Windows 2000 and Windows 98 advanced system programming techniques; 32-bit and 64-bit Windows 2000; Windows error messages; Unicode strings; kernel objects and security; processes; jobs; managing threads; scheduling; priorities; thread synchronization with critical sections; events, mutexes, and custom C++ classes; fibers; Windows memory architecture; managing virtual memory; thread stacks; memory-mapped files; default and custom heaps; DLL basics; thread-local storage; DLL injection and API hooking; Windows structured exception handling (SEH) basics; C++ vs. Windows exceptions; exception handlers.
About the Author
Jeffrey Richter is a cofounder of Wintellect (www.wintellect.com)-a training, debugging, and consulting firm dedicated to helping companies build better software faster. He is the author of the previous editions of this book, Windows via C/C++, and several other Windows®-related programming books. Jeffrey has been consulting with the Microsoft® .NET Framework team since October 1999.