cs_Djedj
Messages postés17Date d'inscriptionsamedi 9 décembre 2000StatutMembreDernière intervention 6 mai 2007
-
6 mars 2007 à 15:49
cs_Djedj
Messages postés17Date d'inscriptionsamedi 9 décembre 2000StatutMembreDernière intervention 6 mai 2007
-
7 mars 2007 à 12:44
Bonjour,
Alors pour être bref : j'ai besoin de lire des données sur une carte SD... Mais problème : ces données ont été écrites "à la queue leu leu", octet par octet, par un microcontrolleur de type PIC. En l'absence d'un système de fichier FAT, la carte n'est donc évidemment pas reconnue par windows. Comment néanmoins pourrais-je accéder aux bits de ma carte SD depuis VB?
violent_ken
Messages postés1812Date d'inscriptionmardi 31 mai 2005StatutMembreDernière intervention26 octobre 20102 6 mars 2007 à 19:20
Violent Ken
Salut, je crois que c'est tout simplement impossible à réaliser.
La méthode pour lire/écrire dans un disque, c'est CreateFile, ReadFile, WriteFile et SetFilePointer. Et comme le handle récupéré par CreateFile est -1 quand le disque n'est pas formaté (je suis preque certain de çà)... c'est dead.
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 201440 6 mars 2007 à 19:28
La solution serait d'accèder à la carte, non pas comme un disque amovible comme le voit Windows mais en direct comme le fait le PIC.
Je sais pas si c'est possible, mais si ça l'est, il faut surrement passer par la création d'un driver spécifique, et donc pas en VB
---- Sevyc64 (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
violent_ken
Messages postés1812Date d'inscriptionmardi 31 mai 2005StatutMembreDernière intervention26 octobre 20102 6 mars 2007 à 19:31
Violent Ken
Oui voilà, il faudrait concevoir un driver, parce que sinon en VB on n'a que les APIs Windows pour travailler sur le disque.
Mais aussi puissantes soient-elles, c'est pas jouable de lire un disque non formaté.
@+
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_Djedj
Messages postés17Date d'inscriptionsamedi 9 décembre 2000StatutMembreDernière intervention 6 mai 2007 6 mars 2007 à 20:20
Pourtant des utilitaires de récupération comme smart recovery peuvent récupérer des données sur des partitions corrompues . Pr rt15, c'est une idée, pas très professionnelle malheureusement, mais c'est peut-être une solution si je veux eviter de me programmer un PIC pour qu'il gère le FAT16... Ce n'est pas tellement une surprise, mais j'esperais quand même qu'il existait des API windows me permettant de lire des bits sur un support non formaté!
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 201440 6 mars 2007 à 20:36
Les utilitaires de récupérations n'utilisent en général pas les api windows, ils travaillent en mode driver en court-circuitant les fonctions de Windows directement en adressant physiquement le disque à travers le noyau.
Certains mêmes (comme EasyRecovery pour le rcup, ou la suite Blancco pour l'effacement par exmple), court-circuite même totalement windows (kernel, noyau, ...) et travaille directement avec les fonctions bas niveau du bios.
Déjà que la programmation de drivers n'est pas à la portée de tous, ce type de programmation est réservé à une part restreinte de l'élite de la programmation.
Quant aux apis pour lire sur des supports non formater, je vais prendre une image pour t'expliquer. Windows ne sert que lire ou écrire sur les pages d'un livre dûment fabriqué (avec table des matières, pages numérotés, ...). Ce que tu veux faire, toi, revient à lire ou ecrir directement sur le rouleau de papier (le gros rouleaux de plusieurs tonnes, 6 en général) qui sort de l'usine à papier et qui servira plus tard, bien plus tard, à fabriquer le livre pour Windows.
---- Sevyc64 (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
cs_rt15
Messages postés3874Date d'inscriptionmardi 8 mars 2005StatutModérateurDernière intervention 7 novembre 201413 6 mars 2007 à 20:41
debug (En invite DOS, sur tous les PC) permet de récupérer des secteurs
de boot (fonctions read et write). Mais je sais pas à quel point il
travail bas niveau et donc s'il peu bosser sur du non formaté (Y a
différents niveau de formatage tout ça tout ça en plus). Il travail sur
les secteurs apparement.
Si tu parviens à faire un load, de ta carte SD, tu pourras faire un write dans un fichier de ton dur.
ATTENTION : Un write mal ajuster sur ton dur peux faire très mal. Dans
ton cas tu n'as pas besoin d'utiliser d'arguments avec ta commande
write (Pour l'utiliser de façon sûre, il faut faire n nom fichier,
ajuster cx et bx, puis utiliser write sans argument.
Par contre faudrait essayer de travailler les arguments du load.
42wawa42
Messages postés143Date d'inscriptiondimanche 28 septembre 2003StatutMembreDernière intervention 6 septembre 2011 6 mars 2007 à 21:33
Si tu as écrie le soft "write" pour le PIC, tu dois être capable a écrire le soft "read" très simple non.... Beaucoup trop de ligne écrite pour rien dire. Mais le développement Casy sur le rouleau de papier est très proche de la réalité.
cs_Djedj
Messages postés17Date d'inscriptionsamedi 9 décembre 2000StatutMembreDernière intervention 6 mai 2007 7 mars 2007 à 12:44
Merci à tous pour vos réponses! Hélas, ça m'a l'air encore plus compliqué de forcer VB à lire du non formaté que de forcer le PIC à écrire sur du FAT, et le temps me manque... je vais commencer par essayer la solution de rt15 (fichier vide, dans lequel on écrit séquentiellement), et éventuellement je programmerai les drivers PIC pour gérer la FAT16.