Windows System Programming
Home > Computing and Information Technology > Computer programming / software engineering > Microsoft programming > Windows programming > Windows System Programming
Windows System Programming

Windows System Programming

|
     0     
5
4
3
2
1




Out of Stock


Notify me when this book is in stock
About the Book

“If you’re writing a native Win32 program or just want to know what the OS is really doing underneath, you need John’s book. He covers the stuff that real systems programmers absolutely must know. Recommended.” –Chris Sells, Microsoft Corporation   “This fourth edition does a great job of incorporating new features in the Vista, Windows 2008, and Windows 7 API, but also stays true to teaching the foundational elements of building applications that target the Windows OS.” –Jason Beres, Product Management, Infragistics   The Definitive Guide to Windows API Programming, Fully Updated for Windows 7, Windows Server 2008, and Windows Vista   Windows System Programming, Fourth Edition, now contains extensive new coverage of 64-bit programming, parallelism, multicore systems, and many other crucial topics. Johnson Hart’s robust code examples have been updated and streamlined throughout. They have been debugged and tested in both 32-bit and 64-bit versions, on single and multiprocessor systems, and under Windows 7, Vista, Server 2008, and Windows XP. To clarify program operation, sample programs are now illustrated with dozens of screenshots.   Hart systematically covers Windows externals at the API level, presenting practical coverage of all the services Windows programmers need, and emphasizing how Windows functions actually behave and interact in real-world applications. Hart begins with features used in single-process applications and gradually progresses to more sophisticated functions and multithreaded environments. Topics covered include file systems, memory management, exceptions, processes, threads, synchronization, interprocess communication, Windows services, and security.   New coverage in this edition includes Leveraging parallelism and maximizing performance in multicore systems Promoting source code portability and application interoperability across Windows, Linux, and UNIX Using 64-bit address spaces and ensuring 64-bit/32-bit portability Improving performance and scalability using threads, thread pools, and completion ports Techniques to improve program reliability and performance in all systems Windows performance-enhancing API features available starting with Windows Vista, such as slim reader/writer locks and condition variables A companion Web site, jmhartsoftware.com, contains all sample code, Visual Studio projects, additional examples, errata, reader comments, and Windows commentary and discussion.

