Source code of Windows XP (NT5)
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.

61 lines
1.9 KiB

  1. /*******************************************************************************
  2. *
  3. * (C) COPYRIGHT MICROSOFT CORPORATION, 1998
  4. *
  5. * TITLE: PROPARRY.H
  6. *
  7. * VERSION: 1.0
  8. *
  9. * AUTHOR: ShaunIv
  10. *
  11. * DATE: 5/4/1999
  12. *
  13. * DESCRIPTION: IWiaPropertyStorage cache declarations
  14. *
  15. *******************************************************************************/
  16. #ifndef __PROPARRY_H_INCLUDED
  17. #define __PROPARRY_H_INCLUDED
  18. #include <windows.h>
  19. #include <objbase.h>
  20. #include "wia.h"
  21. #include "simstr.h"
  22. class CPropertyStorageArray
  23. {
  24. private:
  25. int m_nCount;
  26. PROPSPEC *m_ppsPropSpecs;
  27. LPWSTR *m_pstrPropNames;
  28. PROPVARIANT *m_ppvPropVariants;
  29. public:
  30. CPropertyStorageArray( const CPropertyStorageArray &other );
  31. CPropertyStorageArray(IUnknown *pIUnknown = NULL);
  32. ~CPropertyStorageArray(void);
  33. bool IsValid(void) const;
  34. HRESULT Copy( const CPropertyStorageArray &other );
  35. void ClearPropVariantArray(void);
  36. void Destroy(void);
  37. bool AllocateData(void);
  38. CPropertyStorageArray &operator=( const CPropertyStorageArray &other );
  39. static int GetPropertyCount( IWiaPropertyStorage *pIWiaPropertyStorage );
  40. HRESULT GetPropertyNames( IWiaPropertyStorage *pIWiaPropertyStorage );
  41. HRESULT Initialize( IUnknown *pIUnknown );
  42. HRESULT Read( IUnknown *pIUnknown );
  43. HRESULT Write( IUnknown *pIUnknown );
  44. HRESULT Write( IUnknown *pIUnknown, PROPID propId );
  45. int GetIndexFromPropId( PROPID propId );
  46. PROPVARIANT *GetProperty( PROPID propId );
  47. bool GetProperty( PROPID propId, LONG &nProp );
  48. bool GetProperty( PROPID propId, CSimpleStringWide &strProp );
  49. bool SetProperty( PROPID propId, PROPVARIANT *pPropVar );
  50. bool SetProperty( PROPID propId, LONG nProp );
  51. int Count(void) const;
  52. PROPVARIANT *PropVariants(void) const;
  53. PROPSPEC *PropSpecs(void) const;
  54. LPWSTR *PropNames(void) const;
  55. void Dump( int nIndex = -1 );
  56. };
  57. #endif