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

API, COM et SDKs Delphi Discussion :

Compatibilité WMI et windows 2000 server


Sujet :

API, COM et SDKs Delphi

  1. #1
    Membre à l'essai
    Inscrit en
    Février 2005
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 16
    Points : 11
    Points
    11
    Par défaut Compatibilité WMI et windows 2000 server
    Je suis vraiment dans le pétrin. En effet j'ai dévelopé une application d'inventaire automatique des compasant logiciels et matériels d'un pC. Je developpe avec delphi 6 sous windows xp pofessionel. Mon application tourne bien sur des PC qui ont windoww xp. Mais quand je test mon application sur un PC ayant comme système d'exploitation windows 2000 server , l'application bug et j'ai comme message d'erreur 'PARAMETRE NON VALIDE'. En compiltant le programme le curseur se fixe sur le code permettant de faire la connection avec WMI.
    Voici unexemple de bout de code.

    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
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    function getSystemIPAddresses:Tstringlist;
    var
      l_WMILocator:          ISWbemLocator;    // Locator, gets Services
      l_WMIServices:        ISWbemServices;    // Services, gets Object Definitions
      l_WMIObjectDefinition: ISWbemObject;      // Definition, gets Set of Objetcs
      l_WMIObjectSet:        SWbemObjectSet;    // ObjectSet, gets Enum over Instances
      l_WMIObjectInstances:  IEnumVariant;      // Enum of Instances, gets Object
      l_WMIObject:          ISWbemObject;      // Object, gets Sets of his properties
      l_WMIPropertySet:      ISWbemPropertySet; // PropertySet, gets single property
      l_WMIProperty:        ISWbemProperty;    // Property, gets Value
      l_TempObj:            OleVariant;        // temporary used values
      l_ObjValue:            Cardinal;
      sValue:string;
    begin
      // create the return object
      result := TStringList.Create;
     
      // retrieve object enum through WMI classes
      l_WMILocator := CoSWbemLocator.Create;
      l_WMIServices := L_WMILocator.ConnectServer('', 'root\cimv2', '', '', '', '',wbemConnectFlagUseMaxWait, nil);
     
      l_WMIObjectDefinition := l_WMIServices.Get('Win32_NetworkAdapterConfiguration', wbemFlagUseAmendedQualifiers, nil);
      l_WMIObjectSet := l_WMIObjectDefinition.Instances_(0, nil);
      l_WMIObjectInstances := (l_WMIObjectSet._NewEnum) as IEnumVariant;
      // iterate through enum values (WbemObjects) and get the property values
      while (l_WMIObjectInstances.Next(1, l_TempObj, l_ObjValue) = S_OK) do
      begin
          l_WMIObject:= IUnknown(l_TempObj) as SWBemObject;
          l_WMIPropertySet := l_WMIObject.Properties_;
     
          l_WMIProperty := l_WMIPropertySet.Item('IPAddress', 0);
          sValue:=conversion(l_WMIServices,l_WMIProperty);
          if svalue<>'' then
          begin
              l_WMIProperty := l_WMIPropertySet.Item('IPAddress', 0);
              sValue:=conversion(l_WMIServices,l_WMIProperty);
              result.Append(sValue);
              l_WMIProperty := l_WMIPropertySet.Item('IPSubnet', 0);
              sValue:=conversion(l_WMIServices,l_WMIProperty);
              result.Append(sValue);
              l_WMIProperty := l_WMIPropertySet.Item('DefaultIPGateway', 0);
              sValue:=conversion(l_WMIServices,l_WMIProperty);
              result.Append(sValue);
          end;
       end;
    end;
    En utilsant ce code par exemple le curseur indique une erreur sur la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     l_WMIServices := L_WMILocator.ConnectServer('', 'root\cimv2', '', '', '', '',wbemConnectFlagUseMaxWait, nil);
    Poutant dans la documentation que j'ai lu sur WMI c'est dit que WMI est intégrer à Windows xp et 2000.
    Aider moi je ne comprens vraiment pas ce bug sur windows 2000 server.

    [Modération]
    Balises code ajoutées par Laurent Dardenne
    [/Modération]

  2. #2
    Rédacteur


    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    7 171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 7 171
    Points : 15 060
    Points
    15 060
    Billets dans le blog
    1
    Par défaut
    Salut,
    essaie
    Le '.' indique la machine locale.

  3. #3
    Membre émérite
    Avatar de NoisetteProd
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    1 905
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 1 905
    Points : 2 614
    Points
    2 614
    Par défaut
    Vérifie egalement que WMI est à jour sur ton serveur 2000, pour ce faire, un petit tour sur le site de microsoft !
    Fais cogiter ta Noisette !!

    Participez à la page SOURCES Delphi !

    Découvrez le Défi Delphi

    Mon Mail

Discussions similaires

  1. Problème de domaine windows 2000 server
    Par Andry dans le forum Windows Serveur
    Réponses: 11
    Dernier message: 06/06/2011, 15h02
  2. [Wamp] Compatibilité Wamp5 et Windows 2000 server
    Par MarcAtmo dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 10/02/2009, 18h10
  3. Compatibilité ie6 et Windows 2000 server
    Par amirad dans le forum IE
    Réponses: 2
    Dernier message: 08/12/2008, 21h56
  4. [Windows 2000 server] Téléchargement FTP impossible sous IE6
    Par o151181 dans le forum Windows Serveur
    Réponses: 6
    Dernier message: 24/11/2004, 18h00
  5. Pd de transformation XML/XSL sur un windows 2000 server US
    Par Sylvain Leray dans le forum XMLRAD
    Réponses: 3
    Dernier message: 24/03/2003, 11h00

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