我现在想去本地用户的global group的信息,一直返回2221(The user name cannot be found.)。
大概代码,一下,想让大家帮忙看一下,谢谢。
char ch[255];
DWORD len = 255;
GetUserName(ch,&len);
LPGROUP_USERS_INFO_0 pBuf = NULL;
DWORD dwLevel = 0;
DWORD dwPrefMaxLen = -1;
DWORD dwEntriesRead = 0;
DWORD dwTotalEntries = 0;
NET_API_STATUS nStatus;
nStatus = NetUserGetGroups(NULL,(LPCWSTR)"test",dwLevel,(LPBYTE*)&pBuf,dwPrefMaxLen,&dwEntriesRead,&dwTotalEntries);

解决方案 »

  1.   

    检查下你的工程是什么编码,(LPCWSTR)"test"这里为何要使用强制转换
      

  2.   

    (LPCWSTR)"test"不转换的话,编译通不过。
    工程是多字节文字编码
    然后我用控制台程序,把"legend1"(域名服务器),"test"作为参数传进去,就可以拿到global group。
    但是我在上面的贴的程序直接用NetUserGetGroups((LPCWSTR)"legend1",(LPCWSTR)"test",dwLevel,(LPBYTE*)&pBuf,dwPrefMaxLen,&dwEntriesRead,&dwTotalEntries);就不行,返回是53(The network path cannot be found.)
    是文字编码问题吗?
      

  3.   

    问题解决啦,是文字编码的问题,我用MultiByteToWideChar变换以后,再用就可以拿到global group。