Einzelnen Beitrag anzeigen

Benutzerbild von Assarbad
Assarbad

Registriert seit: 8. Okt 2010
Ort: Frankfurt am Main
1.234 Beiträge
 
#9

AW: wie Hardware (HID) erkennen und via Programm verbinden/trennen?

  Alt 13. Nov 2010, 14:27
Hab es nun ganz einfach erstmal mit dem Auswerfen versucht.
Bei IOCTL_HID_DEACTIVATE_DEVICE auf das DeviceHandle "\\?\hid#vid_057e&pid...0030}" angewendet sagt mir DeviceIoControl was von OK/True, aber nichts passiert.
Ich weiß allerdings nicht wie ich was genau als In-Parameter an DeviceIoControl übergeben soll, aber egal was, es bleibt beim True und es hat dennoch keinerlei Auswirkungen (Control bleibt angemeldet und nutzbar).
Du öffnest aber das Gerät schon mit CreateFile?! ...

Du bist aber auch sicher, daß du bspw. erfolgreich ein Handle bekommst? Wenn ja, dann versuch mal bitte MSDN-Library durchsuchenZwDeviceIoControlFile (ntdll.dll, die Zw* und Nt* ist vom Usermode aus identisch) um den IOCTL zu senden. Da interessiert uns dann was der Treiber in IoStatusBlock einträgt. Speziell der Statuscode da drin wird uns interessieren. Die Win32-Funktion MSDN-Library durchsuchenDeviceIoControl ist etwas ... nunja ... da genau diese Fehlerinfo verlorengeht. Meines Wissens nach ist der Rückgabewert von ZwDeviceIoControlFile normalerweise identisch mit dem in IoStatusBlock, aber es mag auch Unterschiede geben. Einerlei, DeviceIoControl verschluckt alle diese Informationen.
Oliver
"... aber vertrauen Sie uns, die Physik stimmt." (Prof. Harald Lesch)
  Mit Zitat antworten Zitat