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

C++/CLI Discussion :

[WMI]Crash des WMI.Net


Sujet :

C++/CLI

  1. #1
    Expert éminent
    Avatar de smyley
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    6 270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 6 270
    Points : 8 344
    Points
    8 344
    Par défaut [WMI]Crash des WMI.Net


    J'ai utilisé l'outil Mgmtclassgen.exe pour pouvoir générer une classe correspondante à l'objet Win32_OperatingSystem des WMI. J'ai fait cette action sur Windows Vista et dessus tout fonctionne correctement. J'accède nottement à la propriété LastBootUpTime sans aucun problème grâce au code suivant, généré par ce même outil :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
     
    [Browsable(false)]
            [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
            public bool IsLastBootUpTimeNull {
                get {
                    if ((curObj["LastBootUpTime"] == null)) {
                        return true;
                    }
                    else {
                        return false;
                    }
                }
            }
     
    [Browsable(true)]
            [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
            [Description("Heure du dernier démarrage du système d\'exploitation")]
            [TypeConverter(typeof(WMIValueTypeConverter))]
            public System.DateTime LastBootUpTime {
                get {
                    if ((curObj["LastBootUpTime"] != null)) {
                        return ToDateTime(((string)(curObj["LastBootUpTime"])));
                    }
                    else {
                        return System.DateTime.MinValue;
                    }
                }
            }
    Maintenant sur un système équipé de Windows XP SP2 il y a un crash sur la ligne suivant le "get{" de "IsLastBootUpTimeNull " avec comme méssage :
    System.Management.ManagementException: Chemin de l'objet non valide
    à System.Management.ManagementException.ThrowWithExtendedInfo(ManagementStatus errorCode)
    à System.Management.ManagementObject.Initialize(Boolean getObject)
    à System.Management.ManagementBaseObject.get_Properties()
    à System.Management.ManagementBaseObject.GetPropertyValue(String propertyName)
    à System.Management.ManagementBaseObject.get_Item(String propertyName)
    à ROOT.CIMV2.Win32.Win32OperatingSystem.get_IsLastBootUpTimeNull() dans ...
    Quelqu'un connaitrait-il la raison de ce crash ?

    Merci d'avance

  2. #2
    Membre éclairé
    Profil pro
    Ingénieur sécurité
    Inscrit en
    Février 2007
    Messages
    574
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur sécurité
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2007
    Messages : 574
    Points : 751
    Points
    751
    Par défaut
    Salut,
    WMI est pas compatible avec toutes les versions de Windows, car la dll (SMBIOS.dll) sur laquelle est basé WMI, n'est pas la même sur tout les OS.
    Ce que je dis est quand même à prendre avec des pincettes.
    Bon courage

  3. #3
    Expert éminent
    Avatar de smyley
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    6 270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 6 270
    Points : 8 344
    Points
    8 344
    Par défaut
    As tu une source où je pourrai en apprendre plus ?

  4. #4
    Rédacteur
    Avatar de The_badger_man
    Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2005
    Messages
    2 745
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 745
    Points : 8 538
    Points
    8 538
    Par défaut
    T'as essayé de générer la classe sous XP pour voir s'il y avait une différence avec celle générée sous Vista ?
    Les règles du forum
    Le trio magique : FAQ + Cours + fonction rechercher
    Mes articles
    Pas de questions par messages privés svp

    Software is never finished, only abandoned.

  5. #5
    Expert éminent
    Avatar de smyley
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    6 270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 6 270
    Points : 8 344
    Points
    8 344
    Par défaut
    Je n'ai plus XP, c'est bien ça le problème pour ce ... problème. Tu veux peut être que je la poste ici pour voir ?

Discussions similaires

  1. [WMI] Manipulation des services
    Par Max dans le forum C#
    Réponses: 1
    Dernier message: 23/10/2008, 10h29
  2. [WMI] liste des utilisateurs
    Par flash_math dans le forum Framework .NET
    Réponses: 2
    Dernier message: 30/01/2008, 17h13
  3. perl wmi cpu des process
    Par lavm01 dans le forum Web
    Réponses: 1
    Dernier message: 15/08/2007, 22h45
  4. Réponses: 1
    Dernier message: 16/10/2006, 18h07
  5. [WMI] Récupération des lots SMS
    Par Darkenshin dans le forum Windows
    Réponses: 5
    Dernier message: 04/11/2005, 09h57

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