Understanding PInvoke
- What is PInvoke?
- Manipulating DllImportAttribute
- Dissecting a C style DLL
- Accessing function exports
- Accessing class exports
- Interacting with the Win32 API
- The Marshal type
The COM Type System
- [oleautomation] data types
- COM interface options
- COM coclasses, enums and structs
- Reading COM types programmatically
- ITypeLib, ITypeInfo
- Reading COM type information using C#
- Simulating COM interfaces under .NET
The .NET Type System
- Base class data types
- The anatomy of a .NET assembly
- .NET classes, interfaces, enums and structs
- Reading .NET types programmatically
- System.Reflection
|
|
.NET to COM Interoperability (RCW)
- Building interop assemblies
- Transforming coclases and interfaces
- Transforming COM enums and structures
- Interacting with COM late binding
- Interacting with COM SAFEARRAYs
- Interacting with COM VARIANTs
- Interacting with COM collections (IEnumVARIANT)
- Critical COM to .NET translation rules.
COM to .NET Interoperability (CCW)
- Generating COM type libraries
- Registering .NET assemblies for use with COM
- Deploying .NET assemblies for use with COM
- Understanding the
- Exposing .NET classes and interfaces to COM
- Exposing .NET enums and structures to COM
- Exposing .NET delegates to COM
- Exposing .NET collections to COM (IEnumerable)
- Accessing .NET types ala C++, VB 6.0 and VBScript
- Critical .NET to COM translation rules.
Building COM+ Aware .NET Types
- Understanding component services
- System.EnterpriseServices
- Programmatically generating COM+ Applications
- Lazy Registration (pros and cons)
- Programming for JITA
- Programming for COM+ transactions
- Working with Role Based Security
- Leveraging LCE from .NET
|