|
// PSLSoftware.h : Declaration of the CPSLSoftware
#pragma once
#include "resource.h" // main symbols
#include "GUIDs.h"
#include "AutoObject.h"
#include "PSLExceptions.h"
#include "ProSysLib_i.h"
#include "PSLOS.h"
#include "PSLDrivers.h"
#include "PSLProcesses.h"
#include "PSLServices.h"
#include "PSLModuleVersion.h"
class ATL_NO_VTABLE CPSLSoftware :
public CComObjectRootEx<CComMultiThreadModel>,
public CComCoClass<CPSLSoftware, &CLSID_PSLSoftware>,
public IDispatchImpl<IPSLSoftware, &IID_IPSLSoftware, &LIBID_ProSysLib, PSL_HiVersion, PSL_LoVersion>,
public CPSLException<&CLSID_PSLSoftware, &IID_IPSLSoftware>
{
public:
CPSLSoftware();
BEGIN_COM_MAP(CPSLSoftware)
COM_INTERFACE_ENTRY(IPSLSoftware)
COM_INTERFACE_ENTRY(IDispatch)
COM_INTERFACE_ENTRY(ISupportErrorInfo)
END_COM_MAP()
DECLARE_PROTECT_FINAL_CONSTRUCT()
HRESULT FinalConstruct();
void FinalRelease();
////////////////////////////
// Interface Implementation:
////////////////////////////
STDMETHOD(get_OS)(IPSLOS ** ppValue);
STDMETHOD(get_Drivers)(IPSLDrivers ** ppValue);
STDMETHOD(get_Processes)(IPSLProcesses ** ppValue);
STDMETHOD(get_Services)(IPSLServices ** ppValue);
STDMETHOD(GetModuleVersion)(BSTR ModulePath, IPSLModuleVersion ** ppValue);
STDMETHOD(WindowFromHandle)(VARIANT Handle, IPSLWindow ** ppValue);
STDMETHOD(ProcessIDFromThreadID)(long ThreadID, long * pValue);
private:
CAutoObject<CPSLOS> m_OS;
CAutoObject<CPSLDrivers> m_Drivers;
CAutoObject<CPSLProcesses> m_Processes;
CAutoObject<CPSLServices> m_Services;
};
|
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.