NetLocalGroupGetMembers, fonction (lmaccess.h)

La fonction NetLocalGroupGetMembers récupère une liste des membres d’un groupe local particulier dans la base de données de sécurité, qui est la base de données du gestionnaire de comptes de sécurité (SAM) ou, dans le cas des contrôleurs de domaine, Active Directory. Les membres du groupe local peuvent être des utilisateurs ou des groupes globaux.

Syntaxe

NET_API_STATUS NET_API_FUNCTION NetLocalGroupGetMembers(
  [in]      LPCWSTR    servername,
  [in]      LPCWSTR    localgroupname,
  [in]      DWORD      level,
  [out]     LPBYTE     *bufptr,
  [in]      DWORD      prefmaxlen,
  [out]     LPDWORD    entriesread,
  [out]     LPDWORD    totalentries,
  [in, out] PDWORD_PTR resumehandle
);

Paramètres

[in] servername

Pointeur vers une chaîne constante qui spécifie le nom DNS ou NetBIOS du serveur distant sur lequel la fonction doit s’exécuter. Si ce paramètre a la valeur NULL, l’ordinateur local est utilisé.

[in] localgroupname

Pointeur vers une chaîne constante qui spécifie le nom du groupe local dont les membres doivent être répertoriés. Pour plus d'informations, consultez la section Notes qui suit.

[in] level

Spécifie le niveau d’informations des données. Ce paramètre peut prendre les valeurs suivantes.

Valeur Signification
0
Retourne l’identificateur de sécurité (SID) associé au membre du groupe local. Le paramètre bufptr pointe vers un tableau de structures LOCALGROUP_MEMBERS_INFO_0 .
1
Retournez le SID et les informations de compte associées au membre du groupe local. Le paramètre bufptr pointe vers un tableau de structures LOCALGROUP_MEMBERS_INFO_1 .
2
Retournez le SID, les informations de compte et le nom de domaine associé au membre du groupe local. Le paramètre bufptr pointe vers un tableau de structures LOCALGROUP_MEMBERS_INFO_2 .
3
Retourne les noms de compte et de domaine du membre du groupe local. Le paramètre bufptr pointe vers un tableau de structures LOCALGROUP_MEMBERS_INFO_3 .

[out] bufptr

Pointeur vers l’adresse qui reçoit la structure d’informations de retour. Le format de ces données dépend de la valeur du paramètre level . Cette mémoire tampon est allouée par le système et doit être libérée à l’aide de la fonction NetApiBufferFree . Notez que vous devez libérer la mémoire tampon même si la fonction échoue avec ERROR_MORE_DATA.

[in] prefmaxlen

Spécifie la longueur maximale par défaut des données retournées, en octets. Si vous spécifiez MAX_PREFERRED_LENGTH, la fonction alloue la quantité de mémoire requise pour les données. Si vous spécifiez une autre valeur dans ce paramètre, cela peut limiter le nombre d’octets retournés par la fonction. Si la taille de la mémoire tampon est insuffisante pour contenir toutes les entrées, la fonction retourne ERROR_MORE_DATA. Pour plus d’informations, consultez Mémoires tampons de fonction de gestionréseau et Longueurs de mémoire tampon des fonctions de gestion réseau.

[out] entriesread

Pointeur vers une valeur qui reçoit le nombre d’éléments réellement énumérés.

[out] totalentries

Pointeur vers une valeur qui reçoit le nombre total d’entrées qui auraient pu être énumérées à partir de la position de reprise actuelle.

[in, out] resumehandle

Pointeur vers une valeur qui contient un handle de cv utilisé pour poursuivre une recherche de membre de groupe existant. Le handle doit être égal à zéro lors du premier appel et laisser inchangé pour les appels suivants. Si ce paramètre a la valeur NULL, aucun handle de reprise n’est stocké.

Valeur retournée

Si la fonction réussit, la valeur de retour est NERR_Success.

Si la fonction échoue, la valeur de retour peut être l’un des codes d’erreur suivants.

Code de retour Description
ERROR_ACCESS_DENIED
L’utilisateur n’a pas accès aux informations demandées.
NERR_InvalidComputer
Le nom d'ordinateur est non valide.
ERROR_MORE_DATA
D’autres entrées sont disponibles. Spécifiez une mémoire tampon suffisamment grande pour recevoir toutes les entrées.
ERROR_NO_SUCH_ALIAS
Le groupe local spécifié n’existe pas.

Notes

Si vous appelez cette fonction sur un contrôleur de domaine qui exécute Active Directory, l’accès est autorisé ou refusé en fonction de la liste de contrôle d’accès (ACL) pour l’objet sécurisable. La liste de contrôle d’accès par défaut permet à tous les utilisateurs authentifiés et membres du groupe « Accès compatible pré-Windows 2000 » d’afficher les informations. Si vous appelez cette fonction sur un serveur ou une station de travail membre, tous les utilisateurs authentifiés peuvent afficher les informations. Pour plus d’informations sur l’accès anonyme et la restriction de l’accès anonyme sur ces plateformes, consultez Exigences de sécurité pour les fonctions de gestion du réseau. Pour plus d’informations sur les ACL, les ACL et les jetons d’accès, consultez modèle Access Control.

Le descripteur de sécurité de l’objet LocalGroup est utilisé pour effectuer les case activée d’accès pour cette fonction.

Les noms de compte d’utilisateur sont limités à 20 caractères et les noms de groupe à 256 caractères. En outre, les noms de comptes ne peuvent pas être arrêtés par un point et ils ne peuvent pas inclure de virgules ou d’un des caractères imprimables suivants : « , /, , , [, ], :, |, <, , >+, =, ?, *. Les noms ne peuvent pas non plus inclure de caractères dans la plage 1 à 31, qui ne sont pas imprimables.

Si vous programmez pour Active Directory, vous pouvez peut-être appeler certaines méthodes ADSI (Active Directory Service Interface) pour obtenir les mêmes fonctionnalités que celles que vous pouvez obtenir en appelant les fonctions de groupe local de gestion réseau. Pour plus d’informations, consultez IADsGroup.

Si cette fonction retourne ERROR_MORE_DATA, elle doit être appelée à plusieurs reprises jusqu’à ce que ERROR_SUCCESS ou NERR_success soit retourné. Le fait de ne pas le faire peut entraîner une fuite de connexion RPC.

Spécifications

   
Client minimal pris en charge Windows 2000 Professionnel [applications de bureau uniquement]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau uniquement]
Plateforme cible Windows
En-tête lmaccess.h (include Lm.h)
Bibliothèque Netapi32.lib
DLL Netapi32.dll

Voir aussi

LOCALGROUP_MEMBERS_INFO_0

LOCALGROUP_MEMBERS_INFO_1

LOCALGROUP_MEMBERS_INFO_2

LOCALGROUP_MEMBERS_INFO_3

Fonctions de groupe locales

NetLocalGroupEnum

NetLocalGroupGetInfo

NetLocalGroupSetMembers

Fonctions de gestion réseau

Vue d’ensemble de la gestion du réseau