ViewVC Help
View File | Revision Log | View Changeset | Root Listing
root/Oni2/Daodan/MSYS2/mingw32/i686-w64-mingw32/include/propsys.idl
Revision: 1166
Committed: Tue Oct 26 14:22:36 2021 UTC (4 years ago) by rossy
File size: 25244 byte(s)
Log Message:
Daodan: Replace MinGW build env with an up-to-date MSYS2 env

File Contents

# Content
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 import "objidl.idl";
10 import "oleidl.idl";
11 import "ocidl.idl";
12 import "shtypes.idl";
13 import "structuredquerycondition.idl";
14
15 cpp_quote("")
16 cpp_quote("#ifndef PSSTDAPI")
17 cpp_quote("#ifdef _PROPSYS_")
18 cpp_quote("#define PSSTDAPI STDAPI")
19 cpp_quote("#define PSSTDAPI_(type) STDAPI_(type)")
20 cpp_quote("#else")
21 cpp_quote("#define PSSTDAPI EXTERN_C DECLSPEC_IMPORT HRESULT STDAPICALLTYPE")
22 cpp_quote("#define PSSTDAPI_(type) EXTERN_C DECLSPEC_IMPORT type STDAPICALLTYPE")
23 cpp_quote("#endif")
24 cpp_quote("#endif")
25 cpp_quote("")
26 cpp_quote("#if 0")
27 typedef PROPERTYKEY *REFPROPERTYKEY;
28 cpp_quote("#endif")
29 cpp_quote("")
30 cpp_quote("#include <propkeydef.h>")
31
32 cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)")
33 [uuid (b7d14566-0509-4cce-a71f-0a554233bd9b), object, pointer_default (unique)]
34 interface IInitializeWithFile : IUnknown {
35 HRESULT Initialize ([in, string] LPCWSTR pszFilePath,[in] DWORD grfMode);
36 }
37
38 cpp_quote("")
39 [uuid (b824b49d-22ac-4161-ac8a-9916e8fa3f7f), object, pointer_default (unique)]
40 interface IInitializeWithStream : IUnknown {
41 [local] HRESULT Initialize ([in] IStream *pstream,[in] DWORD grfMode);
42 [call_as (Initialize)] HRESULT RemoteInitialize ([in] IStream *pstream,[in] DWORD grfMode);
43 }
44 cpp_quote("#endif")
45 cpp_quote("")
46 cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)")
47 [uuid (886d8eeb-8cf2-4446-8d02-cdba1dbdcf99), helpstring ("Simple Property Store Interface"), object, pointer_default (unique)]
48 interface IPropertyStore : IUnknown {
49 HRESULT GetCount ([out] DWORD *cProps);
50 HRESULT GetAt ([in] DWORD iProp,[out] PROPERTYKEY *pkey);
51 HRESULT GetValue ([in] REFPROPERTYKEY key,[out] PROPVARIANT *pv);
52 HRESULT SetValue ([in] REFPROPERTYKEY key,[in] REFPROPVARIANT propvar);
53 HRESULT Commit ();
54 }
55
56 cpp_quote("")
57 typedef [unique] IPropertyStore *LPPROPERTYSTORE;
58 cpp_quote("#endif")
59 cpp_quote("")
60 cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)")
61 [uuid (71604b0f-97b0-4764-8577-2f13e98a1422), object, pointer_default (unique)]
62 interface INamedPropertyStore : IUnknown {
63 HRESULT GetNamedValue ([in, string] LPCWSTR pszName,[out] PROPVARIANT *ppropvar);
64 HRESULT SetNamedValue ([in, string] LPCWSTR pszName,[in] REFPROPVARIANT propvar);
65 HRESULT GetNameCount ([out] DWORD *pdwCount);
66 HRESULT GetNameAt ([in] DWORD iProp,[out] BSTR *pbstrName);
67 };
68
69 cpp_quote("")
70 typedef [v1_enum] enum GETPROPERTYSTOREFLAGS {
71 GPS_DEFAULT = 0x00000000,
72 GPS_HANDLERPROPERTIESONLY = 0x00000001,
73 GPS_READWRITE = 0x00000002,
74 GPS_TEMPORARY = 0x00000004,
75 GPS_FASTPROPERTIESONLY = 0x00000008,
76 GPS_OPENSLOWITEM = 0x00000010,
77 GPS_DELAYCREATION = 0x00000020,
78 GPS_BESTEFFORT = 0x00000040,
79 GPS_NO_OPLOCK = 0x00000080,
80 GPS_PREFERQUERYPROPERTIES = 0x00000100,
81 GPS_MASK_VALID = 0x000001ff
82 } GETPROPERTYSTOREFLAGS;
83
84 cpp_quote("")
85 cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(GETPROPERTYSTOREFLAGS)")
86
87 cpp_quote("")
88 [object, uuid (fc0ca0a7-c316-4fd2-9031-3e628e6d4f23)]
89 interface IObjectWithPropertyKey : IUnknown {
90 HRESULT SetPropertyKey ([in] REFPROPERTYKEY key);
91 HRESULT GetPropertyKey ([out] PROPERTYKEY *pkey);
92 }
93
94 cpp_quote("")
95 typedef [v1_enum] enum PKA_FLAGS {
96 PKA_SET,
97 PKA_APPEND,
98 PKA_DELETE
99 } PKA_FLAGS;
100
101 cpp_quote("")
102 [uuid (f917bc8a-1bba-4478-a245-1bde03eb9431), object, pointer_default (unique)]
103 interface IPropertyChange : IObjectWithPropertyKey {
104 HRESULT ApplyToPropVariant ([in] REFPROPVARIANT propvarIn,[out] PROPVARIANT *ppropvarOut);
105 }
106
107 cpp_quote("")
108 [uuid (380f5cad-1b5e-42f2-805d-637fd392d31e), object, pointer_default (unique)]
109 interface IPropertyChangeArray : IUnknown {
110 HRESULT GetCount ([out] UINT *pcOperations);
111 HRESULT GetAt ([in] UINT iIndex,[in] REFIID riid,[out, iid_is (riid)] void **ppv);
112 HRESULT InsertAt ([in] UINT iIndex,[in] IPropertyChange *ppropChange);
113 HRESULT Append ([in] IPropertyChange *ppropChange);
114 HRESULT AppendOrReplace ([in] IPropertyChange *ppropChange);
115 HRESULT RemoveAt ([in] UINT iIndex);
116 HRESULT IsKeyInArray ([in] REFPROPERTYKEY key);
117 }
118
119 cpp_quote("")
120 [uuid (c8e2d566-186e-4d49-bf41-6909ead56acc), object, pointer_default (unique)]
121 interface IPropertyStoreCapabilities : IUnknown {
122 HRESULT IsPropertyWritable ([in] REFPROPERTYKEY key);
123 }
124
125 cpp_quote("")
126 [uuid (3017056d-9a91-4e90-937d-746c72abbf4f), object, pointer_default (unique)]
127 interface IPropertyStoreCache : IPropertyStore {
128 typedef [v1_enum] enum PSC_STATE {
129 PSC_NORMAL = 0,
130 PSC_NOTINSOURCE = 1,
131 PSC_DIRTY = 2,
132 PSC_READONLY = 3
133 } PSC_STATE;
134
135 cpp_quote("")
136 HRESULT GetState ([in] REFPROPERTYKEY key,[out] PSC_STATE *pstate);
137 HRESULT GetValueAndState ([in] REFPROPERTYKEY key,[out] PROPVARIANT *ppropvar,[out] PSC_STATE *pstate);
138 HRESULT SetState ([in] REFPROPERTYKEY key,[in] PSC_STATE state);
139 HRESULT SetValueAndState ([in] REFPROPERTYKEY key,[in, unique] const PROPVARIANT *ppropvar,[in] PSC_STATE state);
140 }
141
142 cpp_quote("")
143 [uuid (11e1fbf9-2d56-4a6b-8db3-7cd193a471f2), object, pointer_default (unique)]
144 interface IPropertyEnumType : IUnknown {
145 typedef [v1_enum] enum PROPENUMTYPE {
146 PET_DISCRETEVALUE = 0,
147 PET_RANGEDVALUE = 1,
148 PET_DEFAULTVALUE = 2,
149 PET_ENDRANGE = 3
150 } PROPENUMTYPE;
151
152 cpp_quote("")
153 HRESULT GetEnumType ([out] PROPENUMTYPE *penumtype);
154 HRESULT GetValue ([out] PROPVARIANT *ppropvar);
155 HRESULT GetRangeMinValue ([out] PROPVARIANT *ppropvarMin);
156 HRESULT GetRangeSetValue ([out] PROPVARIANT *ppropvarSet);
157 HRESULT GetDisplayText ([out] LPWSTR *ppszDisplay);
158 }
159
160 cpp_quote("")
161 [uuid (9b6e051c-5ddd-4321-9070-fe2acb55e794), object, pointer_default (unique)]
162 interface IPropertyEnumType2 : IPropertyEnumType {
163 HRESULT GetImageReference ([out] LPWSTR *ppszImageRes);
164 }
165
166 cpp_quote("")
167 [uuid (a99400f4-3d84-4557-94ba-1242fb2cc9a6), object, pointer_default (unique)]
168 interface IPropertyEnumTypeList : IUnknown {
169 HRESULT GetCount ([out] UINT *pctypes);
170 HRESULT GetAt ([in] UINT itype,[in] REFIID riid,[out, iid_is (riid)] void **ppv);
171 HRESULT GetConditionAt ([in] UINT nIndex,[in] REFIID riid,[out, iid_is (riid)] void **ppv);
172 HRESULT FindMatchingIndex ([in] REFPROPVARIANT propvarCmp,[out] UINT *pnIndex);
173 }
174
175 cpp_quote("")
176 [uuid (6f79d558-3e96-4549-a1d1-7d75d2288814), object, pointer_default (unique)]
177 interface IPropertyDescription : IUnknown {
178 typedef [v1_enum] enum PROPDESC_TYPE_FLAGS {
179 PDTF_DEFAULT = 0x00000000,
180 PDTF_MULTIPLEVALUES = 0x00000001,
181 PDTF_ISINNATE = 0x00000002,
182 PDTF_ISGROUP = 0x00000004,
183 PDTF_CANGROUPBY = 0x00000008,
184 PDTF_CANSTACKBY = 0x00000010,
185 PDTF_ISTREEPROPERTY = 0x00000020,
186 PDTF_INCLUDEINFULLTEXTQUERY = 0x00000040,
187 PDTF_ISVIEWABLE = 0x00000080,
188 PDTF_ISQUERYABLE = 0x00000100,
189 PDTF_CANBEPURGED = 0x00000200,
190 PDTF_SEARCHRAWVALUE = 0x00000400,
191 PDTF_ISSYSTEMPROPERTY = 0x80000000,
192 PDTF_MASK_ALL = 0x800007ff
193 } PROPDESC_TYPE_FLAGS;
194 cpp_quote("")
195 cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(PROPDESC_TYPE_FLAGS)")
196
197 cpp_quote("")
198 typedef [v1_enum] enum PROPDESC_VIEW_FLAGS {
199 PDVF_DEFAULT = 0x00000000,
200 PDVF_CENTERALIGN = 0x00000001,
201 PDVF_RIGHTALIGN = 0x00000002,
202 PDVF_BEGINNEWGROUP = 0x00000004,
203 PDVF_FILLAREA = 0x00000008,
204 PDVF_SORTDESCENDING = 0x00000010,
205 PDVF_SHOWONLYIFPRESENT = 0x00000020,
206 PDVF_SHOWBYDEFAULT = 0x00000040,
207 PDVF_SHOWINPRIMARYLIST = 0x00000080,
208 PDVF_SHOWINSECONDARYLIST = 0x00000100,
209 PDVF_HIDELABEL = 0x00000200,
210 PDVF_HIDDEN = 0x00000800,
211 PDVF_CANWRAP = 0x00001000,
212 PDVF_MASK_ALL = 0x00001bff
213 } PROPDESC_VIEW_FLAGS;
214 cpp_quote("")
215 cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(PROPDESC_VIEW_FLAGS)")
216
217 cpp_quote("")
218 typedef [v1_enum] enum PROPDESC_DISPLAYTYPE {
219 PDDT_STRING = 0,
220 PDDT_NUMBER = 1,
221 PDDT_BOOLEAN = 2,
222 PDDT_DATETIME = 3,
223 PDDT_ENUMERATED = 4,
224 } PROPDESC_DISPLAYTYPE;
225
226 cpp_quote("")
227 typedef [v1_enum] enum PROPDESC_GROUPING_RANGE {
228 PDGR_DISCRETE = 0,
229 PDGR_ALPHANUMERIC = 1,
230 PDGR_SIZE = 2,
231 PDGR_DYNAMIC = 3,
232 PDGR_DATE = 4,
233 PDGR_PERCENT = 5,
234 PDGR_ENUMERATED = 6
235 } PROPDESC_GROUPING_RANGE;
236
237 cpp_quote("")
238 typedef [v1_enum] enum PROPDESC_FORMAT_FLAGS {
239 PDFF_DEFAULT = 0x00000000,
240 PDFF_PREFIXNAME = 0x00000001,
241 PDFF_FILENAME = 0x00000002,
242 PDFF_ALWAYSKB = 0x00000004,
243 PDFF_RESERVED_RIGHTTOLEFT = 0x00000008,
244 PDFF_SHORTTIME = 0x00000010,
245 PDFF_LONGTIME = 0x00000020,
246 PDFF_HIDETIME = 0x00000040,
247 PDFF_SHORTDATE = 0x00000080,
248 PDFF_LONGDATE = 0x00000100,
249 PDFF_HIDEDATE = 0x00000200,
250 PDFF_RELATIVEDATE = 0x00000400,
251 PDFF_USEEDITINVITATION = 0x00000800,
252 PDFF_READONLY = 0x00001000,
253 PDFF_NOAUTOREADINGORDER = 0x00002000
254 } PROPDESC_FORMAT_FLAGS;
255 cpp_quote("")
256 cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(PROPDESC_FORMAT_FLAGS)")
257
258 cpp_quote("")
259 typedef [v1_enum] enum PROPDESC_SORTDESCRIPTION {
260 PDSD_GENERAL = 0,
261 PDSD_A_Z = 1,
262 PDSD_LOWEST_HIGHEST = 2,
263 PDSD_SMALLEST_BIGGEST = 3,
264 PDSD_OLDEST_NEWEST = 4
265 } PROPDESC_SORTDESCRIPTION;
266
267 cpp_quote("")
268 typedef [v1_enum] enum PROPDESC_RELATIVEDESCRIPTION_TYPE {
269 PDRDT_GENERAL = 0,
270 PDRDT_DATE = 1,
271 PDRDT_SIZE = 2,
272 PDRDT_COUNT = 3,
273 PDRDT_REVISION = 4,
274 PDRDT_LENGTH = 5,
275 PDRDT_DURATION = 6,
276 PDRDT_SPEED = 7,
277 PDRDT_RATE = 8,
278 PDRDT_RATING = 9,
279 PDRDT_PRIORITY = 10
280 } PROPDESC_RELATIVEDESCRIPTION_TYPE;
281
282 cpp_quote("")
283 typedef [v1_enum] enum PROPDESC_AGGREGATION_TYPE {
284 PDAT_DEFAULT = 0,
285 PDAT_FIRST = 1,
286 PDAT_SUM = 2,
287 PDAT_AVERAGE = 3,
288 PDAT_DATERANGE = 4,
289 PDAT_UNION = 5,
290 PDAT_MAX = 6,
291 PDAT_MIN = 7
292 } PROPDESC_AGGREGATION_TYPE;
293
294 cpp_quote("")
295 typedef [v1_enum] enum PROPDESC_CONDITION_TYPE {
296 PDCOT_NONE = 0,
297 PDCOT_STRING = 1,
298 PDCOT_SIZE = 2,
299 PDCOT_DATETIME = 3,
300 PDCOT_BOOLEAN = 4,
301 PDCOT_NUMBER = 5
302 } PROPDESC_CONDITION_TYPE;
303
304 cpp_quote("")
305 HRESULT GetPropertyKey ([out] PROPERTYKEY *pkey);
306 HRESULT GetCanonicalName ([out, string] LPWSTR *ppszName);
307 HRESULT GetPropertyType ([out] VARTYPE *pvartype);
308 HRESULT GetDisplayName ([out, string] LPWSTR *ppszName);
309 HRESULT GetEditInvitation ([out, string] LPWSTR *ppszInvite);
310 HRESULT GetTypeFlags ([in] PROPDESC_TYPE_FLAGS mask,[out] PROPDESC_TYPE_FLAGS *ppdtFlags);
311 HRESULT GetViewFlags ([out] PROPDESC_VIEW_FLAGS *ppdvFlags);
312 HRESULT GetDefaultColumnWidth ([out] UINT *pcxChars);
313 HRESULT GetDisplayType ([out] PROPDESC_DISPLAYTYPE *pdisplaytype);
314 HRESULT GetColumnState ([out] SHCOLSTATEF *pcsFlags);
315 HRESULT GetGroupingRange ([out] PROPDESC_GROUPING_RANGE *pgr);
316 HRESULT GetRelativeDescriptionType ([out] PROPDESC_RELATIVEDESCRIPTION_TYPE *prdt);
317 HRESULT GetRelativeDescription ([in] REFPROPVARIANT propvar1,[in] REFPROPVARIANT propvar2,[out, string] LPWSTR *ppszDesc1,[out, string] LPWSTR *ppszDesc2);
318 HRESULT GetSortDescription ([out] PROPDESC_SORTDESCRIPTION *psd);
319 HRESULT GetSortDescriptionLabel ([in] BOOL fDescending,[out, string] LPWSTR *ppszDescription);
320 HRESULT GetAggregationType ([out] PROPDESC_AGGREGATION_TYPE *paggtype);
321 HRESULT GetConditionType ([out] PROPDESC_CONDITION_TYPE *pcontype,[out] CONDITION_OPERATION *popDefault);
322 HRESULT GetEnumTypeList ([in] REFIID riid,[out, iid_is (riid)] void **ppv);
323 [local] HRESULT CoerceToCanonicalValue ([in, out] PROPVARIANT *ppropvar);
324 [call_as (CoerceToCanonicalValue)] HRESULT RemoteCoerceToCanonicalValue ([in] REFPROPVARIANT propvar,[out] PROPVARIANT *ppropvar);
325 HRESULT FormatForDisplay ([in] REFPROPVARIANT propvar,[in] PROPDESC_FORMAT_FLAGS pdfFlags,[out, string] LPWSTR *ppszDisplay);
326 HRESULT IsValueCanonical ([in] REFPROPVARIANT propvar);
327 }
328
329 cpp_quote("")
330 [uuid (57d2eded-5062-400e-b107-5dae79fe57a6), object, pointer_default (unique)]
331 interface IPropertyDescription2 : IPropertyDescription {
332 HRESULT GetImageReferenceForValue ([in] REFPROPVARIANT propvar,[out, string] LPWSTR *ppszImageRes);
333 }
334
335 cpp_quote("")
336 [uuid (f67104fc-2af9-46fd-b32d-243c1404f3d1), object, pointer_default (unique)]
337 interface IPropertyDescriptionAliasInfo : IPropertyDescription {
338 HRESULT GetSortByAlias ([in] REFIID riid,[out, iid_is (riid)] void **ppv);
339 HRESULT GetAdditionalSortByAliases ([in] REFIID riid,[out, iid_is (riid)] void **ppv);
340 };
341
342 cpp_quote("")
343 [uuid (078f91bd-29a2-440f-924e-46a291524520), object, pointer_default (unique)]
344 interface IPropertyDescriptionSearchInfo : IPropertyDescription {
345 typedef [v1_enum] enum PROPDESC_SEARCHINFO_FLAGS {
346 PDSIF_DEFAULT = 0x00000000,
347 PDSIF_ININVERTEDINDEX = 0x00000001,
348 PDSIF_ISCOLUMN = 0x00000002,
349 PDSIF_ISCOLUMNSPARSE = 0x00000004,
350 PDSIF_ALWAYSINCLUDE = 0x00000008,
351 PDSIF_USEFORTYPEAHEAD = 0x00000010,
352 } PROPDESC_SEARCHINFO_FLAGS;
353 cpp_quote("")
354 cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(PROPDESC_SEARCHINFO_FLAGS)")
355
356 cpp_quote("")
357 typedef [v1_enum] enum PROPDESC_COLUMNINDEX_TYPE {
358 PDCIT_NONE = 0,
359 PDCIT_ONDISK = 1,
360 PDCIT_INMEMORY = 2,
361 PDCIT_ONDEMAND = 3,
362 PDCIT_ONDISKALL = 4,
363 PDCIT_ONDISKVECTOR = 5
364 } PROPDESC_COLUMNINDEX_TYPE;
365 cpp_quote("")
366 HRESULT GetSearchInfoFlags ([out] PROPDESC_SEARCHINFO_FLAGS *ppdsiFlags);
367 HRESULT GetColumnIndexType ([out] PROPDESC_COLUMNINDEX_TYPE *ppdciType);
368 HRESULT GetProjectionString ([out] LPWSTR *ppszProjection);
369 HRESULT GetMaxSize ([out] UINT *pcbMaxSize);
370 };
371
372 cpp_quote("")
373 [uuid (507393f4-2a3d-4a60-b59e-d9c75716c2dd), object, pointer_default (unique)]
374 interface IPropertyDescriptionRelatedPropertyInfo : IPropertyDescription {
375 HRESULT GetRelatedProperty ([in] LPCWSTR pszRelationshipName,[in] REFIID riid,[out, iid_is (riid)] void **ppv);
376 }
377
378 cpp_quote("")
379 typedef [v1_enum] enum PROPDESC_ENUMFILTER {
380 PDEF_ALL = 0,
381 PDEF_SYSTEM = 1,
382 PDEF_NONSYSTEM = 2,
383 PDEF_VIEWABLE = 3,
384 PDEF_QUERYABLE = 4,
385 PDEF_INFULLTEXTQUERY= 5,
386 PDEF_COLUMN = 6
387 } PROPDESC_ENUMFILTER;
388
389 cpp_quote("")
390 [uuid (ca724e8a-c3e6-442b-88a4-6fb0db8035a3), object, pointer_default (unique)]
391 interface IPropertySystem : IUnknown {
392 HRESULT GetPropertyDescription ([in] REFPROPERTYKEY propkey,[in] REFIID riid,[out, iid_is (riid)] void **ppv);
393 HRESULT GetPropertyDescriptionByName ([in, string] LPCWSTR pszCanonicalName,[in] REFIID riid,[out, iid_is (riid)] void **ppv);
394 HRESULT GetPropertyDescriptionListFromString ([in, string] LPCWSTR pszPropList,[in] REFIID riid,[out, iid_is (riid)] void **ppv);
395 HRESULT EnumeratePropertyDescriptions ([in] PROPDESC_ENUMFILTER filterOn,[in] REFIID riid,[out, iid_is (riid)] void **ppv);
396 HRESULT FormatForDisplay ([in] REFPROPERTYKEY key,[in] REFPROPVARIANT propvar,[in] PROPDESC_FORMAT_FLAGS pdff,[out, string, size_is (cchText)] LPWSTR pszText,[in, range (0, 0x8000)] DWORD cchText);
397 HRESULT FormatForDisplayAlloc ([in] REFPROPERTYKEY key,[in] REFPROPVARIANT propvar,[in] PROPDESC_FORMAT_FLAGS pdff,[out, string] LPWSTR *ppszDisplay);
398 HRESULT RegisterPropertySchema ([in, string] LPCWSTR pszPath);
399 HRESULT UnregisterPropertySchema ([in, string] LPCWSTR pszPath);
400 HRESULT RefreshPropertySchema ();
401 }
402
403 cpp_quote("")
404 [uuid (1f9fc1d0-c39b-4b26-817f-011967d3440e), object, pointer_default (unique)]
405 interface IPropertyDescriptionList : IUnknown {
406 HRESULT GetCount ([out] UINT *pcElem);
407 HRESULT GetAt ([in] UINT iElem,[in] REFIID riid,[out, iid_is (riid)] void **ppv);
408 }
409
410 cpp_quote("")
411 [uuid (bc110b6d-57e8-4148-a9c6-91015ab2f3a5), object, pointer_default (unique)]
412 interface IPropertyStoreFactory : IUnknown {
413 HRESULT GetPropertyStore ([in] GETPROPERTYSTOREFLAGS flags,[in, unique] IUnknown *pUnkFactory,[in] REFIID riid,[out, iid_is (riid)] void **ppv);
414 HRESULT GetPropertyStoreForKeys ([in, unique] const PROPERTYKEY *rgKeys,[in] UINT cKeys,[in] GETPROPERTYSTOREFLAGS flags,[in] REFIID riid,[out, iid_is (riid)] void **ppv);
415 }
416
417 cpp_quote("")
418 [uuid (40d4577f-e237-4bdb-bd69-58f089431b6a), object, pointer_default (unique)]
419 interface IDelayedPropertyStoreFactory : IPropertyStoreFactory {
420 HRESULT GetDelayedPropertyStore ([in] GETPROPERTYSTOREFLAGS flags,[in] DWORD dwStoreId,[in] REFIID riid,[out, iid_is (riid)] void **ppv);
421 }
422
423 cpp_quote("")
424 [v1_enum] enum _PERSIST_SPROPSTORE_FLAGS {
425 FPSPS_DEFAULT = 0x00000000,
426 FPSPS_READONLY = 0x00000001,
427 FPSPS_TREAT_NEW_VALUES_AS_DIRTY = 0x00000002,
428 };
429
430 cpp_quote("")
431 typedef int PERSIST_SPROPSTORE_FLAGS;
432 typedef struct tagSERIALIZEDPROPSTORAGE SERIALIZEDPROPSTORAGE;
433 typedef SERIALIZEDPROPSTORAGE *PUSERIALIZEDPROPSTORAGE;
434 typedef const SERIALIZEDPROPSTORAGE *PCUSERIALIZEDPROPSTORAGE;
435
436 cpp_quote("")
437 [uuid (e318ad57-0aa0-450f-aca5-6fab7103d917), pointer_default (unique), local]
438 interface IPersistSerializedPropStorage : IUnknown {
439 HRESULT SetFlags ([in] PERSIST_SPROPSTORE_FLAGS flags);
440 HRESULT SetPropertyStorage ([in] PCUSERIALIZEDPROPSTORAGE psps,[in] DWORD cb);
441 HRESULT GetPropertyStorage ([out] SERIALIZEDPROPSTORAGE **ppsps,[out] DWORD *pcb);
442 }
443
444 cpp_quote("")
445 [uuid (77effa68-4f98-4366-ba72-573b3d880571), pointer_default (unique), local]
446 interface IPersistSerializedPropStorage2 : IPersistSerializedPropStorage {
447 HRESULT GetPropertyStorageSize ([out] DWORD *pcb);
448 HRESULT GetPropertyStorageBuffer ([out] SERIALIZEDPROPSTORAGE *psps,[in] DWORD cb,[out] DWORD *pcbWritten);
449 }
450
451 cpp_quote("")
452 [uuid (fa955fd9-38be-4879-a6ce-824cf52d609f), object, pointer_default (unique)]
453 interface IPropertySystemChangeNotify : IUnknown {
454 HRESULT SchemaRefreshed ();
455 }
456
457 cpp_quote("")
458 [uuid (75121952-e0d0-43e5-9380-1d80483acf72), pointer_default (unique)]
459 interface ICreateObject : IUnknown {
460 HRESULT CreateObject ([in] REFCLSID clsid,[in, unique] IUnknown *pUnkOuter,[in] REFIID riid,[out, iid_is (riid)] void **ppv);
461 };
462
463 cpp_quote("")
464 cpp_quote("#define PKEY_PIDSTR_MAX 10")
465 cpp_quote("#define GUIDSTRING_MAX (39)")
466 cpp_quote("#define PKEYSTR_MAX (GUIDSTRING_MAX + 1 + PKEY_PIDSTR_MAX)")
467
468 cpp_quote("")
469 cpp_quote("PSSTDAPI PSCoerceToCanonicalValue(REFPROPERTYKEY key, PROPVARIANT *ppropvar);")
470 cpp_quote("PSSTDAPI PSCreateAdapterFromPropertyStore(IPropertyStore *pps, REFIID riid, void **ppv);")
471 cpp_quote("PSSTDAPI PSCreateDelayedMultiplexPropertyStore(GETPROPERTYSTOREFLAGS flags, IDelayedPropertyStoreFactory *pdpsf, const DWORD *rgStoreIds, DWORD cStores, REFIID riid, void **ppv);")
472 cpp_quote("PSSTDAPI PSCreateMemoryPropertyStore(REFIID riid, void **ppv);")
473 cpp_quote("PSSTDAPI PSCreateMultiplexPropertyStore(IUnknown **prgpunkStores, DWORD cStores, REFIID riid, void **ppv);")
474 cpp_quote("PSSTDAPI PSCreatePropertyChangeArray(const PROPERTYKEY *rgpropkey, const PKA_FLAGS *rgflags, const PROPVARIANT *rgpropvar, UINT cChanges, REFIID riid, void **ppv);")
475 cpp_quote("PSSTDAPI PSCreatePropertyStoreFromObject(IUnknown *punk, DWORD grfMode, REFIID riid, void **ppv);")
476 cpp_quote("PSSTDAPI PSCreatePropertyStoreFromPropertySetStorage(IPropertySetStorage *ppss, DWORD grfMode, REFIID riid, void **ppv);")
477 cpp_quote("PSSTDAPI PSCreateSimplePropertyChange(PKA_FLAGS flags, REFPROPERTYKEY key, REFPROPVARIANT propvar, REFIID riid, void **ppv);")
478 cpp_quote("PSSTDAPI PSEnumeratePropertyDescriptions(PROPDESC_ENUMFILTER filterOn, REFIID riid, void **ppv);")
479 cpp_quote("PSSTDAPI PSFormatForDisplay(REFPROPERTYKEY propkey, REFPROPVARIANT propvar, PROPDESC_FORMAT_FLAGS pdfFlags, LPWSTR pwszText, DWORD cchText);")
480 cpp_quote("PSSTDAPI PSFormatForDisplayAlloc(REFPROPERTYKEY key, REFPROPVARIANT propvar, PROPDESC_FORMAT_FLAGS pdff, PWSTR *ppszDisplay);")
481 cpp_quote("PSSTDAPI PSFormatPropertyValue(IPropertyStore *pps, IPropertyDescription *ppd, PROPDESC_FORMAT_FLAGS pdff, LPWSTR *ppszDisplay);")
482 cpp_quote("PSSTDAPI PSGetImageReferenceForValue(REFPROPERTYKEY propkey, REFPROPVARIANT propvar, PWSTR *ppszImageRes);")
483 cpp_quote("PSSTDAPI PSGetItemPropertyHandler(IUnknown *punkItem, BOOL fReadWrite, REFIID riid, void **ppv);")
484 cpp_quote("PSSTDAPI PSGetItemPropertyHandlerWithCreateObject(IUnknown *punkItem, BOOL fReadWrite, IUnknown *punkCreateObject, REFIID riid, void **ppv);")
485 cpp_quote("PSSTDAPI PSGetNamedPropertyFromPropertyStorage(PCUSERIALIZEDPROPSTORAGE psps, DWORD cb, LPCWSTR pszName, PROPVARIANT *ppropvar);")
486 cpp_quote("PSSTDAPI PSGetNameFromPropertyKey(REFPROPERTYKEY propkey, PWSTR *ppszCanonicalName);")
487 cpp_quote("PSSTDAPI PSGetPropertyDescription(REFPROPERTYKEY propkey, REFIID riid, void **ppv);")
488 cpp_quote("PSSTDAPI PSGetPropertyDescriptionByName(LPCWSTR pszCanonicalName, REFIID riid, void **ppv);")
489 cpp_quote("PSSTDAPI PSGetPropertyDescriptionListFromString(LPCWSTR pszPropList, REFIID riid, void **ppv);")
490 cpp_quote("PSSTDAPI PSGetPropertyFromPropertyStorage(PCUSERIALIZEDPROPSTORAGE psps, DWORD cb, REFPROPERTYKEY rpkey, PROPVARIANT *ppropvar);")
491 cpp_quote("PSSTDAPI PSGetPropertyKeyFromName(PCWSTR pszName, PROPERTYKEY *ppropkey);")
492 cpp_quote("PSSTDAPI PSGetPropertySystem(REFIID riid, void **ppv);")
493 cpp_quote("PSSTDAPI PSGetPropertyValue(IPropertyStore *pps, IPropertyDescription *ppd, PROPVARIANT *ppropvar);")
494 cpp_quote("PSSTDAPI PSLookupPropertyHandlerCLSID(PCWSTR pszFilePath, CLSID *pclsid);")
495 cpp_quote("PSSTDAPI PSPropertyBag_Delete(IPropertyBag *propBag, LPCWSTR propName);")
496 cpp_quote("PSSTDAPI PSPropertyBag_ReadBOOL(IPropertyBag *propBag, LPCWSTR propName, BOOL *value);")
497 cpp_quote("PSSTDAPI PSPropertyBag_ReadBSTR(IPropertyBag *propBag, LPCWSTR propName, BSTR *value);")
498 cpp_quote("PSSTDAPI PSPropertyBag_ReadDWORD(IPropertyBag *propBag, LPCWSTR propName, DWORD *value);")
499 cpp_quote("PSSTDAPI PSPropertyBag_ReadGUID(IPropertyBag *propBag, LPCWSTR propName, GUID *value);")
500 cpp_quote("PSSTDAPI PSPropertyBag_ReadInt(IPropertyBag *propBag, LPCWSTR propName, INT *value);")
501 cpp_quote("PSSTDAPI PSPropertyBag_ReadLONG(IPropertyBag *propBag, LPCWSTR propName, LONG *value);")
502 cpp_quote("PSSTDAPI PSPropertyBag_ReadPOINTL(IPropertyBag *propBag, LPCWSTR propName, POINTL *value);")
503 cpp_quote("PSSTDAPI PSPropertyBag_ReadPOINTS(IPropertyBag *propBag, LPCWSTR propName, POINTS *value);")
504 cpp_quote("PSSTDAPI PSPropertyBag_ReadPropertyKey(IPropertyBag *propBag, LPCWSTR propName, PROPERTYKEY *value);")
505 cpp_quote("PSSTDAPI PSPropertyBag_ReadRECTL(IPropertyBag *propBag, LPCWSTR propName, RECTL *value);")
506 cpp_quote("PSSTDAPI PSPropertyBag_ReadSHORT(IPropertyBag *propBag, LPCWSTR propName, SHORT *value);")
507 cpp_quote("PSSTDAPI PSPropertyBag_ReadStr(IPropertyBag *propBag, LPCWSTR propName, LPWSTR value, int characterCount);")
508 cpp_quote("PSSTDAPI PSPropertyBag_ReadStrAlloc(IPropertyBag *propBag, LPCWSTR propName, PWSTR *value);")
509 cpp_quote("PSSTDAPI PSPropertyBag_ReadStream(IPropertyBag *propBag, LPCWSTR propName, IStream **value);")
510 cpp_quote("PSSTDAPI PSPropertyBag_ReadType(IPropertyBag *propBag, LPCWSTR propName, VARIANT *var, VARTYPE type);")
511 cpp_quote("PSSTDAPI PSPropertyBag_ReadULONGLONG(IPropertyBag *propBag, LPCWSTR propName, ULONGLONG *value);")
512 cpp_quote("PSSTDAPI PSPropertyBag_ReadUnknown(IPropertyBag *propBag, LPCWSTR propName, REFIID riid, void **ppv);")
513 cpp_quote("PSSTDAPI PSPropertyBag_WriteBOOL(IPropertyBag *propBag, LPCWSTR propName, BOOL value);")
514 cpp_quote("PSSTDAPI PSPropertyBag_WriteBSTR(IPropertyBag *propBag, LPCWSTR propName, BSTR value);")
515 cpp_quote("PSSTDAPI PSPropertyBag_WriteDWORD(IPropertyBag *propBag, LPCWSTR propName, DWORD value);")
516 cpp_quote("PSSTDAPI PSPropertyBag_WriteGUID(IPropertyBag *propBag, LPCWSTR propName, const GUID *value);")
517 cpp_quote("PSSTDAPI PSPropertyBag_WriteInt(IPropertyBag *propBag, LPCWSTR propName, INT value);")
518 cpp_quote("PSSTDAPI PSPropertyBag_WriteLONG(IPropertyBag *propBag, LPCWSTR propName, LONG value);")
519 cpp_quote("PSSTDAPI PSPropertyBag_WritePOINTL(IPropertyBag *propBag, LPCWSTR propName, const POINTL *value);")
520 cpp_quote("PSSTDAPI PSPropertyBag_WritePOINTS(IPropertyBag *propBag, LPCWSTR propName, const POINTS *value);")
521 cpp_quote("PSSTDAPI PSPropertyBag_WritePropertyKey(IPropertyBag *propBag, LPCWSTR propName, REFPROPERTYKEY value);")
522 cpp_quote("PSSTDAPI PSPropertyBag_WriteRECTL(IPropertyBag *propBag, LPCWSTR propName, const RECTL *value);")
523 cpp_quote("PSSTDAPI PSPropertyBag_WriteSHORT(IPropertyBag *propBag, LPCWSTR propName, SHORT value);")
524 cpp_quote("PSSTDAPI PSPropertyBag_WriteStr(IPropertyBag *propBag, LPCWSTR propName, LPCWSTR value);")
525 cpp_quote("PSSTDAPI PSPropertyBag_WriteStream(IPropertyBag *propBag, LPCWSTR propName, IStream *value);")
526 cpp_quote("PSSTDAPI PSPropertyBag_WriteULONGLONG(IPropertyBag *propBag, LPCWSTR propName, ULONGLONG value);")
527 cpp_quote("PSSTDAPI PSPropertyBag_WriteUnknown(IPropertyBag *propBag, LPCWSTR propName, IUnknown *punk);")
528 cpp_quote("PSSTDAPI PSPropertyKeyFromString(LPCWSTR pszString, PROPERTYKEY *pkey);")
529 cpp_quote("PSSTDAPI PSRefreshPropertySchema(void);")
530 cpp_quote("PSSTDAPI PSRegisterPropertySchema(PCWSTR pszPath);")
531 cpp_quote("PSSTDAPI PSSetPropertyValue(IPropertyStore *pps, IPropertyDescription *ppd, REFPROPVARIANT propvar);")
532 cpp_quote("PSSTDAPI PSStringFromPropertyKey(REFPROPERTYKEY pkey, LPWSTR psz, UINT cch);")
533 cpp_quote("PSSTDAPI PSUnregisterPropertySchema(PCWSTR pszPath);")
534
535 cpp_quote("")
536 [uuid (2cda3294-6c4f-4020-b161-27c530c81fa6), lcid (0x0000), version (1.0)]
537 library PropSysObjects {
538 [uuid (9a02e012-6303-4e1e-b9a1-630f802592c5)] coclass InMemoryPropertyStore { interface IPropertyStore; }
539 [uuid (b8967f85-58ae-4f46-9fb2-5d7904798f4b)] coclass PropertySystem { interface IPropertySystem; }
540 };
541 cpp_quote("#endif")