|
|
/*
* propstg.h - Property storage ADT */
#ifndef _PROPSTG_H_
#define _PROPSTG_H_
#ifdef __cplusplus
extern "C" { #endif
DECLARE_HANDLE(HPROPSTG);
HRESULT WINAPI PropStg_Create( OUT HPROPSTG * phstg, IN DWORD dwFlags); // PSTGF_*
// Flags for PropStg_Create
#define PSTGF_DEFAULT 0x00000000
HRESULT WINAPI PropStg_Destroy( IN HPROPSTG hstg);
HRESULT WINAPI PropStg_ReadMultiple( IN HPROPSTG hstg, IN ULONG cpspec, IN const PROPSPEC * rgpropspec, IN PROPVARIANT * rgpropvar);
HRESULT WINAPI PropStg_WriteMultiple( IN HPROPSTG hstg, IN ULONG cpspec, IN const PROPSPEC * rgpropspec, IN const PROPVARIANT * rgpropvar, IN PROPID propidFirst); OPTIONAL
typedef HRESULT (CALLBACK *PFNPROPVARMASSAGE)(PROPID propid, const PROPVARIANT * ppropvar, LPARAM lParam);
HRESULT WINAPI PropStg_WriteMultipleEx( IN HPROPSTG hstg, IN ULONG cpspec, IN const PROPSPEC * rgpropspec, IN const PROPVARIANT * rgpropvar, IN PROPID propidFirst, OPTIONAL IN PFNPROPVARMASSAGE pfn, OPTIONAL IN LPARAM lParam); OPTIONAL
HRESULT WINAPI PropStg_DeleteMultiple( IN HPROPSTG hstg, IN ULONG cpspec, IN const PROPSPEC * rgpropspec);
HRESULT WINAPI PropStg_DirtyMultiple( IN HPROPSTG hstg, IN ULONG cpspec, IN const PROPSPEC * rgpropspec, IN BOOL bDirty);
HRESULT WINAPI PropStg_DirtyAll( IN HPROPSTG hstg, IN BOOL bDirty);
HRESULT WINAPI PropStg_IsDirty( IN HPROPSTG hstg);
typedef HRESULT (CALLBACK *PFNPROPSTGENUM)(PROPID propid, PROPVARIANT * ppropvar, LPARAM lParam);
HRESULT WINAPI PropStg_Enum( IN HPROPSTG hstg, IN DWORD dwFlags, // One of PSTGEF_
IN PFNPROPSTGENUM pfnEnum, IN LPARAM lParam); OPTIONAL
// Filter flags for PropStg_Enum
#define PSTGEF_DEFAULT 0x00000000
#define PSTGEF_DIRTY 0x00000001
#ifdef DEBUG
HRESULT WINAPI PropStg_Dump( IN HPROPSTG hstg, IN DWORD dwFlags); // One of PSTGDF_
#endif
#ifdef DEBUG
BOOL IsValidPPROPSPEC( PROPSPEC * ppropspec);
BOOL IsValidHPROPSTG( HPROPSTG hstg);
#endif
#ifdef __cplusplus
}; #endif
#endif // _PROPSTG_H_
|