[C++] COM: comment obtenir une version texte d´un GUID???

COM: comment obtenir une version texte d´un GUID??? [C++] - Programmation

Marsh Posté le 18-09-2001 à 18:06:26    

Salut..
 
Je suis bien embêté car en listant les modes graphiques (YUV 4:2:2, RGB, etc..) que ma caméra supporte il me les donne sous la forme de GUID.
 
Ya le major type (ça je m´en fous je sais que c de la vidéo).
Et ya le subtype GUID qui donne le format YUV etc..
 
J´aimerais qu´il existe une fonction pour obtenir une description en string de ce format..
Mais pour l´instant pas une trace (même en fouillant ds Guiddef.h)..
 
Qqun connait un moyen???

 

[edtdd]--Message édité par H4dd3R--[/edtdd]


---------------
Athlon64 s754 10*200MHz - R9800Pro - 512MB DDR200MHz - ZX6RR - Q2[SupOp] - Tutorial Video: multilangues, multisstitres
Reply

Marsh Posté le 18-09-2001 à 18:06:26   

Reply

Marsh Posté le 18-09-2001 à 18:34:45    

Je comprend pas trop ce que tu demandes, met un example ça aidera

Reply

Marsh Posté le 18-09-2001 à 18:56:46    

Bon c du directshow:
 
IAMStreamConfig::GetStreamCaps() me rend un:
 
typedef struct  _MediaType
{
    GUID      majortype;
    GUID      subtype;
    BOOL      bFixedSizeSamples;
    BOOL      bTemporalCompression;
    ULONG     lSampleSize;
    GUID      formattype;
    IUnknown  *pUnk;
    ULONG     cbFormat;
    /* [size_is] */ BYTE __RPC_FAR *pbFormat;
} AM_MEDIA_TYPE;
 
subtype m´intéresse car dans mon cas il contient mon type de pixel.
Ca peut être MEDIASUBTYPE_YUY2 ou MEDIASUBTYPE_RGB8 ou plein d´autres choses, et j´ai besoin de donner une version lisible à l´utilisateur.. Genre YUV 4:2:2..
 
Disons que j´ai pas trop envie de m´écrire ma propre table de conversion de GUIDS vidéo subtypes en strings et que j´espère qu´il existe qqe chose de tt fait.. Mais pour l´instant je trouve rien..  :(

Reply

Marsh Posté le 19-09-2001 à 02:04:17    

essaye du côté de OleRegGetUserType().

Reply

Marsh Posté le 19-09-2001 à 11:13:57    

Merci youdontcare je viens d´essayer mais pour les subtypes il me rend tjrs:
There is no CLSID registered for the class object.
Et pourtant c registered je les connais les types pour ma caméra de test c du MEDIASUBTYPE_Y411 par exemple bien défini ds la doc de DirectX..  :??:  
 
Pour les major types même topo pas trouvés.
 
Pour les formattype il accepte de retirer un string, qui est ds tous les cas "87"..
Enfin le string qu´il me rend c un LPOLESTR, alias unsigned short*.. Mais j´imagine que je dois le dire comme un string normal (unsigned char*) non??

Reply

Marsh Posté le 19-09-2001 à 12:12:51    

Bon effectivement c bien des unsigned shorts je lisais mal le résultat..
 
N´empêche que les formattype rendent un truc inutile (WDM Streaming Capture VideoInfoHeader DataType Handler), et que ce qui m´intéresse le subtype n´est tjrs pas trouvé..
 
Qqun a une autre idée??

Reply

Marsh Posté le 19-09-2001 à 12:14:18    

Les chaines de caracteres OLE ( ou ActiveX) ont de caractère sur 16 bits de type wchar_t ( ou BSTR mais c'est pareil)

Reply

Marsh Posté le 19-09-2001 à 16:49:41    

Oui effectivement je m´en suis rendu compte..
 
Mais mon pb c que pour le GUID qui m´intéresse pas moyen d´obtenir de string..  Help qqun??

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed