Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-winehq
Commits
8555035d
Commit
8555035d
authored
Oct 01, 2009
by
Owen Rudge
Committed by
Alexandre Julliard
Oct 01, 2009
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
include: Add definitions for IMAPIContainer, IMAPIFolder, IMessage.
parent
3372d6fe
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
239 additions
and
6 deletions
+239
-6
mapidefs.h
include/mapidefs.h
+239
-6
No files found.
include/mapidefs.h
View file @
8555035d
...
...
@@ -91,16 +91,13 @@ typedef IDistList *LPDISTLIST;
typedef
struct
IMailUser
IMailUser
;
typedef
IMailUser
*
LPMAILUSER
;
typedef
struct
IMAPIAdviseSink
*
LPMAPIADVISESINK
;
typedef
struct
IMAPIContainer
IMAPIContainer
;
typedef
IMAPIContainer
*
LPMAPICONTAINER
;
typedef
struct
IMAPIFolder
IMAPIFolder
;
typedef
IMAPIFolder
*
LPMAPIFOLDER
;
typedef
struct
IMAPIContainer
*
LPMAPICONTAINER
;
typedef
struct
IMAPIFolder
*
LPMAPIFOLDER
;
typedef
struct
IMAPIProgress
IMAPIProgress
;
typedef
IMAPIProgress
*
LPMAPIPROGRESS
;
typedef
struct
IMAPIStatus
IMAPIStatus
;
typedef
IMAPIStatus
*
LPMAPISTATUS
;
typedef
struct
IMessage
IMessage
;
typedef
IMessage
*
LPMESSAGE
;
typedef
struct
IMessage
*
LPMESSAGE
;
typedef
struct
IProfSect
IProfSect
;
typedef
IProfSect
*
LPPROFSECT
;
typedef
struct
IProviderAdmin
IProviderAdmin
;
...
...
@@ -155,6 +152,7 @@ typedef struct _MAPIUID
/* Flags for various calls */
#define MAPI_MODIFY 0x00000001U
/* Object can be modified */
#define MAPI_CREATE 0x00000002U
/* Object can be created */
#define MAPI_ACCESS_MODIFY MAPI_MODIFY
/* Want write access */
#define MAPI_ACCESS_READ 0x00000002U
/* Want read access */
#define MAPI_ACCESS_DELETE 0x00000004U
/* Want delete access */
...
...
@@ -916,6 +914,10 @@ DECLARE_INTERFACE_(IMAPIProp,IUnknown)
typedef
IMAPIProp
*
LPMAPIPROP
;
#define KEEP_OPEN_READONLY (0x00000001U)
#define KEEP_OPEN_READWRITE (0x00000002U)
#define FORCE_SAVE (0x00000004U)
/*****************************************************************************
* IMsgStore interface
*/
...
...
@@ -999,6 +1001,161 @@ DECLARE_INTERFACE_(IMsgStore,IMAPIProp)
typedef
IMsgStore
*
LPMDB
;
/*****************************************************************************
* IMAPIContainer interface
*/
#define INTERFACE IMAPIContainer
DECLARE_INTERFACE_
(
IMAPIContainer
,
IMAPIProp
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IMAPIProp methods ***/
STDMETHOD
(
GetLastError
)(
THIS_
HRESULT
hRes
,
ULONG
ulFlags
,
LPMAPIERROR
*
lppErr
)
PURE
;
STDMETHOD
(
SaveChanges
)(
THIS_
ULONG
ulFlags
)
PURE
;
STDMETHOD
(
GetProps
)(
THIS_
LPSPropTagArray
lpPropTags
,
ULONG
ulFlags
,
ULONG
*
lpValues
,
LPSPropValue
*
lppProps
)
PURE
;
STDMETHOD
(
GetPropList
)(
THIS_
ULONG
ulFlags
,
LPSPropTagArray
*
lppPropTagArray
)
PURE
;
STDMETHOD
(
OpenProperty
)(
THIS_
ULONG
ulPropTag
,
LPCIID
lpIid
,
ULONG
ulOpts
,
ULONG
ulFlags
,
LPUNKNOWN
*
lppUnk
)
PURE
;
STDMETHOD
(
SetProps
)(
THIS_
ULONG
cValues
,
LPSPropValue
lpProps
,
LPSPropProblemArray
*
lppProbs
)
PURE
;
STDMETHOD
(
DeleteProps
)(
THIS_
LPSPropTagArray
lpPropTags
,
LPSPropProblemArray
*
lppProbs
)
PURE
;
STDMETHOD
(
CopyTo
)(
THIS_
ULONG
ciidExclude
,
LPCIID
lpIid
,
LPSPropTagArray
lpProps
,
ULONG
ulParam
,
LPMAPIPROGRESS
lpProgress
,
LPCIID
lpIface
,
LPVOID
lpDest
,
ULONG
ulFlags
,
LPSPropProblemArray
*
lppProbs
)
PURE
;
STDMETHOD
(
CopyProps
)(
THIS_
LPSPropTagArray
lpIncludeProps
,
ULONG
ulParam
,
LPMAPIPROGRESS
lpProgress
,
LPCIID
lpIid
,
LPVOID
lpDestObj
,
ULONG
ulFlags
,
LPSPropProblemArray
*
lppProblems
)
PURE
;
STDMETHOD
(
GetNamesFromIDs
)(
THIS_
LPSPropTagArray
*
lppPropTags
,
LPGUID
lpIid
,
ULONG
ulFlags
,
ULONG
*
lpCount
,
LPMAPINAMEID
**
lpppNames
)
PURE
;
STDMETHOD
(
GetIDsFromNames
)(
THIS_
ULONG
cPropNames
,
LPMAPINAMEID
*
lppNames
,
ULONG
ulFlags
,
LPSPropTagArray
*
lppPropTags
)
PURE
;
/*** IMAPIContainer methods ***/
STDMETHOD
(
GetContentsTable
)(
THIS_
ULONG
ulFlags
,
LPMAPITABLE
*
lppTable
)
PURE
;
STDMETHOD
(
GetHierarchyTable
)(
THIS_
ULONG
ulFlags
,
LPMAPITABLE
*
lppTable
)
PURE
;
STDMETHOD
(
OpenEntry
)(
THIS_
ULONG
cbEntryID
,
LPENTRYID
lpEntryID
,
LPCIID
lpInterface
,
ULONG
ulFlags
,
ULONG
*
lpulObjType
,
LPUNKNOWN
*
lppUnk
)
PURE
;
STDMETHOD
(
SetSearchCriteria
)(
THIS_
LPSRestriction
lpRestriction
,
LPENTRYLIST
lpContainerList
,
ULONG
ulSearchFlags
)
PURE
;
STDMETHOD
(
GetSearchCriteria
)(
THIS_
ULONG
ulFlags
,
LPSRestriction
*
lppRestriction
,
LPENTRYLIST
*
lppContainerList
,
ULONG
*
lpulSearchState
)
PURE
;
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
/*** IUnknown methods ***/
#define IMAPIContainer_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
#define IMAPIContainer_AddRef(p) (p)->lpVtbl->AddRef(p)
#define IMAPIContainer_Release(p) (p)->lpVtbl->Release(p)
/*** IMAPIProp methods ***/
#define IMAPIContainer_GetLastError(p,a,b,c) (p)->lpVtbl->GetLastError(p,a,b,c)
#define IMAPIContainer_SaveChanges(p,a) (p)->lpVtbl->SaveChanges(p,a)
#define IMAPIContainer_GetProps(p,a,b,c,d) (p)->lpVtbl->GetProps(p,a,b,c,d)
#define IMAPIContainer_GetPropList(p,a,b) (p)->lpVtbl->GetPropList(p,a,b)
#define IMAPIContainer_OpenProperty(p,a,b,c,d,e) (p)->lpVtbl->OpenProperty(p,a,b,c,d,e)
#define IMAPIContainer_SetProps(p,a,b,c) (p)->lpVtbl->SetProps(p,a,b,c)
#define IMAPIContainer_DeleteProps(p,a,b) (p)->lpVtbl->DeleteProps(p,a,b)
#define IMAPIContainer_CopyTo(p,a,b,c,d,e,f,g,h,i) (p)->lpVtbl->CopyTo(p,a,b,c,d,e,f,g,h,i)
#define IMAPIContainer_CopyProps(p,a,b,c,d,e,f,g) (p)->lpVtbl->CopyProps(p,a,b,c,d,e,f,g)
#define IMAPIContainer_GetNamesFromIDs(p,a,b,c,d,e) (p)->lpVtbl->GetNamesFromIDs(p,a,b,c,d,e)
#define IMAPIContainer_GetIDsFromNames(p,a,b,c,d) (p)->lpVtbl->GetIDsFromNames(p,a,b,c,d)
/*** IMAPIContainer methods ***/
#define IMAPIContainer_GetContentsTable(p,a,b) (p)->lpVtbl->GetContentsTable(p,a,b)
#define IMAPIContainer_GetHierarchyTable(p,a,b) (p)->lpVtbl->GetHierarchyTable(p,a,b)
#define IMAPIContainer_OpenEntry(p,a,b,c,d,e,f) (p)->lpVtbl->OpenEntry(p,a,b,c,d,e,f)
#define IMAPIContainer_SetSearchCriteria(p,a,b,c) (p)->lpVtbl->SetSearchCriteria(p,a,b,c)
#define IMAPIContainer_GetSearchCriteria(p,a,b,c,d) (p)->lpVtbl->GetSearchCriteria(p,a,b,c,d)
#endif
/*****************************************************************************
* IMAPIFolder interface
*/
#define INTERFACE IMAPIFolder
DECLARE_INTERFACE_
(
IMAPIFolder
,
IMAPIContainer
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IMAPIProp methods ***/
STDMETHOD
(
GetLastError
)(
THIS_
HRESULT
hRes
,
ULONG
ulFlags
,
LPMAPIERROR
*
lppErr
)
PURE
;
STDMETHOD
(
SaveChanges
)(
THIS_
ULONG
ulFlags
)
PURE
;
STDMETHOD
(
GetProps
)(
THIS_
LPSPropTagArray
lpPropTags
,
ULONG
ulFlags
,
ULONG
*
lpValues
,
LPSPropValue
*
lppProps
)
PURE
;
STDMETHOD
(
GetPropList
)(
THIS_
ULONG
ulFlags
,
LPSPropTagArray
*
lppPropTagArray
)
PURE
;
STDMETHOD
(
OpenProperty
)(
THIS_
ULONG
ulPropTag
,
LPCIID
lpIid
,
ULONG
ulOpts
,
ULONG
ulFlags
,
LPUNKNOWN
*
lppUnk
)
PURE
;
STDMETHOD
(
SetProps
)(
THIS_
ULONG
cValues
,
LPSPropValue
lpProps
,
LPSPropProblemArray
*
lppProbs
)
PURE
;
STDMETHOD
(
DeleteProps
)(
THIS_
LPSPropTagArray
lpPropTags
,
LPSPropProblemArray
*
lppProbs
)
PURE
;
STDMETHOD
(
CopyTo
)(
THIS_
ULONG
ciidExclude
,
LPCIID
lpIid
,
LPSPropTagArray
lpProps
,
ULONG
ulParam
,
LPMAPIPROGRESS
lpProgress
,
LPCIID
lpIface
,
LPVOID
lpDest
,
ULONG
ulFlags
,
LPSPropProblemArray
*
lppProbs
)
PURE
;
STDMETHOD
(
CopyProps
)(
THIS_
LPSPropTagArray
lpIncludeProps
,
ULONG
ulParam
,
LPMAPIPROGRESS
lpProgress
,
LPCIID
lpIid
,
LPVOID
lpDestObj
,
ULONG
ulFlags
,
LPSPropProblemArray
*
lppProblems
)
PURE
;
STDMETHOD
(
GetNamesFromIDs
)(
THIS_
LPSPropTagArray
*
lppPropTags
,
LPGUID
lpIid
,
ULONG
ulFlags
,
ULONG
*
lpCount
,
LPMAPINAMEID
**
lpppNames
)
PURE
;
STDMETHOD
(
GetIDsFromNames
)(
THIS_
ULONG
cPropNames
,
LPMAPINAMEID
*
lppNames
,
ULONG
ulFlags
,
LPSPropTagArray
*
lppPropTags
)
PURE
;
/*** IMAPIContainer methods ***/
STDMETHOD
(
GetContentsTable
)(
THIS_
ULONG
ulFlags
,
LPMAPITABLE
*
lppTable
)
PURE
;
STDMETHOD
(
GetHierarchyTable
)(
THIS_
ULONG
ulFlags
,
LPMAPITABLE
*
lppTable
)
PURE
;
STDMETHOD
(
OpenEntry
)(
THIS_
ULONG
cbEntryID
,
LPENTRYID
lpEntryID
,
LPCIID
lpInterface
,
ULONG
ulFlags
,
ULONG
*
lpulObjType
,
LPUNKNOWN
*
lppUnk
)
PURE
;
STDMETHOD
(
SetSearchCriteria
)(
THIS_
LPSRestriction
lpRestriction
,
LPENTRYLIST
lpContainerList
,
ULONG
ulSearchFlags
)
PURE
;
STDMETHOD
(
GetSearchCriteria
)(
THIS_
ULONG
ulFlags
,
LPSRestriction
*
lppRestriction
,
LPENTRYLIST
*
lppContainerList
,
ULONG
*
lpulSearchState
)
PURE
;
/*** IMAPIFolder methods ***/
STDMETHOD
(
CreateMessage
)(
THIS_
LPCIID
lpInterface
,
ULONG
ulFlags
,
LPMESSAGE
*
lppMessage
)
PURE
;
STDMETHOD
(
CopyMessages
)(
THIS_
LPENTRYLIST
lpMsgList
,
LPCIID
lpInterface
,
LPVOID
lpDestFolder
,
ULONG
ulUIParam
,
LPMAPIPROGRESS
lpProgress
,
ULONG
ulFlags
)
PURE
;
STDMETHOD
(
DeleteMessages
)(
THIS_
LPENTRYLIST
lpMsgList
,
ULONG
ulUIParam
,
LPMAPIPROGRESS
lpProgress
,
ULONG
ulFlags
)
PURE
;
STDMETHOD
(
CreateFolder
)(
THIS_
ULONG
ulFolderType
,
LPSTR
lpszFolderName
,
LPSTR
lpszFolderComment
,
LPCIID
lpInterface
,
ULONG
ulFlags
,
LPMAPIFOLDER
lppFolder
)
PURE
;
STDMETHOD
(
CopyFolder
)(
THIS_
ULONG
cbEntryID
,
LPENTRYID
lpEntryID
,
LPCIID
lpInterface
,
LPVOID
lpDestFolder
,
LPSTR
lpszNewFolderName
,
ULONG
ulUIParam
,
LPMAPIPROGRESS
lpProgress
,
ULONG
ulFlags
)
PURE
;
STDMETHOD
(
DeleteFolder
)(
THIS_
ULONG
cbEntryID
,
LPENTRYID
lpEntryID
,
ULONG
ulUIParam
,
LPMAPIPROGRESS
lpProgress
,
ULONG
ulFlags
)
PURE
;
STDMETHOD
(
SetReadFlags
)(
THIS_
LPENTRYLIST
lpMsgList
,
ULONG
ulUIParam
,
LPMAPIPROGRESS
lpProgress
,
ULONG
ulFlags
)
PURE
;
STDMETHOD
(
GetMessageStatus
)(
THIS_
ULONG
cbEntryID
,
LPENTRYID
lpEntryID
,
ULONG
ulFlags
,
ULONG
*
lpulMessageStatus
)
PURE
;
STDMETHOD
(
SetMessageStatus
)(
THIS_
ULONG
cbEntryID
,
LPENTRYID
lpEntryID
,
ULONG
ulNewStatus
,
ULONG
ulNewStatusMask
,
ULONG
*
lpulOldStatus
)
PURE
;
STDMETHOD
(
SaveContentsSort
)(
THIS_
LPSSortOrderSet
lpSortCriteria
,
ULONG
ulFlags
)
PURE
;
STDMETHOD
(
EmptyFolder
)
(
THIS_
ULONG
ulUIParam
,
LPMAPIPROGRESS
lpProgress
,
ULONG
ulFlags
)
PURE
;
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
/*** IUnknown methods ***/
#define IMAPIFolder_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
#define IMAPIFolder_AddRef(p) (p)->lpVtbl->AddRef(p)
#define IMAPIFolder_Release(p) (p)->lpVtbl->Release(p)
/*** IMAPIProp methods ***/
#define IMAPIFolder_GetLastError(p,a,b,c) (p)->lpVtbl->GetLastError(p,a,b,c)
#define IMAPIFolder_SaveChanges(p,a) (p)->lpVtbl->SaveChanges(p,a)
#define IMAPIFolder_GetProps(p,a,b,c,d) (p)->lpVtbl->GetProps(p,a,b,c,d)
#define IMAPIFolder_GetPropList(p,a,b) (p)->lpVtbl->GetPropList(p,a,b)
#define IMAPIFolder_OpenProperty(p,a,b,c,d,e) (p)->lpVtbl->OpenProperty(p,a,b,c,d,e)
#define IMAPIFolder_SetProps(p,a,b,c) (p)->lpVtbl->SetProps(p,a,b,c)
#define IMAPIFolder_DeleteProps(p,a,b) (p)->lpVtbl->DeleteProps(p,a,b)
#define IMAPIFolder_CopyTo(p,a,b,c,d,e,f,g,h,i) (p)->lpVtbl->CopyTo(p,a,b,c,d,e,f,g,h,i)
#define IMAPIFolder_CopyProps(p,a,b,c,d,e,f,g) (p)->lpVtbl->CopyProps(p,a,b,c,d,e,f,g)
#define IMAPIFolder_GetNamesFromIDs(p,a,b,c,d,e) (p)->lpVtbl->GetNamesFromIDs(p,a,b,c,d,e)
#define IMAPIFolder_GetIDsFromNames(p,a,b,c,d) (p)->lpVtbl->GetIDsFromNames(p,a,b,c,d)
/*** IMAPIContainer methods ***/
#define IMAPIFolder_GetContentsTable(p,a,b) (p)->lpVtbl->GetContentsTable(p,a,b)
#define IMAPIFolder_GetHierarchyTable(p,a,b) (p)->lpVtbl->GetHierarchyTable(p,a,b)
#define IMAPIFolder_OpenEntry(p,a,b,c,d,e,f) (p)->lpVtbl->OpenEntry(p,a,b,c,d,e,f)
#define IMAPIFolder_SetSearchCriteria(p,a,b,c) (p)->lpVtbl->SetSearchCriteria(p,a,b,c)
#define IMAPIFolder_GetSearchCriteria(p,a,b,c,d) (p)->lpVtbl->GetSearchCriteria(p,a,b,c,d)
/*** IMAPIFolder methods ***/
#define IMAPIFolder_CreateMessage(p,a,b,c) (p)->lpVtbl->CreateMessage(p,a,b,c)
#define IMAPIFolder_CopyMessages(p,a,b,c,d,e,f) (p)->lpVtbl->CopyMessages(p,a,b,c,d,e,f)
#define IMAPIFolder_DeleteMessages(p,a,b,c,d) (p)->lpVtbl->DeleteMessages(p,a,b,c,d)
#define IMAPIFolder_CreateFolder(p,a,b,c,d,e,f) (p)->lpVtbl->CreateFolder(p,a,b,c,d,e,f)
#define IMAPIFolder_CopyFolder(p,a,b,c,d,e,f,g,h) (p)->lpVtbl->CopyFolder(p,a,b,c,d,e,f,g,h)
#define IMAPIFolder_DeleteFolder(p,a,b,c,d,e) (p)->lpVtbl->CreateFolder(p,a,b,c,d,e)
#define IMAPIFolder_SetReadFlags(p,a,b,c,d) (p)->lpVtbl->SetReadFlags(p,a,b,c,d)
#define IMAPIFolder_GetMessageStatus(p,a,b,c,d) (p)->lpVtbl->GetMessageStatus(p,a,b,c,d)
#define IMAPIFolder_SetMessageStatus(p,a,b,c,d,e) (p)->lpVtbl->SetMessageStatus(p,a,b,c,d,e)
#define IMAPIFolder_SaveContentsSort(p,a,b) (p)->lpVtbl->SaveContentsSort(p,a,b)
#define IMAPIFolder_EmptyFolder(p,a,b,c) (p)->lpVtbl->EmptyFolder(p,a,b,c)
#endif
typedef
struct
{
ULONG
cb
;
...
...
@@ -1038,4 +1195,80 @@ typedef struct _ADRLIST
ADRENTRY
aEntries
[
MAPI_DIM
];
}
ADRLIST
,
*
LPADRLIST
;
/*****************************************************************************
* IMessage interface
*/
#define INTERFACE IMessage
DECLARE_INTERFACE_
(
IMessage
,
IMAPIProp
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IMAPIProp methods ***/
STDMETHOD
(
GetLastError
)(
THIS_
HRESULT
hRes
,
ULONG
ulFlags
,
LPMAPIERROR
*
lppErr
)
PURE
;
STDMETHOD
(
SaveChanges
)(
THIS_
ULONG
ulFlags
)
PURE
;
STDMETHOD
(
GetProps
)(
THIS_
LPSPropTagArray
lpPropTags
,
ULONG
ulFlags
,
ULONG
*
lpValues
,
LPSPropValue
*
lppProps
)
PURE
;
STDMETHOD
(
GetPropList
)(
THIS_
ULONG
ulFlags
,
LPSPropTagArray
*
lppPropTagArray
)
PURE
;
STDMETHOD
(
OpenProperty
)(
THIS_
ULONG
ulPropTag
,
LPCIID
lpIid
,
ULONG
ulOpts
,
ULONG
ulFlags
,
LPUNKNOWN
*
lppUnk
)
PURE
;
STDMETHOD
(
SetProps
)(
THIS_
ULONG
cValues
,
LPSPropValue
lpProps
,
LPSPropProblemArray
*
lppProbs
)
PURE
;
STDMETHOD
(
DeleteProps
)(
THIS_
LPSPropTagArray
lpPropTags
,
LPSPropProblemArray
*
lppProbs
)
PURE
;
STDMETHOD
(
CopyTo
)(
THIS_
ULONG
ciidExclude
,
LPCIID
lpIid
,
LPSPropTagArray
lpProps
,
ULONG
ulParam
,
LPMAPIPROGRESS
lpProgress
,
LPCIID
lpIface
,
LPVOID
lpDest
,
ULONG
ulFlags
,
LPSPropProblemArray
*
lppProbs
)
PURE
;
STDMETHOD
(
CopyProps
)(
THIS_
LPSPropTagArray
lpIncludeProps
,
ULONG
ulParam
,
LPMAPIPROGRESS
lpProgress
,
LPCIID
lpIid
,
LPVOID
lpDestObj
,
ULONG
ulFlags
,
LPSPropProblemArray
*
lppProblems
)
PURE
;
STDMETHOD
(
GetNamesFromIDs
)(
THIS_
LPSPropTagArray
*
lppPropTags
,
LPGUID
lpIid
,
ULONG
ulFlags
,
ULONG
*
lpCount
,
LPMAPINAMEID
**
lpppNames
)
PURE
;
STDMETHOD
(
GetIDsFromNames
)(
THIS_
ULONG
cPropNames
,
LPMAPINAMEID
*
lppNames
,
ULONG
ulFlags
,
LPSPropTagArray
*
lppPropTags
)
PURE
;
/*** IMessage methods ***/
STDMETHOD
(
GetAttachmentTable
)(
THIS_
ULONG
ulFlags
,
LPMAPITABLE
*
lppTable
)
PURE
;
STDMETHOD
(
OpenAttach
)(
THIS_
ULONG
ulAttachmentNum
,
LPCIID
lpInterface
,
ULONG
ulFlags
,
LPATTACH
*
lppAttach
)
PURE
;
STDMETHOD
(
CreateAttach
)(
THIS_
LPCIID
lpInterface
,
ULONG
ulFlags
,
ULONG
*
lpulAttachmentNum
,
LPATTACH
*
lppAttach
)
PURE
;
STDMETHOD
(
DeleteAttach
)(
THIS_
ULONG
ulAttachmentNum
,
ULONG
ulUIParam
,
LPMAPIPROGRESS
lpProgress
,
ULONG
ulFlags
)
PURE
;
STDMETHOD
(
GetRecipientTable
)(
THIS_
ULONG
ulFlags
,
LPMAPITABLE
*
lppTable
)
PURE
;
STDMETHOD
(
ModifyRecipients
)(
THIS_
ULONG
ulFlags
,
LPADRLIST
lpMods
)
PURE
;
STDMETHOD
(
SubmitMessage
)(
THIS_
ULONG
ulFlags
)
PURE
;
STDMETHOD
(
SetReadFlag
)(
THIS_
ULONG
ulFlags
)
PURE
;
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
/*** IUnknown methods ***/
#define IMessage_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
#define IMessage_AddRef(p) (p)->lpVtbl->AddRef(p)
#define IMessage_Release(p) (p)->lpVtbl->Release(p)
/*** IMAPIProp methods ***/
#define IMessage_GetLastError(p,a,b,c) (p)->lpVtbl->GetLastError(p,a,b,c)
#define IMessage_SaveChanges(p,a) (p)->lpVtbl->SaveChanges(p,a)
#define IMessage_GetProps(p,a,b,c,d) (p)->lpVtbl->GetProps(p,a,b,c,d)
#define IMessage_GetPropList(p,a,b) (p)->lpVtbl->GetPropList(p,a,b)
#define IMessage_OpenProperty(p,a,b,c,d,e) (p)->lpVtbl->OpenProperty(p,a,b,c,d,e)
#define IMessage_SetProps(p,a,b,c) (p)->lpVtbl->SetProps(p,a,b,c)
#define IMessage_DeleteProps(p,a,b) (p)->lpVtbl->DeleteProps(p,a,b)
#define IMessage_CopyTo(p,a,b,c,d,e,f,g,h,i) (p)->lpVtbl->CopyTo(p,a,b,c,d,e,f,g,h,i)
#define IMessage_CopyProps(p,a,b,c,d,e,f,g) (p)->lpVtbl->CopyProps(p,a,b,c,d,e,f,g)
#define IMessage_GetNamesFromIDs(p,a,b,c,d,e) (p)->lpVtbl->GetNamesFromIDs(p,a,b,c,d,e)
#define IMessage_GetIDsFromNames(p,a,b,c,d) (p)->lpVtbl->GetIDsFromNames(p,a,b,c,d)
/*** IMessage methods ***/
#define IMessage_GetAttachmentTable(p,a,b) (p)->lpVtbl->GetAttachmentTable(p,a,b)
#define IMessage_OpenAttach(p,a,b,c,d) (p)->lpVtbl->OpenAttach(p,a,b,c,d)
#define IMessage_CreateAttach(p,a,b,c,d) (p)->lpVtbl->CreateAttach(p,a,b,c,d)
#define IMessage_DeleteAttach(p,a,b,c,d) (p)->lpVtbl->DeleteAttach(p,a,b,c,d)
#define IMessage_GetRecipientTable(p,a,b) (p)->lpVtbl->GetRecipientTable(p,a,b)
#define IMessage_ModifyRecipients(p,a,b) (p)->lpVtbl->ModifyRecipients(p,a,b)
#define IMessage_SubmitMessage(p,a) (p)->lpVtbl->SubmitMessage(p,a)
#define IMessage_SetReadFlag(p,a) (p)->lpVtbl->SetReadFlag(p,a)
#endif
/* Message flags (PR_MESSAGE_FLAGS) */
#define MSGFLAG_READ 0x00000001U
#define MSGFLAG_UNMODIFIED 0x00000002U
#define MSGFLAG_SUBMIT 0x00000004U
#define MSGFLAG_UNSENT 0x00000008U
#define MSGFLAG_HASATTACH 0x00000010U
#define MSGFLAG_FROMME 0x00000020U
#endif
/*MAPIDEFS_H*/
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment