bulkusb.sys bzw. inf
-
hallo zusammen,
ich habe ein kleines USB problem. Ich habe ein Board (Keil MCB2140), das über den Windows bulkusb Treiber installiert wurde.
Jetzt würde ich gerne den Dateinamen rausfinden für dieses Device, das ich mit CreateFile dann anspreche. Gibt es denn eine Funktion, die mir (wie bei HID) eine Liste von allen angeschlossenen USB Devices zurückgibt?
grüße nils
-
Habe bei den Win DDK Sachen ein Beispiel gefunden, das sollte machen, was ich brauch. Werde den Code mal analysieren.
-
OK, also den Filenamen hab ich gefunden:
\\?\usb#vid_045e&pid_930d#application__#{00873fdf-61a8-11d1-aa5e-00c04fb1728b}kann auch mit CreateFile drauf zugreifen. Nur mein Problem ist, ich kann nicht drauf schreiben
Der writeFile Befehl gibt mir immer "0 Bytes written" zurück.Habe das usbView Beispiel von Microsoft installiert und bekomm dort folgende Eigenschaften zurück
Device Descriptor: bcdUSB: 0x0110 bDeviceClass: 0xFF bDeviceSubClass: 0xFF bDeviceProtocol: 0x00 bMaxPacketSize0: 0x40 (64) idVendor: 0x045E (Microsoft Corporation) idProduct: 0x930D bcdDevice: 0x0100 iManufacturer: 0x04 iProduct: 0x20 iSerialNumber: 0x48 bNumConfigurations: 0x01 ConnectionStatus: DeviceConnected Current Config Value: 0x01 Device Bus Speed: Full Device Address: 0x01 Open Pipes: 2 Endpoint Descriptor: bEndpointAddress: 0x82 IN Transfer Type: Bulk wMaxPacketSize: 0x0040 (64) bInterval: 0x01 Endpoint Descriptor: bEndpointAddress: 0x02 OUT Transfer Type: Bulk wMaxPacketSize: 0x0040 (64) bInterval: 0x01die "päckchen", die ich mit writeFile versende sind auch immer schön 64 Byte groß.
Muss ich bei WriteFile vielleicht statt dem Payload noch irgendwie die Pipe oder Endpoint mit reincodieren? Bis jetzt hab ich ne 0 als Startbyte, da ich vorher mit HID gearbeitet hab und da die 0 geklappt hat.
Grüße Nils
-
ja du mußt die Pipe noch an den Device Namen für CreateFile mit anhängen.
DeviceName + "\\" + IntToStr(pipe)Achso ich hab das selbe Problem bei der HID Klasse. Habe ein Handle auf das Device mit CreateFile bekommen. Leider klappt das mit dem WriteFile nicht der meint immer bei GetLastError 87 (Parameter Error)
wäre über einen Tip Dankbar
MfG