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.
52 lines
2.4 KiB
52 lines
2.4 KiB
// --------------------------------------------------------------------------------
|
|
// Addrenum.h
|
|
// Copyright (c)1993-1995 Microsoft Corporation, All Rights Reserved
|
|
// --------------------------------------------------------------------------------
|
|
#ifndef __ADDRENUM_H
|
|
#define __ADDRENUM_H
|
|
|
|
// --------------------------------------------------------------------------------
|
|
// CMimeEnumAddressTypes
|
|
// --------------------------------------------------------------------------------
|
|
class CMimeEnumAddressTypes : public IMimeEnumAddressTypes
|
|
{
|
|
public:
|
|
// ----------------------------------------------------------------------------
|
|
// Construction
|
|
// ----------------------------------------------------------------------------
|
|
CMimeEnumAddressTypes(void);
|
|
~CMimeEnumAddressTypes(void);
|
|
|
|
// ----------------------------------------------------------------------------
|
|
// IUnknown
|
|
// ----------------------------------------------------------------------------
|
|
STDMETHODIMP QueryInterface(REFIID, LPVOID *);
|
|
STDMETHODIMP_(ULONG) AddRef(void);
|
|
STDMETHODIMP_(ULONG) Release(void);
|
|
|
|
// ----------------------------------------------------------------------------
|
|
// IMimeEnumAddressTypes
|
|
// ----------------------------------------------------------------------------
|
|
STDMETHODIMP Next(ULONG cItems, LPADDRESSPROPS prgAdr, ULONG *pcFetched);
|
|
STDMETHODIMP Skip(ULONG cItems);
|
|
STDMETHODIMP Reset(void);
|
|
STDMETHODIMP Clone(IMimeEnumAddressTypes **ppEnum);
|
|
STDMETHODIMP Count(ULONG *pcItems);
|
|
|
|
// ----------------------------------------------------------------------------
|
|
// CMimeEnumAddressTypes
|
|
// ----------------------------------------------------------------------------
|
|
HRESULT HrInit(IMimeAddressTable *pTable, ULONG iItem, LPADDRESSLIST pList, BOOL fDuplicate);
|
|
|
|
private:
|
|
// ----------------------------------------------------------------------------
|
|
// Private Data
|
|
// ----------------------------------------------------------------------------
|
|
LONG m_cRef; // Reference count
|
|
ADDRESSLIST m_rList; // Array of addresses
|
|
ULONG m_iAddress; // Current Address
|
|
IMimeAddressTable *m_pTable; // Point back to original address table
|
|
CRITICAL_SECTION m_cs; // Thread safety
|
|
};
|
|
|
|
#endif // __ADDRENUM_H
|