76 lines
1.4 KiB
C
76 lines
1.4 KiB
C
|
/////////////////////////////////////////////////////////////////////////////////////
|
||
|
// 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
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|