IIS7版本获取的问题
双刃剑客 2010-08-30 09:22:39 通过IADs的Get接口获取IIS的版本信息。
BOOL CIisManager::GetIisVersion(int& iMajor, int& iMinor)
{
CComPtr<IADsContainer> cpCont;
HRESULT hr = ADsGetObject(L"IIS://localhost/w3svc/INFO",
IID_IADsContainer, (void**)&cpCont);
if (FAILED(hr))
{
m_strErrMsg = GetErrorMessage(hr);
return FALSE;
}
CComPtr<IADs> cpAds;
hr = cpCont->QueryInterface(&cpAds);
if (FAILED(hr))
{
m_strErrMsg = GetErrorMessage(hr);
return FALSE;
}
CComVariant cvVer;
hr = cpAds->Get(CComBSTR("MajorIIsVersionNumber"), &cvVer);
if (FAILED(hr))
{
m_strErrMsg = GetErrorMessage(hr);
return FALSE;
}
if (VT_NULL != cvVer.vt && VT_EMPTY != cvVer.vt)
{
iMajor = cvVer.lVal;
}
cvVer.Clear();
hr = cpAds->Get(CComBSTR("MinorIIsVersionNumber"), &cvVer);
if (FAILED(hr))
{
m_strErrMsg = GetErrorMessage(hr);
return FALSE;
}
if (VT_NULL != cvVer.vt && VT_EMPTY != cvVer.vt)
{
iMinor = cvVer.lVal;
}
return TRUE;
}
MajorIIsVersionNumber 需要在Server2003的操作系统以上。
那Windows2 000用什么来获取版本信息呢?
MajorIIsVersionNumber 是从metabase来获取到IIS版本的信息。但WIN2008的IIS7.0,信息已经从Metabase迁移到了
XML文件。IIS7如何得到版本信息呢?