Função NetLocalGroupEnum (lmaccess.h)
A função NetLocalGroupEnum retorna informações sobre cada conta de grupo local no servidor especificado.
Sintaxe
NET_API_STATUS NET_API_FUNCTION NetLocalGroupEnum(
[in] LPCWSTR servername,
[in] DWORD level,
[out] LPBYTE *bufptr,
[in] DWORD prefmaxlen,
[out] LPDWORD entriesread,
[out] LPDWORD totalentries,
[in, out] PDWORD_PTR resumehandle
);
Parâmetros
[in] servername
Ponteiro para uma cadeia de caracteres constante que especifica o nome DNS ou NetBIOS do servidor remoto no qual a função deve ser executada. Se esse parâmetro for NULL, o computador local será usado.
[in] level
Especifica o nível de informações dos dados. Esse parâmetro pode usar um dos valores a seguir.
Valor | Significado |
---|---|
|
Retornar nomes de grupo local. O parâmetro bufptr aponta para uma matriz de estruturas LOCALGROUP_INFO_0 . |
|
Retornar nomes de grupos locais e o comentário associado a cada grupo. O parâmetro bufptr aponta para uma matriz de estruturas LOCALGROUP_INFO_1 . |
[out] bufptr
Ponteiro para o endereço do buffer que recebe a estrutura de informações. O formato desses dados depende do valor do parâmetro level . Esse buffer é alocado pelo sistema e deve ser liberado usando a função NetApiBufferFree . Observe que você deve liberar o buffer mesmo que a função falhe com ERROR_MORE_DATA.
[in] prefmaxlen
Especifica o comprimento máximo preferencial dos dados retornados, em bytes. Se você especificar MAX_PREFERRED_LENGTH, a função alocará a quantidade de memória necessária para os dados. Se você especificar outro valor nesse parâmetro, ele poderá restringir o número de bytes retornados pela função. Se o tamanho do buffer for insuficiente para manter todas as entradas, a função retornará ERROR_MORE_DATA. Para obter mais informações, consulte Buffers de função de gerenciamento de rede e Comprimentos de buffer de função de gerenciamento de rede.
[out] entriesread
Ponteiro para um valor que recebe a contagem de elementos realmente enumerados.
[out] totalentries
Ponteiro para um valor que recebe o número total aproximado de entradas que poderiam ter sido enumeradas da posição atual do currículo. O número total de entradas é apenas uma dica. Para obter mais informações sobre como determinar o número exato de entradas, consulte a seção Comentários a seguir.
[in, out] resumehandle
Ponteiro para um valor que contém um identificador de retomada usado para continuar uma pesquisa de grupo local existente. O identificador deve ser zero na primeira chamada e deixado inalterado para chamadas subsequentes. Se esse parâmetro for NULL, nenhum identificador de retomada será armazenado. Para obter mais informações, consulte a seção Comentários a seguir.
Valor retornado
Se a função for bem-sucedida, o valor retornado será NERR_Success.
Se a função falhar, o valor retornado poderá ser um dos códigos de erro a seguir.
Código de retorno | Descrição |
---|---|
|
O usuário não tem acesso às informações solicitadas. |
|
Mais entradas estão disponíveis. Especifique um buffer grande o suficiente para receber todas as entradas. |
|
O nome do computador é inválido. |
|
O buffer de retorno é muito pequeno. |
Comentários
Se você chamar essa função em um controlador de domínio que está executando o Active Directory, o acesso será permitido ou negado com base na ACL (lista de controle de acesso) do objeto protegível. A ACL padrão permite que todos os usuários autenticados e membros do grupo "Acesso compatível com o Pré-Windows 2000" exibam as informações. Se você chamar essa função em um servidor membro ou estação de trabalho, todos os usuários autenticados poderão exibir as informações. Para obter informações sobre acesso anônimo e restringir o acesso anônimo nessas plataformas, consulte Requisitos de segurança para as funções de gerenciamento de rede. Para obter mais informações sobre ACLs, ACEs e tokens de acesso, consulte Controle de Acesso Model.
A função retorna apenas informações para as quais o chamador tem acesso de Leitura. O chamador deve ter acesso de Conteúdo de Lista ao objeto Domain e enumerar todo o acesso ao domínio SAM no objeto servidor SAM localizado no contêiner Do sistema.
Para determinar o número total exato de grupos locais, você deve enumerar toda a árvore, o que pode ser uma operação dispendiosa. Para enumerar a árvore inteira, use o parâmetro resumehandle para continuar a enumeração para chamadas consecutivas e use o parâmetro entriesread para acumular o número total de grupos locais. Se o aplicativo estiver se comunicando com um controlador de domínio, considere usar o Provedor LDAP ADSI para recuperar esse tipo de dados com mais eficiência. O Provedor LDAP ADSI implementa um conjunto de objetos ADSI que dão suporte a várias interfaces ADSI. Para obter mais informações, consulte Provedores de Serviços ADSI.
Os nomes de conta de usuário são limitados a 20 caracteres e os nomes de grupo são limitados a 256 caracteres. Além disso, os nomes de conta não podem ser encerrados por um período e não podem incluir vírgulas ou qualquer um dos seguintes caracteres imprimíveis: ", /, , [, ], :, |, <, >, +, =, ;, ?, *. Os nomes também não podem incluir caracteres no intervalo de 1 a 31, que são não imprimíveis.
Se você estiver programando para o Active Directory, poderá chamar determinados métodos ADSI (Active Directory Service Interface) para obter a mesma funcionalidade que você pode obter chamando as funções de grupo local de gerenciamento de rede. Para obter mais informações, consulte IADsGroup.
Requisitos
Cliente mínimo com suporte | Windows 2000 Professional [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows 2000 Server [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | lmaccess.h (inclua Lm.h) |
Biblioteca | Netapi32.lib |
DLL | Netapi32.dll |