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.
 
 
 
 
 
 

109 lines
3.5 KiB

/*++
Copyright (C) 1998-1999 Microsoft Corporation
Module Name:
smalrtq.h
Abstract:
This object is used to represent performance alert queries (a.k.a.
sysmon alert queries).
--*/
#ifndef _CLASS_SMALRTQ_
#define _CLASS_SMALRTQ_
#include "smlogqry.h"
typedef struct _ALERT_ACTION_INFO {
DWORD dwSize;
DWORD dwActionFlags;
LPWSTR szNetName;
LPWSTR szCmdFilePath;
LPWSTR szUserText;
LPWSTR szLogName;
} ALERT_ACTION_INFO, *PALERT_ACTION_INFO;
class CSmLogService;
class CSmAlertQuery : public CSmLogQuery
{
// constructor/destructor
public:
CSmAlertQuery( CSmLogService* );
virtual ~CSmAlertQuery( void );
// public methods
public:
virtual DWORD Open ( const CString& rstrName, HKEY hKeyQuery, BOOL bReadOnly);
virtual DWORD Close ( void );
virtual DWORD UpdateRegistry( void ); // load reg. w/ internal values
virtual DWORD SyncWithRegistry( void );
virtual BOOL GetLogTime(PSLQ_TIME_INFO pTimeInfo, DWORD dwFlags);
virtual BOOL SetLogTime(PSLQ_TIME_INFO pTimeInfo, const DWORD dwFlags);
virtual BOOL GetDefaultLogTime(SLQ_TIME_INFO& rTimeInfo, DWORD dwFlags);
virtual DWORD GetLogType( void );
virtual const CString& GetLogFileType ( void );
virtual void GetLogFileType ( DWORD& );
virtual BOOL SetLogFileType ( const DWORD );
virtual const CString& GetLogFileName( BOOL bLatestRunning = FALSE );
// Methods specific to this query type
LPCWSTR GetCounterList( LPDWORD pcchListSize );
BOOL SetCounterList( LPCWSTR mszCounterList, DWORD cchListSize );
LPCWSTR GetFirstCounter( void );
LPCWSTR GetNextCounter( void );
VOID ResetCounterList( void );
BOOL AddCounter(LPCWSTR szCounterPath);
BOOL GetActionInfo( PALERT_ACTION_INFO pInfo, LPDWORD pdwInfoBufSize);
DWORD SetActionInfo( PALERT_ACTION_INFO pInfo );
virtual HRESULT LoadFromPropertyBag ( IPropertyBag*, IErrorLog* );
virtual HRESULT SaveToPropertyBag ( IPropertyBag*, BOOL fSaveAllProps );
virtual HRESULT LoadCountersFromPropertyBag ( IPropertyBag*, IErrorLog* );
virtual HRESULT SaveCountersToPropertyBag ( IPropertyBag* );
virtual HRESULT TranslateMSZAlertCounterList( LPTSTR pszCounterList,
LPTSTR pBuffer,
LPDWORD pdwBufferSize,
BOOL bFlag);
virtual CSmAlertQuery* CastToAlertQuery( void ) { return this; };
// protected methods
protected:
// private member variables
private:
LPWSTR m_szNextCounter;
DWORD m_dwCounterListLength; // in chars including MSZ null
// Registry Values
LPWSTR mr_szCounterList;
DWORD mr_dwActionFlags;
CString mr_strNetName;
CString mr_strCmdFileName;
CString mr_strCmdUserText;
CString mr_strCmdUserTextIndirect;
CString mr_strPerfLogName;
};
typedef CSmAlertQuery SLALERTQUERY;
typedef CSmAlertQuery* PSLALERTQUERY;
#endif //_CLASS_SMALRTQ_