/*** *testhelp.h * * Copyright (C) 1992, Microsoft Corporation. All Rights Reserved. * Information Contained Herein Is Proprietary and Confidential. * *Purpose: * Definition of common test helper functions. * *Revision History: * * [00] 09-Nov-92 Bradlo: Created. * *Implementation Notes: * *****************************************************************************/ typedef struct tagNAMEDESC NAMEDESC; struct tagNAMEDESC { OLECHAR FAR* FAR* rgszNames; int cNames; }; typedef struct tagSARRAYDESC SARRAYDESC; struct tagSARRAYDESC { unsigned int cDims; SAFEARRAYBOUND rgsabound[5]; }; //--------------------------------------------------------------------- // BSTR Helpers //--------------------------------------------------------------------- EXTERN_C CDECL_(HRESULT) BuildBstr(BSTR FAR* pbstr, OLECHAR FAR* szName); //--------------------------------------------------------------------- // Variant Helpers //--------------------------------------------------------------------- STDAPI VariantClearAll(VARIANTARG FAR* pvarg); EXTERN_C int VariantCompare( VARIANT FAR* pvarLeft, VARIANT FAR* pvarRight); //--------------------------------------------------------------------- // SafeArray Helpers //--------------------------------------------------------------------- EXTERN_C long sumof_indices(unsigned int cDims, long FAR* rgIndices); // SafeArray iterator EXTERN_C HRESULT first_element(unsigned int, SAFEARRAYBOUND FAR*, long FAR*); EXTERN_C HRESULT next_element(unsigned int, SAFEARRAYBOUND FAR*, long FAR*); EXTERN_C HRESULT SafeArrayCreateIdentity( VARTYPE vt, SARRAYDESC FAR* psarraydesc, SAFEARRAY FAR* FAR* ppsa); EXTERN_C HRESULT SafeArrayValidateIdentity(VARTYPE vt, SAFEARRAY FAR* psa, long offset); EXTERN_C void DbPrSafeArray(SAFEARRAY FAR*, VARTYPE); //--------------------------------------------------------------------- // Invoke Helpers //--------------------------------------------------------------------- EXTERN_C HRESULT GetDISPIDs( IDispatch FAR* pdisp, NAMEDESC FAR* pnd, DISPID FAR* FAR* prgdispid); EXTERN_C HRESULT DoInvoke( IDispatch FAR* pdisp, DISPID idMember, DISPPARAMS FAR* pdispparams, VARIANT FAR* pvarResult, EXCEPINFO FAR* pexcepinfo, unsigned int FAR* puArgErr); EXTERN_C int IsBadInvokeParams( DISPID dispidMember, REFIID riid, LCID lcid, unsigned short wFlags, DISPPARAMS FAR* pdispparams, VARIANT FAR* pvarResult, EXCEPINFO FAR* pexcepinfo, unsigned int FAR* puArgErr); #if OE_WIN32 && 0 EXTERN_C HRESULT GetWDISPIDs( IDispatchW FAR* pdisp, NAMEDESC FAR* pnd, DISPID FAR* FAR* prgdispid); EXTERN_C HRESULT DoInvokeW( IDispatchW FAR* pdisp, DISPID idMember, DISPPARAMS FAR* pdispparams, VARIANT FAR* pvarResult, WEXCEPINFO FAR* pexcepinfo, unsigned int FAR* puArgErr); EXTERN_C int IsBadInvokeWParams( DISPID dispidMember, REFIID riid, LCID lcid, unsigned short wFlags, DISPPARAMS FAR* pdispparams, VARIANT FAR* pvarResult, WEXCEPINFO FAR* pexcepinfo, unsigned int FAR* puArgErr); #endif