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.
|
|
//***************************************************************************
//
// File:
//
// Module: MS SNMP Provider
//
// Purpose:
//
// Copyright (c) 1997-2001 Microsoft Corporation, All Rights Reserved
//
//***************************************************************************
#ifndef __PROPSNMP_H
#define __PROPSNMP_H
class SnmpV1OverIp ; class GetOperation ; class SetOperation ; class RefreshOperation ; class SetQueryOperation ; class AutoRetrieveOperation ; class SnmpResponseEventObject ;
#define SYTEM_PROPERTY_START_CHARACTER L'_'
class SnmpClassObject : public WbemSnmpClassObject { private: protected:
BOOL m_accessible ; ULONG snmpVersion ; SnmpResponseEventObject *m_parentOperation ;
public:
SnmpClassObject ( SnmpResponseEventObject *parentOperation ) ; SnmpClassObject ( const SnmpClassObject &a_SnmpClassObject ) ; ~SnmpClassObject () ;
ULONG GetSnmpVersion () { return snmpVersion ; }
} ;
class SnmpGetClassObject : public SnmpClassObject { private:
BOOL CheckProperty ( WbemSnmpErrorObject &a_errorObject , WbemSnmpProperty *property ) ;
protected: public:
SnmpGetClassObject ( SnmpResponseEventObject *m_parentOperation ) ; ~SnmpGetClassObject () ;
BOOL Check ( WbemSnmpErrorObject &a_errorObject ) ; } ;
class SnmpResponseEventObject : public SnmpTaskObject { private:
LONG m_ReferenceCount ;
protected:
//HRESULT completionCode ;
WbemSnmpErrorObject m_errorObject ; CImpPropProv *provider ; IWbemClassObject *m_namespaceObject ; IWbemContext *m_Context ; ULONG m_agentVersion ;
BOOL GetNamespaceObject ( WbemSnmpErrorObject &a_errorObject ) ;
BOOL GetAgentTransport ( WbemSnmpErrorObject &a_errorObject , IWbemQualifierSet *classQualifierObject , wchar_t *&agentTransport ) ; BOOL GetAgentAddress ( WbemSnmpErrorObject &a_errorObject , IWbemQualifierSet *classQualifierObject , wchar_t *&agentAddress ) ; BOOL GetAgentReadCommunityName ( WbemSnmpErrorObject &a_errorObject , IWbemQualifierSet *classQualifierObject , wchar_t *&agentReadCommunityName ) ; BOOL GetAgentWriteCommunityName ( WbemSnmpErrorObject &a_errorObject , IWbemQualifierSet *classQualifierObject , wchar_t *&agentReadCommunityName ) ; BOOL GetAgentRetryCount ( WbemSnmpErrorObject &a_errorObject , IWbemQualifierSet *classQualifierObject , ULONG &agentRetryCount ) ; BOOL GetAgentRetryTimeout( WbemSnmpErrorObject &a_errorObject , IWbemQualifierSet *classQualifierObject , ULONG &agentRetryTimeout ) ; BOOL GetAgentMaxVarBindsPerPdu ( WbemSnmpErrorObject &a_errorObject , IWbemQualifierSet *classQualifierObject , ULONG &agentVarBindsPerPdu ) ; BOOL GetAgentFlowControlWindowSize ( WbemSnmpErrorObject &a_errorObject , IWbemQualifierSet *classQualifierObject , ULONG &agentFlowControlWindowSize ) ;
BOOL GetNotifyStatusObject ( IWbemClassObject **notifyObject ) ; BOOL GetSnmpNotifyStatusObject ( IWbemClassObject **notifyObject ) ;
BOOL HasNonNullKeys ( IWbemClassObject *a_Obj ) ;
public:
SnmpResponseEventObject ( CImpPropProv *provider , IWbemContext *a_Context ) ; ~SnmpResponseEventObject () ;
//HRESULT GetCompletionCode () { return completionCode ; }
WbemSnmpErrorObject &GetErrorObject () { return m_errorObject ; } ULONG SetAgentVersion ( WbemSnmpErrorObject &a_errorObject ) ;
virtual SnmpClassObject *GetSnmpClassObject () = 0 ; virtual SnmpClassObject *GetSnmpRequestClassObject () { return NULL ; }
virtual void ReceiveComplete () = 0 ; virtual void SnmpTooBig () {} ;
ULONG AddRef () ; ULONG Release () ;
} ;
#endif
|