USB devices report their attributes using descriptors. A descriptor is a data
structure with a defined format. Using descriptors allows concise storage of
the attributes of individual configurations because each configuration may
reuse descriptors or portions of descriptors from other configurations that
have the same characteristics. In this manner, the descriptors resemble
individual data records in a relational database.

Where appropriate, descriptors contain references to string descriptors
(StrIx) that provide textual information describing a descriptor in
human-readable form. Note that the inclusion of string descriptors is
optional.