USBデバイスは接続後にOSなどで認識されるまでのうやりとりのことをデバイスエニュメレーションと呼びます。
USBデバイスはいくつかのデスクリプターという構成情報を保持しています。
OSからはUSBデバイスの接続時にこのディスクリプターを取得して、どのようなデバイスであるか確認します。