begin process at 2012 05 29 15:10:21
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Windows

 > 

ActiveX / COM

 > 

Pb ac CoCreateInstance()


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Pb ac CoCreateInstance()

mardi 23 octobre 2007 à 22:00:43 | Pb ac CoCreateInstance()

Neo_Fr

Membre Club
Bonsoir, Je suis en train d'essayer de faire un ptit player mp3 avec DirectShow mais j'ai un pb avec CoCreateInstance ca me sort cette erreur a la compilation: .\Song.c(10) : error C2440: 'fonction' : impossible de convertir de 'const GUID' en 'const IID *const ' J'apelle CoCreateInstance comme ca: CoCreateInstance(CLSID_FilterGraph, 0, CLSCTX_INPROC_SERVER, IID_IGraphBuilder, (LPVOID*)&gBuilder); Je vois pas trop d'ou ca peut venir, dans les quelques exemples que j'ai trouvé CoCreateInstance est appelé pareille... Neo_Fr
mardi 23 octobre 2007 à 22:22:03 | Re : Pb ac CoCreateInstance()

BruNews

Administrateur CodeS-SourceS
Réponse acceptée !
Si tu compiles en C alors essaie (pas le temps):
CoCreateInstance(&CLSID_FilterGraph, 0, CLSCTX_INPROC_SERVER, &IID_IGraphBuilder, (LPVOID*)&gBuilder);

ciao...
BruNews, MVP VC++
mardi 23 octobre 2007 à 22:29:06 | Re : Pb ac CoCreateInstance()

Neo_Fr

Membre Club
Merci ca marche, mais il me reste une erreur: .\Song.c(11) : error C2039: 'QueryInterface' : n'est pas membre de 'IGraphBuilder' gBuilder->QueryInterface(IID_IMediaControl, (LPVOID*)&mControl); Tu sais pas d'ou ca pourrait venir? Neo_Fr
mardi 23 octobre 2007 à 22:31:42 | Re : Pb ac CoCreateInstance()

SAKingdom

Membre Club
Passe par la table virtuelle

gBuilder->-lpVtbl->QueryInterface(IID_IMediaControl, (LPVOID*)&mControl);

C++ (@++)

mardi 23 octobre 2007 à 22:32:08 | Re : Pb ac CoCreateInstance()

SAKingdom

Membre Club
Réponse acceptée !
Oups:
gBuilder->lpVtbl->QueryInterface(IID_IMediaControl, (LPVOID*)&mControl);

C++ (@++)

mardi 23 octobre 2007 à 22:34:58 | Re : Pb ac CoCreateInstance()

BruNews

Administrateur CodeS-SourceS
Réponse acceptée !
La compil C++ masque les choses, toutes les méthodes COM en C se font explicitement via la vtable comme dit par SAK plus haut.

ciao...
BruNews, MVP VC++
mardi 23 octobre 2007 à 22:36:47 | Re : Pb ac CoCreateInstance()

Neo_Fr

Membre Club
Ca me laisse tjrs un erreur: .\Song.c(11) : error C2198: 'fonction via pointeur' : pas assez d'arguments pour un appel gBuilder->lpVtbl->QueryInterface(&IID_IMediaControl, (LPVOID*)&mControl); Neo_Fr
mardi 23 octobre 2007 à 22:40:58 | Re : Pb ac CoCreateInstance()

SAKingdom

Membre Club
Réponse acceptée !
QueryInterface demande 3 paramètres.
Le premier paramètre est un pointeur vers la structure. Ici, il s'agit de gBuilder. Devrait allez pour le reste.

C++ (@++)

mardi 23 octobre 2007 à 23:05:41 | Re : Pb ac CoCreateInstance()

Neo_Fr

