Écrire directement dans l'adresse du disque dur sous Windows 7 - Page 2
Répondre à la discussion
Page 2 sur 2 PremièrePremière 2
Affichage des résultats 31 à 47 sur 47

Écrire directement dans l'adresse du disque dur sous Windows 7



  1. #31
    Bluedeep

    Re : Écrire directement dans l'adresse du disque dur sous Windows 7


    ------

    Citation Envoyé par Computer Mail Voir le message
    Bonjour,

    je cherche à écrire directement à une adresse bien précise dans le disque dur comment pourrais-je m'y prendre sous Windows 7 ? je dois simuler un programme qui nécessite beaucoup de RAM, n'en ayant pas assez je préfère assigner tout le rôle de RAM à mon disque dur. Le programme en question va massivement aller d'adresse en adresse, je ne peux donc pas écrire dans des fichiers car les rechercher d'abord dans la table prendrait un temps énorme en plus de celui de l'accès au disque.
    L'idée est absurde mais c'est faisable.
    De mémoire il faut utiliser une fonction du kernel DeviceIOControl.
    De mémoire toujours il faut utiliser des valeurs non documentées pour certains paramètres.
    Je pense que si tu fais cela sur un disque non dédié il vaut mieux une bonne sauvegarde .....

    -----

  2. #32
    Bluedeep

    Re : Écrire directement dans l'adresse du disque dur sous Windows 7

    Citation Envoyé par pm42 Voir le message
    On a beaucoup expliqué mais quand la personne ne veut pas comprendre ni même écouter que faire ?
    Il y a une phrase célèbre sur "même les dieux luttent en vain".
    Un roman d'Asimov aussi "Les dieux eux-mêmes...."

  3. #33
    Ludwig1

    Re : Écrire directement dans l'adresse du disque dur sous Windows 7

    Citation Envoyé par Bluedeep Voir le message
    L'idée est absurde mais c'est faisable.
    De mémoire il faut utiliser une fonction du kernel DeviceIOControl.
    De mémoire toujours il faut utiliser des valeurs non documentées pour certains paramètres.
    Je pense que si tu fais cela sur un disque non dédié il vaut mieux une bonne sauvegarde .....
    Salut,

    On peut effectivement chercher à passer par là,
    Disk Management Control Codes
    File Management Control Codes

    Mais il devra auparavant de toute façon passer par OpenFile pour obtenir un Handle ce qui veut dire qu'il aura meilleurs temps de lire la taille du fichier tous de suite derrière puis charger dans la RAM.
    Il me semble que c'est la façon la plus directe pour traiter les données ? ou bien ?

    Cordialement

    Ludwig

    PS tout à fait l'idée est absurde
    Dernière modification par Ludwig1 ; 04/03/2017 à 13h58.

  4. #34
    Computer Mail

    Re : Écrire directement dans l'adresse du disque dur sous Windows 7

    La méthode la plus rapide est celle que je choisirai.

  5. #35
    JPL
    Responsable des forums

    Re : Écrire directement dans l'adresse du disque dur sous Windows 7

    Après ça on peut considérer qu'il n'y a plus rien à dire !
    Rien ne sert de penser, il faut réfléchir avant - Pierre Dac

  6. #36
    Computer Mail

    Re : Écrire directement dans l'adresse du disque dur sous Windows 7

    Si, la méthode que j'ai à choisir ! Compte tenu de tout ce que j'ai donné comme information sur le fonctionnement de ce programme.

  7. #37
    pm42

    Re : Écrire directement dans l'adresse du disque dur sous Windows 7

    Citation Envoyé par Computer Mail Voir le message
    Si, la méthode que j'ai à choisir ! Compte tenu de tout ce que j'ai donné comme information sur le fonctionnement de ce programme.
    Soyons clair : tu n'as donné aucune info précise et tu as choisi d'ignorer l'ensemble des réponses qui t'ont été données.
    Après, tu veux te lancer dans un développement qui n'est pas vraiment de ton niveau, sans prendre en compte les réticences fortes de gens qui connaissent le sujet mieux que toi.

    Bonne chance.

  8. #38
    Ludwig1

    Re : Écrire directement dans l'adresse du disque dur sous Windows 7

    Citation Envoyé par Computer Mail Voir le message
    Si, la méthode que j'ai à choisir ! Compte tenu de tout ce que j'ai donné comme information sur le fonctionnement de ce programme.
    Salut,
    J'ai encore une fois regardé ton affaire,
    Alors voila, si ma mémoire ne fait pas défaut,
    Quand on démarre la machine, elle starte sur le BIOS du fabricant du PC. Ensuite quand Windows se lance,
    MS met en place un bios propre afin d'assurer tous les fonctionnalités dont ils ont besoins pour leur système d'exploitation
    dans ton cas Windows 7 si j'ai bien compris.
    Donc en clair, si tu veux utiliser le Bios d'origine il te faudra commencer par t'informer quel type de bios est installé sur ta machine, ensuite il te faudra trouver les points d'entrées des routines qui gèrent le disque, ( autant chercher une aiguille dans une botte de foin) ensuite il faudra coder en langage machine etc... etc... Pourquoi pas après tous si t'as envie de passer un an ou deux sur un truc qui est plus qu'aléatoire. Mais n'oublie pas si jamais t'as réussi à faire aller sur ta machine, sur la prochaine ça marchera plus car t'aura pas le même BIOS de base donc on remet ça pour un tour.
    Alors un conseil d'ami t'en fera ce que tu voudras.

    Utilise les fonctionnalités des API de MS comme les gens ici t'ont dit de faire.

    Si tu coinces, il y a bien du monde ici pour t'indiquer comment on fait en CPP


    Cordialement

    Ludwig

  9. #39
    Bluedeep

    Re : Écrire directement dans l'adresse du disque dur sous Windows 7

    Citation Envoyé par Computer Mail Voir le message
    La méthode la plus rapide est celle que je choisirai.
    Code par vous, aucune chance

  10. #40
    satinas

    Re : Écrire directement dans l'adresse du disque dur sous Windows 7

    Pas la peine de compliquer une chose simple. Ce qu'il veux faire est simple, mais à manipuler avec précaution. On peut écrire sur une zone non partitionnée pour ne pas pertuber la fat. Mais bien sur, vu le risque encouru, il vaut mieux faire ça sur un 2ème disque amovible ou pas.
    Cela reste SUPERFLU à mon avis, car le système de fichier est suffisamment élaboré pour répondre au besoin. Le problème est d'utiliser le disque pour concurrencer la ram, ça c'est pas une bonne idée. Tout cela a déjà été expliqué.
    Dans ma première réponse il manque la valeur de "disk_name" documenté dans msdn CreateFile, et de "size_sector". Tout utilitaire de partitionnement l'affiche, ou on lit avec ReadFile() un secteur, c'est la taille des données retournées.
    Autant lire le secteur 0, ben ouais à ce niveau, on a plus peur de rien

  11. #41
    satinas

    Re : Écrire directement dans l'adresse du disque dur sous Windows 7

    ou on lit avec ReadFile() un secteur, c'est la taille des données retournées
    oops on travaille à l'octet près, donc on aura pas la taille du secteur avec ça, faut oublier ...

  12. #42
    Computer Mail

    Re : Écrire directement dans l'adresse du disque dur sous Windows 7

    satinas, si la taille du secteur n'est pas connue dans la méthode que tu proposes selon toute vraisemblance ce n'est pas la bonne, la taille d'un secteur est supposée connue 512 octets. Je pense que je vais réfléchir à acheter de la RAM, en attendant d'autres réponses.

  13. #43
    satinas

    Re : Écrire directement dans l'adresse du disque dur sous Windows 7

    Déjà à la première réponse tu aurait dû suivre, là tu butes encore sur rien du tout. Tu ne sais pas aller chercher la taille de secteur logique de ton disque dur.
    Tu n'as pas l'air de savoir ce qu'est un logiciel de partitionnement, qui la donne, taille secteur logique et taille secteur physique.
    OK, ma méthode est pas bonne, je l'admets humblement, si cela doit te faire passer à une méthode moins aventureuse.
    Pour la ram, je sais pas comment Windows gère les grosses ram, cela doit dépendre de la version, d'autres pourront t'aider ...

  14. #44
    Ludwig1

    Re : Écrire directement dans l'adresse du disque dur sous Windows 7

    Citation Envoyé par satinas Voir le message
    Pour la ram, je sais pas comment Windows gère les grosses ram, cela doit dépendre de la version, d'autres pourront t'aider ...
    Salut,

    Comme ça https://msdn.microsoft.com/en-us/lib...(v=vs.85).aspx

    Cordialement

    Ludwig

  15. #45
    satinas

    Re : Écrire directement dans l'adresse du disque dur sous Windows 7

    Moi j'en suis resté à Win16 ou on collait les blocs mémoire de 64K

  16. #46
    Ludwig1

    Re : Écrire directement dans l'adresse du disque dur sous Windows 7

    Re:
    Windows te retourne un Handel qui n'est rien d'autre qu'un pointeur sur la première position libre de la mémoire allouée. Evidement il faut conserver ce Handel dans une variable de ton programme. Pour se promener dans la zone mémoire ainsi obtenu, il faut encore un pointeur qui va contenir l'offset. Donc l'adresse effective sera le Handel + Offset. De cette façon on compulse octet après octet. Pour voir les mots (Word 32 bits ) il faut incrémenter l'offset de 4 positions.
    Quand t'as fini de travailler il faut libérer la mémoire avec la fonction GlobalFree en lui passant comme argument le Handel que t'as obtenu avec GlobalAlloc.
    Il semblerait que Computer Mail soit devenu raisonnable, c'est bien.
    Pour aller vite, on peut ici construire en langage machine une fonction lecture et une fonction écriture comme ceci:

    Fonction lecture d'un octet en mémoire

    Code:
    ICODE         C@       ( adr --- c )
    
    EAX   EAX               XOR
    0       [EBX]     AL    MOV
    EAX   EBX               MOV
    RET   
    
    END-CODE
    ça c'est fait pour une machine à pile, mais on peut faire la même chose en C,
    on passe l'adresse en argument et on obtient en retour le contenu de l'octet. Ici C@ est le nom de la fonction.


    Cordialement

    Ludwig

  17. #47
    azad

    Re : Écrire directement dans l'adresse du disque dur sous Windows 7

    Salut.
    Clé USB et SSD sont à proscrire à mon avis. A un tel rythme de cycles écriture/lecture, tout ce beau monde va rendre l'âme très vite.Je rejoins pm42 : achète de la mémoire et crée un RAMDisk. Ou à défaut défini un espace mémoire protégé dans lequel tu écris.
    Dernière modification par azad ; 09/03/2017 à 10h44.

Page 2 sur 2 PremièrePremière 2

Discussions similaires

  1. Disque dur SSD qui gonfle sous windows 8
    Par tinils76 dans le forum Sécurité et malwares : désinfectez votre machine
    Réponses: 8
    Dernier message: 21/01/2024, 16h19
  2. installation d'un disque dur sata sous windows xp pro
    Par invite313aa5b6 dans le forum Matériel - Hardware
    Réponses: 5
    Dernier message: 26/06/2009, 19h13
  3. Disque dur IDE non visible sous Windows XP
    Par invite6c7578d8 dans le forum Logiciel - Software - Open Source
    Réponses: 0
    Dernier message: 01/07/2008, 13h57
  4. Comment transformer un PC sous Windows en disque USB
    Par mayonaise dans le forum Logiciel - Software - Open Source
    Réponses: 1
    Dernier message: 22/05/2008, 21h59