FtpOpenFileA 함수(wininet.h)

읽기 또는 쓰기를 위해 FTP 서버의 원격 파일에 대한 액세스를 시작합니다.

구문

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

매개 변수

[in] hConnect

FTP 세션에 대한 핸들입니다.

[in] lpszFileName

액세스할 파일의 이름을 포함하는 null로 끝나는 문자열에 대한 포인터입니다.

[in] dwAccess

파일 액세스. 이 매개 변수는 GENERIC_READ 또는 GENERIC_WRITE 수 있지만 둘 다 사용할 수는 없습니다.

[in] dwFlags

전송이 발생하는 조건입니다. 애플리케이션은 하나의 전송 형식과 파일 캐싱을 제어하는 방법을 나타내는 플래그를 선택해야 합니다.

전송 형식은 다음 값 중 하나일 수 있습니다.

의미
FTP_TRANSFER_TYPE_ASCII
FTP의 ASCII(형식 A) 전송 방법을 사용하여 파일을 전송합니다. 제어 및 서식 지정 정보는 로컬에 해당하는 정보로 변환됩니다.
FTP_TRANSFER_TYPE_BINARY
FTP의 Image(Type I) 전송 방법을 사용하여 파일을 전송합니다. 파일은 변경 없이 존재하는 그대로 전송됩니다. 기본 전송 방법입니다.
FTP_TRANSFER_TYPE_UNKNOWN
기본값은 FTP_TRANSFER_TYPE_BINARY.
INTERNET_FLAG_TRANSFER_ASCII
파일을 ASCII로 전송합니다.
INTERNET_FLAG_TRANSFER_BINARY
파일을 이진 파일로 전송합니다.
 

다음 값은 파일의 캐싱을 제어하는 데 사용됩니다. 애플리케이션은 이러한 값 중 하나 이상을 사용할 수 있습니다.

의미
INTERNET_FLAG_HYPERLINK
네트워크에서 항목을 다시 로드할지 여부를 결정할 때 만료 시간이 없고 서버에서 반환된 LastModified 시간이 없으면 강제로 다시 로드합니다.
INTERNET_FLAG_NEED_FILE
파일을 캐시할 수 없는 경우 임시 파일을 만듭니다.
INTERNET_FLAG_RELOAD
캐시가 아니라 원본 서버에서 요청한 파일, 개체 또는 디렉터리 목록을 다운로드합니다.
INTERNET_FLAG_RESYNCHRONIZE
리소스가 마지막으로 다운로드된 이후 수정된 경우 HTTP 리소스를 다시 로드합니다. 모든 FTP 리소스가 다시 로드됩니다.

Windows XP 및 Windows Server 2003 R2 이하: Gopher 리소스도 다시 로드됩니다.

[in] dwContext

이 검색을 모든 애플리케이션 데이터와 연결하는 애플리케이션 정의 값이 포함된 변수에 대한 포인터입니다. 이는 애플리케이션이 이미 InternetSetStatusCallback을 호출하여 상태 콜백 함수를 설정한 경우에만 사용됩니다.

반환 값

성공하면 핸들을 반환하고, 그렇지 않으면 NULL 을 반환합니다. 특정 오류 메시지를 검색하려면 GetLastError를 호출합니다.

설명

FtpOpenFile을 호출하고 InternetCloseHandle을 호출할 때까지 동일한 FTP 세션 핸들의 FTP 함수에 대한 다른 모든 호출이 실패하고 오류 메시지를 ERROR_FTP_TRANSFER_IN_PROGRESS 설정합니다. 호출 애플리케이션이 FtpOpenFile에서 반환된 HINTERNET 핸들 사용을 완료한 후에는 InternetCloseHandle 함수를 사용하여 닫혀야 합니다.

단일 FTP 세션에서는 하나의 파일만 열 수 있습니다. 따라서 파일 핸들이 반환되지 않으며 애플리케이션은 필요한 경우 FTP 세션 핸들만 사용합니다.

lpszFileName 매개 변수는 현재 디렉터리를 기준으로 부분적으로 또는 정규화된 파일 이름일 수 있습니다.

WinINet API의 다른 모든 측면과 마찬가지로 이 함수는 DllMain 내에서 또는 전역 개체의 생성자 및 소멸자에서 안전하게 호출할 수 없습니다.

참고 WinINet은 서버 구현을 지원하지 않습니다. 또한 서비스에서 사용하지 않아야 합니다. 서버 구현 또는 서비스의 경우 WinHTTP(Microsoft Windows HTTP 서비스)를 사용합니다.
 

참고

wininet.h 헤더는 FTpOpenFile을 유니코드 전처리기 상수의 정의에 따라 이 함수의 ANSI 또는 유니코드 버전을 자동으로 선택하는 별칭으로 정의합니다. 인코딩 중립 별칭을 인코딩 중립이 아닌 코드와 혼합하면 컴파일 또는 런타임 오류가 발생하는 불일치가 발생할 수 있습니다. 자세한 내용은 함수 프로토타입에 대한 규칙을 참조하세요.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 2000 Professional[데스크톱 앱만]
지원되는 최소 서버 Windows 2000 Server[데스크톱 앱만]
대상 플랫폼 Windows
헤더 wininet.h
라이브러리 Wininet.lib
DLL Wininet.dll

추가 정보

FTP 세션

WinINet 함수