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) へのポインタである。すべてのメソッドはインターフェイスへのポインタである追加パラメータを持っている。