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.
 
 
 
 
 
 

259 lines
7.2 KiB

/*++
Copyright (c) 2000 Microsoft Corporation
Module Name:
logger.h (cgenericlogger.h derivation)
Abstract:
This file contains derived class prototypes for logging RSOP security extension data to WMI.
There is one class defined for each schema RSOP security extension class (see .mof file).
Author:
Vishnu Patankar (VishnuP) 7-April-2000
Environment:
User Mode - Win32
Revision History:
--*/
#ifndef _logger_
#define _logger_
///////////////////////////////////////////////////////////////////////////////
// //
// Includes //
// //
///////////////////////////////////////////////////////////////////////////////
#include "CGenericLogger.h"
typedef class DiagnosisStatusLogger SCEP_DIAGNOSIS_LOGGER;
/////////////////////////////////////////////////////////////////////
// Derived logger class prototype
//////////////////////////////////////////////////////////////////////
class RSOP_SecuritySettingNumericLogger : public CGenericLogger
{
public:
RSOP_SecuritySettingNumericLogger( IWbemServices *pNamespace, PWSTR pwszGPOName, const PWSTR pwszSOMID);
HRESULT Log( WCHAR *wcKeyName, DWORD dwValue, DWORD dwPrecedence);
~RSOP_SecuritySettingNumericLogger();
private:
// Data unique to this schema class
XBStr m_xbstrKeyName;
XBStr m_xbstrSetting;
};
class RSOP_SecuritySettingBooleanLogger : public CGenericLogger
{
public:
RSOP_SecuritySettingBooleanLogger( IWbemServices *pNamespace, PWSTR pwszGPOName, const PWSTR pwszSOMID);
HRESULT Log( WCHAR *wcKeyName, DWORD dwValue, DWORD dwPrecedence);
~RSOP_SecuritySettingBooleanLogger();
private:
// Data unique to this schema class
XBStr m_xbstrKeyName;
XBStr m_xbstrSetting;
};
class RSOP_SecuritySettingStringLogger : public CGenericLogger
{
public:
RSOP_SecuritySettingStringLogger( IWbemServices *pNamespace, PWSTR pwszGPOName, const PWSTR pwszSOMID);
HRESULT Log( WCHAR *wcKeyName, PWSTR pwszValue, DWORD dwPrecedence);
~RSOP_SecuritySettingStringLogger();
private:
// Data unique to this schema class
XBStr m_xbstrKeyName;
XBStr m_xbstrSetting;
};
class RSOP_AuditPolicyLogger : public CGenericLogger
{
public:
RSOP_AuditPolicyLogger( IWbemServices *pNamespace, PWSTR pwszGPOName, const PWSTR pwszSOMID);
HRESULT Log( WCHAR *wcCategory, DWORD dwValue, DWORD dwPrecedence);
~RSOP_AuditPolicyLogger();
private:
// Data unique to this schema class
XBStr m_xbstrCategory;
XBStr m_xbstrSuccess;
XBStr m_xbstrFailure;
};
class RSOP_SecurityEventLogSettingNumericLogger : public CGenericLogger
{
public:
RSOP_SecurityEventLogSettingNumericLogger( IWbemServices *pNamespace, PWSTR pwszGPOName, const PWSTR pwszSOMID);
HRESULT Log( WCHAR *wcKeyName, PWSTR pwszType, DWORD dwValue, DWORD dwPrecedence);
~RSOP_SecurityEventLogSettingNumericLogger();
private:
// Data unique to this schema class
XBStr m_xbstrType;
XBStr m_xbstrKeyName;
XBStr m_xbstrSetting;
};
class RSOP_SecurityEventLogSettingBooleanLogger : public CGenericLogger
{
public:
RSOP_SecurityEventLogSettingBooleanLogger( IWbemServices *pNamespace, PWSTR pwszGPOName, const PWSTR pwszSOMID);
HRESULT Log( WCHAR *wcKeyName, PWSTR pwszType, DWORD dwValue, DWORD dwPrecedence);
~RSOP_SecurityEventLogSettingBooleanLogger();
private:
// Data unique to this schema class
XBStr m_xbstrType;
XBStr m_xbstrKeyName;
XBStr m_xbstrSetting;
};
class RSOP_RegistryValueLogger : public CGenericLogger
{
public:
RSOP_RegistryValueLogger( IWbemServices *pNamespace, PWSTR pwszGPOName, const PWSTR pwszSOMID);
HRESULT Log( WCHAR *wcPath, DWORD dwType, PWSTR pwszData, DWORD dwPrecedence);
~RSOP_RegistryValueLogger();
private:
// Data unique to this schema class
XBStr m_xbstrType;
XBStr m_xbstrPath;
XBStr m_xbstrData;
};
class RSOP_UserPrivilegeRightLogger : public CGenericLogger
{
public:
RSOP_UserPrivilegeRightLogger( IWbemServices *pNamespace, PWSTR pwszGPOName, const PWSTR pwszSOMID);
HRESULT Log( WCHAR *wcUserRight, PSCE_NAME_LIST pList, DWORD dwPrecedence);
~RSOP_UserPrivilegeRightLogger();
private:
// Data unique to this schema class
XBStr m_xbstrUserRight;
XBStr m_xbstrAccountList;
};
class RSOP_RestrictedGroupLogger : public CGenericLogger
{
public:
RSOP_RestrictedGroupLogger( IWbemServices *pNamespace, PWSTR pwszGPOName, const PWSTR pwszSOMID);
HRESULT Log( WCHAR *wcGroupName, PSCE_NAME_LIST pList, DWORD dwPrecedence);
~RSOP_RestrictedGroupLogger();
private:
// Data unique to this schema class
XBStr m_xbstrGroupName;
XBStr m_xbstrMembers;
};
class RSOP_SystemServiceLogger : public CGenericLogger
{
public:
RSOP_SystemServiceLogger( IWbemServices *pNamespace, PWSTR pwszGPOName, const PWSTR pwszSOMID);
HRESULT Log( WCHAR *wcService, BYTE m_byStartupMode, PSECURITY_DESCRIPTOR pSecurityDescriptor, SECURITY_INFORMATION SeInfo, DWORD dwPrecedence);
~RSOP_SystemServiceLogger();
private:
// Data unique to this schema class
XBStr m_xbstrService;
XBStr m_xbstrStartupMode;
XBStr m_xbstrSDDLString;
};
class RSOP_FileLogger : public CGenericLogger
{
public:
RSOP_FileLogger( IWbemServices *pNamespace, PWSTR pwszGPOName, const PWSTR pwszSOMID);
HRESULT Log( WCHAR *wcPath, WCHAR *wcOriginalPath, BYTE m_byMode, PSECURITY_DESCRIPTOR pSecurityDescriptor, SECURITY_INFORMATION SeInfo, DWORD dwPrecedence);
~RSOP_FileLogger();
private:
// Data unique to this schema class
XBStr m_xbstrPath;
XBStr m_xbstrOriginalPath;
XBStr m_xbstrMode;
XBStr m_xbstrSDDLString;
};
class RSOP_RegistryKeyLogger : public CGenericLogger
{
public:
RSOP_RegistryKeyLogger( IWbemServices *pNamespace, PWSTR pwszGPOName, const PWSTR pwszSOMID);
HRESULT Log( WCHAR *wcPath, BYTE m_byMode, PSECURITY_DESCRIPTOR pSecurityDescriptor, SECURITY_INFORMATION SeInfo, DWORD dwPrecedence);
~RSOP_RegistryKeyLogger();
private:
// Data unique to this schema class
XBStr m_xbstrPath;
XBStr m_xbstrMode;
XBStr m_xbstrSDDLString;
};
//
// this is the class used to log diagnosis data via the callback
//
class DiagnosisStatusLogger : public CGenericLogger
{
public:
DiagnosisStatusLogger( IWbemServices *pNamespace, PWSTR pwszGPOName, const PWSTR pwszSOMID);
// HRESULT Log( PWSTR pwszClassName, PWSTR pwszPropertyName, PWSTR pwszPropertyValueName, DWORD dwError);
HRESULT Log( PWSTR pwszClassName, PWSTR pwszPropertyName1, PWSTR pwszPropertyValueName1, PWSTR pwszPropertyName2, PWSTR pwszPropertyValueName2, DWORD dwError);
HRESULT Log( PWSTR pwszClassName, PWSTR pwszPropertyName, PWSTR pwszPropertyValueName, DWORD dwError, BOOL Merge);
HRESULT LogChild( PWSTR pwszClassName, PWSTR pwszPropertyName, PWSTR pwszPropertyValueName, DWORD dwError, int iChildStatus);
#ifdef _WIN64
HRESULT LogRegistryKey( PWSTR pwszClassName, PWSTR pwszPropertyName, PWSTR pwszPropertyValueName, DWORD dwError, BOOL bIsChild);
#endif
~DiagnosisStatusLogger();
private:
};
#endif