Hosting Interfaces for the .NET Framework 2.0

This section describes the interfaces that unmanaged hosts can use to integrate the common language runtime (CLR) in the .NET Framework version 2.0 into their applications. The version 2.0 interfaces allow the host to control many more aspects of the runtime than was possible in versions 1.0 and 1.1, thus providing the capability for much tighter integration between the CLR and the host's execution model.

In the .NET Framework version 1, the hosting model allowed an unmanaged host to load the CLR into a process, to configure certain settings, and to receive event notifications. However, in general, the host and the CLR ran independently in that process. The .NET Framework 2.0 provides new layers of abstraction that let the host provide many of the resources that are currently provided by the types in the Win32 assembly, and extends the set of capabilities that the host can configure.

In This Section

  • ICatalogServices Interface
    Provides methods for cataloging services. (This interface supports the .NET Framework infrastructure and is not intended to be used directly from your code.)
  • ICLRControl Interface
    Provides methods for the host to gain access to, and configure various aspects of, the CLR.
  • ICLRDebugManager Interface
    Provides methods that allow a host to associate a set of tasks with an identifier and a friendly name.
  • ICLRPolicyManager Interface
    Provides methods that allow the host to specify policy actions to be taken in the event of failures and timeouts.
  • ICLRProbingAssemblyEnum Interface
    Provides methods that enable the host to get the probing identities of an assembly by using the assembly's identity information that is internal to the CLR, without needing to create or understand that identity.
  • ICLRReferenceAssemblyEnum Interface
    Provides methods that allow the host to manipulate the set of assemblies referenced by a file or stream using assembly identity data that is internal to the CLR, without needing to create or understand those identities.
  • ICLRSyncManager Interface
    Provides methods for the host to get information about requested tasks and to detect deadlocks in its synchronization implementation.
  • ICLRTask Interface
    Provides methods that allow the host to make requests of the CLR, or to provide notification to the CLR about the associated task.
  • ICLRTaskManager Interface
    Provides methods that allow the host to request explicitly that the CLR create a new task, get the currently executing task, and set the geographic language and culture for the task.
  • ICLRValidator Interface
    Provides methods for validating portable executable (PE) images and reporting validation errors.
  • IGCHost Interface
    Provides methods for obtaining information about the garbage collection system and for controlling some aspects of garbage collection.
  • IGCHostControl Interface
    Provides a method that allows the garbage collector to request the host to change the limits of virtual memory.
  • IGCThreadControl Interface
    Provides methods for participating in the scheduling of threads that would otherwise be blocked for garbage collection.
  • IHostControl Interface
    Provides methods for configuring the loading of assemblies, and for determining which hosting interfaces the host supports.
  • IHostGCManager Interface
    Provides methods that notify the host of events in the garbage collection mechanism implemented by the CLR.
  • IHostMAlloc Interface
    Provides methods for the CLR to request fine-grained allocations from the heap through the host.
  • IHostMemoryManager Interface
    Provides methods for the CLR to make virtual memory requests through the host, instead of using the standard Win32 virtual memory functions.
  • IHostPolicyManager Interface
    Provides methods that notify the host of the actions the CLR performs in case of aborts, timeouts, or failures.
  • IHostSyncManager Interface
    Provides methods for the CLR to create synchronization primitives by calling the host, instead of using the Win32 synchronization functions.
  • IHostTask Interface
    Provides methods that allow the CLR to communicate with the host to manage tasks.
  • IHostTaskManager Interface
    Provides methods that allow the CLR to work with tasks through the host instead of using the standard operating system threading or fiber functions.
  • ITypeName Interface
    Provides methods for obtaining type name information. (This interface supports the .NET Framework infrastructure and is not intended to be used directly from your code.)
  • ITypeNameBuilder Interface
    Provides methods for building a type name. (This interface supports the .NET Framework infrastructure and is not intended to be used directly from your code.)
  • ITypeNameFactory Interface
    Provides methods for deconstructing a type name. (This interface supports the .NET Framework infrastructure and is not intended to be used directly from your code.)
  • IValidator Interface
    Provides methods for validating portable executable (PE) images and reporting validation errors.

See Also

Concepts

Runtime Hosts

Other Resources

Hosting the Common Language Runtime