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.
|
|
//+-------------------------------------------------------------------------
//
// Microsoft Windows
//
// Copyright (C) Microsoft Corporation, 1999 - 1999
//
// File: doccnfg.h
//
//--------------------------------------------------------------------------
// DocCnfg.h: Definition of the CMMCDocConfig class
//
//////////////////////////////////////////////////////////////////////
#ifndef _DOCCNFG_H_
#define _DOCCNFG_H_
/////////////////////////////////////////////////////////////////////////////
// CMMCDocConfig
class CMMCDocConfig : public CComDualImpl<IDocConfig, &IID_IDocConfig, &LIBID_NODEMGRLib>, //public ISupportErrorInfo,
public CComObjectRoot, public IDumpSnapins, public CComCoClass<CMMCDocConfig, &CLSID_MMCDocConfig>, public CConsoleFilePersistor {
private: IStoragePtr m_spStorage; tstring m_strFilePath; CAutoPtr<CSnapInsCache> m_spCache; CXMLDocument m_XMLDocument; CXMLElement m_XMLElemConsole; CXMLElement m_XMLElemTree;
public: ~CMMCDocConfig();
BEGIN_COM_MAP(CMMCDocConfig) COM_INTERFACE_ENTRY(IDispatch) COM_INTERFACE_ENTRY(IDocConfig) COM_INTERFACE_ENTRY(IDumpSnapins) //COM_INTERFACE_ENTRY(ISupportErrorInfo)
END_COM_MAP()
DECLARE_AGGREGATABLE(CMMCDocConfig)
DECLARE_MMC_OBJECT_REGISTRATION ( g_szMmcndmgrDll, // implementing DLL
CLSID_MMCDocConfig, // CLSID
_T("DocConfig 1.0 Object"), // class name
_T("NODEMGR.MMCDocConfig.1"), // ProgID
_T("NODEMGR.MMCDocConfig")) // version-independent ProgID
// ISupportsErrorInfo
STDMETHOD(InterfaceSupportsErrorInfo)(REFIID riid);
// IDocConfig
public: STDMETHOD(OpenFile)(BSTR bstrFilePath); STDMETHOD(SaveFile)(BSTR bstrFilePath); STDMETHOD(CloseFile)(); STDMETHOD(EnableSnapInExtension)(BSTR bstrSnapInCLSID, BSTR bstrExtCLSID, VARIANT_BOOL bEnable);
// IDumpSnapins
STDMETHOD(Dump)(LPCTSTR pszDumpFilePath); STDMETHOD(CheckSnapinAvailability)(CAvailableSnapinInfo& asi);
private: BOOL IsFileOpen() { return !m_strFilePath.empty(); }
SC ScOpenFile(BSTR bstrFilePath); SC ScCloseFile(); SC ScSaveFile(BSTR bstrFilePath); SC ScEnableSnapInExtension(BSTR bstrSnapInCLSID, BSTR bstrExtCLSID, VARIANT_BOOL bEnable); SC ScDump (LPCTSTR pszDumpFilePath); SC ScCheckSnapinAvailability (CAvailableSnapinInfo& asi); };
#endif // _DOCCNFG_H_
|