エラーコード=12019について – プログラミング – Home

エラーコード=12019について
 
通知
すべてクリア

エラーコード=12019について


みや
 みや
(@みや)
ゲスト
結合: 24年前
投稿: 15
Topic starter  

はじめまして。
皆様の知恵を拝借したいと思い、書込みします。

httpでのファイル取得を行うプログラムを作成しており、次のような処理を行っていると
ころ、HttpQueryInfo()の呼出しでエラーコード(GetLastError)が12019で返ってくる場合
があります。
ヘルプ等を確認してみても、「要求された処理に対して、ハンドルは状態が正しくありま
せん。」とだけ記載されていて、このエラーを受けてどう対処すべきなのかがよく判りま
せんでした。

メッセージ内容からは、プログラムエラーのような感じもするのですが、たまにしかエ
ラーとならない事や、一旦Close()して再取得すれば正常に取得できる事から通信状態に
よる気もします。
どなたか、このエラーの意味を知っている方おられましたら、是非ご教授御願い致します。

(処理)
 InternetOpen()→InternetConnect()→HttpOpenRequest()→HttpSendRequest()
 →HttpQueryInfo()(※ここ!)→この後は、データリードとクローズ処理

 ※ちなみに、処理は非同期通信で行っています。


引用解決済
トピックタグ
みや
 みや
(@みや)
ゲスト
結合: 24年前
投稿: 15
Topic starter  

失礼しました。
開発環境明記が抜けていたので追記します。

Win2000 VC6.0SP5 (WININET-APIを直接利用)
 <対象:VC++ラウンジ>

MSDNで以下のような情報は見つけましたが、対象製品が特定されている(PocketPC向け?)
事と他に同様の説明が見つからない事から、これを信じて良いものか判別に困っています。
http://support.microsoft.com/?id=330465

(抜粋)
INTERNET 19
デバイス ソフトウェア エラーが発生するため、
(ERROR_INTERNET_INCORRECT_HANDLE_STATE):同期に失敗した INTERNET_19。 ネットワー
ク管理者に問い合わせてください。
説明: この問題は、一時的なネットワークの問題によって発生する可能性があります。

(対象製品)
・Microsoft Mobile Information Server 2002 Enterprise Edition
・Microsoft Mobile Information Server 2001 Enterprise Edition

以上、よろしく御願いします。


返信引用
ITO
 ITO
(@ITO)
ゲスト
結合: 22年前
投稿: 1235

返信引用
みや
 みや
(@みや)
ゲスト
結合: 24年前
投稿: 15
Topic starter  

ITOさん、情報ありがとうございます。

ただ、同期制御でのインターネットファイル取得としてはサンプルとなるようですが、残
念ながら私が求めていた、エラー(12019)についての対処に繋がる情報は見つかりません
でした。

以上、よろしく御願いします。


返信引用
けんたん
 けんたん
(@けんたん)
ゲスト
結合: 19年前
投稿: 7
 

HttpSendRequestExのことみたいですが、関連があるかもしれないので
一応見てみてください

http://support.microsoft.com/kb/177190/ja


返信引用
みや
 みや
(@みや)
ゲスト
結合: 24年前
投稿: 15
Topic starter  

けんたんさん、情報ありがとうございます。

InternetWriteFileではなく、InternetReadFileなので関係ないのかと捉えていました
が、どうなんでしょう?
とりあえず、ダメ元で試してみる事にします。


返信引用
みや
 みや
(@みや)
ゲスト
結合: 24年前
投稿: 15
Topic starter  

HttpOpenRequestにINTERNET_FLAG_NO_CACHE_WRITEを指定してみましたが、結果は同じで
した。
このエラーが、通信状態によって出るべくして出ているなら問題ないのですが・・・


返信引用
ITO
 ITO
(@ITO)
ゲスト
結合: 22年前
投稿: 1235
 

http://www.codeproject.com/internet/asyncwininet.asp?
df=100&forumid=1409&exp=0&select=86554

http://msdn.microsoft.com/library/default.asp?url=/library/en-
us/winhttp/http/error_messages.asp

エラー 12019 ERROR_WINHTTP_INCORRECT_HANDLE_STATE」
「The requested operation cannot be carried out because the handle supplied is
not in the correct state.」
確認して下さい。

「WinHttpSendRequest」で起こるエラーです。
MSDNで見ましたか?
「同期に失敗した 」ではないです


返信引用
みや
 みや
(@みや)
ゲスト
結合: 24年前
投稿: 15
Topic starter  

ITOさん、情報ありがとうございます。

WinHttpSendRequestという関数もあったのですね。
コード内容としては、基本的に変わりない気もしますが、こちらのコードでも検索してみ
ました。
HttpSendRequest:ERROR_INTERNET_INCORRECT_HANDLE_STATE
WinHttpSendRequest:ERROR_WINHTTP_INCORRECT_HANDLE_STATE
多分、意味は同じなのでしょうけれど。。。

頂いたキーワードで検索していると以下のサイトがみつかりました。
http://www.eggheadcafe.com/ng/microsoft.public.winhttp/post3357837.asp

これを見ていると、もしかしてエラーコードとして12019を返された場合でも
実はQueryStatusCodeを取得するとレスポンス100で返ってくるのかな?
と思ったのですが、違いますでしょうか?
# 激しく英語ができないので、自信なしですが・・・(^^;

試しに、12019が返った際にもエラー処理とせず、ステータスコードを取得してみたいと
思います。
また結果確認できましたら、報告します。

# HTTP通信処理で、このコードが返ればこう処理する、といった流れは
# 皆様どうやって情報を得ているのでしょう・・・?
# 私がMSDNを使えていないだけなのかなぁ。。


返信引用
ITO
 ITO
(@ITO)
ゲスト
結合: 22年前
投稿: 1235
 

 そのサイトを見る限りでは、
   「レスポンス100を行ってみて下さい。」
みたいです。

MFCであれば、日本語ドキュメントがありそうですよね。
この関連は僕も詳しくないです。
すみません。


返信引用
ITO
 ITO
(@ITO)
ゲスト
結合: 22年前
投稿: 1235
 

いまさらながら、MFCでのHTTP

http://frog.raindrop.jp/knowledge/archives/000287.html

参考にどうぞ


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました