Hallo!

Ich versuche ein HID USB device mit meinem PocketPC LOOX mit integrietem USB Host zu programmieren.

Ich habe bereits herausgefunden, dass ich mit FindFirstDevice, FindNextDevice an das handle kommen kann. Da ich mir die enumeration vor und nach dem einstecken des devices angeschaut habe .. bin ich mir auch ziemlich sicher, dass ich das richtige handle habe.

In der struktur DEVMGR_DEVICE_INFORMATION heißt es HID1.
Ich nehme daher an .. das der richtige Treiber schon geladen ist.

Um sicher zu gehen, dass das handle alle nötigen Optionen besitzt .. öffnen ich es mit ..

To make sure opening is made with the correct options - I do a

HANDLE hFile = CreateFileW(di.szDeviceName,
GENERIC_WRITE | GENERIC_READ,
FILE_SHARE_READ|FILE_SHARE_WRITE,
(LPSECURITY_ATTRIBUTES)NULL,
OPEN_EXISTING,
0,
NULL);

Kein Fehler im Debugger und hFile hat einen sinnvollen Wert.

Wenn ich nun aber versuche etwas mit dem Handle zu machen ..

...
Result = WriteFile(handle, &WriteBuffer, 10, &BytesWritten, NULL);
...
oder
ReadFile(handle, &ReadBuffer, 10, &NumberOfBytesRead, NULL);

Bekomme ich den Fehler 50 (ERROR_NOT_SUPPORTED).

Auch mit DeviceIoControl .. komme ich nicht weiter.

In Windows XP war alles ganz einfach (HidD_GetPreparsedData, HidP_GetCaps, SetupDiGetClassDevsW, SetupDiEnumDeviceInterfaces, SetupDiGetDeviceInterfaceDetailW, CreateFile, ReadFile, WriteFile) aber diese Funktionen scheinen in Windows Mobile 5.0 nicht vorhanden zu sein.(hid.dll, hidsdi.h, setupapi.h ...)

Kann mich irgendwer auf die richtigen Funktionen für Windows Mobile 5.0 lenken? Es ist egal ob in C, C++, C# oder VB!

Danke, MIRKO