mirror of https://github.com/tongzx/nt5src
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
109 lines
2.4 KiB
109 lines
2.4 KiB
/*++
|
|
|
|
Copyright (C) 1997-2001 Microsoft Corporation
|
|
|
|
Module Name:
|
|
|
|
Abstract:
|
|
|
|
History:
|
|
|
|
--*/
|
|
#if !defined(AFX_PROPQUALSPG_H__42BE2BB5_536D_45D6_B307_4EEF803B35C9__INCLUDED_)
|
|
#define AFX_PROPQUALSPG_H__42BE2BB5_536D_45D6_B307_4EEF803B35C9__INCLUDED_
|
|
|
|
#if _MSC_VER > 1000
|
|
#pragma once
|
|
#endif // _MSC_VER > 1000
|
|
// PropQualsPg.h : header file
|
|
//
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// CPropQualsPg dialog
|
|
|
|
class CQual
|
|
{
|
|
public:
|
|
CString m_strName;
|
|
_variant_t m_var;
|
|
long m_lFlavor;
|
|
};
|
|
|
|
typedef CList<CQual, CQual&> CQualList;
|
|
|
|
class CPropQualsPg : public CPropertyPage
|
|
{
|
|
DECLARE_DYNCREATE(CPropQualsPg)
|
|
|
|
// Construction
|
|
public:
|
|
CPropQualsPg();
|
|
~CPropQualsPg();
|
|
|
|
// Dialog Data
|
|
enum QUAL_MODE
|
|
{
|
|
QMODE_PROP,
|
|
QMODE_CLASS,
|
|
QMODE_METHOD
|
|
};
|
|
|
|
//{{AFX_DATA(CPropQualsPg)
|
|
enum { IDD = IDD_QUALS };
|
|
CListCtrl m_ctlQuals;
|
|
//}}AFX_DATA
|
|
IWbemClassObject *m_pObj;
|
|
QUAL_MODE m_mode;
|
|
BOOL m_bIsInstance; // Applies only to property qualifer mode.
|
|
CPropInfo m_propInfo;
|
|
CString m_strMethodName;
|
|
|
|
// Overrides
|
|
// ClassWizard generate virtual function overrides
|
|
//{{AFX_VIRTUAL(CPropQualsPg)
|
|
protected:
|
|
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
|
|
//}}AFX_VIRTUAL
|
|
|
|
// Implementation
|
|
protected:
|
|
enum PROP_TYPE
|
|
{
|
|
PROP_KEY,
|
|
PROP_INDEXED,
|
|
PROP_NOT_NULL,
|
|
PROP_NORMAL
|
|
};
|
|
|
|
IWbemQualifierSet *m_pQuals;
|
|
CQualList m_listQuals;
|
|
//m_listQualsToDelete;
|
|
PROP_TYPE m_type;
|
|
|
|
void InitListCtrl();
|
|
void LoadQuals();
|
|
void UpdateButtons();
|
|
CIMTYPE QualTypeToCIMTYPE(VARENUM vt);
|
|
void AddQualifier(LPCTSTR szName, VARIANT *pVar, long lFlavor);
|
|
int GetSelectedItem();
|
|
LPCWSTR TypeToQual(PROP_TYPE type);
|
|
HRESULT InitQualSet();
|
|
BOOL IsInPropMode() { return m_mode == QMODE_PROP; }
|
|
|
|
// Generated message map functions
|
|
//{{AFX_MSG(CPropQualsPg)
|
|
virtual BOOL OnInitDialog();
|
|
afx_msg void OnAdd();
|
|
afx_msg void OnEdit();
|
|
afx_msg void OnDelete();
|
|
afx_msg void OnDblclkQuals(NMHDR* pNMHDR, LRESULT* pResult);
|
|
afx_msg void OnItemchangedQuals(NMHDR* pNMHDR, LRESULT* pResult);
|
|
//}}AFX_MSG
|
|
DECLARE_MESSAGE_MAP()
|
|
|
|
};
|
|
|
|
//{{AFX_INSERT_LOCATION}}
|
|
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
|
|
|
|
#endif // !defined(AFX_PROPQUALSPG_H__42BE2BB5_536D_45D6_B307_4EEF803B35C9__INCLUDED_)
|