Source code of Windows XP (NT5)
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.
 
 
 
 
 
 

59 lines
1.2 KiB

#ifndef __ATTRIBUTEEDITORIMPL_H
#define __ATTRIBUTEEDITORIMPL_H
#include "editui.h"
class /*ATL_NO_VTABLE*/ CAttributeEditor :
public CComObjectRootEx<CComMultiThreadModel>,
public IDsAttributeEditor,
public CComCoClass<CAttributeEditor, &CLSID_DsAttributeEditor>
{
public:
CAttributeEditor() : m_pHolder(0)
{
m_szClass = _T("");
m_pEditor = NULL;
}
~CAttributeEditor()
{
if (m_pEditor != NULL)
{
delete m_pEditor;
}
if (m_BindingInfo.lpszProviderServer != NULL)
{
delete[] m_BindingInfo.lpszProviderServer;
}
}
DECLARE_REGISTRY_CLSID();
BEGIN_COM_MAP(CAttributeEditor)
COM_INTERFACE_ENTRY(IDsAttributeEditor)
END_COM_MAP()
public:
//
// IDsAttributeEditor interface
//
STDMETHOD(Initialize)(
IADs* pADsObj,
LPDS_ATTREDITOR_BINDINGINFO pBindingInfo,
CADSIEditPropertyPageHolder* pHolder);
STDMETHOD(CreateModal)();
STDMETHOD(GetPage)(HPROPSHEETPAGE* phPropSheetPage);
private:
CComPtr<IADs> m_spIADs;
CString m_szClass;
CAttributeEditorPropertyPage* m_pEditor;
DS_ATTREDITOR_BINDINGINFO m_BindingInfo;
CADSIEditPropertyPageHolder* m_pHolder;
};
#endif //__ATTRIBUTEEDITORIMPL_H