Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

75 lines
1.4 KiB

  1. /////////////////////////////////////////////////////////////////////////////////////
  2. // auxintsimpl.h :
  3. // Copyright (c) Microsoft Corporation 1999.
  4. #ifndef AUXINTSIMPL_H
  5. #define AUXINTSIMPL_H
  6. #include "tuningspaceimpl.h"
  7. namespace BDATuningModel {
  8. template<class T,
  9. class MostDerived = IAuxInTuningSpace,
  10. LPCGUID iid = &__uuidof(MostDerived),
  11. LPCGUID LibID = &LIBID_TunerLib,
  12. WORD wMajor = 1,
  13. WORD wMinor = 0,
  14. class tihclass = CComTypeInfoHolder
  15. > class ATL_NO_VTABLE IAuxInTSImpl :
  16. public ITuningSpaceImpl<T, CChannelTuneRequest, MostDerived, iid, LibID, wMajor, wMinor, tihclass>
  17. {
  18. public:
  19. IAuxInTSImpl() {}
  20. virtual ~IAuxInTSImpl() {}
  21. typedef ITuningSpaceImpl<T, CChannelTuneRequest, MostDerived, iid, LibID, wMajor, wMinor, tihclass> basetype;
  22. BEGIN_PROP_MAP(IAuxInTSImpl)
  23. CHAIN_PROP_MAP(basetype)
  24. END_PROPERTY_MAP()
  25. // IAuxInTS
  26. STDMETHOD(Clone) (ITuningSpace **ppTS) {
  27. try {
  28. if (!ppTS) {
  29. return E_POINTER;
  30. }
  31. ATL_LOCKT();
  32. HRESULT hr = basetype::Clone(ppTS);
  33. if (FAILED(hr)) {
  34. return hr;
  35. }
  36. // T* pt = static_cast<T*>(*ppTS);
  37. return NOERROR;
  38. } catch (HRESULT h) {
  39. return h;
  40. } catch (...) {
  41. return E_POINTER;
  42. }
  43. }
  44. };
  45. }; // namespace
  46. #endif // AUXINTSIMPL_H
  47. // end of file -- AuxIntsimpl.h