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.

80 lines
1.6 KiB

  1. /*++
  2. Copyright (C) 1996-2000 Microsoft Corporation
  3. Module Name:
  4. logsrc.h
  5. Abstract:
  6. <abstract>
  7. --*/
  8. #ifndef _LOGSRC_H_
  9. #define _LOGSRC_H_
  10. #include <inole.h>
  11. #include "isysmon.h"
  12. //
  13. // Persistant data structure
  14. //
  15. typedef struct {
  16. INT m_nPathLength;
  17. } LOGFILE_DATA;
  18. class CSysmonControl;
  19. class CImpIDispatch;
  20. //
  21. // LogFileItem Class
  22. //
  23. class CLogFileItem : public ILogFileItem
  24. {
  25. public:
  26. CLogFileItem ( CSysmonControl *pCtrl );
  27. virtual ~CLogFileItem ( void );
  28. //IUnknown members
  29. STDMETHODIMP QueryInterface(REFIID, PPVOID);
  30. STDMETHODIMP_(ULONG) AddRef(void);
  31. STDMETHODIMP_(ULONG) Release(void);
  32. // ILogFileItem methods
  33. STDMETHODIMP get_Path ( BSTR* ) ;
  34. // methods not exposed by ILogFileItem interface
  35. static HRESULT NullItemToStream(LPSTREAM pIStream, INT iVersMaj, INT iVersMin);
  36. HRESULT Initialize ( LPCTSTR pszPath, CLogFileItem** ppListHead );
  37. HRESULT SaveToPropertyBag (
  38. IPropertyBag*,
  39. INT iIndex,
  40. INT iVersMaj,
  41. INT iVersMin );
  42. HRESULT SaveToStream(LPSTREAM pIStream, BOOL fWildCard, INT iVersMaj, INT iVersMin);
  43. CLogFileItem* Next ( void );
  44. void SetNext ( CLogFileItem* );
  45. LPCWSTR GetPath ( void );
  46. private:
  47. class CLogFileItem* m_pNextItem;
  48. CSysmonControl* m_pCtrl;
  49. ULONG m_cRef;
  50. CImpIDispatch* m_pImpIDispatch;
  51. LPWSTR m_szPath;
  52. };
  53. typedef CLogFileItem* PCLogFileItem;
  54. #endif // _LOGSRC_H_