495 lines
18 KiB
C++
495 lines
18 KiB
C++
/*
|
|
* propidl.h Property storage interfaces
|
|
*
|
|
* =========================================================================
|
|
*
|
|
* Open Watcom Project
|
|
*
|
|
* Copyright (c) 2004-2010 The Open Watcom Contributors. All Rights Reserved.
|
|
*
|
|
* This file is automatically generated. Do not edit directly.
|
|
*
|
|
* =========================================================================
|
|
*/
|
|
|
|
#include <rpc.h>
|
|
#include <rpcndr.h>
|
|
#ifndef COM_NO_WINDOWS_H
|
|
#include <windows.h>
|
|
#include <ole2.h>
|
|
#endif
|
|
|
|
#ifndef __propidl_h__
|
|
#define __propidl_h__
|
|
|
|
#ifndef _ENABLE_AUTODEPEND
|
|
#pragma read_only_file;
|
|
#endif
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
/* Forward declarations */
|
|
typedef interface IEnumSTATPROPSTG IEnumSTATPROPSTG;
|
|
typedef interface IEnumSTATPROPSETSTG IEnumSTATPROPSETSTG;
|
|
#ifdef __cplusplus
|
|
class PMemoryAllocator;
|
|
#endif
|
|
|
|
/* Macro to declare counted array (vector) data types */
|
|
#define TYPEDEF_CA( p1, p2 ) \
|
|
typedef struct tag##p2 { \
|
|
ULONG cElems; \
|
|
p1 *pElems; \
|
|
} p2
|
|
|
|
/* Counted array data types */
|
|
TYPEDEF_CA( CHAR, CAC );
|
|
TYPEDEF_CA( UCHAR, CAUB );
|
|
TYPEDEF_CA( SHORT, CAI );
|
|
TYPEDEF_CA( USHORT, CAUI );
|
|
TYPEDEF_CA( LONG, CAL );
|
|
TYPEDEF_CA( ULONG, CAUL );
|
|
TYPEDEF_CA( FLOAT, CAFLT );
|
|
TYPEDEF_CA( DOUBLE, CADBL );
|
|
TYPEDEF_CA( CY, CACY );
|
|
TYPEDEF_CA( DATE, CADATE );
|
|
TYPEDEF_CA( BSTR, CABSTR );
|
|
TYPEDEF_CA( BSTRBLOB, CABSTRBLOB );
|
|
TYPEDEF_CA( VARIANT_BOOL, CABOOL );
|
|
TYPEDEF_CA( SCODE, CASCODE );
|
|
TYPEDEF_CA( struct tagPROPVARIANT, CAPROPVARIANT );
|
|
TYPEDEF_CA( LARGE_INTEGER, CAH );
|
|
TYPEDEF_CA( ULARGE_INTEGER, CAUH );
|
|
TYPEDEF_CA( LPSTR, CALPSTR );
|
|
TYPEDEF_CA( LPWSTR, CALPWSTR );
|
|
TYPEDEF_CA( FILETIME, CAFILETIME );
|
|
TYPEDEF_CA( CLIPDATA, CACLIPDATA );
|
|
TYPEDEF_CA( CLSID, CACLSID );
|
|
|
|
/* Property set flags */
|
|
#define PROPSETFLAG_DEFAULT 0L
|
|
#define PROPSETFLAG_NONSIMPLE 1L
|
|
#define PROPSETFLAG_ANSI 2L
|
|
#define PROPSETFLAG_UNBUFFERED 4L
|
|
#define PROPSETFLAG_CASE_SENSITIVE 8L
|
|
|
|
/* Property set behavior flags */
|
|
#define PROPSET_BEHAVIOR_CASE_SENSITIVE 1L
|
|
|
|
/* Property identifiers */
|
|
#define PID_DICTIONARY 0x00000000L
|
|
#define PID_CODEPAGE 0x00000001L
|
|
#define PID_FIRST_USABLE 0x00000002L
|
|
#define PID_FIRST_NAME_DEFAULT 0x0000FFFFL
|
|
#define PID_LOCALE 0x80000000L
|
|
#define PID_MODIFY_TIME 0x80000001L
|
|
#define PID_SECURITY 0x80000002L
|
|
#define PID_BEHAVIOR 0x80000003L
|
|
#define PID_ILLEGAL 0xFFFFFFFFL
|
|
#define PID_MIN_READONLY 0x80000000L
|
|
#define PID_MAX_READONLY 0xBFFFFFFFL
|
|
|
|
/* Discardable information property identifiers */
|
|
#define PIDDI_THUMBNAIL 0x00000002L
|
|
|
|
/* Summary information property identifiers */
|
|
#define PIDSI_TITLE 0x00000002L
|
|
#define PIDSI_SUBJECT 0x00000003L
|
|
#define PIDSI_AUTHOR 0x00000004L
|
|
#define PIDSI_KEYWORDS 0x00000005L
|
|
#define PIDSI_COMMENTS 0x00000006L
|
|
#define PIDSI_TEMPLATE 0x00000007L
|
|
#define PIDSI_LASTAUTHOR 0x00000008L
|
|
#define PIDSI_REVNUMBER 0x00000009L
|
|
#define PIDSI_EDITTIME 0x0000000AL
|
|
#define PIDSI_LASTPRINTED 0x0000000BL
|
|
#define PIDSI_CREATE_DTM 0x0000000CL
|
|
#define PIDSI_LASTSAVE_DTM 0x0000000DL
|
|
#define PIDSI_PAGECOUNT 0x0000000EL
|
|
#define PIDSI_WORDCOUNT 0x0000000FL
|
|
#define PIDSI_CHARCOUNT 0x00000010L
|
|
#define PIDSI_THUMBNAIL 0x00000011L
|
|
#define PIDSI_APPNAME 0x00000012L
|
|
#define PIDSI_DOC_SECURITY 0x00000013L
|
|
|
|
/* Document summary information property identifiers */
|
|
#define PIDDSI_CATEGORY 0x00000002L
|
|
#define PIDDSI_PRESFORMAT 0x00000003L
|
|
#define PIDDSI_BYTECOUNT 0x00000004L
|
|
#define PIDDSI_LINECOUNT 0x00000005L
|
|
#define PIDDSI_PARCOUNT 0x00000006L
|
|
#define PIDDSI_SLIDECOUNT 0x00000007L
|
|
#define PIDDSI_NOTECOUNT 0x00000008L
|
|
#define PIDDSI_HIDDENCOUNT 0x00000009L
|
|
#define PIDDSI_MMCLIPCOUNT 0x0000000AL
|
|
#define PIDDSI_SCALE 0x0000000BL
|
|
#define PIDDSI_HEADINGPAIR 0x0000000CL
|
|
#define PIDDSI_DOCPARTS 0x0000000DL
|
|
#define PIDDSI_MANAGER 0x0000000EL
|
|
#define PIDDSI_COMPANY 0x0000000FL
|
|
#define PIDDSI_LINKSDIRTY 0x00000010L
|
|
|
|
/* Media file summary information property identifiers */
|
|
#define PIDMSI_EDITOR 0x00000002L
|
|
#define PIDMSI_SUPPLIER 0x00000003L
|
|
#define PIDMSI_SOURCE 0x00000004L
|
|
#define PIDMSI_SEQUENCE_NO 0x00000005L
|
|
#define PIDMSI_PROJECT 0x00000006L
|
|
#define PIDMSI_STATUS 0x00000007L
|
|
#define PIDMSI_OWNER 0x00000008L
|
|
#define PIDMSI_RATING 0x00000009L
|
|
#define PIDMSI_PRODUCTION 0x0000000AL
|
|
#define PIDMSI_COPYRIGHT 0x0000000BL
|
|
|
|
/* Property specifier kinds */
|
|
#define PRSPEC_INVALID 0xFFFFFFFFL
|
|
#define PRSPEC_LPWSTR 0x00000000L
|
|
#define PRSPEC_PROPID 0x00000001L
|
|
|
|
/* Macros to manipulate operating system version numbers */
|
|
#define PROPSETHDR_OSVER_KIND( x ) HIWORD( x )
|
|
#define PROPSETHDR_OSVER_MAJOR( x ) LOBYTE( LOWORD( x ) )
|
|
#define PROPSETHDR_OSVER_MINOR( x ) HIBYTE( LOWORD( x ) )
|
|
|
|
/* Operating system version special value */
|
|
#define PROPSETHDR_OSVERSION_UNKNOWN 0xFFFFFFFFL
|
|
|
|
/* Maximum property storage name length */
|
|
#define CCH_MAX_PROPSTG_NAME 31
|
|
|
|
/* Versioned stream */
|
|
typedef struct tagVersionedStream {
|
|
GUID guidVersion;
|
|
IStream *pStream;
|
|
} VERSIONEDSTREAM;
|
|
typedef VERSIONEDSTREAM *LPVERSIONEDSTREAM;
|
|
|
|
/* Property variant */
|
|
typedef WORD PROPVAR_PAD1;
|
|
typedef WORD PROPVAR_PAD2;
|
|
typedef WORD PROPVAR_PAD3;
|
|
#define tag_inner_PROPVARIANT
|
|
typedef struct tagPROPVARIANT {
|
|
union {
|
|
struct tag_inner_PROPVARIANT {
|
|
VARTYPE vt;
|
|
PROPVAR_PAD1 wReserved1;
|
|
PROPVAR_PAD2 wReserved2;
|
|
PROPVAR_PAD3 wReserved3;
|
|
union {
|
|
CHAR cVal;
|
|
UCHAR bVal;
|
|
SHORT iVal;
|
|
USHORT uiVal;
|
|
LONG lVal;
|
|
ULONG ulVal;
|
|
INT intVal;
|
|
UINT uintVal;
|
|
LARGE_INTEGER hVal;
|
|
ULARGE_INTEGER uhVal;
|
|
FLOAT fltVal;
|
|
DOUBLE dblVal;
|
|
VARIANT_BOOL boolVal;
|
|
SCODE scode;
|
|
CY cyVal;
|
|
DATE date;
|
|
FILETIME filetime;
|
|
CLSID *puuid;
|
|
CLIPDATA *pclipdata;
|
|
BSTR bstrVal;
|
|
BSTRBLOB bstrblobVal;
|
|
BLOB blob;
|
|
LPSTR pszVal;
|
|
LPWSTR pwszVal;
|
|
IUnknown *punkVal;
|
|
IDispatch *pdispVal;
|
|
IStream *pStream;
|
|
IStorage *pStorage;
|
|
LPVERSIONEDSTREAM pVersionedStream;
|
|
LPSAFEARRAY parray;
|
|
CAC cac;
|
|
CAUB caub;
|
|
CAI cai;
|
|
CAUI caui;
|
|
CAL cal;
|
|
CAUL caul;
|
|
CAH cah;
|
|
CAUH cauh;
|
|
CAFLT caflt;
|
|
CADBL cadbl;
|
|
CABOOL cabool;
|
|
CASCODE cascode;
|
|
CACY cacy;
|
|
CADATE cadate;
|
|
CAFILETIME cafiletime;
|
|
CACLSID cauuid;
|
|
CACLIPDATA caclipdata;
|
|
CABSTR cabstr;
|
|
CABSTRBLOB cabstrblob;
|
|
CALPSTR calpstr;
|
|
CALPWSTR calpwstr;
|
|
CAPROPVARIANT capropvar;
|
|
CHAR *pcVal;
|
|
UCHAR *pbVal;
|
|
SHORT *piVal;
|
|
USHORT *puiVal;
|
|
LONG *plVal;
|
|
ULONG *pulVal;
|
|
INT *pintVal;
|
|
UINT *puintVal;
|
|
FLOAT *pfltVal;
|
|
DOUBLE *pdblVal;
|
|
VARIANT_BOOL *pboolVal;
|
|
DECIMAL *pdecVal;
|
|
SCODE *pscode;
|
|
CY *pcyval;
|
|
DATE *pdate;
|
|
BSTR *pbstrVal;
|
|
IUnknown **ppunkVal;
|
|
IDispatch **ppdispVal;
|
|
LPSAFEARRAY *pparray;
|
|
struct tagPROPVARIANT *pvarVal;
|
|
};
|
|
};
|
|
DECIMAL decVal;
|
|
};
|
|
} PROPVARIANT;
|
|
typedef PROPVARIANT *LPPROPVARIANT;
|
|
#ifdef __cplusplus
|
|
#define REFPROPVARIANT const PROPVARIANT &
|
|
#else
|
|
#define REFPROPVARIANT const PROPVARIANT *const
|
|
#endif
|
|
|
|
/* Media file status values */
|
|
enum PIDMSI_STATUS_VALUE {
|
|
PIDMSI_STATUS_NORMAL = 0,
|
|
PIDMSI_STATUS_NEW = 1,
|
|
PIDMSI_STATUS_PRELIM = 2,
|
|
PIDMSI_STATUS_DRAFT = 3,
|
|
PIDMSI_STATUS_INPROGRESS = 4,
|
|
PIDMSI_STATUS_EDIT = 5,
|
|
PIDMSI_STATUS_REVIEW = 6,
|
|
PIDMSI_STATUS_PROOF = 7,
|
|
PIDMSI_STATUS_FINAL = 8,
|
|
PIDMSI_STATUS_OTHER = 0x00007FFF
|
|
};
|
|
|
|
/* Property specifier */
|
|
typedef struct tagPROPSPEC {
|
|
ULONG ulKind;
|
|
union {
|
|
PROPID propid;
|
|
LPOLESTR lpwstr;
|
|
};
|
|
} PROPSPEC;
|
|
|
|
/* Static property storage */
|
|
typedef struct tagSTATPROPSTG {
|
|
LPOLESTR lpwstrName;
|
|
PROPID propid;
|
|
VARTYPE vt;
|
|
} STATPROPSTG;
|
|
|
|
/* Static property set storage */
|
|
typedef struct tagSTATPROPSETSTG {
|
|
FMTID fmtid;
|
|
CLSID clsid;
|
|
DWORD grfFlags;
|
|
FILETIME mtime;
|
|
FILETIME ctime;
|
|
FILETIME atime;
|
|
DWORD dwOSVersion;
|
|
} STATPROPSETSTG;
|
|
|
|
/* Serialized property value */
|
|
typedef struct tagSERIALIZEDPROPERTYVALUE {
|
|
DWORD dwType;
|
|
BYTE rgb[1];
|
|
} SERIALIZEDPROPERTYVALUE;
|
|
|
|
/* GUIDs */
|
|
EXTERN_C const IID IID_IPropertyStorage;
|
|
EXTERN_C const IID IID_IPropertySetStorage;
|
|
EXTERN_C const IID IID_IEnumSTATPROPSTG;
|
|
EXTERN_C const IID IID_IEnumSTATPROPSETSTG;
|
|
|
|
/* IPropertyStorage interface */
|
|
#undef INTERFACE
|
|
#define INTERFACE IPropertyStorage
|
|
DECLARE_INTERFACE_( IPropertyStorage, IUnknown ) {
|
|
/* IUnknown methods */
|
|
STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE;
|
|
STDMETHOD_( ULONG, AddRef )( THIS ) PURE;
|
|
STDMETHOD_( ULONG, Release )( THIS ) PURE;
|
|
|
|
/* IPropertyStorage methods */
|
|
STDMETHOD( ReadMultiple )( THIS_ ULONG, const PROPSPEC [], PROPVARIANT [] ) PURE;
|
|
STDMETHOD( WriteMultiple )( THIS_ ULONG, const PROPSPEC [], const PROPVARIANT [], PROPID ) PURE;
|
|
STDMETHOD( DeleteMultiple )( THIS_ ULONG, const PROPSPEC [] ) PURE;
|
|
STDMETHOD( ReadPropertyNames )( THIS_ ULONG, const PROPID [], LPOLESTR [] ) PURE;
|
|
STDMETHOD( WritePropertyNames )( THIS_ ULONG, const PROPID [], const LPOLESTR [] ) PURE;
|
|
STDMETHOD( DeletePropertyNames )( THIS_ ULONG, const PROPID [] ) PURE;
|
|
STDMETHOD( Commit )( THIS_ DWORD ) PURE;
|
|
STDMETHOD( Revert )( THIS ) PURE;
|
|
STDMETHOD( Enum )( THIS_ IEnumSTATPROPSTG ** ) PURE;
|
|
STDMETHOD( SetTimes )( THIS_ FILETIME const *, FILETIME const *, FILETIME const * ) PURE;
|
|
STDMETHOD( SetClass )( THIS_ REFCLSID ) PURE;
|
|
STDMETHOD( Stat )( THIS_ STATPROPSETSTG * ) PURE;
|
|
};
|
|
typedef IPropertyStorage *LPPROPERTYSTORAGE;
|
|
|
|
/* IPropertySetStorage interface */
|
|
#undef INTERFACE
|
|
#define INTERFACE IPropertySetStorage
|
|
DECLARE_INTERFACE_( IPropertySetStorage, IUnknown ) {
|
|
/* IUnknown methods */
|
|
STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE;
|
|
STDMETHOD_( ULONG, AddRef )( THIS ) PURE;
|
|
STDMETHOD_( ULONG, Release )( THIS ) PURE;
|
|
|
|
/* IPropertySetStorage methods */
|
|
STDMETHOD( Create )( THIS_ REFFMTID, const CLSID *, DWORD, DWORD, IPropertyStorage ** ) PURE;
|
|
STDMETHOD( Open )( THIS_ REFFMTID, DWORD, IPropertyStorage ** ) PURE;
|
|
STDMETHOD( Delete )( THIS_ REFFMTID ) PURE;
|
|
STDMETHOD( Enum )( THIS_ IEnumSTATPROPSETSTG ** ) PURE;
|
|
};
|
|
typedef IPropertySetStorage *LPPROPERTYSETSTORAGE;
|
|
|
|
/* IEnumSTATPROPSTG interface */
|
|
#undef INTERFACE
|
|
#define INTERFACE IEnumSTATPROPSTG
|
|
DECLARE_INTERFACE_( IEnumSTATPROPSTG, IUnknown ) {
|
|
/* IUnknown methods */
|
|
STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE;
|
|
STDMETHOD_( ULONG, AddRef )( THIS ) PURE;
|
|
STDMETHOD_( ULONG, Release )( THIS ) PURE;
|
|
|
|
/* IEnumSTATPROPSTG methods */
|
|
STDMETHOD( Next )( THIS_ ULONG, STATPROPSTG *, ULONG * ) PURE;
|
|
STDMETHOD( Skip )( THIS_ ULONG ) PURE;
|
|
STDMETHOD( Reset )( THIS ) PURE;
|
|
STDMETHOD( Clone )( THIS_ IEnumSTATPROPSTG ** ) PURE;
|
|
};
|
|
typedef IEnumSTATPROPSTG *LPENUMSTATPROPSTG;
|
|
|
|
/* IEnumSTATPROPSETSTG interface */
|
|
#undef INTERFACE
|
|
#define INTERFACE IEnumSTATPROPSETSTG
|
|
DECLARE_INTERFACE_( IEnumSTATPROPSETSTG, IUnknown ) {
|
|
/* IUnknown methods */
|
|
STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE;
|
|
STDMETHOD_( ULONG, AddRef )( THIS ) PURE;
|
|
STDMETHOD_( ULONG, Release )( THIS ) PURE;
|
|
|
|
/* IEnumSTATPROPSTG methods */
|
|
STDMETHOD( Next )( THIS_ ULONG, STATPROPSETSTG *, ULONG * ) PURE;
|
|
STDMETHOD( Skip )( THIS_ ULONG ) PURE;
|
|
STDMETHOD( Reset )( THIS ) PURE;
|
|
STDMETHOD( Clone )( THIS_ IEnumSTATPROPSETSTG ** ) PURE;
|
|
};
|
|
typedef IEnumSTATPROPSETSTG *LPENUMSTATPROPSETSTG;
|
|
|
|
/* C object macros */
|
|
#if (!defined( __cplusplus ) || defined( CINTERFACE )) && defined( COBJMACROS )
|
|
#define IPropertyStorage_QueryInterface( x, p1, p2 ) \
|
|
(x)->lpVtbl->QueryInterface( x, p1, p2 )
|
|
#define IPropertyStorage_AddRef( x ) \
|
|
(x)->lpVtbl->AddRef( x )
|
|
#define IPropertyStorage_Release( x ) \
|
|
(x)->lpVtbl->Release( x )
|
|
#define IPropertyStorage_ReadMultiple( x, p1, p2, p3 ) \
|
|
(x)->lpVtbl->ReadMultiple( x, p1, p2, p3 )
|
|
#define IPropertyStorage_WriteMultiple( x, p1, p2, p3, p4 ) \
|
|
(x)->lpVtbl->WriteMultiple( x, p1, p2, p3, p4 )
|
|
#define IPropertyStorage_DeleteMultiple( x, p1, p2 ) \
|
|
(x)->lpVtbl->DeleteMultiple( x, p1, p2 )
|
|
#define IPropertyStorage_ReadPropertyNames( x, p1, p2, p3 ) \
|
|
(x)->lpVtbl->ReadPropertyNames( x, p1, p2, p3 )
|
|
#define IPropertyStorage_WritePropertyNames( x, p1, p2, p3 ) \
|
|
(x)->lpVtbl->WritePropertyNames( x, p1, p2, p3 )
|
|
#define IPropertyStorage_DeletePropertyNames( x, p1, p2 ) \
|
|
(x)->lpVtbl->DeletePropertyNames( x, p1, p2 )
|
|
#define IPropertyStorage_Commit( x, p ) \
|
|
(x)->lpVtbl->Commit( x, p )
|
|
#define IPropertyStorage_Revert( x ) \
|
|
(x)->lpVtbl->Revert( x )
|
|
#define IPropertyStorage_Enum( x, p ) \
|
|
(x)->lpVtbl->Enum( x, p )
|
|
#define IPropertyStorage_SetTimes( x, p1, p2, p3 ) \
|
|
(x)->lpVtbl->SetTimes( x, p1, p2, p3 )
|
|
#define IPropertyStorage_SetClass( x, p ) \
|
|
(x)->lpVtbl->SetClass( x, p )
|
|
#define IPropertyStorage_Stat( x, p ) \
|
|
(x)->lpVtbl->Stat( x, p )
|
|
#define IPropertySetStorage_QueryInterface( x, p1, p2 ) \
|
|
(x)->lpVtbl->QueryInterface( x, p1, p2 )
|
|
#define IPropertySetStorage_AddRef( x ) \
|
|
(x)->lpVtbl->AddRef( x )
|
|
#define IPropertySetStorage_Release( x ) \
|
|
(x)->lpVtbl->Release( x )
|
|
#define IPropertySetStorage_Create( x, p1, p2, p3, p4, p5 ) \
|
|
(x)->lpVtbl->Create( x, p1, p2, p3, p4, p5 )
|
|
#define IPropertySetStorage_Open( x, p1, p2, p3 ) \
|
|
(x)->lpVtbl->Open( x, p1, p2, p3 )
|
|
#define IPropertySetStorage_Delete( x, p ) \
|
|
(x)->lpVtbl->Delete( x, p )
|
|
#define IPropertySetStorage_Enum( x, p ) \
|
|
(x)->lpVtbl->Enum( x, p )
|
|
#define IEnumSTATPROPSTG_QueryInterface( x, p1, p2 ) \
|
|
(x)->lpVtbl->QueryInterface( x, p1, p2 )
|
|
#define IEnumSTATPROPSTG_AddRef( x ) \
|
|
(x)->lpVtbl->AddRef( x )
|
|
#define IEnumSTATPROPSTG_Release( x ) \
|
|
(x)->lpVtbl->Release( x )
|
|
#define IEnumSTATPROPSTG_Next( x, p1, p2, p3 ) \
|
|
(x)->lpVtbl->Next( x, p1, p2, p3 )
|
|
#define IEnumSTATPROPSTG_Skip( x, p ) \
|
|
(x)->lpVtbl->Skip( x, p )
|
|
#define IEnumSTATPROPSTG_Reset( x ) \
|
|
(x)->lpVtbl->Reset( x )
|
|
#define IEnumSTATPROPSTG_Clone( x, p ) \
|
|
(x)->lpVtbl->Clone( x, p )
|
|
#define IEnumSTATPROPSETSTG_QueryInterface( x, p1, p2 ) \
|
|
(x)->lpVtbl->QueryInterface( x, p1, p2 )
|
|
#define IEnumSTATPROPSETSTG_AddRef( x ) \
|
|
(x)->lpVtbl->AddRef( x )
|
|
#define IEnumSTATPROPSETSTG_Release( x ) \
|
|
(x)->lpVtbl->Release( x )
|
|
#define IEnumSTATPROPSETSTG_Next( x, p1, p2, p3 ) \
|
|
(x)->lpVtbl->Next( x, p1, p2, p3 )
|
|
#define IEnumSTATPROPSETSTG_Skip( x, p ) \
|
|
(x)->lpVtbl->Skip( x, p )
|
|
#define IEnumSTATPROPSETSTG_Reset( x ) \
|
|
(x)->lpVtbl->Reset( x )
|
|
#define IEnumSTATPROPSETSTG_Clone( x, p ) \
|
|
(x)->lpVtbl->Clone( x, p )
|
|
#endif
|
|
|
|
/* Functions in OLE32.DLL */
|
|
WINOLEAPI FmtIdToPropStgName( const FMTID *, LPOLESTR );
|
|
WINOLEAPI FreePropVariantArray( ULONG, PROPVARIANT * );
|
|
WINOLEAPI PropStgNameToFmtId( const LPOLESTR, FMTID * );
|
|
WINOLEAPI PropVariantClear( PROPVARIANT * );
|
|
WINOLEAPI PropVariantCopy( PROPVARIANT *, const PROPVARIANT * );
|
|
WINOLEAPI StgCreatePropSetStg( IStorage *, DWORD, IPropertySetStorage ** );
|
|
WINOLEAPI StgCreatePropStg( IUnknown *, REFFMTID, const CLSID *, DWORD, DWORD, IPropertyStorage ** );
|
|
WINOLEAPI StgOpenPropStg( IUnknown *, REFFMTID, DWORD, DWORD, IPropertyStorage ** );
|
|
|
|
/* Functions in OLE32.DLL for property/variant conversion */
|
|
EXTERN_C SERIALIZEDPROPERTYVALUE * __stdcall StgConvertVariantToProperty( const PROPVARIANT *, USHORT, SERIALIZEDPROPERTYVALUE *, ULONG *, PROPID, BOOLEAN, ULONG * );
|
|
#ifdef __cplusplus
|
|
EXTERN_C BOOLEAN __stdcall StgConvertPropertyToVariant( const SERIALIZEDPROPERTYVALUE *, USHORT, PROPVARIANT *, PMemoryAllocator * );
|
|
#endif
|
|
|
|
/* Functions implemented as macros */
|
|
#define PropVariantInit( x ) memset( x, 0, sizeof( PROPVARIANT ) )
|
|
|
|
#ifdef __cplusplus
|
|
} /* extern "C" */
|
|
#endif
|
|
|
|
#endif /* __propidl_h__ */
|