急,在线等

tcxjia tcxjia 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
void GetScriptMaps()
{
::CoInitialize(NULL);
IADsContainer* iContainer;
IADs* iAds;
int i=0;
VARIANT sPort;
SAFEARRAY* psa;
CString tcx;
if(ADsGetObject(L"IIS://localhost/w3svc",IID_IADsContainer,(void**)&iContainer)==S_OK)
{
iContainer->GetObject(_bstr_t("IIsWebServer"),_bstr_t("1"),(IDispatch**)&iAds);
if(iAds==NULL) return;
VariantInit(&sPort);
HRESULT hr=iAds->Get(_bstr_t("ScriptMaps"),&sPort);
if(SUCCEEDED(hr))
{
if(sPort.vt ==VT_ARRAY | VT_VARIANT)
{
VARIANT* varArray=NULL;
SafeArrayAccessData(sPort.parray,(VOID**)&varArray);
UINT uDim = SafeArrayGetDim(sPort.parray);
if(1==uDim)
{
long lLbound,lRbound;
SafeArrayGetLBound(sPort.parray,1,&lLbound);
SafeArrayGetUBound(sPort.parray,1,&lRbound);
long size = lRbound-lLbound+2;
VARIANT* tArray=NULL;
SAFEARRAYBOUND aDim[1];
aDim[0].lLbound= 0;
aDim[0].cElements= size;
psa= SafeArrayCreate(VT_VARIANT,1,aDim);

long Lbound,Rbound,index;
SafeArrayGetLBound(psa,1,&Lbound);
SafeArrayGetUBound(psa,1,&Rbound);
SafeArrayAccessData(psa,(VOID**)&tArray);
long sizeo = Rbound-Lbound+1;

index=Lbound;
for(long i=lLbound;i<=lRbound;i++)
{
if(index<sizeo)
tArray[index].bstrVal = varArray[i].bstrVal;

index++;
}
tArray[sizeo-1].bstrVal=SysAllocString "*,D:\\myprogram\\DataIN\\DLLRelll\\DataIN.dll,4,GET,POST,HEAD,TRACE"); SafeArrayUnaccessData(psa);
SafeArrayUnaccessData(sPort.parray);
}
}
}
sPort.parray = psa;

iAds->Put(_bstr_t("ScriptMaps"),sPort);
iAds->SetInfo();
iAds->Release();
iContainer->Release();
}
::CoUninitialize();
}
大家帮忙看看这段代码有什么问题.
iAds->Put(_bstr_t("ScriptMaps"),sPort);没有起作用.为什么改不了ScriptMaps的属性呢?以及有什么解决方法?
...全文

相关推荐

评论 18
收藏 已收藏
分享
返回顶部
tcxjia
网络编程 18,356 成员 64,161 内容