diff options
Diffstat (limited to '')
-rw-r--r-- | public/sdk/inc/propset.h | 105 |
1 files changed, 105 insertions, 0 deletions
diff --git a/public/sdk/inc/propset.h b/public/sdk/inc/propset.h new file mode 100644 index 000000000..e6c065d46 --- /dev/null +++ b/public/sdk/inc/propset.h @@ -0,0 +1,105 @@ +//+-------------------------------------------------------------------------- +// +// Microsoft Windows +// Copyright (C) Microsoft Corporation, 1993 +// +// File: propset.h +// +// Contents: OLE Appendix B property set structure definitions +// +// History: 15-Jul-94 brianb created +// 15-Aug-94 SethuR revised +// 22-Feb-96 MikeHill Changed cb in tagENTRY to cch. +// 28-May-96 MikeHill Changed OSVER_* to OSKIND_*. +// +//--------------------------------------------------------------------------- + +#ifndef _PROPSET_H_ +#define _PROPSET_H_ + +// CBMAXPROPSETSTREAM must be a power of 2. +#define CBMAXPROPSETSTREAM (256 * 1024) + +#define IsIndirectVarType(vt) \ + ((vt) == VT_STREAM || \ + (vt) == VT_STREAMED_OBJECT || \ + (vt) == VT_STORAGE || \ + (vt) == VT_STORED_OBJECT) + + +// Defines for the high order WORD of dwOSVer: + +#define OSKIND_WINDOWS 0x0000 +#define OSKIND_MACINTOSH 0x0001 +#define OSKIND_WIN32 0x0002 + + +typedef struct tagFORMATIDOFFSET // fo +{ + FMTID fmtid; + DWORD dwOffset; +} FORMATIDOFFSET; + +#define CB_FORMATIDOFFSET sizeof(FORMATIDOFFSET) + + +typedef struct tagPROPERTYSETHEADER // ph +{ + WORD wByteOrder; // Always 0xfffe + WORD wFormat; // Always 0 + DWORD dwOSVer; // System version + CLSID clsid; // Application CLSID + DWORD reserved; // reserved (must be at least 1) +} PROPERTYSETHEADER; + +#define CB_PROPERTYSETHEADER sizeof(PROPERTYSETHEADER) +#define PROPSET_BYTEORDER 0xFFFE + + +typedef struct tagPROPERTYIDOFFSET // po +{ + DWORD propid; + DWORD dwOffset; +} PROPERTYIDOFFSET; + +#define CB_PROPERTYIDOFFSET sizeof(PROPERTYIDOFFSET) + + +typedef struct tagPROPERTYSECTIONHEADER // sh +{ + DWORD cbSection; + DWORD cProperties; + PROPERTYIDOFFSET rgprop[1]; +} PROPERTYSECTIONHEADER; + +#define CB_PROPERTYSECTIONHEADER FIELD_OFFSET(PROPERTYSECTIONHEADER, rgprop) + + +typedef struct tagSERIALIZEDPROPERTYVALUE // prop +{ + DWORD dwType; + BYTE rgb[1]; +} SERIALIZEDPROPERTYVALUE; + +#define CB_SERIALIZEDPROPERTYVALUE FIELD_OFFSET(SERIALIZEDPROPERTYVALUE, rgb) + + +typedef struct tagENTRY // ent +{ + DWORD propid; + DWORD cch; // Includes trailing '\0' or L'\0' + char sz[1]; // WCHAR if UNICODE CodePage +} ENTRY; + +#define CB_ENTRY FIELD_OFFSET(ENTRY, sz) + + +typedef struct tagDICTIONARY // dy +{ + DWORD cEntries; + ENTRY rgEntry[1]; +} DICTIONARY; + +#define CB_DICTIONARY FIELD_OFFSET(DICTIONARY, rgEntry) + +#endif // _PROPSET_H_ |