В Windows есть встроенный драйвер USB-to-serial, который будет делать то, что вы хотите.Он называется usbser.sys:
http://support.microsoft.com/kb/837637
Вам придется написать INF-файл и распространить его среди своих пользователей, но это не будет слишком сложно, потому что это всего лишь несколькокилобайт текста, и вы можете найти примеры в Интернете.
Мне не известно о какой-либо замечательной документации для этого драйвера от Microsoft, поэтому я бы посоветовал найти какое-то другое устройство, которое его использует, например Pololu Wixel и скопируйте то, что они сделали.
Вот дескрипторы устройства, которые мы использовали, и специальные управляющие передачи, которые нам пришлось реализовать: https://github.com/pololu/wixel-sdk/blob/master/libraries/src/usb_cdc_acm/usb_cdc_acm.c
Вы можете увидеть наш INF-файл, wixel_serial.inf, загрузив программное обеспечение и заглянув в папку драйверов: http://www.pololu.com/docs/0J46/3.a (там есть и другие файлы, которые вам не нужны.)
Вы также можете посмотреть на Arduino.Uno, потому что они используют один и тот же драйвер.
Что бы вы ни делали, пожалуйста, не используйте наш USB Vendor ID в вашем продукте!Вам нужно получить свой собственный.
Обновление: В Windows 10 вам больше не нужен INF-файл из-за нового драйвера usbser.inf, который поставляется с Windows.