61 lines
1.5 KiB
C
61 lines
1.5 KiB
C
|
// cdplay.h.h : Declaration of the CCDPlay
|
||
|
|
||
|
#ifndef __CDPLAY_H_
|
||
|
#define __CDPLAY_H_
|
||
|
|
||
|
#include "playres.h"
|
||
|
#include "..\main\mmfw.h"
|
||
|
|
||
|
/////////////////////////////////////////////////////////////////////////////
|
||
|
// CCDPlay
|
||
|
class CCDPlay : public IMMComponent, IMMComponentAutomation
|
||
|
{
|
||
|
public:
|
||
|
CCDPlay();
|
||
|
~CCDPlay();
|
||
|
|
||
|
// ICDPlay
|
||
|
public:
|
||
|
STDMETHOD(QueryInterface)(REFIID riid, LPVOID *ppvObj);
|
||
|
STDMETHOD_(ULONG,AddRef)();
|
||
|
STDMETHOD_(ULONG,Release)();
|
||
|
STDMETHOD(GetInfo)(MMCOMPDATA* mmCompData);
|
||
|
STDMETHOD(Init)(IMMFWNotifySink* pSink, HWND hwndMain, RECT* pRect, HWND* phwndComp, HMENU* phMenu);
|
||
|
STDMETHOD(OnAction)(MMACTIONS mmActionID, LPVOID pAction);
|
||
|
|
||
|
private:
|
||
|
STDMETHOD(QueryVolumeSupport)(BOOL* pVolume, BOOL* pPan);
|
||
|
void InitIcons();
|
||
|
HRESULT GetTrackInfo(LPMMTRACKORDISC pInfo);
|
||
|
HRESULT GetDiscInfo(LPMMTRACKORDISC pInfo);
|
||
|
void NormalizeNameForMenuDisplay(TCHAR* szInput, TCHAR* szOutput, DWORD cbLen);
|
||
|
void SetTrack(int nTrack);
|
||
|
void SetDisc(int nDisc);
|
||
|
|
||
|
IMMFWNotifySink* m_pSink;
|
||
|
HICON m_hIcon16;
|
||
|
HICON m_hIcon32;
|
||
|
HMENU m_hMenu;
|
||
|
HWND m_hwndMain;
|
||
|
|
||
|
DWORD m_dwRef;
|
||
|
};
|
||
|
|
||
|
class CCDPlayClassFactory : public IClassFactory
|
||
|
{
|
||
|
public:
|
||
|
CCDPlayClassFactory();
|
||
|
|
||
|
STDMETHOD(QueryInterface)(REFIID riid, LPVOID *ppvObj);
|
||
|
STDMETHOD_(ULONG,AddRef)();
|
||
|
STDMETHOD_(ULONG,Release)();
|
||
|
|
||
|
STDMETHOD(CreateInstance)(IUnknown * pUnkOuter, REFIID riid, void ** ppvObject);
|
||
|
STDMETHOD(LockServer)(BOOL fLock);
|
||
|
|
||
|
private:
|
||
|
DWORD m_dwRef;
|
||
|
};
|
||
|
|
||
|
#endif //__CDPLAY_H_
|