windows-nt/Source/XPSP1/NT/multimedia/directx/dmusic/dmime/dmprfdll.h
2020-09-26 16:20:57 +08:00

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_