Funzione NetLocalGroupGetMembers (lmaccess.h)

La funzione NetLocalGroupGetMembers recupera un elenco dei membri di un determinato gruppo locale nel database di sicurezza, ovvero il database sam (Security Accounts Manager) o, nel caso dei controller di dominio, Active Directory. I membri del gruppo locale possono essere utenti o gruppi globali.

Sintassi

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
);

Parametri

[in] servername

Puntatore a una stringa costante che specifica il nome DNS o NetBIOS del server remoto in cui deve essere eseguita la funzione. Se questo parametro è NULL, viene utilizzato il computer locale.

[in] localgroupname

Puntatore a una stringa costante che specifica il nome del gruppo locale i cui membri devono essere elencati. Per ulteriori informazioni, vedere la sezione Osservazioni successiva.

[in] level

Specifica il livello di informazioni dei dati. Questo parametro può avere uno dei valori seguenti.

Valore Significato
0
Restituisce l'identificatore di sicurezza (SID) associato al membro del gruppo locale. Il parametro bufptr punta a una matrice di strutture LOCALGROUP_MEMBERS_INFO_0 .
1
Restituisce il SID e le informazioni sull'account associate al membro del gruppo locale. Il parametro bufptr punta a una matrice di strutture LOCALGROUP_MEMBERS_INFO_1 .
2
Restituisce il SID, le informazioni sull'account e il nome di dominio associato al membro del gruppo locale. Il parametro bufptr punta a una matrice di strutture LOCALGROUP_MEMBERS_INFO_2 .
3
Restituisce l'account e i nomi di dominio del membro del gruppo locale. Il parametro bufptr punta a una matrice di strutture LOCALGROUP_MEMBERS_INFO_3 .

[out] bufptr

Puntatore all'indirizzo che riceve la struttura di informazioni restituita. Il formato di questi dati dipende dal valore del parametro level . Questo buffer viene allocato dal sistema e deve essere liberato usando la funzione NetApiBufferFree . Si noti che è necessario liberare il buffer anche se la funzione ha esito negativo con ERROR_MORE_DATA.

[in] prefmaxlen

Specifica la lunghezza massima preferita dei dati restituiti, espressa in byte. Se si specifica MAX_PREFERRED_LENGTH, la funzione alloca la quantità di memoria necessaria per i dati. Se si specifica un altro valore in questo parametro, è possibile limitare il numero di byte restituiti dalla funzione. Se le dimensioni del buffer non sono sufficienti per contenere tutte le voci, la funzione restituisce ERROR_MORE_DATA. Per altre informazioni, vedere Buffer delle funzioni di gestione di rete e lunghezze del buffer delle funzioni di gestione di rete.

[out] entriesread

Puntatore a un valore che riceve il conteggio degli elementi effettivamente enumerati.

[out] totalentries

Puntatore a un valore che riceve il numero totale di voci che potrebbero essere state enumerate dalla posizione di ripresa corrente.

[in, out] resumehandle

Puntatore a un valore contenente un handle di ripresa utilizzato per continuare la ricerca di un membro del gruppo esistente. L'handle deve essere zero nella prima chiamata e lasciare invariato per le chiamate successive. Se questo parametro è NULL, non viene archiviato alcun handle di ripresa.

Valore restituito

Se la funzione ha esito positivo, il valore restituito viene NERR_Success.

Se la funzione ha esito negativo, il valore restituito può essere uno dei codici di errore seguenti.

Codice restituito Descrizione
ERROR_ACCESS_DENIED
L'utente non ha accesso alle informazioni richieste.
NERR_InvalidComputer
Il nome del computer non è valido.
ERROR_MORE_DATA
Sono disponibili altre voci. Specificare un buffer sufficientemente grande per ricevere tutte le voci.
ERROR_NO_SUCH_ALIAS
Il gruppo locale specificato non esiste.

Commenti

Se si chiama questa funzione in un controller di dominio che esegue Active Directory, l'accesso viene consentito o negato in base all'elenco di controllo di accesso (ACL) per l'oggetto a protezione diretta. L'elenco di controllo di accesso predefinito consente a tutti gli utenti autenticati e i membri del gruppo "Accesso compatibile con Pre-Windows 2000" di visualizzare le informazioni. Se si chiama questa funzione in un server membro o in una workstation, tutti gli utenti autenticati possono visualizzare le informazioni. Per informazioni sull'accesso anonimo e sulla limitazione dell'accesso anonimo in queste piattaforme, vedere Requisiti di sicurezza per le funzioni di gestione di rete. Per altre informazioni su ACL, ACL e token di accesso, vedere Controllo di accesso Model.

Il descrittore di sicurezza dell'oggetto LocalGroup viene utilizzato per eseguire il controllo di accesso per questa funzione.

I nomi degli account utente sono limitati a 20 caratteri e i nomi dei gruppi sono limitati a 256 caratteri. Inoltre, i nomi di account non possono essere terminati da un punto e non possono includere virgole o uno dei caratteri stampabili seguenti: ", /, , [, ], :, |, <, , >+, =, ;, ?, *. I nomi non possono includere anche caratteri nell'intervallo 1-31, che non sono stampabili.

Se si esegue la programmazione per Active Directory, è possibile chiamare determinati metodi ADSI (Active Directory Service Interface) per ottenere la stessa funzionalità che è possibile ottenere chiamando le funzioni del gruppo locale di gestione di rete. Per altre informazioni, vedere IADsGroup.

Se questa funzione restituisce ERROR_MORE_DATA, deve essere chiamata ripetutamente fino a quando non viene restituito ERROR_SUCCESS o NERR_success . In caso contrario, può verificarsi una perdita di connessione RPC.

Requisiti

   
Client minimo supportato Windows 2000 Professional [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Piattaforma di destinazione Windows
Intestazione lmaccess.h (include Lm.h)
Libreria Netapi32.lib
DLL Netapi32.dll

Vedi anche

LOCALGROUP_MEMBERS_INFO_0

LOCALGROUP_MEMBERS_INFO_1

LOCALGROUP_MEMBERS_INFO_2

LOCALGROUP_MEMBERS_INFO_3

Funzioni di gruppo locali

NetLocalGroupEnum

NetLocalGroupGetInfo

NetLocalGroupSetMembers

Funzioni di gestione di rete

Panoramica della gestione della rete