|
// PSLWindowsFilter.h : Declaration of the CPSLWindowsFilter
#pragma once
#include "resource.h" // main symbols
#include "GUIDs.h"
#include "PSLExceptions.h"
#include "ProSysLib_i.h"
class ATL_NO_VTABLE CPSLWindowsFilter:
public CComObjectRootEx<CComMultiThreadModel>,
public CComCoClass<CPSLWindowsFilter, &CLSID_PSLWindowsFilter>,
public IDispatchImpl<IPSLWindowsFilter, &IID_IPSLWindowsFilter, &LIBID_ProSysLib, PSL_HiVersion, PSL_LoVersion>,
public CPSLException<&CLSID_PSLWindowsFilter, &IID_IPSLWindowsFilter>
{
public:
struct CWindowsFilter
{
CWindowsFilter();
bool Reset();
PSLFilterFlag TopLevel;
PSLFilterFlag HasText;
PSLFilterFlag Visible;
PSLFilterFlag Enabled;
long ThreadID;
HWND ParentWnd;
};
CPSLWindowsFilter();
~CPSLWindowsFilter();
bool CheckDirtyAndReset(CWindowsFilter * pFilter);
BEGIN_COM_MAP(CPSLWindowsFilter)
COM_INTERFACE_ENTRY(IPSLWindowsFilter)
COM_INTERFACE_ENTRY(IDispatch)
COM_INTERFACE_ENTRY(ISupportErrorInfo)
END_COM_MAP()
DECLARE_PROTECT_FINAL_CONSTRUCT()
HRESULT FinalConstruct();
void FinalRelease();
////////////////////////////
// Interface Implementation:
////////////////////////////
STDMETHOD(get_TopLevel)(PSLFilterFlag * pValue);
STDMETHOD(put_TopLevel)(PSLFilterFlag newValue);
STDMETHOD(get_HasText)(PSLFilterFlag * pValue);
STDMETHOD(put_HasText)(PSLFilterFlag newValue);
STDMETHOD(get_Visible)(PSLFilterFlag * pValue);
STDMETHOD(put_Visible)(PSLFilterFlag newValue);
STDMETHOD(get_Enabled)(PSLFilterFlag * pValue);
STDMETHOD(put_Enabled)(PSLFilterFlag newValue);
STDMETHOD(get_ThreadID)(long * pValue);
STDMETHOD(put_ThreadID)(long newValue);
STDMETHOD(get_ParentHandle)(VARIANT * pValue);
STDMETHOD(put_ParentHandle)(VARIANT newValue);
STDMETHOD(Reset)();
private:
CRITICAL_SECTION m_cs;
CWindowsFilter m_Filter;
bool m_bDirty;
bool m_bLocalProcess; // Indicates whether this filter
// is for the current process only;
};
|
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.