1/**
2 * This file has no copyright assigned and is placed in the Public Domain.
3 * This file is part of the mingw-w64 runtime package.
4 * No warranty is given; refer to the file DISCLAIMER.PD within this package.
5 */
6#ifndef _INC_VALIDATE
7#define _INC_VALIDATE
8
9#ifdef __cplusplus
10extern "C" {
11#endif
12
13#include <mapiutil.h>
14#include <stddef.h>
15#include <stdarg.h>
16
17#define MAKE_ENUM(Method,Interface) Interface##_##Method
18
19  typedef enum _tagMethods {
20    MAKE_ENUM(QueryInterface,IUnknown) = 0,MAKE_ENUM(AddRef,IUnknown),MAKE_ENUM(Release,IUnknown),MAKE_ENUM(GetLastError,IMAPIProp),
21    MAKE_ENUM(SaveChanges,IMAPIProp),MAKE_ENUM(GetProps,IMAPIProp),MAKE_ENUM(GetPropList,IMAPIProp),MAKE_ENUM(OpenProperty,IMAPIProp),
22    MAKE_ENUM(SetProps,IMAPIProp),MAKE_ENUM(DeleteProps,IMAPIProp),MAKE_ENUM(CopyTo,IMAPIProp),MAKE_ENUM(CopyProps,IMAPIProp),
23    MAKE_ENUM(GetNamesFromIDs,IMAPIProp),MAKE_ENUM(GetIDsFromNames,IMAPIProp),MAKE_ENUM(GetLastError,IMAPITable),MAKE_ENUM(Advise,IMAPITable),
24    MAKE_ENUM(Unadvise,IMAPITable),MAKE_ENUM(GetStatus,IMAPITable),MAKE_ENUM(SetColumns,IMAPITable),MAKE_ENUM(QueryColumns,IMAPITable),
25    MAKE_ENUM(GetRowCount,IMAPITable),MAKE_ENUM(SeekRow,IMAPITable),MAKE_ENUM(SeekRowApprox,IMAPITable),MAKE_ENUM(QueryPosition,IMAPITable),
26    MAKE_ENUM(FindRow,IMAPITable),MAKE_ENUM(Restrict,IMAPITable),MAKE_ENUM(CreateBookmark,IMAPITable),MAKE_ENUM(FreeBookmark,IMAPITable),
27    MAKE_ENUM(SortTable,IMAPITable),MAKE_ENUM(QuerySortOrder,IMAPITable),MAKE_ENUM(QueryRows,IMAPITable),MAKE_ENUM(Abort,IMAPITable),
28    MAKE_ENUM(ExpandRow,IMAPITable),MAKE_ENUM(CollapseRow,IMAPITable),MAKE_ENUM(WaitForCompletion,IMAPITable),MAKE_ENUM(GetCollapseState,IMAPITable),
29    MAKE_ENUM(SetCollapseState,IMAPITable),MAKE_ENUM(GetContentsTable,IMAPIContainer),MAKE_ENUM(GetHierarchyTable,IMAPIContainer),
30    MAKE_ENUM(OpenEntry,IMAPIContainer),MAKE_ENUM(SetSearchCriteria,IMAPIContainer),MAKE_ENUM(GetSearchCriteria,IMAPIContainer),
31    MAKE_ENUM(CreateEntry,IABContainer),MAKE_ENUM(CopyEntries,IABContainer),MAKE_ENUM(DeleteEntries,IABContainer),MAKE_ENUM(ResolveNames,IABContainer),
32    MAKE_ENUM(CreateEntry,IDistList),MAKE_ENUM(CopyEntries,IDistList),MAKE_ENUM(DeleteEntries,IDistList),MAKE_ENUM(ResolveNames,IDistList),
33    MAKE_ENUM(CreateMessage,IMAPIFolder),MAKE_ENUM(CopyMessages,IMAPIFolder),MAKE_ENUM(DeleteMessages,IMAPIFolder),MAKE_ENUM(CreateFolder,IMAPIFolder),
34    MAKE_ENUM(CopyFolder,IMAPIFolder),MAKE_ENUM(DeleteFolder,IMAPIFolder),MAKE_ENUM(SetReadFlags,IMAPIFolder),MAKE_ENUM(GetMessageStatus,IMAPIFolder),
35    MAKE_ENUM(SetMessageStatus,IMAPIFolder),MAKE_ENUM(SaveContentsSort,IMAPIFolder),MAKE_ENUM(EmptyFolder,IMAPIFolder),MAKE_ENUM(Advise,IMsgStore),
36    MAKE_ENUM(Unadvise,IMsgStore),MAKE_ENUM(CompareEntryIDs,IMsgStore),MAKE_ENUM(OpenEntry,IMsgStore),MAKE_ENUM(SetReceiveFolder,IMsgStore),
37    MAKE_ENUM(GetReceiveFolder,IMsgStore),MAKE_ENUM(GetReceiveFolderTable,IMsgStore),MAKE_ENUM(StoreLogoff,IMsgStore),MAKE_ENUM(AbortSubmit,IMsgStore),
38    MAKE_ENUM(GetOutgoingQueue,IMsgStore),MAKE_ENUM(SetLockState,IMsgStore),MAKE_ENUM(FinishedMsg,IMsgStore),MAKE_ENUM(NotifyNewMail,IMsgStore),
39    MAKE_ENUM(GetAttachmentTable,IMessage),MAKE_ENUM(OpenAttach,IMessage),MAKE_ENUM(CreateAttach,IMessage),MAKE_ENUM(DeleteAttach,IMessage),
40    MAKE_ENUM(GetRecipientTable,IMessage),MAKE_ENUM(ModifyRecipients,IMessage),MAKE_ENUM(SubmitMessage,IMessage),MAKE_ENUM(SetReadFlag,IMessage),
41    MAKE_ENUM(Shutdown,IABProvider),MAKE_ENUM(Logon,IABProvider),MAKE_ENUM(GetLastError,IABLogon),MAKE_ENUM(Logoff,IABLogon),
42    MAKE_ENUM(OpenEntry,IABLogon),MAKE_ENUM(CompareEntryIDs,IABLogon),MAKE_ENUM(Advise,IABLogon),MAKE_ENUM(Unadvise,IABLogon),
43    MAKE_ENUM(OpenStatusEntry,IABLogon),MAKE_ENUM(OpenTemplateID,IABLogon),MAKE_ENUM(GetOneOffTable,IABLogon),MAKE_ENUM(PrepareRecips,IABLogon),
44    MAKE_ENUM(Shutdown,IXPProvider),MAKE_ENUM(TransportLogon,IXPProvider),MAKE_ENUM(AddressTypes,IXPLogon),MAKE_ENUM(RegisterOptions,IXPLogon),
45    MAKE_ENUM(TransportNotify,IXPLogon),MAKE_ENUM(Idle,IXPLogon),MAKE_ENUM(TransportLogoff,IXPLogon),MAKE_ENUM(SubmitMessage,IXPLogon),
46    MAKE_ENUM(EndMessage,IXPLogon),MAKE_ENUM(Poll,IXPLogon),MAKE_ENUM(StartMessage,IXPLogon),MAKE_ENUM(OpenStatusEntry,IXPLogon),
47    MAKE_ENUM(ValidateState,IXPLogon),MAKE_ENUM(FlushQueues,IXPLogon),MAKE_ENUM(Shutdown,IMSProvider),MAKE_ENUM(Logon,IMSProvider),
48    MAKE_ENUM(SpoolerLogon,IMSProvider),MAKE_ENUM(CompareStoreIDs,IMSProvider),MAKE_ENUM(GetLastError,IMSLogon),MAKE_ENUM(Logoff,IMSLogon),
49    MAKE_ENUM(OpenEntry,IMSLogon),MAKE_ENUM(CompareEntryIDs,IMSLogon),MAKE_ENUM(Advise,IMSLogon),MAKE_ENUM(Unadvise,IMSLogon),
50    MAKE_ENUM(OpenStatusEntry,IMSLogon),MAKE_ENUM(GetLastError,IMAPIControl),MAKE_ENUM(Activate,IMAPIControl),MAKE_ENUM(GetState,IMAPIControl),
51    MAKE_ENUM(ValidateState,IMAPIStatus),MAKE_ENUM(SettingsDialog,IMAPIStatus),MAKE_ENUM(ChangePassword,IMAPIStatus),MAKE_ENUM(FlushQueues,IMAPIStatus),
52    MAKE_ENUM(Read,IStream),MAKE_ENUM(Write,IStream),MAKE_ENUM(Seek,IStream),MAKE_ENUM(SetSize,IStream),MAKE_ENUM(CopyTo,IStream),
53    MAKE_ENUM(Commit,IStream),MAKE_ENUM(Revert,IStream),MAKE_ENUM(LockRegion,IStream),MAKE_ENUM(UnlockRegion,IStream),MAKE_ENUM(Stat,IStream),
54    MAKE_ENUM(Clone,IStream),MAKE_ENUM(OnNotify,IMAPIAdviseSink)
55  } METHODS;
56#if defined(_X86_)
57#ifdef __cplusplus
58#define ValidateParameters(eMethod,First) { HRESULT _hr_; _hr_ = __CPPValidateParameters(eMethod,(LPVOID) &First); if (HR_FAILED(_hr_)) return (_hr_); }
59#define UlValidateParameters(eMethod,First) { HRESULT _hr_; _hr_ = __CPPValidateParameters(eMethod,&First); if (HR_FAILED(_hr_)) return (ULONG) (_hr_); }
60#define CheckParameters(eMethod,First) AssertSz(HR_SUCCEEDED(__CPPValidateParameters(eMethod,&First)),"Parameter validation failed for method called by MAPI!")
61#else
62#define ValidateParameters(eMethod,ppThis) { HRESULT _hr_; _hr_ = __ValidateParameters(eMethod,ppThis); if (HR_FAILED(_hr_)) return (_hr_); }
63#define UlValidateParameters(eMethod,ppThis) { HRESULT _hr_; _hr_ = __ValidateParameters(eMethod,ppThis); if (HR_FAILED(_hr_)) return (ULONG) (_hr_); }
64#define CheckParameters(eMethod,ppThis) AssertSz(HR_SUCCEEDED(__ValidateParameters(eMethod,ppThis)),"Parameter validation failed for method called by MAPI!")
65#endif
66#endif
67
68#define FBadPropVal(lpPropVal) (FAILED(ScCountProps(1,lpPropVal,NULL)))
69#define FBadRgPropVal(lpPropVal,cValues) (FAILED(ScCountProps(cValues,lpPropVal,NULL)))
70#define FBadAdrList(lpAdrList) (AssertSz((offsetof(ADRLIST,cEntries)==offsetof(SRowSet,cRows)) && (offsetof(ADRLIST,aEntries)==offsetof(SRowSet,aRow)) && (offsetof(ADRENTRY,cValues)==offsetof(SRow,cValues)) && (offsetof(ADRENTRY,rgPropVals)==offsetof(SRow,lpProps)) ,"ADRLIST doesn't match SRowSet") || FBadRowSet((LPSRowSet) lpAdrList))
71
72  STDAPI_(WINBOOL) FBadRglpszW(LPWSTR *lppszW,ULONG cStrings);
73  STDAPI_(WINBOOL) FBadRowSet(LPSRowSet lpRowSet);
74  STDAPI_(WINBOOL) FBadRglpNameID(LPMAPINAMEID *lppNameId,ULONG cNames);
75  STDAPI_(WINBOOL) FBadEntryList(LPENTRYLIST lpEntryList);
76
77#define BAD_STANDARD_OBJ(lpObj,prefix,method,lpVtbl) (IsBadWritePtr((lpObj),sizeof(*lpObj)) || IsBadReadPtr((void *) &(lpObj->lpVtbl->method),sizeof(LPVOID)) ||((LPVOID) (lpObj->lpVtbl->method)!=(LPVOID) (prefix##method)))
78#define FBadUnknown(lpObj) (IsBadReadPtr((lpObj),sizeof(LPVOID)) || IsBadReadPtr((lpObj)->lpVtbl,3 *sizeof(LPUNKNOWN)) || IsBadCodePtr((FARPROC)(lpObj)->lpVtbl->QueryInterface))
79#define FBadQueryInterface(lpObj,riid,ppvObj) (IsBadReadPtr(riid,sizeof(IID)) || IsBadWritePtr(ppvObj,sizeof(LPVOID)))
80#define FBadAddRef(lpObj) FALSE
81#define FBadRelease(lpObj) FALSE
82#define FBadGetLastError(lpObj,hResult,ulFlags,lppMAPIError) (IsBadWritePtr(lppMAPIError,sizeof(LPMAPIERROR)))
83#define FBadSaveChanges(lpObj,ulFlags) FALSE
84#define FBadGetProps(lpObj,lpPTagA,lpcValues,lppPropArray) ((lpPTagA && (IsBadReadPtr(lpPTagA,sizeof(ULONG)) || IsBadReadPtr(lpPTagA,(UINT)((lpPTagA->cValues + 1) *sizeof(ULONG))))) || IsBadWritePtr(lpcValues,sizeof(ULONG)) || IsBadWritePtr(lppPropArray,sizeof(LPSPropValue)))
85#define FBadGetPropList(lpObj,lppPTagA) (IsBadWritePtr(lppPTagA,sizeof(LPSPropTagArray *)))
86#define FBadOpenProperty(lpObj,ulPropTag,lpiid,ulInterfaceOptions,ulFlags ,lppUnk) (IsBadReadPtr(lpiid,sizeof(IID)) || IsBadWritePtr(lppUnk,sizeof (LPUNKNOWN *)))
87#define FBadSetProps(lpObj,cValues,lpPropArray,lppProblems) (FBadRgPropVal(lpPropArray,(UINT) cValues) || (lppProblems && IsBadWritePtr(lppProblems,sizeof(LPSPropProblemArray))))
88#define FBadDeleteProps(lpObj,lpPTagA,lppProblems) ((!lpPTagA || (IsBadReadPtr(lpPTagA,sizeof(ULONG)) || IsBadReadPtr(lpPTagA,(UINT)((lpPTagA->cValues + 1) *sizeof(ULONG))))) || (lppProblems && IsBadWritePtr(lppProblems,sizeof(LPSPropProblemArray))))
89#define FBadCopyTo(lpIPDAT,ciidExclude,rgiidExclude,lpExcludeProps ,ulUIParam,lpProgress,lpInterface,lpDestObj ,ulFlags,lppProblems) ((ciidExclude && (IsBadReadPtr(rgiidExclude,(UINT)(ciidExclude *sizeof(IID))))) || (lpExcludeProps && (IsBadReadPtr(lpExcludeProps,sizeof(ULONG)) || IsBadReadPtr(lpExcludeProps ,(UINT)((lpExcludeProps->cValues + 1) *sizeof(ULONG))))) || (lpProgress && FBadUnknown(lpProgress)) || (lpInterface && IsBadReadPtr(lpInterface,sizeof(IID))) || IsBadReadPtr(lpDestObj,sizeof(LPVOID)) || (lppProblems && IsBadWritePtr(lppProblems,sizeof(LPSPropProblemArray))))
90#define FBadCopyProps(lpIPDAT,lpPropTagArray ,ulUIParam,lpProgress,lpInterface,lpDestObj ,ulFlags,lppProblems) ((lpPropTagArray && (IsBadReadPtr(lpPropTagArray,sizeof(ULONG)) || IsBadReadPtr(lpPropTagArray ,(UINT)((lpPropTagArray->cValues + 1) *sizeof(ULONG))))) || (lpProgress && FBadUnknown(lpProgress)) || (lpInterface && IsBadReadPtr(lpInterface,sizeof(IID))) || IsBadReadPtr(lpDestObj,sizeof(LPVOID)) || (lppProblems && IsBadWritePtr(lppProblems,sizeof(LPSPropProblemArray))))
91#define FBadGetNamesFromIDs(lpIPDAT,lppPropTags,lpPropSetGuid,ulFlags,lpcPropNames,lpppPropNames) (IsBadReadPtr(lppPropTags,sizeof(LPSPropTagArray)) || (lpPropSetGuid && IsBadReadPtr(lpPropSetGuid,sizeof(GUID))) || (*lppPropTags && (IsBadReadPtr(*lppPropTags,sizeof(ULONG)) || IsBadReadPtr(*lppPropTags ,(UINT)(((*lppPropTags)->cValues + 1) *sizeof(ULONG))))) || IsBadWritePtr(lpcPropNames,sizeof (ULONG)) || IsBadWritePtr(lpppPropNames,sizeof (LPVOID *)))
92#define FBadGetIDsFromNames(lpIPDAT,cPropNames,lppPropNames,ulFlags ,lppPropTags) ((cPropNames && FBadRglpNameID(lppPropNames,cPropNames)) || IsBadWritePtr(lppPropTags,sizeof(LPULONG *)))
93
94  STDAPI_(ULONG) FBadRestriction(LPSRestriction lpres);
95  STDAPI_(ULONG) FBadPropTag(ULONG ulPropTag);
96  STDAPI_(ULONG) FBadRow(LPSRow lprow);
97  STDAPI_(ULONG) FBadProp(LPSPropValue lpprop);
98  STDAPI_(ULONG) FBadSortOrderSet(LPSSortOrderSet lpsos);
99  STDAPI_(ULONG) FBadColumnSet(LPSPropTagArray lpptaCols);
100
101#define BASED_STACK
102
103  HRESULT WINAPI __CPPValidateParameters(METHODS eMethod,const LPVOID ppFirst);
104  HRESULT WINAPI __ValidateParameters(METHODS eMethod,LPVOID ppThis);
105
106#if defined(_X86_)
107#define ArgSize(T) ((sizeof(T)+3)/4)
108#define MakeArg1(idx,a1) memcpy(__rgArgs+idx,&a1,ArgSize(a1)*4)
109#define MakeArg2(idx,a1,a2) MakeArg1(idx,a1); MakeArg1(idx+ArgSize(a1),a2)
110#define MakeArg3(idx,a1,a2,a3) MakeArg1(idx,a1); MakeArg2(idx+ArgSize(a1),a2,a3)
111#define MakeArg4(idx,a1,a2,a3,a4) MakeArg1(idx,a1); MakeArg3(idx+ArgSize(a1),a2,a3,a4)
112#define MakeArg5(idx,a1,a2,a3,a4,a5) MakeArg1(idx,a1); MakeArg4(idx+ArgSize(a1),a2,a3,a4,a5)
113#define MakeArg6(idx,a1,a2,a3,a4,a5,a6) MakeArg1(idx,a1); MakeArg5(idx+ArgSize(a1),a2,a3,a4,a5,a6)
114#define MakeArg7(idx,a1,a2,a3,a4,a5,a6,a7) MakeArg1(idx,a1); MakeArg6(idx+ArgSize(a1),a2,a3,a4,a5,a6,a7)
115#define MakeArg8(idx,a1,a2,a3,a4,a5,a6,a7,a8) MakeArg1(idx,a1); MakeArg7(idx+ArgSize(a1),a2,a3,a4,a5,a6,a7,a8)
116#define MakeArg9(idx,a1,a2,a3,a4,a5,a6,a7,a8,a9) MakeArg1(idx,a1); MakeArg8(idx+ArgSize(a1),a2,a3,a4,a5,a6,a7,a8,a9)
117#define MakeArg10(idx,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10) MakeArg1(idx,a1); MakeArg9(idx+ArgSize(a1),a2,a3,a4,a5,a6,a7,a8,a9,a10)
118#define MakeArg11(idx,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11) MakeArg1(idx,a1); MakeArg10(idx+ArgSize(a1),a2,a3,a4,a5,a6,a7,a8,a9,a10,a11)
119#define MakeArg12(idx,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12) MakeArg1(idx,a1); MakeArg11(idx+ArgSize(a1),a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12)
120#define MakeArg13(idx,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13) MakeArg1(idx,a1); MakeArg12(idx+ArgSize(a1),a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13)
121#define MakeArg14(idx,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14) MakeArg1(idx,a1); MakeArg13(idx+ArgSize(a1),a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14)
122#define MakeArg15(idx,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15) MakeArg1(idx,a1); MakeArg14(idx+ArgSize(a1),a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15)
123#define MakeArg16(idx,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16) MakeArg1(idx,a1); MakeArg15(idx+ArgSize(a1),a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16)
124
125#define MakeArray1(a1) DWORD __rgArgs[ArgSize(a1)]; MakeArg1(0,a1)
126#define MakeArray2(a1,a2) DWORD __rgArgs[ArgSize(a1) + ArgSize(a2)]; MakeArg2(0,a1,a2)
127#define MakeArray3(a1,a2,a3) DWORD __rgArgs[ArgSize(a1) + ArgSize(a2) + ArgSize(a3)]; MakeArg3(0,a1,a2,a3)
128#define MakeArray4(a1,a2,a3,a4) DWORD __rgArgs[ArgSize(a1) + ArgSize(a2) + ArgSize(a3) + ArgSize(a4)]; MakeArg4(0,a1,a2,a3,a4)
129#define MakeArray5(a1,a2,a3,a4,a5) DWORD __rgArgs[ArgSize(a1) + ArgSize(a2) + ArgSize(a3) + ArgSize(a4) + ArgSize(a5)]; MakeArg5(0,a1,a2,a3,a4,a5)
130#define MakeArray6(a1,a2,a3,a4,a5,a6) DWORD __rgArgs[ArgSize(a1) + ArgSize(a2) + ArgSize(a3) + ArgSize(a4) + ArgSize(a5) + ArgSize(a6)]; MakeArg6(0,a1,a2,a3,a4,a5,a6)
131#define MakeArray7(a1,a2,a3,a4,a5,a6,a7) DWORD __rgArgs[ArgSize(a1) + ArgSize(a2) + ArgSize(a3) + ArgSize(a4) + ArgSize(a5) + ArgSize(a6) + ArgSize(a7)]; MakeArg7(0,a1,a2,a3,a4,a5,a6,a7)
132#define MakeArray8(a1,a2,a3,a4,a5,a6,a7,a8) DWORD __rgArgs[ArgSize(a1) + ArgSize(a2) + ArgSize(a3) + ArgSize(a4) + ArgSize(a5) + ArgSize(a6) + ArgSize(a7) + ArgSize(a8)]; MakeArg8(0,a1,a2,a3,a4,a5,a6,a7,a8)
133#define MakeArray9(a1,a2,a3,a4,a5,a6,a7,a8,a9) DWORD __rgArgs[ArgSize(a1) + ArgSize(a2) + ArgSize(a3) + ArgSize(a4) + ArgSize(a5) + ArgSize(a6) + ArgSize(a7) + ArgSize(a8) + ArgSize(a9)]; MakeArg9(0,a1,a2,a3,a4,a5,a6,a7,a8,a9)
134#define MakeArray10(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10) DWORD __rgArgs[ArgSize(a1) + ArgSize(a2) + ArgSize(a3) + ArgSize(a4) + ArgSize(a5) + ArgSize(a6) + ArgSize(a7) + ArgSize(a8) + ArgSize(a9) + ArgSize(a10)]; MakeArg10(0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)
135#define MakeArray11(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11) DWORD __rgArgs[ArgSize(a1) + ArgSize(a2) + ArgSize(a3) + ArgSize(a4) + ArgSize(a5) + ArgSize(a6) + ArgSize(a7) + ArgSize(a8) + ArgSize(a9) + ArgSize(a10) + ArgSize(a11)]; MakeArg11(0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11)
136#define MakeArray12(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12) DWORD __rgArgs[ArgSize(a1) + ArgSize(a2) + ArgSize(a3) + ArgSize(a4) + ArgSize(a5) + ArgSize(a6) + ArgSize(a7) + ArgSize(a8) + ArgSize(a9) + ArgSize(a10) + ArgSize(a11) + ArgSize(a12)]; MakeArg12(0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12)
137#define MakeArray13(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13) DWORD __rgArgs[ArgSize(a1) + ArgSize(a2) + ArgSize(a3) + ArgSize(a4) + ArgSize(a5) + ArgSize(a6) + ArgSize(a7) + ArgSize(a8) + ArgSize(a9) + ArgSize(a10) + ArgSize(a11) + ArgSize(a12) + ArgSize(a13)]; MakeArg13(0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13)
138#define MakeArray14(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14) DWORD __rgArgs[ArgSize(a1) + ArgSize(a2) + ArgSize(a3) + ArgSize(a4) + ArgSize(a5) + ArgSize(a6) + ArgSize(a7) + ArgSize(a8) + ArgSize(a9) + ArgSize(a10) + ArgSize(a11) + ArgSize(a12) + ArgSize(a13) + ArgSize(a14)]; MakeArg14(0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14)
139#define MakeArray15(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15) DWORD __rgArgs[ArgSize(a1) + ArgSize(a2) + ArgSize(a3) + ArgSize(a4) + ArgSize(a5) + ArgSize(a6) + ArgSize(a7) + ArgSize(a8) + ArgSize(a9) + ArgSize(a10) + ArgSize(a11) + ArgSize(a12) + ArgSize(a13) + ArgSize(a14) + ArgSize(a15)]; MakeArg15(0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15)
140#define MakeArray16(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16) DWORD __rgArgs[ArgSize(a1) + ArgSize(a2) + ArgSize(a3) + ArgSize(a4) + ArgSize(a5) + ArgSize(a6) + ArgSize(a7) + ArgSize(a8) + ArgSize(a9) + ArgSize(a10) + ArgSize(a11) + ArgSize(a12) + ArgSize(a13) + ArgSize(a14) + ArgSize(a15) + ArgSize(a16)]; MakeArg16(0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16)
141
142#define ValidateParameters1(m,a1)
143#define ValidateParameters2(m,a1,a2) { HRESULT _hr_; MakeArray1(a2); _hr_ = HrValidateParameters(m,(void **)__rgArgs); if (HR_FAILED(_hr_)) return (_hr_); }
144#define ValidateParameters3(m,a1,a2,a3) { HRESULT _hr_; MakeArray2(a2,a3); _hr_ = HrValidateParameters(m,(void **)__rgArgs); if (HR_FAILED(_hr_)) return (_hr_); }
145#define ValidateParameters4(m,a1,a2,a3,a4) { HRESULT _hr_; MakeArray3(a2,a3,a4); _hr_ = HrValidateParameters(m,(void **)__rgArgs); if (HR_FAILED(_hr_)) return (_hr_); }
146#define ValidateParameters5(m,a1,a2,a3,a4,a5) { HRESULT _hr_; MakeArray4(a2,a3,a4,a5); _hr_ = HrValidateParameters(m,(void **)__rgArgs); if (HR_FAILED(_hr_)) return (_hr_); }
147#define ValidateParameters6(m,a1,a2,a3,a4,a5,a6) { HRESULT _hr_; MakeArray5(a2,a3,a4,a5,a6); _hr_ = HrValidateParameters(m,(void **)__rgArgs); if (HR_FAILED(_hr_)) return (_hr_); }
148#define ValidateParameters7(m,a1,a2,a3,a4,a5,a6,a7) { HRESULT _hr_; MakeArray6(a2,a3,a4,a5,a6,a7); _hr_ = HrValidateParameters(m,(void **)__rgArgs); if (HR_FAILED(_hr_)) return (_hr_); }
149#define ValidateParameters8(m,a1,a2,a3,a4,a5,a6,a7,a8) { HRESULT _hr_; MakeArray7(a2,a3,a4,a5,a6,a7,a8); _hr_ = HrValidateParameters(m,(void **)__rgArgs); if (HR_FAILED(_hr_)) return (_hr_); }
150#define ValidateParameters9(m,a1,a2,a3,a4,a5,a6,a7,a8,a9) { HRESULT _hr_; MakeArray8(a2,a3,a4,a5,a6,a7,a8,a9); _hr_ = HrValidateParameters(m,(void **)__rgArgs); if (HR_FAILED(_hr_)) return (_hr_); }
151#define ValidateParameters10(m,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10) { HRESULT _hr_; MakeArray9(a2,a3,a4,a5,a6,a7,a8,a9,a10); _hr_ = HrValidateParameters(m,(void **)__rgArgs); if (HR_FAILED(_hr_)) return (_hr_); }
152#define ValidateParameters11(m,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11) { HRESULT _hr_; MakeArray10(a2,a3,a4,a5,a6,a7,a8,a9,a10,a11); _hr_ = HrValidateParameters(m,(void **)__rgArgs); if (HR_FAILED(_hr_)) return (_hr_); }
153#define ValidateParameters12(m,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12) { HRESULT _hr_; MakeArray11(a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12); _hr_ = HrValidateParameters(m,(void **)__rgArgs); if (HR_FAILED(_hr_)) return (_hr_); }
154#define ValidateParameters13(m,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13) { HRESULT _hr_; MakeArray12(a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13); _hr_ = HrValidateParameters(m,(void **)__rgArgs); if (HR_FAILED(_hr_)) return (_hr_); }
155#define ValidateParameters14(m,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14) { HRESULT _hr_; MakeArray13(a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14); _hr_ = HrValidateParameters(m,(void **)__rgArgs); if (HR_FAILED(_hr_)) return (_hr_); }
156#define ValidateParameters15(m,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15) { HRESULT _hr_; MakeArray14(a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15); _hr_ = HrValidateParameters(m,(void **)__rgArgs); if (HR_FAILED(_hr_)) return (_hr_); }
157#define ValidateParameters16(m,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16) { HRESULT _hr_; MakeArray15(a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16); _hr_ = HrValidateParameters(m,(void **)__rgArgs); if (HR_FAILED(_hr_)) return (_hr_); }
158
159#define UlValidateParameters1(m,a1)
160#define UlValidateParameters2(m,a1,a2) { HRESULT _hr_; MakeArray1(a2); _hr_ = HrValidateParameters(m,(void **)__rgArgs); if (HR_FAILED(_hr_)) return ((ULONG)_hr_); }
161#define UlValidateParameters3(m,a1,a2,a3) { HRESULT _hr_; MakeArray2(a2,a3); _hr_ = HrValidateParameters(m,(void **)__rgArgs); if (HR_FAILED(_hr_)) return ((ULONG)_hr_); }
162#define UlValidateParameters4(m,a1,a2,a3,a4) { HRESULT _hr_; MakeArray3(a2,a3,a4); _hr_ = HrValidateParameters(m,(void **)__rgArgs); if (HR_FAILED(_hr_)) return ((ULONG)_hr_); }
163#define UlValidateParameters5(m,a1,a2,a3,a4,a5) { HRESULT _hr_; MakeArray4(a2,a3,a4,a5); _hr_ = HrValidateParameters(m,(void **)__rgArgs); if (HR_FAILED(_hr_)) return ((ULONG)_hr_); }
164#define UlValidateParameters6(m,a1,a2,a3,a4,a5,a6) { HRESULT _hr_; MakeArray5(a2,a3,a4,a5,a6); _hr_ = HrValidateParameters(m,(void **)__rgArgs); if (HR_FAILED(_hr_)) return ((ULONG)_hr_); }
165#define UlValidateParameters7(m,a1,a2,a3,a4,a5,a6,a7) { HRESULT _hr_; MakeArray6(a2,a3,a4,a5,a6,a7); _hr_ = HrValidateParameters(m,(void **)__rgArgs); if (HR_FAILED(_hr_)) return ((ULONG)_hr_); }
166#define UlValidateParameters8(m,a1,a2,a3,a4,a5,a6,a7,a8) { HRESULT _hr_; MakeArray7(a2,a3,a4,a5,a6,a7,a8); _hr_ = HrValidateParameters(m,(void **)__rgArgs); if (HR_FAILED(_hr_)) return ((ULONG)_hr_); }
167#define UlValidateParameters9(m,a1,a2,a3,a4,a5,a6,a7,a8,a9) { HRESULT _hr_; MakeArray8(a2,a3,a4,a5,a6,a7,a8,a9); _hr_ = HrValidateParameters(m,(void **)__rgArgs); if (HR_FAILED(_hr_)) return ((ULONG)_hr_); }
168#define UlValidateParameters10(m,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10) { HRESULT _hr_; MakeArray9(a2,a3,a4,a5,a6,a7,a8,a9,a10); _hr_ = HrValidateParameters(m,(void **)__rgArgs); if (HR_FAILED(_hr_)) return ((ULONG)_hr_); }
169#define UlValidateParameters11(m,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11) { HRESULT _hr_; MakeArray10(a2,a3,a4,a5,a6,a7,a8,a9,a10,a11); _hr_ = HrValidateParameters(m,(void **)__rgArgs); if (HR_FAILED(_hr_)) return ((ULONG)_hr_); }
170#define UlValidateParameters12(m,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12) { HRESULT _hr_; MakeArray11(a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12); _hr_ = HrValidateParameters(m,(void **)__rgArgs); if (HR_FAILED(_hr_)) return ((ULONG)_hr_); }
171#define UlValidateParameters13(m,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13) { HRESULT _hr_; MakeArray12(a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13); _hr_ = HrValidateParameters(m,(void **)__rgArgs); if (HR_FAILED(_hr_)) return ((ULONG)_hr_); }
172#define UlValidateParameters14(m,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14) { HRESULT _hr_; MakeArray13(a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14); _hr_ = HrValidateParameters(m,(void **)__rgArgs); if (HR_FAILED(_hr_)) return ((ULONG)_hr_); }
173#define UlValidateParameters15(m,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15) { HRESULT _hr_; MakeArray14(a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15); _hr_ = HrValidateParameters(m,(void **)__rgArgs); if (HR_FAILED(_hr_)) return ((ULONG)_hr_); }
174#define UlValidateParameters16(m,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16) { HRESULT _hr_; MakeArray15(a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16); _hr_ = HrValidateParameters(m,(void **)__rgArgs); if (HR_FAILED(_hr_)) return ((ULONG)_hr_); }
175
176#define CheckParameters1(m,a1)
177#define CheckParameters2(m,a1,a2)
178#define CheckParameters3(m,a1,a2,a3)
179#define CheckParameters4(m,a1,a2,a3,a4)
180#define CheckParameters5(m,a1,a2,a3,a4,a5)
181#define CheckParameters6(m,a1,a2,a3,a4,a5,a6)
182#define CheckParameters7(m,a1,a2,a3,a4,a5,a6,a7)
183#define CheckParameters8(m,a1,a2,a3,a4,a5,a6,a7,a8)
184#define CheckParameters9(m,a1,a2,a3,a4,a5,a6,a7,a8,a9)
185#define CheckParameters10(m,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)
186#define CheckParameters11(m,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11)
187#define CheckParameters12(m,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12)
188#define CheckParameters13(m,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13)
189#define CheckParameters14(m,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14)
190#define CheckParameters15(m,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15)
191#define CheckParameters16(m,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16)
192
193#else
194#define ValidateParms(x) { HRESULT _hr_ = HrValidateParametersV x; if (HR_FAILED(_hr_)) return (_hr_); }
195#define UlValidateParms(x) { HRESULT _hr_ = HrValidateParametersV x; if (HR_FAILED(_hr_)) return (ULONG)(_hr_); }
196#define CheckParms(x) AssertSz(HR_SUCCEEDED(HrValidateParametersV x),"Parameter validation failed for method called by MAPI!")
197
198#define ValidateParameters1(m,a1) ValidateParms((m,a1))
199#define ValidateParameters2(m,a1,a2) ValidateParms((m,a1,a2))
200#define ValidateParameters3(m,a1,a2,a3) ValidateParms((m,a1,a2,a3))
201#define ValidateParameters4(m,a1,a2,a3,a4) ValidateParms((m,a1,a2,a3,a4))
202#define ValidateParameters5(m,a1,a2,a3,a4,a5) ValidateParms((m,a1,a2,a3,a4,a5))
203#define ValidateParameters6(m,a1,a2,a3,a4,a5,a6) ValidateParms((m,a1,a2,a3,a4,a5,a6))
204#define ValidateParameters7(m,a1,a2,a3,a4,a5,a6,a7) ValidateParms((m,a1,a2,a3,a4,a5,a6,a7))
205#define ValidateParameters8(m,a1,a2,a3,a4,a5,a6,a7,a8) ValidateParms((m,a1,a2,a3,a4,a5,a6,a7,a8))
206#define ValidateParameters9(m,a1,a2,a3,a4,a5,a6,a7,a8,a9) ValidateParms((m,a1,a2,a3,a4,a5,a6,a7,a8,a9))
207#define ValidateParameters10(m,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10) ValidateParms((m,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10))
208#define ValidateParameters11(m,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11) ValidateParms((m,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11))
209#define ValidateParameters12(m,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12) ValidateParms((m,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12))
210#define ValidateParameters13(m,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13) ValidateParms((m,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13))
211#define ValidateParameters14(m,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14) ValidateParms((m,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14))
212#define ValidateParameters15(m,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15) ValidateParms((m,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15))
213#define ValidateParameters16(m,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16) ValidateParms((m,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16))
214
215#define UlValidateParameters1(m,a1) UlValidateParms((m,a1))
216#define UlValidateParameters2(m,a1,a2) UlValidateParms((m,a1,a2))
217#define UlValidateParameters3(m,a1,a2,a3) UlValidateParms((m,a1,a2,a3))
218#define UlValidateParameters4(m,a1,a2,a3,a4) UlValidateParms((m,a1,a2,a3,a4))
219#define UlValidateParameters5(m,a1,a2,a3,a4,a5) UlValidateParms((m,a1,a2,a3,a4,a5))
220#define UlValidateParameters6(m,a1,a2,a3,a4,a5,a6) UlValidateParms((m,a1,a2,a3,a4,a5,a6))
221#define UlValidateParameters7(m,a1,a2,a3,a4,a5,a6,a7) UlValidateParms((m,a1,a2,a3,a4,a5,a6,a7))
222#define UlValidateParameters8(m,a1,a2,a3,a4,a5,a6,a7,a8) UlValidateParms((m,a1,a2,a3,a4,a5,a6,a7,a8))
223#define UlValidateParameters9(m,a1,a2,a3,a4,a5,a6,a7,a8,a9) UlValidateParms((m,a1,a2,a3,a4,a5,a6,a7,a8,a9))
224#define UlValidateParameters10(m,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10) UlValidateParms((m,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10))
225#define UlValidateParameters11(m,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11) UlValidateParms((m,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11))
226#define UlValidateParameters12(m,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12) UlValidateParms((m,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12))
227#define UlValidateParameters13(m,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13) UlValidateParms((m,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13))
228#define UlValidateParameters14(m,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14) UlValidateParms((m,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14))
229#define UlValidateParameters15(m,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15) UlValidateParms((m,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15))
230#define UlValidateParameters16(m,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16) UlValidateParms((m,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16))
231
232#define CheckParameters1(m,a1) CheckParms((m,a1))
233#define CheckParameters2(m,a1,a2) CheckParms((m,a1,a2))
234#define CheckParameters3(m,a1,a2,a3) CheckParms((m,a1,a2,a3))
235#define CheckParameters4(m,a1,a2,a3,a4) CheckParms((m,a1,a2,a3,a4))
236#define CheckParameters5(m,a1,a2,a3,a4,a5) CheckParms((m,a1,a2,a3,a4,a5))
237#define CheckParameters6(m,a1,a2,a3,a4,a5,a6) CheckParms((m,a1,a2,a3,a4,a5,a6))
238#define CheckParameters7(m,a1,a2,a3,a4,a5,a6,a7) CheckParms((m,a1,a2,a3,a4,a5,a6,a7))
239#define CheckParameters8(m,a1,a2,a3,a4,a5,a6,a7,a8) CheckParms((m,a1,a2,a3,a4,a5,a6,a7,a8))
240#define CheckParameters9(m,a1,a2,a3,a4,a5,a6,a7,a8,a9) CheckParms((m,a1,a2,a3,a4,a5,a6,a7,a8,a9))
241#define CheckParameters10(m,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10) CheckParms((m,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10))
242#define CheckParameters11(m,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11) CheckParms((m,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11))
243#define CheckParameters12(m,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12) CheckParms((m,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12))
244#define CheckParameters13(m,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13) CheckParms((m,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13))
245#define CheckParameters14(m,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14) CheckParms((m,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14))
246#define CheckParameters15(m,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15) CheckParms((m,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15))
247#define CheckParameters16(m,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16) CheckParms((m,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16))
248#endif
249
250#define Validate_IUnknown_QueryInterface(a1,a2,a3) ValidateParameters3(IUnknown_QueryInterface,a1,a2,a3)
251#define UlValidate_IUnknown_QueryInterface(a1,a2,a3) UlValidateParameters3(IUnknown_QueryInterface,a1,a2,a3)
252#define CheckParameters_IUnknown_QueryInterface(a1,a2,a3) CheckParameters3(IUnknown_QueryInterface,a1,a2,a3)
253
254#define Validate_IUnknown_AddRef(a1) ValidateParameters1(IUnknown_AddRef,a1)
255#define UlValidate_IUnknown_AddRef(a1) UlValidateParameters1(IUnknown_AddRef,a1)
256#define CheckParameters_IUnknown_AddRef(a1) CheckParameters1(IUnknown_AddRef,a1)
257
258#define Validate_IUnknown_Release(a1) ValidateParameters1(IUnknown_Release,a1)
259#define UlValidate_IUnknown_Release(a1) UlValidateParameters1(IUnknown_Release,a1)
260#define CheckParameters_IUnknown_Release(a1) CheckParameters1(IUnknown_Release,a1)
261
262#define Validate_IMAPIProp_GetLastError(a1,a2,a3,a4) ValidateParameters4(IMAPIProp_GetLastError,a1,a2,a3,a4)
263#define UlValidate_IMAPIProp_GetLastError(a1,a2,a3,a4) UlValidateParameters4(IMAPIProp_GetLastError,a1,a2,a3,a4)
264#define CheckParameters_IMAPIProp_GetLastError(a1,a2,a3,a4) CheckParameters4(IMAPIProp_GetLastError,a1,a2,a3,a4)
265
266#define Validate_IMAPIProp_SaveChanges(a1,a2) ValidateParameters2(IMAPIProp_SaveChanges,a1,a2)
267#define UlValidate_IMAPIProp_SaveChanges(a1,a2) UlValidateParameters2(IMAPIProp_SaveChanges,a1,a2)
268#define CheckParameters_IMAPIProp_SaveChanges(a1,a2) CheckParameters2(IMAPIProp_SaveChanges,a1,a2)
269
270#define Validate_IMAPIProp_GetProps(a1,a2,a3,a4,a5) ValidateParameters5(IMAPIProp_GetProps,a1,a2,a3,a4,a5)
271#define UlValidate_IMAPIProp_GetProps(a1,a2,a3,a4,a5) UlValidateParameters5(IMAPIProp_GetProps,a1,a2,a3,a4,a5)
272#define CheckParameters_IMAPIProp_GetProps(a1,a2,a3,a4,a5) CheckParameters5(IMAPIProp_GetProps,a1,a2,a3,a4,a5)
273
274#define Validate_IMAPIProp_GetPropList(a1,a2,a3) ValidateParameters3(IMAPIProp_GetPropList,a1,a2,a3)
275#define UlValidate_IMAPIProp_GetPropList(a1,a2,a3) UlValidateParameters3(IMAPIProp_GetPropList,a1,a2,a3)
276#define CheckParameters_IMAPIProp_GetPropList(a1,a2,a3) CheckParameters3(IMAPIProp_GetPropList,a1,a2,a3)
277
278#define Validate_IMAPIProp_OpenProperty(a1,a2,a3,a4,a5,a6) ValidateParameters6(IMAPIProp_OpenProperty,a1,a2,a3,a4,a5,a6)
279#define UlValidate_IMAPIProp_OpenProperty(a1,a2,a3,a4,a5,a6) UlValidateParameters6(IMAPIProp_OpenProperty,a1,a2,a3,a4,a5,a6)
280#define CheckParameters_IMAPIProp_OpenProperty(a1,a2,a3,a4,a5,a6) CheckParameters6(IMAPIProp_OpenProperty,a1,a2,a3,a4,a5,a6)
281
282#define Validate_IMAPIProp_SetProps(a1,a2,a3,a4) ValidateParameters4(IMAPIProp_SetProps,a1,a2,a3,a4)
283#define UlValidate_IMAPIProp_SetProps(a1,a2,a3,a4) UlValidateParameters4(IMAPIProp_SetProps,a1,a2,a3,a4)
284#define CheckParameters_IMAPIProp_SetProps(a1,a2,a3,a4) CheckParameters4(IMAPIProp_SetProps,a1,a2,a3,a4)
285
286#define Validate_IMAPIProp_DeleteProps(a1,a2,a3) ValidateParameters3(IMAPIProp_DeleteProps,a1,a2,a3)
287#define UlValidate_IMAPIProp_DeleteProps(a1,a2,a3) UlValidateParameters3(IMAPIProp_DeleteProps,a1,a2,a3)
288#define CheckParameters_IMAPIProp_DeleteProps(a1,a2,a3) CheckParameters3(IMAPIProp_DeleteProps,a1,a2,a3)
289
290#define Validate_IMAPIProp_CopyTo(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10) ValidateParameters10(IMAPIProp_CopyTo,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)
291#define UlValidate_IMAPIProp_CopyTo(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10) UlValidateParameters10(IMAPIProp_CopyTo,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)
292#define CheckParameters_IMAPIProp_CopyTo(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10) CheckParameters10(IMAPIProp_CopyTo,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)
293
294#define Validate_IMAPIProp_CopyProps(a1,a2,a3,a4,a5,a6,a7,a8) ValidateParameters8(IMAPIProp_CopyProps,a1,a2,a3,a4,a5,a6,a7,a8)
295#define UlValidate_IMAPIProp_CopyProps(a1,a2,a3,a4,a5,a6,a7,a8) UlValidateParameters8(IMAPIProp_CopyProps,a1,a2,a3,a4,a5,a6,a7,a8)
296#define CheckParameters_IMAPIProp_CopyProps(a1,a2,a3,a4,a5,a6,a7,a8) CheckParameters8(IMAPIProp_CopyProps,a1,a2,a3,a4,a5,a6,a7,a8)
297
298#define Validate_IMAPIProp_GetNamesFromIDs(a1,a2,a3,a4,a5,a6) ValidateParameters6(IMAPIProp_GetNamesFromIDs,a1,a2,a3,a4,a5,a6)
299#define UlValidate_IMAPIProp_GetNamesFromIDs(a1,a2,a3,a4,a5,a6) UlValidateParameters6(IMAPIProp_GetNamesFromIDs,a1,a2,a3,a4,a5,a6)
300#define CheckParameters_IMAPIProp_GetNamesFromIDs(a1,a2,a3,a4,a5,a6) CheckParameters6(IMAPIProp_GetNamesFromIDs,a1,a2,a3,a4,a5,a6)
301
302#define Validate_IMAPIProp_GetIDsFromNames(a1,a2,a3,a4,a5) ValidateParameters5(IMAPIProp_GetIDsFromNames,a1,a2,a3,a4,a5)
303#define UlValidate_IMAPIProp_GetIDsFromNames(a1,a2,a3,a4,a5) UlValidateParameters5(IMAPIProp_GetIDsFromNames,a1,a2,a3,a4,a5)
304#define CheckParameters_IMAPIProp_GetIDsFromNames(a1,a2,a3,a4,a5) CheckParameters5(IMAPIProp_GetIDsFromNames,a1,a2,a3,a4,a5)
305
306#define Validate_IMAPITable_GetLastError(a1,a2,a3,a4) ValidateParameters4(IMAPITable_GetLastError,a1,a2,a3,a4)
307#define UlValidate_IMAPITable_GetLastError(a1,a2,a3,a4) UlValidateParameters4(IMAPITable_GetLastError,a1,a2,a3,a4)
308#define CheckParameters_IMAPITable_GetLastError(a1,a2,a3,a4) CheckParameters4(IMAPITable_GetLastError,a1,a2,a3,a4)
309
310#define Validate_IMAPITable_Advise(a1,a2,a3,a4) ValidateParameters4(IMAPITable_Advise,a1,a2,a3,a4)
311#define UlValidate_IMAPITable_Advise(a1,a2,a3,a4) UlValidateParameters4(IMAPITable_Advise,a1,a2,a3,a4)
312#define CheckParameters_IMAPITable_Advise(a1,a2,a3,a4) CheckParameters4(IMAPITable_Advise,a1,a2,a3,a4)
313
314#define Validate_IMAPITable_Unadvise(a1,a2) ValidateParameters2(IMAPITable_Unadvise,a1,a2)
315#define UlValidate_IMAPITable_Unadvise(a1,a2) UlValidateParameters2(IMAPITable_Unadvise,a1,a2)
316#define CheckParameters_IMAPITable_Unadvise(a1,a2) CheckParameters2(IMAPITable_Unadvise,a1,a2)
317
318#define Validate_IMAPITable_GetStatus(a1,a2,a3) ValidateParameters3(IMAPITable_GetStatus,a1,a2,a3)
319#define UlValidate_IMAPITable_GetStatus(a1,a2,a3) UlValidateParameters3(IMAPITable_GetStatus,a1,a2,a3)
320#define CheckParameters_IMAPITable_GetStatus(a1,a2,a3) CheckParameters3(IMAPITable_GetStatus,a1,a2,a3)
321
322#define Validate_IMAPITable_SetColumns(a1,a2,a3) ValidateParameters3(IMAPITable_SetColumns,a1,a2,a3)
323#define UlValidate_IMAPITable_SetColumns(a1,a2,a3) UlValidateParameters3(IMAPITable_SetColumns,a1,a2,a3)
324#define CheckParameters_IMAPITable_SetColumns(a1,a2,a3) CheckParameters3(IMAPITable_SetColumns,a1,a2,a3)
325
326#define Validate_IMAPITable_QueryColumns(a1,a2,a3) ValidateParameters3(IMAPITable_QueryColumns,a1,a2,a3)
327#define UlValidate_IMAPITable_QueryColumns(a1,a2,a3) UlValidateParameters3(IMAPITable_QueryColumns,a1,a2,a3)
328#define CheckParameters_IMAPITable_QueryColumns(a1,a2,a3) CheckParameters3(IMAPITable_QueryColumns,a1,a2,a3)
329
330#define Validate_IMAPITable_GetRowCount(a1,a2,a3) ValidateParameters3(IMAPITable_GetRowCount,a1,a2,a3)
331#define UlValidate_IMAPITable_GetRowCount(a1,a2,a3) UlValidateParameters3(IMAPITable_GetRowCount,a1,a2,a3)
332#define CheckParameters_IMAPITable_GetRowCount(a1,a2,a3) CheckParameters3(IMAPITable_GetRowCount,a1,a2,a3)
333
334#define Validate_IMAPITable_SeekRow(a1,a2,a3,a4) ValidateParameters4(IMAPITable_SeekRow,a1,a2,a3,a4)
335#define UlValidate_IMAPITable_SeekRow(a1,a2,a3,a4) UlValidateParameters4(IMAPITable_SeekRow,a1,a2,a3,a4)
336#define CheckParameters_IMAPITable_SeekRow(a1,a2,a3,a4) CheckParameters4(IMAPITable_SeekRow,a1,a2,a3,a4)
337
338#define Validate_IMAPITable_SeekRowApprox(a1,a2,a3) ValidateParameters3(IMAPITable_SeekRowApprox,a1,a2,a3)
339#define UlValidate_IMAPITable_SeekRowApprox(a1,a2,a3) UlValidateParameters3(IMAPITable_SeekRowApprox,a1,a2,a3)
340#define CheckParameters_IMAPITable_SeekRowApprox(a1,a2,a3) CheckParameters3(IMAPITable_SeekRowApprox,a1,a2,a3)
341
342#define Validate_IMAPITable_QueryPosition(a1,a2,a3,a4) ValidateParameters4(IMAPITable_QueryPosition,a1,a2,a3,a4)
343#define UlValidate_IMAPITable_QueryPosition(a1,a2,a3,a4) UlValidateParameters4(IMAPITable_QueryPosition,a1,a2,a3,a4)
344#define CheckParameters_IMAPITable_QueryPosition(a1,a2,a3,a4) CheckParameters4(IMAPITable_QueryPosition,a1,a2,a3,a4)
345
346#define Validate_IMAPITable_FindRow(a1,a2,a3,a4) ValidateParameters4(IMAPITable_FindRow,a1,a2,a3,a4)
347#define UlValidate_IMAPITable_FindRow(a1,a2,a3,a4) UlValidateParameters4(IMAPITable_FindRow,a1,a2,a3,a4)
348#define CheckParameters_IMAPITable_FindRow(a1,a2,a3,a4) CheckParameters4(IMAPITable_FindRow,a1,a2,a3,a4)
349
350#define Validate_IMAPITable_Restrict(a1,a2,a3) ValidateParameters3(IMAPITable_Restrict,a1,a2,a3)
351#define UlValidate_IMAPITable_Restrict(a1,a2,a3) UlValidateParameters3(IMAPITable_Restrict,a1,a2,a3)
352#define CheckParameters_IMAPITable_Restrict(a1,a2,a3) CheckParameters3(IMAPITable_Restrict,a1,a2,a3)
353
354#define Validate_IMAPITable_CreateBookmark(a1,a2) ValidateParameters2(IMAPITable_CreateBookmark,a1,a2)
355#define UlValidate_IMAPITable_CreateBookmark(a1,a2) UlValidateParameters2(IMAPITable_CreateBookmark,a1,a2)
356#define CheckParameters_IMAPITable_CreateBookmark(a1,a2) CheckParameters2(IMAPITable_CreateBookmark,a1,a2)
357
358#define Validate_IMAPITable_FreeBookmark(a1,a2) ValidateParameters2(IMAPITable_FreeBookmark,a1,a2)
359#define UlValidate_IMAPITable_FreeBookmark(a1,a2) UlValidateParameters2(IMAPITable_FreeBookmark,a1,a2)
360#define CheckParameters_IMAPITable_FreeBookmark(a1,a2) CheckParameters2(IMAPITable_FreeBookmark,a1,a2)
361
362#define Validate_IMAPITable_SortTable(a1,a2,a3) ValidateParameters3(IMAPITable_SortTable,a1,a2,a3)
363#define UlValidate_IMAPITable_SortTable(a1,a2,a3) UlValidateParameters3(IMAPITable_SortTable,a1,a2,a3)
364#define CheckParameters_IMAPITable_SortTable(a1,a2,a3) CheckParameters3(IMAPITable_SortTable,a1,a2,a3)
365
366#define Validate_IMAPITable_QuerySortOrder(a1,a2) ValidateParameters2(IMAPITable_QuerySortOrder,a1,a2)
367#define UlValidate_IMAPITable_QuerySortOrder(a1,a2) UlValidateParameters2(IMAPITable_QuerySortOrder,a1,a2)
368#define CheckParameters_IMAPITable_QuerySortOrder(a1,a2) CheckParameters2(IMAPITable_QuerySortOrder,a1,a2)
369
370#define Validate_IMAPITable_QueryRows(a1,a2,a3,a4) ValidateParameters4(IMAPITable_QueryRows,a1,a2,a3,a4)
371#define UlValidate_IMAPITable_QueryRows(a1,a2,a3,a4) UlValidateParameters4(IMAPITable_QueryRows,a1,a2,a3,a4)
372#define CheckParameters_IMAPITable_QueryRows(a1,a2,a3,a4) CheckParameters4(IMAPITable_QueryRows,a1,a2,a3,a4)
373
374#define Validate_IMAPITable_Abort(a1) ValidateParameters1(IMAPITable_Abort,a1)
375#define UlValidate_IMAPITable_Abort(a1) UlValidateParameters1(IMAPITable_Abort,a1)
376#define CheckParameters_IMAPITable_Abort(a1) CheckParameters1(IMAPITable_Abort,a1)
377
378#define Validate_IMAPITable_ExpandRow(a1,a2,a3,a4,a5,a6,a7) ValidateParameters7(IMAPITable_ExpandRow,a1,a2,a3,a4,a5,a6,a7)
379#define UlValidate_IMAPITable_ExpandRow(a1,a2,a3,a4,a5,a6,a7) UlValidateParameters7(IMAPITable_ExpandRow,a1,a2,a3,a4,a5,a6,a7)
380#define CheckParameters_IMAPITable_ExpandRow(a1,a2,a3,a4,a5,a6,a7) CheckParameters7(IMAPITable_ExpandRow,a1,a2,a3,a4,a5,a6,a7)
381
382#define Validate_IMAPITable_CollapseRow(a1,a2,a3,a4,a5) ValidateParameters5(IMAPITable_CollapseRow,a1,a2,a3,a4,a5)
383#define UlValidate_IMAPITable_CollapseRow(a1,a2,a3,a4,a5) UlValidateParameters5(IMAPITable_CollapseRow,a1,a2,a3,a4,a5)
384#define CheckParameters_IMAPITable_CollapseRow(a1,a2,a3,a4,a5) CheckParameters5(IMAPITable_CollapseRow,a1,a2,a3,a4,a5)
385
386#define Validate_IMAPITable_WaitForCompletion(a1,a2,a3,a4) ValidateParameters4(IMAPITable_WaitForCompletion,a1,a2,a3,a4)
387#define UlValidate_IMAPITable_WaitForCompletion(a1,a2,a3,a4) UlValidateParameters4(IMAPITable_WaitForCompletion,a1,a2,a3,a4)
388#define CheckParameters_IMAPITable_WaitForCompletion(a1,a2,a3,a4) CheckParameters4(IMAPITable_WaitForCompletion,a1,a2,a3,a4)
389
390#define Validate_IMAPITable_GetCollapseState(a1,a2,a3,a4,a5,a6) ValidateParameters6(IMAPITable_GetCollapseState,a1,a2,a3,a4,a5,a6)
391#define UlValidate_IMAPITable_GetCollapseState(a1,a2,a3,a4,a5,a6) UlValidateParameters6(IMAPITable_GetCollapseState,a1,a2,a3,a4,a5,a6)
392#define CheckParameters_IMAPITable_GetCollapseState(a1,a2,a3,a4,a5,a6) CheckParameters6(IMAPITable_GetCollapseState,a1,a2,a3,a4,a5,a6)
393
394#define Validate_IMAPITable_SetCollapseState(a1,a2,a3,a4,a5) ValidateParameters5(IMAPITable_SetCollapseState,a1,a2,a3,a4,a5)
395#define UlValidate_IMAPITable_SetCollapseState(a1,a2,a3,a4,a5) UlValidateParameters5(IMAPITable_SetCollapseState,a1,a2,a3,a4,a5)
396#define CheckParameters_IMAPITable_SetCollapseState(a1,a2,a3,a4,a5) CheckParameters5(IMAPITable_SetCollapseState,a1,a2,a3,a4,a5)
397
398#define Validate_IMAPIContainer_GetContentsTable(a1,a2,a3) ValidateParameters3(IMAPIContainer_GetContentsTable,a1,a2,a3)
399#define UlValidate_IMAPIContainer_GetContentsTable(a1,a2,a3) UlValidateParameters3(IMAPIContainer_GetContentsTable,a1,a2,a3)
400#define CheckParameters_IMAPIContainer_GetContentsTable(a1,a2,a3) CheckParameters3(IMAPIContainer_GetContentsTable,a1,a2,a3)
401
402#define Validate_IMAPIContainer_GetHierarchyTable(a1,a2,a3) ValidateParameters3(IMAPIContainer_GetHierarchyTable,a1,a2,a3)
403#define UlValidate_IMAPIContainer_GetHierarchyTable(a1,a2,a3) UlValidateParameters3(IMAPIContainer_GetHierarchyTable,a1,a2,a3)
404#define CheckParameters_IMAPIContainer_GetHierarchyTable(a1,a2,a3) CheckParameters3(IMAPIContainer_GetHierarchyTable,a1,a2,a3)
405
406#define Validate_IMAPIContainer_OpenEntry(a1,a2,a3,a4,a5,a6,a7) ValidateParameters7(IMAPIContainer_OpenEntry,a1,a2,a3,a4,a5,a6,a7)
407#define UlValidate_IMAPIContainer_OpenEntry(a1,a2,a3,a4,a5,a6,a7) UlValidateParameters7(IMAPIContainer_OpenEntry,a1,a2,a3,a4,a5,a6,a7)
408#define CheckParameters_IMAPIContainer_OpenEntry(a1,a2,a3,a4,a5,a6,a7) CheckParameters7(IMAPIContainer_OpenEntry,a1,a2,a3,a4,a5,a6,a7)
409
410#define Validate_IMAPIContainer_SetSearchCriteria(a1,a2,a3,a4) ValidateParameters4(IMAPIContainer_SetSearchCriteria,a1,a2,a3,a4)
411#define UlValidate_IMAPIContainer_SetSearchCriteria(a1,a2,a3,a4) UlValidateParameters4(IMAPIContainer_SetSearchCriteria,a1,a2,a3,a4)
412#define CheckParameters_IMAPIContainer_SetSearchCriteria(a1,a2,a3,a4) CheckParameters4(IMAPIContainer_SetSearchCriteria,a1,a2,a3,a4)
413
414#define Validate_IMAPIContainer_GetSearchCriteria(a1,a2,a3,a4,a5) ValidateParameters5(IMAPIContainer_GetSearchCriteria,a1,a2,a3,a4,a5)
415#define UlValidate_IMAPIContainer_GetSearchCriteria(a1,a2,a3,a4,a5) UlValidateParameters5(IMAPIContainer_GetSearchCriteria,a1,a2,a3,a4,a5)
416#define CheckParameters_IMAPIContainer_GetSearchCriteria(a1,a2,a3,a4,a5) CheckParameters5(IMAPIContainer_GetSearchCriteria,a1,a2,a3,a4,a5)
417
418#define Validate_IABContainer_CreateEntry(a1,a2,a3,a4,a5) ValidateParameters5(IABContainer_CreateEntry,a1,a2,a3,a4,a5)
419#define UlValidate_IABContainer_CreateEntry(a1,a2,a3,a4,a5) UlValidateParameters5(IABContainer_CreateEntry,a1,a2,a3,a4,a5)
420#define CheckParameters_IABContainer_CreateEntry(a1,a2,a3,a4,a5) CheckParameters5(IABContainer_CreateEntry,a1,a2,a3,a4,a5)
421
422#define Validate_IABContainer_CopyEntries(a1,a2,a3,a4,a5) ValidateParameters5(IABContainer_CopyEntries,a1,a2,a3,a4,a5)
423#define UlValidate_IABContainer_CopyEntries(a1,a2,a3,a4,a5) UlValidateParameters5(IABContainer_CopyEntries,a1,a2,a3,a4,a5)
424#define CheckParameters_IABContainer_CopyEntries(a1,a2,a3,a4,a5) CheckParameters5(IABContainer_CopyEntries,a1,a2,a3,a4,a5)
425
426#define Validate_IABContainer_DeleteEntries(a1,a2,a3) ValidateParameters3(IABContainer_DeleteEntries,a1,a2,a3)
427#define UlValidate_IABContainer_DeleteEntries(a1,a2,a3) UlValidateParameters3(IABContainer_DeleteEntries,a1,a2,a3)
428#define CheckParameters_IABContainer_DeleteEntries(a1,a2,a3) CheckParameters3(IABContainer_DeleteEntries,a1,a2,a3)
429
430#define Validate_IABContainer_ResolveNames(a1,a2,a3,a4,a5) ValidateParameters5(IABContainer_ResolveNames,a1,a2,a3,a4,a5)
431#define UlValidate_IABContainer_ResolveNames(a1,a2,a3,a4,a5) UlValidateParameters5(IABContainer_ResolveNames,a1,a2,a3,a4,a5)
432#define CheckParameters_IABContainer_ResolveNames(a1,a2,a3,a4,a5) CheckParameters5(IABContainer_ResolveNames,a1,a2,a3,a4,a5)
433
434#define Validate_IDistList_CreateEntry(a1,a2,a3,a4,a5) ValidateParameters5(IDistList_CreateEntry,a1,a2,a3,a4,a5)
435#define UlValidate_IDistList_CreateEntry(a1,a2,a3,a4,a5) UlValidateParameters5(IDistList_CreateEntry,a1,a2,a3,a4,a5)
436#define CheckParameters_IDistList_CreateEntry(a1,a2,a3,a4,a5) CheckParameters5(IDistList_CreateEntry,a1,a2,a3,a4,a5)
437
438#define Validate_IDistList_CopyEntries(a1,a2,a3,a4,a5) ValidateParameters5(IDistList_CopyEntries,a1,a2,a3,a4,a5)
439#define UlValidate_IDistList_CopyEntries(a1,a2,a3,a4,a5) UlValidateParameters5(IDistList_CopyEntries,a1,a2,a3,a4,a5)
440#define CheckParameters_IDistList_CopyEntries(a1,a2,a3,a4,a5) CheckParameters5(IDistList_CopyEntries,a1,a2,a3,a4,a5)
441
442#define Validate_IDistList_DeleteEntries(a1,a2,a3) ValidateParameters3(IDistList_DeleteEntries,a1,a2,a3)
443#define UlValidate_IDistList_DeleteEntries(a1,a2,a3) UlValidateParameters3(IDistList_DeleteEntries,a1,a2,a3)
444#define CheckParameters_IDistList_DeleteEntries(a1,a2,a3) CheckParameters3(IDistList_DeleteEntries,a1,a2,a3)
445
446#define Validate_IDistList_ResolveNames(a1,a2,a3,a4,a5) ValidateParameters5(IDistList_ResolveNames,a1,a2,a3,a4,a5)
447#define UlValidate_IDistList_ResolveNames(a1,a2,a3,a4,a5) UlValidateParameters5(IDistList_ResolveNames,a1,a2,a3,a4,a5)
448#define CheckParameters_IDistList_ResolveNames(a1,a2,a3,a4,a5) CheckParameters5(IDistList_ResolveNames,a1,a2,a3,a4,a5)
449
450#define Validate_IMAPIFolder_CreateMessage(a1,a2,a3,a4) ValidateParameters4(IMAPIFolder_CreateMessage,a1,a2,a3,a4)
451#define UlValidate_IMAPIFolder_CreateMessage(a1,a2,a3,a4) UlValidateParameters4(IMAPIFolder_CreateMessage,a1,a2,a3,a4)
452#define CheckParameters_IMAPIFolder_CreateMessage(a1,a2,a3,a4) CheckParameters4(IMAPIFolder_CreateMessage,a1,a2,a3,a4)
453
454#define Validate_IMAPIFolder_CopyMessages(a1,a2,a3,a4,a5,a6,a7) ValidateParameters7(IMAPIFolder_CopyMessages,a1,a2,a3,a4,a5,a6,a7)
455#define UlValidate_IMAPIFolder_CopyMessages(a1,a2,a3,a4,a5,a6,a7) UlValidateParameters7(IMAPIFolder_CopyMessages,a1,a2,a3,a4,a5,a6,a7)
456#define CheckParameters_IMAPIFolder_CopyMessages(a1,a2,a3,a4,a5,a6,a7) CheckParameters7(IMAPIFolder_CopyMessages,a1,a2,a3,a4,a5,a6,a7)
457
458#define Validate_IMAPIFolder_DeleteMessages(a1,a2,a3,a4,a5) ValidateParameters5(IMAPIFolder_DeleteMessages,a1,a2,a3,a4,a5)
459#define UlValidate_IMAPIFolder_DeleteMessages(a1,a2,a3,a4,a5) UlValidateParameters5(IMAPIFolder_DeleteMessages,a1,a2,a3,a4,a5)
460#define CheckParameters_IMAPIFolder_DeleteMessages(a1,a2,a3,a4,a5) CheckParameters5(IMAPIFolder_DeleteMessages,a1,a2,a3,a4,a5)
461
462#define Validate_IMAPIFolder_CreateFolder(a1,a2,a3,a4,a5,a6,a7) ValidateParameters7(IMAPIFolder_CreateFolder,a1,a2,a3,a4,a5,a6,a7)
463#define UlValidate_IMAPIFolder_CreateFolder(a1,a2,a3,a4,a5,a6,a7) UlValidateParameters7(IMAPIFolder_CreateFolder,a1,a2,a3,a4,a5,a6,a7)
464#define CheckParameters_IMAPIFolder_CreateFolder(a1,a2,a3,a4,a5,a6,a7) CheckParameters7(IMAPIFolder_CreateFolder,a1,a2,a3,a4,a5,a6,a7)
465
466#define Validate_IMAPIFolder_CopyFolder(a1,a2,a3,a4,a5,a6,a7,a8,a9) ValidateParameters9(IMAPIFolder_CopyFolder,a1,a2,a3,a4,a5,a6,a7,a8,a9)
467#define UlValidate_IMAPIFolder_CopyFolder(a1,a2,a3,a4,a5,a6,a7,a8,a9) UlValidateParameters9(IMAPIFolder_CopyFolder,a1,a2,a3,a4,a5,a6,a7,a8,a9)
468#define CheckParameters_IMAPIFolder_CopyFolder(a1,a2,a3,a4,a5,a6,a7,a8,a9) CheckParameters9(IMAPIFolder_CopyFolder,a1,a2,a3,a4,a5,a6,a7,a8,a9)
469
470#define Validate_IMAPIFolder_DeleteFolder(a1,a2,a3,a4,a5,a6) ValidateParameters6(IMAPIFolder_DeleteFolder,a1,a2,a3,a4,a5,a6)
471#define UlValidate_IMAPIFolder_DeleteFolder(a1,a2,a3,a4,a5,a6) UlValidateParameters6(IMAPIFolder_DeleteFolder,a1,a2,a3,a4,a5,a6)
472#define CheckParameters_IMAPIFolder_DeleteFolder(a1,a2,a3,a4,a5,a6) CheckParameters6(IMAPIFolder_DeleteFolder,a1,a2,a3,a4,a5,a6)
473
474#define Validate_IMAPIFolder_SetReadFlags(a1,a2,a3,a4,a5) ValidateParameters5(IMAPIFolder_SetReadFlags,a1,a2,a3,a4,a5)
475#define UlValidate_IMAPIFolder_SetReadFlags(a1,a2,a3,a4,a5) UlValidateParameters5(IMAPIFolder_SetReadFlags,a1,a2,a3,a4,a5)
476#define CheckParameters_IMAPIFolder_SetReadFlags(a1,a2,a3,a4,a5) CheckParameters5(IMAPIFolder_SetReadFlags,a1,a2,a3,a4,a5)
477
478#define Validate_IMAPIFolder_GetMessageStatus(a1,a2,a3,a4,a5) ValidateParameters5(IMAPIFolder_GetMessageStatus,a1,a2,a3,a4,a5)
479#define UlValidate_IMAPIFolder_GetMessageStatus(a1,a2,a3,a4,a5) UlValidateParameters5(IMAPIFolder_GetMessageStatus,a1,a2,a3,a4,a5)
480#define CheckParameters_IMAPIFolder_GetMessageStatus(a1,a2,a3,a4,a5) CheckParameters5(IMAPIFolder_GetMessageStatus,a1,a2,a3,a4,a5)
481
482#define Validate_IMAPIFolder_SetMessageStatus(a1,a2,a3,a4,a5,a6) ValidateParameters6(IMAPIFolder_SetMessageStatus,a1,a2,a3,a4,a5,a6)
483#define UlValidate_IMAPIFolder_SetMessageStatus(a1,a2,a3,a4,a5,a6) UlValidateParameters6(IMAPIFolder_SetMessageStatus,a1,a2,a3,a4,a5,a6)
484#define CheckParameters_IMAPIFolder_SetMessageStatus(a1,a2,a3,a4,a5,a6) CheckParameters6(IMAPIFolder_SetMessageStatus,a1,a2,a3,a4,a5,a6)
485
486#define Validate_IMAPIFolder_SaveContentsSort(a1,a2,a3) ValidateParameters3(IMAPIFolder_SaveContentsSort,a1,a2,a3)
487#define UlValidate_IMAPIFolder_SaveContentsSort(a1,a2,a3) UlValidateParameters3(IMAPIFolder_SaveContentsSort,a1,a2,a3)
488#define CheckParameters_IMAPIFolder_SaveContentsSort(a1,a2,a3) CheckParameters3(IMAPIFolder_SaveContentsSort,a1,a2,a3)
489
490#define Validate_IMAPIFolder_EmptyFolder(a1,a2,a3,a4) ValidateParameters4(IMAPIFolder_EmptyFolder,a1,a2,a3,a4)
491#define UlValidate_IMAPIFolder_EmptyFolder(a1,a2,a3,a4) UlValidateParameters4(IMAPIFolder_EmptyFolder,a1,a2,a3,a4)
492#define CheckParameters_IMAPIFolder_EmptyFolder(a1,a2,a3,a4) CheckParameters4(IMAPIFolder_EmptyFolder,a1,a2,a3,a4)
493
494#define Validate_IMsgStore_Advise(a1,a2,a3,a4,a5,a6) ValidateParameters6(IMsgStore_Advise,a1,a2,a3,a4,a5,a6)
495#define UlValidate_IMsgStore_Advise(a1,a2,a3,a4,a5,a6) UlValidateParameters6(IMsgStore_Advise,a1,a2,a3,a4,a5,a6)
496#define CheckParameters_IMsgStore_Advise(a1,a2,a3,a4,a5,a6) CheckParameters6(IMsgStore_Advise,a1,a2,a3,a4,a5,a6)
497
498#define Validate_IMsgStore_Unadvise(a1,a2) ValidateParameters2(IMsgStore_Unadvise,a1,a2)
499#define UlValidate_IMsgStore_Unadvise(a1,a2) UlValidateParameters2(IMsgStore_Unadvise,a1,a2)
500#define CheckParameters_IMsgStore_Unadvise(a1,a2) CheckParameters2(IMsgStore_Unadvise,a1,a2)
501
502#define Validate_IMsgStore_CompareEntryIDs(a1,a2,a3,a4,a5,a6,a7) ValidateParameters7(IMsgStore_CompareEntryIDs,a1,a2,a3,a4,a5,a6,a7)
503#define UlValidate_IMsgStore_CompareEntryIDs(a1,a2,a3,a4,a5,a6,a7) UlValidateParameters7(IMsgStore_CompareEntryIDs,a1,a2,a3,a4,a5,a6,a7)
504#define CheckParameters_IMsgStore_CompareEntryIDs(a1,a2,a3,a4,a5,a6,a7) CheckParameters7(IMsgStore_CompareEntryIDs,a1,a2,a3,a4,a5,a6,a7)
505
506#define Validate_IMsgStore_OpenEntry(a1,a2,a3,a4,a5,a6,a7) ValidateParameters7(IMsgStore_OpenEntry,a1,a2,a3,a4,a5,a6,a7)
507#define UlValidate_IMsgStore_OpenEntry(a1,a2,a3,a4,a5,a6,a7) UlValidateParameters7(IMsgStore_OpenEntry,a1,a2,a3,a4,a5,a6,a7)
508#define CheckParameters_IMsgStore_OpenEntry(a1,a2,a3,a4,a5,a6,a7) CheckParameters7(IMsgStore_OpenEntry,a1,a2,a3,a4,a5,a6,a7)
509
510#define Validate_IMsgStore_SetReceiveFolder(a1,a2,a3,a4,a5) ValidateParameters5(IMsgStore_SetReceiveFolder,a1,a2,a3,a4,a5)
511#define UlValidate_IMsgStore_SetReceiveFolder(a1,a2,a3,a4,a5) UlValidateParameters5(IMsgStore_SetReceiveFolder,a1,a2,a3,a4,a5)
512#define CheckParameters_IMsgStore_SetReceiveFolder(a1,a2,a3,a4,a5) CheckParameters5(IMsgStore_SetReceiveFolder,a1,a2,a3,a4,a5)
513
514#define Validate_IMsgStore_GetReceiveFolder(a1,a2,a3,a4,a5,a6) ValidateParameters6(IMsgStore_GetReceiveFolder,a1,a2,a3,a4,a5,a6)
515#define UlValidate_IMsgStore_GetReceiveFolder(a1,a2,a3,a4,a5,a6) UlValidateParameters6(IMsgStore_GetReceiveFolder,a1,a2,a3,a4,a5,a6)
516#define CheckParameters_IMsgStore_GetReceiveFolder(a1,a2,a3,a4,a5,a6) CheckParameters6(IMsgStore_GetReceiveFolder,a1,a2,a3,a4,a5,a6)
517
518#define Validate_IMsgStore_GetReceiveFolderTable(a1,a2,a3) ValidateParameters3(IMsgStore_GetReceiveFolderTable,a1,a2,a3)
519#define UlValidate_IMsgStore_GetReceiveFolderTable(a1,a2,a3) UlValidateParameters3(IMsgStore_GetReceiveFolderTable,a1,a2,a3)
520#define CheckParameters_IMsgStore_GetReceiveFolderTable(a1,a2,a3) CheckParameters3(IMsgStore_GetReceiveFolderTable,a1,a2,a3)
521
522#define Validate_IMsgStore_StoreLogoff(a1,a2) ValidateParameters2(IMsgStore_StoreLogoff,a1,a2)
523#define UlValidate_IMsgStore_StoreLogoff(a1,a2) UlValidateParameters2(IMsgStore_StoreLogoff,a1,a2)
524#define CheckParameters_IMsgStore_StoreLogoff(a1,a2) CheckParameters2(IMsgStore_StoreLogoff,a1,a2)
525
526#define Validate_IMsgStore_AbortSubmit(a1,a2,a3,a4) ValidateParameters4(IMsgStore_AbortSubmit,a1,a2,a3,a4)
527#define UlValidate_IMsgStore_AbortSubmit(a1,a2,a3,a4) UlValidateParameters4(IMsgStore_AbortSubmit,a1,a2,a3,a4)
528#define CheckParameters_IMsgStore_AbortSubmit(a1,a2,a3,a4) CheckParameters4(IMsgStore_AbortSubmit,a1,a2,a3,a4)
529
530#define Validate_IMsgStore_GetOutgoingQueue(a1,a2,a3) ValidateParameters3(IMsgStore_GetOutgoingQueue,a1,a2,a3)
531#define UlValidate_IMsgStore_GetOutgoingQueue(a1,a2,a3) UlValidateParameters3(IMsgStore_GetOutgoingQueue,a1,a2,a3)
532#define CheckParameters_IMsgStore_GetOutgoingQueue(a1,a2,a3) CheckParameters3(IMsgStore_GetOutgoingQueue,a1,a2,a3)
533
534#define Validate_IMsgStore_SetLockState(a1,a2,a3) ValidateParameters3(IMsgStore_SetLockState,a1,a2,a3)
535#define UlValidate_IMsgStore_SetLockState(a1,a2,a3) UlValidateParameters3(IMsgStore_SetLockState,a1,a2,a3)
536#define CheckParameters_IMsgStore_SetLockState(a1,a2,a3) CheckParameters3(IMsgStore_SetLockState,a1,a2,a3)
537
538#define Validate_IMsgStore_FinishedMsg(a1,a2,a3,a4) ValidateParameters4(IMsgStore_FinishedMsg,a1,a2,a3,a4)
539#define UlValidate_IMsgStore_FinishedMsg(a1,a2,a3,a4) UlValidateParameters4(IMsgStore_FinishedMsg,a1,a2,a3,a4)
540#define CheckParameters_IMsgStore_FinishedMsg(a1,a2,a3,a4) CheckParameters4(IMsgStore_FinishedMsg,a1,a2,a3,a4)
541
542#define Validate_IMsgStore_NotifyNewMail(a1,a2) ValidateParameters2(IMsgStore_NotifyNewMail,a1,a2)
543#define UlValidate_IMsgStore_NotifyNewMail(a1,a2) UlValidateParameters2(IMsgStore_NotifyNewMail,a1,a2)
544#define CheckParameters_IMsgStore_NotifyNewMail(a1,a2) CheckParameters2(IMsgStore_NotifyNewMail,a1,a2)
545
546#define Validate_IMessage_GetAttachmentTable(a1,a2,a3) ValidateParameters3(IMessage_GetAttachmentTable,a1,a2,a3)
547#define UlValidate_IMessage_GetAttachmentTable(a1,a2,a3) UlValidateParameters3(IMessage_GetAttachmentTable,a1,a2,a3)
548#define CheckParameters_IMessage_GetAttachmentTable(a1,a2,a3) CheckParameters3(IMessage_GetAttachmentTable,a1,a2,a3)
549
550#define Validate_IMessage_OpenAttach(a1,a2,a3,a4,a5) ValidateParameters5(IMessage_OpenAttach,a1,a2,a3,a4,a5)
551#define UlValidate_IMessage_OpenAttach(a1,a2,a3,a4,a5) UlValidateParameters5(IMessage_OpenAttach,a1,a2,a3,a4,a5)
552#define CheckParameters_IMessage_OpenAttach(a1,a2,a3,a4,a5) CheckParameters5(IMessage_OpenAttach,a1,a2,a3,a4,a5)
553
554#define Validate_IMessage_CreateAttach(a1,a2,a3,a4,a5) ValidateParameters5(IMessage_CreateAttach,a1,a2,a3,a4,a5)
555#define UlValidate_IMessage_CreateAttach(a1,a2,a3,a4,a5) UlValidateParameters5(IMessage_CreateAttach,a1,a2,a3,a4,a5)
556#define CheckParameters_IMessage_CreateAttach(a1,a2,a3,a4,a5) CheckParameters5(IMessage_CreateAttach,a1,a2,a3,a4,a5)
557
558#define Validate_IMessage_DeleteAttach(a1,a2,a3,a4,a5) ValidateParameters5(IMessage_DeleteAttach,a1,a2,a3,a4,a5)
559#define UlValidate_IMessage_DeleteAttach(a1,a2,a3,a4,a5) UlValidateParameters5(IMessage_DeleteAttach,a1,a2,a3,a4,a5)
560#define CheckParameters_IMessage_DeleteAttach(a1,a2,a3,a4,a5) CheckParameters5(IMessage_DeleteAttach,a1,a2,a3,a4,a5)
561
562#define Validate_IMessage_GetRecipientTable(a1,a2,a3) ValidateParameters3(IMessage_GetRecipientTable,a1,a2,a3)
563#define UlValidate_IMessage_GetRecipientTable(a1,a2,a3) UlValidateParameters3(IMessage_GetRecipientTable,a1,a2,a3)
564#define CheckParameters_IMessage_GetRecipientTable(a1,a2,a3) CheckParameters3(IMessage_GetRecipientTable,a1,a2,a3)
565
566#define Validate_IMessage_ModifyRecipients(a1,a2,a3) ValidateParameters3(IMessage_ModifyRecipients,a1,a2,a3)
567#define UlValidate_IMessage_ModifyRecipients(a1,a2,a3) UlValidateParameters3(IMessage_ModifyRecipients,a1,a2,a3)
568#define CheckParameters_IMessage_ModifyRecipients(a1,a2,a3) CheckParameters3(IMessage_ModifyRecipients,a1,a2,a3)
569
570#define Validate_IMessage_SubmitMessage(a1,a2) ValidateParameters2(IMessage_SubmitMessage,a1,a2)
571#define UlValidate_IMessage_SubmitMessage(a1,a2) UlValidateParameters2(IMessage_SubmitMessage,a1,a2)
572#define CheckParameters_IMessage_SubmitMessage(a1,a2) CheckParameters2(IMessage_SubmitMessage,a1,a2)
573
574#define Validate_IMessage_SetReadFlag(a1,a2) ValidateParameters2(IMessage_SetReadFlag,a1,a2)
575#define UlValidate_IMessage_SetReadFlag(a1,a2) UlValidateParameters2(IMessage_SetReadFlag,a1,a2)
576#define CheckParameters_IMessage_SetReadFlag(a1,a2) CheckParameters2(IMessage_SetReadFlag,a1,a2)
577
578#define Validate_IABProvider_Shutdown(a1,a2) ValidateParameters2(IABProvider_Shutdown,a1,a2)
579#define UlValidate_IABProvider_Shutdown(a1,a2) UlValidateParameters2(IABProvider_Shutdown,a1,a2)
580#define CheckParameters_IABProvider_Shutdown(a1,a2) CheckParameters2(IABProvider_Shutdown,a1,a2)
581
582#define Validate_IABProvider_Logon(a1,a2,a3,a4,a5,a6,a7,a8,a9) ValidateParameters9(IABProvider_Logon,a1,a2,a3,a4,a5,a6,a7,a8,a9)
583#define UlValidate_IABProvider_Logon(a1,a2,a3,a4,a5,a6,a7,a8,a9) UlValidateParameters9(IABProvider_Logon,a1,a2,a3,a4,a5,a6,a7,a8,a9)
584#define CheckParameters_IABProvider_Logon(a1,a2,a3,a4,a5,a6,a7,a8,a9) CheckParameters9(IABProvider_Logon,a1,a2,a3,a4,a5,a6,a7,a8,a9)
585
586#define Validate_IABLogon_GetLastError(a1,a2,a3,a4) ValidateParameters4(IABLogon_GetLastError,a1,a2,a3,a4)
587#define UlValidate_IABLogon_GetLastError(a1,a2,a3,a4) UlValidateParameters4(IABLogon_GetLastError,a1,a2,a3,a4)
588#define CheckParameters_IABLogon_GetLastError(a1,a2,a3,a4) CheckParameters4(IABLogon_GetLastError,a1,a2,a3,a4)
589
590#define Validate_IABLogon_Logoff(a1,a2) ValidateParameters2(IABLogon_Logoff,a1,a2)
591#define UlValidate_IABLogon_Logoff(a1,a2) UlValidateParameters2(IABLogon_Logoff,a1,a2)
592#define CheckParameters_IABLogon_Logoff(a1,a2) CheckParameters2(IABLogon_Logoff,a1,a2)
593
594#define Validate_IABLogon_OpenEntry(a1,a2,a3,a4,a5,a6,a7) ValidateParameters7(IABLogon_OpenEntry,a1,a2,a3,a4,a5,a6,a7)
595#define UlValidate_IABLogon_OpenEntry(a1,a2,a3,a4,a5,a6,a7) UlValidateParameters7(IABLogon_OpenEntry,a1,a2,a3,a4,a5,a6,a7)
596#define CheckParameters_IABLogon_OpenEntry(a1,a2,a3,a4,a5,a6,a7) CheckParameters7(IABLogon_OpenEntry,a1,a2,a3,a4,a5,a6,a7)
597
598#define Validate_IABLogon_CompareEntryIDs(a1,a2,a3,a4,a5,a6,a7) ValidateParameters7(IABLogon_CompareEntryIDs,a1,a2,a3,a4,a5,a6,a7)
599#define UlValidate_IABLogon_CompareEntryIDs(a1,a2,a3,a4,a5,a6,a7) UlValidateParameters7(IABLogon_CompareEntryIDs,a1,a2,a3,a4,a5,a6,a7)
600#define CheckParameters_IABLogon_CompareEntryIDs(a1,a2,a3,a4,a5,a6,a7) CheckParameters7(IABLogon_CompareEntryIDs,a1,a2,a3,a4,a5,a6,a7)
601
602#define Validate_IABLogon_Advise(a1,a2,a3,a4,a5,a6) ValidateParameters6(IABLogon_Advise,a1,a2,a3,a4,a5,a6)
603#define UlValidate_IABLogon_Advise(a1,a2,a3,a4,a5,a6) UlValidateParameters6(IABLogon_Advise,a1,a2,a3,a4,a5,a6)
604#define CheckParameters_IABLogon_Advise(a1,a2,a3,a4,a5,a6) CheckParameters6(IABLogon_Advise,a1,a2,a3,a4,a5,a6)
605
606#define Validate_IABLogon_Unadvise(a1,a2) ValidateParameters2(IABLogon_Unadvise,a1,a2)
607#define UlValidate_IABLogon_Unadvise(a1,a2) UlValidateParameters2(IABLogon_Unadvise,a1,a2)
608#define CheckParameters_IABLogon_Unadvise(a1,a2) CheckParameters2(IABLogon_Unadvise,a1,a2)
609
610#define Validate_IABLogon_OpenStatusEntry(a1,a2,a3,a4,a5) ValidateParameters5(IABLogon_OpenStatusEntry,a1,a2,a3,a4,a5)
611#define UlValidate_IABLogon_OpenStatusEntry(a1,a2,a3,a4,a5) UlValidateParameters5(IABLogon_OpenStatusEntry,a1,a2,a3,a4,a5)
612#define CheckParameters_IABLogon_OpenStatusEntry(a1,a2,a3,a4,a5) CheckParameters5(IABLogon_OpenStatusEntry,a1,a2,a3,a4,a5)
613
614#define Validate_IABLogon_OpenTemplateID(a1,a2,a3,a4,a5,a6,a7,a8) ValidateParameters8(IABLogon_OpenTemplateID,a1,a2,a3,a4,a5,a6,a7,a8)
615#define UlValidate_IABLogon_OpenTemplateID(a1,a2,a3,a4,a5,a6,a7,a8) UlValidateParameters8(IABLogon_OpenTemplateID,a1,a2,a3,a4,a5,a6,a7,a8)
616#define CheckParameters_IABLogon_OpenTemplateID(a1,a2,a3,a4,a5,a6,a7,a8) CheckParameters8(IABLogon_OpenTemplateID,a1,a2,a3,a4,a5,a6,a7,a8)
617
618#define Validate_IABLogon_GetOneOffTable(a1,a2,a3) ValidateParameters3(IABLogon_GetOneOffTable,a1,a2,a3)
619#define UlValidate_IABLogon_GetOneOffTable(a1,a2,a3) UlValidateParameters3(IABLogon_GetOneOffTable,a1,a2,a3)
620#define CheckParameters_IABLogon_GetOneOffTable(a1,a2,a3) CheckParameters3(IABLogon_GetOneOffTable,a1,a2,a3)
621
622#define Validate_IABLogon_PrepareRecips(a1,a2,a3,a4) ValidateParameters4(IABLogon_PrepareRecips,a1,a2,a3,a4)
623#define UlValidate_IABLogon_PrepareRecips(a1,a2,a3,a4) UlValidateParameters4(IABLogon_PrepareRecips,a1,a2,a3,a4)
624#define CheckParameters_IABLogon_PrepareRecips(a1,a2,a3,a4) CheckParameters4(IABLogon_PrepareRecips,a1,a2,a3,a4)
625
626#define Validate_IXPProvider_Shutdown(a1,a2) ValidateParameters2(IXPProvider_Shutdown,a1,a2)
627#define UlValidate_IXPProvider_Shutdown(a1,a2) UlValidateParameters2(IXPProvider_Shutdown,a1,a2)
628#define CheckParameters_IXPProvider_Shutdown(a1,a2) CheckParameters2(IXPProvider_Shutdown,a1,a2)
629
630#define Validate_IXPProvider_TransportLogon(a1,a2,a3,a4,a5,a6,a7) ValidateParameters7(IXPProvider_TransportLogon,a1,a2,a3,a4,a5,a6,a7)
631#define UlValidate_IXPProvider_TransportLogon(a1,a2,a3,a4,a5,a6,a7) UlValidateParameters7(IXPProvider_TransportLogon,a1,a2,a3,a4,a5,a6,a7)
632#define CheckParameters_IXPProvider_TransportLogon(a1,a2,a3,a4,a5,a6,a7) CheckParameters7(IXPProvider_TransportLogon,a1,a2,a3,a4,a5,a6,a7)
633
634#define Validate_IXPLogon_AddressTypes(a1,a2,a3,a4,a5,a6) ValidateParameters6(IXPLogon_AddressTypes,a1,a2,a3,a4,a5,a6)
635#define UlValidate_IXPLogon_AddressTypes(a1,a2,a3,a4,a5,a6) UlValidateParameters6(IXPLogon_AddressTypes,a1,a2,a3,a4,a5,a6)
636#define CheckParameters_IXPLogon_AddressTypes(a1,a2,a3,a4,a5,a6) CheckParameters6(IXPLogon_AddressTypes,a1,a2,a3,a4,a5,a6)
637
638#define Validate_IXPLogon_RegisterOptions(a1,a2,a3,a4) ValidateParameters4(IXPLogon_RegisterOptions,a1,a2,a3,a4)
639#define UlValidate_IXPLogon_RegisterOptions(a1,a2,a3,a4) UlValidateParameters4(IXPLogon_RegisterOptions,a1,a2,a3,a4)
640#define CheckParameters_IXPLogon_RegisterOptions(a1,a2,a3,a4) CheckParameters4(IXPLogon_RegisterOptions,a1,a2,a3,a4)
641
642#define Validate_IXPLogon_TransportNotify(a1,a2,a3) ValidateParameters3(IXPLogon_TransportNotify,a1,a2,a3)
643#define UlValidate_IXPLogon_TransportNotify(a1,a2,a3) UlValidateParameters3(IXPLogon_TransportNotify,a1,a2,a3)
644#define CheckParameters_IXPLogon_TransportNotify(a1,a2,a3) CheckParameters3(IXPLogon_TransportNotify,a1,a2,a3)
645
646#define Validate_IXPLogon_Idle(a1,a2) ValidateParameters2(IXPLogon_Idle,a1,a2)
647#define UlValidate_IXPLogon_Idle(a1,a2) UlValidateParameters2(IXPLogon_Idle,a1,a2)
648#define CheckParameters_IXPLogon_Idle(a1,a2) CheckParameters2(IXPLogon_Idle,a1,a2)
649
650#define Validate_IXPLogon_TransportLogoff(a1,a2) ValidateParameters2(IXPLogon_TransportLogoff,a1,a2)
651#define UlValidate_IXPLogon_TransportLogoff(a1,a2) UlValidateParameters2(IXPLogon_TransportLogoff,a1,a2)
652#define CheckParameters_IXPLogon_TransportLogoff(a1,a2) CheckParameters2(IXPLogon_TransportLogoff,a1,a2)
653
654#define Validate_IXPLogon_SubmitMessage(a1,a2,a3,a4,a5) ValidateParameters5(IXPLogon_SubmitMessage,a1,a2,a3,a4,a5)
655#define UlValidate_IXPLogon_SubmitMessage(a1,a2,a3,a4,a5) UlValidateParameters5(IXPLogon_SubmitMessage,a1,a2,a3,a4,a5)
656#define CheckParameters_IXPLogon_SubmitMessage(a1,a2,a3,a4,a5) CheckParameters5(IXPLogon_SubmitMessage,a1,a2,a3,a4,a5)
657
658#define Validate_IXPLogon_EndMessage(a1,a2,a3) ValidateParameters3(IXPLogon_EndMessage,a1,a2,a3)
659#define UlValidate_IXPLogon_EndMessage(a1,a2,a3) UlValidateParameters3(IXPLogon_EndMessage,a1,a2,a3)
660#define CheckParameters_IXPLogon_EndMessage(a1,a2,a3) CheckParameters3(IXPLogon_EndMessage,a1,a2,a3)
661
662#define Validate_IXPLogon_Poll(a1,a2) ValidateParameters2(IXPLogon_Poll,a1,a2)
663#define UlValidate_IXPLogon_Poll(a1,a2) UlValidateParameters2(IXPLogon_Poll,a1,a2)
664#define CheckParameters_IXPLogon_Poll(a1,a2) CheckParameters2(IXPLogon_Poll,a1,a2)
665
666#define Validate_IXPLogon_StartMessage(a1,a2,a3,a4) ValidateParameters4(IXPLogon_StartMessage,a1,a2,a3,a4)
667#define UlValidate_IXPLogon_StartMessage(a1,a2,a3,a4) UlValidateParameters4(IXPLogon_StartMessage,a1,a2,a3,a4)
668#define CheckParameters_IXPLogon_StartMessage(a1,a2,a3,a4) CheckParameters4(IXPLogon_StartMessage,a1,a2,a3,a4)
669
670#define Validate_IXPLogon_OpenStatusEntry(a1,a2,a3,a4,a5) ValidateParameters5(IXPLogon_OpenStatusEntry,a1,a2,a3,a4,a5)
671#define UlValidate_IXPLogon_OpenStatusEntry(a1,a2,a3,a4,a5) UlValidateParameters5(IXPLogon_OpenStatusEntry,a1,a2,a3,a4,a5)
672#define CheckParameters_IXPLogon_OpenStatusEntry(a1,a2,a3,a4,a5) CheckParameters5(IXPLogon_OpenStatusEntry,a1,a2,a3,a4,a5)
673
674#define Validate_IXPLogon_ValidateState(a1,a2,a3) ValidateParameters3(IXPLogon_ValidateState,a1,a2,a3)
675#define UlValidate_IXPLogon_ValidateState(a1,a2,a3) UlValidateParameters3(IXPLogon_ValidateState,a1,a2,a3)
676#define CheckParameters_IXPLogon_ValidateState(a1,a2,a3) CheckParameters3(IXPLogon_ValidateState,a1,a2,a3)
677
678#define Validate_IXPLogon_FlushQueues(a1,a2,a3,a4,a5) ValidateParameters5(IXPLogon_FlushQueues,a1,a2,a3,a4,a5)
679#define UlValidate_IXPLogon_FlushQueues(a1,a2,a3,a4,a5) UlValidateParameters5(IXPLogon_FlushQueues,a1,a2,a3,a4,a5)
680#define CheckParameters_IXPLogon_FlushQueues(a1,a2,a3,a4,a5) CheckParameters5(IXPLogon_FlushQueues,a1,a2,a3,a4,a5)
681
682#define Validate_IMSProvider_Shutdown(a1,a2) ValidateParameters2(IMSProvider_Shutdown,a1,a2)
683#define UlValidate_IMSProvider_Shutdown(a1,a2) UlValidateParameters2(IMSProvider_Shutdown,a1,a2)
684#define CheckParameters_IMSProvider_Shutdown(a1,a2) CheckParameters2(IMSProvider_Shutdown,a1,a2)
685
686#define Validate_IMSProvider_Logon(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13) ValidateParameters13(IMSProvider_Logon,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13)
687#define UlValidate_IMSProvider_Logon(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13) UlValidateParameters13(IMSProvider_Logon,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13)
688#define CheckParameters_IMSProvider_Logon(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13) CheckParameters13(IMSProvider_Logon,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13)
689
690#define Validate_IMSProvider_SpoolerLogon(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13) ValidateParameters13(IMSProvider_SpoolerLogon,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13)
691#define UlValidate_IMSProvider_SpoolerLogon(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13) UlValidateParameters13(IMSProvider_SpoolerLogon,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13)
692#define CheckParameters_IMSProvider_SpoolerLogon(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13) CheckParameters13(IMSProvider_SpoolerLogon,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13)
693
694#define Validate_IMSProvider_CompareStoreIDs(a1,a2,a3,a4,a5,a6,a7) ValidateParameters7(IMSProvider_CompareStoreIDs,a1,a2,a3,a4,a5,a6,a7)
695#define UlValidate_IMSProvider_CompareStoreIDs(a1,a2,a3,a4,a5,a6,a7) UlValidateParameters7(IMSProvider_CompareStoreIDs,a1,a2,a3,a4,a5,a6,a7)
696#define CheckParameters_IMSProvider_CompareStoreIDs(a1,a2,a3,a4,a5,a6,a7) CheckParameters7(IMSProvider_CompareStoreIDs,a1,a2,a3,a4,a5,a6,a7)
697
698#define Validate_IMSLogon_GetLastError(a1,a2,a3,a4) ValidateParameters4(IMSLogon_GetLastError,a1,a2,a3,a4)
699#define UlValidate_IMSLogon_GetLastError(a1,a2,a3,a4) UlValidateParameters4(IMSLogon_GetLastError,a1,a2,a3,a4)
700#define CheckParameters_IMSLogon_GetLastError(a1,a2,a3,a4) CheckParameters4(IMSLogon_GetLastError,a1,a2,a3,a4)
701
702#define Validate_IMSLogon_Logoff(a1,a2) ValidateParameters2(IMSLogon_Logoff,a1,a2)
703#define UlValidate_IMSLogon_Logoff(a1,a2) UlValidateParameters2(IMSLogon_Logoff,a1,a2)
704#define CheckParameters_IMSLogon_Logoff(a1,a2) CheckParameters2(IMSLogon_Logoff,a1,a2)
705
706#define Validate_IMSLogon_OpenEntry(a1,a2,a3,a4,a5,a6,a7) ValidateParameters7(IMSLogon_OpenEntry,a1,a2,a3,a4,a5,a6,a7)
707#define UlValidate_IMSLogon_OpenEntry(a1,a2,a3,a4,a5,a6,a7) UlValidateParameters7(IMSLogon_OpenEntry,a1,a2,a3,a4,a5,a6,a7)
708#define CheckParameters_IMSLogon_OpenEntry(a1,a2,a3,a4,a5,a6,a7) CheckParameters7(IMSLogon_OpenEntry,a1,a2,a3,a4,a5,a6,a7)
709
710#define Validate_IMSLogon_CompareEntryIDs(a1,a2,a3,a4,a5,a6,a7) ValidateParameters7(IMSLogon_CompareEntryIDs,a1,a2,a3,a4,a5,a6,a7)
711#define UlValidate_IMSLogon_CompareEntryIDs(a1,a2,a3,a4,a5,a6,a7) UlValidateParameters7(IMSLogon_CompareEntryIDs,a1,a2,a3,a4,a5,a6,a7)
712#define CheckParameters_IMSLogon_CompareEntryIDs(a1,a2,a3,a4,a5,a6,a7) CheckParameters7(IMSLogon_CompareEntryIDs,a1,a2,a3,a4,a5,a6,a7)
713
714#define Validate_IMSLogon_Advise(a1,a2,a3,a4,a5,a6) ValidateParameters6(IMSLogon_Advise,a1,a2,a3,a4,a5,a6)
715#define UlValidate_IMSLogon_Advise(a1,a2,a3,a4,a5,a6) UlValidateParameters6(IMSLogon_Advise,a1,a2,a3,a4,a5,a6)
716#define CheckParameters_IMSLogon_Advise(a1,a2,a3,a4,a5,a6) CheckParameters6(IMSLogon_Advise,a1,a2,a3,a4,a5,a6)
717
718#define Validate_IMSLogon_Unadvise(a1,a2) ValidateParameters2(IMSLogon_Unadvise,a1,a2)
719#define UlValidate_IMSLogon_Unadvise(a1,a2) UlValidateParameters2(IMSLogon_Unadvise,a1,a2)
720#define CheckParameters_IMSLogon_Unadvise(a1,a2) CheckParameters2(IMSLogon_Unadvise,a1,a2)
721
722#define Validate_IMSLogon_OpenStatusEntry(a1,a2,a3,a4,a5) ValidateParameters5(IMSLogon_OpenStatusEntry,a1,a2,a3,a4,a5)
723#define UlValidate_IMSLogon_OpenStatusEntry(a1,a2,a3,a4,a5) UlValidateParameters5(IMSLogon_OpenStatusEntry,a1,a2,a3,a4,a5)
724#define CheckParameters_IMSLogon_OpenStatusEntry(a1,a2,a3,a4,a5) CheckParameters5(IMSLogon_OpenStatusEntry,a1,a2,a3,a4,a5)
725
726#define Validate_IMAPIControl_GetLastError(a1,a2,a3,a4) ValidateParameters4(IMAPIControl_GetLastError,a1,a2,a3,a4)
727#define UlValidate_IMAPIControl_GetLastError(a1,a2,a3,a4) UlValidateParameters4(IMAPIControl_GetLastError,a1,a2,a3,a4)
728#define CheckParameters_IMAPIControl_GetLastError(a1,a2,a3,a4) CheckParameters4(IMAPIControl_GetLastError,a1,a2,a3,a4)
729
730#define Validate_IMAPIControl_Activate(a1,a2,a3) ValidateParameters3(IMAPIControl_Activate,a1,a2,a3)
731#define UlValidate_IMAPIControl_Activate(a1,a2,a3) UlValidateParameters3(IMAPIControl_Activate,a1,a2,a3)
732#define CheckParameters_IMAPIControl_Activate(a1,a2,a3) CheckParameters3(IMAPIControl_Activate,a1,a2,a3)
733
734#define Validate_IMAPIControl_GetState(a1,a2,a3) ValidateParameters3(IMAPIControl_GetState,a1,a2,a3)
735#define UlValidate_IMAPIControl_GetState(a1,a2,a3) UlValidateParameters3(IMAPIControl_GetState,a1,a2,a3)
736#define CheckParameters_IMAPIControl_GetState(a1,a2,a3) CheckParameters3(IMAPIControl_GetState,a1,a2,a3)
737
738#define Validate_IMAPIStatus_ValidateState(a1,a2,a3) ValidateParameters3(IMAPIStatus_ValidateState,a1,a2,a3)
739#define UlValidate_IMAPIStatus_ValidateState(a1,a2,a3) UlValidateParameters3(IMAPIStatus_ValidateState,a1,a2,a3)
740#define CheckParameters_IMAPIStatus_ValidateState(a1,a2,a3) CheckParameters3(IMAPIStatus_ValidateState,a1,a2,a3)
741
742#define Validate_IMAPIStatus_SettingsDialog(a1,a2,a3) ValidateParameters3(IMAPIStatus_SettingsDialog,a1,a2,a3)
743#define UlValidate_IMAPIStatus_SettingsDialog(a1,a2,a3) UlValidateParameters3(IMAPIStatus_SettingsDialog,a1,a2,a3)
744#define CheckParameters_IMAPIStatus_SettingsDialog(a1,a2,a3) CheckParameters3(IMAPIStatus_SettingsDialog,a1,a2,a3)
745
746#define Validate_IMAPIStatus_ChangePassword(a1,a2,a3,a4) ValidateParameters4(IMAPIStatus_ChangePassword,a1,a2,a3,a4)
747#define UlValidate_IMAPIStatus_ChangePassword(a1,a2,a3,a4) UlValidateParameters4(IMAPIStatus_ChangePassword,a1,a2,a3,a4)
748#define CheckParameters_IMAPIStatus_ChangePassword(a1,a2,a3,a4) CheckParameters4(IMAPIStatus_ChangePassword,a1,a2,a3,a4)
749
750#define Validate_IMAPIStatus_FlushQueues(a1,a2,a3,a4,a5) ValidateParameters5(IMAPIStatus_FlushQueues,a1,a2,a3,a4,a5)
751#define UlValidate_IMAPIStatus_FlushQueues(a1,a2,a3,a4,a5) UlValidateParameters5(IMAPIStatus_FlushQueues,a1,a2,a3,a4,a5)
752#define CheckParameters_IMAPIStatus_FlushQueues(a1,a2,a3,a4,a5) CheckParameters5(IMAPIStatus_FlushQueues,a1,a2,a3,a4,a5)
753
754#define Validate_IStream_Read(a1,a2,a3,a4) ValidateParameters4(IStream_Read,a1,a2,a3,a4)
755#define UlValidate_IStream_Read(a1,a2,a3,a4) UlValidateParameters4(IStream_Read,a1,a2,a3,a4)
756#define CheckParameters_IStream_Read(a1,a2,a3,a4) CheckParameters4(IStream_Read,a1,a2,a3,a4)
757
758#define Validate_IStream_Write(a1,a2,a3,a4) ValidateParameters4(IStream_Write,a1,a2,a3,a4)
759#define UlValidate_IStream_Write(a1,a2,a3,a4) UlValidateParameters4(IStream_Write,a1,a2,a3,a4)
760#define CheckParameters_IStream_Write(a1,a2,a3,a4) CheckParameters4(IStream_Write,a1,a2,a3,a4)
761
762#define Validate_IStream_Seek(a1,a2,a3,a4) ValidateParameters4(IStream_Seek,a1,a2,a3,a4)
763#define UlValidate_IStream_Seek(a1,a2,a3,a4) UlValidateParameters4(IStream_Seek,a1,a2,a3,a4)
764#define CheckParameters_IStream_Seek(a1,a2,a3,a4) CheckParameters4(IStream_Seek,a1,a2,a3,a4)
765
766#define Validate_IStream_SetSize(a1,a2) ValidateParameters2(IStream_SetSize,a1,a2)
767#define UlValidate_IStream_SetSize(a1,a2) UlValidateParameters2(IStream_SetSize,a1,a2)
768#define CheckParameters_IStream_SetSize(a1,a2) CheckParameters2(IStream_SetSize,a1,a2)
769
770#define Validate_IStream_CopyTo(a1,a2,a3,a4,a5) ValidateParameters5(IStream_CopyTo,a1,a2,a3,a4,a5)
771#define UlValidate_IStream_CopyTo(a1,a2,a3,a4,a5) UlValidateParameters5(IStream_CopyTo,a1,a2,a3,a4,a5)
772#define CheckParameters_IStream_CopyTo(a1,a2,a3,a4,a5) CheckParameters5(IStream_CopyTo,a1,a2,a3,a4,a5)
773
774#define Validate_IStream_Commit(a1,a2) ValidateParameters2(IStream_Commit,a1,a2)
775#define UlValidate_IStream_Commit(a1,a2) UlValidateParameters2(IStream_Commit,a1,a2)
776#define CheckParameters_IStream_Commit(a1,a2) CheckParameters2(IStream_Commit,a1,a2)
777
778#define Validate_IStream_Revert(a1) ValidateParameters1(IStream_Revert,a1)
779#define UlValidate_IStream_Revert(a1) UlValidateParameters1(IStream_Revert,a1)
780#define CheckParameters_IStream_Revert(a1) CheckParameters1(IStream_Revert,a1)
781
782#define Validate_IStream_LockRegion(a1,a2,a3,a4) ValidateParameters4(IStream_LockRegion,a1,a2,a3,a4)
783#define UlValidate_IStream_LockRegion(a1,a2,a3,a4) UlValidateParameters4(IStream_LockRegion,a1,a2,a3,a4)
784#define CheckParameters_IStream_LockRegion(a1,a2,a3,a4) CheckParameters4(IStream_LockRegion,a1,a2,a3,a4)
785
786#define Validate_IStream_UnlockRegion(a1,a2,a3,a4) ValidateParameters4(IStream_UnlockRegion,a1,a2,a3,a4)
787#define UlValidate_IStream_UnlockRegion(a1,a2,a3,a4) UlValidateParameters4(IStream_UnlockRegion,a1,a2,a3,a4)
788#define CheckParameters_IStream_UnlockRegion(a1,a2,a3,a4) CheckParameters4(IStream_UnlockRegion,a1,a2,a3,a4)
789
790#define Validate_IStream_Stat(a1,a2,a3) ValidateParameters3(IStream_Stat,a1,a2,a3)
791#define UlValidate_IStream_Stat(a1,a2,a3) UlValidateParameters3(IStream_Stat,a1,a2,a3)
792#define CheckParameters_IStream_Stat(a1,a2,a3) CheckParameters3(IStream_Stat,a1,a2,a3)
793
794#define Validate_IStream_Clone(a1,a2) ValidateParameters2(IStream_Clone,a1,a2)
795#define UlValidate_IStream_Clone(a1,a2) UlValidateParameters2(IStream_Clone,a1,a2)
796#define CheckParameters_IStream_Clone(a1,a2) CheckParameters2(IStream_Clone,a1,a2)
797
798#define Validate_IMAPIAdviseSink_OnNotify(a1,a2,a3) ValidateParameters3(IMAPIAdviseSink_OnNotify,a1,a2,a3)
799#define UlValidate_IMAPIAdviseSink_OnNotify(a1,a2,a3) UlValidateParameters3(IMAPIAdviseSink_OnNotify,a1,a2,a3)
800#define CheckParameters_IMAPIAdviseSink_OnNotify(a1,a2,a3) CheckParameters3(IMAPIAdviseSink_OnNotify,a1,a2,a3)
801
802#if defined(_X86_)
803  STDAPI HrValidateParameters(METHODS eMethod,LPVOID *ppFirstArg);
804#else
805  STDAPIV HrValidateParametersV(METHODS eMethod,...);
806  STDAPIV HrValidateParametersValist(METHODS eMethod,va_list arglist);
807#endif
808
809#ifdef __cplusplus
810}
811#endif
812#endif
813