|Important||This document may not represent best practices for current development, links to downloads and other resources may no longer be valid. Current recommended version can be found here. ArchiveDisclaimer|
Application Domains and Visual C++
If you have a __clrcall virtual function, the vtable will be per application domain (appdomain). If you create an object in one appdomain, you can only call the virtual function from within that appdomain. All functions defined in /clr:pure compilands use the __clrcall calling convention. Therefore, all vtables defined in /clr:pure compilands are per appdomain. In mixed mode (/clr) you will have per process vtables if your type has no __clrcall virtual functions.
For more information, see