|
CLR(COM服務(wù)器)
CLR作為一個COM服務(wù)器實(shí)現(xiàn)在MSCorWks.dll文件中。安裝.NET Framework時,表示CLR的COM服務(wù)器被注冊到Windows的注冊表里。
MSCorEE.dll(墊片)
MSCorEE.dll的職責(zé)是判斷創(chuàng)建何種版本的CLR。 非托管應(yīng)用程序宿主調(diào)用MSCorEE.dll(shim)中CorBindToRuntimeEx函數(shù)或者另一個相似的函數(shù)來創(chuàng)建CLR COM的實(shí)例。
一臺機(jī)器可以安裝多個版本的CLR,但在機(jī)器中只有一個版本的MSCorEE.dll文件。以上兩者之間的關(guān)系如下代碼所示(c++):MSCorEE.dll(墊片)---->CLR(COM服務(wù)器)
#include <Windows.h>#include <MSCorEE.h>
#include <stdio.h>
#pragma comment(lib,"mscoree.lib")
int main(int argc, CHAR* argv[])
{
ICLRRuntimeHost *pClrHost;
//調(diào)用<MSCorEE.h>中的CorBindToRuntimeEx()生成COM服務(wù)器
HRESULT hr= CorBindToRuntimeEx(NULL, NULL, NULL, CLSID_CLRRuntimeHost, IID_ICLRRuntimeHost, (LPVOID*)&pClrHost);
//啟動clr
pClrHost->Start();
//............................其他操作
//終止clr
pClrHost->Stop();
getchar();
return 0;
}
NET技術(shù):關(guān)于ASP.NET與CLR相互關(guān)系的一些總結(jié),轉(zhuǎn)載需保留來源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。