Rating:  Summary: CD code very helpful Review: It's very helpful to be able to single step through the source code examples while reading the text. This book must be in the library of every serious NT/2000 developer.
Rating:  Summary: classic for user mode programmer Review: jeffrey richter is one of few masters who really understand windows programming! this book is absolutely a classic for advanced windows programmer. But it 's not suitable for beginner. I think one who wanna learn this book should a prerequisite background such as charles petzold's "programming windows". The book tells many advanced skill which is must in windows programming. The best programmer should not only know how to write codes ,but know why he write these codes. It's possible only when he understand the mechanicsm of the system running. jeffrey richter tells you all of the necessary background in the book. So don't hesitate, buy it!
Rating:  Summary: A BREATH OF FRESH AIR !!!!! Review: Obviously the author is a computer scientist who understands what engineers and programmers need to know. This is the internals document you won't find on MSDN. Definitely a MUST READ for anyone who is truly serious about designing systems or applications around ANY Microsoft Windows technology. My design is a CE appliance but this is still an essential read. No hype. No "around the edges" focus on technologies designed to hide implementation details. This book gets right to the heart of the kernal. The light bulbs have been going off since I picked it up. Thank you Mr. Richter, and Microsoft should thank you. Were it not for this book I would have abandoned Microsoft for a much more expensive technology.
Rating:  Summary: It won't disappoint you... Review: The Bible is to the priest as "Programming Applications for Microsoft Windows" is to the advanced Windows programmer. Everything you want to know about programming Windows internals you'll get it all here. Whether you are a good C/C++ Windows programmer you'll find it essential. It is the classic book you should keep on your desk. It covers all the following subjects: THREADS: You'll learn when and how to create threads and how to schedule and synchronize them through synchronization objects like Events, Mutexes, Semaphores, Critical Sections; all explained in detail. MEMORY MANAGEMENT: You'll discover how Windows manages memory and how you can master Memory Mapped Files, Virtual Memory and Heaps. FILE SYSTEM: All the main file management APIs are described and you'll find useful examples. DEVICE I/O: It describes how Pipes, Mail Slots, Sockets and Serial Ports work and how to perform asynchronous I/O operations on the local storage or on the network. SEH (Structured Exception Handling): You will learn how to take advantage from Exception Handling even by C applications and how SEH will help you in writing more robust applications. PROCESSES: You can get all the information you need to understand how Windows Processes work and how to modify their properties. The companion CD and book is full of very good examples and source code. There are plenty of hints and tricks and Win 32 to Win 64 code migration is covered too. It won't disappoint you, but it isn't for beginners.
Rating:  Summary: It won't disappoint you... Review: The Bible is to the priest as "Programming Applications for Microsoft Windows" is to the advanced Windows programmer. Everything you want to know about programming Windows internals you'll get it all here. Whether you are a good C/C++ Windows programmer you'll find it essential. It is the classic book you should keep on your desk. It covers all the following subjects: THREADS: You'll learn when and how to create threads and how to schedule and synchronize them through synchronization objects like Events, Mutexes, Semaphores, Critical Sections; all explained in detail. MEMORY MANAGEMENT: You'll discover how Windows manages memory and how you can master Memory Mapped Files, Virtual Memory and Heaps. FILE SYSTEM: All the main file management APIs are described and you'll find useful examples. DEVICE I/O: It describes how Pipes, Mail Slots, Sockets and Serial Ports work and how to perform asynchronous I/O operations on the local storage or on the network. SEH (Structured Exception Handling): You will learn how to take advantage from Exception Handling even by C applications and how SEH will help you in writing more robust applications. PROCESSES: You can get all the information you need to understand how Windows Processes work and how to modify their properties. The companion CD and book is full of very good examples and source code. There are plenty of hints and tricks and Win 32 to Win 64 code migration is covered too. It won't disappoint you, but it isn't for beginners.
Rating:  Summary: Not for learning Win API Review: The title of this book suggested to me that it was the book I needed if I wanted to learn the Windows API. Unfortunetly after struggling through it I've reallized it's targeted to an audience who already has knowledge of programming in the Windows API. I think a better title would have been something like "Tips, techniques, and common shortfalls for the Microsoft Windows Application Programmer." A waste of money on my part since I would need to buy his earlier book, and then by the time I would have mastered the basics that would allow me to move on to this book C# .NET will be wellestablished and although maybe not obsolete, the old Win API will not be needed. So this one is going on my shelf and I doubt I will ever make much use of it. The only reason I don't give it a lower rating is because it does have interesting notable information on Unicode even for me, and were I of the experienced, intended audience, then lots of the other contained information would be very interesting and beneficial from what I can tell.
Rating:  Summary: Not for learning Win API Review: The title of this book suggested to me that it was the book I needed if I wanted to learn the Windows API. Unfortunetly after struggling through it I've reallized it's targeted to an audience who already has knowledge of programming in the Windows API. I think a better title would have been something like "Tips, techniques, and common shortfalls for the Microsoft Windows Application Programmer." A waste of money on my part since I would need to buy his earlier book, and then by the time I would have mastered the basics that would allow me to move on to this book C# .NET will be wellestablished and although maybe not obsolete, the old Win API will not be needed. So this one is going on my shelf and I doubt I will ever make much use of it. The only reason I don't give it a lower rating is because it does have interesting notable information on Unicode even for me, and were I of the experienced, intended audience, then lots of the other contained information would be very interesting and beneficial from what I can tell.
Rating:  Summary: A must read for every C++ Windows Programmer Review: There are so many good things that I can say about this book that its hard to begin. Hands down, my favorite part is the clear and precise samples, the writing behind each exercise is so well thought out that other writers should use this book as a model of how to write a book. Jeffrey Richter objectively shares his knowledge and his insights into how to apply this technology. He does not run on and on about constants and flags that are better left to MSDN and electronic help files. The algorithms and technology described are the types of things that programmers face everyday, what I would call the "real life" problems. I would caution readers that if your looking for a book of how to become a programmer, this book is not for you. This book is for the professional that's looking to solve issues that deal with how do I apply this API correctly; when should I use this API call over another; how do I take advantage of the operating system and what does the operating system have to offer. And then, a clear programming exercise to illustrate the process. At 1000+ pages, I can only say that this book was to short.
Rating:  Summary: Great Book, Some Style Hurdles Review: 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.
Rating:  Summary: Great Book, Some Style Hurdles Review: 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.
|