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.
49 lines
1.4 KiB
49 lines
1.4 KiB
// MAPI Address Book object
|
|
//$ It is somewhat bogus for this to be here, but since this object
|
|
// is where the common implementations of QueryInterface, AddRef,
|
|
// and GetLastError are, here it is.
|
|
|
|
#undef INTERFACE
|
|
#define INTERFACE struct _IAB
|
|
|
|
#undef MAPIMETHOD_
|
|
#define MAPIMETHOD_(type, method) MAPIMETHOD_DECLARE(type, method, IAB_)
|
|
MAPI_IUNKNOWN_METHODS(IMPL)
|
|
MAPI_IMAPIPROP_METHODS(IMPL)
|
|
MAPI_IADDRBOOK_METHODS(IMPL)
|
|
#undef MAPIMETHOD_
|
|
#define MAPIMETHOD_(type, method) MAPIMETHOD_TYPEDEF(type, method, IAB_)
|
|
MAPI_IUNKNOWN_METHODS(IMPL)
|
|
MAPI_IMAPIPROP_METHODS(IMPL)
|
|
MAPI_IADDRBOOK_METHODS(IMPL)
|
|
#undef MAPIMETHOD_
|
|
#define MAPIMETHOD_(type, method) STDMETHOD_(type, method)
|
|
|
|
DECLARE_MAPI_INTERFACE(IAB_)
|
|
{
|
|
BEGIN_INTERFACE
|
|
MAPI_IUNKNOWN_METHODS(IMPL)
|
|
MAPI_IMAPIPROP_METHODS(IMPL)
|
|
MAPI_IADDRBOOK_METHODS(IMPL)
|
|
};
|
|
|
|
|
|
struct _IAB;
|
|
typedef struct _IAB *LPIAB;
|
|
|
|
typedef struct _AMBIGUOUS_TABLES {
|
|
ULONG cEntries;
|
|
LPMAPITABLE lpTable[];
|
|
} AMBIGUOUS_TABLES, * LPAMBIGUOUS_TABLES;
|
|
|
|
|
|
extern const TCHAR szSMTP[];
|
|
|
|
// Public functions
|
|
BOOL IsInternetAddress(LPTSTR lpAddress, LPTSTR * lppEmail);
|
|
void CountFlags(LPFlagList lpFlagList, LPULONG lpulResolved,
|
|
LPULONG lpulAmbiguous, LPULONG lpulUnresolved);
|
|
|
|
|
|
HRESULT HrGetIDsFromNames(LPIAB lpIAB, ULONG cPropNames,
|
|
LPMAPINAMEID * lppPropNames, ULONG ulFlags, LPSPropTagArray * lppPropTags);
|