IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Assembleur Discussion :

Code pour lire secteur disque & structure FAT


Sujet :

Assembleur

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 71
    Points : 59
    Points
    59
    Par défaut Code pour lire secteur disque & structure FAT
    bonjour,

    je souhaite écrire un programme de lecture de secteurs disque : qqn aurait-il un idée ? (prog très simple)

    le but est d'expliquer la FAT et de montrer la complexité prise en charge par l'OS et le SGF

    Merci

  2. #2
    Membre averti
    Avatar de VBurel
    Profil pro
    Développeur Indépendant
    Inscrit en
    Août 2004
    Messages
    123
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Indépendant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2004
    Messages : 123
    Points : 358
    Points
    358
    Billets dans le blog
    1
    Par défaut Re: code pour lire secteur disque
    Citation Envoyé par patdez
    bonjour,
    je souhaite écrire un programme de lecture de secteurs disque : qqn aurait-il un idée ?
    Merci
    oui, sous quel O/S !?

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 71
    Points : 59
    Points
    59
    Par défaut
    sous Windows Xp home edition.

  4. #4
    Membre averti
    Avatar de VBurel
    Profil pro
    Développeur Indépendant
    Inscrit en
    Août 2004
    Messages
    123
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Indépendant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2004
    Messages : 123
    Points : 358
    Points
    358
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par patdez
    sous Windows Xp home edition.
    il faut ouvrir un fichier comme suit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    hDevice = CreateFile(DeviceLogicalName, 
                           GENERIC_READ,
                           FILE_SHARE_READ | FILE_SHARE_WRITE,
                           NULL,
                           OPEN_EXISTING,
                           0,
                           NULL);
    avec DeviceLogicalName = "\\\\.\\x" ou x est l'unité logique (e.g. "A:" "C:" etc... attention pas de "\\" à la fin).

    Ensuite vous obtiendrez la géométrie du disque par un appel à DeviceIoControl. Faite une recherche dans le MSDN sur IOCTL_DISK_GET_DRIVE_GEOMETRY

    Enfin vous lirez les donnée comme dans un fichier classique a l'aide de la fonction ReadFile qui vous retournera autant d'octet que demandé, selon la géométrie du disque. C'est à dire dans l'ordre, d'abord secteur après secteur, ensuite on passe à la tête suivante, et quand on a plus de tête on passe enfin au cylindre suivant.

    Si sur floppy, cet ordre de lecture / écriture est respectée... je vous le confirme. Sur disque dur, j'ai déjà eu des déboires... Si vous avez des info complémentaires... faites m'en part, ca m'intéresse.

  5. #5
    Responsable Pascal, Lazarus et Assembleur


    Avatar de Alcatîz
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mars 2003
    Messages
    7 967
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2003
    Messages : 7 967
    Points : 59 728
    Points
    59 728
    Billets dans le blog
    2
    Par défaut
    Bonjour !

    Pour ton édification personnelle, sache que le multipostage (http://www.developpez.net/forums/viewtopic.php?t=257161) est en général mal vu sur les forums de Developpez.com. J'en sais quelque chose car je me suis fait remonter les bretelles à mes débuts

    Mais bon, sur le forum Pascal, tu as une réponse orientée DOS pur et, sur ce forum, une réponse orientée Windows NT.
    S'il s'agit d'expliquer le fonctionnement de la FAT à des élèves, je te conseillerais plutôt la vision DOS pur.
    (si tu es du même avis que moi, tu devrais clôturer ce post-ci).

    Si tu crées un programme de démonstration DOS, il vaudra mieux le faire tourner soit sous DOS pur, soit sous Windows 3.x, soit enfin sous Windows 9x.

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 71
    Points : 59
    Points
    59
    Par défaut
    désolé, je suis bien conscient de la gêne que cela peut occasionner
    j'avais posté mon 1er msg en C#, mais ce langage ne permet pas d'accéder à des fonctions 'basses'. c'est pourquoi je me suis orienté vers les langages 'anciens'
    toutes mes excuses... et merci pour la qualité et la richesse de ce site...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Rech code pour lire flux stream camera IP DCS 950 DLink
    Par altair8080 dans le forum Visual C++
    Réponses: 5
    Dernier message: 01/02/2010, 14h57
  2. code pour lire des carte à puce
    Par kuzamba dans le forum Général VBA
    Réponses: 1
    Dernier message: 18/05/2007, 09h14
  3. difference entre 2 codes pour lire un fichier svp.
    Par Slumpy dans le forum VB.NET
    Réponses: 2
    Dernier message: 10/05/2007, 10h11
  4. [TP]code pour lire secteur disque
    Par patdez dans le forum Turbo Pascal
    Réponses: 5
    Dernier message: 27/10/2004, 21h28

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo