マネージドコード(CLR)を呼び出す
0x1 はじめに
C(++)からマネージドコード(CLR)を呼び出す手法を示す.
0x2 ソースコード
- clr.cpp
- test.cs
0x3 実行
csc /target:library .\test.cs
0x4 備考
ここからメイン(?)
GUID
- CLSID_CLRMetaHost : {9280188D-0E8E-4867-B30C-7FA83884E8DE}
- IID_ICLRMetaHost : {D332DB9E-B9B3-4125-8207-A14884F53216}
- IID_ICLRRuntimeInfo : {BD39D1D2-BA2F-486A-89B0-B4B0CB466891}
- CLSID_CLRRuntimeHost : {90F1A06E-7712-4762-86B5-7A5EBA6BDB02}
- IID_ICLRRuntimeHost : {90F1A06C-7712-4762-86B5-7A5EBA6BDB02}
ppv
- pMetaHost->GetRuntime : [edx+0Ch]
- pRuntimeInfo->GetInterface : [edx+24h]
- pRuntimeHost->Start : [ecx+0Ch]
- pRuntimeHost->ExecuteInDefaultAppDomain : [edx+2Ch]