title: Discovering and communicating with USB devices in C++
body: <p>Just to se the record straight, I'm a total newb when it comes to USB communication. While I've dealt with lower-level serial communications (SPI, UART, I2C) on the micro-controller end of things, I have never dealt with USB nor the OS side of serial communications. So please bear with me.</p>
  
  <p>I have an RFID reader/writer that has its own protocol which I use to issue various commands. I'm looking into using the Boost:ASIO library to perform the read/write operations I need. </p>
  
  <p>However, the library is a little over my head and I'm seeking some guidance. Furthermore, while I am working in a Windows environment, I'd like to make my hardware abstraction layer as portable as possible. Along the same lines, I've had bad experiences in the past with (other programmers) hardcoding COM ports and I'd rather my program discover my reader when I plug it in, based off of the reader ID perhaps.</p>