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
10 extern "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