57 lines
1.1 KiB
C++
57 lines
1.1 KiB
C++
//***************************************************************************
|
|
//
|
|
// contvar.h
|
|
//
|
|
// Module: Client side of WBEMS marshalling.
|
|
//
|
|
// Purpose: Defines the CContextEnumVar object
|
|
//
|
|
// Copyright (c) 1998-1999 Microsoft Corporation
|
|
//
|
|
//***************************************************************************
|
|
|
|
|
|
#ifndef _CONTVAR_H_
|
|
#define _CONTVAR_H_
|
|
|
|
// This class implements the IEnumVARIANT interface
|
|
|
|
class CContextEnumVar : public IEnumVARIANT
|
|
{
|
|
private:
|
|
long m_cRef;
|
|
CSWbemNamedValueSet *m_pContext;
|
|
ULONG m_pos;
|
|
|
|
bool SeekCurrentPosition ();
|
|
|
|
public:
|
|
CContextEnumVar (CSWbemNamedValueSet *pContext, ULONG initialPos = 0);
|
|
~CContextEnumVar (void);
|
|
|
|
// Non-delegating object IUnknown
|
|
STDMETHODIMP QueryInterface(REFIID, LPVOID*);
|
|
STDMETHODIMP_(ULONG) AddRef(void);
|
|
STDMETHODIMP_(ULONG) Release(void);
|
|
|
|
// IEnumVARIANT
|
|
STDMETHODIMP Next(
|
|
unsigned long celt,
|
|
VARIANT FAR* rgvar,
|
|
unsigned long FAR* pceltFetched
|
|
);
|
|
|
|
STDMETHODIMP Skip(
|
|
unsigned long celt
|
|
);
|
|
|
|
STDMETHODIMP Reset();
|
|
|
|
STDMETHODIMP Clone(
|
|
IEnumVARIANT **ppenum
|
|
);
|
|
};
|
|
|
|
|
|
#endif
|