FtpFindFirstFileA 함수(wininet.h)

지정된 FTP 세션의 지정된 디렉터리를 검색합니다. 파일 및 디렉터리 항목은 WIN32_FIND_DATA 구조의 애플리케이션에 반환됩니다.

구문

HINTERNET FtpFindFirstFileA(
  [in]  HINTERNET          hConnect,
  [in]  LPCSTR             lpszSearchFile,
  [out] LPWIN32_FIND_DATAA lpFindFileData,
  [in]  DWORD              dwFlags,
  [in]  DWORD_PTR          dwContext
);

매개 변수

[in] hConnect

InternetConnect에서 반환된 FTP 세션에 대한 핸들입니다.

[in] lpszSearchFile

FTP 서버의 파일 시스템에 대한 유효한 디렉터리 경로 또는 파일 이름을 지정하는 null로 끝나는 문자열에 대한 포인터입니다. 문자열은 와일드카드를 포함할 수 있지만 빈 공백은 허용되지 않습니다. lpszSearchFile 값이 NULL이거나 빈 문자열인 경우 함수는 서버의 현재 디렉터리에서 첫 번째 파일을 찾습니다.

[out] lpFindFileData

찾은 파일 또는 디렉터리에 대한 정보를 수신하는 WIN32_FIND_DATA 구조체에 대한 포인터입니다.

[in] dwFlags

이 함수의 동작을 제어합니다. 이 매개 변수는 다음 값의 조합일 수 있습니다.

INTERNET_FLAG_HYPERLINK

INTERNET_FLAG_NEED_FILE

INTERNET_FLAG_NO_CACHE_WRITE

INTERNET_FLAG_RELOAD

INTERNET_FLAG_RESYNCHRONIZE

[in] dwContext

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

반환 값

디렉터리 열거가 성공적으로 시작된 경우 요청에 대한 유효한 핸들을 반환하거나, 그렇지 않으면 NULL 을 반환합니다. 특정 오류 메시지를 얻으려면 GetLastError를 호출합니다. 함수가 일치하는 파일을 찾지 않는 경우와 같이 GetLastError 가 ERROR_INTERNET_EXTENDED_ERROR 반환하는 경우 InternetGetLastResponseInfo 함수를 호출하여 오류 처리에 설명된 대로 확장된 오류 텍스트를 검색합니다.

설명

FtpFindFirstFile의 경우 WIN32_FIND_DATA 구조에서 반환된 파일 시간은 UTC(협정 세계시) 형식이 아닌 현지 표준 시간대에 있습니다.

FtpFindFirstFileFindFirstFile 함수와 유사합니다. 그러나 지정된 FTP 세션 내에서 한 번에 하나의 FtpFindFirstFile 만 발생할 수 있습니다. 따라서 열거형은 FTP 세션 핸들과 상관 관계가 있습니다. FTP 프로토콜은 세션당 단일 디렉터리 열거만 허용하기 때문입니다.

FtpFindFirstFile을 호출하고 InternetCloseHandle을 호출할 때까지 애플리케이션은 지정된 FTP 세션 핸들에서 FtpFindFirstFile을 다시 호출할 수 없습니다. 해당 핸들에서 FtpFindFirstFile 을 호출하면 함수가 ERROR_FTP_TRANSFER_IN_PROGRESS 실패합니다. FtpFindFirstFile에서 반환된 HINTERNET 핸들을 사용하여 호출 애플리케이션을 완료한 후에는 InternetCloseHandle 함수를 사용하여 닫아야 합니다.

FtpFindFirstFile을 사용하여 디렉터리 열거를 시작한 후 InternetFindNextFile 함수를 사용하여 열거형을 계속할 수 있습니다.

FTP 프로토콜은 표준 열거 수단을 제공하지 않으므로 파일 만들기 날짜 및 시간과 같은 파일에 대한 일반적인 정보 중 일부가 항상 사용 가능하거나 올바르지는 않습니다. 이 경우 FtpFindFirstFileInternetFindNextFile 은 사용 가능한 정보를 기반으로 최상의 추측으로 사용할 수 없는 정보를 채웁니다. 예를 들어 만들기 및 마지막 액세스 날짜는 파일의 수정 날짜와 동일한 경우가 많습니다.

애플리케이션은 FtpOpenFile 및 InternetCloseHandle 호출 간에 FtpFindFirstFile을 호출할 수 없습니다.

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

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

참고

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

요구 사항

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

추가 정보

FTP 세션

WinINet 함수