source: Daodan/MSYS2/mingw32/i686-w64-mingw32/include/propsys.idl@ 1181

Last change on this file since 1181 was 1166, checked in by rossy, 3 years ago

Daodan: Replace MinGW build env with an up-to-date MSYS2 env

File size: 24.7 KB
RevLine 
[1166]1cpp_quote("/**")
2cpp_quote(" * This file is part of the mingw-w64 runtime package.")
3cpp_quote(" * No warranty is given; refer to the file DISCLAIMER within this package.")
4cpp_quote(" */")
5cpp_quote("")
6cpp_quote("#include <winapifamily.h>")
7cpp_quote("")
8
9import "objidl.idl";
10import "oleidl.idl";
11import "ocidl.idl";
12import "shtypes.idl";
13import "structuredquerycondition.idl";
14
15cpp_quote("")
16cpp_quote("#ifndef PSSTDAPI")
17cpp_quote("#ifdef _PROPSYS_")
18cpp_quote("#define PSSTDAPI STDAPI")
19cpp_quote("#define PSSTDAPI_(type) STDAPI_(type)")
20cpp_quote("#else")
21cpp_quote("#define PSSTDAPI EXTERN_C DECLSPEC_IMPORT HRESULT STDAPICALLTYPE")
22cpp_quote("#define PSSTDAPI_(type) EXTERN_C DECLSPEC_IMPORT type STDAPICALLTYPE")
23cpp_quote("#endif")
24cpp_quote("#endif")
25cpp_quote("")
26cpp_quote("#if 0")
27typedef PROPERTYKEY *REFPROPERTYKEY;
28cpp_quote("#endif")
29cpp_quote("")
30cpp_quote("#include <propkeydef.h>")
31
32cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)")
33[uuid (b7d14566-0509-4cce-a71f-0a554233bd9b), object, pointer_default (unique)]
34interface IInitializeWithFile : IUnknown {
35 HRESULT Initialize ([in, string] LPCWSTR pszFilePath,[in] DWORD grfMode);
36}
37
38cpp_quote("")
39[uuid (b824b49d-22ac-4161-ac8a-9916e8fa3f7f), object, pointer_default (unique)]
40interface 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}
44cpp_quote("#endif")
45cpp_quote("")
46cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)")
47[uuid (886d8eeb-8cf2-4446-8d02-cdba1dbdcf99), helpstring ("Simple Property Store Interface"), object, pointer_default (unique)]
48interface 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
56cpp_quote("")
57typedef [unique] IPropertyStore *LPPROPERTYSTORE;
58cpp_quote("#endif")
59cpp_quote("")
60cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)")
61[uuid (71604b0f-97b0-4764-8577-2f13e98a1422), object, pointer_default (unique)]
62interface 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
69cpp_quote("")
70typedef [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
84cpp_quote("")
85cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(GETPROPERTYSTOREFLAGS)")
86
87cpp_quote("")
88[object, uuid (fc0ca0a7-c316-4fd2-9031-3e628e6d4f23)]
89interface IObjectWithPropertyKey : IUnknown {
90 HRESULT SetPropertyKey ([in] REFPROPERTYKEY key);
91 HRESULT GetPropertyKey ([out] PROPERTYKEY *pkey);
92}
93
94cpp_quote("")
95typedef [v1_enum] enum PKA_FLAGS {
96 PKA_SET,
97 PKA_APPEND,
98 PKA_DELETE
99} PKA_FLAGS;
100
101cpp_quote("")
102[uuid (f917bc8a-1bba-4478-a245-1bde03eb9431), object, pointer_default (unique)]
103interface IPropertyChange : IObjectWithPropertyKey {
104 HRESULT ApplyToPropVariant ([in] REFPROPVARIANT propvarIn,[out] PROPVARIANT *ppropvarOut);
105}
106
107cpp_quote("")
108[uuid (380f5cad-1b5e-42f2-805d-637fd392d31e), object, pointer_default (unique)]
109interface 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
119cpp_quote("")
120[uuid (c8e2d566-186e-4d49-bf41-6909ead56acc), object, pointer_default (unique)]
121interface IPropertyStoreCapabilities : IUnknown {
122 HRESULT IsPropertyWritable ([in] REFPROPERTYKEY key);
123}
124
125cpp_quote("")
126[uuid (3017056d-9a91-4e90-937d-746c72abbf4f), object, pointer_default (unique)]
127interface 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
135cpp_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
142cpp_quote("")
143[uuid (11e1fbf9-2d56-4a6b-8db3-7cd193a471f2), object, pointer_default (unique)]
144interface 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
152cpp_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
160cpp_quote("")
161[uuid (9b6e051c-5ddd-4321-9070-fe2acb55e794), object, pointer_default (unique)]
162interface IPropertyEnumType2 : IPropertyEnumType {
163 HRESULT GetImageReference ([out] LPWSTR *ppszImageRes);
164}
165
166cpp_quote("")
167[uuid (a99400f4-3d84-4557-94ba-1242fb2cc9a6), object, pointer_default (unique)]
168interface 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
175cpp_quote("")
176[uuid (6f79d558-3e96-4549-a1d1-7d75d2288814), object, pointer_default (unique)]
177interface 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;
194cpp_quote("")
195 cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(PROPDESC_TYPE_FLAGS)")
196
197cpp_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;
214cpp_quote("")
215 cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(PROPDESC_VIEW_FLAGS)")
216
217cpp_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
226cpp_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
237cpp_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;
255cpp_quote("")
256 cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(PROPDESC_FORMAT_FLAGS)")
257
258cpp_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
267cpp_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
282cpp_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
294cpp_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
304cpp_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
329cpp_quote("")
330[uuid (57d2eded-5062-400e-b107-5dae79fe57a6), object, pointer_default (unique)]
331interface IPropertyDescription2 : IPropertyDescription {
332 HRESULT GetImageReferenceForValue ([in] REFPROPVARIANT propvar,[out, string] LPWSTR *ppszImageRes);
333}
334
335cpp_quote("")
336[uuid (f67104fc-2af9-46fd-b32d-243c1404f3d1), object, pointer_default (unique)]
337interface 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
342cpp_quote("")
343[uuid (078f91bd-29a2-440f-924e-46a291524520), object, pointer_default (unique)]
344interface 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;
353cpp_quote("")
354 cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(PROPDESC_SEARCHINFO_FLAGS)")
355
356cpp_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;
365cpp_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
372cpp_quote("")
373[uuid (507393f4-2a3d-4a60-b59e-d9c75716c2dd), object, pointer_default (unique)]
374interface IPropertyDescriptionRelatedPropertyInfo : IPropertyDescription {
375 HRESULT GetRelatedProperty ([in] LPCWSTR pszRelationshipName,[in] REFIID riid,[out, iid_is (riid)] void **ppv);
376}
377
378cpp_quote("")
379typedef [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
389cpp_quote("")
390[uuid (ca724e8a-c3e6-442b-88a4-6fb0db8035a3), object, pointer_default (unique)]
391interface 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
403cpp_quote("")
404[uuid (1f9fc1d0-c39b-4b26-817f-011967d3440e), object, pointer_default (unique)]
405interface 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
410cpp_quote("")
411[uuid (bc110b6d-57e8-4148-a9c6-91015ab2f3a5), object, pointer_default (unique)]
412interface 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
417cpp_quote("")
418[uuid (40d4577f-e237-4bdb-bd69-58f089431b6a), object, pointer_default (unique)]
419interface IDelayedPropertyStoreFactory : IPropertyStoreFactory {
420 HRESULT GetDelayedPropertyStore ([in] GETPROPERTYSTOREFLAGS flags,[in] DWORD dwStoreId,[in] REFIID riid,[out, iid_is (riid)] void **ppv);
421}
422
423cpp_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
430cpp_quote("")
431typedef int PERSIST_SPROPSTORE_FLAGS;
432typedef struct tagSERIALIZEDPROPSTORAGE SERIALIZEDPROPSTORAGE;
433typedef SERIALIZEDPROPSTORAGE *PUSERIALIZEDPROPSTORAGE;
434typedef const SERIALIZEDPROPSTORAGE *PCUSERIALIZEDPROPSTORAGE;
435
436cpp_quote("")
437[uuid (e318ad57-0aa0-450f-aca5-6fab7103d917), pointer_default (unique), local]
438interface 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
444cpp_quote("")
445[uuid (77effa68-4f98-4366-ba72-573b3d880571), pointer_default (unique), local]
446interface IPersistSerializedPropStorage2 : IPersistSerializedPropStorage {
447 HRESULT GetPropertyStorageSize ([out] DWORD *pcb);
448 HRESULT GetPropertyStorageBuffer ([out] SERIALIZEDPROPSTORAGE *psps,[in] DWORD cb,[out] DWORD *pcbWritten);
449}
450
451cpp_quote("")
452[uuid (fa955fd9-38be-4879-a6ce-824cf52d609f), object, pointer_default (unique)]
453interface IPropertySystemChangeNotify : IUnknown {
454 HRESULT SchemaRefreshed ();
455}
456
457cpp_quote("")
458[uuid (75121952-e0d0-43e5-9380-1d80483acf72), pointer_default (unique)]
459interface ICreateObject : IUnknown {
460 HRESULT CreateObject ([in] REFCLSID clsid,[in, unique] IUnknown *pUnkOuter,[in] REFIID riid,[out, iid_is (riid)] void **ppv);
461};
462
463cpp_quote("")
464cpp_quote("#define PKEY_PIDSTR_MAX 10")
465cpp_quote("#define GUIDSTRING_MAX (39)")
466cpp_quote("#define PKEYSTR_MAX (GUIDSTRING_MAX + 1 + PKEY_PIDSTR_MAX)")
467
468cpp_quote("")
469cpp_quote("PSSTDAPI PSCoerceToCanonicalValue(REFPROPERTYKEY key, PROPVARIANT *ppropvar);")
470cpp_quote("PSSTDAPI PSCreateAdapterFromPropertyStore(IPropertyStore *pps, REFIID riid, void **ppv);")
471cpp_quote("PSSTDAPI PSCreateDelayedMultiplexPropertyStore(GETPROPERTYSTOREFLAGS flags, IDelayedPropertyStoreFactory *pdpsf, const DWORD *rgStoreIds, DWORD cStores, REFIID riid, void **ppv);")
472cpp_quote("PSSTDAPI PSCreateMemoryPropertyStore(REFIID riid, void **ppv);")
473cpp_quote("PSSTDAPI PSCreateMultiplexPropertyStore(IUnknown **prgpunkStores, DWORD cStores, REFIID riid, void **ppv);")
474cpp_quote("PSSTDAPI PSCreatePropertyChangeArray(const PROPERTYKEY *rgpropkey, const PKA_FLAGS *rgflags, const PROPVARIANT *rgpropvar, UINT cChanges, REFIID riid, void **ppv);")
475cpp_quote("PSSTDAPI PSCreatePropertyStoreFromObject(IUnknown *punk, DWORD grfMode, REFIID riid, void **ppv);")
476cpp_quote("PSSTDAPI PSCreatePropertyStoreFromPropertySetStorage(IPropertySetStorage *ppss, DWORD grfMode, REFIID riid, void **ppv);")
477cpp_quote("PSSTDAPI PSCreateSimplePropertyChange(PKA_FLAGS flags, REFPROPERTYKEY key, REFPROPVARIANT propvar, REFIID riid, void **ppv);")
478cpp_quote("PSSTDAPI PSEnumeratePropertyDescriptions(PROPDESC_ENUMFILTER filterOn, REFIID riid, void **ppv);")
479cpp_quote("PSSTDAPI PSFormatForDisplay(REFPROPERTYKEY propkey, REFPROPVARIANT propvar, PROPDESC_FORMAT_FLAGS pdfFlags, LPWSTR pwszText, DWORD cchText);")
480cpp_quote("PSSTDAPI PSFormatForDisplayAlloc(REFPROPERTYKEY key, REFPROPVARIANT propvar, PROPDESC_FORMAT_FLAGS pdff, PWSTR *ppszDisplay);")
481cpp_quote("PSSTDAPI PSFormatPropertyValue(IPropertyStore *pps, IPropertyDescription *ppd, PROPDESC_FORMAT_FLAGS pdff, LPWSTR *ppszDisplay);")
482cpp_quote("PSSTDAPI PSGetImageReferenceForValue(REFPROPERTYKEY propkey, REFPROPVARIANT propvar, PWSTR *ppszImageRes);")
483cpp_quote("PSSTDAPI PSGetItemPropertyHandler(IUnknown *punkItem, BOOL fReadWrite, REFIID riid, void **ppv);")
484cpp_quote("PSSTDAPI PSGetItemPropertyHandlerWithCreateObject(IUnknown *punkItem, BOOL fReadWrite, IUnknown *punkCreateObject, REFIID riid, void **ppv);")
485cpp_quote("PSSTDAPI PSGetNamedPropertyFromPropertyStorage(PCUSERIALIZEDPROPSTORAGE psps, DWORD cb, LPCWSTR pszName, PROPVARIANT *ppropvar);")
486cpp_quote("PSSTDAPI PSGetNameFromPropertyKey(REFPROPERTYKEY propkey, PWSTR *ppszCanonicalName);")
487cpp_quote("PSSTDAPI PSGetPropertyDescription(REFPROPERTYKEY propkey, REFIID riid, void **ppv);")
488cpp_quote("PSSTDAPI PSGetPropertyDescriptionByName(LPCWSTR pszCanonicalName, REFIID riid, void **ppv);")
489cpp_quote("PSSTDAPI PSGetPropertyDescriptionListFromString(LPCWSTR pszPropList, REFIID riid, void **ppv);")
490cpp_quote("PSSTDAPI PSGetPropertyFromPropertyStorage(PCUSERIALIZEDPROPSTORAGE psps, DWORD cb, REFPROPERTYKEY rpkey, PROPVARIANT *ppropvar);")
491cpp_quote("PSSTDAPI PSGetPropertyKeyFromName(PCWSTR pszName, PROPERTYKEY *ppropkey);")
492cpp_quote("PSSTDAPI PSGetPropertySystem(REFIID riid, void **ppv);")
493cpp_quote("PSSTDAPI PSGetPropertyValue(IPropertyStore *pps, IPropertyDescription *ppd, PROPVARIANT *ppropvar);")
494cpp_quote("PSSTDAPI PSLookupPropertyHandlerCLSID(PCWSTR pszFilePath, CLSID *pclsid);")
495cpp_quote("PSSTDAPI PSPropertyBag_Delete(IPropertyBag *propBag, LPCWSTR propName);")
496cpp_quote("PSSTDAPI PSPropertyBag_ReadBOOL(IPropertyBag *propBag, LPCWSTR propName, BOOL *value);")
497cpp_quote("PSSTDAPI PSPropertyBag_ReadBSTR(IPropertyBag *propBag, LPCWSTR propName, BSTR *value);")
498cpp_quote("PSSTDAPI PSPropertyBag_ReadDWORD(IPropertyBag *propBag, LPCWSTR propName, DWORD *value);")
499cpp_quote("PSSTDAPI PSPropertyBag_ReadGUID(IPropertyBag *propBag, LPCWSTR propName, GUID *value);")
500cpp_quote("PSSTDAPI PSPropertyBag_ReadInt(IPropertyBag *propBag, LPCWSTR propName, INT *value);")
501cpp_quote("PSSTDAPI PSPropertyBag_ReadLONG(IPropertyBag *propBag, LPCWSTR propName, LONG *value);")
502cpp_quote("PSSTDAPI PSPropertyBag_ReadPOINTL(IPropertyBag *propBag, LPCWSTR propName, POINTL *value);")
503cpp_quote("PSSTDAPI PSPropertyBag_ReadPOINTS(IPropertyBag *propBag, LPCWSTR propName, POINTS *value);")
504cpp_quote("PSSTDAPI PSPropertyBag_ReadPropertyKey(IPropertyBag *propBag, LPCWSTR propName, PROPERTYKEY *value);")
505cpp_quote("PSSTDAPI PSPropertyBag_ReadRECTL(IPropertyBag *propBag, LPCWSTR propName, RECTL *value);")
506cpp_quote("PSSTDAPI PSPropertyBag_ReadSHORT(IPropertyBag *propBag, LPCWSTR propName, SHORT *value);")
507cpp_quote("PSSTDAPI PSPropertyBag_ReadStr(IPropertyBag *propBag, LPCWSTR propName, LPWSTR value, int characterCount);")
508cpp_quote("PSSTDAPI PSPropertyBag_ReadStrAlloc(IPropertyBag *propBag, LPCWSTR propName, PWSTR *value);")
509cpp_quote("PSSTDAPI PSPropertyBag_ReadStream(IPropertyBag *propBag, LPCWSTR propName, IStream **value);")
510cpp_quote("PSSTDAPI PSPropertyBag_ReadType(IPropertyBag *propBag, LPCWSTR propName, VARIANT *var, VARTYPE type);")
511cpp_quote("PSSTDAPI PSPropertyBag_ReadULONGLONG(IPropertyBag *propBag, LPCWSTR propName, ULONGLONG *value);")
512cpp_quote("PSSTDAPI PSPropertyBag_ReadUnknown(IPropertyBag *propBag, LPCWSTR propName, REFIID riid, void **ppv);")
513cpp_quote("PSSTDAPI PSPropertyBag_WriteBOOL(IPropertyBag *propBag, LPCWSTR propName, BOOL value);")
514cpp_quote("PSSTDAPI PSPropertyBag_WriteBSTR(IPropertyBag *propBag, LPCWSTR propName, BSTR value);")
515cpp_quote("PSSTDAPI PSPropertyBag_WriteDWORD(IPropertyBag *propBag, LPCWSTR propName, DWORD value);")
516cpp_quote("PSSTDAPI PSPropertyBag_WriteGUID(IPropertyBag *propBag, LPCWSTR propName, const GUID *value);")
517cpp_quote("PSSTDAPI PSPropertyBag_WriteInt(IPropertyBag *propBag, LPCWSTR propName, INT value);")
518cpp_quote("PSSTDAPI PSPropertyBag_WriteLONG(IPropertyBag *propBag, LPCWSTR propName, LONG value);")
519cpp_quote("PSSTDAPI PSPropertyBag_WritePOINTL(IPropertyBag *propBag, LPCWSTR propName, const POINTL *value);")
520cpp_quote("PSSTDAPI PSPropertyBag_WritePOINTS(IPropertyBag *propBag, LPCWSTR propName, const POINTS *value);")
521cpp_quote("PSSTDAPI PSPropertyBag_WritePropertyKey(IPropertyBag *propBag, LPCWSTR propName, REFPROPERTYKEY value);")
522cpp_quote("PSSTDAPI PSPropertyBag_WriteRECTL(IPropertyBag *propBag, LPCWSTR propName, const RECTL *value);")
523cpp_quote("PSSTDAPI PSPropertyBag_WriteSHORT(IPropertyBag *propBag, LPCWSTR propName, SHORT value);")
524cpp_quote("PSSTDAPI PSPropertyBag_WriteStr(IPropertyBag *propBag, LPCWSTR propName, LPCWSTR value);")
525cpp_quote("PSSTDAPI PSPropertyBag_WriteStream(IPropertyBag *propBag, LPCWSTR propName, IStream *value);")
526cpp_quote("PSSTDAPI PSPropertyBag_WriteULONGLONG(IPropertyBag *propBag, LPCWSTR propName, ULONGLONG value);")
527cpp_quote("PSSTDAPI PSPropertyBag_WriteUnknown(IPropertyBag *propBag, LPCWSTR propName, IUnknown *punk);")
528cpp_quote("PSSTDAPI PSPropertyKeyFromString(LPCWSTR pszString, PROPERTYKEY *pkey);")
529cpp_quote("PSSTDAPI PSRefreshPropertySchema(void);")
530cpp_quote("PSSTDAPI PSRegisterPropertySchema(PCWSTR pszPath);")
531cpp_quote("PSSTDAPI PSSetPropertyValue(IPropertyStore *pps, IPropertyDescription *ppd, REFPROPVARIANT propvar);")
532cpp_quote("PSSTDAPI PSStringFromPropertyKey(REFPROPERTYKEY pkey, LPWSTR psz, UINT cch);")
533cpp_quote("PSSTDAPI PSUnregisterPropertySchema(PCWSTR pszPath);")
534
535cpp_quote("")
536[uuid (2cda3294-6c4f-4020-b161-27c530c81fa6), lcid (0x0000), version (1.0)]
537library PropSysObjects {
538 [uuid (9a02e012-6303-4e1e-b9a1-630f802592c5)] coclass InMemoryPropertyStore { interface IPropertyStore; }
539 [uuid (b8967f85-58ae-4f46-9fb2-5d7904798f4b)] coclass PropertySystem { interface IPropertySystem; }
540};
541cpp_quote("#endif")
Note: See TracBrowser for help on using the repository browser.