| Introduction | 1 |
| Pt. I | Background | |
| 1 | Introduction to the .NET Framework | 13 |
| 2 | Bridging the Two Worlds - Managed and Unmanaged Code | 47 |
| Pt. II | Using COM Components in .NET Applications | |
| 3 | The Essentials for Using COM in Managed Code | 77 |
| 4 | An In-Depth Look at Imported Assemblies | 139 |
| 5 | Responding to COM Events | 201 |
| 6 | Advanced Topics for Using COM Components | 247 |
| 7 | Modifying Interop Assemblies | 323 |
| Pt. III | Using .NET Components in COM Applications | |
| 8 | The Essentials of Using .NET Components from COM | 379 |
| 9 | An In-Depth Look at Exported Type Libraries | 425 |
| 10 | Advanced Topics for Using .NET Components | 459 |
| Pt. IV | Designing Great .NET Components for COM Clients | |
| 11 | .NET Design Guidelines for Components Used by COM Clients | 497 |
| 12 | Customizing COM's View of .NET Components | 539 |
| 13 | Exposing .NET Events to COM Clients | 591 |
| 14 | Implementing COM Interfaces for Binary Compatibility | 627 |
| Pt. V | Designing Great COM Components for .NET Clients | |
| 15 | Creating and Deploying Useful Primary Interop Assemblies | 683 |
| 16 | COM Design Guidelines for Components Used by .NET Clients | 715 |
| 17 | Implementing .NET Interfaces for Type Compatibility | 739 |
| Pt. VI | Platform Invocation Services (PInvoke) | |
| 18 | The Essentials of PInvoke | 771 |
| 19 | Deeper Into PInvoke and Useful Examples | 809 |
| Pt. VII | Advanced Topics | |
| 20 | Custom Marshaling | 879 |
| 21 | Manually Defining COM Types in Source Code | 957 |
| 22 | Using APIs Instead of SDK Tools | 1039 |
| Pt. VIII | Comprehensive Examples | |
| 23 | Writing a .NET Arcade Game Using DirectX | 1105 |
| 24 | Writing .NET Visualizations For Windows Media Player | 1195 |
| Pt. IX | Appendices | |
| A | System.Runtime.InteropServices Reference | 1249 |
| B | SDK Tools Reference | 1375 |
| C | HRESULT to .NET Exception Transformations | 1399 |
| D | .NET Exception to HRESULT Transformations | 1415 |
| E | PInvoke Definitions for Win32 Functions | 1431 |
| F: Glossary | 1487 |
| Index | 1497 |