質問

アプリケーションはDCOMからシステムコール失敗RPCエラー( 0x80010100 )を受け取っていますが、ターゲットスレッドのメッセージキューがいっぱいになっていると思われます(ただし、これは確実ではありません)。キューは 10,000 メッセージに制限されていますそして、私たちが一般的なケースでこの数に近いかどうかを見たいです。スレッドのメッセージキューのサイズを監視する方法はありますか?

私が見つけた最も有望なオプションは でした。 GetQueueStatus 。ただし、キュー内のメッセージの数はそのタイプのみを含みません。

役に立ちましたか?

解決

キューのサイズを監視する方法がわかりません(カーネルデバッガーを使用し、TIB + [0x40]の内部Win32Threadデータ構造をグルーブする以外は、ほとんどお勧めしません)。

デバッグ目的で、エラーが発生したときにキューがいっぱいかどうかを確認するには、PostThreadMessageを実行してください。いっぱいの場合、呼び出しはGetLastError()== 0x718で失敗します。 (このコマンドを処理するのに十分なクォータがありません。)

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top