NetUserGetGroups

The NetUserGetGroups function retrieves a list of global groups to which a specified user belongs.

Security Requirements

Only members of the Administrators or Account Operators local group can successfully execute NetUserGetGroups or on a computer that has local security enabled, except when users request details about their own accounts.

NET_API_STATUS NetUserGetGroups(
  LPWSTR servername,    
  LPWSTR username,      
  DWORD level,          
  LPBYTE *bufptr,       
  DWORD prefmaxlen,     
  LPDWORD entriesread,  
  LPDWORD totalentries  
);
 

Parameters

servername
Pointer to a Unicode string containing the name of the remote server on which the function is to execute. A NULL pointer or string specifies the server program running on the local computer.
username
Pointer to a Unicode string containing the name of the user to search for in each group account.
level
Specifies one of the following values to return the level of information provided.
Value Meaning
0 The bufptr parameter points to an array of GROUP_USERS_INFO_0 structures.
1 The bufptr parameter points to an array of GROUP_USERS_INFO_1 structures.

bufptr
Pointer to a pointer which receives the address of the returned data set with the level parameter. You do not need to allocate buffer space. However, the returned buffer should be deallocated using the NetApiBufferFree function.
prefmaxlen
Preferred maximum length, in 8-bit bytes of returned data.
entriesread
Pointer to a DWORD that contains the actual enumerated element count.
totalentries
Pointer to a DWORD that contains the total number of entries that could have been enumerated from the current resume position.

Return Values

If the function is successful, it returns NERR_SUCCESS.

If the function fails, the return value is one of the following error codes.

Value Meaning
ERROR_ACCESS_DENIED The user does not have access to the requested information.
NERR_InvalidComputer The computer name is invalid.
NERR_UserNotFound The user name could not be found.

Remarks

The NetUserGetGroups function returns an array of GROUP_INFO_0 structure, that specifies the names of all groups to which the user belongs. Net groups are separate and distinct from Windows NT system groups.

QuickInfo

  Windows NT: Requires version 3.1 or later.
  Windows: Unsupported.
  Windows CE: Unsupported.
  Header: Declared in lmaccess.h.
  Import Library: Use netapi32.lib.

See Also

Networking (Net) Overview, Net Functions, NetUserGetInfo