Função NetFileEnum (lmshare.h)

Retorna informações sobre alguns ou todos os arquivos abertos em um servidor, dependendo dos parâmetros especificados.

Sintaxe

NET_API_STATUS NET_API_FUNCTION NetFileEnum(
  [in]      LMSTR      servername,
  [in]      LMSTR      basepath,
  [in]      LMSTR      username,
  [in]      DWORD      level,
  [out]     LPBYTE     *bufptr,
  [in]      DWORD      prefmaxlen,
  [out]     LPDWORD    entriesread,
  [out]     LPDWORD    totalentries,
  [in, out] PDWORD_PTR resume_handle
);

Parâmetros

[in] servername

Ponteiro para uma cadeia de caracteres 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.

Essa cadeia de caracteres será Unicode se _WIN32_WINNT ou FORCE_UNICODE estiver definido.

[in] basepath

Ponteiro para uma cadeia de caracteres que especifica um qualificador para as informações retornadas. Se esse parâmetro for NULL, todos os recursos abertos serão enumerados. Se esse parâmetro não for NULL, a função enumera apenas os recursos que têm o valor do parâmetro basepath como um prefixo. (Um prefixo é a parte de um caminho que vem antes de uma barra invertida.)

Essa cadeia de caracteres será Unicode se _WIN32_WINNT ou FORCE_UNICODE estiver definido.

[in] username

Ponteiro para uma cadeia de caracteres que especifica o nome do usuário ou o nome da conexão. Se a cadeia de caracteres começar com duas barras invertidas ("\"), ela indicará o nome da conexão, por exemplo, "\127.0.0.1" ou "\ClientName". A parte do nome da conexão após as barras invertidas é a mesma que o nome do cliente na estrutura de informações de sessão retornada pela função NetSessionEnum . Se a cadeia de caracteres não começar com duas barras invertidas, ela indicará o nome do usuário. Se esse parâmetro não for NULL, seu valor servirá como um qualificador para a enumeração. Os arquivos retornados são limitados àqueles que têm nomes de usuário ou nomes de conexão que correspondem ao qualificador. Se esse parâmetro for NULL, nenhum qualificador de nome de usuário será usado.

Windows Server 2008, Windows Vista, Windows Server 2003 e Windows XP: Esse parâmetro é um ponteiro para uma cadeia de caracteres que especifica o nome do usuário. Se esse parâmetro não for NULL, seu valor servirá como um qualificador para a enumeração. Os arquivos retornados são limitados àqueles que têm nomes de usuário correspondentes ao qualificador. Se esse parâmetro for NULL, nenhum qualificador de nome de usuário será usado.

Essa cadeia de caracteres será Unicode se _WIN32_WINNT ou FORCE_UNICODE estiver definido.

[in] level

Especifica o nível de informações dos dados. Esse parâmetro pode usar um dos valores a seguir.

Valor Significado
2
Retornar o número de identificação do arquivo. O parâmetro bufptr aponta para uma matriz de estruturas de FILE_INFO_2 .
3
Retornar informações sobre o arquivo. O parâmetro bufptr aponta para uma matriz de estruturas de FILE_INFO_3 .

[out] bufptr

Ponteiro para o endereço do buffer que recebe as informações. O formato desses dados depende do valor do parâmetro de nível .

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 de entradas que poderiam ter sido enumeradas da posição de currículo atual. Observe que os aplicativos devem considerar esse valor apenas como uma dica.

[in, out] resume_handle

Ponteiro para um valor que contém um identificador de currículo que é usado para continuar uma pesquisa de arquivo 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.

Retornar valor

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 seguintes códigos de erro.

Código de retorno Descrição
ERROR_ACCESS_DENIED
O usuário não tem acesso às informações solicitadas.
ERROR_INVALID_LEVEL
O valor especificado para o parâmetro de nível não é válido.
ERROR_MORE_DATA
Mais entradas estão disponíveis. Especifique um buffer grande o suficiente para receber todas as entradas.
ERROR_NOT_ENOUGH_MEMORY
Memória insuficiente disponível.
NERR_BufTooSmall
O buffer fornecido é muito pequeno.

Comentários

Somente membros do grupo local Administradores ou Operadores de Servidor podem executar com êxito a função NetFileEnum .

Você pode chamar a função NetFileGetInfo para recuperar informações sobre uma abertura específica de um recurso de servidor.

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 NetFileEnum. Para obter mais informações, consulte IADsResource e IADsFileServiceOperations.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows XP [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2003 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho lmshare.h (inclua Lm.h)
Biblioteca Netapi32.lib
DLL Netapi32.dll

Confira também

FILE_INFO_2

FILE_INFO_3

Funções NetFile

NetFileGetInfo

Funções de gerenciamento de rede

Visão geral do gerenciamento de rede