Wine HQ

  WineHQ Menu
  WineHQ
  AppDB
  Bugzilla
  Wine Wiki
  Wine Forums
  About
  Introduction
  Features
  Screenshots
  Contributing
  News
  Press
  License
  Download
  Get Wine Now
  Support
  Getting Help
  FAQ
  Documentation
  HowTo
  Live Support Chat
  Paid Support
  Development
  Developers Guide
  Mailing Lists
  GIT
  Sending Patches
  To Do Lists
  Fun Projects
  Janitorial
  Winelib
  Status
  Resources
  WineConf
  Search WineHQ

Wine Developer's Guide
Table of Contents
I. Developing Wine
1. Debugging Wine
1.1. Introduction
1.2. WineDbg's modes of invocation
1.3. Using the Wine Debugger
1.4. Useful memory addresses
1.5. Configuration
1.6. WineDbg Expressions and Variables
1.7. WineDbg Command Reference
1.8. Other debuggers
2. Debug Logging
2.1. Debugging classes
2.2. Debugging channels
2.3. Are we debugging?
2.4. Helper functions
2.5. Controlling the debugging output
2.6. Compiling Out Debugging Messages
2.7. A Few Notes on Style
3. Other debugging techniques
3.1. Doing A Hardware Trace
3.2. Understanding undocumented APIs
3.3. How to do regression testing using Git
3.4. Which code has been tested?
4. Coding Practice
4.1. Patch Format
4.2. Some notes about style
4.3. Quality Assurance
4.4. Porting Wine to new Platforms
4.5. Adding New Languages
5. Writing Conformance tests
5.1. Introduction
5.2. What to test for?
5.3. Running the tests in Wine
5.4. Cross-compiling the tests with MinGW
5.5. Building and running the tests on Windows
5.6. Inside a test
5.7. Writing good error messages
5.8. Handling platform issues
6. Documenting Wine
6.1. An Overview Of Wine Documentation
6.2. Writing Wine API Documentation
6.3. The Wine DocBook System
II. Wine Architecture
7. Overview
7.1. Wine Overview
7.2. Standard Windows Architectures
7.3. Wine architecture
8. Kernel modules
8.1. The Wine initialization process
8.2. Detailed memory management
8.3. Multi-processing in Wine
8.4. Multi-threading in Wine
8.5. Structured Exception Handling
8.6. File management
8.7. NTDLL module
8.8. KERNEL32 Module
9. Graphical modules
9.1. GDI Module
10. Windowing system
10.1. USER Module
10.2. X Windows System interface
11. COM in Wine
11.1. Writing COM Components for Wine
11.2. A brief introduction to DCOM in Wine
12. Wine and OpenGL
12.1. What is needed to have OpenGL support in Wine
12.2. How it all works
12.3. Known problems
13. Outline of DirectDraw Architecture
13.1. DirectDraw inheritance tree
13.2. DirectDrawSurface inheritance tree
13.3. Interface Thunks
13.4. Logical Object Layout
13.5. Creating Objects
14. Wine and Multimedia
14.1. Overview
14.2. Multimedia architecture
14.3. Low level layers
14.4. Mid level drivers (MCI)
14.5. High level layers
14.6. MS ACM Dlls
14.7. MS Video Dlls
14.8. Multimedia configuration