Membre Club
C bizarre si je declare les interfaces dans une structure ca me met plein d'erreurs... typedef struct _song { char FilePath[MAX_PATH+4]; char* FullName; char* Artist; char* Title; BYTE State; IGraphBuilder* gBuilder; IBaseFilter* bFilter; IBasicAudio* bAudio; IMediaSeeking* mSeeking; IPin* Pin; }SONG, *LPSONG; Song.h(18) : error C2061: erreur de syntaxe : identificateur 'IGraphBuilder' Song.h(19) : error C2143: erreur de syntaxe : absence de '{' avant '*' Song.h(20) : error C2143: erreur de syntaxe : absence de '{' avant '*' Song.h(21) : error C2143: erreur de syntaxe : absence de '{' avant '*' Song.h(22) : error C2143: erreur de syntaxe : absence de '{' avant '*' Song.h(23) : error C2059: erreur de syntaxe : '}' Sinon ya un truc que j'ai pa bien compris a chaque fois qu'il manque un parametre (QueryInterface, Run, Stop, Render...) il faut que je rajoute un pointeur sur la structure? Ex: bAudio->lpVtbl->FindPin(&bAudio, L"Output", &Pin); ?? gBuilder->lpVtbl->AddFilter(&gBuilder, bAudio, 0); ?? mControl->lpVtbl->Run(&mControl); ?? Neo_Fr
mardi 23 octobre 2007 à 23:09:47 | Re : Pb ac CoCreateInstance()

SAKingdom

Membre Club
Oui. Sauf que bAudio, gBuilder, mControl sont déjà des pointeurs donc pas de &

bAudio->lpVtbl->FindPin(bAudio, L"Output", &Pin);
gBuilder->lpVtbl->AddFilter(gBuilder, bAudio, 0);
mControl->lpVtbl->Run(mControl);

C++ (@++)


1 2

Cette discussion est classée dans : pb, const, ac, cocreateinstance, iid


Répondre à ce message

Sujets en rapport avec ce message

Pb de "unresolved external symbol" (VC++ 6.0) [ par MELISA ] Bonjour,Voici mon pb:J'ai créé une dll qui contient la signature et le code de la fonction Init.Lorsque j'appelle cette fonction dans mon projet et lo pb ac fichier ini [ par kekenobi ] tout dabord salut a tous! voila g un grous souci sous builder 5!Mon but et de pouvoir récuperer des infos d'un fichier ini et les afficher dans une co extern et const [ par vecchio56 ] J'ai un problème pour utiliser une variable extern et const:dans un fichier .cpp j'aiconst int a = 0et dans un un autre j'utilise a:extern const int a Pb ac une source et Mapi32.dll [ par Gendal67 ] voila, j'ai trouvé une super source sur cppfrance à l'adresse suivante :http://www.cppfrance.com/code.aspx?ID=9872Apres qq modifications pour l'adapte pb ac devc++ pr visualiser la reponse du programme sous windows apres execution [ par jonnas ] en fait, n'etant pas un specialiste du langage C, je n'arrive pas a voir la fenetre d'execution de mon programme. celle-ci apparait et disparait aussi PB de "const" pour un tableau en C [ par james ] est-on obligé de definir une taille pour un tableau declaré en const?faut-il donné la taille dans cette dans le .h et dans le .cdernier question: a-t- pb de fermeture de session ftp sous win 2000 ( InternetCloseHandle ) [ par mzhunix ] Bonjour,J'ai un probleme avec la fermeture des sessions ftp de window 2000 en appelant la fonction InternetCloseHandle je dois attendre plusieurs seco pb de fermeture de session ftp sous win 2000 ( InternetCloseHandle ) [ par mzhunix ] Bonjour,J'ai un probleme avec la fermeture des sessions ftp de window 2000 en appelant la fonction InternetCloseHandle je dois attendre plusieurs seco Pb d'un exécutable [ par MELISA ] Bonjour,Voici mon pb:Lorsque je veux lancer mon exe, une fenêtre d'erreur "La création d'un document vide a échoué" apparaît.Si quelqu'un connaît ce p Pb : insertion de classes [ par tweet ] Bonjour,voila, j'ai créé un programme en c++ sur lequel je voudrais posé une interface graphique. Le problème est qu'en réalisant un projet MFC applic


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,671 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales