github.com/rafaelmartins/usbhid、デバイスを開くときにオプションでロックを取るかどうか指定できるようだったので、その実装を調べているのだが、Linux と macOS ではちゃんと HID デバイス自体に対してロックを取っているのに対して、Windows ではデバイスパスを CreateFileW で開くときに何故か FILE_SHARE_READ | FILE_SHARE_WRITE を常に指定していて、それとは別にテンポラリディレクトリ上に usbhid- で始まる名前のファイルを作って、それでロックを取っているようだった。これでは、このライブラリ以外から同じ HID デバイスを開くときにロックが働かない… 何か、共有モードじゃないと開けない制約があったりするのだろうか…?
あと、hidapi はロックを取るかどうかをプラットフォーム間で統一できていないらしい…