다음을 통해 공유


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
라이브러리 위니넷 lib
DLL Wininet.dll

참고 항목

FTP 세션

winINet Functions