• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

c++ 建立虚拟站点

发布: 2007-7-01 20:40 | 作者: admin | 来源: | 查看: 15次 | 进入软件测试论坛讨论

领测软件测试网

BOOL FO_CreateVirtualSite(LPCTSTR lpszVirtualDirName,LPCTSTR lpszDiskPath,LPCTSTR lpszSitePath)
{
 IADsContainer* iContainer;
 IADs* iAds;
 /* 获得WebSever */
 if(ADsGetObject(L"IIS://localhost/",IID_IADsContainer,(void**)&iContainer)==S_OK)
 {
 // LONG g=0;
 // iContainer->get__NewEnum
// iContainer->get_Count(&g);

//此处是可以通过枚举的方式获得。此处没有具体实现所以本例只能建立一个站点。
  LONG i =20;
  char c[10];
  ZeroMemory((PVOID)c,10);
  itoa(i,c,10);
  //建立虚拟站点
  if(iContainer->Create(L"IIsWebServer", _bstr_t(c),(IDispatch**)&iAds)==S_OK)
  {
   //设置虚拟站点的属性
   VARIANT var;
   VariantInit(&var);
 
   V_BSTR(&var) = SysAllocString(_bstr_t(lpszDiskPath));
   V_VT(&var) = VT_BSTR;
   iAds->Put(L"ServerComment", var); //设置站点名
   VariantClear(&var);
   
   V_BSTR(&var) = SysAllocString(L":9999:");
   V_VT(&var) = VT_BSTR;
   iAds->Put(L"Serverbindings", var); //  //设置站点端口号
   VariantClear(&var);
   
   V_BSTR(&var) = SysAllocString(L"default.asp,index.asp,default.htm,index.htm");
   V_VT(&var) = VT_BSTR;
   iAds->Put(L"DefaultDoc", var);//设置默认启动文件
   VariantClear(&var);
   
   V_BSTR(&var) = SysAllocString(L"True");
   V_VT(&var) = VT_BOOL;
   
   iAds->Put(L"AccessScript", var); // 设置读取权限
   iAds->Put(L"AccessRead",var);  
   iAds->Put(L"AccessWrite",var);
  
   VariantClear(&var);
  
   V_UI4(&var) = 1;  //DWORD类型
   V_VT(&var) = VT_UI4;
   iAds->Put(L"ServerAutoStart", var);//
   VariantClear(&var);
   
   iAds->SetInfo();
   
   if(ADsGetObject(L"IIS://localhost/w3svc",IID_IADsContainer,(void**)&iContainer)==S_OK)
   {
    if (iContainer->GetObject(L"IIsWebServer", _bstr_t(c),(IDispatch**)&iAds)==S_OK)
    {
     if(iAds->QueryInterface(IID_IADsContainer,(void**)&iContainer)==S_OK)
     {
      ////创建新站点root目录 
      if(iContainer->Create(L"IIsWebVirtualDir", L"Root",(IDispatch**)&iAds) == S_OK)
      {
       //设置新站点的根目录
       V_BSTR(&var) = SysAllocString(_bstr_t(lpszSitePath));
       V_VT(&var) = VT_BSTR;
       iAds->Put(L"AppCreate", var);
       iAds->Put(L"Path",var);
      }
     }
    }
   }  
   iAds->SetInfo();
   //打扫卫生
   iAds->Release();
   iContainer->Release();
   iContainer->Release();
   return TRUE;
  }
  else
  {
   //同上,不过没利索
   iContainer->Release();
   return FALSE;
  }
  //同同上
  iContainer->Release();
 }
 return FALSE;
}


延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网