Microsoft® Windows® Internals, Fourth Edition: Microsoft Windows Server™ 2003, Windows XP, and Windows 2000
by Mark E. Russinovich; David A. Solomon
Advanced Windows Debugging
by Mario Hewardt; Daniel Pravat
Windows® Internals, Fifth Edition
by Mark E. Russinovich; David A. Solomon; Alex Ionescu
Microsoft® Windows 7 Unleashed
by Paul McFedries
Programming WCF Services, 2nd Edition
by Juval Löwy
Advanced Windows Debugging
by Mario Hewardt; Daniel Pravat
Essential Windows Communication Foundation: For .NET Framework 3.5
by Steve Resnick; Richard Crane; Chris Bowen
Windows® Presentation Foundation Unleashed
by Adam Nathan; Daniel Lehenbauer - Lead Developer Responsible for WPF 3D
"If you're a systems-level 32-bit or 64-bit Windows developer,
whether using the Windows API directly or via .NET interop, you'll
definitely want to take a look at this update to Johnson Hart's
well-respected and well-loved book. Johnson starts with Windows
history and cultural issues and moves through basic and advanced
system services in a thoughtful, thorough manner. If Mr. Rogers
wrote a book with David Cutler, this is what they'd come up
with."
—Chris Sells, Longhorn Content Strategist,
Microsoft Corporation
"While focusing on UNIX developers that are looking to augment
their skills or simply jump ship, Windows System Programming,
Third Edition is a book that even some seasoned systems-level
Windows developers will undoubtedly find useful. This is not your
average bland GUI treatise; Hart takes you down to the metal,
explains all the relevant concepts clearly and in-depth, and gives
you an extensive library of high-quality code examples that can be
easily adapted for your own larger applications. Even if you've
created server applications before, Windows System
Programming will teach you new tricks, shed new light on
concepts you thought you'd mastered, and offer new strategies for
creating robust and secure solutions."
—Klaus H. Probst, Senior Architect,
Spherion Technology Services; Microsoft MVP
"This book is quite easy to follow; there are clear explanations
of everything. Even the explanation of the standards is readable!
For a developer not familiar with developing with Windows, Hart's
book also provides basic information on where Windows was and where
it is today, plus a great explanation of how it is different from
Posix and Unix."
—Eric Landes, Microsoft MVP,
www.aspalliance.com/corporatecoder
"Even advanced developers will always need to have a book like
this one on hand when the abstractions of a platform like .NET are
inadequate or when they need to know more about how .NET is
implemented. And the focus on low-level programming (specifically
memory management and IO) and other non-GUI topics makes it stand
out as superior among other Windows programming books. In keeping
the GUI focus to a minimum, Hart's book is able to be comprehensive
on the topics contained within."
—Michael Davidson, IT Analyst
Windows System Programming, Third Edition gives a solid grounding on using the core Windows APIs, includingWin64; is updated for Windows Server 2003, Windows XP, and the Microsoft Visual Studio .NET Framework, and has extensive examples illustrate all topics and show performance impact and tradeoffs
A practical guide to the central features and functions of the Windows API, Windows System Programming, Third Edition, will get you up and running with Windows XP and 2003, as well as other Windows systems. Unlike most Windows programming resources, this book focuses exclusively on the core system services—file system, memory, processes and threads, synchronization, communication, and security—rather than on the more commonly featured graphical user interface functions. Especially geared for those already familiar with UNIX or other high-end operating systems, Windows System Programming, Third Edition, helps you to build on your knowledge base to learn the most important features quickly and easily.
This new edition has been updated and enhanced with coverage of new API functions, network programming, Windows Services, process and thread management, synchronization, and application performance on single and multiprocessor systems. It also describes techniques for porting applications to Win64, the new Windows 64-bit API.
Beginning with an examination of the features required in a single-process application, the text gradually progresses to increasingly sophisticated functions relating to a multithreaded environment. Each chapter contains realistic examples to illustrate the topics. You will find extensive coverage of such critical Windows topics as:
File and directory management
Character I/O and Unicode
The registry
Structured exception handling
Security services
Memory management and DLLs
Threads, process management, and scheduling
Thread synchronization, including the condition variable model for event and mutex usage
Interprocess communication, featuring pipes and mailslots
Network programming with sockets
Developing Windows Services
Timers,Asynchronous I/O, and I/O completion ports
Guidelines and trade-offs to improve application performance and reliability
Win64, covering architecture, data types, and legacy code migration
Short, practical examples illustrate each topic and are included on the companion Web site (www.awprofessional/com/titles/0321256190). The appendixes provide performance measurements and compare Windows, UNIX, and the C library.
Average Amazon.com® Rating: ![]()
![]()
![]()
![]()
Based on 14 Ratings
Excellant Windows system level programming - 2007-01-20
Reviewer Rating: ![]()
![]()
![]()
![]()
![]()
I'm an old system's programmer, and I loved this book. It provides the exact information you need if your an experienced system's coder, and just need the specifics of how to accomplish the operations on windows. Multithreading, memory mapped file i/o, process & thread management, networking, you name it, and it's in here.
I use this text hand and glove with "Windows Internals" by Russinovich. Winternals explains what needs to be done, and Hart's book describes how. This is really an excellant text.
I particularly liked Appendix "C". Sprinkled throughout the text are example programs. Then Appendix "C" compares the real world performance of running the programs. The author does an excellant job of explaining why one approach is suprior to the other, than backs it up with timing examples (on difference versions of windows, using different hardware, and even the differences between FAT & NTFS).
About the only imrpovement to the text I could suggest, is less reference to Unix/POSIX. Most systems programmers are familiar with Unix, and it helps to have previous understanding from another platform, but I think people who buy this text are looking to learn the "Windows Way". Also, the text would benefit from a deeper treatment of the Windows Security model. As it stands, a demonstration of Unix-Style permissions for NTFS is not terribly useful in the real world.
Fantastic book with excellent coverage of multithreaded programming - 2006-09-09
Reviewer Rating: ![]()
![]()
![]()
![]()
![]()
The best thing about this book, in my opinion, is numerous comparisons that Mr. Hart makes between UNIX and Windows. As a recent Computer Science graduate, all of my system programming experience was in a UNIX environment. (My university used that OS for programming assignment exclusively.) After graduating, however, I found myself in a job that uses Windows. From school, I was familiar with the things I needed to do - parallel programming, sockets, services, but I had no idea how to actually implement such things in Windows. Mr. Hart's direct comparisons to UNIX gave me a frame of reference that made it easier for me to learn the subject matter quicker.
Also, the book's four chapters on multithreaded programming have been extremely insightful and indispensable. Mr. Hart writes "when defects do occur [in a multithreaded application], as they will, code inspection ... often is the most effective in finding and fixing the defects' root causes" (pg. 309). If you don't have the necessary knowledge, staring at the code all day won't do you a bit of good. Mr. Hart's fantastic coverage of this subject has helped me understand the fundamentals of this difficult programming paradigm.
In addition, the information on Structured Exception Handling (SEH) and Unicode was very helpful and informative.
Lastly, I found this book to be very useful because it is very up-to-date.
I would highly recommend this book.
Good but could be better - 2007-08-06
Reviewer Rating: ![]()
![]()
![]()
![]()
![]()
What impressed me most about this book was the subject range. It doesn't cover GUI stuff, but does cover UNICODE, threading, file handling, sockets, writing services, structured exception handling etc, and is pretty much up to date at time of writing this review (it doesn't cover Vista but does touch on 64-bit issues). There are books that cover some of these subjects more deeply, but I cannot think of a book that currently attempts to cover all of these subjects to the level that this book does or with such a consistent usage of Windows techniques.
Although this book does cover bits of the C run-time library, it concentrates more on what the Windows API can do for you that the C run-time cannot. This particularly showed through in the section on file handling. For someone like me who started working with the C and the C run-time library 20+ years ago, has worked with Windows APIs since the very first version of MS Windows appeared, worked with C++ for more than 10 years and worked on numerous UNIX projects too (often with code portable between Windows and UNIX), this book provides numerous reminders of why I should consider Windows APIs instead of C run-time libraries on projects where I don't need my code to be portable to UNIX. That's the key thing though - for an experienced developer this book largely acts as a reminder or as a trigger to go investigate certain things further, for rarely did it feel like an authoritative guide to the topics included. It is good, but not authoritative enough to be worthy of 5 stars. For example, my speciality is high-performance, multi-threaded servers handling protocols such as TCP/IP. Although this book covers multi-threading fairly well (although not brilliantly), I was particularly disappointed by the Sockets coverage - I could be wrong but I got the impression that the author prefers other interfaces to the Sockets API. Similarly, structured exception handling was covered very well, and file handling and memory handling pretty well, but the section on services felt a bit lightweight.
Example code in the book appears to be pretty good, although I have spotted a few minor issues. I haven't checked the errata on the author's web-site, but would hope that corrections do appear there.
So to conclude - yes, I think any serious Windows developer (particularly if writing server apps) should have a copy of this alongside books such as Jeffrey Richter's Programming Applications for Microsoft Windows, but having said that, I suspect that most people will think of Jeffrey Richter as the more authoritative even if in need of an update (which is planned to be happening later this year under a new title).
Touches on in depth issues of win32 programming - 2006-02-25
Reviewer Rating: ![]()
![]()
![]()
![]()
![]()
Nice book that touches on in depth issues of win32 programming such as file handling, registry, memory issues, etc.
Windows System Programming - 2008-09-30
Reviewer Rating: ![]()
![]()
![]()
![]()
![]()
Windows System Programming is a great resource for programming using the core Windows API. It is the only resource I found that gives practical and complete examples on real-world programming tasks, such as Named Pipes using IO Completion ports. It will be a permanent fixture on my work desk, as it should be on any C++ Window's developers desk.
Some information on this page was provided using data from Amazon.com®. View at Amazon >