Compartir a través de


Función FtpFindFirstFileA (wininet.h)

Busca en el directorio especificado de la sesión FTP especificada. Las entradas de archivo y directorio se devuelven a la aplicación en la estructura WIN32_FIND_DATA.

Sintaxis

HINTERNET FtpFindFirstFileA(
  [in]  HINTERNET          hConnect,
  [in]  LPCSTR             lpszSearchFile,
  [out] LPWIN32_FIND_DATAA lpFindFileData,
  [in]  DWORD              dwFlags,
  [in]  DWORD_PTR          dwContext
);

Parámetros

[in] hConnect

Identificador de una sesión FTP devuelta desde InternetConnect.

[in] lpszSearchFile

Puntero a un cadena terminada en nullque especifica una ruta de acceso de directorio o un nombre de archivo válidos para el sistema de archivos del servidor FTP. La cadena puede contener caracteres comodín, pero no se permiten espacios en blanco. Si el valor de lpszSearchFile es NULL o si es una cadena vacía, la función busca el primer archivo en el directorio actual del servidor.

[out] lpFindFileData

Puntero a una estructura de WIN32_FIND_DATA que recibe información sobre el archivo o directorio encontrados.

[in] dwFlags

Controla el comportamiento de esta función. Este parámetro puede ser una combinación de los siguientes valores.

INTERNET_FLAG_HYPERLINK

INTERNET_FLAG_NEED_FILE

INTERNET_FLAG_NO_CACHE_WRITE

INTERNET_FLAG_RELOAD

INTERNET_FLAG_RESYNCHRONIZE

[in] dwContext

Puntero a una variable que especifica el valor definido por la aplicación que asocia esta búsqueda a los datos de la aplicación. Este parámetro solo se usa si la aplicación ya ha llamado a InternetSetStatusCallback para configurar una función de devolución de llamada de estado.

Valor devuelto

Devuelve un identificador válido para la solicitud si la enumeración de directorios se inició correctamente o devuelve NULL de lo contrario. Para obtener un mensaje de error específico, llame a GetLastError. Si GetLastError devuelve ERROR_INTERNET_EXTENDED_ERROR, como en el caso en el que la función no encuentra archivos coincidentes, llame a la función InternetGetLastResponseInfo para recuperar el texto de error extendido, como se documenta en Control de errores.

Observaciones

Para FtpFindFirstFile, los tiempos de archivo devueltos en la estructura WIN32_FIND_DATA están en la zona horaria local, no en un formato de hora universal coordinada (UTC).

FtpFindFirstFile es similar a la función findFirstFile . Sin embargo, tenga en cuenta que solo una FtpFindFirstFile puede producirse a la vez dentro de una sesión FTP determinada. Por lo tanto, las enumeraciones se correlacionan con el identificador de sesión ftp. Esto se debe a que el protocolo FTP solo permite una enumeración de directorio única por sesión.

Después de llamar a ftpFindFirstFile y hasta que llame a InternetCloseHandle, la aplicación no puede llamar a FtpFindFirstFile de nuevo en el identificador de sesión FTP determinado. Si se realiza una llamada a ftpFindFirstFile en ese identificador, se produce un error en la función con ERROR_FTP_TRANSFER_IN_PROGRESS. Después de que la aplicación de llamada haya terminado de usar el identificador de HINTERNET devuelto por FtpFindFirstFile, debe cerrarse mediante la función InternetCloseHandle.

Después de iniciar una enumeración de directorios con FtpFindFirstFile, la función InternetFindNextFile se puede usar para continuar con la enumeración.

Dado que el protocolo FTP no proporciona ningún medio estándar de enumeración, parte de la información común sobre archivos, como la fecha y hora de creación de archivos, no siempre está disponible o correcto. Cuando esto sucede, ftpFindFirstFile y InternetFindNextFile rellenar la información no disponible con una mejor estimación basada en la información disponible. Por ejemplo, las fechas de creación y último acceso suelen ser las mismas que la fecha de modificación del archivo.

La aplicación no puede llamar a ftpFindFirstFile entre llamadas a ftpOpenFile y InternetCloseHandle.

Al igual que todos los demás aspectos de la API de WinINet, esta función no se puede llamar de forma segura desde DllMain ni desde los constructores y destructores de objetos globales.

Nota WinINet no admite implementaciones de servidor. Además, no se debe usar desde un servicio. En el caso de las implementaciones de servidor o los servicios, use Servicios HTTP de Microsoft Windows (WinHTTP).
 

Nota

El encabezado wininet.h define FtpFindFirstFile como alias que selecciona automáticamente la versión ANSI o Unicode de esta función en función de la definición de la constante de preprocesador UNICODE. La combinación del uso del alias neutral de codificación con código que no es neutral de codificación puede dar lugar a errores de coincidencia que dan lugar a errores de compilación o tiempo de ejecución. Para obtener más información, vea Conventions for Function Prototypes.

Requisitos

Requisito Valor
cliente mínimo admitido Windows 2000 Professional [solo aplicaciones de escritorio]
servidor mínimo admitido Windows 2000 Server [solo aplicaciones de escritorio]
de la plataforma de destino de Windows
encabezado de wininet.h
biblioteca de Wininet.lib
DLL de Wininet.dll

Consulte también

sesiones FTP de

funciones winINet