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.
66 lines
2.4 KiB
66 lines
2.4 KiB
|
|
#ifndef _MAILUSER_H_
|
|
#define _MAILUSER_H_
|
|
|
|
|
|
#undef INTERFACE
|
|
#define INTERFACE struct _MailUser
|
|
|
|
#undef MAPIMETHOD_
|
|
#define MAPIMETHOD_(type, method) MAPIMETHOD_DECLARE(type, method, MailUser_)
|
|
MAPI_IUNKNOWN_METHODS(IMPL)
|
|
MAPI_IMAPIPROP_METHODS(IMPL)
|
|
|
|
#undef MAPIMETHOD_
|
|
#define MAPIMETHOD_(type, method) MAPIMETHOD_TYPEDEF(type, method, MailUser_)
|
|
MAPI_IUNKNOWN_METHODS(IMPL)
|
|
MAPI_IMAPIPROP_METHODS(IMPL)
|
|
|
|
#undef MAPIMETHOD_
|
|
#define MAPIMETHOD_(type, method) STDMETHOD_(type, method)
|
|
|
|
DECLARE_MAPI_INTERFACE(MailUser_)
|
|
{
|
|
BEGIN_INTERFACE
|
|
MAPI_IUNKNOWN_METHODS(IMPL)
|
|
MAPI_IMAPIPROP_METHODS(IMPL)
|
|
};
|
|
|
|
|
|
// Keep the base members common across all the MAILUSER, CONTAINER, DISTLIST objects
|
|
// such that code reuse is leveraged.
|
|
//
|
|
#define MAILUSER_BASE_MEMBERS(_type) \
|
|
MAPIX_BASE_MEMBERS(_type) \
|
|
\
|
|
LPPROPDATA lpPropData; \
|
|
LPENTRYID lpEntryID; \
|
|
LPIAB lpIAB; \
|
|
ULONG ulObjAccess; \
|
|
ULONG ulCreateFlags; \
|
|
LPSBinary pmbinOlk; \
|
|
LPVOID lpv;
|
|
|
|
typedef struct _MailUser {
|
|
MAILUSER_BASE_MEMBERS(MailUser)
|
|
} MailUser, FAR * LPMailUser;
|
|
|
|
|
|
HRESULT HrSetMAILUSERAccess(LPMAILUSER lpMAILUSER, ULONG ulFlags);
|
|
HRESULT HrNewMAILUSER(LPIAB lpIAB, LPSBinary pmbinOlk, ULONG ulType, ULONG ulFlags, LPVOID * lppMAILUSER);
|
|
BOOL FixDisplayName( LPTSTR lpFirstName,
|
|
LPTSTR lpMiddleName,
|
|
LPTSTR lpLastName,
|
|
LPTSTR lpCompanyName,
|
|
LPTSTR lpNickName,
|
|
LPTSTR * lppDisplayName,
|
|
LPVOID lpvRoot);
|
|
// Parses a display name into first and last ...
|
|
BOOL ParseDisplayName( LPTSTR lpDisplayName,
|
|
LPTSTR * lppFirstName,
|
|
LPTSTR * lppLastName,
|
|
LPVOID lpvRoot,
|
|
LPVOID * lppLocalFree);
|
|
|
|
|
|
#endif
|