![]() |
Re: USB Device Lister
Achso :-) Hatte dir ne PN geschickt. OK, dann schick ich dir noch ne Mail.
|
Re: USB Device Lister
Hallo scp,
was soll ich sagen, es läuft nicht. Beim zweiten Durchlauf von "CollectDescriptors" kommt eine Schutzverletzung. Es betrifft diesen Abschnitt:
Delphi-Quellcode:
Wieviel durchläufe gibt es eigendlich in der Schleife? Ich habe mal einen Zähler eingebaut und der will garnicht aufhören...
// Check for Strings
StringIndex := 0; repeat TotalLength := GetStringDescriptor(DevHandle, ConnectionIndex, StringIndex); If not (PCHostRequest.Data[0] = TotalLength) then TotalLength := 0; Inc(StringIndex); For i := 1 To TotalLength do DescriptorData[Nexti + i] := PCHostRequest.Data[i - 1]; Nexti := Nexti + TotalLength; //ShowMessage(IntToStr(StringIndex) + ', ' + //IntTostr(TotalLength) + #10 + BinToStr(@DescriptorData[Nexti + 1 - TotalLength], TotalLength)); until not (TotalLength <> 0); [edit=MrSpock]Doppelter intrag gelöscht. Mfg, MrSpock[/edit] |
Re: USB Device Lister
Ups... da stimmt wohl was mit der Erkennung nicht. Es wird solange versucht, bis TotalLength 0 zurückgibt, aber offensichtlich gibt er wohl bei einigen Geräten immer > 0 aus, egal was fürn Stringindex. Muss das mal bei Gelegenheit überarbeiten.
|
Re: USB Device Lister
Ich hatte erst nicht verstanden worum es geht.
Bei den Strings musst du immer erwarten das ers Aerger gibt. 1. Das USB device liefert manche Strings nicht. Das ist ein beliebter Firmware-Fehler. Es fallen durch 8 teilbare Stringlaengen aus. 2. Windows ergaenzt selbstaendig ein #0 (WideChar). Der Versuch mit einem Puffer der Laenge Null herauszufinden ob es den String gibt oder nicht geht immer schief. |
Re: USB Device Lister
Gibt es einen einfachen Weg die VendorID meines USB Sticks in Delphi anzeigen zu lassen???
Gruß Hendrik |
Re: USB Device Lister
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:06 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz