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.

56 lines
1.3 KiB

  1. // Copyright (c) 1998-1999 Microsoft Corporation
  2. // dmprfdll.h
  3. //
  4. // Class factory
  5. //
  6. #ifndef __DMPRFDLL_H_
  7. #define __DMPRFDLL_H_
  8. class CClassFactory : public IClassFactory
  9. {
  10. public:
  11. // IUnknown
  12. //
  13. STDMETHODIMP QueryInterface(const IID &iid, void **ppv);
  14. STDMETHODIMP_(ULONG) AddRef();
  15. STDMETHODIMP_(ULONG) Release();
  16. // Interface IClassFactory
  17. //
  18. STDMETHODIMP CreateInstance(IUnknown* pUnknownOuter, const IID& iid, void** ppv);
  19. STDMETHODIMP LockServer(BOOL bLock);
  20. // Constructor
  21. //
  22. CClassFactory(DWORD dwToolType);
  23. // Destructor
  24. ~CClassFactory();
  25. private:
  26. long m_cRef;
  27. DWORD m_dwClassType;
  28. };
  29. // We use one class factory to create all classes. We need an identifier for each
  30. // type so the class factory knows what it is creating.
  31. #define CLASS_PERFORMANCE 1
  32. #define CLASS_GRAPH 2
  33. #define CLASS_SEGMENT 3
  34. #define CLASS_SONG 4
  35. #define CLASS_AUDIOPATH 5
  36. #define CLASS_SEQTRACK 6
  37. #define CLASS_SYSEXTRACK 7
  38. #define CLASS_TEMPOTRACK 8
  39. #define CLASS_TIMESIGTRACK 9
  40. #define CLASS_LYRICSTRACK 10
  41. #define CLASS_MARKERTRACK 11
  42. #define CLASS_PARAMSTRACK 12
  43. #define CLASS_TRIGGERTRACK 13
  44. #define CLASS_WAVETRACK 14
  45. #define CLASS_SEGSTATE 15
  46. #endif // __DMPRFDLL_H_