有那位高手指教一下!怎么使用adsi读取web站点的端口号。我有一段程序其它信息都可以读出来,为什么只有端口号取不出来》》》》》

wxlzm 2003-08-22 05:05:31
if(ADsGetObject(L"IIS://localhost/w3svc",IID_IADsContainer,(void**)&iContainer)==S_OK) {
//得到默认站点
memset(s,0,5);
intToStr(s,i);

iContainer->GetObject(_bstr_t("IIsWebServer"), _bstr_t(s)(IDispatch**&iAds);
if(iAds==NULL) return 0;
iAds->Get(L"ServerComment",&SC);
strcpy(ServerComment,(LPCTSTR)(_bstr_t)SC);
VariantInit(&sPort);
iAds->Get(L"ServerBindings",&sPort);
iAds->Get(L"ServerState",&state);
istate=state.intVal;

memset(temp,0,200);
strcpy(temp,(LPCTSTR)(_bstr_t)SC);
lvI.pszText=temp;
m_ListCtrl.InsertItem(&lvI);
if(iAds->QueryInterface(IID_IADsContainer,(void**)&iContainer)==S_OK){

iContainer->GetObject(_bstr_t("IIsWebVirtualDir"),_bstr_t("Root"),(IDispatch**)&iAds);
//获得访问虚拟目录的路径
iAds->Get(L"Path",&path);
strcpy(dirName,(LPCTSTR)(_bstr_t)path);
...全文
39 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
masterz 2003-08-23
  • 打赏
  • 举报
回复
#include <Iads.h>
#include <Adshlp.h>
#include <activeds.h>
#pragma comment(lib,"ActiveDS.lib")
#pragma comment(lib,"adsiid.lib")
#include "comdef.h"
#include <comutil.h>

void CGetIisportView::OnGetport()
{
IADsContainer* iContainer;
IADs* iAds;
VARIANT SC;
char s[5];
int i=0;
char dirName[MAX_PATH];
VARIANT path , state, sPort;
if(ADsGetObject(L"IIS://localhost/w3svc",IID_IADsContainer,(void**)&iContainer)==S_OK) {
//得到默认站点
iContainer->GetObject(_bstr_t("IIsWebServer"), _bstr_t("1"),(IDispatch**)&iAds);
if(iAds==NULL) return ;
VariantInit(&sPort);
HRESULT hr=iAds->Get(_bstr_t("Serverbindings"),&sPort);
if(SUCCEEDED(hr))
{
if(sPort.vt ==VT_ARRAY|VT_VARIANT)
{
SAFEARRAY* psa = sPort.parray;
VARIANT* varArray=NULL;
SafeArrayAccessData(psa,(VOID**)&varArray);
UINT uDim = SafeArrayGetDim(psa);
if(1==uDim)
{
long lLbound,lRbound;
SafeArrayGetLBound(psa,1,&lLbound);
SafeArrayGetUBound(psa,1,&lRbound);
for(long i=lLbound;i<=lRbound;i++)
{
if(varArray[i].vt==VT_BSTR)
{
_bstr_t bstmp(varArray[i].bstrVal,true);
AfxMessageBox((LPCTSTR)bstmp);
}
}
SafeArrayUnaccessData(psa);
}
}
}
iAds->Release();
}
}
wxlzm 2003-08-23
  • 打赏
  • 举报
回复
高手,真的谢谢了!分一会给您!
wxlzm 2003-08-22
  • 打赏
  • 举报
回复
各位:iAds->Get(L"ServerBindings",&sPort);表示取端口号!!!!

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