Inviare dati tramite usb

giovedì 25 giugno 2009 - 09.55

fr3nsis Profilo | Newbie

Sono 2 giorni che sto provando a giocare con le porte usb ma senza successo...
Il mio problema è che non riesco ad ottenere un handle valido tramite la funzione createfile

In pratica arrivo qui:

devicePathName = Marshal.PtrToStringAuto(pDevicePathName) Marshal.FreeHGlobal(detailDataBuffer) SetupDiDestroyDeviceInfoList(deviceInfoSet) Dim deviceHandle As SafeFileHandle deviceHandle = CreateFile _ (devicePathName, _ GENERIC_WRITE, _ FILE_SHARE_READ, _ IntPtr.Zero, _ create_always, _ FILE_ATTRIBUTE_NORMAL, _ 0)

il Devicepathname=\\?\usb#vid_0421&pid_04d2#5&3b7cfa06&0&8#{a5dcbf10-6530-11d2-901f-00c04fb951ed}
in questo modo l handle è sempre nullo (se metto come devicepathame "\\.\I:\\a.txt" invece funziona)

dove sbaglio? sto cercando di comunicare con un cellulare nokia



freeteo Profilo | Guru

Ciao,
anche io in passato ho fatto qualcosa che comunicava con un dispositivo su USB, ma ho usato la classe "SerialPort" di .net, cambiando solamente la COM (3,4,5...) con i metodi "ReadExisting()" e "Write(comandoAT)" etc:
http://msdn.microsoft.com/en-us/library/system.io.ports.serialport.aspx


Ciao.

Matteo Raumer
[MVP Visual C#]
http://blogs.dotnethell.it/freeteo

fr3nsis Profilo | Newbie

la serialport funziona solo per i comandi at , i comandi fbus non vengono aceettati

ho risolto , infatti enumerando le periferiche con guid {4f919102-4adf-11d5-882d-00b0d02fe381}
ottengo il devicepath giusto
"\\?\nmwcd#vid_0421&pid_04d2&if_oth#6&1ff2e403&0&1 1#{4f919102-4adf-11d5-882d-00b0d02fe381}"
che mi permette di ottenere un handle valido con createfile
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5