USB HID on Windows

マウス、キーボード、ジョイスティックなどのUSB HIDクラスデバイスWindowsで利用する際のAPIとしてhid.dllというものがあります。
Windows 98時代から存在し、Hidで始まるAPIといくつかの固有型が定義されているものです。目新しい物ではないのですが、ドキュメント、サンプル共にDDKに収録されている(でもユーザー空間から呼べる)ことからか利用例はほとんどありません(ググっても大した情報がない)。デバイスへのIOはHid APIをいくつか使ってデバイスへのパスを取得してOpenFileでReadFile/WriteFileでなんとかなるので別にノウハウは必要ないのですが。

ないのですが、実はDirectInputの下層にも利用されているこのHID APIはなんとなくUSB HID Report DescriptorのParseを間違っている気がします。というのもDInputから利用できないUSB HIDデバイスが少なからずあるからです。
まあ使い方をよく分かってないから勘違いしてるだけかも知れませんが、ドキュメント見ても何かよくわかんねーし。ボタンの数が600個のリモコンとか報告してくるけどあるわけねーし。