Microsoft DirectX 8.0

C によるフィルタ グラフの制御

Microsoft® DirectShow® アプリケーションを (C++ ではなく) C で書いているなら、メソッドを呼び出す際に vtable を使用しなければならない。以下の例は IUnknown::QueryInterface メソッドを C で書かれたアプリケーションから呼び出す方法を示す :

pGraph->lpVtbl->QueryInterface(pGraph, &IID_IMediaEvent, (void **)&pEvent);

以下は上記と等しい C++ の呼び出しである :

pGraph->QueryInterface(IID_IMediaEvent, (void **)&pEvent);

C ではインターフェイスは構造体として定義されている。lpVtbl メンバはインターフェイス メソッドの表 (vtable) へのポインタである。すべてのメソッドはインターフェイスへのポインタである追加パラメータを持っている。