Immer wenn ein neues Gerät installiert wird, das einen COM-Port bereitstellt,
ordnet Windows dem COM-Port die erste noch nie für einen COM-Port benutzte Nummer zu.
Jede COM-Port-Nummer merkt sich Windows als benutzt damit niemals zwei Geräte die selbe Nummer
haben, was dann beim gleichzeitigen Anschließen eine Neuzuordnung erfordern würde.
Leider bleiben selbst die Ports schon längts deinstallierter Geräte als reserviert markiert, so dass man
hier ein lästiges endloses Anwachsen der Portnummern erhält.
Die Rerservierung speichert Windows in der Registry unter
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\COM Name Arbiter
daher der Name des Programms.
Dort sind 32 Bytes mit je 8 Bit hinterlegt, jedes gesetzte Bit steht für einen reservierten COM-Port von 1 bis 256.
Die einzige Auswirkung einer entfernten Reservierung ist, dass die Nummer bei einem neuen Gerät wieder vergeben werden kann (oder manuell bei einem vorhandenen). So lange man nicht zwei Geräte mit gleichen Portnummern anschließt gibt es kein Problem. Tut man es dennoch wird dem zweiten Gerät vermutlich eine neue Nummer zugeordnet. Wer probiert das mal aus?
Das Tool zeigt alle möglichen 256 Ports, wenn ein Kernel-Name (z.B. \Device\Serial0) dahinter steht, ist das zugehörige Gerät gerade angeschlossen. Ein gesetzter Haken heißt "reserviert".
Man kann dann Reservierungen durch gezieltes "Abhaken" aufheben oder durch Klick auf "Clear non present" die Haken bei allen derzeit nicht angeschlossenen Ports entfernen. Mit "Apply" wird das in die Registry geschrieben.
Mit dem Paramter /rnp (remove non present) gestartet setzt es aktuell nicht vorhandene Ports auf 'verfügbar' und endet ohne Dialog.
Screenshot:
Download: com_name_arbiter_setter.zip
Letzes Update: 05.01.2012
|