69 lines
1.4 KiB
C++
69 lines
1.4 KiB
C++
// Copyright (c) 1997-1999 Microsoft Corporation
|
|
// CWMIExtension.h: Definition of the CWMIExtension class and the CInner inner class
|
|
// The inner class is used for implementation of the controlling
|
|
// IUnknown only, needed for an aggregated object.
|
|
//
|
|
//////////////////////////////////////////////////////////////////////
|
|
|
|
#ifndef _CWMIEXTENSION_H_
|
|
#define _CWMIEXTENSION_H_
|
|
|
|
class CInner;
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// CWMIExtension
|
|
|
|
class CWMIExtension : public IWMIExtension, public IADsExtension
|
|
{
|
|
public:
|
|
|
|
DECLARE_IUnknown_METHODS
|
|
|
|
DECLARE_IDispatch_METHODS
|
|
|
|
DECLARE_IWMIExtension_METHODS
|
|
|
|
DECLARE_IADsExtension_METHODS
|
|
|
|
CWMIExtension::CWMIExtension();
|
|
CWMIExtension::~CWMIExtension();
|
|
|
|
static
|
|
HRESULT
|
|
CWMIExtension::CreateExtension(IUnknown *pUnkOuter, void **ppv);
|
|
|
|
protected :
|
|
ULONG m_cRef;
|
|
|
|
IUnknown *m_pUnkOuter;
|
|
IDispatch *m_pDispOuter;
|
|
ITypeInfo *m_pTypeInfo;
|
|
CInner *m_pInner;
|
|
|
|
ISWbemLocator *m_pSWMILocator;
|
|
BSTR m_bstrADsName;
|
|
ISWbemServices *m_pSWMIServices;
|
|
ISWbemObject *m_pSWMIObject;
|
|
|
|
};
|
|
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// CInner
|
|
|
|
class CInner : public IUnknown
|
|
{
|
|
public :
|
|
DECLARE_IUnknown_METHODS
|
|
|
|
CInner::CInner(CWMIExtension *pOwner);
|
|
CInner::~CInner();
|
|
|
|
protected :
|
|
ULONG m_cRef;
|
|
CWMIExtension *m_pOwner;
|
|
};
|
|
|
|
|
|
#endif // _CWMIEXTENSION_H_
|