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