| 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") |