I will admit right away that I am probably not the target audience for this book, because I am not a professional Windows programmer. However, I am very interested in learning how Windows works, and Windows via C/C++, 5th Ed (WVCP5E) is one of the books that will help develop that expertise. Had I not also read Windows System Programming, 4th Ed (WSP4E) by Hart, I would have given WVCP5E 5 stars. Both are strong books, but WSP4E received 5 stars in a separate review. Still, I very strongly believe that WVCP5E by Richter and Nasarre is a must-read for anyone who wants to know more about Windows applications.
From the start readers should appreciate several aspects of WVCP5E. First, the book addresses 64 bit programming. This is a requirement for modern environments, so it was nice to see a book aimed at Windows Vista including 64 bit topics. Second, the authors repeatedly discuss various security aspects of Windows and programming. As a security professional, I found this to be very encouraging and enlightening. Third, the authors are very candid, which adds to their credibility. For example, in Ch 3 when discussing a process' kernel object handle table, they write "I will not get all the details completely correct" because the subject is undocumented! (Somehow I think they covered the topic correctly!)
I thought the presentation of the book contributed to the learning process. One example appears in Ch 9, where Figure 9-3 (Kernel Objects and Threat Synchronization) on p 276 uses a comparative approach to make the authors' point. The authors frequently supply historical context for Microsoft decisions, including commentary on Microsoft practices. I liked the comment on Alertable I/O on p 315, where they write the feature "is horrible and should be avoided."
I subtracted one star from the overall rating for a few reasons. First, WSP4E seems much more complete as far as the manner in which Hart presents material. WVCP5E doesn't have the exercises, summaries, and other structures that one finds in WSP4E. For example, on more than one occasion a chapter in WVCP5E simply ended with a code listing! Maybe that's sufficient for the pros, but I like a little more framework around the material. Second, I really like comparisons to Unix and Linux in WSP4E that just don't appear in WVCP5E. Having a Unix background, Hart's approach helped me understand certain topics better when Windows vs Unix discussions appeared.
In conclusion, I still strongly recommend reading WVCP5E. I think it's a must-read for Windows programmers and security pros trying to understand applications at a deeper level.