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.
|
|
//////////////////////////////////////////////////////////////////////////////
//
// Copyright (c) 1999-2000 Microsoft Corporation
//
// Module Name:
// ProvBase.h
//
// Implementation File:
// ProvBase.cpp
//
// Description:
// Definition of the CProvBase class.
//
// Author:
// Henry Wang (HenryWa) 24-AUG-1999
// MSP Prabu (mprabu) 06-Jan-2001
//
// Notes:
//
//////////////////////////////////////////////////////////////////////////////
#pragma once
//////////////////////////////////////////////////////////////////////////////
// Include Files
//////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////
// Forward Declarations
//////////////////////////////////////////////////////////////////////////////
class CProvBase;
//////////////////////////////////////////////////////////////////////////////
// External Declarations
//////////////////////////////////////////////////////////////////////////////
/* main interface class, this class defines all operations can be performed
on this provider */ //class CSqlEval;
//////////////////////////////////////////////////////////////////////////////
//++
//
// class CProvBase
//
// Description:
// interface class defines all operations can be performed
//
//--
//////////////////////////////////////////////////////////////////////////////
class CProvBase { public: virtual HRESULT EnumInstance( long lFlagsIn, IWbemContext * pCtxIn, IWbemObjectSink * pHandlerIn ) = 0;
virtual HRESULT GetObject( CObjPath & rObjPathIn, long lFlagsIn, IWbemContext * pCtxIn, IWbemObjectSink * pHandlerIn ) = 0;
virtual HRESULT ExecuteMethod( BSTR bstrObjPathIn, WCHAR * pwszMethodNameIn, long lFlagIn, IWbemClassObject * pParamsIn, IWbemObjectSink * pHandlerIn ) = 0;
virtual HRESULT PutInstance( CWbemClassObject & rInstToPutIn, long lFlagIn, IWbemContext * pCtxIn, IWbemObjectSink * pHandlerIn ) = 0; virtual HRESULT DeleteInstance( CObjPath & rObjPathIn, long lFlagIn, IWbemContext * pCtxIn, IWbemObjectSink * pHandlerIn ) = 0; CProvBase( LPCWSTR pwszNameIn, CWbemServices * pNamespaceIn );
virtual ~CProvBase() { if ( m_pClass != NULL ) { m_pClass->Release(); }
}
protected: CWbemServices * m_pNamespace; IWbemClassObject * m_pClass; _bstr_t m_bstrClassName;
}; //*** class CProvBase
|