キットサポート掲示板
foilskin提供のキット購入前後のサポート掲示板です。COMポート番号の割り当て - foilskin
2011/04/23 (Sat) 08:55:45
この操作には危険が伴います。全ての内容をご理解された上でご使用ください。
OS では COM ポート番号の割り当て状況を管理しており、これを元にして新たな COM ポート番号をアサインします。
しかし COM ポート番号が割り当てられているデバイスインスタンスを削除しても、この管理テーブルには反映されないようです。そこで手動で書き換える方法を示しておきます。
管理テーブルは下記レジストリにあります。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\COM Name Arbiter\ComDB
ビットマップテーブルになっており、テーブルサイズは32バイトの計256ビットで COM1~COM256 を管理します。
列びは LSB ファーストであり、例えば COM1 は0バイト目の第0ビットです。ビットが0で空き、1で使用中を意味します。
新たな COM ポート番号は、最も若い番号の「空き」からアサインされます。
レジストリエディタは挿入モードになっていますので、ズレてしまったり、32バイトよりも長くならないように注意して下さい。OS を再起動しなくても、即時に反映されるようです。