Compartilhar via


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 de Imagem (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 da listagem de arquivo, objeto ou 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 FTP são recarregados.

Windows XP e Windows Server 2003 R2 e anteriores: recursos do 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 qualquer dado do aplicativo. Isso só será usado se o aplicativo já tiver chamado InternetSetStatusCallback para configurar uma função de retorno de chamada de status.

Valor de retorno

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

Observações

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.

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

Observaçã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 ou serviços de servidor, use do Microsoft Windows HTTP Services (WinHTTP).
 

Nota

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. A combinação do uso do alias neutro de codificação com código que não é neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Conventions for Function Prototypes.

Requisitos

Requisito Valor
de cliente com suporte mínimo Windows 2000 Professional [somente aplicativos da área de trabalho]
servidor com suporte mínimo Windows 2000 Server [somente aplicativos da área de trabalho]
da Plataforma de Destino Windows
cabeçalho wininet.h
biblioteca Wininet.lib
de DLL Wininet.dll

Consulte também

sessões FTP

do WinINet Functions