| |
| |
| |
Introduction | |
| |
| |
One Hundred and Twenty-one Questions About Windows 2000 and 98 | |
| |
| |
Compiling Code | |
| |
| |
Terminology | |
| |
| |
Error Handling | |
| |
| |
Handles and Objects | |
| |
| |
Using the Microsoft Documentation | |
| |
| |
Bugs in the 32-Bit API | |
| |
| |
Differences Between Windows 98 and Windows 2000 | |
| |
| |
| |
Files | |
| |
| |
The Possibilities | |
| |
| |
Overview | |
| |
| |
Opening and Reading from a File | |
| |
| |
Getting and Setting File Information | |
| |
| |
File Operations | |
| |
| |
Temporary Files | |
| |
| |
File Reading and Writing | |
| |
| |
Asynchronous File Operations | |
| |
| |
File Locking | |
| |
| |
Compressed Files | |
| |
| |
File Mapping | |
| |
| |
Conclusion | |
| |
| |
| |
Drives | |
| |
| |
The Possibilities | |
| |
| |
Getting Volume Information | |
| |
| |
Getting Drive Types | |
| |
| |
Getting Free Space | |
| |
| |
Getting Logical Drives and Drive Strings | |
| |
| |
Setting the Volume Label | |
| |
| |
WNet Functions | |
| |
| |
Conclusion | |
| |
| |
| |
Directories | |
| |
| |
The Possibilities | |
| |
| |
Creating and Deleting Directories | |
| |
| |
Getting and Setting the Current Directory | |
| |
| |
Searching for a File | |
| |
| |
Traversing Directory Trees | |
| |
| |
Combining Capabilities | |
| |
| |
Detecting Changes to Directories and Files | |
| |
| |
Conclusion | |
| |
| |
| |
Active Directory | |
| |
| |
The Possibilities | |
| |
| |
Introduction to Active Directory | |
| |
| |
Active Directory Architecture | |
| |
| |
Frequently Asked Questions | |
| |
| |
Conclusion | |
| |
| |
| |
Process and Threads | |
| |
| |
The Possibilities | |
| |
| |
Introduction | |
| |
| |
Simple Examples | |
| |
| |
Using Threads in GUI Applications | |
| |
| |
Matching the Number of Threads to the Number of CPU's | |
| |
| |
Using Thread Local Storage | |
| |
| |
Thread Priorities | |
| |
| |
Other Thread Functions | |
| |
| |
Processes | |
| |
| |
Inheriting Handles | |
| |
| |
Interprocess Communication | |
| |
| |
Jobs | |
| |
| |
Conclusion | |
| |
| |
| |
Synchronization | |
| |
| |
Understanding the Problem | |
| |
| |
Four Different Synchronization Methods | |
| |
| |
Deadlocks, Starvation, and Other Synchronization Bugs | |
| |
| |
Wait Functions | |
| |
| |
Overlapped I/O | |
| |
| |
Change Functions | |
| |
| |
Integrating Synchronization into MFC Programs | |
| |
| |
Conclusion | |
| |
| |
| |
Network Communications | |
| |
| |
The Possibilities | |
| |
| |
Understanding Your Options | |
| |
| |
Mailslots | |
| |
| |
Named Pipes | |
| |
| |
Named Pipe Client/Server Systems | |
| |
| |
Connection with UNIX and Other TCP/IP Machines | |
| |
| |
UDP Connections | |
| |
| |
TCP Connections | |
| |
| |
Conclusion | |
| |
| |
| |
Remote Procedure Calls | |
| |
| |
The Possibilities | |
| |
| |
The Basic Idea | |
| |
| |
Design Issues | |
| |
| |
Creating RPCs | |
| |
| |
Understanding RPCs at a High Level | |
| |
| |
Parameter Passing | |
| |
| |
Understanding the Code | |
| |
| |
Setting up a Name Server in the Registry | |
| |
| |
Manual Binding with Implicit Handles | |
| |
| |
An RPC Server for Mandelbrot Sets | |
| |
| |
Improving the Mandelbrot RPC Server | |
| |
| |
Explicit Handles | |
| |
| |
Context Handles | |
| |
| |
Common Questions | |
| |
| |
Conclusion | |
| |
| |
| |
Distribute COM (DCOM) | |
| |
| |
DCOM Architecture | |
| |
| |
Components and Reuse | |
| |
| |
Location Independence | |
| |
| |
Connection Management | |
| |
| |
Scalability | |
| |
| |
Conclusion | |
| |
| |
| |
Communications | |
| |
| |
The Possibilities | |
| |
| |
Understanding Serial Communications | |
| |
| |
A Simple Communications Application | |
| |
| |
Getting Communications Events | |
| |
| |
A Simple Bulletin Board System | |
| |
| |
Flow Control | |
| |
| |
A Simple TTY Terminal Program | |
| |
| |
Other Communications Functions | |
| |
| |
Conclusion | |
| |
| |
| |
Windows 2000 Services | |
| |
| |
The Possibilities | |
| |
| |
Understanding Services | |
| |
| |
S ervice Choreography | |
| |
| |
The Simplest Service | |
| |
| |
Installing and Removing a Service | |
| |
| |
Displaying Dialogs from within a Service | |
| |
| |
Multiple Services in an Executable | |
| |
| |
Getting and Setting Configuration Information | |
| |
| |
Controlling Services | |
| |
| |
Enumerating Services | |
| |
| |
Placing an RPC Server in a Server | |
| |
| |
Conclusion | |
| |
| |
| |
Security | |
| |
| |
The Possibilities | |
| |
| |
-Understanding the Terminology and Concepts of the Windows 2000 Security _System | |
| |
| |
Windows 2000 Security Vocabulary | |
| |
| |
Simple Examples | |
| |
| |
Securable Objects and Access Rights | |
| |
| |
Examining Existing Access Tokens and Security Descriptors | |
| |
| |
Privileges | |
| |
| |
Adding and Deleting ACEs | |
| |
| |
Impersonation | |
| |
| |
Conclusion | |
| |
| |
| |
Consoles | |
| |
| |
The Possibilities | |
| |
| |
Raw versus Cooked Input | |
| |
| |
Simple Examples | |
| |
| |
Raw Input | |
| |
| |
Other Input Events | |
| |
| |
Other Capabilities | |
| |
| |
Conclusion | |
| |
| |
| |
Microsoft Management Console | |