我新注册的,帮我看看这段代码
void __fastcall TForm1::EnumGroup()
{
PGROUP_INFO_2 pBuf = NULL; //这我以前用的是LPUSER_INFO_2
//不成得到的也是NONE.
//现在用这个也是一样
PGROUP_INFO_2 pTmpBuf;
DWORD dwLevel = 2;
DWORD dwPrefMaxLen=MAX_PREFERRED_LENGTH;
DWORD dwEntriesRead =0;
DWORD dwTotalEntries =0;
DWORD dwResumeHandle =0;
DWORD i;
DWORD dwTotalCount = 0;
NET_API_STATUS nStatus;
LPTSTR pszServerName = NULL;
String username ;
do
{
nStatus = NetGroupEnum(PWideChar(pszServerName), dwLevel,(LPBYTE*)&pBuf,dwPrefMaxLen,&dwEntriesRead,&dwTotalEntries,&dwResumeHandle);
if ((nStatus == NERR_Success) || (nStatus == ERROR_MORE_DATA))
{
if ((pTmpBuf = pBuf)!= NULL)
{
for (i = 0; (i < dwEntriesRead); i++)
{
// assert(pTmpBuf != NULL);//调试程序时常用的一个函数。
if (pTmpBuf == NULL) break;
username=WideCharToString(pTmpBuf->grpi2_name);
//这大家看看我这样写对不对。
userlist->Items->Add(username);//得到的是NONE.
pTmpBuf++;
dwTotalCount++;
}
}
}
if (pBuf != NULL)
{
NetApiBufferFree(pBuf);
pBuf = NULL;
}
}
while (nStatus == ERROR_MORE_DATA); // end do
if (pBuf != NULL)
NetApiBufferFree(pBuf);
// return 0;
}