- PR -

UserPostMessageLimitの設定値について

1
投稿者投稿内容
まにゃの
会議室デビュー日: 2005/03/31
投稿数: 8
投稿日時: 2008-03-12 16:34
こんにちは。
あるWindows(XP)のシステムにエラーが発生するのでのメンテナンスを依頼されたのですが、
状況を見ると自作アプリの負荷が上がった場合にスレッド間通信(PostMessage)、
で失敗(ERROR_NOT_ENOUGH_QUOTA(1816))していることがわかりました。

1816エラーを手がかりに調査したところ、自作アプリの負荷が上がると
メッセージのやり取りが多くなりリソースが不足(キューフル)していることが判明しました。
アプリのつくりが悪そうなのでメッセージ発行方法を検討しなおすのですが、
時間がかかるため、当面の対応が必要になり、
仕方なくWindows XPのレジストリを変更することにしました。
それで"UserPostMessageLimit"の値まで行き着いたのですが
最小値4000、(デフォルト値 or Max値?)10000と書いているのですが、
私がメンテナンスを依頼されたシステムは既に"50000"となっており、
違和感を感じています。

UserPostMessageLimitの値を10000以上にして良いものなのでしょうか?
(無論、microsoft社が推奨していないのはわかりますが、、、)
また、UserPostMessageLimitはメッセージキューの深さを単に増やす
だけのレジストリなのでしょうか?(キューではなくてヒープ増やすだけとか、、、)

(参考URL)
http://yokohama.cool.ne.jp/chokuto/advanced/function/PostMessage.html

ご存知の方、いらっしゃいましたらご教授いただけると幸いです。
1

スキルアップ/キャリアアップ(JOB@IT)