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

Bibliothèques C++ Discussion :

Remplacer ReadFromPhysicalMemoryEx de LabWindows par une fonction C


Sujet :

Bibliothèques C++

  1. #1
    Membre confirmé Avatar de Joccy
    Profil pro
    Inscrit en
    Août 2007
    Messages
    153
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 153
    Par défaut Remplacer ReadFromPhysicalMemoryEx de LabWindows par une fonction C
    Bonjour,

    je reprends actuellement un logiciel ecrit sous VC++ 6.0 (sans MFC) et mélangé avec du LabWindows/CVI 7.1.

    Pour lire la mémoire, on utilise actuellement ReadFromPhysicalMemoryEx() de LabWindows. Or depuis que notre BIOS est en mode NO ACPI, cette fonction retourne FALSE, comme si elle n'arrive pas à lire la mémoire.
    Je souhaite donc la remplacer (ou au moins tester differemment le probleme) avec une fonction C de Windows ou du SDK ... Mais laquelle ?
    Merci de votre aide.

  2. #2
    Membre expérimenté Avatar de Nogane
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    241
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 241
    Par défaut
    Bonjour,
    Je me trompe peut-être mais si il s'agit seulement de copier de la mémoire d'un pointeur vers un autre, il y a la fonction C memcpy.

  3. #3
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 395
    Par défaut
    Hors d'un driver, ça ressemble à un affreux hack.

    C'est un driver, votre programme?
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  4. #4
    Membre confirmé Avatar de Joccy
    Profil pro
    Inscrit en
    Août 2007
    Messages
    153
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 153
    Par défaut
    En fait, je sois faire des tests (d'acces) mémoire, et donc lire la mémoire (à terme écrire aussi je suppose, mais pas encore prévu).
    Je dois lire la mémoire physique sous 1Mb puis au dessus d'1 Mb. Et les fonctions que je trouve me paraisse bien obscures (GlobalMemoryStatus, IsBadReadPtr, ...)


  5. #5
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 395
    Par défaut
    Apparemment, il n'y a rien au niveau "user" de Windows pour faire ce que tu veux: tout agit sur la mémoire virtuelle du processus.

    La seule fonction "user" qui semble agir sur la mémoire physique est VirtualLock() (par contre, d'autres fonctions donnent quelques infos sur la mémoire physique).
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  6. #6
    Membre confirmé Avatar de Joccy
    Profil pro
    Inscrit en
    Août 2007
    Messages
    153
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 153
    Par défaut
    Tu veux dire que je ne peux pas lire ni ecrire dans une adresse physique ? (pourtant la fonction ReadFromPhysicalMemoryEx de LabWindows/ CVI le fait ...)

    Oups, ca ne m'arrange pas tout ca !!

  7. #7
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 395
    Par défaut
    Comme indiqué dans la doc de la fonction, LabWindows/CVI passe par un driver dédié pour obtenir ces informations.
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  8. #8
    Membre confirmé Avatar de Joccy
    Profil pro
    Inscrit en
    Août 2007
    Messages
    153
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 153
    Par défaut
    et on ne peut pas faire comme eux ?
    (excuses si mes questions te paraissent idiotes mais j'ai plus l'habitude des IHM que du bas niveau ...)

  9. #9
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 395
    Par défaut
    Ben si tu es prêt à réécrire tout un driver pour ça, c'est ton problème...
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  10. #10
    Membre confirmé Avatar de Joccy
    Profil pro
    Inscrit en
    Août 2007
    Messages
    153
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 153
    Par défaut
    euh, non, pas le temps (ni peut-être même le courage )
    Bon, merci pour toutes ses infos ...

  11. #11
    Membre confirmé Avatar de Joccy
    Profil pro
    Inscrit en
    Août 2007
    Messages
    153
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 153
    Par défaut
    Bon, je reviens à la charge: n'existe t il pas un/des logiciels de tests qui feraient ça ? Je suis en train de rechercher sur internet, mais si quelqu'un en connait un, ca m'arrangerait, ca irait plus vite ...

    Merci de votre aide

  12. #12
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 395
    Par défaut
    Citation Envoyé par Joccy Voir le message
    Bon, je reviens à la charge: n'existe t il pas un/des logiciels de tests qui feraient ça ?
    J'en connais bien un, mais tu ne vas pas aimer ma réponse...
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  13. #13
    Membre confirmé Avatar de Joccy
    Profil pro
    Inscrit en
    Août 2007
    Messages
    153
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 153
    Par défaut
    Dis toujours ....en général je ne mors pas !!

  14. #14
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 395
    Par défaut
    Ben... LabWindows

    Et puisque même celui-ci ne marche pas, ben...
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  15. #15
    Membre confirmé Avatar de Joccy
    Profil pro
    Inscrit en
    Août 2007
    Messages
    153
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 153
    Par défaut
    Pfuitttt ...... t'es pas drôle ....
    Bon .... tant pis ! Snifff

    J'ai vu des logiciels comme memtest ou RamTest ... C'est bien ? C'est surement pas utilisable dans une autre appli je suppose ?

    Allez, si vous avez des idées, elles sont les bienvenues, sinon, et bien merci quand même !!!

  16. #16
    Membre confirmé Avatar de Joccy
    Profil pro
    Inscrit en
    Août 2007
    Messages
    153
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 153
    Par défaut
    J'ai mis RESOLU mais en fait y a rien de vraiment résolu !! Mais apparemment, on ne peut rien faire alors ...

  17. #17
    Membre confirmé Avatar de Joccy
    Profil pro
    Inscrit en
    Août 2007
    Messages
    153
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 153
    Par défaut
    Bonjour,
    bon le problème a été résolu : dans notre cas il s'agissait d'une mauvaise configuration du BIOS. La fonction CVI fonctionne donc parfaitement.

    Sinon, voici une réponse que l'on m'a donnée:
    Il est possible d'accéder à la mémoire physique en utilisant les fonctions VISA de NI. Les fonctions à utiliser sont les fonctions viMoveIn et viMoveOut, que vous trouverez dans la bibliothèque VISA Library>>Resource-Specific Operation>>Memory-Base I/O (High Level).
    Dans le cas d'un controleur PXI, la ressource pour accéder à la mémoire est PXI0::MEMACC, je ne suis pas certain que la ressource soit la même dans votre configuration. Ensuite, pour lire 4 octets à la fois, à partir de l'adresse 1111, et lire 800 octets en tout, vous devriez utiliser le code
    suivant:

    viOpenDefaultRM (&defaultRM);
    viOpen (defaultRM, "PXI0::MEMACC", VI_NULL, VI_NULL, &memacc); viMoveIn32(memacc,VI_PXI_ALLOC_SPACE, 1111, 200, &buf);"
    Si jamais ca peut aider quelqu'un ...
    Merci à tous

    PS: je n'ai pas testé la réponse que l'on m'a donné avec VISA.

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

Discussions similaires

  1. [str_replace]: Remplacer une expression par une fonction.
    Par robinowned dans le forum Langage
    Réponses: 5
    Dernier message: 26/03/2013, 20h50
  2. Réponses: 2
    Dernier message: 12/06/2011, 07h34
  3. remplacer du code par une fonction
    Par bullrot dans le forum C++Builder
    Réponses: 6
    Dernier message: 21/11/2007, 12h08
  4. Réponses: 5
    Dernier message: 14/12/2006, 16h50
  5. tableau javascript ecrit par une fonction asp
    Par LineLe dans le forum ASP
    Réponses: 4
    Dernier message: 03/11/2003, 08h38

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