Função FtpOpenFileA (wininet.h)

Inicia o acesso a um arquivo remoto em um servidor FTP para leitura ou gravação.

Sintaxe

HINTERNET FtpOpenFileA(
  [in] HINTERNET hConnect,
  [in] LPCSTR    lpszFileName,
  [in] DWORD     dwAccess,
  [in] DWORD     dwFlags,
  [in] DWORD_PTR dwContext
);

Parâmetros

[in] hConnect

Manipule para uma sessão FTP.

[in] lpszFileName

Ponteiro para uma cadeia de caracteres terminada em nulo que contém o nome do arquivo a ser acessado.

[in] dwAccess

Acesso a arquivos. Esse parâmetro pode ser GENERIC_READ ou GENERIC_WRITE, mas não ambos.

[in] dwFlags

Condições sob as quais as transferências ocorrem. O aplicativo deve selecionar um tipo de transferência e qualquer um dos sinalizadores que indicam como o cache do arquivo será controlado.

O tipo de transferência pode ser um dos valores a seguir.

Valor Significado
FTP_TRANSFER_TYPE_ASCII
Transfere o arquivo usando o método de transferência ASCII (Tipo A) do FTP. As informações de controle e formatação são convertidas em equivalentes locais.
FTP_TRANSFER_TYPE_BINARY
Transfere o arquivo usando o método de transferência image (Tipo I) do FTP. O arquivo é transferido exatamente como existe sem alterações. Esse é o método de transferência padrão.
FTP_TRANSFER_TYPE_UNKNOWN
O padrão é FTP_TRANSFER_TYPE_BINARY.
INTERNET_FLAG_TRANSFER_ASCII
Transfere o arquivo como ASCII.
INTERNET_FLAG_TRANSFER_BINARY
Transfere o arquivo como binário.
 

Os valores a seguir são usados para controlar o cache do arquivo. O aplicativo pode usar um ou mais desses valores.

Valor Significado
INTERNET_FLAG_HYPERLINK
Força um recarregamento se não houver tempo expirado e nenhum tempo LastModified retornado do servidor ao determinar se o item deve ser recarregado da rede.
INTERNET_FLAG_NEED_FILE
Faz com que um arquivo temporário seja criado se o arquivo não puder ser armazenado em cache.
INTERNET_FLAG_RELOAD
Força um download do arquivo, objeto ou listagem de diretório solicitado do servidor de origem, não do cache.
INTERNET_FLAG_RESYNCHRONIZE
Recarrega recursos HTTP se o recurso tiver sido modificado desde a última vez em que foi baixado. Todos os recursos de FTP são recarregados.

Windows XP e Windows Server 2003 R2 e versões anteriores: Os recursos gopher também são recarregados.

[in] dwContext

Ponteiro para uma variável que contém o valor definido pelo aplicativo que associa essa pesquisa a todos os dados do aplicativo. Isso só será usado se o aplicativo já tiver chamado InternetSetStatusCallback para configurar um status função de retorno de chamada.

Retornar valor

Retorna um identificador se tiver êxito ou NULL caso contrário. Para recuperar uma mensagem de erro específica, chame GetLastError.

Comentários

Depois de chamar FtpOpenFile e até chamar InternetCloseHandle, todas as outras chamadas para funções FTP no mesmo identificador de sessão FTP falharão e definirão a mensagem de erro como ERROR_FTP_TRANSFER_IN_PROGRESS. Depois que o aplicativo de chamada terminar de usar o identificador HINTERNET retornado por FtpOpenFile, ele deverá ser fechado usando a função InternetCloseHandle .

Somente um arquivo pode ser aberto em uma única sessão FTP. Portanto, nenhum identificador de arquivo é retornado e o aplicativo simplesmente usa o identificador de sessão FTP quando necessário.

O parâmetro lpszFileName pode ser um nome de arquivo parcial ou totalmente qualificado em relação ao diretório atual.

Como todos os outros aspectos da API WinINet, essa função não pode ser chamada com segurança de dentro de DllMain ou dos construtores e destruidores de objetos globais.

Nota O WinINet não dá suporte a implementações de servidor. Além disso, ele não deve ser usado de um serviço. Para implementações de servidor ou serviços, use Os Serviços HTTP do Microsoft Windows (WinHTTP).
 

Observação

O cabeçalho wininet.h define FtpOpenFile como um alias que seleciona automaticamente a versão ANSI ou Unicode dessa função com base na definição da constante de pré-processador UNICODE. Misturar o uso do alias neutro de codificação com código que não seja neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Convenções para protótipos de função.

Requisitos

Requisito Valor
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 wininet.h
Biblioteca Wininet.lib
DLL Wininet.dll

Confira também

Sessões FTP

Funções WinINet