.NET Glossary

Top  Previous  Next

The following terms are defined by MSDN, and are duplicated here for your convenience:

 

AppDomain (Application Domain)

An application domain can be considered similar to a lightweight OS process, and is managed by the common language runtime.

 

CCW (COM callable wrapper)

A special kind of wrapper created by the CLR interop layer around managed objects activated from COM code. A CCW hides differences between managed and COM object models by providing data marshaling, lifetime management, identity management, error handling, correct apartment and threading transitions, and so forth. CCWs expose managed object functionality in a COM-friendly manner without requiring the managed code implementer to know anything about COM plumbing.

 

CLR

The common language runtime.

 

COM interop

The service provided by the CLR interop layer for using COM APIs from managed code, or exposing managed APIs as COM APIs to unmanaged clients. COM interop is available in all managed languages.

 

C++ interop

The service provided by the C++ language compiler and the CLR, it is used for directly mixing managed and unmanaged code in the same executable file. C++ interop usually involves including header files in unmanaged APIs and following certain coding rules.

 

Complex flat API

APIs that have signatures that are hard to declare in managed language. For example, methods with variable size structure parameters are hard to declare since there is no equivalent concept in the managed type system.

 

Interop

The general term that covers any type of interoperability between managed and unmanaged (also called "native") code. Interop is one of many services provided by the CLR.

 

Interop assembly

A special type of managed assembly that contains managed type equivalents for COM types contained in a type library. Typically produced by running the Type Library Importer tool (Tlbimp.exe) on a type library.

 

Managed code

Code executing under the control of the CLR is called managed code. For example, any code written in C# or Visual Basic .NET is managed code.

 

Platform Invoke

The service provided by the CLR interop layer for calling unmanaged flat APIs from managed code. Platform invoke is available in all managed languages.

 

RCW (runtime callable wrapper)

A special kind of wrapper created by the CLR interop layer around COM objects that are activated from managed code. An RCW hides differences between managed and COM object models by providing data marshaling, lifetime management, identity management, error handling, correct apartment and threading transitions, and so forth.

 

Unmanaged code

Code that runs outside the CLR is referred to as "unmanaged code." COM components, ActiveX components, and Win32 API functions are examples of unmanaged code.