[1166] | 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")
|
---|