Contrôle des graphiques de filtre à l’aide de C
si vous écrivez une application DirectShow en C (plutôt que C++), vous devez utiliser un pointeur vtable pour appeler des méthodes. L’exemple suivant illustre l’appel de la méthode IUnknown :: QueryInterface à partir d’une application écrite en C :
pGraph->lpVtbl->QueryInterface(pGraph, &IID_IMediaEvent, (void **)&pEvent);
L’exemple suivant illustre l’appel équivalent en C++ :
pGraph->QueryInterface(IID_IMediaEvent, (void **)&pEvent);
En C, les interfaces COM sont définies en tant que structures. Le membre lpVtbl est un pointeur vers une table de méthodes d’interface (vtable). Toutes les méthodes prennent un paramètre supplémentaire, qui est un pointeur vers l’interface.