创建Ftp虚拟目录

本文介绍如何使用COM组件创建FTP虚拟目录的过程,包括初始化、获取站点、操作虚拟目录等步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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;  
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值