TVTestについて語るスレ Part 41

このエントリーをはてなブックマークに追加
470TVTest0.8.0ビルドその3
8.C:\src\TVTest_0.8.0_Src\DirectShowFilter\VMR9Renderless.cppをTeraPad等のテキストエディタで開き、
『#include <atlbase.h>』を『//#include <atlbase.h>』に置換
さらに15行目あたりに下記コードをコピー

#ifndef __ATLBASE_H__
template <class T> class CComPtr
{
public:
CComPtr() : p(NULL) {}
CComPtr(T *lp) : p(lp) { if (p) p->AddRef(); }
CComPtr(const CComPtr<T> &other) { p = other.p; if (p) p->AddRef(); }
~CComPtr() { Release(); }
T *operator=(T *lp) { Attach(lp); if (p) p->AddRef(); return p; }
T *operator=(const CComPtr<T> &other) { return *this = other.p; }
bool operator==(T *lp) const { return p == lp; }
operator T*() const { return p; }
T **operator&() { _ASSERT(!p); return &p; }
T *operator->() const { _ASSERT(p); return p; }
void Release() { if (p) p->Release(); p = NULL; }
void Attach(T *lp) { Release(); p = lp; }
HRESULT CopyTo(T **lpp) { _ASSERT(lpp); if (!lpp) return E_POINTER; *lpp = p; if (p) p->AddRef(); return S_OK; }
T *p;
};
#endif

C:\src\TVTest_0.8.0_Src
C:\src\TVTest_0.8.0_Src\BonTsEngine\TVCAS.h
C:\src\TVTest_0.8.0_Src\DirectShowFilter\VMR9Renderless.cpp(改変済み)
C:\src\dtvengine.diff.txt