以下是我的代码:
void CTestiisDlg::OnButton3() 
{
IADsContainer* iContainer;
IADs* iAds;
if(ADsGetObject(L"IIS://localhost/W3SVC",IID_IADsContainer,(void**)&iContainer)==S_OK)
{
iContainer->GetObject(_bstr_t("IIsWebServer"),_bstr_t("1"),(IDispatch**)&iAds);
if(iAds->QueryInterface(IID_IADsContainer,(void**)&iContainer)==S_OK)
{
iContainer->GetObject(_bstr_t("IIsWebVirtualDir"),_bstr_t("Root/TestWeb"),(IDispatch**)&iAds);
if(iAds->QueryInterface(IID_IADsContainer,(void**)&iContainer)==S_OK)
{
iContainer->GetObject(_bstr_t("IIsWebDirector"), _bstr_t("Dir1"),(IDispatch**)&iAds);
if(iAds->QueryInterface(IID_IADsContainer,(void**)&iContainer)==S_OK)
{
iAds->Put(_bstr_t("AccessRead"),_variant_t("True"));
iAds->Put(_bstr_t("AccessWrite"),_variant_t("False"));
iAds->Put(_bstr_t("AllowAnonymous"),_variant_t("False"));
iAds->Put(_bstr_t("AuthAnonymous"),_variant_t("False"));
iAds->Put(_bstr_t("AuthNTLM"),_variant_t("True"));
iAds->SetInfo();
iAds->Release();
iAds->Release();
iContainer->Release();
iContainer->Release();
MessageBox("OK");
return ;
}
else
{
iAds->Release();
iAds->Release();
iContainer->Release();
iContainer->Release();
MessageBox("Error");
return ;
}
}
else
{
iAds->Release();
iContainer->Release();
}
}
else
{
iAds->Release();
}
iContainer->Release();
}
MessageBox("Error");
return ;
}总是在iContainer->GetObject(_bstr_t("IIsWebDirector"), _bstr_t("Dir1"),(IDispatch**)&iAds);附近出错,此操作对WebVirtualDir就没有问题,这是为什么?