Для подробного ответа посмотрите спецификацию USB, которую вы можете найти здесь .
Простая версия:
У всех, кто делает USB-устройства, есть VID (Vendor id), который представляет собой 16-битное число, которое вы должны купить.
Для каждого продукта, который они делают, они присваивают PID (идентификатор продукта), который опять-таки является 16-битным числом. Вместе однозначно идентифицируя продукт, каждый продукт может также иметь серийный номер, но это не требуется стандартом.
В USB все управляется хостом (ПК). Когда вы подключаете устройство к своей ОС, запрашивает у него его VID и PID, если он распознает их, он может просто поговорить с ним, если нет, вам предоставляется возможность установить устройство.
Для виртуальных последовательных портов Windows использует серийный номер, если он доступен, для назначения номеров портов другие ОС могут отличаться.