Programming Applications for Microsoft Windows (Dv-Mps General)

Programming Applications for Microsoft Windows (Dv-Mps General)
This single book has all you've
been looking for, doesn't it ?


Programming Applications for Microsoft Windows (Dv-Mps General)

Buy it Now!
by Jeffrey Richter

List Price:   $59.99

Our Price:   $41.99

You Save:  $18.00 ( 30% )

Availability: Usually ships within 24 hours.


Living in UK? Get It Here!
Living in Deutschland? Get It Here!
Living in France? Get It Here!

Reviews
Amazon.com
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.


Book Description
PROGRAMMING APPLICATIONS FOR MICROSOFT WINDOWS is the preeminent guide to Windows programming at the API level. Now in its fourth edition, the previously titled ADVANCED WINDOWS is revised to bring software developers the latest information about Windows 98, Windows 2000, and 64-bit Windows. Its complete coverage of the Windows operating system provides an inside view of how Windows 2000 and Windows 98 work and how to use their features. Topics covered include processes, threads, virtual memory,... read more


This book would have been better titled "Advanced Windows Programming Topics" because with the exception of the chapter on Unicode and the three chapters on Structured Exception Handling, it covers topics that come into play in the advanced stages of specific types of application development. It is not nearly as generally applicable as the title suggests. For instance, it handles virtual memory and memory-mapped files, but not basic memory management. It handles advanced Windows messaging topics, but not any UI programming. It does not cover I/O or many universally required items such as strings, time, etc. in either their C standard library, C++/MFC class library, or ATL template library forms. It also does not cover higher-level info like COM, networking, etc. which are where many new technologies live (ADO, ADSI, SOAP, XML, Internet, etc.)

It is very Win32-specific and heavily slanted toward Visual C++. I think it is a great fit with Inside Windows 2000, because many of the advanced topics covered from the programming perspective here are also covered from the internal system operation perspective there.

These are not so much problems as they are a level-set for your expectations. There are plenty of other great books on the topics not included here.

There were three distractions that plagued this book. First, there is far too much source code printed in the book. There is a CD and there are code snippets in the text (in addition to the complete source code later in the chapter). This was far too redundant and caused quite a bit of page flipping. Although it is quite interesting and beneficial to examine source code, its placement in this book just interrupts the flow of reading. Second, there is quite a bit of useless discussion on what doesn't work, including rambling sections on the many failed attempts the author had before achieving success on a topic. This was also a distraction. It would have been better presented as the correct way of doing things with admonitions on what not to do and possibly why. The blow-by-blow description of the process used to discover these things was too frequent and became annoying. Third, there were similar sections that were less about the author's own exploits but just as overdone. Most of these focused on examining what could happen if you didn't code correctly. They would start with a basic statement of what could go wrong, but then went on to beat the concept into the ground by devoting paragraphs to aspects of the ramifications that are completely obvious to anyone in this book's target audience. There is some value to this last type of analysis, as it can help the thought process required for hard-target debugging, but these should have been in a debugging chapter rather than drawn out and placed with the rest of the text.

In spite of these hurdles in style, the book covers topics that are absolutely essential for robust application development. It covers Unicode, Processes, Threads, Synchronization, Memory Management, DLLs, Exceptions, and certain advanced Windows UI topics. For every topic covered, the coverage was authoritative. The author has a great understanding of the topics covered and manages to cover nearly the entirety of a topic without it seeming like a reference guide. In that, it is extraordinarily well done. I have since adopted several important best practices in synchronization, thread management, DLLs, and so forth. Every topic was rife with great information.

For the topics covered, this is one of the best books I've read. This is an extremely valuable book and a definite must read, but not until after you are quite well versed in "Programming Applications for Windows" ironically.

As a final note, if you're thinking of reading this book, you will thoroughly enjoy reading the author's Programming Server-Side Applications for Windows as well. It has the same source code redundancy issue, but is much leaner in the other aspects of style. It covers many excellent server-side topics like services and performance-enabling your applications. In addition, it offers the best coverage of scalable asynchronous I/O and the best coverage of Win2K security that I've ever read.


Customers who bought this book also bought titles by these authors:


    Back to:

  Software Development

  Software Design

  Main Index


      Search:   Keywords:

 

In Association with Amazon.com, Amazon.co.uk, Amazon.de, Amazon.fr
Copyright (c) by Eugene Kisly and Victor Kisly, 1999-2000