Función NetFileEnum (lmshare.h)

Devuelve información sobre algunos o todos los archivos abiertos en un servidor, en función de los parámetros especificados.

Sintaxis

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

Puntero a una cadena 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.

Esta cadena es Unicode si se define _WIN32_WINNT o FORCE_UNICODE .

[in] basepath

Puntero a una cadena que especifica un calificador para la información devuelta. Si este parámetro es NULL, se enumeran todos los recursos abiertos. Si este parámetro no es NULL, la función enumera solo los recursos que tienen el valor del parámetro basepath como prefijo. (Un prefijo es la parte de una ruta de acceso que viene antes de una barra diagonal inversa).

Esta cadena es Unicode si se define _WIN32_WINNT o FORCE_UNICODE .

[in] username

Puntero a una cadena que especifica el nombre del usuario o el nombre de la conexión. Si la cadena comienza con dos barras diagonales inversas ("\"), indica el nombre de la conexión, por ejemplo, "\127.0.0.1" o "\ClientName". La parte del nombre de conexión después de las barras diagonales inversas es la misma que el nombre de cliente en la estructura de información de sesión devuelta por la función NetSessionEnum . Si la cadena no comienza con dos barras diagonales inversas, indica el nombre del usuario. Si este parámetro no es NULL, su valor sirve como calificador para la enumeración. Los archivos devueltos se limitan a aquellos que tienen nombres de usuario o nombres de conexión que coinciden con el calificador. Si este parámetro es NULL, no se usa ningún calificador de nombre de usuario.

Windows Server 2008, Windows Vista, Windows Server 2003 y Windows XP: Este parámetro es un puntero a una cadena que especifica el nombre del usuario. Si este parámetro no es NULL, su valor sirve como calificador para la enumeración. Los archivos devueltos se limitan a aquellos que tienen nombres de usuario que coinciden con el calificador. Si este parámetro es NULL, no se usa ningún calificador de nombre de usuario.

Esta cadena es Unicode si se define _WIN32_WINNT o FORCE_UNICODE .

[in] level

Especifica el nivel de información de los datos. Este parámetro puede ser uno de los valores siguientes.

Valor Significado
2
Devuelve el número de identificación del archivo. El parámetro bufptr apunta a una matriz de estructuras FILE_INFO_2 .
3
Devuelve información sobre el archivo. El parámetro bufptr apunta a una matriz de estructuras FILE_INFO_3 .

[out] bufptr

Puntero a la dirección del búfer que recibe la informació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. Tenga en cuenta que las aplicaciones deben considerar este valor solo como sugerencia.

[in, out] resume_handle

Puntero a un valor que contiene un identificador de reanudación que se usa para continuar una búsqueda de archivos 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 ejecuta 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
ERROR_ACCESS_DENIED
El usuario no tiene acceso a la información pedida.
ERROR_INVALID_LEVEL
El valor especificado para el parámetro level no es válido.
ERROR_MORE_DATA
Hay más entradas disponibles. Especifique un búfer suficientemente grande para recibir todas las entradas.
ERROR_NOT_ENOUGH_MEMORY
No hay suficiente memoria disponible.
NERR_BufTooSmall
El búfer proporcionado es demasiado pequeño.

Comentarios

Solo los miembros del grupo local Administradores o Operadores de servidor pueden ejecutar correctamente la función NetFileEnum .

Puede llamar a la función NetFileGetInfo para recuperar información sobre una apertura determinada de un recurso de servidor.

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 NetFileEnum. Para obtener más información, vea IADsResource e IADsFileServiceOperations.

Requisitos

Requisito Value
Cliente mínimo compatible Windows XP [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2003 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado lmshare.h (include Lm.h)
Library Netapi32.lib
Archivo DLL Netapi32.dll

Consulte también

FILE_INFO_2

FILE_INFO_3

Funciones de NetFile

NetFileGetInfo

Funciones de administración de redes

Introducción a la administración de redes