You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1358 lines
59 KiB
1358 lines
59 KiB
/*
|
|
* M A P I V A L . H
|
|
*
|
|
* Macros used to validate parameters on standard MAPI object methods.
|
|
* Used in conjunction with routines found in MAPIU.DLL.
|
|
*
|
|
* Copyright 1986-1996 Microsoft Corporation. All Rights Reserved.
|
|
*/
|
|
|
|
#ifndef _INC_VALIDATE
|
|
#define _INC_VALIDATE
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
#define MAKE_ENUM(Method, Interface) Interface##_##Method
|
|
|
|
typedef enum _tagMethods
|
|
{
|
|
/* IUnknown */
|
|
MAKE_ENUM(QueryInterface, IUnknown) = 0,
|
|
MAKE_ENUM(AddRef, IUnknown), /* For completness */
|
|
MAKE_ENUM(Release, IUnknown), /* For completness */
|
|
|
|
/* IMAPIProps */
|
|
MAKE_ENUM(GetLastError, IMAPIProp),
|
|
MAKE_ENUM(SaveChanges, IMAPIProp),
|
|
MAKE_ENUM(GetProps, IMAPIProp),
|
|
MAKE_ENUM(GetPropList, IMAPIProp),
|
|
MAKE_ENUM(OpenProperty, IMAPIProp),
|
|
MAKE_ENUM(SetProps, IMAPIProp),
|
|
MAKE_ENUM(DeleteProps, IMAPIProp),
|
|
MAKE_ENUM(CopyTo, IMAPIProp),
|
|
MAKE_ENUM(CopyProps, IMAPIProp),
|
|
MAKE_ENUM(GetNamesFromIDs, IMAPIProp),
|
|
MAKE_ENUM(GetIDsFromNames, IMAPIProp),
|
|
|
|
/* IMAPITable */
|
|
MAKE_ENUM(GetLastError, IMAPITable),
|
|
MAKE_ENUM(Advise, IMAPITable),
|
|
MAKE_ENUM(Unadvise, IMAPITable),
|
|
MAKE_ENUM(GetStatus, IMAPITable),
|
|
MAKE_ENUM(SetColumns, IMAPITable),
|
|
MAKE_ENUM(QueryColumns, IMAPITable),
|
|
MAKE_ENUM(GetRowCount, IMAPITable),
|
|
MAKE_ENUM(SeekRow, IMAPITable),
|
|
MAKE_ENUM(SeekRowApprox, IMAPITable),
|
|
MAKE_ENUM(QueryPosition, IMAPITable),
|
|
MAKE_ENUM(FindRow, IMAPITable),
|
|
MAKE_ENUM(Restrict, IMAPITable),
|
|
MAKE_ENUM(CreateBookmark, IMAPITable),
|
|
MAKE_ENUM(FreeBookmark, IMAPITable),
|
|
MAKE_ENUM(SortTable, IMAPITable),
|
|
MAKE_ENUM(QuerySortOrder, IMAPITable),
|
|
MAKE_ENUM(QueryRows, IMAPITable),
|
|
MAKE_ENUM(Abort, IMAPITable),
|
|
MAKE_ENUM(ExpandRow, IMAPITable),
|
|
MAKE_ENUM(CollapseRow, IMAPITable),
|
|
MAKE_ENUM(WaitForCompletion, IMAPITable),
|
|
MAKE_ENUM(GetCollapseState, IMAPITable),
|
|
MAKE_ENUM(SetCollapseState, IMAPITable),
|
|
|
|
/* IMAPIContainer */
|
|
MAKE_ENUM(GetContentsTable, IMAPIContainer),
|
|
MAKE_ENUM(GetHierarchyTable, IMAPIContainer),
|
|
MAKE_ENUM(OpenEntry, IMAPIContainer),
|
|
MAKE_ENUM(SetSearchCriteria, IMAPIContainer),
|
|
MAKE_ENUM(GetSearchCriteria, IMAPIContainer),
|
|
|
|
/* IABContainer */
|
|
MAKE_ENUM(CreateEntry, IABContainer),
|
|
MAKE_ENUM(CopyEntries, IABContainer),
|
|
MAKE_ENUM(DeleteEntries, IABContainer),
|
|
MAKE_ENUM(ResolveNames, IABContainer),
|
|
|
|
/* IDistList */
|
|
MAKE_ENUM(CreateEntry, IDistList),
|
|
MAKE_ENUM(CopyEntries, IDistList),
|
|
MAKE_ENUM(DeleteEntries, IDistList),
|
|
MAKE_ENUM(ResolveNames, IDistList),
|
|
|
|
/* IMAPIFolder */
|
|
MAKE_ENUM(CreateMessage, IMAPIFolder),
|
|
MAKE_ENUM(CopyMessages, IMAPIFolder),
|
|
MAKE_ENUM(DeleteMessages, IMAPIFolder),
|
|
MAKE_ENUM(CreateFolder, IMAPIFolder),
|
|
MAKE_ENUM(CopyFolder, IMAPIFolder),
|
|
MAKE_ENUM(DeleteFolder, IMAPIFolder),
|
|
MAKE_ENUM(SetReadFlags, IMAPIFolder),
|
|
MAKE_ENUM(GetMessageStatus, IMAPIFolder),
|
|
MAKE_ENUM(SetMessageStatus, IMAPIFolder),
|
|
MAKE_ENUM(SaveContentsSort, IMAPIFolder),
|
|
MAKE_ENUM(EmptyFolder, IMAPIFolder),
|
|
|
|
#ifdef OLD_STUFF
|
|
/* IMsgStore */
|
|
MAKE_ENUM(Advise, IMsgStore),
|
|
MAKE_ENUM(Unadvise, IMsgStore),
|
|
MAKE_ENUM(CompareEntryIDs, IMsgStore),
|
|
MAKE_ENUM(OpenEntry, IMsgStore),
|
|
MAKE_ENUM(SetReceiveFolder, IMsgStore),
|
|
MAKE_ENUM(GetReceiveFolder, IMsgStore),
|
|
MAKE_ENUM(GetReceiveFolderTable, IMsgStore),
|
|
MAKE_ENUM(StoreLogoff, IMsgStore),
|
|
MAKE_ENUM(AbortSubmit, IMsgStore),
|
|
MAKE_ENUM(GetOutgoingQueue, IMsgStore),
|
|
MAKE_ENUM(SetLockState, IMsgStore),
|
|
MAKE_ENUM(FinishedMsg, IMsgStore),
|
|
MAKE_ENUM(NotifyNewMail, IMsgStore),
|
|
|
|
/* IMessage */
|
|
MAKE_ENUM(GetAttachmentTable, IMessage),
|
|
MAKE_ENUM(OpenAttach, IMessage),
|
|
MAKE_ENUM(CreateAttach, IMessage),
|
|
MAKE_ENUM(DeleteAttach, IMessage),
|
|
MAKE_ENUM(GetRecipientTable, IMessage),
|
|
MAKE_ENUM(ModifyRecipients, IMessage),
|
|
MAKE_ENUM(SubmitMessage, IMessage),
|
|
MAKE_ENUM(SetReadFlag, IMessage),
|
|
|
|
/* IABProvider */
|
|
MAKE_ENUM(Shutdown, IABProvider),
|
|
MAKE_ENUM(Logon, IABProvider),
|
|
|
|
/* IABLogon */
|
|
MAKE_ENUM(GetLastError, IABLogon),
|
|
MAKE_ENUM(Logoff, IABLogon),
|
|
MAKE_ENUM(OpenEntry, IABLogon),
|
|
MAKE_ENUM(CompareEntryIDs, IABLogon),
|
|
MAKE_ENUM(Advise, IABLogon),
|
|
MAKE_ENUM(Unadvise, IABLogon),
|
|
MAKE_ENUM(OpenStatusEntry, IABLogon),
|
|
MAKE_ENUM(OpenTemplateID, IABLogon),
|
|
MAKE_ENUM(GetOneOffTable, IABLogon),
|
|
MAKE_ENUM(PrepareRecips, IABLogon),
|
|
|
|
/* IXPProvider */
|
|
MAKE_ENUM(Shutdown, IXPProvider),
|
|
MAKE_ENUM(TransportLogon, IXPProvider),
|
|
|
|
/* IXPLogon */
|
|
MAKE_ENUM(AddressTypes, IXPLogon),
|
|
MAKE_ENUM(RegisterOptions, IXPLogon),
|
|
MAKE_ENUM(TransportNotify, IXPLogon),
|
|
MAKE_ENUM(Idle, IXPLogon),
|
|
MAKE_ENUM(TransportLogoff, IXPLogon),
|
|
MAKE_ENUM(SubmitMessage, IXPLogon),
|
|
MAKE_ENUM(EndMessage, IXPLogon),
|
|
MAKE_ENUM(Poll, IXPLogon),
|
|
MAKE_ENUM(StartMessage, IXPLogon),
|
|
MAKE_ENUM(OpenStatusEntry, IXPLogon),
|
|
MAKE_ENUM(ValidateState, IXPLogon),
|
|
MAKE_ENUM(FlushQueues, IXPLogon),
|
|
|
|
/* IMSProvider */
|
|
MAKE_ENUM(Shutdown, IMSProvider),
|
|
MAKE_ENUM(Logon, IMSProvider),
|
|
MAKE_ENUM(SpoolerLogon, IMSProvider),
|
|
MAKE_ENUM(CompareStoreIDs, IMSProvider),
|
|
|
|
/* IMSLogon */
|
|
MAKE_ENUM(GetLastError, IMSLogon),
|
|
MAKE_ENUM(Logoff, IMSLogon),
|
|
MAKE_ENUM(OpenEntry, IMSLogon),
|
|
MAKE_ENUM(CompareEntryIDs, IMSLogon),
|
|
MAKE_ENUM(Advise, IMSLogon),
|
|
MAKE_ENUM(Unadvise, IMSLogon),
|
|
MAKE_ENUM(OpenStatusEntry, IMSLogon),
|
|
|
|
/* IMAPIControl */
|
|
MAKE_ENUM(GetLastError, IMAPIControl),
|
|
MAKE_ENUM(Activate, IMAPIControl),
|
|
MAKE_ENUM(GetState, IMAPIControl),
|
|
|
|
/* IMAPIStatus */
|
|
MAKE_ENUM(ValidateState, IMAPIStatus),
|
|
MAKE_ENUM(SettingsDialog, IMAPIStatus),
|
|
MAKE_ENUM(ChangePassword, IMAPIStatus),
|
|
MAKE_ENUM(FlushQueues, IMAPIStatus),
|
|
|
|
#endif
|
|
|
|
/* IStream */
|
|
MAKE_ENUM(Read, IStream),
|
|
MAKE_ENUM(Write, IStream),
|
|
MAKE_ENUM(Seek, IStream),
|
|
MAKE_ENUM(SetSize, IStream),
|
|
MAKE_ENUM(CopyTo, IStream),
|
|
MAKE_ENUM(Commit, IStream),
|
|
MAKE_ENUM(Revert, IStream),
|
|
MAKE_ENUM(LockRegion, IStream),
|
|
MAKE_ENUM(UnlockRegion, IStream),
|
|
MAKE_ENUM(Stat, IStream),
|
|
MAKE_ENUM(Clone, IStream),
|
|
|
|
/* IMAPIAdviseSink */
|
|
MAKE_ENUM(OnNotify, IMAPIAdviseSink),
|
|
|
|
/* IWABObject */
|
|
MAKE_ENUM(GetLastError, IWABObject),
|
|
MAKE_ENUM(AllocateBuffer, IWABObject),
|
|
MAKE_ENUM(AllocateMore, IWABObject),
|
|
MAKE_ENUM(FreeBuffer, IWABObject),
|
|
MAKE_ENUM(Backup, IWABObject),
|
|
MAKE_ENUM(Import, IWABObject),
|
|
|
|
} METHODS;
|
|
|
|
|
|
/* Macro wrappers to hide the Validate function return handling */
|
|
#if defined(_X86_) || defined( WIN16 )
|
|
#ifdef __cplusplus
|
|
|
|
/* C++ methods can't take the address of the This pointer, so we must
|
|
use the first parameter instead */
|
|
|
|
#define ValidateParameters(eMethod, First) \
|
|
{ HRESULT _hr_; \
|
|
_hr_ = __CPPValidateParameters(eMethod, (LPVOID) &First); \
|
|
if (HR_FAILED(_hr_)) return (_hr_); }
|
|
|
|
#define UlValidateParameters(eMethod, First) \
|
|
{ HRESULT _hr_; \
|
|
_hr_ = __CPPValidateParameters(eMethod, &First); \
|
|
if (HR_FAILED(_hr_)) return (ULONG) (_hr_); }
|
|
|
|
/* Methods called by MAPI should have correct parameters
|
|
- just assert in Debug to check */
|
|
#define CheckParameters(eMethod, First) \
|
|
AssertSz(HR_SUCCEEDED(__CPPValidateParameters(eMethod, &First)), "Parameter validation failed for method called by MAPI!")
|
|
|
|
|
|
#else /* __cplusplus */
|
|
|
|
/* For methods that will be called by clients
|
|
- validate always */
|
|
|
|
#define ValidateParameters(eMethod, ppThis) \
|
|
{ HRESULT _hr_; \
|
|
_hr_ = __ValidateParameters(eMethod, ppThis); \
|
|
if (HR_FAILED(_hr_)) return (_hr_); }
|
|
|
|
#define UlValidateParameters(eMethod, ppThis) \
|
|
{ HRESULT _hr_; \
|
|
_hr_ = __ValidateParameters(eMethod, ppThis); \
|
|
if (HR_FAILED(_hr_)) return (ULONG) (_hr_); }
|
|
|
|
/* Methods called by MAPI should have correct parameters
|
|
- just assert in Debug to check */
|
|
#define CheckParameters(eMethod, ppThis) \
|
|
AssertSz(HR_SUCCEEDED(__ValidateParameters(eMethod, ppThis)), "Parameter validation failed for method called by MAPI!")
|
|
|
|
#endif /* __cplusplus */
|
|
#endif /* _X86_ || WIN16 */
|
|
|
|
/* Prototypes for functions used to validate complex parameters.
|
|
*/
|
|
#define FBadPropVal( lpPropVal) (FAILED(ScCountProps( 1, lpPropVal, NULL)))
|
|
|
|
#define FBadRgPropVal( lpPropVal, cValues) \
|
|
(FAILED(ScCountProps( cValues, lpPropVal, NULL)))
|
|
|
|
#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)) \
|
|
, TEXT("ADRLIST doesn't match SRowSet")) \
|
|
|| FBadRowSet( (LPSRowSet) lpAdrList))
|
|
|
|
STDAPI_(BOOL)
|
|
FBadRglpszW( LPWSTR FAR *lppszW,
|
|
ULONG cStrings);
|
|
|
|
STDAPI_(BOOL)
|
|
FBadRowSet( LPSRowSet lpRowSet);
|
|
|
|
STDAPI_(BOOL)
|
|
FBadRglpNameID( LPMAPINAMEID FAR * lppNameId,
|
|
ULONG cNames);
|
|
|
|
STDAPI_(BOOL)
|
|
FBadEntryList( LPENTRYLIST lpEntryList);
|
|
|
|
|
|
/* BAD_STANDARD_OBJ
|
|
*
|
|
* This macro insures that the object is a writable object of the correct size
|
|
* and that this method belongs to the object.
|
|
*
|
|
* NOTES ON USE!
|
|
* This depends upon using the standard method of declaring the object
|
|
* interface.
|
|
*
|
|
* prefix is the method prefix you chose when declaring the object interface.
|
|
* method is the standard method name of the calling method.
|
|
* lpVtbl is the name of the lpVtbl element of your object.
|
|
*/
|
|
#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)))
|
|
|
|
|
|
#define FBadUnknown( lpObj ) \
|
|
( IsBadReadPtr( (lpObj), sizeof(LPVOID) ) \
|
|
|| IsBadReadPtr( (lpObj)->lpVtbl, 3 * sizeof(LPUNKNOWN) ) \
|
|
|| IsBadCodePtr( (FARPROC)(lpObj)->lpVtbl->QueryInterface ))
|
|
|
|
/*
|
|
* IUnknown
|
|
*/
|
|
|
|
|
|
/*
|
|
* QueryInterface
|
|
*/
|
|
#define FBadQueryInterface( lpObj, riid, ppvObj) \
|
|
( IsBadReadPtr( riid, sizeof(IID)) \
|
|
|| IsBadWritePtr( ppvObj, sizeof(LPVOID)))
|
|
|
|
|
|
/*
|
|
* AddRef
|
|
* No parameter validation required.
|
|
*/
|
|
#define FBadAddRef( lpObj) FALSE
|
|
|
|
|
|
/*
|
|
* Release
|
|
* No parameter validation required.
|
|
*/
|
|
#define FBadRelease( lpObj) FALSE
|
|
|
|
|
|
/*
|
|
* GetLastError
|
|
*/
|
|
#define FBadGetLastError( lpObj, hResult, ulFlags, lppMAPIError )\
|
|
(IsBadWritePtr( lppMAPIError, sizeof(LPMAPIERROR)))
|
|
|
|
/*
|
|
* IMAPIProp
|
|
*/
|
|
|
|
|
|
/*
|
|
* SaveChanges
|
|
* No parameter validation required.
|
|
*/
|
|
#define FBadSaveChanges( lpObj, ulFlags) FALSE
|
|
|
|
|
|
/*
|
|
* GetProps
|
|
*/
|
|
#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)))
|
|
|
|
|
|
/*
|
|
* GetPropList
|
|
*/
|
|
#define FBadGetPropList( lpObj, lppPTagA) \
|
|
(IsBadWritePtr( lppPTagA, sizeof(LPSPropTagArray FAR *)))
|
|
|
|
|
|
/*
|
|
* OpenProperty
|
|
*/
|
|
#define FBadOpenProperty( lpObj, ulPropTag, lpiid, ulInterfaceOptions, ulFlags \
|
|
, lppUnk) \
|
|
( IsBadReadPtr( lpiid, sizeof(IID)) \
|
|
|| IsBadWritePtr( lppUnk, sizeof (LPUNKNOWN FAR *)))
|
|
|
|
|
|
/*
|
|
* SetProps
|
|
*/
|
|
#define FBadSetProps( lpObj, cValues, lpPropArray, lppProblems) \
|
|
( FBadRgPropVal( lpPropArray, (UINT) cValues) \
|
|
|| ( lppProblems \
|
|
&& IsBadWritePtr( lppProblems, sizeof(LPSPropProblemArray))))
|
|
|
|
|
|
/*
|
|
* DeleteProps
|
|
*/
|
|
#define FBadDeleteProps( lpObj, lpPTagA, lppProblems) \
|
|
( ( !lpPTagA \
|
|
|| ( IsBadReadPtr( lpPTagA, sizeof(ULONG)) \
|
|
|| IsBadReadPtr( lpPTagA, (UINT)( (lpPTagA->cValues + 1) \
|
|
* sizeof(ULONG))))) \
|
|
|| ( lppProblems \
|
|
&& IsBadWritePtr( lppProblems, sizeof(LPSPropProblemArray))))
|
|
|
|
|
|
/*
|
|
* CopyTo
|
|
*/
|
|
#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))))
|
|
|
|
|
|
/*
|
|
* CopyProps
|
|
*/
|
|
#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))))
|
|
|
|
|
|
|
|
/*
|
|
* GetNamesFromIDs
|
|
*/
|
|
#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 FAR *)))
|
|
|
|
|
|
|
|
/*
|
|
* GetNamesFromIDs
|
|
*/
|
|
#define FBadGetIDsFromNames( lpIPDAT, cPropNames, lppPropNames, ulFlags \
|
|
, lppPropTags) \
|
|
( (cPropNames && FBadRglpNameID( lppPropNames, cPropNames)) \
|
|
|| IsBadWritePtr( lppPropTags, sizeof(LPULONG FAR *)))
|
|
|
|
|
|
STDAPI_(ULONG)
|
|
FBadRestriction( LPSRestriction lpres );
|
|
|
|
STDAPI_(ULONG)
|
|
FBadPropTag( ULONG ulPropTag );
|
|
|
|
STDAPI_(ULONG)
|
|
FBadRow( LPSRow lprow );
|
|
|
|
STDAPI_(ULONG)
|
|
FBadProp( LPSPropValue lpprop );
|
|
|
|
STDAPI_(ULONG)
|
|
FBadSortOrderSet( LPSSortOrderSet lpsos );
|
|
|
|
STDAPI_(ULONG)
|
|
FBadColumnSet( LPSPropTagArray lpptaCols );
|
|
|
|
/* Validation function
|
|
|
|
The eMethod parameter tells us which internal validation to perform.
|
|
|
|
The ppThis parameter tells us where the stack is, so we can access the other
|
|
parameters.
|
|
|
|
Becuase of this *magic* we MUST obtain the pointer to the This pointer in
|
|
the method function.
|
|
|
|
*/
|
|
|
|
#ifdef WIN16
|
|
#define BASED_STACK __based(__segname("_STACK"))
|
|
#else
|
|
#define BASED_STACK
|
|
#endif
|
|
|
|
|
|
#ifdef WIN16
|
|
HRESULT PASCAL
|
|
#else
|
|
HRESULT STDAPICALLTYPE
|
|
#endif
|
|
__CPPValidateParameters(METHODS eMethod, const LPVOID ppFirst);
|
|
|
|
#ifdef WIN16
|
|
HRESULT PASCAL
|
|
#else
|
|
HRESULT STDAPICALLTYPE
|
|
#endif
|
|
__ValidateParameters(METHODS eMethod, LPVOID ppThis);
|
|
|
|
#ifdef _MAC
|
|
#define STDAPIVCALLTYPE __cdecl
|
|
#define STDAPIV EXTERN_C HRESULT STDAPIVCALLTYPE
|
|
#define STDAPIV_(type) EXTERN_C type STDAPIVCALLTYPE
|
|
#endif /* _MAC */
|
|
|
|
/* Macro wrappers for platform independent validation */
|
|
|
|
#if defined(_X86_) || defined( WIN16 )
|
|
#define ValidateParms(x) { HRESULT _hr_ = HrValidateParameters x; if (HR_FAILED(_hr_)) return (_hr_); }
|
|
#define UlValidateParms(x) { HRESULT _hr_ = HrValidateParameters x; if (HR_FAILED(_hr_)) return (ULONG)(_hr_); }
|
|
#define CheckParms(x) AssertSz(HR_SUCCEEDED( HrValidateParameters x), "Parameter validation failed for method called by MAPI!")
|
|
#else
|
|
#define ValidateParms(x) { HRESULT _hr_ = HrValidateParametersV x; if (HR_FAILED(_hr_)) return (_hr_); }
|
|
#define UlValidateParms(x) { HRESULT _hr_ = HrValidateParametersV x; if (HR_FAILED(_hr_)) return (ULONG)(_hr_); }
|
|
#define CheckParms(x) AssertSz(HR_SUCCEEDED( HrValidateParametersV x ), "Parameter validation failed for method called by MAPI!")
|
|
#endif
|
|
|
|
#if defined(_X86_) || defined( WIN16 )
|
|
|
|
#define ValidateParameters1( m, a1 )
|
|
#define ValidateParameters2( m, a1, a2 ) \
|
|
ValidateParms( ( m, (LPVOID FAR *) &a2 ) )
|
|
#define ValidateParameters3( m, a1, a2, a3 ) \
|
|
ValidateParms( ( m, (LPVOID FAR *) &a2 ) )
|
|
#define ValidateParameters4( m, a1, a2, a3, a4 ) \
|
|
ValidateParms( ( m, (LPVOID FAR *) &a2 ) )
|
|
#define ValidateParameters5( m, a1, a2, a3, a4, a5 ) \
|
|
ValidateParms( ( m, (LPVOID FAR *) &a2 ) )
|
|
#define ValidateParameters6( m, a1, a2, a3, a4, a5, a6 ) \
|
|
ValidateParms( ( m, (LPVOID FAR *) &a2 ) )
|
|
#define ValidateParameters7( m, a1, a2, a3, a4, a5, a6, a7 ) \
|
|
ValidateParms( ( m, (LPVOID FAR *) &a2 ) )
|
|
#define ValidateParameters8( m, a1, a2, a3, a4, a5, a6, a7, a8 ) \
|
|
ValidateParms( ( m, (LPVOID FAR *) &a2 ) )
|
|
#define ValidateParameters9( m, a1, a2, a3, a4, a5, a6, a7, a8, a9 ) \
|
|
ValidateParms( ( m, (LPVOID FAR *) &a2 ) )
|
|
#define ValidateParameters10( m, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10 ) \
|
|
ValidateParms( ( m, (LPVOID FAR *) &a2 ) )
|
|
#define ValidateParameters11( m, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11 ) \
|
|
ValidateParms( ( m, (LPVOID FAR *) &a2 ) )
|
|
#define ValidateParameters12( m, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12 ) \
|
|
ValidateParms( ( m, (LPVOID FAR *) &a2 ) )
|
|
#define ValidateParameters13( m, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13 ) \
|
|
ValidateParms( ( m, (LPVOID FAR *) &a2 ) )
|
|
#define ValidateParameters14( m, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14 ) \
|
|
ValidateParms( ( m, (LPVOID FAR *) &a2 ) )
|
|
#define ValidateParameters15( m, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15 ) \
|
|
ValidateParms( ( m, (LPVOID FAR *) &a2 ) )
|
|
#define ValidateParameters16( m, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16 ) \
|
|
ValidateParms( ( m, (LPVOID FAR *) &a2 ) )
|
|
|
|
#define UlValidateParameters1( m, a1 )
|
|
#define UlValidateParameters2( m, a1, a2 ) \
|
|
UlValidateParms( ( m, (LPVOID FAR *) &a2 ) )
|
|
#define UlValidateParameters3( m, a1, a2, a3 ) \
|
|
UlValidateParms( ( m, (LPVOID FAR *) &a2 ) )
|
|
#define UlValidateParameters4( m, a1, a2, a3, a4 ) \
|
|
UlValidateParms( ( m, (LPVOID FAR *) &a2 ) )
|
|
#define UlValidateParameters5( m, a1, a2, a3, a4, a5 ) \
|
|
UlValidateParms( ( m, (LPVOID FAR *) &a2 ) )
|
|
#define UlValidateParameters6( m, a1, a2, a3, a4, a5, a6 ) \
|
|
UlValidateParms( ( m, (LPVOID FAR *) &a2 ) )
|
|
#define UlValidateParameters7( m, a1, a2, a3, a4, a5, a6, a7 ) \
|
|
UlValidateParms( ( m, (LPVOID FAR *) &a2 ) )
|
|
#define UlValidateParameters8( m, a1, a2, a3, a4, a5, a6, a7, a8 ) \
|
|
UlValidateParms( ( m, (LPVOID FAR *) &a2 ) )
|
|
#define UlValidateParameters9( m, a1, a2, a3, a4, a5, a6, a7, a8, a9 ) \
|
|
UlValidateParms( ( m, (LPVOID FAR *) &a2 ) )
|
|
#define UlValidateParameters10( m, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10 ) \
|
|
UlValidateParms( ( m, (LPVOID FAR *) &a2 ) )
|
|
#define UlValidateParameters11( m, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11 ) \
|
|
UlValidateParms( ( m, (LPVOID FAR *) &a2 ) )
|
|
#define UlValidateParameters12( m, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12 ) \
|
|
UlValidateParms( ( m, (LPVOID FAR *) &a2 ) )
|
|
#define UlValidateParameters13( m, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13 ) \
|
|
UlValidateParms( ( m, (LPVOID FAR *) &a2 ) )
|
|
#define UlValidateParameters14( m, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14 ) \
|
|
UlValidateParms( ( m, (LPVOID FAR *) &a2 ) )
|
|
#define UlValidateParameters15( m, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15 ) \
|
|
UlValidateParms( ( m, (LPVOID FAR *) &a2 ) )
|
|
#define UlValidateParameters16( m, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16 ) \
|
|
UlValidateParms( ( m, (LPVOID FAR *) &a2 ) )
|
|
|
|
#define CheckParameters1( m, a1 )
|
|
#define CheckParameters2( m, a1, a2 ) \
|
|
CheckParms( ( m, (LPVOID FAR *) &a2 ) )
|
|
#define CheckParameters3( m, a1, a2, a3) \
|
|
CheckParms( ( m, (LPVOID FAR *) &a2 ) )
|
|
#define CheckParameters4( m, a1, a2, a3, a4 ) \
|
|
CheckParms( ( m, (LPVOID FAR *) &a2 ) )
|
|
#define CheckParameters5( m, a1, a2, a3, a4, a5 ) \
|
|
CheckParms( ( m, (LPVOID FAR *) &a2 ) )
|
|
#define CheckParameters6( m, a1, a2, a3, a4, a5, a6 ) \
|
|
CheckParms( ( m, (LPVOID FAR *) &a2 ) )
|
|
#define CheckParameters7( m, a1, a2, a3, a4, a5, a6, a7 ) \
|
|
CheckParms( ( m, (LPVOID FAR *) &a2 ) )
|
|
#define CheckParameters8( m, a1, a2, a3, a4, a5, a6, a7, a8 ) \
|
|
CheckParms( ( m, (LPVOID FAR *) &a2 ) )
|
|
#define CheckParameters9( m, a1, a2, a3, a4, a5, a6, a7, a8, a9 ) \
|
|
CheckParms( ( m, (LPVOID FAR *) &a2 ) )
|
|
#define CheckParameters10( m, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10 ) \
|
|
CheckParms( ( m, (LPVOID FAR *) &a2 ) )
|
|
#define CheckParameters11( m, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11 ) \
|
|
CheckParms( ( m, (LPVOID FAR *) &a2 ) )
|
|
#define CheckParameters12( m, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12 ) \
|
|
CheckParms( ( m, (LPVOID FAR *) &a2 ) )
|
|
#define CheckParameters13( m, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13 ) \
|
|
CheckParms( ( m, (LPVOID FAR *) &a2 ) )
|
|
#define CheckParameters14( m, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14 ) \
|
|
CheckParms( ( m, (LPVOID FAR *) &a2 ) )
|
|
#define CheckParameters15( m, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15 ) \
|
|
CheckParms( ( m, (LPVOID FAR *) &a2 ) )
|
|
#define CheckParameters16( m, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16 ) \
|
|
CheckParms( ( m, (LPVOID FAR *) &a2 ) )
|
|
|
|
#else /* !_X86_ && !WIN16 */
|
|
|
|
#define ValidateParameters1( m, a1 ) \
|
|
ValidateParms( ( m, a1 ) )
|
|
#define ValidateParameters2( m, a1, a2 ) \
|
|
ValidateParms( ( m, a1, a2 ))
|
|
#define ValidateParameters3( m, a1, a2, a3 ) \
|
|
ValidateParms( ( m, a1, a2, a3 ))
|
|
#define ValidateParameters4( m, a1, a2, a3, a4 ) \
|
|
ValidateParms( ( m, a1, a2, a3, a4 ))
|
|
#define ValidateParameters5( m, a1, a2, a3, a4, a5 ) \
|
|
ValidateParms( ( m, a1, a2, a3, a4, a5 ))
|
|
#define ValidateParameters6( m, a1, a2, a3, a4, a5, a6 ) \
|
|
ValidateParms( ( m, a1, a2, a3, a4, a5, a6 ))
|
|
#define ValidateParameters7( m, a1, a2, a3, a4, a5, a6, a7 ) \
|
|
ValidateParms( ( m, a1, a2, a3, a4, a5, a6, a7 ))
|
|
#define ValidateParameters8( m, a1, a2, a3, a4, a5, a6, a7, a8 ) \
|
|
ValidateParms( ( m, a1, a2, a3, a4, a5, a6, a7, a8 ))
|
|
#define ValidateParameters9( m, a1, a2, a3, a4, a5, a6, a7, a8, a9 ) \
|
|
ValidateParms( ( m, a1, a2, a3, a4, a5, a6, a7, a8, a9 ))
|
|
#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 ))
|
|
#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 ))
|
|
#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 ))
|
|
#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 ))
|
|
#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 ))
|
|
#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 ))
|
|
#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 ))
|
|
|
|
#define UlValidateParameters1( m, a1 ) \
|
|
UlValidateParms( ( m, a1 ) )
|
|
#define UlValidateParameters2( m, a1, a2 ) \
|
|
UlValidateParms( ( m, a1, a2 ))
|
|
#define UlValidateParameters3( m, a1, a2, a3 ) \
|
|
UlValidateParms( ( m, a1, a2, a3 ))
|
|
#define UlValidateParameters4( m, a1, a2, a3, a4 ) \
|
|
UlValidateParms( ( m, a1, a2, a3, a4 ))
|
|
#define UlValidateParameters5( m, a1, a2, a3, a4, a5 ) \
|
|
UlValidateParms( ( m, a1, a2, a3, a4, a5 ))
|
|
#define UlValidateParameters6( m, a1, a2, a3, a4, a5, a6 ) \
|
|
UlValidateParms( ( m, a1, a2, a3, a4, a5, a6 ))
|
|
#define UlValidateParameters7( m, a1, a2, a3, a4, a5, a6, a7 ) \
|
|
UlValidateParms( ( m, a1, a2, a3, a4, a5, a6, a7 ))
|
|
#define UlValidateParameters8( m, a1, a2, a3, a4, a5, a6, a7, a8 ) \
|
|
UlValidateParms( ( m, a1, a2, a3, a4, a5, a6, a7, a8 ))
|
|
#define UlValidateParameters9( m, a1, a2, a3, a4, a5, a6, a7, a8, a9 ) \
|
|
UlValidateParms( ( m, a1, a2, a3, a4, a5, a6, a7, a8, a9 ))
|
|
#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 ))
|
|
#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 ))
|
|
#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 ))
|
|
#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 ))
|
|
#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 ))
|
|
#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 ))
|
|
#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 ))
|
|
|
|
#define CheckParameters1( m, a1 ) \
|
|
CheckParms( ( m, a1 ) )
|
|
#define CheckParameters2( m, a1, a2 ) \
|
|
CheckParms( ( m, a1, a2 ))
|
|
#define CheckParameters3( m, a1, a2, a3 ) \
|
|
CheckParms( ( m, a1, a2, a3 ))
|
|
#define CheckParameters4( m, a1, a2, a3, a4 ) \
|
|
CheckParms( ( m, a1, a2, a3, a4 ))
|
|
#define CheckParameters5( m, a1, a2, a3, a4, a5 ) \
|
|
CheckParms( ( m, a1, a2, a3, a4, a5 ))
|
|
#define CheckParameters6( m, a1, a2, a3, a4, a5, a6 ) \
|
|
CheckParms( ( m, a1, a2, a3, a4, a5, a6 ))
|
|
#define CheckParameters7( m, a1, a2, a3, a4, a5, a6, a7 ) \
|
|
CheckParms( ( m, a1, a2, a3, a4, a5, a6, a7 ))
|
|
#define CheckParameters8( m, a1, a2, a3, a4, a5, a6, a7, a8 ) \
|
|
CheckParms( ( m, a1, a2, a3, a4, a5, a6, a7, a8 ))
|
|
#define CheckParameters9( m, a1, a2, a3, a4, a5, a6, a7, a8, a9 ) \
|
|
CheckParms( ( m, a1, a2, a3, a4, a5, a6, a7, a8, a9 ))
|
|
#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 ))
|
|
#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 ))
|
|
#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 ))
|
|
#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 ))
|
|
#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 ))
|
|
#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 ))
|
|
#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 ))
|
|
|
|
#endif /* _X86_ || WIN16 */
|
|
|
|
|
|
/*
|
|
* M A P I P A R A M E T E R V A L I D A T I O N M A C R O S
|
|
*/
|
|
|
|
|
|
/* IUnknown */
|
|
|
|
#define Validate_IUnknown_QueryInterface( a1, a2, a3 ) \
|
|
ValidateParameters3( IUnknown_QueryInterface, a1, a2, a3 )
|
|
#define UlValidate_IUnknown_QueryInterface( a1, a2, a3 ) \
|
|
UlValidateParameters3( IUnknown_QueryInterface, a1, a2, a3 )
|
|
#define CheckParameters_IUnknown_QueryInterface( a1, a2, a3 ) \
|
|
CheckParameters3( IUnknown_QueryInterface, a1, a2, a3 )
|
|
|
|
#define Validate_IUnknown_AddRef( a1 ) \
|
|
ValidateParameters1( IUnknown_AddRef, a1 )
|
|
#define UlValidate_IUnknown_AddRef( a1 ) \
|
|
UlValidateParameters1( IUnknown_AddRef, a1 )
|
|
#define CheckParameters_IUnknown_AddRef( a1 ) \
|
|
CheckParameters1( IUnknown_AddRef, a1 )
|
|
|
|
#define Validate_IUnknown_Release( a1 ) \
|
|
ValidateParameters1( IUnknown_Release, a1 )
|
|
#define UlValidate_IUnknown_Release( a1 ) \
|
|
UlValidateParameters1( IUnknown_Release, a1 )
|
|
#define CheckParameters_IUnknown_Release( a1 ) \
|
|
CheckParameters1( IUnknown_Release, a1 )
|
|
|
|
|
|
/* IMAPIProp */
|
|
|
|
#define Validate_IMAPIProp_GetLastError( a1, a2, a3, a4 ) \
|
|
ValidateParameters4( IMAPIProp_GetLastError, a1, a2, a3, a4 )
|
|
#define UlValidate_IMAPIProp_GetLastError( a1, a2, a3, a4 ) \
|
|
UlValidateParameters4( IMAPIProp_GetLastError, a1, a2, a3, a4 )
|
|
#define CheckParameters_IMAPIProp_GetLastError( a1, a2, a3, a4 ) \
|
|
CheckParameters4( IMAPIProp_GetLastError, a1, a2, a3, a4 )
|
|
|
|
#define Validate_IMAPIProp_SaveChanges( a1, a2 ) \
|
|
ValidateParameters2( IMAPIProp_SaveChanges, a1, a2 )
|
|
#define UlValidate_IMAPIProp_SaveChanges( a1, a2 ) \
|
|
UlValidateParameters2( IMAPIProp_SaveChanges, a1, a2 )
|
|
#define CheckParameters_IMAPIProp_SaveChanges( a1, a2 ) \
|
|
CheckParameters2( IMAPIProp_SaveChanges, a1, a2 )
|
|
|
|
#define Validate_IMAPIProp_GetProps( a1, a2, a3, a4, a5 ) \
|
|
ValidateParameters5( IMAPIProp_GetProps, a1, a2, a3, a4, a5 )
|
|
#define UlValidate_IMAPIProp_GetProps( a1, a2, a3, a4, a5 ) \
|
|
UlValidateParameters5( IMAPIProp_GetProps, a1, a2, a3, a4, a5 )
|
|
#define CheckParameters_IMAPIProp_GetProps( a1, a2, a3, a4, a5 ) \
|
|
CheckParameters5( IMAPIProp_GetProps, a1, a2, a3, a4, a5 )
|
|
|
|
#define Validate_IMAPIProp_GetPropList( a1, a2, a3 ) \
|
|
ValidateParameters3( IMAPIProp_GetPropList, a1, a2, a3 )
|
|
#define UlValidate_IMAPIProp_GetPropList( a1, a2, a3 ) \
|
|
UlValidateParameters3( IMAPIProp_GetPropList, a1, a2, a3 )
|
|
#define CheckParameters_IMAPIProp_GetPropList( a1, a2, a3 ) \
|
|
CheckParameters3( IMAPIProp_GetPropList, a1, a2, a3 )
|
|
|
|
#define Validate_IMAPIProp_OpenProperty( a1, a2, a3, a4, a5, a6 ) \
|
|
ValidateParameters6( IMAPIProp_OpenProperty, a1, a2, a3, a4, a5, a6 )
|
|
#define UlValidate_IMAPIProp_OpenProperty( a1, a2, a3, a4, a5, a6 ) \
|
|
UlValidateParameters6( IMAPIProp_OpenProperty, a1, a2, a3, a4, a5, a6 )
|
|
#define CheckParameters_IMAPIProp_OpenProperty( a1, a2, a3, a4, a5, a6 ) \
|
|
CheckParameters6( IMAPIProp_OpenProperty, a1, a2, a3, a4, a5, a6 )
|
|
|
|
#define Validate_IMAPIProp_SetProps( a1, a2, a3, a4 ) \
|
|
ValidateParameters4( IMAPIProp_SetProps, a1, a2, a3, a4 )
|
|
#define UlValidate_IMAPIProp_SetProps( a1, a2, a3, a4 ) \
|
|
UlValidateParameters4( IMAPIProp_SetProps, a1, a2, a3, a4 )
|
|
#define CheckParameters_IMAPIProp_SetProps( a1, a2, a3, a4 ) \
|
|
CheckParameters4( IMAPIProp_SetProps, a1, a2, a3, a4 )
|
|
|
|
#define Validate_IMAPIProp_DeleteProps( a1, a2, a3 ) \
|
|
ValidateParameters3( IMAPIProp_DeleteProps, a1, a2, a3 )
|
|
#define UlValidate_IMAPIProp_DeleteProps( a1, a2, a3 ) \
|
|
UlValidateParameters3( IMAPIProp_DeleteProps, a1, a2, a3 )
|
|
#define CheckParameters_IMAPIProp_DeleteProps( a1, a2, a3 ) \
|
|
CheckParameters3( IMAPIProp_DeleteProps, a1, a2, a3 )
|
|
|
|
#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 )
|
|
#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 )
|
|
#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 )
|
|
|
|
#define Validate_IMAPIProp_CopyProps( a1, a2, a3, a4, a5, a6, a7, a8 ) \
|
|
ValidateParameters8( IMAPIProp_CopyProps, a1, a2, a3, a4, a5, a6, a7, a8 )
|
|
#define UlValidate_IMAPIProp_CopyProps( a1, a2, a3, a4, a5, a6, a7, a8 ) \
|
|
UlValidateParameters8( IMAPIProp_CopyProps, a1, a2, a3, a4, a5, a6, a7, a8 )
|
|
#define CheckParameters_IMAPIProp_CopyProps( a1, a2, a3, a4, a5, a6, a7, a8 ) \
|
|
CheckParameters8( IMAPIProp_CopyProps, a1, a2, a3, a4, a5, a6, a7, a8 )
|
|
|
|
#define Validate_IMAPIProp_GetNamesFromIDs( a1, a2, a3, a4, a5, a6 ) \
|
|
ValidateParameters6( IMAPIProp_GetNamesFromIDs, a1, a2, a3, a4, a5, a6 )
|
|
#define UlValidate_IMAPIProp_GetNamesFromIDs( a1, a2, a3, a4, a5, a6 ) \
|
|
UlValidateParameters6( IMAPIProp_GetNamesFromIDs, a1, a2, a3, a4, a5, a6 )
|
|
#define CheckParameters_IMAPIProp_GetNamesFromIDs( a1, a2, a3, a4, a5, a6 ) \
|
|
CheckParameters6( IMAPIProp_GetNamesFromIDs, a1, a2, a3, a4, a5, a6 )
|
|
|
|
#define Validate_IMAPIProp_GetIDsFromNames( a1, a2, a3, a4, a5 ) \
|
|
ValidateParameters5( IMAPIProp_GetIDsFromNames, a1, a2, a3, a4, a5 )
|
|
#define UlValidate_IMAPIProp_GetIDsFromNames( a1, a2, a3, a4, a5 ) \
|
|
UlValidateParameters5( IMAPIProp_GetIDsFromNames, a1, a2, a3, a4, a5 )
|
|
#define CheckParameters_IMAPIProp_GetIDsFromNames( a1, a2, a3, a4, a5 ) \
|
|
CheckParameters5( IMAPIProp_GetIDsFromNames, a1, a2, a3, a4, a5 )
|
|
|
|
|
|
/* IMAPITable */
|
|
|
|
#define Validate_IMAPITable_GetLastError( a1, a2, a3, a4 ) \
|
|
ValidateParameters4( IMAPITable_GetLastError, a1, a2, a3, a4 )
|
|
#define UlValidate_IMAPITable_GetLastError( a1, a2, a3, a4 ) \
|
|
UlValidateParameters4( IMAPITable_GetLastError, a1, a2, a3, a4 )
|
|
#define CheckParameters_IMAPITable_GetLastError( a1, a2, a3, a4 ) \
|
|
CheckParameters4( IMAPITable_GetLastError, a1, a2, a3, a4 )
|
|
|
|
#define Validate_IMAPITable_Advise( a1, a2, a3, a4 ) \
|
|
ValidateParameters4( IMAPITable_Advise, a1, a2, a3, a4 )
|
|
#define UlValidate_IMAPITable_Advise( a1, a2, a3, a4 ) \
|
|
UlValidateParameters4( IMAPITable_Advise, a1, a2, a3, a4 )
|
|
#define CheckParameters_IMAPITable_Advise( a1, a2, a3, a4 ) \
|
|
CheckParameters4( IMAPITable_Advise, a1, a2, a3, a4 )
|
|
|
|
#define Validate_IMAPITable_Unadvise( a1, a2 ) \
|
|
ValidateParameters2( IMAPITable_Unadvise, a1, a2 )
|
|
#define UlValidate_IMAPITable_Unadvise( a1, a2 ) \
|
|
UlValidateParameters2( IMAPITable_Unadvise, a1, a2 )
|
|
#define CheckParameters_IMAPITable_Unadvise( a1, a2 ) \
|
|
CheckParameters2( IMAPITable_Unadvise, a1, a2 )
|
|
|
|
#define Validate_IMAPITable_GetStatus( a1, a2, a3 ) \
|
|
ValidateParameters3( IMAPITable_GetStatus, a1, a2, a3 )
|
|
#define UlValidate_IMAPITable_GetStatus( a1, a2, a3 ) \
|
|
UlValidateParameters3( IMAPITable_GetStatus, a1, a2, a3 )
|
|
#define CheckParameters_IMAPITable_GetStatus( a1, a2, a3 ) \
|
|
CheckParameters3( IMAPITable_GetStatus, a1, a2, a3 )
|
|
|
|
#define Validate_IMAPITable_SetColumns( a1, a2, a3 ) \
|
|
ValidateParameters3( IMAPITable_SetColumns, a1, a2, a3 )
|
|
#define UlValidate_IMAPITable_SetColumns( a1, a2, a3 ) \
|
|
UlValidateParameters3( IMAPITable_SetColumns, a1, a2, a3 )
|
|
#define CheckParameters_IMAPITable_SetColumns( a1, a2, a3 ) \
|
|
CheckParameters3( IMAPITable_SetColumns, a1, a2, a3 )
|
|
|
|
#define Validate_IMAPITable_QueryColumns( a1, a2, a3 ) \
|
|
ValidateParameters3( IMAPITable_QueryColumns, a1, a2, a3 )
|
|
#define UlValidate_IMAPITable_QueryColumns( a1, a2, a3 ) \
|
|
UlValidateParameters3( IMAPITable_QueryColumns, a1, a2, a3 )
|
|
#define CheckParameters_IMAPITable_QueryColumns( a1, a2, a3 ) \
|
|
CheckParameters3( IMAPITable_QueryColumns, a1, a2, a3 )
|
|
|
|
#define Validate_IMAPITable_GetRowCount( a1, a2, a3 ) \
|
|
ValidateParameters3( IMAPITable_GetRowCount, a1, a2, a3 )
|
|
#define UlValidate_IMAPITable_GetRowCount( a1, a2, a3 ) \
|
|
UlValidateParameters3( IMAPITable_GetRowCount, a1, a2, a3 )
|
|
#define CheckParameters_IMAPITable_GetRowCount( a1, a2, a3 ) \
|
|
CheckParameters3( IMAPITable_GetRowCount, a1, a2, a3 )
|
|
|
|
#define Validate_IMAPITable_SeekRow( a1, a2, a3, a4 ) \
|
|
ValidateParameters4( IMAPITable_SeekRow, a1, a2, a3, a4 )
|
|
#define UlValidate_IMAPITable_SeekRow( a1, a2, a3, a4 ) \
|
|
UlValidateParameters4( IMAPITable_SeekRow, a1, a2, a3, a4 )
|
|
#define CheckParameters_IMAPITable_SeekRow( a1, a2, a3, a4 ) \
|
|
CheckParameters4( IMAPITable_SeekRow, a1, a2, a3, a4 )
|
|
|
|
#define Validate_IMAPITable_SeekRowApprox( a1, a2, a3 ) \
|
|
ValidateParameters3( IMAPITable_SeekRowApprox, a1, a2, a3 )
|
|
#define UlValidate_IMAPITable_SeekRowApprox( a1, a2, a3 ) \
|
|
UlValidateParameters3( IMAPITable_SeekRowApprox, a1, a2, a3 )
|
|
#define CheckParameters_IMAPITable_SeekRowApprox( a1, a2, a3 ) \
|
|
CheckParameters3( IMAPITable_SeekRowApprox, a1, a2, a3 )
|
|
|
|
#define Validate_IMAPITable_QueryPosition( a1, a2, a3, a4 ) \
|
|
ValidateParameters4( IMAPITable_QueryPosition, a1, a2, a3, a4 )
|
|
#define UlValidate_IMAPITable_QueryPosition( a1, a2, a3, a4 ) \
|
|
UlValidateParameters4( IMAPITable_QueryPosition, a1, a2, a3, a4 )
|
|
#define CheckParameters_IMAPITable_QueryPosition( a1, a2, a3, a4 ) \
|
|
CheckParameters4( IMAPITable_QueryPosition, a1, a2, a3, a4 )
|
|
|
|
#define Validate_IMAPITable_FindRow( a1, a2, a3, a4 ) \
|
|
ValidateParameters4( IMAPITable_FindRow, a1, a2, a3, a4 )
|
|
#define UlValidate_IMAPITable_FindRow( a1, a2, a3, a4 ) \
|
|
UlValidateParameters4( IMAPITable_FindRow, a1, a2, a3, a4 )
|
|
#define CheckParameters_IMAPITable_FindRow( a1, a2, a3, a4 ) \
|
|
CheckParameters4( IMAPITable_FindRow, a1, a2, a3, a4 )
|
|
|
|
#define Validate_IMAPITable_Restrict( a1, a2, a3 ) \
|
|
ValidateParameters3( IMAPITable_Restrict, a1, a2, a3 )
|
|
#define UlValidate_IMAPITable_Restrict( a1, a2, a3 ) \
|
|
UlValidateParameters3( IMAPITable_Restrict, a1, a2, a3 )
|
|
#define CheckParameters_IMAPITable_Restrict( a1, a2, a3 ) \
|
|
CheckParameters3( IMAPITable_Restrict, a1, a2, a3 )
|
|
|
|
#define Validate_IMAPITable_CreateBookmark( a1, a2 ) \
|
|
ValidateParameters2( IMAPITable_CreateBookmark, a1, a2 )
|
|
#define UlValidate_IMAPITable_CreateBookmark( a1, a2 ) \
|
|
UlValidateParameters2( IMAPITable_CreateBookmark, a1, a2 )
|
|
#define CheckParameters_IMAPITable_CreateBookmark( a1, a2 ) \
|
|
CheckParameters2( IMAPITable_CreateBookmark, a1, a2 )
|
|
|
|
#define Validate_IMAPITable_FreeBookmark( a1, a2 ) \
|
|
ValidateParameters2( IMAPITable_FreeBookmark, a1, a2 )
|
|
#define UlValidate_IMAPITable_FreeBookmark( a1, a2 ) \
|
|
UlValidateParameters2( IMAPITable_FreeBookmark, a1, a2 )
|
|
#define CheckParameters_IMAPITable_FreeBookmark( a1, a2 ) \
|
|
CheckParameters2( IMAPITable_FreeBookmark, a1, a2 )
|
|
|
|
#define Validate_IMAPITable_SortTable( a1, a2, a3 ) \
|
|
ValidateParameters3( IMAPITable_SortTable, a1, a2, a3 )
|
|
#define UlValidate_IMAPITable_SortTable( a1, a2, a3 ) \
|
|
UlValidateParameters3( IMAPITable_SortTable, a1, a2, a3 )
|
|
#define CheckParameters_IMAPITable_SortTable( a1, a2, a3 ) \
|
|
CheckParameters3( IMAPITable_SortTable, a1, a2, a3 )
|
|
|
|
#define Validate_IMAPITable_QuerySortOrder( a1, a2 ) \
|
|
ValidateParameters2( IMAPITable_QuerySortOrder, a1, a2 )
|
|
#define UlValidate_IMAPITable_QuerySortOrder( a1, a2 ) \
|
|
UlValidateParameters2( IMAPITable_QuerySortOrder, a1, a2 )
|
|
#define CheckParameters_IMAPITable_QuerySortOrder( a1, a2 ) \
|
|
CheckParameters2( IMAPITable_QuerySortOrder, a1, a2 )
|
|
|
|
#define Validate_IMAPITable_QueryRows( a1, a2, a3, a4 ) \
|
|
ValidateParameters4( IMAPITable_QueryRows, a1, a2, a3, a4 )
|
|
#define UlValidate_IMAPITable_QueryRows( a1, a2, a3, a4 ) \
|
|
UlValidateParameters4( IMAPITable_QueryRows, a1, a2, a3, a4 )
|
|
#define CheckParameters_IMAPITable_QueryRows( a1, a2, a3, a4 ) \
|
|
CheckParameters4( IMAPITable_QueryRows, a1, a2, a3, a4 )
|
|
|
|
#define Validate_IMAPITable_Abort( a1 ) \
|
|
ValidateParameters1( IMAPITable_Abort, a1 )
|
|
#define UlValidate_IMAPITable_Abort( a1 ) \
|
|
UlValidateParameters1( IMAPITable_Abort, a1 )
|
|
#define CheckParameters_IMAPITable_Abort( a1 ) \
|
|
CheckParameters1( IMAPITable_Abort, a1 )
|
|
|
|
#define Validate_IMAPITable_ExpandRow( a1, a2, a3, a4, a5, a6, a7 ) \
|
|
ValidateParameters7( IMAPITable_ExpandRow, a1, a2, a3, a4, a5, a6, a7 )
|
|
#define UlValidate_IMAPITable_ExpandRow( a1, a2, a3, a4, a5, a6, a7 ) \
|
|
UlValidateParameters7( IMAPITable_ExpandRow, a1, a2, a3, a4, a5, a6, a7 )
|
|
#define CheckParameters_IMAPITable_ExpandRow( a1, a2, a3, a4, a5, a6, a7 ) \
|
|
CheckParameters7( IMAPITable_ExpandRow, a1, a2, a3, a4, a5, a6, a7 )
|
|
|
|
#define Validate_IMAPITable_CollapseRow( a1, a2, a3, a4, a5 ) \
|
|
ValidateParameters5( IMAPITable_CollapseRow, a1, a2, a3, a4, a5 )
|
|
#define UlValidate_IMAPITable_CollapseRow( a1, a2, a3, a4, a5 ) \
|
|
UlValidateParameters5( IMAPITable_CollapseRow, a1, a2, a3, a4, a5 )
|
|
#define CheckParameters_IMAPITable_CollapseRow( a1, a2, a3, a4, a5 ) \
|
|
CheckParameters5( IMAPITable_CollapseRow, a1, a2, a3, a4, a5 )
|
|
|
|
#define Validate_IMAPITable_WaitForCompletion( a1, a2, a3, a4 ) \
|
|
ValidateParameters4( IMAPITable_WaitForCompletion, a1, a2, a3, a4 )
|
|
#define UlValidate_IMAPITable_WaitForCompletion( a1, a2, a3, a4 ) \
|
|
UlValidateParameters4( IMAPITable_WaitForCompletion, a1, a2, a3, a4 )
|
|
#define CheckParameters_IMAPITable_WaitForCompletion( a1, a2, a3, a4 ) \
|
|
CheckParameters4( IMAPITable_WaitForCompletion, a1, a2, a3, a4 )
|
|
|
|
#define Validate_IMAPITable_GetCollapseState( a1, a2, a3, a4, a5, a6 ) \
|
|
ValidateParameters6( IMAPITable_GetCollapseState, a1, a2, a3, a4, a5, a6 )
|
|
#define UlValidate_IMAPITable_GetCollapseState( a1, a2, a3, a4, a5, a6 ) \
|
|
UlValidateParameters6( IMAPITable_GetCollapseState, a1, a2, a3, a4, a5, a6 )
|
|
#define CheckParameters_IMAPITable_GetCollapseState( a1, a2, a3, a4, a5, a6 ) \
|
|
CheckParameters6( IMAPITable_GetCollapseState, a1, a2, a3, a4, a5, a6 )
|
|
|
|
#define Validate_IMAPITable_SetCollapseState( a1, a2, a3, a4, a5 ) \
|
|
ValidateParameters5( IMAPITable_SetCollapseState, a1, a2, a3, a4, a5 )
|
|
#define UlValidate_IMAPITable_SetCollapseState( a1, a2, a3, a4, a5 ) \
|
|
UlValidateParameters5( IMAPITable_SetCollapseState, a1, a2, a3, a4, a5 )
|
|
#define CheckParameters_IMAPITable_SetCollapseState( a1, a2, a3, a4, a5 ) \
|
|
CheckParameters5( IMAPITable_SetCollapseState, a1, a2, a3, a4, a5 )
|
|
|
|
|
|
/* IMAPIContainer */
|
|
|
|
#define Validate_IMAPIContainer_GetContentsTable( a1, a2, a3 ) \
|
|
ValidateParameters3( IMAPIContainer_GetContentsTable, a1, a2, a3 )
|
|
#define UlValidate_IMAPIContainer_GetContentsTable( a1, a2, a3 ) \
|
|
UlValidateParameters3( IMAPIContainer_GetContentsTable, a1, a2, a3 )
|
|
#define CheckParameters_IMAPIContainer_GetContentsTable( a1, a2, a3 ) \
|
|
CheckParameters3( IMAPIContainer_GetContentsTable, a1, a2, a3 )
|
|
|
|
#define Validate_IMAPIContainer_GetHierarchyTable( a1, a2, a3 ) \
|
|
ValidateParameters3( IMAPIContainer_GetHierarchyTable, a1, a2, a3 )
|
|
#define UlValidate_IMAPIContainer_GetHierarchyTable( a1, a2, a3 ) \
|
|
UlValidateParameters3( IMAPIContainer_GetHierarchyTable, a1, a2, a3 )
|
|
#define CheckParameters_IMAPIContainer_GetHierarchyTable( a1, a2, a3 ) \
|
|
CheckParameters3( IMAPIContainer_GetHierarchyTable, a1, a2, a3 )
|
|
|
|
#define Validate_IMAPIContainer_OpenEntry( a1, a2, a3, a4, a5, a6, a7 ) \
|
|
ValidateParameters7( IMAPIContainer_OpenEntry, a1, a2, a3, a4, a5, a6, a7 )
|
|
#define UlValidate_IMAPIContainer_OpenEntry( a1, a2, a3, a4, a5, a6, a7 ) \
|
|
UlValidateParameters7( IMAPIContainer_OpenEntry, a1, a2, a3, a4, a5, a6, a7 )
|
|
#define CheckParameters_IMAPIContainer_OpenEntry( a1, a2, a3, a4, a5, a6, a7 ) \
|
|
CheckParameters7( IMAPIContainer_OpenEntry, a1, a2, a3, a4, a5, a6, a7 )
|
|
|
|
#define Validate_IMAPIContainer_SetSearchCriteria( a1, a2, a3, a4 ) \
|
|
ValidateParameters4( IMAPIContainer_SetSearchCriteria, a1, a2, a3, a4 )
|
|
#define UlValidate_IMAPIContainer_SetSearchCriteria( a1, a2, a3, a4 ) \
|
|
UlValidateParameters4( IMAPIContainer_SetSearchCriteria, a1, a2, a3, a4 )
|
|
#define CheckParameters_IMAPIContainer_SetSearchCriteria( a1, a2, a3, a4 ) \
|
|
CheckParameters4( IMAPIContainer_SetSearchCriteria, a1, a2, a3, a4 )
|
|
|
|
#define Validate_IMAPIContainer_GetSearchCriteria( a1, a2, a3, a4, a5 ) \
|
|
ValidateParameters5( IMAPIContainer_GetSearchCriteria, a1, a2, a3, a4, a5 )
|
|
#define UlValidate_IMAPIContainer_GetSearchCriteria( a1, a2, a3, a4, a5 ) \
|
|
UlValidateParameters5( IMAPIContainer_GetSearchCriteria, a1, a2, a3, a4, a5 )
|
|
#define CheckParameters_IMAPIContainer_GetSearchCriteria( a1, a2, a3, a4, a5 ) \
|
|
CheckParameters5( IMAPIContainer_GetSearchCriteria, a1, a2, a3, a4, a5 )
|
|
|
|
|
|
/* IABContainer */
|
|
|
|
#define Validate_IABContainer_CreateEntry( a1, a2, a3, a4, a5 ) \
|
|
ValidateParameters5( IABContainer_CreateEntry, a1, a2, a3, a4, a5 )
|
|
#define UlValidate_IABContainer_CreateEntry( a1, a2, a3, a4, a5 ) \
|
|
UlValidateParameters5( IABContainer_CreateEntry, a1, a2, a3, a4, a5 )
|
|
#define CheckParameters_IABContainer_CreateEntry( a1, a2, a3, a4, a5 ) \
|
|
CheckParameters5( IABContainer_CreateEntry, a1, a2, a3, a4, a5 )
|
|
|
|
#define Validate_IABContainer_CopyEntries( a1, a2, a3, a4, a5 ) \
|
|
ValidateParameters5( IABContainer_CopyEntries, a1, a2, a3, a4, a5 )
|
|
#define UlValidate_IABContainer_CopyEntries( a1, a2, a3, a4, a5 ) \
|
|
UlValidateParameters5( IABContainer_CopyEntries, a1, a2, a3, a4, a5 )
|
|
#define CheckParameters_IABContainer_CopyEntries( a1, a2, a3, a4, a5 ) \
|
|
CheckParameters5( IABContainer_CopyEntries, a1, a2, a3, a4, a5 )
|
|
|
|
#define Validate_IABContainer_DeleteEntries( a1, a2, a3 ) \
|
|
ValidateParameters3( IABContainer_DeleteEntries, a1, a2, a3 )
|
|
#define UlValidate_IABContainer_DeleteEntries( a1, a2, a3 ) \
|
|
UlValidateParameters3( IABContainer_DeleteEntries, a1, a2, a3 )
|
|
#define CheckParameters_IABContainer_DeleteEntries( a1, a2, a3 ) \
|
|
CheckParameters3( IABContainer_DeleteEntries, a1, a2, a3 )
|
|
|
|
#define Validate_IABContainer_ResolveNames( a1, a2, a3, a4, a5 ) \
|
|
ValidateParameters5( IABContainer_ResolveNames, a1, a2, a3, a4, a5 )
|
|
#define UlValidate_IABContainer_ResolveNames( a1, a2, a3, a4, a5 ) \
|
|
UlValidateParameters5( IABContainer_ResolveNames, a1, a2, a3, a4, a5 )
|
|
#define CheckParameters_IABContainer_ResolveNames( a1, a2, a3, a4, a5 ) \
|
|
CheckParameters5( IABContainer_ResolveNames, a1, a2, a3, a4, a5 )
|
|
|
|
|
|
/* IDistList */
|
|
|
|
#define Validate_IDistList_CreateEntry( a1, a2, a3, a4, a5 ) \
|
|
ValidateParameters5( IDistList_CreateEntry, a1, a2, a3, a4, a5 )
|
|
#define UlValidate_IDistList_CreateEntry( a1, a2, a3, a4, a5 ) \
|
|
UlValidateParameters5( IDistList_CreateEntry, a1, a2, a3, a4, a5 )
|
|
#define CheckParameters_IDistList_CreateEntry( a1, a2, a3, a4, a5 ) \
|
|
CheckParameters5( IDistList_CreateEntry, a1, a2, a3, a4, a5 )
|
|
|
|
#define Validate_IDistList_CopyEntries( a1, a2, a3, a4, a5 ) \
|
|
ValidateParameters5( IDistList_CopyEntries, a1, a2, a3, a4, a5 )
|
|
#define UlValidate_IDistList_CopyEntries( a1, a2, a3, a4, a5 ) \
|
|
UlValidateParameters5( IDistList_CopyEntries, a1, a2, a3, a4, a5 )
|
|
#define CheckParameters_IDistList_CopyEntries( a1, a2, a3, a4, a5 ) \
|
|
CheckParameters5( IDistList_CopyEntries, a1, a2, a3, a4, a5 )
|
|
|
|
#define Validate_IDistList_DeleteEntries( a1, a2, a3 ) \
|
|
ValidateParameters3( IDistList_DeleteEntries, a1, a2, a3 )
|
|
#define UlValidate_IDistList_DeleteEntries( a1, a2, a3 ) \
|
|
UlValidateParameters3( IDistList_DeleteEntries, a1, a2, a3 )
|
|
#define CheckParameters_IDistList_DeleteEntries( a1, a2, a3 ) \
|
|
CheckParameters3( IDistList_DeleteEntries, a1, a2, a3 )
|
|
|
|
#define Validate_IDistList_ResolveNames( a1, a2, a3, a4, a5 ) \
|
|
ValidateParameters5( IDistList_ResolveNames, a1, a2, a3, a4, a5 )
|
|
#define UlValidate_IDistList_ResolveNames( a1, a2, a3, a4, a5 ) \
|
|
UlValidateParameters5( IDistList_ResolveNames, a1, a2, a3, a4, a5 )
|
|
#define CheckParameters_IDistList_ResolveNames( a1, a2, a3, a4, a5 ) \
|
|
CheckParameters5( IDistList_ResolveNames, a1, a2, a3, a4, a5 )
|
|
|
|
|
|
/* IMAPIFolder */
|
|
|
|
#define Validate_IMAPIFolder_CreateMessage( a1, a2, a3, a4 ) \
|
|
ValidateParameters4( IMAPIFolder_CreateMessage, a1, a2, a3, a4 )
|
|
#define UlValidate_IMAPIFolder_CreateMessage( a1, a2, a3, a4 ) \
|
|
UlValidateParameters4( IMAPIFolder_CreateMessage, a1, a2, a3, a4 )
|
|
#define CheckParameters_IMAPIFolder_CreateMessage( a1, a2, a3, a4 ) \
|
|
CheckParameters4( IMAPIFolder_CreateMessage, a1, a2, a3, a4 )
|
|
|
|
#define Validate_IMAPIFolder_CopyMessages( a1, a2, a3, a4, a5, a6, a7 ) \
|
|
ValidateParameters7( IMAPIFolder_CopyMessages, a1, a2, a3, a4, a5, a6, a7 )
|
|
#define UlValidate_IMAPIFolder_CopyMessages( a1, a2, a3, a4, a5, a6, a7 ) \
|
|
UlValidateParameters7( IMAPIFolder_CopyMessages, a1, a2, a3, a4, a5, a6, a7 )
|
|
#define CheckParameters_IMAPIFolder_CopyMessages( a1, a2, a3, a4, a5, a6, a7 ) \
|
|
CheckParameters7( IMAPIFolder_CopyMessages, a1, a2, a3, a4, a5, a6, a7 )
|
|
|
|
#define Validate_IMAPIFolder_DeleteMessages( a1, a2, a3, a4, a5 ) \
|
|
ValidateParameters5( IMAPIFolder_DeleteMessages, a1, a2, a3, a4, a5 )
|
|
#define UlValidate_IMAPIFolder_DeleteMessages( a1, a2, a3, a4, a5 ) \
|
|
UlValidateParameters5( IMAPIFolder_DeleteMessages, a1, a2, a3, a4, a5 )
|
|
#define CheckParameters_IMAPIFolder_DeleteMessages( a1, a2, a3, a4, a5 ) \
|
|
CheckParameters5( IMAPIFolder_DeleteMessages, a1, a2, a3, a4, a5 )
|
|
|
|
#define Validate_IMAPIFolder_CreateFolder( a1, a2, a3, a4, a5, a6, a7 ) \
|
|
ValidateParameters7( IMAPIFolder_CreateFolder, a1, a2, a3, a4, a5, a6, a7 )
|
|
#define UlValidate_IMAPIFolder_CreateFolder( a1, a2, a3, a4, a5, a6, a7 ) \
|
|
UlValidateParameters7( IMAPIFolder_CreateFolder, a1, a2, a3, a4, a5, a6, a7 )
|
|
#define CheckParameters_IMAPIFolder_CreateFolder( a1, a2, a3, a4, a5, a6, a7 ) \
|
|
CheckParameters7( IMAPIFolder_CreateFolder, a1, a2, a3, a4, a5, a6, a7 )
|
|
|
|
#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 )
|
|
#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 )
|
|
#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 )
|
|
|
|
#define Validate_IMAPIFolder_DeleteFolder( a1, a2, a3, a4, a5, a6 ) \
|
|
ValidateParameters6( IMAPIFolder_DeleteFolder, a1, a2, a3, a4, a5, a6 )
|
|
#define UlValidate_IMAPIFolder_DeleteFolder( a1, a2, a3, a4, a5, a6 ) \
|
|
UlValidateParameters6( IMAPIFolder_DeleteFolder, a1, a2, a3, a4, a5, a6 )
|
|
#define CheckParameters_IMAPIFolder_DeleteFolder( a1, a2, a3, a4, a5, a6 ) \
|
|
CheckParameters6( IMAPIFolder_DeleteFolder, a1, a2, a3, a4, a5, a6 )
|
|
|
|
#define Validate_IMAPIFolder_SetReadFlags( a1, a2, a3, a4, a5 ) \
|
|
ValidateParameters5( IMAPIFolder_SetReadFlags, a1, a2, a3, a4, a5 )
|
|
#define UlValidate_IMAPIFolder_SetReadFlags( a1, a2, a3, a4, a5 ) \
|
|
UlValidateParameters5( IMAPIFolder_SetReadFlags, a1, a2, a3, a4, a5 )
|
|
#define CheckParameters_IMAPIFolder_SetReadFlags( a1, a2, a3, a4, a5 ) \
|
|
CheckParameters5( IMAPIFolder_SetReadFlags, a1, a2, a3, a4, a5 )
|
|
|
|
#define Validate_IMAPIFolder_GetMessageStatus( a1, a2, a3, a4, a5 ) \
|
|
ValidateParameters5( IMAPIFolder_GetMessageStatus, a1, a2, a3, a4, a5 )
|
|
#define UlValidate_IMAPIFolder_GetMessageStatus( a1, a2, a3, a4, a5 ) \
|
|
UlValidateParameters5( IMAPIFolder_GetMessageStatus, a1, a2, a3, a4, a5 )
|
|
#define CheckParameters_IMAPIFolder_GetMessageStatus( a1, a2, a3, a4, a5 ) \
|
|
CheckParameters5( IMAPIFolder_GetMessageStatus, a1, a2, a3, a4, a5 )
|
|
|
|
#define Validate_IMAPIFolder_SetMessageStatus( a1, a2, a3, a4, a5, a6 ) \
|
|
ValidateParameters6( IMAPIFolder_SetMessageStatus, a1, a2, a3, a4, a5, a6 )
|
|
#define UlValidate_IMAPIFolder_SetMessageStatus( a1, a2, a3, a4, a5, a6 ) \
|
|
UlValidateParameters6( IMAPIFolder_SetMessageStatus, a1, a2, a3, a4, a5, a6 )
|
|
#define CheckParameters_IMAPIFolder_SetMessageStatus( a1, a2, a3, a4, a5, a6 ) \
|
|
CheckParameters6( IMAPIFolder_SetMessageStatus, a1, a2, a3, a4, a5, a6 )
|
|
|
|
#define Validate_IMAPIFolder_SaveContentsSort( a1, a2, a3 ) \
|
|
ValidateParameters3( IMAPIFolder_SaveContentsSort, a1, a2, a3 )
|
|
#define UlValidate_IMAPIFolder_SaveContentsSort( a1, a2, a3 ) \
|
|
UlValidateParameters3( IMAPIFolder_SaveContentsSort, a1, a2, a3 )
|
|
#define CheckParameters_IMAPIFolder_SaveContentsSort( a1, a2, a3 ) \
|
|
CheckParameters3( IMAPIFolder_SaveContentsSort, a1, a2, a3 )
|
|
|
|
#define Validate_IMAPIFolder_EmptyFolder( a1, a2, a3, a4 ) \
|
|
ValidateParameters4( IMAPIFolder_EmptyFolder, a1, a2, a3, a4 )
|
|
#define UlValidate_IMAPIFolder_EmptyFolder( a1, a2, a3, a4 ) \
|
|
UlValidateParameters4( IMAPIFolder_EmptyFolder, a1, a2, a3, a4 )
|
|
#define CheckParameters_IMAPIFolder_EmptyFolder( a1, a2, a3, a4 ) \
|
|
CheckParameters4( IMAPIFolder_EmptyFolder, a1, a2, a3, a4 )
|
|
|
|
|
|
/* IStream */
|
|
|
|
#define Validate_IStream_Read( a1, a2, a3, a4 ) \
|
|
ValidateParameters4( IStream_Read, a1, a2, a3, a4 )
|
|
#define UlValidate_IStream_Read( a1, a2, a3, a4 ) \
|
|
UlValidateParameters4( IStream_Read, a1, a2, a3, a4 )
|
|
#define CheckParameters_IStream_Read( a1, a2, a3, a4 ) \
|
|
CheckParameters4( IStream_Read, a1, a2, a3, a4 )
|
|
|
|
#define Validate_IStream_Write( a1, a2, a3, a4 ) \
|
|
ValidateParameters4( IStream_Write, a1, a2, a3, a4 )
|
|
#define UlValidate_IStream_Write( a1, a2, a3, a4 ) \
|
|
UlValidateParameters4( IStream_Write, a1, a2, a3, a4 )
|
|
#define CheckParameters_IStream_Write( a1, a2, a3, a4 ) \
|
|
CheckParameters4( IStream_Write, a1, a2, a3, a4 )
|
|
|
|
#define Validate_IStream_Seek( a1, a2, a3, a4 ) \
|
|
ValidateParameters4( IStream_Seek, a1, a2, a3, a4 )
|
|
#define UlValidate_IStream_Seek( a1, a2, a3, a4 ) \
|
|
UlValidateParameters4( IStream_Seek, a1, a2, a3, a4 )
|
|
#define CheckParameters_IStream_Seek( a1, a2, a3, a4 ) \
|
|
CheckParameters4( IStream_Seek, a1, a2, a3, a4 )
|
|
|
|
#define Validate_IStream_SetSize( a1, a2 ) \
|
|
ValidateParameters2( IStream_SetSize, a1, a2 )
|
|
#define UlValidate_IStream_SetSize( a1, a2 ) \
|
|
UlValidateParameters2( IStream_SetSize, a1, a2 )
|
|
#define CheckParameters_IStream_SetSize( a1, a2 ) \
|
|
CheckParameters2( IStream_SetSize, a1, a2 )
|
|
|
|
#define Validate_IStream_CopyTo( a1, a2, a3, a4, a5 ) \
|
|
ValidateParameters5( IStream_CopyTo, a1, a2, a3, a4, a5 )
|
|
#define UlValidate_IStream_CopyTo( a1, a2, a3, a4, a5 ) \
|
|
UlValidateParameters5( IStream_CopyTo, a1, a2, a3, a4, a5 )
|
|
#define CheckParameters_IStream_CopyTo( a1, a2, a3, a4, a5 ) \
|
|
CheckParameters5( IStream_CopyTo, a1, a2, a3, a4, a5 )
|
|
|
|
#define Validate_IStream_Commit( a1, a2 ) \
|
|
ValidateParameters2( IStream_Commit, a1, a2 )
|
|
#define UlValidate_IStream_Commit( a1, a2 ) \
|
|
UlValidateParameters2( IStream_Commit, a1, a2 )
|
|
#define CheckParameters_IStream_Commit( a1, a2 ) \
|
|
CheckParameters2( IStream_Commit, a1, a2 )
|
|
|
|
#define Validate_IStream_Revert( a1 ) \
|
|
ValidateParameters1( IStream_Revert, a1 )
|
|
#define UlValidate_IStream_Revert( a1 ) \
|
|
UlValidateParameters1( IStream_Revert, a1 )
|
|
#define CheckParameters_IStream_Revert( a1 ) \
|
|
CheckParameters1( IStream_Revert, a1 )
|
|
|
|
#define Validate_IStream_LockRegion( a1, a2, a3, a4 ) \
|
|
ValidateParameters4( IStream_LockRegion, a1, a2, a3, a4 )
|
|
#define UlValidate_IStream_LockRegion( a1, a2, a3, a4 ) \
|
|
UlValidateParameters4( IStream_LockRegion, a1, a2, a3, a4 )
|
|
#define CheckParameters_IStream_LockRegion( a1, a2, a3, a4 ) \
|
|
CheckParameters4( IStream_LockRegion, a1, a2, a3, a4 )
|
|
|
|
#define Validate_IStream_UnlockRegion( a1, a2, a3, a4 ) \
|
|
ValidateParameters4( IStream_UnlockRegion, a1, a2, a3, a4 )
|
|
#define UlValidate_IStream_UnlockRegion( a1, a2, a3, a4 ) \
|
|
UlValidateParameters4( IStream_UnlockRegion, a1, a2, a3, a4 )
|
|
#define CheckParameters_IStream_UnlockRegion( a1, a2, a3, a4 ) \
|
|
CheckParameters4( IStream_UnlockRegion, a1, a2, a3, a4 )
|
|
|
|
#define Validate_IStream_Stat( a1, a2, a3 ) \
|
|
ValidateParameters3( IStream_Stat, a1, a2, a3 )
|
|
#define UlValidate_IStream_Stat( a1, a2, a3 ) \
|
|
UlValidateParameters3( IStream_Stat, a1, a2, a3 )
|
|
#define CheckParameters_IStream_Stat( a1, a2, a3 ) \
|
|
CheckParameters3( IStream_Stat, a1, a2, a3 )
|
|
|
|
#define Validate_IStream_Clone( a1, a2 ) \
|
|
ValidateParameters2( IStream_Clone, a1, a2 )
|
|
#define UlValidate_IStream_Clone( a1, a2 ) \
|
|
UlValidateParameters2( IStream_Clone, a1, a2 )
|
|
#define CheckParameters_IStream_Clone( a1, a2 ) \
|
|
CheckParameters2( IStream_Clone, a1, a2 )
|
|
|
|
|
|
/* IMAPIAdviseSink */
|
|
|
|
#define Validate_IMAPIAdviseSink_OnNotify( a1, a2, a3 ) \
|
|
ValidateParameters3( IMAPIAdviseSink_OnNotify, a1, a2, a3 )
|
|
#define UlValidate_IMAPIAdviseSink_OnNotify( a1, a2, a3 ) \
|
|
UlValidateParameters3( IMAPIAdviseSink_OnNotify, a1, a2, a3 )
|
|
#define CheckParameters_IMAPIAdviseSink_OnNotify( a1, a2, a3 ) \
|
|
CheckParameters3( IMAPIAdviseSink_OnNotify, a1, a2, a3 )
|
|
|
|
|
|
/* IWABObject */
|
|
|
|
#define Validate_IWABObject_GetLastError( a1, a2, a3, a4 ) \
|
|
ValidateParameters4( IWABObject_GetLastError, a1, a2, a3, a4 )
|
|
#define UlValidate_IWABObject_GetLastError( a1, a2, a3, a4 ) \
|
|
UlValidateParameters4( IWABOBject_GetLastError, a1, a2, a3, a4 )
|
|
#define CheckParameters_IWABObject_GetLastError( a1, a2, a3, a4 ) \
|
|
CheckParameters4( IWABObject_GetLastError, a1, a2, a3, a4 )
|
|
|
|
|
|
#define Validate_IWABObject_AllocateBuffer( a1, a2, a3 ) \
|
|
ValidateParameters3( IWABObject_AllocateBuffer, a1, a2, a3 )
|
|
#define UlValidate_IWABObject_AllocateBuffer( a1, a2, a3) \
|
|
UlValidateParameters3( IWABOBject_AllocateBuffer, a1, a2, a3 )
|
|
#define CheckParameters_IWABObject_AllocateBuffer( a1, a2, a3 ) \
|
|
CheckParameters3( IWABObject_AllocateBuffer, a1, a2, a3 )
|
|
|
|
|
|
#define Validate_IWABObject_AllocateMore( a1, a2, a3, a4 ) \
|
|
ValidateParameters4( IWABObject_AllocateMore, a1, a2, a3, a4 )
|
|
#define UlValidate_IWABObject_AllocateMore( a1, a2, a3, a4 ) \
|
|
UlValidateParameters4( IWABOBject_AllocateMore, a1, a2, a3, a4 )
|
|
#define CheckParameters_IWABObject_AllocateMore( a1, a2, a3, a4 ) \
|
|
CheckParameters4( IWABObject_AllocateMore, a1, a2, a3, a4 )
|
|
|
|
|
|
#define Validate_IWABObject_FreeBuffer( a1, a2 ) \
|
|
ValidateParameters2( IWABObject_FreeBuffer, a1, a2 )
|
|
#define UlValidate_IWABObject_FreeBuffer( a1, a2 ) \
|
|
UlValidateParameters2( IWABOBject_FreeBuffer, a1, a2 )
|
|
#define CheckParameters_IWABObject_FreeBuffer( a1, a2 ) \
|
|
CheckParameters2( IWABObject_FreeBuffer, a1, a2 )
|
|
|
|
|
|
#define Validate_IWABObject_Backup( a1, a2 ) \
|
|
ValidateParameters2( IWABObject_Backup, a1, a2 )
|
|
#define UlValidate_IWABObject_Backup( a1, a2 ) \
|
|
UlValidateParameters2( IWABOBject_Backup, a1, a2 )
|
|
#define CheckParameters_IWABObject_Backup( a1, a2 ) \
|
|
CheckParameters2( IWABObject_Backup, a1, a2 )
|
|
|
|
|
|
#define Validate_IWABObject_Import( a1, a2 ) \
|
|
ValidateParameters2( IWABObject_Import, a1, a2 )
|
|
#define UlValidate_IWABObject_Import( a1, a2 ) \
|
|
UlValidateParameters2( IWABOBject_Import, a1, a2 )
|
|
#define CheckParameters_IWABObject_Import( a1, a2 ) \
|
|
CheckParameters2( IWABObject_Import, a1, a2 )
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#ifdef WIN16
|
|
HRESULT
|
|
PASCAL HrValidateParameters( METHODS eMethod, LPVOID FAR *ppFirstArg );
|
|
#elif defined(_X86_)
|
|
STDAPI HrValidateParameters( METHODS eMethod, LPVOID FAR *ppFirstArg );
|
|
#else
|
|
STDAPIV HrValidateParametersV( METHODS eMethod, ... );
|
|
STDAPIV HrValidateParametersValist( METHODS eMethod, va_list arglist );
|
|
#endif /* WIN16 */
|
|
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif /* _INC_VALIDATE */
|
|
|