| 1 | 
 cpp_quote("/**") | 
 
 
 
 
 
 | 2 | 
 cpp_quote(" * This file is part of the mingw-w64 runtime package.") | 
 
 
 
 
 
 | 3 | 
 cpp_quote(" * No warranty is given; refer to the file DISCLAIMER within this package.") | 
 
 
 
 
 
 | 4 | 
 cpp_quote(" */") | 
 
 
 
 
 
 | 5 | 
 cpp_quote("") | 
 
 
 
 
 
 | 6 | 
 cpp_quote("#include <winapifamily.h>") | 
 
 
 
 
 
 | 7 | 
 cpp_quote("") | 
 
 
 
 
 
 | 8 | 
  | 
 
 
 
 
 
 | 9 | 
 #ifndef DO_NO_IMPORTS | 
 
 
 
 
 
 | 10 | 
 import "wtypes.idl"; | 
 
 
 
 
 
 | 11 | 
 import "objidl.idl"; | 
 
 
 
 
 
 | 12 | 
 import "oaidl.idl"; | 
 
 
 
 
 
 | 13 | 
 #endif | 
 
 
 
 
 
 | 14 | 
  | 
 
 
 
 
 
 | 15 | 
 cpp_quote("") | 
 
 
 
 
 
 | 16 | 
 cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)") | 
 
 
 
 
 
 | 17 | 
  | 
 
 
 
 
 
 | 18 | 
 interface IPropertyStorage; | 
 
 
 
 
 
 | 19 | 
 interface IEnumSTATPROPSTG; | 
 
 
 
 
 
 | 20 | 
 interface IEnumSTATPROPSETSTG; | 
 
 
 
 
 
 | 21 | 
  | 
 
 
 
 
 
 | 22 | 
 cpp_quote("") | 
 
 
 
 
 
 | 23 | 
 typedef struct tagVersionedStream { | 
 
 
 
 
 
 | 24 | 
   GUID guidVersion; | 
 
 
 
 
 
 | 25 | 
   IStream *pStream; | 
 
 
 
 
 
 | 26 | 
 } VERSIONEDSTREAM,*LPVERSIONEDSTREAM; | 
 
 
 
 
 
 | 27 | 
 cpp_quote("") | 
 
 
 
 
 
 | 28 | 
 const DWORD PROPSETFLAG_DEFAULT = 0; | 
 
 
 
 
 
 | 29 | 
 const DWORD PROPSETFLAG_NONSIMPLE = 1; | 
 
 
 
 
 
 | 30 | 
 const DWORD PROPSETFLAG_ANSI = 2; | 
 
 
 
 
 
 | 31 | 
 const DWORD PROPSETFLAG_UNBUFFERED = 4; | 
 
 
 
 
 
 | 32 | 
 const DWORD PROPSETFLAG_CASE_SENSITIVE = 8; | 
 
 
 
 
 
 | 33 | 
 cpp_quote("") | 
 
 
 
 
 
 | 34 | 
 const DWORD PROPSET_BEHAVIOR_CASE_SENSITIVE = 1; | 
 
 
 
 
 
 | 35 | 
 cpp_quote("") | 
 
 
 
 
 
 | 36 | 
 cpp_quote("#if 0") | 
 
 
 
 
 
 | 37 | 
 typedef struct tag_inner_PROPVARIANT PROPVARIANT; | 
 
 
 
 
 
 | 38 | 
 cpp_quote("#else") | 
 
 
 
 
 
 | 39 | 
 cpp_quote("typedef struct tagPROPVARIANT PROPVARIANT;") | 
 
 
 
 
 
 | 40 | 
 cpp_quote("#endif") | 
 
 
 
 
 
 | 41 | 
  | 
 
 
 
 
 
 | 42 | 
 #define TYPEDEF_CA(type, name) typedef struct tag##name { ULONG cElems; [size_is (cElems)] type *pElems; } name | 
 
 
 
 
 
 | 43 | 
  | 
 
 
 
 
 
 | 44 | 
 cpp_quote("") | 
 
 
 
 
 
 | 45 | 
 TYPEDEF_CA (CHAR, CAC); | 
 
 
 
 
 
 | 46 | 
 TYPEDEF_CA (UCHAR, CAUB); | 
 
 
 
 
 
 | 47 | 
 TYPEDEF_CA (SHORT, CAI); | 
 
 
 
 
 
 | 48 | 
 TYPEDEF_CA (USHORT, CAUI); | 
 
 
 
 
 
 | 49 | 
 TYPEDEF_CA (LONG, CAL); | 
 
 
 
 
 
 | 50 | 
 TYPEDEF_CA (ULONG, CAUL); | 
 
 
 
 
 
 | 51 | 
 TYPEDEF_CA (FLOAT, CAFLT); | 
 
 
 
 
 
 | 52 | 
 TYPEDEF_CA (DOUBLE, CADBL); | 
 
 
 
 
 
 | 53 | 
 TYPEDEF_CA (CY, CACY); | 
 
 
 
 
 
 | 54 | 
 TYPEDEF_CA (DATE, CADATE); | 
 
 
 
 
 
 | 55 | 
 TYPEDEF_CA (BSTR, CABSTR); | 
 
 
 
 
 
 | 56 | 
 TYPEDEF_CA (BSTRBLOB, CABSTRBLOB); | 
 
 
 
 
 
 | 57 | 
 TYPEDEF_CA (VARIANT_BOOL, CABOOL); | 
 
 
 
 
 
 | 58 | 
 TYPEDEF_CA (SCODE, CASCODE); | 
 
 
 
 
 
 | 59 | 
 TYPEDEF_CA (PROPVARIANT, CAPROPVARIANT); | 
 
 
 
 
 
 | 60 | 
 TYPEDEF_CA (LARGE_INTEGER, CAH); | 
 
 
 
 
 
 | 61 | 
 TYPEDEF_CA (ULARGE_INTEGER, CAUH); | 
 
 
 
 
 
 | 62 | 
 TYPEDEF_CA (LPSTR, CALPSTR); | 
 
 
 
 
 
 | 63 | 
 TYPEDEF_CA (LPWSTR, CALPWSTR); | 
 
 
 
 
 
 | 64 | 
 TYPEDEF_CA (FILETIME, CAFILETIME); | 
 
 
 
 
 
 | 65 | 
 TYPEDEF_CA (CLIPDATA, CACLIPDATA); | 
 
 
 
 
 
 | 66 | 
 TYPEDEF_CA (CLSID, CACLSID); | 
 
 
 
 
 
 | 67 | 
  | 
 
 
 
 
 
 | 68 | 
 cpp_quote("") | 
 
 
 
 
 
 | 69 | 
 cpp_quote("#if 0") | 
 
 
 
 
 
 | 70 | 
 typedef BYTE PROPVAR_PAD1; | 
 
 
 
 
 
 | 71 | 
 typedef BYTE PROPVAR_PAD2; | 
 
 
 
 
 
 | 72 | 
 typedef ULONG PROPVAR_PAD3; | 
 
 
 
 
 
 | 73 | 
 cpp_quote("#else") | 
 
 
 
 
 
 | 74 | 
 cpp_quote("typedef WORD PROPVAR_PAD1;") | 
 
 
 
 
 
 | 75 | 
 cpp_quote("typedef WORD PROPVAR_PAD2;") | 
 
 
 
 
 
 | 76 | 
 cpp_quote("typedef WORD PROPVAR_PAD3;") | 
 
 
 
 
 
 | 77 | 
 cpp_quote("") | 
 
 
 
 
 
 | 78 | 
 cpp_quote("#define tag_inner_PROPVARIANT") | 
 
 
 
 
 
 | 79 | 
 cpp_quote("#endif") | 
 
 
 
 
 
 | 80 | 
 cpp_quote("") | 
 
 
 
 
 
 | 81 | 
 cpp_quote("  struct tagPROPVARIANT {") | 
 
 
 
 
 
 | 82 | 
 cpp_quote("    __C89_NAMELESS union {") | 
 
 
 
 
 
 | 83 | 
 cpp_quote("      __C89_NAMELESS") | 
 
 
 
 
 
 | 84 | 
 struct tag_inner_PROPVARIANT { | 
 
 
 
 
 
 | 85 | 
   VARTYPE vt; | 
 
 
 
 
 
 | 86 | 
   PROPVAR_PAD1 wReserved1; | 
 
 
 
 
 
 | 87 | 
   PROPVAR_PAD2 wReserved2; | 
 
 
 
 
 
 | 88 | 
   PROPVAR_PAD3 wReserved3; | 
 
 
 
 
 
 | 89 | 
   [switch_is ((unsigned short) vt)] union { | 
 
 
 
 
 
 | 90 | 
     [case (VT_EMPTY, VT_NULL)]; | 
 
 
 
 
 
 | 91 | 
     [case (VT_I1)] CHAR cVal; | 
 
 
 
 
 
 | 92 | 
     [case (VT_UI1)] UCHAR bVal; | 
 
 
 
 
 
 | 93 | 
     [case (VT_I2)] SHORT iVal; | 
 
 
 
 
 
 | 94 | 
     [case (VT_UI2)] USHORT uiVal; | 
 
 
 
 
 
 | 95 | 
     [case (VT_I4)] LONG lVal; | 
 
 
 
 
 
 | 96 | 
     [case (VT_UI4)] ULONG ulVal; | 
 
 
 
 
 
 | 97 | 
     [case (VT_INT)] INT intVal; | 
 
 
 
 
 
 | 98 | 
     [case (VT_UINT)] UINT uintVal; | 
 
 
 
 
 
 | 99 | 
     [case (VT_DECIMAL, VT_I8)] LARGE_INTEGER hVal; | 
 
 
 
 
 
 | 100 | 
     [case (VT_UI8)] ULARGE_INTEGER uhVal; | 
 
 
 
 
 
 | 101 | 
     [case (VT_R4)] FLOAT fltVal; | 
 
 
 
 
 
 | 102 | 
     [case (VT_R8)] DOUBLE dblVal; | 
 
 
 
 
 
 | 103 | 
     [case (VT_BOOL)] VARIANT_BOOL boolVal; | 
 
 
 
 
 
 | 104 | 
     /* [case (VT_ILLEGAL)] _VARIANT_BOOL bool; */ | 
 
 
 
 
 
 | 105 | 
     [case (VT_ERROR)] SCODE scode; | 
 
 
 
 
 
 | 106 | 
     [case (VT_CY)] CY cyVal; | 
 
 
 
 
 
 | 107 | 
     [case (VT_DATE)] DATE date; | 
 
 
 
 
 
 | 108 | 
     [case (VT_FILETIME)] FILETIME filetime; | 
 
 
 
 
 
 | 109 | 
     [case (VT_CLSID)] CLSID *puuid; | 
 
 
 
 
 
 | 110 | 
     [case (VT_CF)] CLIPDATA *pclipdata; | 
 
 
 
 
 
 | 111 | 
     [case (VT_BSTR)] BSTR bstrVal; | 
 
 
 
 
 
 | 112 | 
     [case (VT_BSTR_BLOB)] BSTRBLOB bstrblobVal; | 
 
 
 
 
 
 | 113 | 
     [case (VT_BLOB, VT_BLOB_OBJECT)] BLOB blob; | 
 
 
 
 
 
 | 114 | 
     [case (VT_LPSTR)] LPSTR pszVal; | 
 
 
 
 
 
 | 115 | 
     [case (VT_LPWSTR)] LPWSTR pwszVal; | 
 
 
 
 
 
 | 116 | 
     [case (VT_UNKNOWN)] IUnknown *punkVal; | 
 
 
 
 
 
 | 117 | 
     [case (VT_DISPATCH)] IDispatch *pdispVal; | 
 
 
 
 
 
 | 118 | 
     [case (VT_STREAM, VT_STREAMED_OBJECT)] IStream *pStream; | 
 
 
 
 
 
 | 119 | 
     [case (VT_STORAGE, VT_STORED_OBJECT)] IStorage *pStorage; | 
 
 
 
 
 
 | 120 | 
     [case (VT_VERSIONED_STREAM)] LPVERSIONEDSTREAM pVersionedStream; | 
 
 
 
 
 
 | 121 | 
     [case (VT_ARRAY|VT_I1, VT_ARRAY|VT_UI1, VT_ARRAY|VT_I2, VT_ARRAY|VT_UI2, VT_ARRAY|VT_I4, VT_ARRAY|VT_UI4, VT_ARRAY|VT_INT, VT_ARRAY|VT_UINT, VT_ARRAY|VT_R4, VT_ARRAY|VT_R8, VT_ARRAY|VT_CY, VT_ARRAY|VT_DATE, VT_ARRAY|VT_BSTR, VT_ARRAY|VT_BOOL, VT_ARRAY|VT_DECIMAL, VT_ARRAY|VT_DISPATCH, VT_ARRAY|VT_UNKNOWN, VT_ARRAY|VT_ERROR, VT_ARRAY|VT_VARIANT)] LPSAFEARRAY parray; | 
 
 
 
 
 
 | 122 | 
     [case (VT_VECTOR|VT_I1)] CAC cac; | 
 
 
 
 
 
 | 123 | 
     [case (VT_VECTOR|VT_UI1)] CAUB caub; | 
 
 
 
 
 
 | 124 | 
     [case (VT_VECTOR|VT_I2)] CAI cai; | 
 
 
 
 
 
 | 125 | 
     [case (VT_VECTOR|VT_UI2)] CAUI caui; | 
 
 
 
 
 
 | 126 | 
     [case (VT_VECTOR|VT_I4)] CAL cal; | 
 
 
 
 
 
 | 127 | 
     [case (VT_VECTOR|VT_UI4)] CAUL caul; | 
 
 
 
 
 
 | 128 | 
     [case (VT_VECTOR|VT_I8)] CAH cah; | 
 
 
 
 
 
 | 129 | 
     [case (VT_VECTOR|VT_UI8)] CAUH cauh; | 
 
 
 
 
 
 | 130 | 
     [case (VT_VECTOR|VT_R4)] CAFLT caflt; | 
 
 
 
 
 
 | 131 | 
     [case (VT_VECTOR|VT_R8)] CADBL cadbl; | 
 
 
 
 
 
 | 132 | 
     [case (VT_VECTOR|VT_BOOL)] CABOOL cabool; | 
 
 
 
 
 
 | 133 | 
     [case (VT_VECTOR|VT_ERROR)] CASCODE cascode; | 
 
 
 
 
 
 | 134 | 
     [case (VT_VECTOR|VT_CY)] CACY cacy; | 
 
 
 
 
 
 | 135 | 
     [case (VT_VECTOR|VT_DATE)] CADATE cadate; | 
 
 
 
 
 
 | 136 | 
     [case (VT_VECTOR|VT_FILETIME)] CAFILETIME cafiletime; | 
 
 
 
 
 
 | 137 | 
     [case (VT_VECTOR|VT_CLSID)] CACLSID cauuid; | 
 
 
 
 
 
 | 138 | 
     [case (VT_VECTOR|VT_CF)] CACLIPDATA caclipdata; | 
 
 
 
 
 
 | 139 | 
     [case (VT_VECTOR|VT_BSTR)] CABSTR cabstr; | 
 
 
 
 
 
 | 140 | 
     [case (VT_VECTOR|VT_BSTR_BLOB)]CABSTRBLOB cabstrblob; | 
 
 
 
 
 
 | 141 | 
     [case (VT_VECTOR|VT_LPSTR)] CALPSTR calpstr; | 
 
 
 
 
 
 | 142 | 
     [case (VT_VECTOR|VT_LPWSTR)] CALPWSTR calpwstr; | 
 
 
 
 
 
 | 143 | 
     [case (VT_VECTOR|VT_VARIANT)] CAPROPVARIANT capropvar; | 
 
 
 
 
 
 | 144 | 
     [case (VT_BYREF|VT_I1)] CHAR *pcVal; | 
 
 
 
 
 
 | 145 | 
     [case (VT_BYREF|VT_UI1)] UCHAR *pbVal; | 
 
 
 
 
 
 | 146 | 
     [case (VT_BYREF|VT_I2)] SHORT *piVal; | 
 
 
 
 
 
 | 147 | 
     [case (VT_BYREF|VT_UI2)] USHORT *puiVal; | 
 
 
 
 
 
 | 148 | 
     [case (VT_BYREF|VT_I4)] LONG *plVal; | 
 
 
 
 
 
 | 149 | 
     [case (VT_BYREF|VT_UI4)] ULONG *pulVal; | 
 
 
 
 
 
 | 150 | 
     [case (VT_BYREF|VT_INT)] INT *pintVal; | 
 
 
 
 
 
 | 151 | 
     [case (VT_BYREF|VT_UINT)] UINT *puintVal; | 
 
 
 
 
 
 | 152 | 
     [case (VT_BYREF|VT_R4)] FLOAT *pfltVal; | 
 
 
 
 
 
 | 153 | 
     [case (VT_BYREF|VT_R8)] DOUBLE *pdblVal; | 
 
 
 
 
 
 | 154 | 
     [case (VT_BYREF|VT_BOOL)] VARIANT_BOOL *pboolVal; | 
 
 
 
 
 
 | 155 | 
     [case (VT_BYREF|VT_DECIMAL)] DECIMAL *pdecVal; | 
 
 
 
 
 
 | 156 | 
     [case (VT_BYREF|VT_ERROR)] SCODE *pscode; | 
 
 
 
 
 
 | 157 | 
     [case (VT_BYREF|VT_CY)] CY *pcyVal; | 
 
 
 
 
 
 | 158 | 
     [case (VT_BYREF|VT_DATE)] DATE *pdate; | 
 
 
 
 
 
 | 159 | 
     [case (VT_BYREF|VT_BSTR)] BSTR *pbstrVal; | 
 
 
 
 
 
 | 160 | 
     [case (VT_BYREF|VT_UNKNOWN)] IUnknown **ppunkVal; | 
 
 
 
 
 
 | 161 | 
     [case (VT_BYREF|VT_DISPATCH)] IDispatch **ppdispVal; | 
 
 
 
 
 
 | 162 | 
     [case (VT_BYREF|VT_ARRAY)] LPSAFEARRAY *pparray; | 
 
 
 
 
 
 | 163 | 
     [case (VT_BYREF|VT_VARIANT)] PROPVARIANT *pvarVal; | 
 
 
 
 
 
 | 164 | 
   }; | 
 
 
 
 
 
 | 165 | 
 }; | 
 
 
 
 
 
 | 166 | 
 cpp_quote("    DECIMAL decVal;") | 
 
 
 
 
 
 | 167 | 
 cpp_quote("  };") | 
 
 
 
 
 
 | 168 | 
 cpp_quote("};") | 
 
 
 
 
 
 | 169 | 
  | 
 
 
 
 
 
 | 170 | 
 cpp_quote("") | 
 
 
 
 
 
 | 171 | 
  | 
 
 
 
 
 
 | 172 | 
 cpp_quote("#if 0") | 
 
 
 
 
 
 | 173 | 
 typedef struct tag_inner_PROPVARIANT *LPPROPVARIANT; | 
 
 
 
 
 
 | 174 | 
 typedef const PROPVARIANT *REFPROPVARIANT; | 
 
 
 
 
 
 | 175 | 
 cpp_quote("#else") | 
 
 
 
 
 
 | 176 | 
 cpp_quote("typedef struct tagPROPVARIANT * LPPROPVARIANT;") | 
 
 
 
 
 
 | 177 | 
 cpp_quote("") | 
 
 
 
 
 
 | 178 | 
 cpp_quote("#ifndef _REFPROPVARIANT_DEFINED") | 
 
 
 
 
 
 | 179 | 
 cpp_quote("#define _REFPROPVARIANT_DEFINED") | 
 
 
 
 
 
 | 180 | 
 cpp_quote("#ifdef __cplusplus") | 
 
 
 
 
 
 | 181 | 
 cpp_quote("#define REFPROPVARIANT const PROPVARIANT &") | 
 
 
 
 
 
 | 182 | 
 cpp_quote("#else") | 
 
 
 
 
 
 | 183 | 
 cpp_quote("#define REFPROPVARIANT const PROPVARIANT * __MIDL_CONST") | 
 
 
 
 
 
 | 184 | 
 cpp_quote("#endif") | 
 
 
 
 
 
 | 185 | 
 cpp_quote("#endif") | 
 
 
 
 
 
 | 186 | 
 cpp_quote("#endif") | 
 
 
 
 
 
 | 187 | 
 cpp_quote("") | 
 
 
 
 
 
 | 188 | 
 const PROPID PID_DICTIONARY = 0x00000000; | 
 
 
 
 
 
 | 189 | 
 const PROPID PID_CODEPAGE = 0x00000001; | 
 
 
 
 
 
 | 190 | 
 const PROPID PID_FIRST_USABLE = 0x00000002; | 
 
 
 
 
 
 | 191 | 
 const PROPID PID_FIRST_NAME_DEFAULT = 0x00000fff; | 
 
 
 
 
 
 | 192 | 
 const PROPID PID_LOCALE = 0x80000000; | 
 
 
 
 
 
 | 193 | 
 const PROPID PID_MODIFY_TIME = 0x80000001; | 
 
 
 
 
 
 | 194 | 
 const PROPID PID_SECURITY = 0x80000002; | 
 
 
 
 
 
 | 195 | 
 const PROPID PID_BEHAVIOR = 0x80000003; | 
 
 
 
 
 
 | 196 | 
 const PROPID PID_ILLEGAL = 0xffffffff; | 
 
 
 
 
 
 | 197 | 
 cpp_quote("") | 
 
 
 
 
 
 | 198 | 
 const PROPID PID_MIN_READONLY = 0x80000000; | 
 
 
 
 
 
 | 199 | 
 const PROPID PID_MAX_READONLY = 0xbfffffff; | 
 
 
 
 
 
 | 200 | 
 cpp_quote("#endif") | 
 
 
 
 
 
 | 201 | 
 cpp_quote("") | 
 
 
 
 
 
 | 202 | 
 cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)") | 
 
 
 
 
 
 | 203 | 
 cpp_quote("") | 
 
 
 
 
 
 | 204 | 
 cpp_quote("#define PIDDI_THUMBNAIL __MSABI_LONG(0x2)") | 
 
 
 
 
 
 | 205 | 
 cpp_quote("") | 
 
 
 
 
 
 | 206 | 
 cpp_quote("#define PIDSI_TITLE __MSABI_LONG(0x2)") | 
 
 
 
 
 
 | 207 | 
 cpp_quote("#define PIDSI_SUBJECT __MSABI_LONG(0x3)") | 
 
 
 
 
 
 | 208 | 
 cpp_quote("#define PIDSI_AUTHOR __MSABI_LONG(0x4)") | 
 
 
 
 
 
 | 209 | 
 cpp_quote("#define PIDSI_KEYWORDS __MSABI_LONG(0x5)") | 
 
 
 
 
 
 | 210 | 
 cpp_quote("#define PIDSI_COMMENTS __MSABI_LONG(0x6)") | 
 
 
 
 
 
 | 211 | 
 cpp_quote("#define PIDSI_TEMPLATE __MSABI_LONG(0x7)") | 
 
 
 
 
 
 | 212 | 
 cpp_quote("#define PIDSI_LASTAUTHOR __MSABI_LONG(0x8)") | 
 
 
 
 
 
 | 213 | 
 cpp_quote("#define PIDSI_REVNUMBER __MSABI_LONG(0x9)") | 
 
 
 
 
 
 | 214 | 
 cpp_quote("#define PIDSI_EDITTIME __MSABI_LONG(0xa)") | 
 
 
 
 
 
 | 215 | 
 cpp_quote("#define PIDSI_LASTPRINTED __MSABI_LONG(0xb)") | 
 
 
 
 
 
 | 216 | 
 cpp_quote("#define PIDSI_CREATE_DTM __MSABI_LONG(0xc)") | 
 
 
 
 
 
 | 217 | 
 cpp_quote("#define PIDSI_LASTSAVE_DTM __MSABI_LONG(0xd)") | 
 
 
 
 
 
 | 218 | 
 cpp_quote("#define PIDSI_PAGECOUNT __MSABI_LONG(0xe)") | 
 
 
 
 
 
 | 219 | 
 cpp_quote("#define PIDSI_WORDCOUNT __MSABI_LONG(0xf)") | 
 
 
 
 
 
 | 220 | 
 cpp_quote("#define PIDSI_CHARCOUNT __MSABI_LONG(0x10)") | 
 
 
 
 
 
 | 221 | 
 cpp_quote("#define PIDSI_THUMBNAIL __MSABI_LONG(0x11)") | 
 
 
 
 
 
 | 222 | 
 cpp_quote("#define PIDSI_APPNAME __MSABI_LONG(0x12)") | 
 
 
 
 
 
 | 223 | 
 cpp_quote("#define PIDSI_DOC_SECURITY __MSABI_LONG(0x13)") | 
 
 
 
 
 
 | 224 | 
 cpp_quote("") | 
 
 
 
 
 
 | 225 | 
 cpp_quote("#define PIDDSI_CATEGORY 0x00000002") | 
 
 
 
 
 
 | 226 | 
 cpp_quote("#define PIDDSI_PRESFORMAT 0x00000003") | 
 
 
 
 
 
 | 227 | 
 cpp_quote("#define PIDDSI_BYTECOUNT 0x00000004") | 
 
 
 
 
 
 | 228 | 
 cpp_quote("#define PIDDSI_LINECOUNT 0x00000005") | 
 
 
 
 
 
 | 229 | 
 cpp_quote("#define PIDDSI_PARCOUNT 0x00000006") | 
 
 
 
 
 
 | 230 | 
 cpp_quote("#define PIDDSI_SLIDECOUNT 0x00000007") | 
 
 
 
 
 
 | 231 | 
 cpp_quote("#define PIDDSI_NOTECOUNT 0x00000008") | 
 
 
 
 
 
 | 232 | 
 cpp_quote("#define PIDDSI_HIDDENCOUNT 0x00000009") | 
 
 
 
 
 
 | 233 | 
 cpp_quote("#define PIDDSI_MMCLIPCOUNT 0x0000000A") | 
 
 
 
 
 
 | 234 | 
 cpp_quote("#define PIDDSI_SCALE 0x0000000B") | 
 
 
 
 
 
 | 235 | 
 cpp_quote("#define PIDDSI_HEADINGPAIR 0x0000000C") | 
 
 
 
 
 
 | 236 | 
 cpp_quote("#define PIDDSI_DOCPARTS 0x0000000D") | 
 
 
 
 
 
 | 237 | 
 cpp_quote("#define PIDDSI_MANAGER 0x0000000E") | 
 
 
 
 
 
 | 238 | 
 cpp_quote("#define PIDDSI_COMPANY 0x0000000F") | 
 
 
 
 
 
 | 239 | 
 cpp_quote("#define PIDDSI_LINKSDIRTY 0x00000010") | 
 
 
 
 
 
 | 240 | 
 cpp_quote("") | 
 
 
 
 
 
 | 241 | 
 cpp_quote("#define PIDMSI_EDITOR __MSABI_LONG(0x2)") | 
 
 
 
 
 
 | 242 | 
 cpp_quote("#define PIDMSI_SUPPLIER __MSABI_LONG(0x3)") | 
 
 
 
 
 
 | 243 | 
 cpp_quote("#define PIDMSI_SOURCE __MSABI_LONG(0x4)") | 
 
 
 
 
 
 | 244 | 
 cpp_quote("#define PIDMSI_SEQUENCE_NO __MSABI_LONG(0x5)") | 
 
 
 
 
 
 | 245 | 
 cpp_quote("#define PIDMSI_PROJECT __MSABI_LONG(0x6)") | 
 
 
 
 
 
 | 246 | 
 cpp_quote("#define PIDMSI_STATUS __MSABI_LONG(0x7)") | 
 
 
 
 
 
 | 247 | 
 cpp_quote("#define PIDMSI_OWNER __MSABI_LONG(0x8)") | 
 
 
 
 
 
 | 248 | 
 cpp_quote("#define PIDMSI_RATING __MSABI_LONG(0x9)") | 
 
 
 
 
 
 | 249 | 
 cpp_quote("#define PIDMSI_PRODUCTION __MSABI_LONG(0xa)") | 
 
 
 
 
 
 | 250 | 
 cpp_quote("#define PIDMSI_COPYRIGHT __MSABI_LONG(0xb)") | 
 
 
 
 
 
 | 251 | 
  | 
 
 
 
 
 
 | 252 | 
 cpp_quote("") | 
 
 
 
 
 
 | 253 | 
 enum PIDMSI_STATUS_VALUE { | 
 
 
 
 
 
 | 254 | 
   PIDMSI_STATUS_NORMAL = 0, | 
 
 
 
 
 
 | 255 | 
   PIDMSI_STATUS_NEW, | 
 
 
 
 
 
 | 256 | 
   PIDMSI_STATUS_PRELIM, | 
 
 
 
 
 
 | 257 | 
   PIDMSI_STATUS_DRAFT, | 
 
 
 
 
 
 | 258 | 
   PIDMSI_STATUS_INPROGRESS, | 
 
 
 
 
 
 | 259 | 
   PIDMSI_STATUS_EDIT, | 
 
 
 
 
 
 | 260 | 
   PIDMSI_STATUS_REVIEW, | 
 
 
 
 
 
 | 261 | 
   PIDMSI_STATUS_PROOF, | 
 
 
 
 
 
 | 262 | 
   PIDMSI_STATUS_FINAL, | 
 
 
 
 
 
 | 263 | 
   PIDMSI_STATUS_OTHER = 0x7fff | 
 
 
 
 
 
 | 264 | 
 }; | 
 
 
 
 
 
 | 265 | 
 cpp_quote("#endif") | 
 
 
 
 
 
 | 266 | 
 cpp_quote("") | 
 
 
 
 
 
 | 267 | 
 cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)") | 
 
 
 
 
 
 | 268 | 
 const ULONG PRSPEC_INVALID = 0xffffffff; | 
 
 
 
 
 
 | 269 | 
 const ULONG PRSPEC_LPWSTR = 0; | 
 
 
 
 
 
 | 270 | 
 const ULONG PRSPEC_PROPID = 1; | 
 
 
 
 
 
 | 271 | 
 cpp_quote("") | 
 
 
 
 
 
 | 272 | 
 typedef struct tagPROPSPEC { | 
 
 
 
 
 
 | 273 | 
   ULONG ulKind; | 
 
 
 
 
 
 | 274 | 
   [switch_is (ulKind)] union { | 
 
 
 
 
 
 | 275 | 
     [case (PRSPEC_PROPID)] PROPID propid; | 
 
 
 
 
 
 | 276 | 
     [case (PRSPEC_LPWSTR)] LPOLESTR lpwstr; | 
 
 
 
 
 
 | 277 | 
     [default]; | 
 
 
 
 
 
 | 278 | 
   } DUMMYUNIONNAME; | 
 
 
 
 
 
 | 279 | 
 } PROPSPEC; | 
 
 
 
 
 
 | 280 | 
  | 
 
 
 
 
 
 | 281 | 
 cpp_quote("") | 
 
 
 
 
 
 | 282 | 
 typedef struct tagSTATPROPSTG { | 
 
 
 
 
 
 | 283 | 
   LPOLESTR lpwstrName; | 
 
 
 
 
 
 | 284 | 
   PROPID propid; | 
 
 
 
 
 
 | 285 | 
   VARTYPE vt; | 
 
 
 
 
 
 | 286 | 
 } STATPROPSTG; | 
 
 
 
 
 
 | 287 | 
 cpp_quote("") | 
 
 
 
 
 
 | 288 | 
 cpp_quote("#define PROPSETHDR_OSVER_KIND(dwOSVer) HIWORD((dwOSVer))") | 
 
 
 
 
 
 | 289 | 
 cpp_quote("#define PROPSETHDR_OSVER_MAJOR(dwOSVer) LOBYTE(LOWORD((dwOSVer)))") | 
 
 
 
 
 
 | 290 | 
 cpp_quote("#define PROPSETHDR_OSVER_MINOR(dwOSVer) HIBYTE(LOWORD((dwOSVer)))") | 
 
 
 
 
 
 | 291 | 
 cpp_quote("#define PROPSETHDR_OSVERSION_UNKNOWN 0xffffffff") | 
 
 
 
 
 
 | 292 | 
  | 
 
 
 
 
 
 | 293 | 
 cpp_quote("") | 
 
 
 
 
 
 | 294 | 
 typedef struct tagSTATPROPSETSTG { | 
 
 
 
 
 
 | 295 | 
   FMTID fmtid; | 
 
 
 
 
 
 | 296 | 
   CLSID clsid; | 
 
 
 
 
 
 | 297 | 
   DWORD grfFlags; | 
 
 
 
 
 
 | 298 | 
   FILETIME mtime; | 
 
 
 
 
 
 | 299 | 
   FILETIME ctime; | 
 
 
 
 
 
 | 300 | 
   FILETIME atime; | 
 
 
 
 
 
 | 301 | 
   DWORD dwOSVersion; | 
 
 
 
 
 
 | 302 | 
 } STATPROPSETSTG; | 
 
 
 
 
 
 | 303 | 
  | 
 
 
 
 
 
 | 304 | 
 cpp_quote("") | 
 
 
 
 
 
 | 305 | 
 [object, uuid (00000138-0000-0000-C000-000000000046), pointer_default (unique)] | 
 
 
 
 
 
 | 306 | 
 interface IPropertyStorage : IUnknown { | 
 
 
 
 
 
 | 307 | 
   HRESULT ReadMultiple ([in] ULONG cpspec,[in, size_is (cpspec)]const PROPSPEC rgpspec[],[out, size_is (cpspec)]PROPVARIANT rgpropvar[]); | 
 
 
 
 
 
 | 308 | 
   HRESULT WriteMultiple ([in] ULONG cpspec,[in, size_is (cpspec)]const PROPSPEC rgpspec[],[in, size_is (cpspec)]const PROPVARIANT rgpropvar[],[in] PROPID propidNameFirst); | 
 
 
 
 
 
 | 309 | 
   HRESULT DeleteMultiple ([in] ULONG cpspec,[in, size_is (cpspec)]const PROPSPEC rgpspec[]); | 
 
 
 
 
 
 | 310 | 
   HRESULT ReadPropertyNames ([in] ULONG cpropid,[in, size_is (cpropid)]const PROPID rgpropid[],[out, size_is (cpropid)]LPOLESTR rglpwstrName[]); | 
 
 
 
 
 
 | 311 | 
   HRESULT WritePropertyNames ([in] ULONG cpropid,[in, size_is (cpropid)]const PROPID rgpropid[],[in, size_is (cpropid)]const LPOLESTR rglpwstrName[]); | 
 
 
 
 
 
 | 312 | 
   HRESULT DeletePropertyNames ([in] ULONG cpropid,[in, size_is (cpropid)]const PROPID rgpropid[]); | 
 
 
 
 
 
 | 313 | 
   HRESULT Commit ([in] DWORD grfCommitFlags); | 
 
 
 
 
 
 | 314 | 
   HRESULT Revert (); | 
 
 
 
 
 
 | 315 | 
   HRESULT Enum ([out] IEnumSTATPROPSTG **ppenum); | 
 
 
 
 
 
 | 316 | 
   HRESULT SetTimes ([in] FILETIME const *pctime,[in] FILETIME const *patime,[in] FILETIME const *pmtime); | 
 
 
 
 
 
 | 317 | 
   HRESULT SetClass ([in] REFCLSID clsid); | 
 
 
 
 
 
 | 318 | 
   HRESULT Stat ([out] STATPROPSETSTG *pstatpsstg); | 
 
 
 
 
 
 | 319 | 
 } | 
 
 
 
 
 
 | 320 | 
  | 
 
 
 
 
 
 | 321 | 
 cpp_quote("") | 
 
 
 
 
 
 | 322 | 
 [object, uuid (0000013a-0000-0000-C000-000000000046), pointer_default (unique)] | 
 
 
 
 
 
 | 323 | 
 interface IPropertySetStorage : IUnknown { | 
 
 
 
 
 
 | 324 | 
   typedef [unique] IPropertySetStorage *LPPROPERTYSETSTORAGE; | 
 
 
 
 
 
 | 325 | 
 cpp_quote("") | 
 
 
 
 
 
 | 326 | 
   HRESULT Create ([in] REFFMTID rfmtid,[in, unique]const CLSID *pclsid,[in] DWORD grfFlags,[in] DWORD grfMode,[out] IPropertyStorage **ppprstg); | 
 
 
 
 
 
 | 327 | 
   HRESULT Open ([in] REFFMTID rfmtid,[in] DWORD grfMode,[out] IPropertyStorage **ppprstg); | 
 
 
 
 
 
 | 328 | 
   HRESULT Delete ([in] REFFMTID rfmtid); | 
 
 
 
 
 
 | 329 | 
   HRESULT Enum ([out] IEnumSTATPROPSETSTG **ppenum); | 
 
 
 
 
 
 | 330 | 
 } | 
 
 
 
 
 
 | 331 | 
  | 
 
 
 
 
 
 | 332 | 
 cpp_quote("") | 
 
 
 
 
 
 | 333 | 
 [object, uuid (00000139-0000-0000-C000-000000000046), pointer_default (unique)] | 
 
 
 
 
 
 | 334 | 
 interface IEnumSTATPROPSTG : IUnknown { | 
 
 
 
 
 
 | 335 | 
   typedef [unique] IEnumSTATPROPSTG *LPENUMSTATPROPSTG; | 
 
 
 
 
 
 | 336 | 
 cpp_quote("") | 
 
 
 
 
 
 | 337 | 
   [local] HRESULT Next ([in] ULONG celt,[out, size_is (celt), length_is (*pceltFetched)]STATPROPSTG *rgelt,[out]ULONG *pceltFetched); | 
 
 
 
 
 
 | 338 | 
   [call_as (Next)] HRESULT RemoteNext ([in] ULONG celt,[out, size_is (celt), length_is (*pceltFetched)]STATPROPSTG *rgelt,[out] ULONG *pceltFetched); | 
 
 
 
 
 
 | 339 | 
   HRESULT Skip ([in] ULONG celt); | 
 
 
 
 
 
 | 340 | 
   HRESULT Reset (); | 
 
 
 
 
 
 | 341 | 
   HRESULT Clone ([out] IEnumSTATPROPSTG **ppenum); | 
 
 
 
 
 
 | 342 | 
 } | 
 
 
 
 
 
 | 343 | 
  | 
 
 
 
 
 
 | 344 | 
 cpp_quote("") | 
 
 
 
 
 
 | 345 | 
 [object, uuid (0000013b-0000-0000-C000-000000000046), pointer_default (unique)] | 
 
 
 
 
 
 | 346 | 
 interface IEnumSTATPROPSETSTG : IUnknown { | 
 
 
 
 
 
 | 347 | 
   typedef [unique] IEnumSTATPROPSETSTG *LPENUMSTATPROPSETSTG; | 
 
 
 
 
 
 | 348 | 
 cpp_quote("") | 
 
 
 
 
 
 | 349 | 
   [local] HRESULT Next ([in] ULONG celt,[out, size_is (celt), length_is (*pceltFetched)]STATPROPSETSTG *rgelt,[out]ULONG *pceltFetched); | 
 
 
 
 
 
 | 350 | 
   [call_as (Next)] HRESULT RemoteNext ([in] ULONG celt,[out, size_is (celt), length_is (*pceltFetched)]STATPROPSETSTG *rgelt,[out] ULONG *pceltFetched); | 
 
 
 
 
 
 | 351 | 
   HRESULT Skip ([in] ULONG celt); | 
 
 
 
 
 
 | 352 | 
   HRESULT Reset (); | 
 
 
 
 
 
 | 353 | 
   HRESULT Clone ([out] IEnumSTATPROPSETSTG **ppenum); | 
 
 
 
 
 
 | 354 | 
 } | 
 
 
 
 
 
 | 355 | 
  | 
 
 
 
 
 
 | 356 | 
 cpp_quote("") | 
 
 
 
 
 
 | 357 | 
 typedef [unique] IPropertyStorage *LPPROPERTYSTORAGE; | 
 
 
 
 
 
 | 358 | 
 cpp_quote("") | 
 
 
 
 
 
 | 359 | 
 cpp_quote("  WINOLEAPI PropVariantCopy(PROPVARIANT *pvarDest,const PROPVARIANT *pvarSrc);") | 
 
 
 
 
 
 | 360 | 
 cpp_quote("  WINOLEAPI PropVariantClear(PROPVARIANT *pvar);") | 
 
 
 
 
 
 | 361 | 
 cpp_quote("  WINOLEAPI FreePropVariantArray(ULONG cVariants, PROPVARIANT *rgvars);") | 
 
 
 
 
 
 | 362 | 
 cpp_quote("") | 
 
 
 
 
 
 | 363 | 
 cpp_quote("#define _PROPVARIANTINIT_DEFINED_") | 
 
 
 
 
 
 | 364 | 
 cpp_quote("#ifdef __cplusplus") | 
 
 
 
 
 
 | 365 | 
 cpp_quote("inline void PropVariantInit (PROPVARIANT *pvar) { memset (pvar, 0, sizeof (PROPVARIANT)); }") | 
 
 
 
 
 
 | 366 | 
 cpp_quote("#else") | 
 
 
 
 
 
 | 367 | 
 cpp_quote("#define PropVariantInit(pvar) memset ((pvar), 0, sizeof (PROPVARIANT))") | 
 
 
 
 
 
 | 368 | 
 cpp_quote("#endif") | 
 
 
 
 
 
 | 369 | 
 cpp_quote("") | 
 
 
 
 
 
 | 370 | 
 cpp_quote("#ifndef _STGCREATEPROPSTG_DEFINED_") | 
 
 
 
 
 
 | 371 | 
 cpp_quote("  WINOLEAPI StgCreatePropStg(IUnknown *pUnk, REFFMTID fmtid, const CLSID *pclsid, DWORD grfFlags, DWORD dwReserved, IPropertyStorage **ppPropStg);") | 
 
 
 
 
 
 | 372 | 
 cpp_quote("  WINOLEAPI StgOpenPropStg(IUnknown *pUnk, REFFMTID fmtid, DWORD grfFlags, DWORD dwReserved, IPropertyStorage **ppPropStg);") | 
 
 
 
 
 
 | 373 | 
 cpp_quote("  WINOLEAPI StgCreatePropSetStg(IStorage *pStorage, DWORD dwReserved, IPropertySetStorage **ppPropSetStg);") | 
 
 
 
 
 
 | 374 | 
 cpp_quote("") | 
 
 
 
 
 
 | 375 | 
 cpp_quote("#define CCH_MAX_PROPSTG_NAME    31") | 
 
 
 
 
 
 | 376 | 
 cpp_quote("") | 
 
 
 
 
 
 | 377 | 
 cpp_quote("  WINOLEAPI FmtIdToPropStgName(const FMTID *pfmtid, LPOLESTR oszName);") | 
 
 
 
 
 
 | 378 | 
 cpp_quote("  WINOLEAPI PropStgNameToFmtId(const LPOLESTR oszName, FMTID *pfmtid);") | 
 
 
 
 
 
 | 379 | 
 cpp_quote("#endif") | 
 
 
 
 
 
 | 380 | 
 cpp_quote("") | 
 
 
 
 
 
 | 381 | 
 cpp_quote("#ifndef _SERIALIZEDPROPERTYVALUE_DEFINED_") | 
 
 
 
 
 
 | 382 | 
 cpp_quote("#define _SERIALIZEDPROPERTYVALUE_DEFINED_") | 
 
 
 
 
 
 | 383 | 
 cpp_quote("typedef struct tagSERIALIZEDPROPERTYVALUE {") | 
 
 
 
 
 
 | 384 | 
 cpp_quote("  DWORD dwType;") | 
 
 
 
 
 
 | 385 | 
 cpp_quote("  BYTE rgb[1];") | 
 
 
 
 
 
 | 386 | 
 cpp_quote("} SERIALIZEDPROPERTYVALUE;") | 
 
 
 
 
 
 | 387 | 
 cpp_quote("#endif") | 
 
 
 
 
 
 | 388 | 
 cpp_quote("#endif") | 
 
 
 
 
 
 | 389 | 
 cpp_quote("") | 
 
 
 
 
 
 | 390 | 
 cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)") | 
 
 
 
 
 
 | 391 | 
 cpp_quote("EXTERN_C SERIALIZEDPROPERTYVALUE * __stdcall StgConvertVariantToProperty(const PROPVARIANT *pvar, USHORT CodePage, SERIALIZEDPROPERTYVALUE *pprop, ULONG *pcb, PROPID pid, BOOLEAN fReserved, ULONG *pcIndirect);") | 
 
 
 
 
 
 | 392 | 
 cpp_quote("") | 
 
 
 
 
 
 | 393 | 
 cpp_quote("#ifdef __cplusplus") | 
 
 
 
 
 
 | 394 | 
 cpp_quote("class PMemoryAllocator;") | 
 
 
 
 
 
 | 395 | 
 cpp_quote("") | 
 
 
 
 
 
 | 396 | 
 cpp_quote("EXTERN_C BOOLEAN __stdcall StgConvertPropertyToVariant(const SERIALIZEDPROPERTYVALUE *pprop, USHORT CodePage, PROPVARIANT *pvar, PMemoryAllocator *pma);") | 
 
 
 
 
 
 | 397 | 
 cpp_quote("#endif") | 
 
 
 
 
 
 | 398 | 
 cpp_quote("") | 
 
 
 
 
 
 | 399 | 
 cpp_quote("#endif") |