* PURPOSE:
*
* PROGRAMMERS: Eric Kohl
+ * Curtis Wilson
*/
#include "net.h"
NetApiBufferFree(pServer);
- Status = NetUserEnum(NULL,
- 0,
- 0,
- (LPBYTE*)&pBuffer,
- MAX_PREFERRED_LENGTH,
- &dwRead,
- &dwTotal,
- &ResumeHandle);
- if (Status != NERR_Success)
- return Status;
-
- qsort(pBuffer,
- dwRead,
- sizeof(PUSER_INFO_0),
- CompareInfo);
-
-// printf("dwRead: %lu dwTotal: %lu\n", dwRead, dwTotal);
- for (i = 0; i < dwRead; i++)
+ do
{
-// printf("%p\n", pBuffer[i].lgrpi0_name);
- if (pBuffer[i].usri0_name)
- PrintToConsole(L"%s\n", pBuffer[i].usri0_name);
- }
+ Status = NetUserEnum(NULL,
+ 0,
+ 0,
+ (LPBYTE*)&pBuffer,
+ MAX_PREFERRED_LENGTH,
+ &dwRead,
+ &dwTotal,
+ &ResumeHandle);
+ if ((Status != NERR_Success) && (Status != ERROR_MORE_DATA))
+ return Status;
+
+ qsort(pBuffer,
+ dwRead,
+ sizeof(PUSER_INFO_0),
+ CompareInfo);
+
+ for (i = 0; i < dwRead; i++)
+ {
+ if (pBuffer[i].usri0_name)
+ PrintToConsole(L"%s\n", pBuffer[i].usri0_name);
+ }
- NetApiBufferFree(pBuffer);
+ if (pBuffer != NULL)
+ {
+ NetApiBufferFree(pBuffer);
+ pBuffer = NULL;
+ }
+ }
+ while (Status == ERROR_MORE_DATA);
return NERR_Success;
}