争怎路由网:是一个主要分享无线路由器安装设置经验的网站,汇总WiFi常见问题的解决方法。

.Net平台下CLR程序载入原理区分

时间:2024/7/8作者:未知来源:争怎路由网人气:

(argc == 3))
{
cerr << "Usage: " << argv[0] << " <Assembly Name> <Class Name> <Main
Function Name> <Parameters>" << endl;
}
else
{
spUnk = NULL;
CHECK(spHost->GetDefaultDomain(&spUnk));
spAppDomain = spUnk; spUnk = NULL;

_bstr_t bstrAssemblyName(argv[1]);
if(argc == 2)
{
CHECK(spAppDomain->ExecuteAssembly(bstrAssemblyName, NULL));
}
else
{
_bstr_t bstrClassName(argv[2]),
bstrMainFuncName(argv[3]);

_ObjectHandlePtr spObj =
spAppDomain->CreateInstance(bstrAssemblyName, bstrClassName);
CComPtr<IDispatch> spDisp = spObj->Unwrap().pdispVal;

DISPID dispid;
LPOLESTR rgszName = bstrMainFuncName;
DISPPARAMS dispparamsArgs = {NULL, NULL, 0, 0};

int ArgCount = argc-4;
if(ArgCount > 0)
{
dispparamsArgs.cArgs = ArgCount;
dispparamsArgs.rgvarg = new VARIANTARG[ArgCount];
VARIANTARG *pArgs = dispparamsArgs.rgvarg;
for(int i=0; i<ArgCount; i++)
{
VariantInit(&pArgs[i]);
pArgs[i].vt = VT_BSTR;
pArgs[i].bstrVal = _bstr_t(argv[4+i]);
}
}

CHECK(spDisp->GetIDsOfNames(IID_NULL, &rgszName, 1,
LOCALE_SYSTEM_DEFAULT, &dispid));
CHECK(spDisp->Invoke(dispid, IID_NULL, LOCALE_SYSTEM_DEFAULT,
DISPATCH_METHOD,
&dispparamsArgs, NULL, NULL, NULL));
delete[] dispparamsArgs.rgvarg;
}
}

CHECK(spHost->Stop());

return 0;
}
&n

关键词:.Net平台下CLR程序载入原理区分




Copyright © 2012-2018 争怎路由网(http://www.zhengzen.com) .All Rights Reserved 网站地图 友情链接

免责声明:本站资源均来自互联网收集 如有侵犯到您利益的地方请及时联系管理删除,敬请见谅!

QQ:1006262270   邮箱:kfyvi376850063@126.com   手机版