Compartir a través de


Función FtpOpenFileW (wininet.h)

Inicia el acceso a un archivo remoto en un servidor FTP para leer o escribir.

Sintaxis

HINTERNET FtpOpenFileW(
  [in] HINTERNET hConnect,
  [in] LPCWSTR   lpszFileName,
  [in] DWORD     dwAccess,
  [in] DWORD     dwFlags,
  [in] DWORD_PTR dwContext
);

Parámetros

[in] hConnect

Controlar a una sesión ftp.

[in] lpszFileName

Puntero a una cadena terminada en NULL que contiene el nombre del archivo al que se va a tener acceso.

[in] dwAccess

Acceso a archivos. Este parámetro puede ser GENERIC_READ o GENERIC_WRITE, pero no ambos.

[in] dwFlags

Condiciones en las que se producen las transferencias. La aplicación debe seleccionar un tipo de transferencia y cualquiera de las marcas que indican cómo se controlará el almacenamiento en caché del archivo.

El tipo de transferencia puede ser uno de los siguientes valores.

Valor Significado
FTP_TRANSFER_TYPE_ASCII
Transfiere el archivo mediante el método de transferencia ASCII (tipo A) de FTP. La información de control y formato se convierte en equivalentes locales.
FTP_TRANSFER_TYPE_BINARY
Transfiere el archivo mediante el método de transferencia imagen (tipo I) de FTP. El archivo se transfiere exactamente como existe sin cambios. Este es el método de transferencia predeterminado.
FTP_TRANSFER_TYPE_UNKNOWN
El valor predeterminado es FTP_TRANSFER_TYPE_BINARY.
INTERNET_FLAG_TRANSFER_ASCII
Transfiere el archivo como ASCII.
INTERNET_FLAG_TRANSFER_BINARY
Transfiere el archivo como binario.
 

Los siguientes valores se usan para controlar el almacenamiento en caché del archivo. La aplicación puede usar uno o varios de estos valores.

Valor Significado
INTERNET_FLAG_HYPERLINK
Fuerza una recarga si no había ninguna hora de expiración y no se devolvió la hora lastModified del servidor al determinar si se debe volver a cargar el elemento de la red.
INTERNET_FLAG_NEED_FILE
Hace que se cree un archivo temporal si el archivo no se puede almacenar en caché.
INTERNET_FLAG_RELOAD
Fuerza una descarga del archivo, el objeto o la lista de directorios solicitados desde el servidor de origen, no desde la memoria caché.
INTERNET_FLAG_RESYNCHRONIZE
Recarga los recursos HTTP si el recurso se ha modificado desde la última vez que se descargó. Todos los recursos FTP se vuelven a cargar.

Windows XP y Windows Server 2003 R2 y versiones anteriores: también se vuelven a cargar recursos de Gopher.

[in] dwContext

Puntero a una variable que contiene el valor definido por la aplicación que asocia esta búsqueda a los datos de la aplicación. Esto 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 si se ejecuta correctamente o null de lo contrario. Para recuperar un mensaje de error específico, llame a GetLastError.

Observaciones

Después de llamar a FtpOpenFile y hasta que llame a InternetCloseHandle, se producirá un error en todas las demás llamadas a funciones FTP en el mismo identificador de sesión FTP y se establecerá el mensaje de error en ERROR_FTP_TRANSFER_IN_PROGRESS. Después de que la aplicación de llamada haya terminado de usar el identificador de HINTERNET devuelto por FtpOpenFile, debe cerrarse mediante la función InternetCloseHandle.

Solo se puede abrir un archivo en una sola sesión FTP. Por lo tanto, no se devuelve ningún identificador de archivo y la aplicación simplemente usa el identificador de sesión FTP cuando sea necesario.

El parámetro lpszFileName puede ser un nombre de archivo completo o parcial con respecto al directorio actual.

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 FtpOpenFile 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