WineHQ
WineHQ
Table of Contents
I. Developing Wine
1. Debugging Wine
1.1. Introduction
1.2. WineDbg 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. A Few Notes on Style
3. Other debugging techniques
3.1. Understanding undocumented APIs
3.2. How to do regression testing using Git
3.3. 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-w64
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. Windowing system
9.1. USER32 Module
9.2. X Windows System interface
10. COM in Wine
10.1. Writing COM Components for Wine
10.2. A brief introduction to DCOM in Wine
11. Wine and OpenGL
11.1. What is needed to have OpenGL support in Wine
11.2. How it all works
11.3. Known problems
12. Outline of DirectDraw Architecture
12.1. DirectDraw inheritance tree
12.2. DirectDrawSurface inheritance tree
12.3. Interface Thunks
12.4. Logical Object Layout
12.5. Creating Objects
13. Wine and Multimedia
13.1. Overview
13.2. Multimedia architecture
13.3. Low level layers
13.4. Mid level drivers (MCI)
13.5. High level layers
13.6. MS ACM DLLs
13.7. MS Video DLLs
13.8. Multimedia configuration