Leaked source code of windows server 2003
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.
 
 
 
 
 
 

95 lines
2.1 KiB

//*************************************************************
//
// Copyright (c) Microsoft Corporation 1999 - 2000
// All rights reserved
//
// pollog.hxx
//
// Contains declarations for classes related to the
// policy log abstraction
//
// Created: 7-15-1999 adamed
//
//*************************************************************/
#if !defined (_POLLOG_HXX_)
#define _POLLOG_HXX_
class CPolicyLog
{
public:
CPolicyLog();
virtual ~CPolicyLog(){};
HRESULT
InitLog(
CRsopContext* pRsopContext,
WCHAR* wszPolicyType);
void UninitLog();
HRESULT
GetNextRecord(CPolicyRecord* pRecord);
HRESULT
OpenExistingRecord( CPolicyRecord* pRecord );
HRESULT
WriteNewRecord(CPolicyRecord* pRecord);
HRESULT
AddBlankRecord(CPolicyRecord* pRecord);
HRESULT
CommitRecord(CPolicyRecord* pRecord);
HRESULT
DeleteRecord(
CPolicyRecord* pRecord,
BOOL bDeleteStatus = FALSE);
HRESULT
DeleteStatusRecords( CPolicyRecord* pRecord );
HRESULT ClearLog(
WCHAR* wszSpecifiedCriteria = NULL,
BOOL bDeleteStatus = FALSE);
protected:
CRsopContext* _pRsopContext; // context into which we're logging
HRESULT GetEnum( WCHAR* wszCriteria = NULL );
void FreeEnum();
private:
HRESULT GetRecordCreator(
XBStr* pxstrClass,
IWbemClassObject** ppClass);
WCHAR* _wszClass; // string indicating class name as defined
// by the schema
XInterface<IEnumWbemClassObject> _xEnum; // interface that allows record enumeration
XInterface<IWbemServices> _xWbemServices; // interface to namespace in which we will log
XInterface<IWbemClassObject> _xRecordCreator; // interface that allows creation of records
// of the class logged by this object
};
#endif // _POLLOG_HXX_