| Class | Description |
| AutomationProxyAttribute | Specifies whether the type should be marshaled using the Automation marshaler or a custom proxy and stub. |
| BestFitMappingAttribute | Controls whether Unicode characters are converted to the closest matching ANSI characters. |
| ClassInterfaceAttribute | Indicates the type of class interface to be generated for a class exposed to COM, if an interface is generated at all. |
| CoClassAttribute | Specifies the class identifier of a coclass imported from a type library. |
| ComAliasNameAttribute | Indicates the COM alias for a parameter or field type. |
| ComCompatibleVersionAttribute | Indicates to a COM client that all classes in the current version of an assembly are compatible with classes in an earlier version of the assembly. |
| ComConversionLossAttribute | Indicates that information was lost about a class or interface when it was imported from a type library to an assembly. |
| ComEventInterfaceAttribute | Identifies the source interface and the class that implements the methods of the event interface that is generated when a coclass is imported from a COM type library. |
| COMException | The exception that is thrown when an unrecognized HRESULT is returned from a COM method call. |
| ComImportAttribute | Indicates that the attributed type was previously defined in COM. |
| ComRegisterFunctionAttribute | Specifies the method to call when you register an assembly for use from COM; this allows for the execution of user-written code during the registration process. |
| ComSourceInterfacesAttribute | Identifies a list of interfaces that are exposed as COM event sources for the attributed class. |
| ComUnregisterFunctionAttribute | Specifies the method to call when you unregister an assembly for use from COM; this allows for the execution of user-written code during the unregistration process. |
| ComVisibleAttribute | Controls accessibility of an individual managed type or member, or of all types within an assembly, to COM. |
| CurrencyWrapper | Wraps objects the marshaler should marshal as a VT_CY. |
| DispatchWrapper | Wraps objects the marshaler should marshal as a VT_DISPATCH. |
| DispIdAttribute | Specifies the COM dispatch identifier (DISPID) of a method, field, or property. |
| DllImportAttribute | Indicates that the attributed method is exposed by an unmanaged dynamic-link library (DLL) as a static entry point. |
| ErrorWrapper | Wraps objects the marshaler should marshal as a VT_ERROR. |
| ExtensibleClassFactory | Enables customization of managed objects that extend from unmanaged objects during creation. |
| ExternalException | The base exception type for all COM interop exceptions and structured exception handling (SEH) exceptions. |
| FieldOffsetAttribute | Indicates the physical position of fields within the unmanaged representation of a class or structure. |
| GuidAttribute | Supplies an explicit System.Guid when an automatic GUID is undesirable. |
| IDispatchImplAttribute | Indicates which IDispatch implementation the common language runtime uses when exposing dual interfaces and dispinterfaces to COM. |
| ImportedFromTypeLibAttribute | Indicates that the types defined within an assembly were originally defined in a type library. |
| InAttribute | Indicates that data should be marshaled from the caller to the callee, but not back to the caller. |
| InterfaceTypeAttribute | Indicates whether a managed interface is dual, dispatch-only, or IUnknown-only when exposed to COM. |
| InvalidComObjectException | The exception thrown when an invalid COM object is used. |
| InvalidOleVariantTypeException | The exception thrown by the marshaler when it encounters an argument of a variant type that can not be marshaled to managed code. |
| LCIDConversionAttribute | Indicates that a method's unmanaged signature expects a locale identifier (LCID) parameter. |
| Marshal | Provides a collection of methods for allocating unmanaged memory, copying unmanaged memory blocks, and converting managed to unmanaged types, as well as other miscellaneous methods used when interacting with unmanaged code. |
| MarshalAsAttribute | Indicates how to marshal the data between managed and unmanaged code. |
| MarshalDirectiveException | The exception that is thrown by the marshaler when it encounters a MarshalAsAttribute it does not support. |
| OptionalAttribute | Indicates that a parameter is optional. |
| OutAttribute | Indicates that data should be marshaled from callee back to caller. |
| PreserveSigAttribute | Indicates that the HRESULT or retval signature transformation that takes place during COM interop calls should be suppressed. |
| PrimaryInteropAssemblyAttribute | Indicates that the attributed assembly is a primary interop assembly. |
| ProgIdAttribute | Allows the user to specify the ProgID of a class. |
| RegistrationServices | Provides a set of services for registering and unregistering managed assemblies for use from COM. |
| RuntimeEnvironment | Provides a collection of static (Shared in Visual Basic) methods that return information about the common language runtime environment. |
| SafeArrayRankMismatchException | The exception thrown when the rank of an incoming SAFEARRAY does not match the rank specified in the managed signature. |
| SafeArrayTypeMismatchException | The exception thrown when the type of the incoming SAFEARRAY does not match the type specified in the managed signature. |
| SEHException | Represents Structured Exception Handler (SEH) errors. |
| StructLayoutAttribute | The StructLayoutAttribute class allows the user to control the physical layout of the data fields of a class or structure. |
| TypeLibConverter | Provides a set of services that convert a managed assembly to a COM type library and vice versa. |
| TypeLibFuncAttribute | Contains the FUNCFLAGS that were originally imported for this method from the COM type library. |
| TypeLibTypeAttribute | Contains the TYPEFLAGS that were originally imported for this type from the COM type library. |
| TypeLibVarAttribute | Contains the VARFLAGS that were originally imported for this field from the COM type library. |
| TypeLibVersionAttribute | Specifies the version number of an exported type library. |
| UnknownWrapper | Wraps objects the marshaler should marshal as a VT_UNKNOWN. |