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.
 
 
 
 
 
 

80 lines
2.7 KiB

// Device.h : Declaration of the CDevice
#ifndef __DEVICE_H_
#define __DEVICE_H_
#include "resource.h" // main symbols
/////////////////////////////////////////////////////////////////////////////
// CDevice
class ATL_NO_VTABLE CWMDMDevice :
public CComObjectRootEx<CComMultiThreadModel>,
public CComCoClass<CWMDMDevice, &CLSID_WMDMDevice>,
public IWMDMDevice2,
public IWMDMDeviceControl
{
public:
CWMDMDevice();
~CWMDMDevice();
BEGIN_COM_MAP(CWMDMDevice)
COM_INTERFACE_ENTRY(IWMDMDevice)
COM_INTERFACE_ENTRY(IWMDMDevice2)
COM_INTERFACE_ENTRY(IWMDMDeviceControl)
END_COM_MAP()
public:
//IWMDMDevice
STDMETHOD(GetName)(LPWSTR pwszName,
UINT nMaxChars);
STDMETHOD(GetManufacturer)(LPWSTR pwszName,
UINT nMaxChars);
STDMETHOD(GetVersion)(DWORD *pdwVersion);
STDMETHOD(GetType)(DWORD *pdwType);
STDMETHOD(GetSerialNumber)(PWMDMID pSerialNumber, BYTE abMac[WMDM_MAC_LENGTH]);
STDMETHOD(GetPowerSource)(DWORD *pdwPowerSource,
DWORD *pdwPercentRemaining);
STDMETHOD(GetStatus)(DWORD *pdwStatus);
STDMETHOD(GetDeviceIcon)(ULONG *hIcon);
STDMETHOD(SendOpaqueCommand)(OPAQUECOMMAND *pCommand);
//IWMDMDevice2
STDMETHOD(GetStorage)( LPCWSTR pszStorageName, IWMDMStorage** ppStorage );
STDMETHOD(GetFormatSupport2)( DWORD dwFlags,
_WAVEFORMATEX **ppAudioFormatEx,
UINT *pnAudioFormatCount,
_VIDEOINFOHEADER **ppVideoFormatEx,
UINT *pnVideoFormatCount,
WMFILECAPABILITIES **ppFileType,
UINT *pnFileTypeCount);
STDMETHOD(GetSpecifyPropertyPages)( ISpecifyPropertyPages** ppSpecifyPropPages,
IUnknown*** pppUnknowns,
ULONG* pcUnks );
STDMETHOD(GetPnPName)( LPWSTR pwszPnPName, UINT nMaxChars );
//IWMDMDeviceControl
STDMETHOD(GetCapabilities)(DWORD *pdwCapabilitiesMask);
STDMETHOD(Play)();
STDMETHOD(Record)(_WAVEFORMATEX *pFormat);
STDMETHOD(Pause)();
STDMETHOD(Resume)();
STDMETHOD(Stop)();
STDMETHOD(Seek)(UINT fuMode, int nOffset);
STDMETHOD(EnumStorage)(IWMDMEnumStorage **ppEnumStorage);
STDMETHOD(GetFormatSupport)(_WAVEFORMATEX **ppFormatEx,
UINT *pnFormatCount,
LPWSTR **pppwszMimeType,
UINT *pnMimeTypeCount);
void SetContainedPointer(IMDSPDevice *pDevice, WORD wSPIndex);
private:
IMDSPDevice *m_pDevice;
WORD m_wSPIndex;
};
#endif //__DEVICE_H_