159さん
160さん
レスありがとうございます。

>160
>・IBindStatusCallbackを実装する
>・そいつのインスタンスをURLDownloadToFileの最後に引数に渡す
>・ダウンロード経過に応じてIBindStatusCallback::OnProgressが呼ばれるので、そこで好きにする

「IBindStatusCallback」インスタンス化する方法がわかっていません。
とりあえず次のような感じで書いてみましたが・・・

#include <atlfile.h>
class CURLDownloadCB : public CBindStatusCallback<CURLDownloadCB>
{
}

compileしますと、次のようなエラー出てしまい先に進めずにいます。
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\atlmfc\include\atlctl.h(3403) : error C2039: '_ThreadModel' : 'CURLDownloadCB' のメンバではありません。
c:\prj\test.h(121) : 'CURLDownloadCB' の宣言を確認してください。
c:\prj\test.h(122) : コンパイルされたクラスのテンプレートのインスタンス化 'ATL::CBindStatusCallback<T>' の参照を確認してください
with
[
T=CURLDownloadCB
]
(このあとエラーが続きます)

恥ずかしながら、C++のテンプレートの理解が乏しく解決できずにいます。
参考になりそうなサンプルコードなどがどこかにありましたら紹介いただけないでしょうか。
よろしくお願いします。