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 Discussion :

lire un HRESULT


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 24
    Par défaut lire un HRESULT
    Bonjour,
    j'ai une fonction qui renvoie un HRESULT et j'ai une condition :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if (SUCCEEDED(hr)){
    ......
    }

    ma fonction ne renvoie pas un S_OK,

    j'ai besoin donc de savoir le code d'erreur qu'elle renvoie.

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 24
    Par défaut
    la valeur renvoyée est égale à -2147467259!!!

  3. #3
    Membre émérite
    Avatar de Spout
    Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    904
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Février 2007
    Messages : 904
    Par défaut
    Salut,

    Quelle est la fonction utilisée?
    (La prochaine fois, place le code directement dans ton post de manière à avoir des réponses plus rapidement )

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 24
    Par défaut
    voici le 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
    47
    48
    49
    50
    51
    52
    53
    54
     
    #include <windows.h>
    #include <objbase.h>
    #include <stdio.h>
    #include "model/model.h"
     
     
     
    int main (int argc , char **argv){
     
    HRESULT			hr  ;
    HRESULT			hr1 ;
    HRESULT			hr2 ;
    HRESULT			hr3 ;
     
    ISIMSATSMIScriptCommands *HumanObject =NULL;
    ISIMSATSMIScriptCommandsVtbl *lpVtbl_1=NULL;
     
    FILE* fp;
     
    long *pHead=malloc(sizeof(long));
    long *pHair=malloc(sizeof(long));
    VARIANT *pvalue=malloc(sizeof(VARIANT));
     
     
    if (!CoInitialize(0))
    	{
     
    hr=CoGetObject(L"C:\\Simulator\\Simulator_System_Files\\SIM.simsat!Human",
    					NULL,
    					&IID_ISIMSATSMIScriptCommands, 
    					&humanObject);
     
    lpVtbl_1=humanObject->lpVtbl;
     
     
    hr1=lpVtbl_1->GetObjectID(humanObject,"Head",pHead);//__obj__ID
    hr2=lpVtbl_1->GetDataID(humanObject,pHead,"NumHairs",pHair);//__data__ID
     
     
    //la source du problème
    hr3=lpVtbl_1->GetDataValue(humanObject,pHead,pHair,pvalue);
     
     
     
    free(pHead);
    free(pHair);
    free(pvalue);
     
    	}
     
     
     
    }

  5. #5
    Membre émérite
    Avatar de Spout
    Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    904
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Février 2007
    Messages : 904
    Par défaut
    Il faut que tu regardes si la valeur retournée par la fonction correspond à un code de retour spécifique de GetDataValue() (je n'ai pas pu trouver de doc sur cette fonction).

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 24
    Par défaut
    Merci spoutspout,
    le problème c'est que je n'ai que le fichier d'entête (et un fichier de description .idl )

    et dedans il n'y a pas de documentation sur les valeurs de retour:

    la déclaration de la fonction est la suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
     
            /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetDataValue )( 
                ISIMSATSMIScriptCommands * This,
                /* [in] */ LONG ObjectID,
                /* [in] */ LONG DataID,
                /* [retval][out] */ VARIANT *pValue);

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

Discussions similaires

  1. Le grand mode d'emploi du forum, à lire si vous souhaitez tout savoir !
    Par Anomaly dans le forum Mode d'emploi & aide aux nouveaux
    Réponses: 2
    Dernier message: 03/06/2013, 17h36
  2. À lire OBLIGATOIREMENT avant de poster sur ce forum
    Par ok.Idriss dans le forum Débats sur le développement - Le Best Of
    Réponses: 2
    Dernier message: 24/09/2006, 23h21
  3. Réponses: 5
    Dernier message: 20/08/2002, 18h01
  4. Lire 1 bit d'un fichier en C
    Par Anonymous dans le forum C
    Réponses: 3
    Dernier message: 23/05/2002, 18h31
  5. lire une image au format RAW
    Par Anonymous dans le forum OpenGL
    Réponses: 5
    Dernier message: 20/05/2002, 00h11

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