Overall, this book is well worth the money.
If you are looking for a book that described how to write a GUI application for Windows NT, then this book is not for you. There is no mention of
CreateWindowEx()or even of
WinMain(), nothing on message loops and almost no mention of GUI at all. So, what does the book provide?
In its eleven chapters, this book sets out the foundation upon which Windows is based. It covers the creation and use of DLLs, using the registry, error handling (including the use of structured exceptions and how they can be used in conjunction with C++ exception handling), controlling threads and processes, inter-process communication and the use of remote procedure calls. Windows console mode and NT security are discussed in some depth. While the book's title implies that it relates only to Windows NT, this is not the case and much of the discussion applies equally to Windows 9x. Where differences between the operating systems exist, these are highlighted.
All examples are written using Visual C++ and the code is available over the web. I compiled many of them faultlessly using Borland C++. While the book specifies that knowledge of C++ is a prerequisite, I think that non-C++ programmers would benefit from it. The example code is not extensive and is only used to demonstrate things that have been clearly described in the text.
The code samples themselves are basic but, in most cases, do the job. While the examples used to demonstrate inter-process communication and the use of mutex and semaphores could be improved, the code to demonstrate the need for them works very well!
The author's style is quite readable and the content generally accurate. The only errors I noticed were in the discussion of the registry and were of no material consequence. The author recommends the use of regedit to modify the registry, which is generally considered bad practice. Regedt32 may not have quite such a nice interface but it is safer than regedit and supports more data types.
Overall, this book is well worth the money. It whets the appetite rather then providing a three-course meal, but hopefully will encourage programmers to delve deeper into the API. It is very much a beginner's book, but not in the obvious sense.