Table of Contents:
Figures xvii Tables xix Programs xxi Program Runs xxv Preface xxvii About the Author xxxvii   Chapter 1: Getting Started with Windows 1 Operating System Essentials 1 Windows Evolution 2 Windows Versions 3 The Windows Market Role 5 Windows, Standards, and Open Systems 6 Windows Principles 7 32-bit and 64-bit Source Code Portability 10 The Standard C Library: When to Use It for File Processing 10 What You Need to Use This Book 11 Example: A Simple Sequential File Copy 13 Summary 20 Exercises 22   Chapter 2: Using the Windows File System and Character I/O 25 The Windows File Systems 26 File Naming 27 Opening, Reading, Writing, and Closing Files 28 Interlude: Unicode and Generic Characters 34 Unicode Strategies 37 Example: Error Processing 38 Standard Devices 39 Example: Copying Multiple Files to Standard Output 41 Example: Simple File Encryption 43 File and Directory Management 46 Console I/O 51 Example: Printing and Prompting 53 Example: Printing the Current Directory 55 Summary 56 Exercises 57   Chapter 3: Advanced File and Directory Processing, and the Registry 59 The 64-Bit File System 59 File Pointers 60 Getting the File Size 64 Example: Random Record Updates 65 File Attributes and Directory Processing 70 Example: Listing File Attributes 75 Example: Setting File Times 78 File Processing Strategies 80 File Locking 81 The Registry 86 Registry Management 88 Example: Listing Registry Keys and Contents 92 Summary 96 Exercises 97   Chapter 4: Exception Handling 101 Exceptions and Their Handlers 101 Floating-Point Exceptions 108 Errors and Exceptions 110 Example: Treating Errors as Exceptions 112 Termination Handlers 113 Example: Using Termination Handlers to Improve Program Quality 117 Example: Using a Filter Function 120 Console Control Handlers 124 Example: A Console Control Handler 126 Vectored Exception Handling 128 Summary 129 Exercises 130   Chapter 5: Memory Management, Memory-Mapped Files, and DLLs 131 Windows Memory Management Architecture 132 Heaps 134 Managing Heap Memory 137 Example: Sorting Files with a Binary Search Tree 143 Memory-Mapped Files 149 Example: Sequential File Processing with Mapped Files 156 Example: Sorting a Memory-Mapped File 158 Example: Using Based Pointers 162 Dynamic Link Libraries 167 Example: Explicitly Linking a File Conversion Function 172 The DLL Entry Point 174 DLL Version Management 175 Summary 177 Exercises 178   Chapter 6: Process Management 181 Windows Processes and Threads 181 Process Creation 183 Process Identities 190 Duplicating Handles 191 Exiting and Terminating a Process 192 Waiting for a Process to Terminate 194 Environment Blocks and Strings 195 Example: Parallel Pattern Searching 197 Processes in a Multiprocessor Environment 201 Process Execution Times 202 Example: Process Execution Times 202 Generating Console Control Events 204 Example: Simple Job Management 205 Example: Using Job Objects 215 Summary 219 Exercises 220   Chapter 7: Threads and Scheduling 223 Thread Overview 223 Thread Basics 225 Thread Management 226 Using the C Library in Threads 231 Example: Multithreaded Pattern Searching 232 Performance Impact 235 The Boss/Worker and Other Threading Models 236 Example: Merge-Sort–Exploiting Multiple Processors 237 Introduction to Program Parallelism 244 Thread Local Storage 245 Process and Thread Priority and Scheduling 246 Thread States 249 Pitfalls and Common Mistakes 251 Timed Waits 252 Fibers 253 Summary 256 Exercises 256   Chapter 8: Thread Synchronization 259 The Need for Thread Synchronization 259 Thread Synchronization Objects 268 CRITICAL_SECTION Objects 269 A CRITICAL_SECTION for Protecting Shared Variables 271 Example: A Simple Producer/Consumer System 273 Mutexes 279 Semaphores 284 Events 287 Example: A Producer/Consumer System 289 More Mutex and CRITICAL_SECTION Guidelines 294 More Interlocked Functions 296 Memory Management Performance Considerations 297 Summary 298 Exercises 298   Chapter 9: Locking, Performance, and NT6 Enhancements 301 Synchronization Performance Impact 302 A Model Program for Performance Experimentation 307 Tuning Multiprocessor Performance with CS Spin Counts 307 NT6 Slim Reader/Writer Locks 309 Thread Pools to Reduce Thread Contention 312 I/O Completion Ports 316 NT6 Thread Pools 316 Summary: Locking Performance 324 Parallelism Revisited 325 Processor Affinity 329 Performance Guidelines and Pitfalls 331 Summary 332 Exercises 333   Chapter 10: Advanced Thread Synchronization 335 The Condition Variable Model and Safety Properties 336 Using SignalObjectAndWait 342 Example: A Threshold Barrier Object 344 A Queue Object 348 Example: Using Queues in a Multistage Pipeline 352 Windows NT6 Condition Variables 362 Asynchronous Procedure Calls 366 Queuing Asynchronous Procedure Calls 367 Alertable Wait States 368 Safe Thread Cancellation 371 Pthreads for Application Portability 372 Thread Stacks and the Number of Threads 372 Hints for Designing, Debugging, and Testing 372 Beyond the Windows API 375 Summary 375 Exercises 376   Chapter 11: Interprocess Communication 379 Anonymous Pipes 380 Example: I/O Redirection Using an Anonymous Pipe 380 Named Pipes 384 Named Pipe Transaction Functions 390 Example: A Client/Server Command Line Processor 393 Comments on the Client/Server Command Line Processor 399 Mailslots 401 Pipe and Mailslot Creation, Connection, and Naming 405 Example: A Server That Clients Can Locate 406 Summary 408 Exercises 408   Chapter 12: Network Programming with Windows Sockets 411 Windows Sockets 412 Socket Server Functions 414 Socket Client Functions 419 Comparing Named Pipes and Sockets 421 Example: A Socket Message Receive Function 422 Example: A Socket-Based Client 423 Example: A Socket-Based Server with New Features 426 In-Process Servers 434 Line-Oriented Messages, DLL Entry Points, and TLS 436 Example: A Thread-Safe DLL for Socket Messages 437 Example: An Alternative Thread-Safe DLL Strategy 442 Datagrams 445 Berkeley Sockets versus Windows Sockets 447 Overlapped I/O with Windows Sockets 447 Windows Sockets Additional Features 448 Summary 448 Exercises 449   Chapter 13: Windows Services 453 Writing Windows Services–Overview 454 The main() Function 454 ServiceMain() Functions 455 The Service Control Handler 460 Event Logging 461 Example: A Service “Wrapper” 461 Managing Windows Services 467 Summary: Service Operation and Management 471 Example: A Service Control Shell 472 Sharing Kernel Objects with a Service 476 Notes on Debugging a Service 477 Summary 478 Exercises 478   Chapter 14: Asynchronous Input/Output and Completion Ports 481 Overview of Windows Asynchronous I/O 482 Overlapped I/O 483 Example: Synchronizing on a File Handle 487 Example: File Conversion with Overlapped I/O and Multiple Buffers 487 Extended I/O with Completion Routines 492 Example: File Conversion with Extended I/O 496 Asynchronous I/O with Threads 500 Waitable Timers 501 Example: Using a Waitable Timer 503 I/O Completion Ports 505 Example: A Server Using I/O Completion Ports 509 Summary 516 Exercises 517   Chapter 15: Securing Windows Objects 519 Security Attributes 519 Security Overview: The Security Descriptor 520 Security Descriptor Control Flags 523 Security Identifiers 523 Managing ACLs 525 Example: UNIX-Style Permission for NTFS Files 527 Example: Initializing Security Attributes 531 Reading and Changing Security Descriptors 535 Example: Reading File Permissions 537 Example: Changing File Permissions 538 Securing Kernel and Communication Objects 539 Example: Securing a Process and Its Threads 541 Overview of Additional Security Features 542 Summary 544 Exercises 544   Appendix A: Using the Sample Programs 547 Examples File Organization 548   Appendix B: Source Code Portability: Windows, UNIX, and Linux 549 Source Code Portability Strategies 550 Windows Services for UNIX 550 Source Code Portability for Windows Functionality 551 Chapters 2 and 3: File and Directory Management 556 Chapter 4: Exception Handling 561 Chapter 5: Memory Management, Memory-Mapped Files, and DLLs 562 Chapter 6: Process Management 563 Chapter 7: Threads and Scheduling 565 Chapters 8—10: Thread Synchronization 567 Chapter 11: Interprocess Communication 569 Chapter 14: Asynchronous I/O 571 Chapter 15: Securing Windows Objects 572   Appendix C: Performance Results 575 Test Configurations 575 Performance Measurements 577 Running the Tests 591   Bibliography 593   Index 597


