c++ 建立虛擬站點 (轉)
BOOL FO_CreateVirtualSite(LPCTSTR lpszVirtualDirName,LPCTSTR lpszDiskPath,LPCTSTR lpszSitePath)
{
IADntainer* iContainer;
IADs* iAds;
/* 獲得Sever */
if(ADsGet(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.,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; //D型別
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)
{
////建立新站點目錄
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;
}
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752043/viewspace-991801/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- C++中的虛擬函式與虛擬函式表 (轉)C++函式
- C++虛擬函式解析(轉載)C++函式
- 在C++程式碼中建立Java虛擬機器。C++Java虛擬機
- C++ 虛擬函式C++函式
- C++虛擬函式C++函式
- 如何使用 JavaScript 程式碼建立虛擬滑鼠點選事件JavaScript事件
- C++虛擬函式與多型實戰 (轉)C++函式多型
- c++虛擬函式表C++函式
- C++虛擬函式bugC++函式
- 講解VPN配置中關於虛擬站點屬性
- 我對C++中虛擬函式、純虛擬函式在實現多型中作用的一點淺薄認識 (轉)C++函式多型
- 建立python虛擬環境Python
- 建立 Python 虛擬環境Python
- 建立新的虛擬機器虛擬機
- anaconda建立虛擬環境
- window 建立py虛擬環境
- C++多型(上)——虛擬函式、虛表C++多型函式
- C++中抽象類、虛擬函式和純虛擬函式C++抽象函式
- js獲取網站根路徑(站點及虛擬目錄),獲得網站的根目錄或虛擬目錄的根地址JS網站
- iis 在站點中新建虛擬目錄站點之後,虛擬目錄中的 web.config 與 主站點中的 web.config衝突解決方案...Web
- C++ 介面(純虛擬函式)C++函式
- C++ 中的虛擬函式C++函式
- C++ 虛擬函式表剖析C++函式
- C++ 虛擬函式表解析C++函式
- 虛擬塊硬碟,新增點swap分割槽空間(轉)硬碟
- 【C++筆記】虛擬函式(從虛擬函式表來解析)C++筆記函式
- 【C++筆記】虛擬函式(從虛擬函式概念來解析)C++筆記函式
- C++Builder使用ADSI建立web站點 (轉)C++UIWeb
- 如何建立虛擬機器上建立 Cluster 共享磁碟虛擬機
- 使用 Cockpit 建立虛擬機器KPI虛擬機
- 利用 VModule webpack plugin 建立虛擬模組WebPlugin
- 建立Python虛擬環境——下Python
- VMware Workstation Pro建立虛擬機器虛擬機
- kvm純命令建立虛擬機器虛擬機
- Azure xplate cli建立虛擬機器虛擬機
- C++ 虛擬函式和虛繼承淺析C++函式繼承
- 【虛擬函式】C++中虛擬函式的作用是什麼?它應該怎麼用呢?[轉]函式C++
- 虛擬化技術之kvm虛擬機器建立工具qemu-kvm虛擬機