Back

// PSLMonitors.h : Declaration of the CPSLMonitors

#pragma once
#include "resource.h"       // main symbols
#include "GUIDs.h"
#include "PSLExceptions.h"
#include "ProSysLib_i.h"

DECLARE_PSL_COLLECTION(Monitors, Monitor);

class ATL_NO_VTABLE CPSLMonitors:
   public CComObjectRootEx<CComMultiThreadModel>,
   public CComCoClass<CPSLMonitors, &CLSID_PSLMonitors>,
   public CMonitorsCollection,
   public CPSLException<&CLSID_PSLMonitors, &IID_IPSLMonitors>
{

public:

   CPSLMonitors();

BEGIN_COM_MAP(CPSLMonitors)
   COM_INTERFACE_ENTRY(IPSLMonitors)
   COM_INTERFACE_ENTRY(IDispatch)
   COM_INTERFACE_ENTRY(ISupportErrorInfo)
END_COM_MAP()

   DECLARE_PROTECT_FINAL_CONSTRUCT()
   HRESULT FinalConstruct();
   void FinalRelease();

////////////////////////////
// Interface Implementation:
////////////////////////////

   STDMETHOD(Update)();

protected:

   virtual HRESULT OnIndexOutOfRange();

private:

   static BOOL CALLBACK MonitorEnumProc(HMONITOR hMonitor, HDC hdcMonitor, LPRECT lprcMonitor, LPARAM dwData);

   void InternalUpdate();
};

Top