Función NetLocalGroupGetMembers (lmaccess.h)
La función NetLocalGroupGetMembers recupera una lista de los miembros de un grupo local determinado en la base de datos de seguridad, que es la base de datos del administrador de cuentas de seguridad (SAM) o, en el caso de los controladores de dominio, Active Directory. Los miembros del grupo local pueden ser usuarios o grupos globales.
Sintaxis
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
);
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] localgroupname
Puntero a una cadena constante que especifica el nombre del grupo local 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
Especifica el nivel de información de los datos. Este parámetro puede ser uno de los valores siguientes.
Valor | Significado |
---|---|
|
Devuelve el identificador de seguridad (SID) asociado al miembro del grupo local. El parámetro bufptr apunta a una matriz de estructuras LOCALGROUP_MEMBERS_INFO_0 . |
|
Devuelve el SID y la información de la cuenta asociadas al miembro del grupo local. El parámetro bufptr apunta a una matriz de estructuras de LOCALGROUP_MEMBERS_INFO_1 . |
|
Devuelve el SID, la información de la cuenta y el nombre de dominio asociados al miembro del grupo local. El parámetro bufptr apunta a una matriz de estructuras LOCALGROUP_MEMBERS_INFO_2 . |
|
Devuelve la cuenta y los nombres de dominio del miembro del grupo local. El parámetro bufptr apunta a una matriz de estructuras LOCALGROUP_MEMBERS_INFO_3 . |
[out] bufptr
Puntero a la dirección que recibe la estructura de información de devolución. El formato de estos datos depende del valor del parámetro level . El sistema asigna este búfer y se debe liberar mediante la función NetApiBufferFree . 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
Especifica la 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 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 Network Management Function Buffers (Búferes de funciones de administración de red) y Network Management Function Buffer Lengths (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 podrían haberse enumerado a partir de la posición de reanudación actual.
[in, out] resumehandle
Puntero a un valor que contiene un identificador de reanudación que se usa para continuar una búsqueda de miembros del grupo existente. El identificador debe ser cero en la primera llamada y dejar sin cambios para las llamadas posteriores. Si este parámetro es NULL, no se almacena ningún identificador de reanudación.
Valor devuelto
Si la función se realiza correctamente, el valor devuelto es 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 nombre de equipo no es válido. |
|
Hay más entradas disponibles. Especifique un búfer suficientemente grande para recibir todas las entradas. |
|
El grupo local especificado no existe. |
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 redes. Para obtener más información sobre las ACL, los ACL y los tokens de acceso, consulte Access Control Modelo.
El descriptor de seguridad del objeto LocalGroup se usa para realizar la comprobación de acceso de esta función.
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, es posible que pueda llamar a determinados métodos de la Interfaz de servicio de Active Directory (ADSI) para lograr la misma funcionalidad que puede lograr llamando a las funciones del grupo local de administración de red. Para obtener más información, consulte IADsGroup.
Si esta función devuelve ERROR_MORE_DATA, se debe llamar repetidamente hasta que se devuelva ERROR_SUCCESS o NERR_success . Si no lo hace, se puede producir una fuga de conexión RPC.
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 |