windows-nt/Source/XPSP1/NT/admin/wmiscmgr/editpropertydlgs.h
2020-09-26 16:20:57 +08:00

216 lines
5.7 KiB
C++

//-------------------------------------------------------------------------
// File: EditPropertyDlgs.h
//
// Author : Kishnan Nedungadi
//
// created : 3/27/2000
//-------------------------------------------------------------------------
class CEditProperty
{
public:
CEditProperty(HWND hWndParent, LPCTSTR pszName, LPCTSTR pszType, VARIANT * pvValue, IWbemServices *pIWbemServices, long lSpecialCaseProperty=0);
~CEditProperty();
long Run();
enum prop_special_cases
{
psc_rules = 0,
psc_rule = 1,
psc_ranges = 2,
psc_range = 3
};
protected:
HWND m_hWnd;
VARIANT * pvSrcValue;
CComBSTR m_bstrName;
CComBSTR m_bstrType;
CComPtr<IWbemServices>m_pIWbemServices;
long m_lSpecialCaseProperty;
};
//-------------------------------------------------------------------------
class CEditPropertyDlg
{
public:
CEditPropertyDlg(LPCTSTR pszName, LPCTSTR pszType, VARIANT * pvValue);
~CEditPropertyDlg();
CComVariant m_vValue;
protected:
virtual STDMETHODIMP InitializeDialog();
virtual STDMETHODIMP DestroyDialog();
HWND m_hWnd;
VARIANT * pvSrcValue;
CComBSTR m_bstrName;
CComBSTR m_bstrType;
};
//-------------------------------------------------------------------------
class CEditStringPropertyDlg : public CEditPropertyDlg
{
public:
CEditStringPropertyDlg(LPCTSTR pszName, LPCTSTR pszType, VARIANT * pvValue);
~CEditStringPropertyDlg();
INT_PTR CALLBACK EditStringPropertyDlgProc(HWND hDlg, UINT iMessage, WPARAM wParam, LPARAM lParam);
STDMETHODIMP OnOK();
protected:
STDMETHODIMP InitializeDialog();
STDMETHODIMP DestroyDialog();
};
//-------------------------------------------------------------------------
class CEditNumberPropertyDlg : public CEditPropertyDlg
{
public:
CEditNumberPropertyDlg(LPCTSTR pszName, LPCTSTR pszType, VARIANT * pvValue);
~CEditNumberPropertyDlg();
INT_PTR CALLBACK EditNumberPropertyDlgProc(HWND hDlg, UINT iMessage, WPARAM wParam, LPARAM lParam);
STDMETHODIMP OnOK();
protected:
STDMETHODIMP InitializeDialog();
STDMETHODIMP DestroyDialog();
};
//-------------------------------------------------------------------------
class CEditRulesPropertyDlg : public CEditPropertyDlg
{
public:
CEditRulesPropertyDlg(LPCTSTR pszName, LPCTSTR pszType, VARIANT * pvValue, IWbemServices *pIWbemServices);
~CEditRulesPropertyDlg();
INT_PTR CALLBACK EditRulesPropertyDlgProc(HWND hDlg, UINT iMessage, WPARAM wParam, LPARAM lParam);
STDMETHODIMP OnOK();
STDMETHODIMP ClearItems();
STDMETHODIMP PopulateItems();
STDMETHODIMP AddItemToList(IWbemClassObject * pIWbemClassObject, long lIndex=MAX_LIST_ITEMS);
STDMETHODIMP OnAdd();
STDMETHODIMP OnEdit();
STDMETHODIMP OnDelete();
protected:
STDMETHODIMP InitializeDialog();
STDMETHODIMP DestroyDialog();
HWND m_hwndListView;
CComPtr<IWbemServices>m_pIWbemServices;
};
//-------------------------------------------------------------------------
class CEditRulePropertyDlg
{
public:
CEditRulePropertyDlg(IWbemClassObject* pIWbemClassObject);
~CEditRulePropertyDlg();
INT_PTR CALLBACK EditRulePropertyDlgProc(HWND hDlg, UINT iMessage, WPARAM wParam, LPARAM lParam);
STDMETHODIMP OnOK();
protected:
STDMETHODIMP InitializeDialog();
STDMETHODIMP DestroyDialog();
CComPtr<IWbemClassObject>m_pIWbemClassObject;
HWND m_hWnd;
};
//-------------------------------------------------------------------------
class CEditRangeParametersPropertyDlg : public CEditPropertyDlg
{
public:
CEditRangeParametersPropertyDlg(LPCTSTR pszName, LPCTSTR pszType, VARIANT * pvValue, IWbemServices *pIWbemServices);
~CEditRangeParametersPropertyDlg();
INT_PTR CALLBACK EditRangeParametersPropertyDlgProc(HWND hDlg, UINT iMessage, WPARAM wParam, LPARAM lParam);
STDMETHODIMP OnOK();
STDMETHODIMP ClearItems();
STDMETHODIMP PopulateItems();
STDMETHODIMP AddItemToList(IWbemClassObject * pIWbemClassObject, long lIndex=MAX_LIST_ITEMS);
STDMETHODIMP OnAdd();
STDMETHODIMP OnEdit();
STDMETHODIMP OnDelete();
protected:
STDMETHODIMP InitializeDialog();
STDMETHODIMP DestroyDialog();
HWND m_hwndListView;
CComPtr<IWbemServices>m_pIWbemServices;
};
//-------------------------------------------------------------------------
class CEditRangeParameterPropertyDlg
{
public:
CEditRangeParameterPropertyDlg(IWbemClassObject* pIWbemClassObject, IWbemServices* pIWbemServices);
~CEditRangeParameterPropertyDlg();
INT_PTR CALLBACK EditRangeParameterPropertyDlgProc(HWND hDlg, UINT iMessage, WPARAM wParam, LPARAM lParam);
STDMETHODIMP OnOK();
STDMETHODIMP ClearItems();
STDMETHODIMP PopulateItems();
STDMETHODIMP AddItemToList(IWbemClassObject * pIWbemClassObject, long lIndex=MAX_LIST_ITEMS);
STDMETHODIMP OnAdd();
STDMETHODIMP OnEdit();
STDMETHODIMP OnDelete();
STDMETHODIMP GetSintRangeValues();
STDMETHODIMP SetSintRangeValues();
STDMETHODIMP GetUintRangeValues();
STDMETHODIMP SetUintRangeValues();
STDMETHODIMP GetRealRangeValues();
STDMETHODIMP SetRealRangeValues();
STDMETHODIMP GetSintSetValues();
STDMETHODIMP SetSintSetValues();
STDMETHODIMP GetUintSetValues();
STDMETHODIMP SetUintSetValues();
STDMETHODIMP GetStringSetValues();
STDMETHODIMP SetStringSetValues();
STDMETHODIMP SetRangeParamValues();
enum range_types
{
rt_sintrange = 0,
rt_uintrange = 1,
rt_realrange = 2,
rt_sintset = 3,
rt_uintset = 4,
rt_stringset = 5
};
CComVariant m_vValue;
protected:
STDMETHODIMP InitializeDialog();
STDMETHODIMP DestroyDialog();
STDMETHODIMP ShowControls();
HWND m_hwndListView;
HWND m_hWnd;
CComPtr<IWbemClassObject>m_pIWbemClassObject;
CComPtr<IWbemServices>m_pIWbemServices;
};
//-------------------------------------------------------------------------