46 lines
786 B
C
46 lines
786 B
C
|
// File richaddr.h
|
||
|
//
|
||
|
// RichAddress definitions
|
||
|
|
||
|
#ifndef _RICH_ADDR_H_
|
||
|
#define _RICH_ADDR_H_
|
||
|
|
||
|
#include "SDKInternal.h"
|
||
|
|
||
|
typedef struct DWSTR
|
||
|
{
|
||
|
DWORD dw;
|
||
|
LPTSTR psz;
|
||
|
} DWSTR;
|
||
|
|
||
|
|
||
|
typedef struct RichAddressInfo
|
||
|
{
|
||
|
TCHAR szName[ 256 ];
|
||
|
int cItems;
|
||
|
DWSTR rgDwStr[ 1 ];
|
||
|
} RichAddressInfo, RAI;
|
||
|
|
||
|
interface IEnumRichAddressInfo
|
||
|
{
|
||
|
public:
|
||
|
virtual ULONG STDMETHODCALLTYPE AddRef(void) = 0;
|
||
|
|
||
|
virtual ULONG STDMETHODCALLTYPE Release(void) = 0;
|
||
|
|
||
|
virtual HRESULT STDMETHODCALLTYPE GetAddress(
|
||
|
long index,
|
||
|
RichAddressInfo **ppAddr) = 0;
|
||
|
};
|
||
|
|
||
|
inline
|
||
|
bool
|
||
|
hasValidUserInfo
|
||
|
(
|
||
|
const RichAddressInfo * const rai
|
||
|
){
|
||
|
return( (rai != NULL) && (rai->cItems > 0) && (rai->rgDwStr[ 0 ].psz != NULL) && (rai->rgDwStr[ 0 ].psz[ 0 ] != '\0') );
|
||
|
}
|
||
|
|
||
|
#endif /* _RICH_ADDR_H_ */
|