
Home
Courseware
Course
Listing
Instruction
Philosophy
Clients
Publications
Résumé

|
Microsoft System & Network Programming
Summary:
This class focuses on features of Win32 typically not
covered in User Interface classes. This class addresses
two principle audiences: console mode C++/MFC programmers and
console mode C API programmers. Discussions of programming
the graphical user interface (GUI) will be minimized.
Course Outline:
Introduction to Win32
Overview of Win32
Introduction to Win32
- Kernel, handles, threads &
processes
- IPC: Pipes, Mailslots
- Message pumps
- Console v. Native mode programs
- Coding conventions
- Miscellaneous functions
Synchronization
Threads v. Processes
MFC v. Win32 API
Synchronization
Events
Mutexes
Semaphore
Critical Sections
CPU Vendor Inspired Functions for Synchronization
Jobs, Processes, & Threads
Terms
Jobs
Processes
- Inheritance
- Process creation & termination
Threads
- Kinds of threads
Worker threads
User Interface(UI) threads
- Perils, merits and alternatives
- Thread priorities
- Thread communication
Fibers
Low Level I/O
Functions for file systems, volumes,
drives, directories & files
I/O functions
- Open/Create/Close
- Synchronous Read & Write
- Locking File Regions
- Asynchronous I/O
Console, keyboard & mouse I/O
Functions for file attributes
Functions for file times
Directory change notifications
Walking directory trees
Pipes & Mailslots
Named Pipes v. Mailslots
Pipes
- Anonymous v. Named Pipes
- Pipe functions
- Simple connections: single client &
single server
- Multi-client servers strategies
- Special functions for servers
Mailslots
- Creating Mailslots
- Mailslot functions
Winsock Programming
Basic Concepts
Winsock History & Features
3 Strategies
- BSD Compatibility
- Win32 GUI(Message Pump)
Compatibility
- Winsock V2 Event Model
Remote Procedure Calls
Terms
Goals
Perils and Merits
MIDL
Binding
Handles
Three strategies
- Automatic handles that use name
service
- Implicit handles that do not use
name service
- Explicit handles that use name
service
NT Services
Terms
Perils & Merits
Reporting Events
Service Context
- NO UI
- Security context: SYSTEM account
How to Create a Service
Virtual Memory
Basic virtual memory
- Virtual memory functions
- VirtualAlloc & VirtualFree functions
Mapping shared memory
- Mapping memory to files
- Mapping memory to page file
- Common mapping to file: sharing
memory among multiple processes
- 4 steps for mapping file to RAM
- Perils and merits of shared memory
Appendix: Dynamic Link Libraries
Definition, Merits & Limitations
Explicit v. Implicit
Importing v. Exporting
Pure v. Regular v. Extension
Sharing classes, variables, functions
Sharing Memory

Please contact Sieg to arrange for rapid, custom
courseware development, or to inquire about his availability to deliver training
to your organization: Phone 303-494-5509, Email siegfried@heintze.com.
Siegfried Heintze
(303) 494-5509
www.heintze.com
siegfried@heintze.com
|