SerialPort.GetPortNames() is wrong
<p>If a detach a serial device which is still being used by windows, <code>SerialPort.GetPortNames()</code> will return that same detached device as actually still being attached. I also can't close the serial port without an unhandeled exception error stating that the port does not exist (which is true).  </p>

<p>I can confirm that the device map for SERIALCOMM in the registry is not being updated either, which is where <code>SerialPort.GetPortNames()</code> gets the port names I presume. The hardware manager detects the right COMM ports. </p>

<p>Is there a way around this? Can I simply delete the SERIALCOMM registry entry? 
I looked at this potential <a href="http://zachsaw.blogspot.com/2010/07/serialport-ioexception-workaround-in-c.html" rel="nofollow">workaround</a>, but I think that will just let me catch the exception. </p>
