Guidance for Implementing In-Process Extensions - Win32 apps | Microsoft Docs
In-process extensions are loaded into any processes that trigger/invoke them.
The Shell namespace is used by many Shell operations.
extension & host application (process).
common language runtime (CLR) = .NET Framework = managed code.
runtimes: CLR, Java, Visual Basic, JavaScript/ECMAScript, Delphi, and the C/C++.
Version Conflicts
in-process/out-of-process extension.
application may have (shell) managed-code/extension/managed-extension.
when application has managed code, could call it managed application.
managed code and its attendant CLR dependency.
process of application.
Performance Issues
performance penalty: memory usage, CPU usage, elapsed time, or even address space consumption
high-impact runtime
Acceptable Uses of Managed Code and Other Runtimes
Acceptable Uses of (extension) Managed Code and Other Runtimes
always acceptable (to use managed code and other runtimes) when implement out-of-process extensions.