Best Sellers


Product Details
  • ISBN-13: 9780321657749
  • Publisher: Pearson Education (US)
  • Publisher Imprint: Addison-Wesley Educational Publishers Inc
  • Height: 237 mm
  • No of Pages: 656
  • Weight: 1300 gr
  • ISBN-10: 0321657748
  • Publisher Date: 25 Feb 2010
  • Binding: Hardback
  • Language: English
  • Spine Width: 40 mm
  • Width: 194 mm


Similar Products

Add Photo
Add Photo

Customer Reviews

REVIEWS      0     
Click Here To Be The First to Review this Product
Windows System Programming
Pearson Education (US) -
Windows System Programming
Writing guidlines
We want to publish your review, so please:
  • keep your review on the product. Review's that defame author's character will be rejected.
  • Keep your review focused on the product.
  • Avoid writing about customer service. contact us instead if you have issue requiring immediate attention.
  • Refrain from mentioning competitors or the specific price you paid for the product.
  • Do not include any personally identifiable information, such as full names.

Windows System Programming

Required fields are marked with *

Review Title*
Review
    Add Photo Add up to 6 photos
    Would you recommend this product to a friend?
    Tag this Book Read more
    Does your review contain spoilers?
    What type of reader best describes you?
    I agree to the terms & conditions
    You may receive emails regarding this submission. Any emails will include the ability to opt-out of future communications.

    CUSTOMER RATINGS AND REVIEWS AND QUESTIONS AND ANSWERS TERMS OF USE

    These Terms of Use govern your conduct associated with the Customer Ratings and Reviews and/or Questions and Answers service offered by Bookswagon (the "CRR Service").


    By submitting any content to Bookswagon, you guarantee that:
    • You are the sole author and owner of the intellectual property rights in the content;
    • All "moral rights" that you may have in such content have been voluntarily waived by you;
    • All content that you post is accurate;
    • You are at least 13 years old;
    • Use of the content you supply does not violate these Terms of Use and will not cause injury to any person or entity.
    You further agree that you may not submit any content:
    • That is known by you to be false, inaccurate or misleading;
    • That infringes any third party's copyright, patent, trademark, trade secret or other proprietary rights or rights of publicity or privacy;
    • That violates any law, statute, ordinance or regulation (including, but not limited to, those governing, consumer protection, unfair competition, anti-discrimination or false advertising);
    • That is, or may reasonably be considered to be, defamatory, libelous, hateful, racially or religiously biased or offensive, unlawfully threatening or unlawfully harassing to any individual, partnership or corporation;
    • For which you were compensated or granted any consideration by any unapproved third party;
    • That includes any information that references other websites, addresses, email addresses, contact information or phone numbers;
    • That contains any computer viruses, worms or other potentially damaging computer programs or files.
    You agree to indemnify and hold Bookswagon (and its officers, directors, agents, subsidiaries, joint ventures, employees and third-party service providers, including but not limited to Bazaarvoice, Inc.), harmless from all claims, demands, and damages (actual and consequential) of every kind and nature, known and unknown including reasonable attorneys' fees, arising out of a breach of your representations and warranties set forth above, or your violation of any law or the rights of a third party.


    For any content that you submit, you grant Bookswagon a perpetual, irrevocable, royalty-free, transferable right and license to use, copy, modify, delete in its entirety, adapt, publish, translate, create derivative works from and/or sell, transfer, and/or distribute such content and/or incorporate such content into any form, medium or technology throughout the world without compensation to you. Additionally,  Bookswagon may transfer or share any personal information that you submit with its third-party service providers, including but not limited to Bazaarvoice, Inc. in accordance with  Privacy Policy


    All content that you submit may be used at Bookswagon's sole discretion. Bookswagon reserves the right to change, condense, withhold publication, remove or delete any content on Bookswagon's website that Bookswagon deems, in its sole discretion, to violate the content guidelines or any other provision of these Terms of Use.  Bookswagon does not guarantee that you will have any recourse through Bookswagon to edit or delete any content you have submitted. Ratings and written comments are generally posted within two to four business days. However, Bookswagon reserves the right to remove or to refuse to post any submission to the extent authorized by law. You acknowledge that you, not Bookswagon, are responsible for the contents of your submission. None of the content that you submit shall be subject to any obligation of confidence on the part of Bookswagon, its agents, subsidiaries, affiliates, partners or third party service providers (including but not limited to Bazaarvoice, Inc.)and their respective directors, officers and employees.

    Accept

    New Arrivals

    Inspired by your browsing history


    Your review has been submitted!

    You've already reviewed this product!