|
// PSLThread.h : Declaration of the CPSLThread
#pragma once
#include "resource.h" // main symbols
#include "GUIDs.h"
#include "PSLExceptions.h"
#include "ProSysLib_i.h"
#include <tlhelp32.h>
class ATL_NO_VTABLE CPSLThread :
public CComObjectRootEx<CComMultiThreadModel>,
public CComCoClass<CPSLThread, &CLSID_PSLThread>,
public IDispatchImpl<IPSLThread, &IID_IPSLThread, &LIBID_ProSysLib, PSL_HiVersion, PSL_LoVersion>,
public CPSLException<&CLSID_PSLService, &IID_IPSLService>
{
public:
CPSLThread();
void Initialize(THREADENTRY32 * pInfo);
BEGIN_COM_MAP(CPSLThread)
COM_INTERFACE_ENTRY(IPSLThread)
COM_INTERFACE_ENTRY(IDispatch)
COM_INTERFACE_ENTRY(ISupportErrorInfo)
END_COM_MAP()
DECLARE_PROTECT_FINAL_CONSTRUCT()
HRESULT FinalConstruct();
void FinalRelease();
////////////////////////////
// Interface Implementation:
////////////////////////////
STDMETHOD(get_ThreadID)(long * pValue);
STDMETHOD(get_Priority)(PSLThreadPriority * pValue);
STDMETHOD(put_Priority)(PSLThreadPriority newValue);
STDMETHOD(get_PriorityBoost)(VARIANT_BOOL * pValue);
STDMETHOD(put_PriorityBoost)(VARIANT_BOOL newValue);
STDMETHOD(get_AffinityMask)(VARIANT * pValue);
STDMETHOD(put_AffinityMask)(VARIANT newValue);
STDMETHOD(get_IsCurrent)(VARIANT_BOOL * pValue);
STDMETHOD(get_IsAlive)(VARIANT_BOOL * pValue);
STDMETHOD(get_Created)(DATE * pValue);
STDMETHOD(PostMsg)(long Msg, VARIANT wParam, VARIANT lParam, VARIANT_BOOL * pValue);
STDMETHOD(Wait)(long TimeOut, VARIANT_BOOL * pValue);
STDMETHOD(Terminate)(long ExitCode, VARIANT_BOOL * pValue);
STDMETHOD(Suspend)(long * pValue);
STDMETHOD(Resume)(long * pValue);
private:
DATE m_Created;
long m_ThreadID;
};
|
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.