FindNextUrlCacheEntry()
を呼び出すときにERROR_INSUFFICIENT_BUFFER
エラーが発生しました。次に、拡大したバッファを使用して、失敗したエントリを再度取得したいとします。しかし、FindNextUrlCacheEntry()
を呼び出すと、失敗したエントリの横にあるものを取得していたようです。ちょうど失敗したエントリの情報を取得するために私が戻っていくことができるアプローチはありますか?FindNextUrlCacheEntry()が失敗した場合、失敗したエントリの情報を再度取得する方法はありますか?
答えて
これは価値があるのは、Vistaで解決されるようです。
私はXPでも同じ動作を観察しました。 WinInet APIを使用してIEキャッシュをプログラムでクリアしようとしています。次のMSDNリンクのコードは、Win7/Vistaでは完全に正常に動作しますが、XPではバッチ処理(複数回実行)でキャッシュファイルを削除します。私は、API FindNextUrlCacheEntryが複数回実行されたときに同じエントリに対して異なるサイズを与えることがわかった。
MSDNリンク:http://support.microsoft.com/kb/815718ここ
私がやっているものです:すべての
まず、私は次のURLエントリのサイズを決定するために電話をかける
fSuccess = FindNextUrlCacheEntry(hCacheHandle、0 、& cacheEntryInfoBufferSizeInitial)// cacheEntryInfoBufferSizeInitial = 0上記の呼び出しがないINSUFFICIENT_BUFFERとして及びcacheEntryInfoとエラーでfalseを返すこの時点
でBufferSizeInitialパラメータは、キャッシュエントリを取得するために必要なバッファのサイズ(バイト単位)に等しく設定されます。必要なサイズ(cacheEntryInfoBufferSizeInitial)を割り当てた後、今度は同じWinInet APIを呼び出して、今度はエントリを正常に取得することを期待します。しかし時にはそれは失敗する。私は、より多くのバイトを期待していたため、以前に取得したものを期待しているため、必要なバッファサイズ(それだけで決まっている)であってもAPIが再び失敗するケースがあります。ほとんどの場合、その差は数バイトですが、差がほぼ4〜5倍の場合もあります。
私もこれを経験しました。私は単に返されたNEWサイズを(再び)割り当てます。それは 'FindNextUrlCacheEntry()'へのその後の呼び出しのために働くようです。異なるサイズが返される理由を理解しましたか? –
- 1. gitクローンが失敗した場合の再試行方法は?
- 2. lt_dlopenが失敗した場合の詳細情報の入手方法
- 3. ユニットテストが失敗した場合にmakeが失敗する
- 4. テストが失敗した場合、Android jenkinsビルドに失敗する
- 5. testngテストケースが失敗した場合、Bambooビルドに失敗する
- 6. サブコマンドが失敗した場合、Vagrantのプロビジョニングが失敗することはありますか?
- 7. チェックポイントが失敗した場合、Flinkパイプラインが失敗しますか?
- 8. すべての再試行が失敗した場合にタスクカウンタを減らす方法はありますか?
- 9. トリガーが失敗した場合はどうなりますか?
- 10. Firebase:サインインに失敗した場合、エラーコードを取得する方法は?
- 11. 挿入が失敗した場合の拘束エラーの取得
- 12. 1行が失敗した場合に挿入する方法
- 13. PostDeploy Powershellスクリプトが失敗した場合、Force Octopus Deployのステップが失敗する
- 14. オープンに失敗した場合はどうなりますか?
- 15. Googleマップのマーカー情報が失敗しました(ANDROID)
- 16. タスクが失敗した場合、UNCHECKEDフェイル・ペアレントを持つコマンド・タスクの失敗時にInformaticaワークフローが失敗する
- 17. ステートメントが失敗した場合
- 18. Int32.TryParse()は失敗した場合に0を返します。成功または失敗ですか?
- 19. jQuery ajax - すべての再試行が失敗した場合にのみコールバック関数が失敗する
- 20. 特定のチェックがスクリプトから失敗した場合のpowershellスクリプトの失敗
- 21. ブロックが失敗した場合はクリーンアップステップを実行します。
- 22. 失敗した場合、次のキュウリのステップを渡す方法
- 23. Jenkinsパイプラインで成功/失敗のビルド情報を取得する方法は?
- 24. ダウンロードが失敗した場合のPowerShellコマンドの再試行
- 25. PHP MySQLクエリが失敗する場合がありますか?
- 26. JNI:GetStringUTFChars()は失敗した場合にOOMをスローしますか?
- 27. Postman/Newmanが失敗した場合の再試行
- 28. heredocコマンドが失敗した場合のスクリプトの終了方法
- 29. CMakeLists.txt:ctestが失敗した場合のメッセージの印刷方法
- 30. SQL文が失敗した場合のインスクリプトの決定方法
同じ問題が発生しています。「ERROR_INSUFFICIENT_BUFFER」を避けるために割り当てることができる最大サイズはありますか? – Motti