title: How do I get the friendly name of a COM port in Windows?
body: <p>I have a GSM modem connected via USB.  The modem creates 2 serial ports.  The first is automatically attached to the modem, the second shows in Device Manager as "HUAWEI Mobile Connect - 3G PC UI Interface (COM6)"</p>
  
  <p>The second port is used to get vital information from the modem, such as signal quality; to send and receive text messages; and a whole host of other functions.</p>
  
  <p>I am writing an application that will wrap up some of the features provided by the second port.  What I need is a sure fire method of identifying which COM port is the spare one.  Iterating the ports and checking a response to "ATE0" is not sufficient.  The modem's port is usually the lower numbered one, and when a dial up connection is not active, it will respond to "ATE0" the same as the second port.</p>
  
  <p>What I was thinking of doing is iterating the ports and checking their friendly name, as it shows in Device Manager.  That way I can link the port in my application to the port labelled "HUAWEI Mobile Connect - 3G PC UI Interface (COM6)" in Device Manager.  I've just not found any information yet that will allow me to get that name programmatically.</p>