//****************************************************************************** // // CLSCACHE.H // // Copyright (C) 1996-1999 Microsoft Corporation // //****************************************************************************** #ifndef __WMI_ESS_CLASS_CACHE__H_ #define __WMI_ESS_CLASS_CACHE__H_ #include #include #include #include #include class CEssNamespace; class CEssClassCache { protected: typedef std::map > TClassMap; typedef TClassMap::iterator TIterator; TClassMap m_mapClasses; CEssNamespace* m_pNamespace; CCritSec m_cs; public: CEssClassCache(CEssNamespace* pNamespace) : m_pNamespace(pNamespace){} ~CEssClassCache(); HRESULT GetClass( LPCWSTR wszClassName, IWbemContext* pContext, _IWmiObject** ppClass ); HRESULT Clear(); }; #endif