ReadFile() BCB6

sebastiendamiens Messages postés 2 Date d'inscription mercredi 12 janvier 2005 Statut Membre Dernière intervention 21 janvier 2005 - 20 janv. 2005 à 02:22
sebastiendamiens Messages postés 2 Date d'inscription mercredi 12 janvier 2005 Statut Membre Dernière intervention 21 janvier 2005 - 21 janv. 2005 à 11:38
Bonjours a tous,

voila : je créer un handle sur un disque physique avec CreateFile(), avec un accés en lecture.
Ensuite, pour lire sur mon disque physique (MBR, FAT, Données et espace libre), je pensais utiliser ReadFile(). Le probleme est que j'ai toujours l'erreure 87 : Invalid Parameter .

J'ai tester avec un fichier sur mon disque, et ca marche impec, mais le probleme est que je doit avoir accés a toutes les parties du disque et sans tenir compte du system de fichier.

Comment faire ??? D'aprés ce que j'ai compris, je ne peut pas utiliser les interruptions car elles ne passeraient pas a travers la couche HALL.

Merci d'avance de votre aide.

@+

Seb.

4 réponses

BruNews Messages postés 21041 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019 19
20 janv. 2005 à 10:57
Si le retour de CreateFile() est != INVALID_HANDLE_VALUE alors tu devrais pouvoir lire.
Il doit y avoir exemple de cela dans la derniere source de vecchio56 si mes souvenirs sont bons.

ciao...
BruNews, MVP VC++
0
cs_Arnotic Messages postés 933 Date d'inscription dimanche 1 avril 2001 Statut Membre Dernière intervention 9 janvier 2012 1
20 janv. 2005 à 11:04
Tu avais aussi fais un exemple ou justement tu lisais les secteurs du DD.

@+
Arnotic,
Admin CS, MVP Visual C++
0
BruNews Messages postés 21041 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019 19
20 janv. 2005 à 11:13
Je ne sais plus où est le mien, chuuttttt....

ciao...
BruNews, MVP VC++
0
sebastiendamiens Messages postés 2 Date d'inscription mercredi 12 janvier 2005 Statut Membre Dernière intervention 21 janvier 2005
21 janv. 2005 à 11:38
Merci pour l'aide, en fait je viens juste de trouver la solution :
ReadFile() réclame un pointeur sur une chaine de carateres (buffer) ou il va inscrir les bytes lu sur le disque. Apparement, ce buffer doit être alloué dans le Heap si on a un handle de disque physique, mais pour un handle de fichier, ca n'est pas nécéssaire !

Si vous avez une explication sur ce fonctionnement, je suis preneur.

Encore merci, @+.

Seb.
0