Whenever a new COM port is installed, Windows looks for the first
never used number. This ensures that there are no conflicts when
two of the devices are attached at the same time.
In real live the users do not use their devices (as USB to COM adaptors)
at the same time, but the COM numbers increase and increase...
Windows stores used COM port numbers in the registry in the value ComDB under
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\COM Name Arbiter
By default there are 32 bytes with 8 bits in each byte. A set bit makes a
port number (1..256) reserved. Over time Windows might exceed 256 ports,
COM Name Arbiter Setter can handle this since V0.9.
"Apply" writes the bits to the registry which requires admin privileges.
Removing the reservation does not do anything else than making Windows
reassign the number to a new device when it is attached.
As long as the new device is not attached at the same time as the
device which had these COM port before there is no problem.
If the devices are attached at the same time then the second one will
not start because it cannot create its "COMx" symbolic link. This happens too
if a new device wants to get a port which is supposed to be free because
its arbiter bit is not set but in fact the port is in use! So don't
clean up to much...
Since V0.5 you can delete a symbolic link by right-clicking it.
F5 refreshes the list (done automatically since V0.5).
Started with parameter /rnp (remove non present) it sets currently non present ports to 'available' and ends without showing the dialog.
By unchecking and pressing "Apply" reservations can be removed.
Last update: 08 March 2018