/*++ Copyright (c) 2000 Microsoft Corporation Module Name: WiaHelpers.h Abstract: Author: Hakki T. Bostanci (hakkib) 06-Apr-2000 Revision History: --*/ #ifndef _WIAHELPERS_H_ #define _WIAHELPERS_H_ ////////////////////////////////////////////////////////////////////////// // // cross references // #include "ComWrappers.h" #include "WiaWrappers.h" ////////////////////////////////////////////////////////////////////////// // // // class CMyWiaPropertyStorage : public IWiaPropertyStorage { public: HRESULT ReadSingle( const CPropSpec &PropSpec, CPropVariant *pPropVariant ) { return ReadMultiple(1, &PropSpec, pPropVariant); } HRESULT WriteSingle( const CPropSpec &PropSpec, const CPropVariant &PropVariant, PROPID propidNameFirst = WIA_IPA_FIRST ) { return WriteMultiple(1, &PropSpec, &PropVariant, propidNameFirst); } HRESULT ReadSingle( const CPropSpec &PropSpec, CPropVariant *pPropVariant, VARTYPE vtNew ); HRESULT WriteVerifySingle( const CPropSpec &PropSpec, const CPropVariant &PropVariant, PROPID propidNameFirst = WIA_IPA_FIRST ); }; HRESULT ReadWiaItemProperty( IWiaItem *pWiaItem, const CPropSpec &PropSpec, CPropVariant *pPropVariant, VARTYPE vtNew ); HRESULT WriteWiaItemProperty( IWiaItem *pWiaItem, const CPropSpec &PropSpec, const CPropVariant &PropVariant ); ////////////////////////////////////////////////////////////////////////// // // // bool operator ==(IWiaPropertyStorage &lhs, IWiaPropertyStorage &rhs); inline bool operator !=(IWiaPropertyStorage &lhs, IWiaPropertyStorage &rhs) { return !(lhs == rhs); } bool operator ==(IWiaItem &lhs, IWiaItem &rhs); inline bool operator !=(IWiaItem &lhs, IWiaItem &rhs) { return !(lhs == rhs); } ////////////////////////////////////////////////////////////////////////// // // define these classes to be able to overload the == and != operators // class CIWiaPropertyStoragePtr : public CComPtr { public: bool operator ==(CIWiaPropertyStoragePtr &rhs) { return **this == *rhs; } bool operator !=(CIWiaPropertyStoragePtr &rhs) { return !(**this == *rhs); } }; class CIWiaItemPtr : public CComPtr { public: bool operator ==(CIWiaItemPtr &rhs) { return **this == *rhs; } bool operator !=(CIWiaItemPtr &rhs) { return !(**this == *rhs); } }; ////////////////////////////////////////////////////////////////////////// // // // class CMyEnumSTATPROPSTG : public IEnumSTATPROPSTG { public: HRESULT GetCount(ULONG *pcelt); HRESULT Clone(CMyEnumSTATPROPSTG **ppenum); }; ////////////////////////////////////////////////////////////////////////// // // // BOOL InstallImageDeviceFromInf( PCTSTR pInfFileName, PCTSTR pDeviceName = 0 ); HRESULT InstallTestDevice( IWiaDevMgr *pWiaDevMgr, PCTSTR pInfFileName, BSTR *pbstrDeviceId ); #endif //_WIAHELPERS_H_