社区
非技术区
帖子详情
在C++中如何引用ADSI来检索活动目录的用户
qieyj
2005-12-22 11:25:34
在C++中如何引用ADSI来检索活动目录的用户
...全文
123
2
打赏
收藏
在C++中如何引用ADSI来检索活动目录的用户
在C++中如何引用ADSI来检索活动目录的用户
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
gdhyj
2005-12-23
打赏
举报
回复
#pragma comment(lib,"ActiveDS.lib")
#pragma comment(lib,"adsiid.lib")
STDMETHODIMP CheckUser::Check(BSTR User, BSTR Pwd, long *rt)
{
// TODO: Add your implementation code here
*rt=0;
CComBSTR strTemp;
strTemp = L"WinNT://gdhyj/";
strTemp.AppendBSTR(User);
strTemp.Append(L",User");
HRESULT hr;
IADsOpenDSObject *pUser=NULL;
CoInitialize(NULL);
hr= ADsGetObject(L"WinNT:",IID_IADsOpenDSObject,(void **)&pUser);
if (SUCCEEDED(hr))
{
IDispatch *pDisp=NULL;
HRESULT hr1=NULL;
try
{
/*
char buf[100]="";
int nLen=0;
nLen=WideCharToMultiByte(CP_ACP,0,User,-1,NULL,NULL,NULL,NULL);
WideCharToMultiByte(CP_ACP,0,User,-1,buf,nLen,NULL,NULL);
char buf1[100]="";
nLen=WideCharToMultiByte(CP_ACP,0,Pwd,-1,NULL,NULL,NULL,NULL);
WideCharToMultiByte(CP_ACP,0,Pwd,-1,buf1,nLen,NULL,NULL);
FILE *pout;
if((pout=fopen("c:\\123.txt","w"))!=NULL)
{
fprintf(pout,buf);
fprintf(pout,buf1);
}
fclose(pout);
pout=NULL;
*/
hr1=pUser->OpenDSObject(strTemp,User,Pwd,ADS_SECURE_AUTHENTICATION,&pDisp);
if(SUCCEEDED(hr1))
{
*rt=1;
pDisp->Release();
}
else
{
*rt=2;
}
}
catch(...)
{}
pUser->Release();
}
CoUninitialize();
return S_OK;
}
gdhyj
2005-12-22
打赏
举报
回复
我用VC写过域用户验证的代码,在家里的电脑上,晚上再给你
非技术区
15,440
社区成员
58,166
社区内容
发帖
与我相关
我的任务
非技术区
C/C++ 非技术区
复制链接
扫一扫
分享
社区描述
C/C++ 非技术区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章