57 lines
1.2 KiB
C++
57 lines
1.2 KiB
C++
// Copyright (c) 1998-1999 Microsoft Corporation
|
|
// dmprfdll.h
|
|
//
|
|
// Class factory
|
|
//
|
|
|
|
#ifndef __DMPRFDLL_H_
|
|
#define __DMPRFDLL_H_
|
|
|
|
class CClassFactory : public IClassFactory
|
|
{
|
|
public:
|
|
// IUnknown
|
|
//
|
|
STDMETHODIMP QueryInterface(const IID &iid, void **ppv);
|
|
STDMETHODIMP_(ULONG) AddRef();
|
|
STDMETHODIMP_(ULONG) Release();
|
|
|
|
// Interface IClassFactory
|
|
//
|
|
STDMETHODIMP CreateInstance(IUnknown* pUnknownOuter, const IID& iid, void** ppv);
|
|
STDMETHODIMP LockServer(BOOL bLock);
|
|
|
|
// Constructor
|
|
//
|
|
CClassFactory(DWORD dwToolType);
|
|
|
|
// Destructor
|
|
~CClassFactory();
|
|
|
|
private:
|
|
long m_cRef;
|
|
DWORD m_dwClassType;
|
|
};
|
|
|
|
// We use one class factory to create all classes. We need an identifier for each
|
|
// type so the class factory knows what it is creating.
|
|
|
|
#define CLASS_PERFORMANCE 1
|
|
#define CLASS_GRAPH 2
|
|
#define CLASS_SEGMENT 3
|
|
#define CLASS_SONG 4
|
|
#define CLASS_AUDIOPATH 5
|
|
#define CLASS_SEQTRACK 6
|
|
#define CLASS_SYSEXTRACK 7
|
|
#define CLASS_TEMPOTRACK 8
|
|
#define CLASS_TIMESIGTRACK 9
|
|
#define CLASS_LYRICSTRACK 10
|
|
#define CLASS_MARKERTRACK 11
|
|
#define CLASS_PARAMSTRACK 12
|
|
#define CLASS_TRIGGERTRACK 13
|
|
#define CLASS_WAVETRACK 14
|
|
#define CLASS_SEGSTATE 15
|
|
|
|
|
|
|
|
#endif // __DMPRFDLL_H_
|