BOOL CreateFtpVirtualDirection(LPCTSTR index,LPCTSTR lpszVirtualDirName,LPCTSTR lpszDiskPath)
{
::CoInitialize(NULL); //初始化COM组件
IADsContainer* iContainer;
IADs* iAds;
if(ADsGetObject(L"IIS://localhost/MSFTPSVC",IID_IADsContainer,(void**)&iContainer)==S_OK)
{
//得到站点
iContainer->GetObject(_bstr_t("IIsFtpServer"), _bstr_t(index),(IDispatch**)&iAds);
if(iAds->QueryInterface(IID_IADsContainer,(void**)&iContainer)==S_OK)
{
//得到站点的根目录
iContainer->GetObject(_bstr_t("IIsFtpVirtualDir"),_bstr_t("Root"),(IDispatch**)&iAds);
iAds->Put(_bstr_t("Path"),_variant_t(lpszDiskPath));
//获得访问虚拟目录
if(iAds->QueryInterface(IID_IADsContainer,(void**)&iContainer)==S_OK)
{
//先删除了虚拟目录
iContainer->Delete(_bstr_t("IIsFtpVirtualDir"), _bstr_t(lpszVirtualDirName));
//建立虚拟目录
if(iContainer->Create(_bstr_t("IIsFtpVirtualDir"), _bstr_t(lpszVirtualDirName),(IDispatch**)&iAds)==S_OK)
{
//设置虚拟目录的属性
iAds->Put(_bstr_t("AccessRead"),_variant_t("True"));//注意跟VB中的设置属性比较
iAds->Put(_bstr_t("AccessWrite"),_variant_t("True"));
iAds->Put(_bstr_t("Path"),_variant_t(lpszDiskPath));
iAds->Put(L"AllowAnonymous",_variant_t(true));
iAds->SetInfo();
iAds->Release();
iContainer->Release();
return TRUE;
}
else
{
iAds->Release();
iContainer->Release();
return FALSE;
}
}
else
{
iAds->Release();
iContainer->Release();
}
}
else
{
iAds->Release();
}
iContainer->Release();
}
::CoUninitialize(); //结束COM调用
return FALSE;
}
创建Ftp虚拟目录
最新推荐文章于 2022-12-30 00:15:35 发布