110#define MAPI_NOTRESERVED 0x08
112#define MAPI_THISSESSION 0x20
113#define MAPI_NOTRECIP 0x40
114#define MAPI_SHORTTERM 0x80
117#define MAPI_COMPOUND 0x80
131#define IsEqualMAPIUID(pl,pr) (!memcmp((pl),(pr),sizeof(MAPIUID)))
133#define MAPI_ONE_OFF_UID { 0x81,0x2b,0x1f,0xa4,0xbe,0xa3,0x10,0x19,0x9d,0x6e, \
134 0x00,0xdd,0x01,0x0f,0x54,0x02 }
135#define MAPI_ONE_OFF_UNICODE 0x8000
136#define MAPI_ONE_OFF_NO_RICH_INFO 0x0001
140#define MAPI_ADDRBOOK 2U
141#define MAPI_FOLDER 3U
142#define MAPI_ABCONT 4U
143#define MAPI_MESSAGE 5U
144#define MAPI_MAILUSER 6U
145#define MAPI_ATTACH 7U
146#define MAPI_DISTLIST 8U
147#define MAPI_PROFSECT 9U
148#define MAPI_STATUS 10U
149#define MAPI_SESSION 11U
150#define MAPI_FORMINFO 12U
153#define MAPI_MODIFY 0x00000001U
154#define MAPI_CREATE 0x00000002U
155#define MAPI_ACCESS_MODIFY MAPI_MODIFY
156#define MAPI_ACCESS_READ 0x00000002U
157#define MAPI_ACCESS_DELETE 0x00000004U
158#define MAPI_ACCESS_CREATE_HIERARCHY 0x00000008U
159#define MAPI_ACCESS_CREATE_CONTENTS 0x00000010U
160#define MAPI_ACCESS_CREATE_ASSOCIATED 0x00000020U
161#define MAPI_USE_DEFAULT 0x00000040U
162#define MAPI_UNICODE 0x80000000U
164#if defined (UNICODE) || defined (__WINESRC__)
165#define fMapiUnicode MAPI_UNICODE
167#define fMapiUnicode 0U
171#define MDB_NO_DIALOG 0x00000001
179#define MAPI_P1 0x10000000
180#define MAPI_SUBMITTED 0x80000000
183#ifndef cchProfileNameMax
184#define cchProfileNameMax 64
185#define cchProfilePassMax 64
193#define PT_UNSPECIFIED 0U
196#define PT_SHORT PT_I2
200#define PT_FLOAT PT_R4
202#define PT_R8 PT_DOUBLE
203#define PT_CURRENCY 6U
206#define PT_BOOLEAN 11U
209#define PT_LONGLONG PT_I8
210#define PT_STRING8 30U
211#define PT_UNICODE 31U
212#define PT_SYSTIME 64U
214#define PT_BINARY 258U
216#define MV_FLAG 0x1000
217#define MV_INSTANCE 0x2000
218#define MVI_FLAG (MV_FLAG|MV_INSTANCE)
219#define MVI_PROP(t) ((t)|MVI_FLAG)
221#ifndef WINE_NO_UNICODE_MACROS
223# define PT_TSTRING PT_UNICODE
224# define PT_MV_TSTRING (MV_FLAG|PT_UNICODE)
229# define PT_TSTRING PT_STRING8
230# define PT_MV_TSTRING (MV_FLAG|PT_STRING8)
237#define PROP_TYPE_MASK 0xFFFFU
238#define PROP_TYPE(t) ((t) & PROP_TYPE_MASK)
239#define PROP_ID(t) ((t) >> 16)
240#define PROP_TAG(t,id) (((id) << 16) | t)
241#define PROP_ID_NULL 0
242#define PROP_ID_INVALID 0xFFFF
243#define PR_NULL PROP_TAG(PT_NULL, PROP_ID_NULL)
245#define CHANGE_PROP_TYPE(t,typ) ((0xFFFF0000 & t) | typ)
248#define PT_MV_I2 (MV_FLAG|PT_I2)
249#define PT_MV_SHORT PT_MV_I2
250#define PT_MV_LONG (MV_FLAG|PT_LONG)
251#define PT_MV_I4 PT_MV_LONG
252#define PT_MV_R4 (MV_FLAG|PT_R4)
253#define PT_MV_FLOAT PT_MV_R4
254#define PT_MV_DOUBLE (MV_FLAG|PT_DOUBLE)
255#define PT_MV_R8 PT_MV_DOUBLE
256#define PT_MV_CURRENCY (MV_FLAG|PT_CURRENCY)
257#define PT_MV_APPTIME (MV_FLAG|PT_APPTIME)
258#define PT_MV_SYSTIME (MV_FLAG|PT_SYSTIME)
259#define PT_MV_STRING8 (MV_FLAG|PT_STRING8)
260#define PT_MV_BINARY (MV_FLAG|PT_BINARY)
261#define PT_MV_UNICODE (MV_FLAG|PT_UNICODE)
262#define PT_MV_CLSID (MV_FLAG|PT_CLSID)
263#define PT_MV_I8 (MV_FLAG|PT_I8)
264#define PT_MV_LONGLONG PT_MV_I8
274#define CbNewSPropTagArray(c) (offsetof(SPropTagArray,aulPropTag)+(c)*sizeof(ULONG))
275#define CbSPropTagArray(p) CbNewSPropTagArray((p)->cValues)
276#define SizedSPropTagArray(n,id) \
277 struct _SPropTagArray_##id { ULONG cValues; ULONG aulPropTag[n]; } id
428#define CbNewSRowSet(c) (offsetof(SRowSet,aRow)+(c)*sizeof(SRow))
429#define CbSRowSet(p) CbNewSRowSet((p)->cRows)
430#define SizedSRowSet(n,id) \
431 struct _SRowSet_##id { ULONG cRows; SRow aRow[n]; } id
449#define FL_FULLSTRING ((ULONG)0x00000)
450#define FL_SUBSTRING ((ULONG)0x00001)
451#define FL_PREFIX ((ULONG)0x00002)
452#define FL_IGNORECASE ((ULONG)0x10000)
453#define FL_IGNORENONSPACE ((ULONG)0x20000)
454#define FL_LOOSE ((ULONG)0x40000)
458#define TBLTYPE_SNAPSHOT 0U
459#define TBLTYPE_KEYSET 1U
460#define TBLTYPE_DYNAMIC 2U
463#define TBLSTAT_COMPLETE 0U
464#define TBLSTAT_QCHANGED 7U
465#define TBLSTAT_SORTING 9U
466#define TBLSTAT_SORT_ERROR 10U
467#define TBLSTAT_SETTING_COLS 11U
468#define TBLSTAT_SETCOL_ERROR 13U
469#define TBLSTAT_RESTRICTING 14U
470#define TBLSTAT_RESTRICT_ERROR 15U
475#define TBL_ASYNC TBL_NOWAIT
478#define DIR_BACKWARD 1U
483#define BOOKMARK_BEGINNING ((BOOKMARK)0)
484#define BOOKMARK_CURRENT ((BOOKMARK)1)
485#define BOOKMARK_END ((BOOKMARK)2)
575#define RES_CONTENT 3U
576#define RES_PROPERTY 4U
577#define RES_COMPAREPROPS 5U
578#define RES_BITMASK 6U
581#define RES_SUBRESTRICTION 9U
582#define RES_COMMENT 10U
607#if defined (UNICODE) || defined (__WINESRC__)
619#define TABLE_SORT_ASCEND 0U
620#define TABLE_SORT_DESCEND 1U
621#define TABLE_SORT_COMBINE 2U
652#define fnevCriticalError ((ULONG)0x00000001)
653#define fnevNewMail ((ULONG)0x00000002)
654#define fnevObjectCreated ((ULONG)0x00000004)
655#define fnevObjectDeleted ((ULONG)0x00000008)
656#define fnevObjectModified ((ULONG)0x00000010)
657#define fnevObjectMoved ((ULONG)0x00000020)
658#define fnevObjectCopied ((ULONG)0x00000040)
659#define fnevSearchComplete ((ULONG)0x00000080)
660#define fnevTableModified ((ULONG)0x00000100)
661#define fnevStatusObjectModified ((ULONG)0x00000200)
662#define fnevReservedForMapi ((ULONG)0x40000000)
663#define fnevExtended ((ULONG)0x80000000)
666#define TABLE_CHANGED 1U
667#define TABLE_ERROR 2U
668#define TABLE_ROW_ADDED 3U
669#define TABLE_ROW_DELETED 4U
670#define TABLE_ROW_MODIFIED 5U
671#define TABLE_SORT_DONE 6U
672#define TABLE_RESTRICT_DONE 7U
673#define TABLE_SETCOL_DONE 8U
674#define TABLE_RELOAD 9U
694#if defined (UNICODE) || defined (__WINESRC__)
765#define MAPI_BEST_ACCESS 0x00000010
772#define INTERFACE IMAPITable
809#if !defined(__cplusplus) || defined(CINTERFACE)
811#define IMAPITable_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
812#define IMAPITable_AddRef(p) (p)->lpVtbl->AddRef(p)
813#define IMAPITable_Release(p) (p)->lpVtbl->Release(p)
815#define IMAPITable_GetLastError(p,a,b,c) (p)->lpVtbl->GetLastError(p,a,b,c)
816#define IMAPITable_Advise(p,a,b,c) (p)->lpVtbl->Advise(p,a,b,c)
817#define IMAPITable_Unadvise(p,a) (p)->lpVtbl->Unadvise(p,a)
818#define IMAPITable_GetStatus(p,a,b) (p)->lpVtbl->GetStatus(p,a,b)
819#define IMAPITable_SetColumns(p,a,b) (p)->lpVtbl->SetColumns(p,a,b)
820#define IMAPITable_QueryColumns(p,a,b) (p)->lpVtbl->QueryColumns(p,a,b)
821#define IMAPITable_GetRowCount(p,a,b) (p)->lpVtbl->GetRowCount(p,a,b)
822#define IMAPITable_SeekRow(p,a,b) (p)->lpVtbl->SeekRow(p,a,b)
823#define IMAPITable_SeekRowApprox(p,a,b) (p)->lpVtbl->SeekRowApprox(p,a,b)
824#define IMAPITable_QueryPosition(p,a,b) (p)->lpVtbl->QueryPosition(p,a,b)
825#define IMAPITable_FindRow(p,a,b,c) (p)->lpVtbl->FindRow(p,a,b,c)
826#define IMAPITable_Restrict(p,a,b) (p)->lpVtbl->Recstrict(p,a,b)
827#define IMAPITable_CreateBookmark(p,a) (p)->lpVtbl->CreateBookmark(p,a)
828#define IMAPITable_FreeBookmark(p,a) (p)->lpVtbl->FreeBookmark(p,a)
829#define IMAPITable_SortTable(p,a,b) (p)->lpVtbl->SortTable(p,a,b)
830#define IMAPITable_QuerySortOrder(p,a) (p)->lpVtbl->QuerySortOrder(p,a)
831#define IMAPITable_QueryRows(p,a,b,c) (p)->lpVtbl->QueryRows(p,a,b,c)
832#define IMAPITable_Abort(p) (p)->lpVtbl->Abort(p)
833#define IMAPITable_ExpandRow(p,a,b,c,d,e,f) (p)->lpVtbl->ExpandRow(p,a,b,c,d,e,f)
834#define IMAPITable_CollapseRow(p,a,b,c,d) (p)->lpVtbl->CollapseRow(p,a,b,c,d)
835#define IMAPITable_WaitForCompletion(p,a,b,c) (p)->lpVtbl->WaitForCompletion(p,a,b,c)
836#define IMAPITable_GetCollapseState(p,a,b,c,d,e) (p)->lpVtbl->GetCollapseState(p,a,b,c,d,e)
837#define IMAPITable_SetCollapseState(p,a,b,c,d) (p)->lpVtbl->SetCollapseState(p,a,b,c,d)
845#define INTERFACE IMAPIAdviseSink
857#if !defined(__cplusplus) || defined(CINTERFACE)
859#define IMAPIAdviseSink_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
860#define IMAPIAdviseSink_AddRef(p) (p)->lpVtbl->AddRef(p)
861#define IMAPIAdviseSink_Release(p) (p)->lpVtbl->Release(p)
863#define IMAPIAdviseSink_OnNotify(p,a,b) (p)->lpVtbl->OnNotify(p,a,b)
869#define INTERFACE IMAPIProp
895#if !defined(__cplusplus) || defined(CINTERFACE)
897#define IMAPIProp_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
898#define IMAPIProp_AddRef(p) (p)->lpVtbl->AddRef(p)
899#define IMAPIProp_Release(p) (p)->lpVtbl->Release(p)
901#define IMAPIProp_GetLastError(p,a,b,c) (p)->lpVtbl->GetLastError(p,a,b,c)
902#define IMAPIProp_SaveChanges(p,a) (p)->lpVtbl->SaveChanges(p,a)
903#define IMAPIProp_GetProps(p,a,b,c,d) (p)->lpVtbl->GetProps(p,a,b,c,d)
904#define IMAPIProp_GetPropList(p,a,b) (p)->lpVtbl->GetPropList(p,a,b)
905#define IMAPIProp_OpenProperty(p,a,b,c,d,e) (p)->lpVtbl->OpenProperty(p,a,b,c,d,e)
906#define IMAPIProp_SetProps(p,a,b,c) (p)->lpVtbl->SetProps(p,a,b,c)
907#define IMAPIProp_DeleteProps(p,a,b) (p)->lpVtbl->DeleteProps(p,a,b)
908#define IMAPIProp_CopyTo(p,a,b,c,d,e,f,g,h,i) (p)->lpVtbl->CopyTo(p,a,b,c,d,e,f,g,h,i)
909#define IMAPIProp_CopyProps(p,a,b,c,d,e,f,g) (p)->lpVtbl->CopyProps(p,a,b,c,d,e,f,g)
910#define IMAPIProp_GetNamesFromIDs(p,a,b,c,d,e) (p)->lpVtbl->GetNamesFromIDs(p,a,b,c,d,e)
911#define IMAPIProp_GetIDsFromNames(p,a,b,c,d) (p)->lpVtbl->GetIDsFromNames(p,a,b,c,d)
916#define KEEP_OPEN_READONLY (0x00000001U)
917#define KEEP_OPEN_READWRITE (0x00000002U)
918#define FORCE_SAVE (0x00000004U)
923#define INTERFACE IMsgStore
967#if !defined(__cplusplus) || defined(CINTERFACE)
969#define IMsgStore_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
970#define IMsgStore_AddRef(p) (p)->lpVtbl->AddRef(p)
971#define IMsgStore_Release(p) (p)->lpVtbl->Release(p)
973#define IMsgStore_GetLastError(p,a,b,c) (p)->lpVtbl->GetLastError(p,a,b,c)
974#define IMsgStore_SaveChanges(p,a) (p)->lpVtbl->SaveChanges(p,a)
975#define IMsgStore_GetProps(p,a,b,c,d) (p)->lpVtbl->GetProps(p,a,b,c,d)
976#define IMsgStore_GetPropList(p,a,b) (p)->lpVtbl->GetPropList(p,a,b)
977#define IMsgStore_OpenProperty(p,a,b,c,d,e) (p)->lpVtbl->OpenProperty(p,a,b,c,d,e)
978#define IMsgStore_SetProps(p,a,b,c) (p)->lpVtbl->SetProps(p,a,b,c)
979#define IMsgStore_DeleteProps(p,a,b) (p)->lpVtbl->DeleteProps(p,a,b)
980#define IMsgStore_CopyTo(p,a,b,c,d,e,f,g,h,i) (p)->lpVtbl->CopyTo(p,a,b,c,d,e,f,g,h,i)
981#define IMsgStore_CopyProps(p,a,b,c,d,e,f,g) (p)->lpVtbl->CopyProps(p,a,b,c,d,e,f,g)
982#define IMsgStore_GetNamesFromIDs(p,a,b,c,d,e) (p)->lpVtbl->GetNamesFromIDs(p,a,b,c,d,e)
983#define IMsgStore_GetIDsFromNames(p,a,b,c,d) (p)->lpVtbl->GetIDsFromNames(p,a,b,c,d)
985#define IMsgStore_Advise(p,a,b,c,d,e) (p)->lpVtbl->Advise(p,a,b,c,d,e)
986#define IMsgStore_Unadvise(p,a) (p)->lpVtbl->Unadvise(p,a)
987#define IMsgStore_CompareEntryIDs(p,a,b,c,d,e,f) (p)->lpVtbl->CompareEntryIDs(p,a,b,c,d,e,f)
988#define IMsgStore_OpenEntry(p,a,b,c,d,e,f) (p)->lpVtbl->OpenEntry(p,a,b,c,d,e,f)
989#define IMsgStore_SetReceiveFolder(p,a,b,c,d) (p)->lpVtbl->SetReceiveFolder(p,a,b,c,d)
990#define IMsgStore_GetReceiveFolder(p,a,b,c,d,e) (p)->lpVtbl->GetReceiveFolder(p,a,b,c,d,e)
991#define IMsgStore_GetReceiveFolderTable(p,a,b) (p)->lpVtbl->GetReceiveFolderTable(p,a,b)
992#define IMsgStore_StoreLogoff(p,a) (p)->lpVtbl->StoreLogoff(p,a)
993#define IMsgStore_AbortSubmit(p,a,b,c) (p)->lpVtbl->AbortSubmit(p,a,b,c)
994#define IMsgStore_GetOutgoingQueue(p,a,b) (p)->lpVtbl->GetOutgoingQueue(p,a,b)
995#define IMsgStore_SetLockState(p,a,b) (p)->lpVtbl->SetLockState(p,a,b)
996#define IMsgStore_FinishedMsg(p,a,b,c) (p)->lpVtbl->FinishedMsg(p,a,b,c)
997#define IMsgStore_NotifyNewMail(p,a) (p)->lpVtbl->NotifyNewMail(p,a)
1006#define INTERFACE IMAPIContainer
1040#if !defined(__cplusplus) || defined(CINTERFACE)
1042#define IMAPIContainer_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1043#define IMAPIContainer_AddRef(p) (p)->lpVtbl->AddRef(p)
1044#define IMAPIContainer_Release(p) (p)->lpVtbl->Release(p)
1046#define IMAPIContainer_GetLastError(p,a,b,c) (p)->lpVtbl->GetLastError(p,a,b,c)
1047#define IMAPIContainer_SaveChanges(p,a) (p)->lpVtbl->SaveChanges(p,a)
1048#define IMAPIContainer_GetProps(p,a,b,c,d) (p)->lpVtbl->GetProps(p,a,b,c,d)
1049#define IMAPIContainer_GetPropList(p,a,b) (p)->lpVtbl->GetPropList(p,a,b)
1050#define IMAPIContainer_OpenProperty(p,a,b,c,d,e) (p)->lpVtbl->OpenProperty(p,a,b,c,d,e)
1051#define IMAPIContainer_SetProps(p,a,b,c) (p)->lpVtbl->SetProps(p,a,b,c)
1052#define IMAPIContainer_DeleteProps(p,a,b) (p)->lpVtbl->DeleteProps(p,a,b)
1053#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)
1054#define IMAPIContainer_CopyProps(p,a,b,c,d,e,f,g) (p)->lpVtbl->CopyProps(p,a,b,c,d,e,f,g)
1055#define IMAPIContainer_GetNamesFromIDs(p,a,b,c,d,e) (p)->lpVtbl->GetNamesFromIDs(p,a,b,c,d,e)
1056#define IMAPIContainer_GetIDsFromNames(p,a,b,c,d) (p)->lpVtbl->GetIDsFromNames(p,a,b,c,d)
1058#define IMAPIContainer_GetContentsTable(p,a,b) (p)->lpVtbl->GetContentsTable(p,a,b)
1059#define IMAPIContainer_GetHierarchyTable(p,a,b) (p)->lpVtbl->GetHierarchyTable(p,a,b)
1060#define IMAPIContainer_OpenEntry(p,a,b,c,d,e,f) (p)->lpVtbl->OpenEntry(p,a,b,c,d,e,f)
1061#define IMAPIContainer_SetSearchCriteria(p,a,b,c) (p)->lpVtbl->SetSearchCriteria(p,a,b,c)
1062#define IMAPIContainer_GetSearchCriteria(p,a,b,c,d) (p)->lpVtbl->GetSearchCriteria(p,a,b,c,d)
1069#define INTERFACE IMAPIFolder
1120#if !defined(__cplusplus) || defined(CINTERFACE)
1122#define IMAPIFolder_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1123#define IMAPIFolder_AddRef(p) (p)->lpVtbl->AddRef(p)
1124#define IMAPIFolder_Release(p) (p)->lpVtbl->Release(p)
1126#define IMAPIFolder_GetLastError(p,a,b,c) (p)->lpVtbl->GetLastError(p,a,b,c)
1127#define IMAPIFolder_SaveChanges(p,a) (p)->lpVtbl->SaveChanges(p,a)
1128#define IMAPIFolder_GetProps(p,a,b,c,d) (p)->lpVtbl->GetProps(p,a,b,c,d)
1129#define IMAPIFolder_GetPropList(p,a,b) (p)->lpVtbl->GetPropList(p,a,b)
1130#define IMAPIFolder_OpenProperty(p,a,b,c,d,e) (p)->lpVtbl->OpenProperty(p,a,b,c,d,e)
1131#define IMAPIFolder_SetProps(p,a,b,c) (p)->lpVtbl->SetProps(p,a,b,c)
1132#define IMAPIFolder_DeleteProps(p,a,b) (p)->lpVtbl->DeleteProps(p,a,b)
1133#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)
1134#define IMAPIFolder_CopyProps(p,a,b,c,d,e,f,g) (p)->lpVtbl->CopyProps(p,a,b,c,d,e,f,g)
1135#define IMAPIFolder_GetNamesFromIDs(p,a,b,c,d,e) (p)->lpVtbl->GetNamesFromIDs(p,a,b,c,d,e)
1136#define IMAPIFolder_GetIDsFromNames(p,a,b,c,d) (p)->lpVtbl->GetIDsFromNames(p,a,b,c,d)
1138#define IMAPIFolder_GetContentsTable(p,a,b) (p)->lpVtbl->GetContentsTable(p,a,b)
1139#define IMAPIFolder_GetHierarchyTable(p,a,b) (p)->lpVtbl->GetHierarchyTable(p,a,b)
1140#define IMAPIFolder_OpenEntry(p,a,b,c,d,e,f) (p)->lpVtbl->OpenEntry(p,a,b,c,d,e,f)
1141#define IMAPIFolder_SetSearchCriteria(p,a,b,c) (p)->lpVtbl->SetSearchCriteria(p,a,b,c)
1142#define IMAPIFolder_GetSearchCriteria(p,a,b,c,d) (p)->lpVtbl->GetSearchCriteria(p,a,b,c,d)
1144#define IMAPIFolder_CreateMessage(p,a,b,c) (p)->lpVtbl->CreateMessage(p,a,b,c)
1145#define IMAPIFolder_CopyMessages(p,a,b,c,d,e,f) (p)->lpVtbl->CopyMessages(p,a,b,c,d,e,f)
1146#define IMAPIFolder_DeleteMessages(p,a,b,c,d) (p)->lpVtbl->DeleteMessages(p,a,b,c,d)
1147#define IMAPIFolder_CreateFolder(p,a,b,c,d,e,f) (p)->lpVtbl->CreateFolder(p,a,b,c,d,e,f)
1148#define IMAPIFolder_CopyFolder(p,a,b,c,d,e,f,g,h) (p)->lpVtbl->CopyFolder(p,a,b,c,d,e,f,g,h)
1149#define IMAPIFolder_DeleteFolder(p,a,b,c,d,e) (p)->lpVtbl->CreateFolder(p,a,b,c,d,e)
1150#define IMAPIFolder_SetReadFlags(p,a,b,c,d) (p)->lpVtbl->SetReadFlags(p,a,b,c,d)
1151#define IMAPIFolder_GetMessageStatus(p,a,b,c,d) (p)->lpVtbl->GetMessageStatus(p,a,b,c,d)
1152#define IMAPIFolder_SetMessageStatus(p,a,b,c,d,e) (p)->lpVtbl->SetMessageStatus(p,a,b,c,d,e)
1153#define IMAPIFolder_SaveContentsSort(p,a,b) (p)->lpVtbl->SaveContentsSort(p,a,b)
1154#define IMAPIFolder_EmptyFolder(p,a,b,c) (p)->lpVtbl->EmptyFolder(p,a,b,c)
1200#define INTERFACE IMessage
1235#if !defined(__cplusplus) || defined(CINTERFACE)
1237#define IMessage_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1238#define IMessage_AddRef(p) (p)->lpVtbl->AddRef(p)
1239#define IMessage_Release(p) (p)->lpVtbl->Release(p)
1241#define IMessage_GetLastError(p,a,b,c) (p)->lpVtbl->GetLastError(p,a,b,c)
1242#define IMessage_SaveChanges(p,a) (p)->lpVtbl->SaveChanges(p,a)
1243#define IMessage_GetProps(p,a,b,c,d) (p)->lpVtbl->GetProps(p,a,b,c,d)
1244#define IMessage_GetPropList(p,a,b) (p)->lpVtbl->GetPropList(p,a,b)
1245#define IMessage_OpenProperty(p,a,b,c,d,e) (p)->lpVtbl->OpenProperty(p,a,b,c,d,e)
1246#define IMessage_SetProps(p,a,b,c) (p)->lpVtbl->SetProps(p,a,b,c)
1247#define IMessage_DeleteProps(p,a,b) (p)->lpVtbl->DeleteProps(p,a,b)
1248#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)
1249#define IMessage_CopyProps(p,a,b,c,d,e,f,g) (p)->lpVtbl->CopyProps(p,a,b,c,d,e,f,g)
1250#define IMessage_GetNamesFromIDs(p,a,b,c,d,e) (p)->lpVtbl->GetNamesFromIDs(p,a,b,c,d,e)
1251#define IMessage_GetIDsFromNames(p,a,b,c,d) (p)->lpVtbl->GetIDsFromNames(p,a,b,c,d)
1253#define IMessage_GetAttachmentTable(p,a,b) (p)->lpVtbl->GetAttachmentTable(p,a,b)
1254#define IMessage_OpenAttach(p,a,b,c,d) (p)->lpVtbl->OpenAttach(p,a,b,c,d)
1255#define IMessage_CreateAttach(p,a,b,c,d) (p)->lpVtbl->CreateAttach(p,a,b,c,d)
1256#define IMessage_DeleteAttach(p,a,b,c,d) (p)->lpVtbl->DeleteAttach(p,a,b,c,d)
1257#define IMessage_GetRecipientTable(p,a,b) (p)->lpVtbl->GetRecipientTable(p,a,b)
1258#define IMessage_ModifyRecipients(p,a,b) (p)->lpVtbl->ModifyRecipients(p,a,b)
1259#define IMessage_SubmitMessage(p,a) (p)->lpVtbl->SubmitMessage(p,a)
1260#define IMessage_SetReadFlag(p,a) (p)->lpVtbl->SetReadFlag(p,a)
1266#define MSGFLAG_READ 0x00000001U
1267#define MSGFLAG_UNMODIFIED 0x00000002U
1268#define MSGFLAG_SUBMIT 0x00000004U
1269#define MSGFLAG_UNSENT 0x00000008U
1270#define MSGFLAG_HASATTACH 0x00000010U
1271#define MSGFLAG_FROMME 0x00000020U
1276#define INTERFACE IAttach
1302#if !defined(__cplusplus) || defined(CINTERFACE)
1304#define IAttach_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1305#define IAttach_AddRef(p) (p)->lpVtbl->AddRef(p)
1306#define IAttach_Release(p) (p)->lpVtbl->Release(p)
1308#define IAttach_GetLastError(p,a,b,c) (p)->lpVtbl->GetLastError(p,a,b,c)
1309#define IAttach_SaveChanges(p,a) (p)->lpVtbl->SaveChanges(p,a)
1310#define IAttach_GetProps(p,a,b,c,d) (p)->lpVtbl->GetProps(p,a,b,c,d)
1311#define IAttach_GetPropList(p,a,b) (p)->lpVtbl->GetPropList(p,a,b)
1312#define IAttach_OpenProperty(p,a,b,c,d,e) (p)->lpVtbl->OpenProperty(p,a,b,c,d,e)
1313#define IAttach_SetProps(p,a,b,c) (p)->lpVtbl->SetProps(p,a,b,c)
1314#define IAttach_DeleteProps(p,a,b) (p)->lpVtbl->DeleteProps(p,a,b)
1315#define IAttach_CopyTo(p,a,b,c,d,e,f,g,h,i) (p)->lpVtbl->CopyTo(p,a,b,c,d,e,f,g,h,i)
1316#define IAttach_CopyProps(p,a,b,c,d,e,f,g) (p)->lpVtbl->CopyProps(p,a,b,c,d,e,f,g)
1317#define IAttach_GetNamesFromIDs(p,a,b,c,d,e) (p)->lpVtbl->GetNamesFromIDs(p,a,b,c,d,e)
1318#define IAttach_GetIDsFromNames(p,a,b,c,d) (p)->lpVtbl->GetIDsFromNames(p,a,b,c,d)
1323#define NO_ATTACHMENT 0x00000000U
1324#define ATTACH_BY_VALUE 0x00000001U
#define GetStatus(BaseIoAddress, Status)
static LRESULT OnNotify(HWND hWnd, LPARAM lParam)
BOOL DeleteFolder(LPTSTR Directory)
#define DECLARE_INTERFACE_(i, b)
static void CopyTo(const S &Src, D &Dst)
struct _SPropTagArray SPropTagArray
struct _SAppTimeArray SAppTimeArray
struct _NEWMAIL_NOTIFICATION NEWMAIL_NOTIFICATION
ALLOCATEMORE * LPALLOCATEMORE
struct _ADRENTRY * LPADRENTRY
struct _SPropertyRestriction SPropertyRestriction
struct IABContainer IABContainer
struct _SComparePropsRestriction SComparePropsRestriction
struct FLATMTSIDLIST * LPFLATMTSIDLIST
struct IAttach * LPATTACH
struct _SPropTagArray * LPSPropTagArray
struct _SBinaryArray SBinaryArray
struct _SBitMaskRestriction SBitMaskRestriction
struct _SSubRestriction SSubRestriction
SBinaryArray * LPENTRYLIST
struct _SContentRestriction SContentRestriction
struct _ADRENTRY ADRENTRY
struct IMAPIAdviseSink * LPMAPIADVISESINK
struct _SSizeRestriction SSizeRestriction
struct _SPropProblem * LPSPropProblem
struct _SShortArray SShortArray
struct _SDoubleArray SDoubleArray
struct _SPropValue SPropValue
struct _SSortOrder SSortOrder
struct _SSortOrderSet SSortOrderSet
IMAPIProgress * LPMAPIPROGRESS
struct _SPropProblem SPropProblem
struct _SRealArray SRealArray
struct IDistList IDistList
struct _NOTIFICATION * LPNOTIFICATION
struct _SPropProblemArray SPropProblemArray
struct _SRestriction * LPSRestriction
struct IMAPIProgress IMAPIProgress
LPVOID *typedef LPVOID *typedef ULONG(WINAPI FREEBUFFER)(LPVOID)
struct IProfSect IProfSect
struct _SGuidArray SGuidArray
struct _SBinary * LPSBinary
struct _SCurrencyArray SCurrencyArray
struct IMAPIContainer * LPMAPICONTAINER
struct _SWStringArray SWStringArray
LPVOID *typedef SCODE(WINAPI ALLOCATEMORE)(ULONG
struct _SNotRestriction SNotRestriction
struct _SLargeIntegerArray SLargeIntegerArray
struct IMAPIStatus IMAPIStatus
struct IMailUser IMailUser
IProviderAdmin * LPPROVIDERADMIN
struct _TABLE_NOTIFICATION TABLE_NOTIFICATION
struct _ERROR_NOTIFICATION ERROR_NOTIFICATION
struct _SAndRestriction SAndRestriction
struct _FILETIME * PFILETIME
struct IMessage * LPMESSAGE
struct _NOTIFICATION NOTIFICATION
struct _SExistRestriction SExistRestriction
struct _FILETIME FILETIME
struct _SPropValue * LPSPropValue
IMAPIStatus * LPMAPISTATUS
struct IMAPIFolder * LPMAPIFOLDER
struct _MAPINAMEID MAPINAMEID
struct _SPropProblemArray * LPSPropProblemArray
struct _FILETIME * LPFILETIME
struct _SSortOrderSet * LPSSortOrderSet
FREEBUFFER * LPFREEBUFFER
struct _SDateTimeArray SDateTimeArray
struct _ADRLIST * LPADRLIST
struct _SOrRestriction SOrRestriction
struct _MAPIERROR MAPIERROR
struct _ENTRYID * LPENTRYID
struct _SRestriction SRestriction
struct _SLongArray SLongArray
struct IProviderAdmin IProviderAdmin
struct _SSortOrder * LPSSortOrder
struct _MAPIERROR * LPMAPIERROR
struct _OBJECT_NOTIFICATION OBJECT_NOTIFICATION
struct IAddrBook IAddrBook
struct _SCommentRestriction SCommentRestriction
struct _SRowSet * LPSRowSet
struct FLATENTRYLIST * LPFLATENTRYLIST
struct _SLPSTRArray SLPSTRArray
struct _MAPIUID * LPMAPIUID
struct FLATENTRY * LPFLATENTRY
NOTIFCALLBACK * LPNOTIFCALLBACK
struct _MAPINAMEID * LPMAPINAMEID
struct _EXTENDED_NOTIFICATION EXTENDED_NOTIFICATION
ALLOCATEBUFFER * LPALLOCATEBUFFER
UCHAR ab[sizeof("Hello World!") -1]
static HRESULT QueryInterface(REFIID, void **)
static ULONG WINAPI AddRef(IStream *iface)
ADRENTRY aEntries[MAPI_DIM]
union _MAPINAMEID::@3035 Kind
NEWMAIL_NOTIFICATION newmail
STATUS_OBJECT_NOTIFICATION statobj
EXTENDED_NOTIFICATION ext
union _NOTIFICATION::@3036 info
LPSPropTagArray lpPropTagArray
SPropProblem aProblem[MAPI_DIM]
ULONG aulPropTag[MAPI_DIM]
union _SRestriction::@3034 res
SComparePropsRestriction resCompareProps
SContentRestriction resContent
SBitMaskRestriction resBitMask
SPropertyRestriction resProperty
SExistRestriction resExist
SCommentRestriction resComment
SSortOrder aSort[MAPI_DIM]
struct tagCY::@363 DUMMYSTRUCTNAME
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING _Out_opt_ PUSHORT _Inout_opt_ PUNICODE_STRING Value
DWORD WINAPI GetLastError(void)
_In_ void _In_ PCCERT_CONTEXT _In_opt_ LPFILETIME _In_ DWORD _In_ DWORD _Outptr_opt_ void ** ppvObject