人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

WININET.DLLのFtpGetFileSize()で4GB以上のファイルサイズが取得できない。
(dwFileSizeHighに0しか返ってこない)
かわりにFtpFindFirstFile()を使ってみてもだめでした。

なぜでしょう?または代替案はないですか?
ちなみにFTPサーバはIISのやつ、ファイルシステムはNTFSです。

●質問者: ohmix1
●カテゴリ:コンピュータ
✍キーワード:DLL FTP IIS NTFS サイズ
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● kurukuru-neko
●60ポイント

IISに4Gigabyteの制限がありますこれに

あたってませんか?

http://support.microsoft.com/default.aspx?scid=kb;en-us;185093

Widows 2003サーバだとIIS+サービスパックによっては、

4G超えることが出来ようです。

ブラウザのアドレスバーに

ftp://xxxxxxx/

でアクセスして 4G超のファイルは

保存は出来ますか?


FTPサーバをIIS以外のLinux等のもので

確認する事をお勧めします。

KNOPPIX

http://unit.aist.go.jp/itri/knoppix/win/

◎質問者からの返答

ありがとうございます。


ブラウザでもサイズがおかしいです。

でも、ftp.exeではちゃんと表示されるので、FTPサーバの問題ではないと思います。


とりあえず、以下の手順で回避できました。

1. FTPのSIZEコマンド発行

FtpCommand(hConn, FALSE, FTP_TRANSFER_TYPE_ASCII, _T("SIZE file.bin"), 0, NULL);

2. レスポンス取得

InternetGetLastResponseInfo( &dwRet, szBuff, &dwBuffSize);

3. 数値に変換

__int64 filesize = _tstoi64(szBuff+3);

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