Funzione NetGroupGetUsers (lmaccess.h)

La funzione NetGroupGetUsers recupera un elenco dei membri in un determinato gruppo globale nel database di sicurezza, ovvero il database SAM (Security Account Manager) o, nel caso dei controller di dominio, Active Directory.

Sintassi

NET_API_STATUS NET_API_FUNCTION NetGroupGetUsers(
  [in]      LPCWSTR    servername,
  [in]      LPCWSTR    groupname,
  [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 eseguire la funzione. Se questo parametro è NULL, viene usato il computer locale.

[in] groupname

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

[in] level

Livello di informazioni dei dati richiesti. Questo parametro può avere uno dei valori seguenti.

Valore Significato
0
Restituisce i nomi dei membri del gruppo globale. Il parametro bufptr punta a una matrice di strutture GROUP_USERS_INFO_0 .
1
Restituisce i nomi e gli attributi del gruppo globale. Il parametro bufptr punta a una matrice di strutture GROUP_USERS_INFO_1 .

[out] bufptr

Puntatore all'indirizzo del buffer che riceve la struttura delle informazioni. Il sistema alloca la memoria per questo buffer. È necessario chiamare la funzione NetApiBufferFree per deallocare la memoria. Si noti che è necessario liberare il buffer anche se la funzione ha esito negativo con ERROR_MORE_DATA.

[in] prefmaxlen

Lunghezza massima preferita dei dati restituiti, in byte. Se si specifica MAX_PREFERRED_LENGTH, la funzione alloca la quantità di memoria necessaria per contenere i dati. Se si specifica un altro valore in questo parametro, può 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 della rete e lunghezze del buffer delle funzioni di gestione della 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 una variabile contenente un handle di ripresa usato per continuare un'enumerazione utente esistente. L'handle deve essere zero nella prima chiamata e lasciato invariato per le chiamate successive. Se il parametro ResumeHandle è NULL, non viene archiviato alcun handle di ripresa.

Valore restituito

Se la funzione ha esito positivo, il valore restituito è 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.
ERROR_INVALID_LEVEL
Il livello di chiamata di sistema non è corretto. Questo errore viene restituito se il parametro di livello è stato specificato come valore diverso da 0 o 1.
ERROR_MORE_DATA
Sono disponibili altre voci. Specificare un buffer sufficiente per ricevere tutte le voci.
ERROR_NOT_ENOUGH_MEMORY
Memoria insufficiente disponibile per completare l'operazione.
NERR_InvalidComputer
Il nome del computer non è valido.
NERR_GroupNotFound
Impossibile trovare il nome del gruppo globale nella struttura a cui punta il parametro bufptr .
NERR_InternalError
An internal error occurred.

Commenti

Se si chiama questa funzione in un controller di dominio che esegue Active Directory, l'accesso è 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 ai membri del gruppo "Accesso compatibile con Windows 2000" di pre-Windows 2000 per 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 della rete. Per altre informazioni sugli elenchi di controllo di accesso, sugli ACL e sui token di accesso, vedere Controllo di accesso Modello.

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

Per concedere un'appartenenza a un utente in un gruppo globale esistente, è possibile chiamare la funzione NetGroupAddUser . Per rimuovere un utente da un gruppo globale, chiamare la funzione NetGroupDelUser . Per informazioni sulla sostituzione dell'appartenenza a un gruppo globale, vedere NetGroupSetUsers.

I nomi degli account utente sono limitati a 20 caratteri e i nomi di gruppo sono limitati a 256 caratteri. Inoltre, i nomi degli 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 sta programmando per Active Directory, è possibile chiamare determinati metodi di Active Directory Service Interface (ADSI) per ottenere la stessa funzionalità che è possibile ottenere chiamando le funzioni del gruppo di gestione di rete. Per altre informazioni, vedere IADsGroup.

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

GROUP_USERS_INFO_0

GROUP_USERS_INFO_1

Funzioni di gruppo

NetApiBufferFree

NetGroupAddUser

NetGroupDelUser

NetGroupSetUsers

NetQueryDisplayInformation

NetUserGetGroups

Funzioni di gestione della rete

Panoramica sulla gestione della rete