Win32 System Programming - A Windows 2000 Application Developer's Guide
Synopsis
A practical guide to the central features and functions
of the Win32 API, Win32 System Programming, Second
Edition, will get you up and running with Windows NT
and Windows 2000. Unlike most Windows programming
resources, this book focuses exclusively on the core system
services--file system, memory, processes, 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, Win32 System Programming, Second
Edition, helps you to build on your knowledge base to learn
Win32 features quickly and easily.
This new edition has been updated and enhanced with new
coverage of network programming, servers, NT services,
thread performance, and synchronization. It also offers a
preview of Win64, the new 64-bit API for Windows 2000.
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. You will find extensive coverage
of such critical Win32 topics as:
- The Win32 file system
- Character I/O and Unicode
- The registry
- Structured exception handling
- Security services
- Memory management and DLLs
- Threads, process management, scheduling, and thread
synchronization
- Interprocess communication, featuring pipes and
mailslots
- Network programming with sockets
- NT services, including the service control handler,
event logging, and debugging
- Asynchronous I/O
- Remote Procedure Calls
- Win64, covering architecture, programming models, data
types, and legacy code migration
Short, practical examples illustrate each topic, and are
included on the accompanying CD-ROM and supporting Web site
(http://world.std.com/~jmhart/w32.htm). The appendixes
compare Win32, UNIX, and the C library; and provide
performance measurements and results.
Win32 System Programming, Second Edition, will
give you a solid grounding in the core operating system
functions of the Windows environment, an understanding of
Win64 for Windows 2000, and the know-how you need to put
them to work.
Contents
- Preface
- Chapter 1 Getting Started with Win32 and Win64
- Operating System Essentials
- Win32 and Windows 2000, NT, 9x, and CE
- Win32, Standards, and Open Systems
- Win32 Principles
- Getting Ready for Win64
- The Standard C Library: When to Use It for File
Processing
- What You Need to Use This Book
- Example: A Simple Sequential File Copy
- Summary
- Exercises
- Chapter 2 Using the Win32 File System and Character I/O
- The Win32 File Systems
- File Naming
- Opening, Reading, Writing, and Closing Files
- Interlude: Unicode and Generic Characters
- Unicode Strategies
- Standard Devices and Console I/O
- Example: Printing and Prompting
- Example: Error Processing
- Example: Copying Multiple Files to Standard Output
- Example: ASCII to Unicode Conversion
- File and Directory Management
- Example: Printing the Current Directory
- Summary
- Exercises
- Chapter 3 Advanced File and Directory Processing, and
the Registry
- The 64-Bit File System
- File Pointers
- Getting the File Size
- Example: Viewing the Tail of a File
- File Attributes and Directory Processing
- Example: Listing File Attributes
- Example: Setting File Times
- File Processing Strategies
- File Locking
- The Registry
- Registry Management
- Example: Listing Registry Keys and Contents
- Summary
- Exercises
- Chapter 4 Structured Exception Handling
- Exceptions and Their Handlers
- Floating-Point Exceptions
- Errors and Exceptions
- Example: Treating Errors as Exceptions
- Termination Handlers
- Example: Using Termination Handlers to Improve
- Program Quality
- Example: Using a Filter Function
- Console Control Handlers
- Example: A Console Control Handler
- Summary
- Exercises
- Chapter 5 Securing Win32 Objects
- Security Attributes
- Security Overview: The Security Descriptor
- Security Identifiers
- Managing ACLs
- Example: UNIX-Style Permission for NTFS Files
- Example: Initializing Security Attributes
- Reading and Changing Security Descriptors
- Example: Reading File Permissions
- Example: Changing File Permissions
- Overview of Aliitional Security Features
- Summary
- Exercises
- Chapter 6 Memory Management, Memory-Mapped Files, and
DLLs
- Win32 Memory Management Architecture
- Heaps
- Managing Heap Memory
- Example: Sorting Files with a Binary Search Tree
- Memory-Mapped Files
- Example: Sequential File Processing with Mapped
Files
- Example: Sorting a Memory-Mapped File
- Example: Using Based Pointers
- Dynamic Link Libraries
- Example: Explicitly Linking a File Conversion
Function
- The DLL Entry Point
- Summary
- Exercises
- Chapter 7 Process Management
- Windows Processes and Threads
- Process Creation
- Process Identities
- Duplicating Handles
- Exiting and Terminating a Process
- Waiting for a Process to Terminate
- Environment Blocks and Strings
- Example: Parallel Pattern Searching
- Process Execution Times
- Example: Process Execution Times
- Generating Console Control Events
- Example: Simple Job Management
- Job Objects
- Summary
- Exercises
- Chapter 8 Threads and Scheduling
- Thread Overview
- Thread Basics
- Thread Management
- Using the C Library in Threads
- Example: Multithreaded Pattern Searching
- The Boss/Worker and Other Threading Models
- Example: Merge-Sort
- Divide and Conquer to Exploit SMP
- Thread Local Storage
- Process and Thread Priority and Scheduling
- Thread States
- Pitfalls and Common Mistakes
- Timed Waits
- Fibers
- Summary
- Exercises
- Chapter 9 Thread Synchronization
- The Need for Thread Synchronization
- Thread Synchronization Objects
- The CRITICAL_SECTION Object
- A CRITICAL_SECTION for Protecting Shared Variables
- Example: A Simple Producer/Consumer System
- Mutexes
- Semaphores
- Events
- Example: A Producer/Consumer System
- Example: Synchronization Performance Impact
- More Mutex and CRITICAL_SECTION Guidelines
- More Interlocked Functions
- Memory Management Performance Considerations
- Summary
- Exercises
- Chapter 10 Advanced Thread Synchronization
- Mutexes, Events, and the Condition Variable Model
- Example: A Threshold Barrier Object
- A Queue Object
- Example: Using Queues in a Multistage Pipeline
- Hints for Designing, Debugging, and Testing
- Summary
- Exercises
- Chapter 11 Interprocess Communication
- Anonymous Pipes
- Example: I/O Redirection Using an Anonymous Pipe
- Named Pipes
- Named Pipe Transaction Functions
- Example: A Client/Server Command Line Processor
- Comments on the Client/Server Command Line
Processor
- Mailslots
- Pipe and Mailslot Creation, Connection, and Naming
- Example: A Server That Clients Can Locate
- Comments on Thread Models
- Summary
- Exercises
- Chapter 12 Network Programming with Windows Sockets
- Windows Sockets
- Socket Server Functions
- Socket Client Functions
- Comparing Named Pipes and Sockets
- Example: A Socket Message Receive Function
- Example: A Socket-Based Client
- Example: A Socket-Based Server with New Features
- In-Process Services
- Line-Oriented Messages, DLL Entry Points, and TLS
- Example: A Thread-Safe DLL for Socket Messages
- Example: An Alternative Thread-Safe DLL Strategy
- Datagrams
- Berkeley vs. Windows Sockets
- Overlapped I/O with Windows Sockets
- Windows Sockets 2
- Summary
- Exercises
- Chapter 13 NT Services
- Writing NT Services
- Overview
- The main () Function
- The ServiceMain () Functions
- The Service Control Handler
- Example: A Service "Wrapper"
- Managing Windows NT Services
- Summary: Service Operation and Management
- Example: A Service Control Shell
- Sharing Kernel Objects with a Service
- Event Logging
- Notes on Debugging a Service
- Summary
- Exercises
- Chapter 14 Asynchronous Input/Output and Completion
Ports
- Overview of Win32 Asynchronous I/O
- Overlapped I/O
- Example: Synchronizing on a File Handle
- Example: File Conversion with Overlapped I/O and
- Multiple Buffers
- Extended I/O with Completion Routines
- Example: File Conversion with Extended I/O
- Asynchronous I/O with Threads
- Waitable Timers
- Example: Using a Waitable Timer
- I/O Completion Ports
- Example: A Server Using I/O Completion Ports
- Summary
- Exercises
- Chapter 15 Remote Procedure Calls and COM Overview
- Remote Procedure Calls
- Basic RPC Architecture
- RPC Interface Definitions
- Example: An Interface Definition
- Example: An RPC Client
- Example: An RPC Server
- A Brief COM and DCOM Overview
- Summary
- Exercises
- Chapter 16 Win64 Programming
- 64-Bit Architecture Overview
- The Win64 Programming Model
- The Data Types
- The Three Win64 Programming Models
- Legacy Code Migration
- Appendix A Using the Sample Programs
- Disc Organization
- Include File Listings
- Additional Utility Programs
- Appendix B Win32, UNIX, and C Library Comparisons
- Chapters 2 and 3: File and Directory Management
- Chapter 4: Structured Exception Handling
- Chapter 5: Securing Win32 Objects
- Chapter 6: Memory Management, Memory-Mapped Files, and
DLLs
- Chapter 7: Process Management
- Chapter 8: Threads and Scheduling
- Chapters 9 and 10: Thread Synchronization
- Chapter 11: Interprocess Communication
- Chapter 14: Asynchronous I/O
- Appendix C Performance Results
- Test Configurations
- Performance Measurements
- Running the Tests
- Bibliography
- Index
Commander ce livre au
prix de
64,32
€
61,1
€
Classé sous : Chapter, Example, Thread, Win32, File
Livres en rapport
|
Derniers Blogs
GESTION D'EXCEPTION AVEC LES TASKSGESTION D'EXCEPTION AVEC LES TASKS par richardc
Nous avons vu dans un précédent article comment utiliser Task pour effectuer des opérations dans un autre thread.
Malheureusement, comme tout le monde n'est pas parfait, il se peut que cette exécution se passe mal et qu'une exception se produise.
La...
Cliquez pour lire la suite de l'article par richardc DéMARRONS AVEC LES TASKSDéMARRONS AVEC LES TASKS par richardc
Que vous le vouliez ou non, le développement multi-tâche est maintenant une obligation pour toute nouvelle application. Il est donc vital d'en comprendre les mécanismes et de s'y mettre le plus tôt possible.
En attendant le .NET Framework 4.5 avec le...
Cliquez pour lire la suite de l'article par richardc SLIDE & DéMO TECHDAYS 2012 - FAST & FURIOUS XAML APPSSLIDE & DéMO TECHDAYS 2012 - FAST & FURIOUS XAML APPS par Vko
Retrouvez les slides et les démo de ma session Fast & Furious XAML Apps. A ceux qui se posent la question : "est-ce que le code de la DataGrid est disponible?", je vous répondrais "pas encore". Je vais mettre en place un projet codeplex pour part...
Cliquez pour lire la suite de l'article par Vko XNA IS DEAD!XNA IS DEAD! par richardc
Depuis la semaine dernière (et grâce aux TechDays 2012), je me penche activement sur la nouvelle version de Windows, aka Windows 8. Vous me direz, il était temps puisque la première preview date de Septembre dernier.
OK. Remarquez, on n'en est qu'aux...
Cliquez pour lire la suite de l'article par richardc TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 !TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 ! par ROMELARD Fabrice
Speakers: Fabrice Meillon et Stanislas Quastana Cette session est basée entièrement sur celle donnée lors de la BUILD cet hiver. Il n'y a pas d'ajout d'information en rapport avec cet évènement passé. Windows 8 Server sera intégralem...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Logiciels
DocTranslate (V3.1.0.0)DOCTRANSLATE (V3.1.0.0)DocTranslate est un traducteur de document Microsoft Word, PowerPoint et Excel. Il permet d'autom... Cliquez pour télécharger DocTranslate Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System
|