windows-nt/Source/XPSP1/NT/multimedia/dshow/vidctl/auxintsimpl.h

76 lines
1.4 KiB
C
Raw Normal View History

2020-09-26 03:20:57 -05:00
/////////////////////////////////////////////////////////////////////////////////////
// auxintsimpl.h :
// Copyright (c) Microsoft Corporation 1999.
#ifndef AUXINTSIMPL_H
#define AUXINTSIMPL_H
#include "tuningspaceimpl.h"
namespace BDATuningModel {
template<class T,
class MostDerived = IAuxInTuningSpace,
LPCGUID iid = &__uuidof(MostDerived),
LPCGUID LibID = &LIBID_TunerLib,
WORD wMajor = 1,
WORD wMinor = 0,
class tihclass = CComTypeInfoHolder
> class ATL_NO_VTABLE IAuxInTSImpl :
public ITuningSpaceImpl<T, CChannelTuneRequest, MostDerived, iid, LibID, wMajor, wMinor, tihclass>
{
public:
IAuxInTSImpl() {}
virtual ~IAuxInTSImpl() {}
typedef ITuningSpaceImpl<T, CChannelTuneRequest, MostDerived, iid, LibID, wMajor, wMinor, tihclass> basetype;
BEGIN_PROP_MAP(IAuxInTSImpl)
CHAIN_PROP_MAP(basetype)
END_PROPERTY_MAP()
// IAuxInTS
STDMETHOD(Clone) (ITuningSpace **ppTS) {
try {
if (!ppTS) {
return E_POINTER;
}
ATL_LOCKT();
HRESULT hr = basetype::Clone(ppTS);
if (FAILED(hr)) {
return hr;
}
// T* pt = static_cast<T*>(*ppTS);
return NOERROR;
} catch (HRESULT h) {
return h;
} catch (...) {
return E_POINTER;
}
}
};
}; // namespace
#endif // AUXINTSIMPL_H
// end of file -- AuxIntsimpl.h