BOOL InternetWriteFile( IN HINTERNET hFile, IN LPCVOID Buf, IN DWORD BufSize, OUT LPDWORD WriteBytes);
引数の意味は以下の通り。
hFile | FtpOpenFileまたはHttpSendRequestExで返された、書き込み先を識別するハンドル。 |
Buf | 書き込むデータ。 |
BufSize | 書き込むバイト数。 |
WriteBytes | 実際に書き込まれたデータのサイズ。 |
戻り値は、関数の実行に成功したか否かを表す真偽値である。
void WriteTimePage() { SYSTEMTIME st; char buf[1000]; HINTERNET hInternet; HINTERNET hFtpSession; HINTERNET hFile; DWORD WriteBytes; /* 元となるHTMLドキュメントを作成 */ GetLocalTime(&st); wsprintf(buf, "<html>\n\t<body>\n\t\t現在の時刻は %04d/%02d/%02d %02d:%02d:%02dです.\n\t</body>\n</html>\n", st.wYear, st.wMonth, st.wDay, st.wHour, st.wMinute, st.wSecond); /* WININETの初期化 */ hInternet = InternetOpen( "WININET Sample Program", INTERNET_OPEN_TYPE_PRECONFIG, NULL, NULL, 0); /* ftpサイトへ接続 */ hFtpSession = InternetConnect( hInternet, "ftp.hogehoge.herohero", INTERNET_DEFAULT_FTP_PORT, "foo", "bar", INTERNET_SERVICE_FTP, 0, 0); /* “time.html”というファイルを書き込みアクセスでオープン */ hFile = FtpOpenFile( hFtpSession, "time.html", GENERIC_WRITE, FTP_TRANSFER_TYPE_ASCII, 0); /* オープンしたファイルへHTMLドキュメントの内容を書き込む */ InternetWriteFile( hFile, buf, lstrlen(buf) + 1, &WriteBytes); /* 後処理 */ InternetCloseHandle(hFile); InternetCloseHandle(hFtpSession); InternetCloseHandle(hInternet); }