BOOL FtpPutFile( IN HINTERNET hFtpSession, IN LPCSTR LocalFileName, IN LPCSTR RemoteFileName, IN DWORD Flags, IN DWORD Context);
引数の意味は以下の通り。
| hFtpSession | FTPセッションのハンドル。 |
| LocalFileName | 転送元のファイル名。 |
| RemoteFileName | 転送先のファイル名。 |
| Flags | 転送方法を指定するフラグ。後述の表を参照。 |
| Context | アプリケーション定義のコールバック関数に渡す32bit値。 |
Flagsに指定可能な値は、以下のフラグの組み合わせである。
| INTERNET_FLAG_DONT_CACHE | |
| INTERNET_FLAG_HYPERLINK | |
| INTERNET_FLAG_MAKE_PERSISTENT | |
| INTERNET_FLAG_MUST_CACHE_REQUEST | |
| INTERNET_FLAG_NEED_FILE | |
| INTERNET_FLAG_NO_CACHE_WRITE | |
| INTERNET_FLAG_RELOAD | |
| INTERNET_FLAG_RESYNCHRONIZE | |
| INTERNET_FLAG_TRANSFER_ASCII | |
| INTERNET_FLAG_TRANSFER_BINARY |
戻り値は、関数の実行に成功したか否かを表す真偽値である。
void PutLocalFile()
{
HINTERNET hInternet;
HINTERNET hFtpSession;
/* WININETの初期化 */
hInternet = InternetOpen(
"WININET Sample Program",
INTERNET_OPEN_TYPE_DIRECT,
NULL,
NULL,
0);
/* FTPセッションの確立 */
hFtpSession = InternetConnect(
hInternet,
"ftp.cool.ne.jp",
INTERNET_DEFAULT_FTP_PORT,
"foo",
"bar",
INTERNET_SERVICE_FTP,
0,
0);
/* ローカルのファイルをリモートへ転送 */
FtpPutFile(
hFtpSession,
"c:\\doc\\hello.html",
"hello.html",
FTP_TRANSFER_TYPE_ASCII,
0);
/* 後処理 */
InternetCloseHandle(hFtpSession);
InternetCloseHandle(hInternet);
}