Hallo alle zusammen,
ich möchte auf einen USB-HID- Port zugreifen.
Ich mache dieses mit dem C++Builder 6.
Nach meinen Informationen geht es in den folgenden Schritten:
1. GUID aller HID's ermitteln mit HidD_GetHidGuid
2. Aufruf von SetupDiGetClassDevs
3. SetupDiEnumDeviceInterfaces
4. SetupDiGetDeviceInterfaceDetail
Danach erfolgt das Handeln der Schnittstelle wie vom seriellen Port bekannt mit CreateFile und ReadFile/WriteFile.
Allerdings erhalte ich beim Aufruf der Funktion HidD_GetHidGuid(GUID) die Fehlermeldung "Zugriffsverletzung bei Adresse 68D913F9 in Modul hid.dll. Schreiben von Adresse 0000 0002.
Die Exception EAccessViolation gibt diese Meldung zurück.
Auszug aus dem Quelltext:
//Zeiger auf die Funktion deklarieren:
typedef void __stdcall THid(GUID);
HINSTANCE dllHid;
//im Konstruktor des Formulares:
dllHid = LoadLibrary("hid.dll");
//in einer Ereignisbehandlung OnClick:
GUID g;
THid *myHid;
myHid = (THid*)
GetProcAddress(dllHid,"HidD_GetHidGuid");
myHid(g);
Auch ein Aufruf der Funktion HidD_Hello() liefert eine vergleichbare Fehlermeldung, wobei ich aber nicht weiß, ob noch weitere Parameter hinzukommen.
Das Betriebssystem ist Windows XP.
Da ich als erstes die GUID der Hid-Schnittstellen brauche, komme ich nicht weiter.
Es wäre schön, wenn jemand hierzu Tipps hätte.
Ulli
ich möchte auf einen USB-HID- Port zugreifen.
Ich mache dieses mit dem C++Builder 6.
Nach meinen Informationen geht es in den folgenden Schritten:
1. GUID aller HID's ermitteln mit HidD_GetHidGuid
2. Aufruf von SetupDiGetClassDevs
3. SetupDiEnumDeviceInterfaces
4. SetupDiGetDeviceInterfaceDetail
Danach erfolgt das Handeln der Schnittstelle wie vom seriellen Port bekannt mit CreateFile und ReadFile/WriteFile.
Allerdings erhalte ich beim Aufruf der Funktion HidD_GetHidGuid(GUID) die Fehlermeldung "Zugriffsverletzung bei Adresse 68D913F9 in Modul hid.dll. Schreiben von Adresse 0000 0002.
Die Exception EAccessViolation gibt diese Meldung zurück.
Auszug aus dem Quelltext:
//Zeiger auf die Funktion deklarieren:
typedef void __stdcall THid(GUID);
HINSTANCE dllHid;
//im Konstruktor des Formulares:
dllHid = LoadLibrary("hid.dll");
//in einer Ereignisbehandlung OnClick:
GUID g;
THid *myHid;
myHid = (THid*)
GetProcAddress(dllHid,"HidD_GetHidGuid");
myHid(g);
Auch ein Aufruf der Funktion HidD_Hello() liefert eine vergleichbare Fehlermeldung, wobei ich aber nicht weiß, ob noch weitere Parameter hinzukommen.
Das Betriebssystem ist Windows XP.
Da ich als erstes die GUID der Hid-Schnittstellen brauche, komme ich nicht weiter.
Es wäre schön, wenn jemand hierzu Tipps hätte.
Ulli
Comment