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
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
Mon code est le suivant :
Mais j'aimerais bien conna�tre la valeur de clsid � passer en param�tre
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2 CoCreateInstance (clsid, NULL, CLSCTX_INPROC_SERVER, IID_IStream, (LPVOID FAR*)&m_Stream);
En regardant de plus pr�s dans le .h, j'ai :
Et je pense que 0000000c-0000-0000-C000-000000000046 est le class identifier.
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 {
Seulement, je n'arrive pas � affecter cette valeur au clsid.
clsid est de type GUID, c'est-�-dire :
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.
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;
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
Pour ma part lorsque je cree un stream je fais :
ensuite je peut le remplir avec le buffer que j'ai cr�� avec la methode write.
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3 IStream* l_sStream; CreateStreamOnHGlobal(NULL, TRUE, &l_sStream);
Partager