@himitsu:
Aus dem Quelltext geht leider nicht hervor wie der an Receive() übergebene Buffer initialisiert ist, vielleicht liegt da die Ursache dafür das nur Windows 7 geht (
MSDN:
Initializing HID Reports).
Wenn ich Microsoft richtig verstehe, aber wer tut das schon

, sollte es jedenfalls auch unter XP mit der Kombination HidD_GetInputReport() und ReadFile() funktionieren (
MSDN:
Obtaining HID Reports by User-Mode Applications).
BTW welches sind denn die genauen Fehler die unter XP ausgegeben werden wenn man den unter Win7 funktionierendem Code nimmt?