プロが教える店舗&オフィスのセキュリティ対策術

はじめまして質問させてもらいます
今 URLDownloadToFile を使ったダウンローダを作っているのですが
昨日は動いたのですが今日動かすとエラーが返ってきます
原因は何でしょうか?

h = URLDownloadToFile( 0, http, file, 0, 0 );
if( h != S_OK ) {
printf( "error\n" ); // 今日はエラー、昨日は正常に動いていた
}

OS:WindowsXP
VisualC++6.0です
よろしくおねがいします

A 回答 (1件)

「サイトが閉じた」か「保存先のフォルダがない」か「保存先に既に保存済み」でエラーになってませんか?



とにかく、S_OK以外の、どういう数値(どういうエラーコード)が返って来ているか表示してみて、何のエラーか確かめ、エラーコードから原因が推測できない場合にのみ、もう1度質問してみて下さい。

この回答への補足

回答ありがとうございます
h = URLDownloadToFile( 0, http, file, 0, 0 );
switch(h){
case S_OK:
printf( " success.\n" );
break;
case E_OUTOFMEMORY:
printf( " E_OUTOFMEMORY\n" );
break;
case INET_E_DOWNLOAD_FAILURE:
printf( " INET_E_DOWNLOAD_FAILURE\n" );
break;
default:
intval;
charbuf[1024];
val = GetLastError();
wsprintf( buf, " errorcode: %d\n", val );
printf( buf );
break;
}
のように全部のエラーコードを調べた結果
最後のdefaultに入り エラーコードは6で
VisualC++6.0のツールのエラー検索で調べたところ
ハンドルが無効なようで
どこにもそういった部分が入る余地がないのです
サイトもインターネットエクスプローラで開けますし、
保存先も容量もあるので、何が原因か分からない状態です

補足日時:2008/11/15 16:25
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!