The .NET runtime supports bidirectional interop with unmanaged code via COM, COM+, and native Win32 API calls. The FCL provides a set of classes and attributes that support this, including precise control of managed object lifetime, and the option of creating user -defined custom marshallers to handle specific interop situations (see Chapter 17 and Chapter 18). For more information, see the following namespaces: System.Runtime.InteropServices System.Runtime.InteropServices.CustomMarshalers System.Runtime.InteropServices.Expando An important related type in another namespace is System.Buffer . |