WinInet 利用プログラミング(2) | 今宵は月が高い。注意されたし。

WinInet 利用プログラミング(2)

InternetReadFile に於いて、読み込みバッファの適正サイズを取得する InternetQueryDataAvailable の返す値って何か根拠あるんですかね…… 単にサーバーがこういう値を使って通信してるという事だろうか? それとも対象のファイルの大きさに比例しているのかも……ファイルサイズが割り切れるような数で最小限のループになるように、とか。

もののサンプルには、読み込みループの中に入れて毎回取得しているのがあって謎。これって読み込む度に変わるものなのか~? 単なる大ボケ算譜と言う感じもします。
っていうか、そもそも、バッファを大きく確保しても不味い事は無いと思うんですけど……
同様に、確保する時に+1する必要は無いみたいですし。ヌル文字ついてこない(途中だとつける意味もない)。それに Delphi の場合だと読み込んだサイズでCopy()するだけなんでヌルついてようがいまいが関係ない。もし付いていたとしても、InternetReadFile が返す読み込んだ長さでコピーするので問題ないわけ。

あとメモリの置き場所もローカルだったりグローバルだったり。どっちが正しいんだよぅ。