77 lines
1.9 KiB
C++
77 lines
1.9 KiB
C++
//+---------------------------------------------------------------------------
|
|
//
|
|
// Microsoft Windows
|
|
// Copyright (C) Microsoft Corporation, 1992 - 1992.
|
|
//
|
|
// File: peiter.hxx
|
|
//
|
|
// Contents: PExposedIterator class
|
|
//
|
|
// Classes: PExposedIterator
|
|
//
|
|
// Notes: PExposedIterator is a partial exposed iterator
|
|
// implementation used by both CExposedIterator
|
|
// and CExposedPropertyIterator
|
|
//
|
|
//----------------------------------------------------------------------------
|
|
|
|
#ifndef __PEITER_HXX__
|
|
#define __PEITER_HXX__
|
|
|
|
#include <pubiter.hxx>
|
|
|
|
interface PExposedIterator
|
|
{
|
|
public:
|
|
SCODE hSkip(ULONG celt);
|
|
inline SCODE hReset(void);
|
|
inline LONG hAddRef(void);
|
|
LONG hRelease(void);
|
|
SCODE hQueryInterface(REFIID iid, REFIID riidSelf, void **ppv);
|
|
|
|
protected:
|
|
|
|
CPubIter *_ppi;
|
|
ULONG _ulOffset;
|
|
LONG _cReferences;
|
|
ULONG _ulAccessLockBase;
|
|
ULONG _sig;
|
|
};
|
|
|
|
//+---------------------------------------------------------------------------
|
|
//
|
|
// Member: PExposedIterator::hReset, public
|
|
//
|
|
// Synopsis: Reset help
|
|
//
|
|
//----------------------------------------------------------------------------
|
|
|
|
SCODE PExposedIterator::hReset(void)
|
|
{
|
|
SCODE sc;
|
|
|
|
olDebugOut((DEB_ITRACE, "In PExposedIterator::hReset:%p()\n", this));
|
|
if (SUCCEEDED(sc = _ppi->CheckReverted()))
|
|
_ulOffset = 0;
|
|
olDebugOut((DEB_ITRACE, "Out PExposedIterator::hReset\n"));
|
|
return sc;
|
|
}
|
|
|
|
//+---------------------------------------------------------------------------
|
|
//
|
|
// Member: PExposedIterator::hAddRef, public
|
|
//
|
|
// Synopsis: AddRef helper
|
|
//
|
|
//----------------------------------------------------------------------------
|
|
|
|
LONG PExposedIterator::hAddRef(void)
|
|
{
|
|
olDebugOut((DEB_ITRACE, "In PExposedIterator::hAddRef:%p()\n", this));
|
|
AtomicInc(&_cReferences);
|
|
olDebugOut((DEB_ITRACE, "Out PExposedIterator::hAddRef\n"));
|
|
return _cReferences;
|
|
}
|
|
|
|
#endif // #ifndef __PEITER_HXX__
|