私はGraphStudioにこのフィルタを使用する場合、私はそれを正しく削除することができ、そのような削除DirectShowフィルタ(デストラクタが呼び出されていない)
class Myfilter : public CSource
{
~MyFilter(){ delete everything;}
}
としてCSourceを実装するカスタムのDirectShowフィルタを構築している、デストラクタが正しく呼び出されます。私はCOMのinstaciation経由で私のフィルタを作成すると
することは、私はもはやpFilterがデストラクタを呼び出すことはありません削除削除
IBaseFilter *pFilter = NULL;
HRESULT hr = CoCreateInstance(clsid, NULL, CLSCTX_INPROC_SERVER,
IID_PPV_ARGS(&pFilter));
でそれを削除することはできません。
フィルタ用にカスタムデストラクタを呼び出すにはどうすればよいですか?
削除の代わりにリリース()を使用しているサギント – Eric
他の場所にバグがあります。問題を再現する最小限の例を投稿してください。 –
私はまだどこかで私のフィルタへの参照を持っていました。 GraphStudioで使われていなかった私のグラフ構築クラス – Eric