|
// PSLTable.h : Declaration of the CPSLTable
#pragma once
#include "resource.h" // main symbols
#include "GUIDs.h"
#include "PSLExceptions.h"
#include <Wbemcli.h>
#include "ProSysLib_i.h"
class ATL_NO_VTABLE CPSLTable :
public CComObjectRootEx<CComMultiThreadModel>,
public CComCoClass<CPSLTable, &CLSID_PSLTable>,
public IDispatchImpl<IPSLTable, &IID_IPSLTable, &LIBID_ProSysLib, PSL_HiVersion, PSL_LoVersion>,
public CPSLException<&CLSID_PSLAccount, &IID_IPSLAccount>
{
typedef map<long, _bstr_t> CColumnNames;
typedef map<long, _variant_t> CColumnValues;
public:
CPSLTable();
bool Initialize(IWbemClassObject * pClassObject, long & lErrorCode, vector<tstring> * pColFilter, bool bSpecial);
bool AddRow(IWbemClassObject * pClassObject, long & lErrorCode);
BEGIN_COM_MAP(CPSLTable)
COM_INTERFACE_ENTRY(IPSLTable)
COM_INTERFACE_ENTRY(IDispatch)
COM_INTERFACE_ENTRY(ISupportErrorInfo)
END_COM_MAP()
DECLARE_PROTECT_FINAL_CONSTRUCT()
HRESULT FinalConstruct();
void FinalRelease();
////////////////////////////
// Interface Implementation:
////////////////////////////
STDMETHOD(get_nCols)(long * pValue);
STDMETHOD(get_nRows)(long * pValue);
STDMETHOD(GetValue)(long RowIdx, long ColIdx, VARIANT * pValue);
STDMETHOD(GetColName)(long ColIdx, BSTR * pValue);
private:
long m_nCols;
long m_nRows;
CColumnNames m_ColumnNames;
CColumnValues m_ColumnValues;
};
|
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.