// object.h: interface for the CObjSecurity class. // // Copyright (c)1997-1999 Microsoft Corporation // ////////////////////////////////////////////////////////////////////// #if !defined(AFX_OBJECT_H__BD7570F7_9F0E_4C6B_B525_E078691B6D0E__INCLUDED_) #define AFX_OBJECT_H__BD7570F7_9F0E_4C6B_B525_E078691B6D0E__INCLUDED_ #if _MSC_VER >= 1000 #pragma once #endif // _MSC_VER >= 1000 #include "GenericClass.h" /* Class description Naming: CObjSecurity stands for Object Security. Base class: CGenericClass, because it is a class representing two WMI objects - WMI class names are Sce_FileObject and Sce_KeyObject Purpose of class: (1) Implement Sce_FileObject and Sce_KeyObject WMI classes. The difference between these two classes are obviously reflected by m_Type member. Design: (1) Almost trivial other than implementing necessary method as a concrete class Use: (1) Almost never used directly. Always through the common interface defined by CGenericClass. */ class CObjSecurity : public CGenericClass { public: CObjSecurity ( ISceKeyChain *pKeyChain, IWbemServices *pNamespace, int type, IWbemContext *pCtx = NULL ); virtual ~CObjSecurity (); virtual HRESULT PutInst ( IWbemClassObject *pInst, IWbemObjectSink *pHandler, IWbemContext *pCtx ); virtual HRESULT CreateObject ( IWbemObjectSink *pHandler, ACTIONTYPE atAction ); private: int m_Type; HRESULT ConstructInstance ( IWbemObjectSink *pHandler, CSceStore* pSceStore, LPCWSTR wszLogStorePath, int ObjType, LPCWSTR wszObjName, BOOL bPostFilter ); HRESULT ConstructQueryInstances ( IWbemObjectSink *pHandler, CSceStore* pSceStore, LPCWSTR wszLogStorePath, int ObjType, BOOL bPostFilter ); HRESULT DeleteInstance ( IWbemObjectSink *pHandler, CSceStore* pSceStore, int ObjType, LPCWSTR wszObjName ); HRESULT SaveSettingsToStore ( CSceStore* pSceStore, int ObjType, LPCWSTR wszObjName, DWORD mode, LPCWSTR wszSDDL ); HRESULT PutDataInstance ( IWbemObjectSink *pHandler, LPCWSTR wszStoreName, int ObjType, LPCWSTR wszObjName, int mode, PSECURITY_DESCRIPTOR pSD, SECURITY_INFORMATION SeInfo, BOOL bPostFilter ); HRESULT PutDataInstance ( IWbemObjectSink *pHandler, LPCWSTR wszStoreName, int ObjType, LPCWSTR wszObjName, int mode, LPCWSTR strSD, BOOL bPostFilter ); }; #endif // !defined(AFX_OBJECT_H__BD7570F7_9F0E_4C6B_B525_E078691B6D0E__INCLUDED_)