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.
|
|
//+-------------------------------------------------------------------------- // // Microsoft Windows // Copyright (C) Microsoft Corporation, 1993-1999 // // 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_
#if _MSC_VER > 1000 #pragma once #endif
// CBMAXPROPSETSTREAM must be a power of 2. #define CBMAXPROPSETSTREAM (1024 * 1024)
#define IsIndirectVarType(vt) \ ((vt) == VT_STREAM || \ (vt) == VT_STREAMED_OBJECT || \ (vt) == VT_STORAGE || \ (vt) == VT_STORED_OBJECT || \ (vt) == VT_VERSIONED_STREAM)
// 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_DICTIONARY_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_
|