|
// PSLMonitor.h : Declaration of the CPSLMonitor
#pragma once
#include "resource.h" // main symbols
#include "GUIDs.h"
#include "PSLExceptions.h"
#include "ProSysLib_i.h"
#include "PSLRect.h"
#include "PSLSize.h"
class ATL_NO_VTABLE CPSLMonitor:
public CComObjectRootEx<CComMultiThreadModel>,
public CComCoClass<CPSLMonitor, &CLSID_PSLMonitor>,
public IDispatchImpl<IPSLMonitor, &IID_IPSLMonitor, &LIBID_ProSysLib, PSL_HiVersion, PSL_LoVersion>,
public CPSLException<&CLSID_PSLMonitor, &IID_IPSLMonitor>
{
public:
CPSLMonitor();
void Initialize(HMONITOR hMonitor);
BEGIN_COM_MAP(CPSLMonitor)
COM_INTERFACE_ENTRY(IPSLMonitor)
COM_INTERFACE_ENTRY(IDispatch)
COM_INTERFACE_ENTRY(ISupportErrorInfo)
END_COM_MAP()
DECLARE_PROTECT_FINAL_CONSTRUCT()
HRESULT FinalConstruct();
void FinalRelease();
////////////////////////////
// Interface Implementation:
////////////////////////////
STDMETHOD(get_IsPrimary)(VARIANT_BOOL * pValue);
STDMETHOD(get_DeviceName)(BSTR * pValue);
STDMETHOD(get_MonitorName)(BSTR * pValue);
STDMETHOD(get_Bounds)(IPSLRect ** ppValue);
STDMETHOD(get_WorkArea)(IPSLRect ** ppValue);
STDMETHOD(get_PhysicalSize)(IPSLSize ** ppValue);
STDMETHOD(get_RefreshRate)(short * pValue);
STDMETHOD(get_ColorRes)(short * pValue);
private:
bool m_bPrimary;
_bstr_t m_DeviceName;
_bstr_t m_MonitorName;
short m_RefreshRate;
short m_ColorRes;
CComObject<CPSLRect> * m_pBounds;
CComObject<CPSLRect> * m_pWorkArea;
CComObject<CPSLSize> * m_pPhysicalSize;
};
|
By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.
If a file you wish to view isn't highlighted, and is a text file (not binary), please
let us know and we'll add colourisation support for it.