Topic: HID: reading matter for a teapot

Greetings! And advise any book or a sensible manual about HID (Human Interface Devices). Descriptors, , top-level collections... Couples somehow absolutely not clearly. There is a device which it is necessary to open, send it the data (request) and to read the answer. All. Wrote the code which like and works, but the understanding all the same is not present. For example, why such strange size of "packet" - 9 byte and why though the interchange format text, in the first byte always lies 0... OS Windows if it matters. Thanks!