2025-04-27 07:49:33 -04:00

130 lines
2.9 KiB
C++

/*++
Copyright (C) 1997-2001 Microsoft Corporation
Module Name:
PROXY.H
Abstract:
Declares the CProxy subclasses used by only the proxy.
History:
a-davj 04-Mar-97 Created.
--*/
#ifndef _PROXY_H_
#define _PROXY_H_
//***************************************************************************
//
// CLASS NAME:
//
// CResProxy
//
// DESCRIPTION:
//
// Proxy for the IWbemCallResult interface. Always overridden.
//
//***************************************************************************
class CResProxy : public IWbemCallResult, public CProxy
{
protected:
CResProxy(CComLink * pComLink,IStubAddress& stubAddr);
public:
~CResProxy ();
//Non-delegating object IUnknown
STDMETHODIMP QueryInterface(REFIID, PPVOID);
STDMETHODIMP_(ULONG) AddRef(void);
STDMETHODIMP_(ULONG) Release(void);
};
//***************************************************************************
//
// CLASS NAME:
//
// CEnumProxy
//
// DESCRIPTION:
//
// Proxy for the IEnumWbemClassObject interface. Always overridden.
//
//***************************************************************************
class CEnumProxy : public IEnumWbemClassObject, public CProxy
{
protected:
CEnumProxy(CComLink * pComLink,IStubAddress& stubAddr);
public:
~CEnumProxy ();
//Non-delegating object IUnknown
STDMETHODIMP QueryInterface(REFIID, PPVOID);
STDMETHODIMP_(ULONG) AddRef(void);
STDMETHODIMP_(ULONG) Release(void);
};
//***************************************************************************
//
// CLASS NAME:
//
// CProvProxy
//
// DESCRIPTION:
//
// Proxy for the IWbemServices interface. Always overridden
//
//***************************************************************************
class CProvProxy : public IWbemServices, public CProxy
{
private:
protected:
CProvProxy(CComLink * pComLink,IStubAddress& stubAddr);
public:
~CProvProxy ();
//Non-delegating object IUnknown
STDMETHODIMP QueryInterface(REFIID, PPVOID);
STDMETHODIMP_(ULONG) AddRef(void);
STDMETHODIMP_(ULONG) Release(void);
};
//***************************************************************************
//
// CLASS NAME:
//
// CLoginProxy
//
// DESCRIPTION:
//
// Proxy for the IWbemLevel1Login interface. Always overridden.
//
//***************************************************************************
class CLoginProxy : public IServerLogin, public CProxy
{
protected:
CLoginProxy(CComLink * pComLink,IStubAddress& stubAddr);
public:
~CLoginProxy ();
//Non-delegating object IUnknown
STDMETHODIMP QueryInterface(REFIID, PPVOID);
STDMETHODIMP_(ULONG) AddRef(void);
STDMETHODIMP_(ULONG) Release(void);
};
#endif