技术论坛

 枚举组态的所有用户名、用户组-回调函数实现

返回主题列表
作者 主题
万回
游士

经验值:196
发帖数:11
精华帖:1
楼主    2010-06-18 18:13:53
主题:枚举组态的所有用户名、用户组-回调函数实现 精华帖 
看到一篇枚举所有用户的代码。感觉比较繁琐。找了个比较简单清晰的方法如下:


相关函数代码:
#pragma code("USEGEN.DLL")
#include "usegenap.h"
#pragma code()


CMN_ERROR err;
DM_PROJECT_INFO ProjectInfo;
DWORD dwCount = 0;
PVOID userdata=0;
PWGEN_USERINFO lpUserInfo;


BOOL CALLBACK enum_user(LPWGEN_USERINFO lpUserInfo, PVOID lpUser);


memset(&ProjectInfo, 0, sizeof(DM_PROJECT_INFO));
DMGetProjectInformation("***", &ProjectInfo, &err); \\"***"为wincc项目路径。
PWGENConnect(ProjectInfo.szDSNName, &err);


PWGENEnumUsers (&dwCount, enum_user, &userdata, &err);

PWGENDisconnect(&err);


*******************************************************************
回调函数:
#include "apdefap.h"
#include "usegenap.h"
BOOL enum_user(LPTSTR lpUserInfo, PVOID lpUser)
{
PWGEN_USERINFO * pCls;
pCls = (LPWGEN_USERINFO*)lpUserInfo;


printf("Group: %s\r\n", pCls->group);
printf("User: %s\r\n", pCls->login);


return TRUE;
}
————————————————————————————————
测试结果;
Group: 管理员组
User: 管理员
Group: 管理员组
User: ldh
Group: 管理员组
User: wlq
Group: user
User: zzj
Group: user
User: www
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。