Función NetGroupGetUsers (lmaccess.h)
La función NetGroupGetUsers recupera una lista de los miembros de un grupo global determinado de la base de datos de seguridad, que es la base de datos del administrador de cuentas de seguridad (SAM) o, en el caso de controladores de dominio, Active Directory.
Sintaxis
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
);
Parámetros
[in] servername
Puntero a una cadena constante que especifica el nombre DNS o NetBIOS del servidor remoto en el que se va a ejecutar la función. Si este parámetro es NULL, se usa el equipo local.
[in] groupname
Puntero a una cadena constante que especifica el nombre del grupo global cuyos miembros se van a enumerar. Para obtener más información, vea la sección Comentarios que se muestra más adelante.
[in] level
Nivel de información de los datos solicitados. Este parámetro puede ser uno de los valores siguientes.
Valor | Significado |
---|---|
|
Devuelve los nombres de miembro del grupo global. El parámetro bufptr apunta a una matriz de estructuras de GROUP_USERS_INFO_0 . |
|
Devuelve los nombres y atributos de los miembros del grupo global. El parámetro bufptr apunta a una matriz de estructuras de GROUP_USERS_INFO_1 . |
[out] bufptr
Puntero a la dirección del búfer que recibe la estructura de información. El sistema asigna la memoria para este búfer. Debe llamar a la función NetApiBufferFree para desasignar la memoria. Tenga en cuenta que debe liberar el búfer incluso si se produce un error en la función con ERROR_MORE_DATA.
[in] prefmaxlen
Longitud máxima preferida de los datos devueltos, en bytes. Si especifica MAX_PREFERRED_LENGTH, la función asigna la cantidad de memoria necesaria para almacenar los datos. Si especifica otro valor en este parámetro, puede restringir el número de bytes que devuelve la función. Si el tamaño del búfer no es suficiente para contener todas las entradas, la función devuelve ERROR_MORE_DATA. Para obtener más información, consulte Búferes de funciones de administración de red y longitudes de búfer de funciones de administración de red.
[out] entriesread
Puntero a un valor que recibe el recuento de elementos enumerados realmente.
[out] totalentries
Puntero a un valor que recibe el número total de entradas que se podrían haber enumerado a partir de la posición de reanudación actual.
[in, out] ResumeHandle
Puntero a una variable que contiene un identificador de reanudación que se usa para continuar con una enumeración de usuario existente. El identificador debe ser cero en la primera llamada y dejar sin cambios para las llamadas posteriores. Si el parámetro ResumeHandle es NULL, no se almacena ningún identificador de reanudación.
Valor devuelto
Si la función se ejecuta correctamente, el valor devuelto se NERR_Success.
Si se produce un error en la función, el valor devuelto puede ser uno de los siguientes códigos de error.
Código devuelto | Descripción |
---|---|
|
El usuario no tiene acceso a la información pedida. |
|
El nivel de llamada del sistema no es válido. Este error se devuelve si el parámetro level se especificó como un valor distinto de 0 o 1. |
|
Hay más entradas disponibles. Especifique un búfer suficientemente grande para recibir todas las entradas. |
|
La memoria insuficiente estaba disponible para completar la operación. |
|
El nombre de equipo no es válido. |
|
No se encontró el nombre del grupo global en la estructura a la que apunta el parámetro bufptr . |
|
Se ha producido un error interno. |
Comentarios
Si llama a esta función en un controlador de dominio que ejecuta Active Directory, se permite o se deniega el acceso en función de la lista de control de acceso (ACL) para el objeto protegible. La ACL predeterminada permite que todos los usuarios y miembros autenticados del grupo "Acceso compatible con Pre-Windows 2000" vean la información. Si llama a esta función en un servidor miembro o estación de trabajo, todos los usuarios autenticados pueden ver la información. Para obtener información sobre el acceso anónimo y restringir el acceso anónimo en estas plataformas, consulte Requisitos de seguridad para las funciones de administración de red. Para obtener más información sobre las ACL, los ACL y los tokens de acceso, consulte Access Control Model.
El descriptor de seguridad del objeto Group se usa para realizar la comprobación de acceso de esta función.
Para conceder a un usuario la pertenencia a un grupo global existente, puede llamar a la función NetGroupAddUser . Para quitar un usuario de un grupo global, llame a la función NetGroupDelUser . Para obtener información sobre cómo reemplazar la pertenencia de un grupo global, vea NetGroupSetUsers.
Los nombres de cuenta de usuario están limitados a 20 caracteres y los nombres de grupo están limitados a 256 caracteres. Además, los nombres de cuenta no se pueden terminar por un punto y no pueden incluir comas ni ninguno de los siguientes caracteres imprimibles: ", /, , [, ], :, |, <, >, +, =, ;, ?, *. Los nombres tampoco pueden incluir caracteres en el intervalo 1-31, que no son imprimibles.
Si está programando para Active Directory, puede llamar a determinados métodos de interfaz de servicio de Active Directory (ADSI) para lograr la misma funcionalidad que puede lograr llamando a las funciones del grupo de administración de red. Para obtener más información, consulte IADsGroup.
Requisitos
Cliente mínimo compatible | Windows 2000 Professional [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows 2000 Server [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | lmaccess.h (include Lm.h) |
Library | Netapi32.lib |
Archivo DLL | Netapi32.dll |