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

MFC Discussion :

IStream


Sujet :

MFC

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    731
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 731
    Par défaut IStream
    Je voudrais faire un CoCreateInstance d'une interface IStream et je voudrais connaître son class identifier, je ne le trouve pas dans OBJIDL.h (là où est défini IStream).
    Merci

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    731
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 731
    Par défaut
    Mon code est le suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
       CoCreateInstance (clsid, NULL, CLSCTX_INPROC_SERVER, IID_IStream, (LPVOID FAR*)&m_Stream);
    Mais j'aimerais bien connaître la valeur de clsid à passer en paramètre

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    731
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 731
    Par défaut
    En regardant de plus près dans le .h, j'ai :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    EXTERN_C const IID IID_IStream;
     
    #if defined(__cplusplus) && !defined(CINTERFACE)
     
        MIDL_INTERFACE("0000000c-0000-0000-C000-000000000046")
        IStream : public ISequentialStream
        {
    Et je pense que 0000000c-0000-0000-C000-000000000046 est le class identifier.
    Seulement, je n'arrive pas à affecter cette valeur au clsid.
    clsid est de type GUID, c'est-à-dire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    typedef struct _GUID {          // size is 16
        DWORD Data1;
        WORD   Data2;
        WORD   Data3;
        BYTE  Data4[8];
    } GUID;
    Et je n'arribve pas à affecter cette valeur 0000000c-0000-0000-C000-000000000046 dans cette structure, c'est notamment le BYTE[8]qui me gêne.
    Merci de me dire si je ne fais pas fausse route et dans le cas contraîre s'il existe une méthode pour récupérer le CLSID d'une interface COM (ici IStream).
    Merci

  4. #4
    Membre averti
    Inscrit en
    Juin 2005
    Messages
    56
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 56
    Par défaut
    Pour ma part lorsque je cree un stream je fais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    IStream* l_sStream;
    CreateStreamOnHGlobal(NULL, TRUE, &l_sStream);
    ensuite je peut le remplir avec le buffer que j'ai créé avec la methode write.

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    731
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 731
    Par défaut
    Merci, je vais faire avec cette méthode

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

Discussions similaires

  1. istream surcharge de l'opérateur cin pour un char*
    Par highman dans le forum SL & STL
    Réponses: 2
    Dernier message: 15/03/2007, 18h16
  2. Sudefinition (istream & operator >>)
    Par jmjmjm dans le forum SL & STL
    Réponses: 4
    Dernier message: 20/12/2006, 13h16
  3. [tuto VS6.0 -> 2005] entete istream(.h)
    Par kacedda dans le forum Visual C++
    Réponses: 5
    Dernier message: 27/09/2006, 16h16
  4. Gdiplus Image IStream/TStringAdapter
    Par ChicoLau dans le forum C++Builder
    Réponses: 1
    Dernier message: 30/08/2006, 14h48
  5. istream::getline(...) et statut d'erreur ???
    Par porcher dans le forum SL & STL
    Réponses: 5
    Dernier message: 23/02/2006, 19h29

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