Bonjour,
Après un temps fou de recherches et essais je finis par poster.
J'explique mon but et les soucis rencontrés. Alors mon but est de communiquer avec un périphérique stockage de masse afin de lui envoyer des commandes.
Le but n'est pas de créer des fichiers, les récupérer... etc, mais plutôt communiquer directement avec le processeur.
J'ai déjà jeter un oeil sur des sources mais c'était du HID, donc ça ne correspondait pas à mes besoins , je veux éviter tout ce qui drivers.
voila en gros ce que je cherche à faire.
Passons au soucis 
Pour trouver le bon périphérique j'ai cherché dans la base de registre dans :
\SYSTEM\ControlSet001\Control\DeviceClasses\{a5dcbf10-6530-11d2-901f-00c04fb951ed}\
le périphérique qui possède le bon VID PID, je récupère son 'SymbolicLink' et ensuite je me suis servi de Createfile pour tester le périphérique :
DeviceHandle := CreateFile(PChar('monperiph'), GENERIC_READ or GENERIC_WRITE,0,nil,OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL,0);
Jusque-là tout va bien puisque selon brancher/débrancher ça trouve ou pas le périphérique (selon l'état de 'DeviceHandle').
Le problème commence quand j'essaie WriteFile ou ReadFile :
Req := writeFile(DeviceHandle,OutBuffer,sizeof(OutBuffer),SizeSentBytes,nil);
Req est toujours à false 
j'ai testé ça sur un Port série pour vérifier le code et ça fonctionne, je ne comprends pas où est ce que ca ne va pas, pour la peine j'ai aussi tester ca sur un périphérique HID et résultat négatif :/
Je me demande si la valeur de 'DeviceHandle' est bonne et correspond au périphérique USB,
Je n'ai pas utilisé de 'SetupDiGetClassDevs', 'SetupDiEnumDeviceInterfaces' puisque j'en ai déduit qu'on les utilisent pour récupérer le Lien Symbolique.
Que faire, la grande question, si quelqu'un a déjà fait quelques choses de relatif à ce que je voudrais faire je suis preneur 
Je vous remercie d'avance.
Partager