comparison fuhtark_test/include/winapi/propidl.h @ 1500:91c8c3b7cbf0

add: futhark tests for generating vulkan api
author sam <sam@basx.dev>
date Wed, 26 Nov 2025 21:36:48 +0700
parents
children
comparison
equal deleted inserted replaced
1499:1f58458b7ef7 1500:91c8c3b7cbf0
1 /**
2 * This file has no copyright assigned and is placed in the Public Domain.
3 * This file is part of the w64 mingw-runtime package.
4 * No warranty is given; refer to the file DISCLAIMER within this package.
5 */
6 #ifndef __REQUIRED_RPCNDR_H_VERSION__
7 #define __REQUIRED_RPCNDR_H_VERSION__ 475
8 #endif
9
10 #include "rpc.h"
11 #include "rpcndr.h"
12
13 #ifndef __RPCNDR_H_VERSION__
14 #error This stub requires an updated version of <rpcndr.h>
15 #endif
16
17 #ifndef COM_NO_WINDOWS_H
18 #include "windows.h"
19 #include "ole2.h"
20 #endif
21
22 #ifndef __propidl_h__
23 #define __propidl_h__
24
25 #ifndef __IPropertyStorage_FWD_DEFINED__
26 #define __IPropertyStorage_FWD_DEFINED__
27 typedef struct IPropertyStorage IPropertyStorage;
28 #endif
29
30 #ifndef __IPropertySetStorage_FWD_DEFINED__
31 #define __IPropertySetStorage_FWD_DEFINED__
32 typedef struct IPropertySetStorage IPropertySetStorage;
33 #endif
34
35 #ifndef __IEnumSTATPROPSTG_FWD_DEFINED__
36 #define __IEnumSTATPROPSTG_FWD_DEFINED__
37 typedef struct IEnumSTATPROPSTG IEnumSTATPROPSTG;
38 #endif
39
40 #ifndef __IEnumSTATPROPSETSTG_FWD_DEFINED__
41 #define __IEnumSTATPROPSETSTG_FWD_DEFINED__
42 typedef struct IEnumSTATPROPSETSTG IEnumSTATPROPSETSTG;
43 #endif
44
45 #include "objidl.h"
46 #include "oaidl.h"
47
48 #ifdef __cplusplus
49 extern "C"{
50 #endif
51
52 #ifndef __MIDL_user_allocate_free_DEFINED__
53 #define __MIDL_user_allocate_free_DEFINED__
54 void *__RPC_API MIDL_user_allocate(size_t);
55 void __RPC_API MIDL_user_free(void *);
56 #endif
57
58 typedef struct tagVersionedStream {
59 GUID guidVersion;
60 IStream *pStream;
61 } VERSIONEDSTREAM;
62
63 typedef struct tagVersionedStream *LPVERSIONEDSTREAM;
64
65 #define PROPSETFLAG_DEFAULT (0)
66 #define PROPSETFLAG_NONSIMPLE (1)
67 #define PROPSETFLAG_ANSI (2)
68 #define PROPSETFLAG_UNBUFFERED (4)
69 #define PROPSETFLAG_CASE_SENSITIVE (8)
70
71 #define PROPSET_BEHAVIOR_CASE_SENSITIVE (1)
72
73 typedef struct tagPROPVARIANT PROPVARIANT;
74 typedef struct tagCAC {
75 ULONG cElems;
76 CHAR *pElems;
77 } CAC;
78
79 typedef struct tagCAUB {
80 ULONG cElems;
81 UCHAR *pElems;
82 } CAUB;
83
84 typedef struct tagCAI {
85 ULONG cElems;
86 SHORT *pElems;
87 } CAI;
88
89 typedef struct tagCAUI {
90 ULONG cElems;
91 USHORT *pElems;
92 } CAUI;
93
94 typedef struct tagCAL {
95 ULONG cElems;
96 LONG *pElems;
97 } CAL;
98
99 typedef struct tagCAUL {
100 ULONG cElems;
101 ULONG *pElems;
102 } CAUL;
103
104 typedef struct tagCAFLT {
105 ULONG cElems;
106 FLOAT *pElems;
107 } CAFLT;
108
109 typedef struct tagCADBL {
110 ULONG cElems;
111 DOUBLE *pElems;
112 } CADBL;
113
114 typedef struct tagCACY {
115 ULONG cElems;
116 CY *pElems;
117 } CACY;
118
119 typedef struct tagCADATE {
120 ULONG cElems;
121 DATE *pElems;
122 } CADATE;
123
124 typedef struct tagCABSTR {
125 ULONG cElems;
126 BSTR *pElems;
127 } CABSTR;
128
129 typedef struct tagCABSTRBLOB {
130 ULONG cElems;
131 BSTRBLOB *pElems;
132 } CABSTRBLOB;
133
134 typedef struct tagCABOOL {
135 ULONG cElems;
136 VARIANT_BOOL *pElems;
137 } CABOOL;
138
139 typedef struct tagCASCODE {
140 ULONG cElems;
141 SCODE *pElems;
142 } CASCODE;
143
144 typedef struct tagCAPROPVARIANT {
145 ULONG cElems;
146 PROPVARIANT *pElems;
147 } CAPROPVARIANT;
148
149 typedef struct tagCAH {
150 ULONG cElems;
151 LARGE_INTEGER *pElems;
152 } CAH;
153
154 typedef struct tagCAUH {
155 ULONG cElems;
156 ULARGE_INTEGER *pElems;
157 } CAUH;
158
159 typedef struct tagCALPSTR {
160 ULONG cElems;
161 LPSTR *pElems;
162 } CALPSTR;
163
164 typedef struct tagCALPWSTR {
165 ULONG cElems;
166 LPWSTR *pElems;
167 } CALPWSTR;
168
169 typedef struct tagCAFILETIME {
170 ULONG cElems;
171 FILETIME *pElems;
172 } CAFILETIME;
173
174 typedef struct tagCACLIPDATA {
175 ULONG cElems;
176 CLIPDATA *pElems;
177 } CACLIPDATA;
178
179 typedef struct tagCACLSID {
180 ULONG cElems;
181 CLSID *pElems;
182 } CACLSID;
183
184 typedef WORD PROPVAR_PAD1;
185 typedef WORD PROPVAR_PAD2;
186 typedef WORD PROPVAR_PAD3;
187 #define tag_inner_PROPVARIANT
188
189 struct tagPROPVARIANT {
190 __MINGW_EXTENSION union {
191 __MINGW_EXTENSION struct tag_inner_PROPVARIANT {
192 VARTYPE vt;
193 PROPVAR_PAD1 wReserved1;
194 PROPVAR_PAD2 wReserved2;
195 PROPVAR_PAD3 wReserved3;
196 __MINGW_EXTENSION union {
197 CHAR cVal;
198 UCHAR bVal;
199 SHORT iVal;
200 USHORT uiVal;
201 LONG lVal;
202 ULONG ulVal;
203 INT intVal;
204 UINT uintVal;
205 LARGE_INTEGER hVal;
206 ULARGE_INTEGER uhVal;
207 FLOAT fltVal;
208 DOUBLE dblVal;
209 VARIANT_BOOL boolVal;
210 /* _VARIANT_BOOL bool; */
211 SCODE scode;
212 CY cyVal;
213 DATE date;
214 FILETIME filetime;
215 CLSID *puuid;
216 CLIPDATA *pclipdata;
217 BSTR bstrVal;
218 BSTRBLOB bstrblobVal;
219 BLOB blob;
220 LPSTR pszVal;
221 LPWSTR pwszVal;
222 IUnknown *punkVal;
223 IDispatch *pdispVal;
224 IStream *pStream;
225 IStorage *pStorage;
226 LPVERSIONEDSTREAM pVersionedStream;
227 LPSAFEARRAY parray;
228 CAC cac;
229 CAUB caub;
230 CAI cai;
231 CAUI caui;
232 CAL cal;
233 CAUL caul;
234 CAH cah;
235 CAUH cauh;
236 CAFLT caflt;
237 CADBL cadbl;
238 CABOOL cabool;
239 CASCODE cascode;
240 CACY cacy;
241 CADATE cadate;
242 CAFILETIME cafiletime;
243 CACLSID cauuid;
244 CACLIPDATA caclipdata;
245 CABSTR cabstr;
246 CABSTRBLOB cabstrblob;
247 CALPSTR calpstr;
248 CALPWSTR calpwstr;
249 CAPROPVARIANT capropvar;
250 CHAR *pcVal;
251 UCHAR *pbVal;
252 SHORT *piVal;
253 USHORT *puiVal;
254 LONG *plVal;
255 ULONG *pulVal;
256 INT *pintVal;
257 UINT *puintVal;
258 FLOAT *pfltVal;
259 DOUBLE *pdblVal;
260 VARIANT_BOOL *pboolVal;
261 DECIMAL *pdecVal;
262 SCODE *pscode;
263 CY *pcyVal;
264 DATE *pdate;
265 BSTR *pbstrVal;
266 IUnknown **ppunkVal;
267 IDispatch **ppdispVal;
268 LPSAFEARRAY *pparray;
269 PROPVARIANT *pvarVal;
270 };
271 };
272 DECIMAL decVal;
273 };
274 };
275
276 typedef struct tagPROPVARIANT *LPPROPVARIANT;
277
278 #define PID_DICTIONARY (0)
279 #define PID_CODEPAGE (0x1)
280 #define PID_FIRST_USABLE (0x2)
281 #define PID_FIRST_NAME_DEFAULT (0xfff)
282 #define PID_LOCALE (0x80000000)
283 #define PID_MODIFY_TIME (0x80000001)
284 #define PID_SECURITY (0x80000002)
285 #define PID_BEHAVIOR (0x80000003)
286 #define PID_ILLEGAL (0xffffffff)
287 #define PID_MIN_READONLY (0x80000000)
288 #define PID_MAX_READONLY (0xbfffffff)
289
290 #define PIDDI_THUMBNAIL 0x00000002L
291
292 #define PIDSI_TITLE 0x00000002L
293 #define PIDSI_SUBJECT 0x00000003L
294 #define PIDSI_AUTHOR 0x00000004L
295 #define PIDSI_KEYWORDS 0x00000005L
296 #define PIDSI_COMMENTS 0x00000006L
297 #define PIDSI_TEMPLATE 0x00000007L
298 #define PIDSI_LASTAUTHOR 0x00000008L
299 #define PIDSI_REVNUMBER 0x00000009L
300 #define PIDSI_EDITTIME 0x0000000aL
301 #define PIDSI_LASTPRINTED 0x0000000bL
302 #define PIDSI_CREATE_DTM 0x0000000cL
303 #define PIDSI_LASTSAVE_DTM 0x0000000dL
304 #define PIDSI_PAGECOUNT 0x0000000eL
305 #define PIDSI_WORDCOUNT 0x0000000fL
306 #define PIDSI_CHARCOUNT 0x00000010L
307 #define PIDSI_THUMBNAIL 0x00000011L
308 #define PIDSI_APPNAME 0x00000012L
309 #define PIDSI_DOC_SECURITY 0x00000013L
310
311 #define PIDDSI_CATEGORY 0x00000002
312 #define PIDDSI_PRESFORMAT 0x00000003
313 #define PIDDSI_BYTECOUNT 0x00000004
314 #define PIDDSI_LINECOUNT 0x00000005
315 #define PIDDSI_PARCOUNT 0x00000006
316 #define PIDDSI_SLIDECOUNT 0x00000007
317 #define PIDDSI_NOTECOUNT 0x00000008
318 #define PIDDSI_HIDDENCOUNT 0x00000009
319 #define PIDDSI_MMCLIPCOUNT 0x0000000A
320 #define PIDDSI_SCALE 0x0000000B
321 #define PIDDSI_HEADINGPAIR 0x0000000C
322 #define PIDDSI_DOCPARTS 0x0000000D
323 #define PIDDSI_MANAGER 0x0000000E
324 #define PIDDSI_COMPANY 0x0000000F
325 #define PIDDSI_LINKSDIRTY 0x00000010
326
327 #define PIDMSI_EDITOR 0x00000002L
328 #define PIDMSI_SUPPLIER 0x00000003L
329 #define PIDMSI_SOURCE 0x00000004L
330 #define PIDMSI_SEQUENCE_NO 0x00000005L
331 #define PIDMSI_PROJECT 0x00000006L
332 #define PIDMSI_STATUS 0x00000007L
333 #define PIDMSI_OWNER 0x00000008L
334 #define PIDMSI_RATING 0x00000009L
335 #define PIDMSI_PRODUCTION 0x0000000AL
336 #define PIDMSI_COPYRIGHT 0x0000000BL
337
338 enum PIDMSI_STATUS_VALUE {
339 PIDMSI_STATUS_NORMAL = 0,PIDMSI_STATUS_NEW,PIDMSI_STATUS_PRELIM,
340 PIDMSI_STATUS_DRAFT,PIDMSI_STATUS_INPROGRESS,PIDMSI_STATUS_EDIT,
341 PIDMSI_STATUS_REVIEW,PIDMSI_STATUS_PROOF,PIDMSI_STATUS_FINAL,
342 PIDMSI_STATUS_OTHER = 0x7fff
343 };
344 #define PRSPEC_INVALID (0xffffffff)
345 #define PRSPEC_LPWSTR (0)
346 #define PRSPEC_PROPID (1)
347
348 typedef struct tagPROPSPEC {
349 ULONG ulKind;
350 __MINGW_EXTENSION union {
351 PROPID propid;
352 LPOLESTR lpwstr;
353 };
354 } PROPSPEC;
355
356 typedef struct tagSTATPROPSTG {
357 LPOLESTR lpwstrName;
358 PROPID propid;
359 VARTYPE vt;
360 } STATPROPSTG;
361
362 #define PROPSETHDR_OSVER_KIND(dwOSVer) HIWORD((dwOSVer))
363 #define PROPSETHDR_OSVER_MAJOR(dwOSVer) LOBYTE(LOWORD((dwOSVer)))
364 #define PROPSETHDR_OSVER_MINOR(dwOSVer) HIBYTE(LOWORD((dwOSVer)))
365 #define PROPSETHDR_OSVERSION_UNKNOWN 0xFFFFFFFF
366 typedef struct tagSTATPROPSETSTG {
367 FMTID fmtid;
368 CLSID clsid;
369 DWORD grfFlags;
370 FILETIME mtime;
371 FILETIME ctime;
372 FILETIME atime;
373 DWORD dwOSVersion;
374 } STATPROPSETSTG;
375
376 extern RPC_IF_HANDLE __MIDL_itf_propidl_0000_v0_0_c_ifspec;
377 extern RPC_IF_HANDLE __MIDL_itf_propidl_0000_v0_0_s_ifspec;
378
379 #ifndef __IPropertyStorage_INTERFACE_DEFINED__
380 #define __IPropertyStorage_INTERFACE_DEFINED__
381 EXTERN_C const IID IID_IPropertyStorage;
382 #if defined(__cplusplus) && !defined(CINTERFACE)
383 struct IPropertyStorage : public IUnknown {
384 public:
385 virtual HRESULT WINAPI ReadMultiple(ULONG cpspec,const PROPSPEC rgpspec[],PROPVARIANT rgpropvar[]) = 0;
386 virtual HRESULT WINAPI WriteMultiple(ULONG cpspec,const PROPSPEC rgpspec[],const PROPVARIANT rgpropvar[],PROPID propidNameFirst) = 0;
387 virtual HRESULT WINAPI DeleteMultiple(ULONG cpspec,const PROPSPEC rgpspec[]) = 0;
388 virtual HRESULT WINAPI ReadPropertyNames(ULONG cpropid,const PROPID rgpropid[],LPOLESTR rglpwstrName[]) = 0;
389 virtual HRESULT WINAPI WritePropertyNames(ULONG cpropid,const PROPID rgpropid[],const LPOLESTR rglpwstrName[]) = 0;
390 virtual HRESULT WINAPI DeletePropertyNames(ULONG cpropid,const PROPID rgpropid[]) = 0;
391 virtual HRESULT WINAPI Commit(DWORD grfCommitFlags) = 0;
392 virtual HRESULT WINAPI Revert(void) = 0;
393 virtual HRESULT WINAPI Enum(IEnumSTATPROPSTG **ppenum) = 0;
394 virtual HRESULT WINAPI SetTimes(const FILETIME *pctime,const FILETIME *patime,const FILETIME *pmtime) = 0;
395 virtual HRESULT WINAPI SetClass(REFCLSID clsid) = 0;
396 virtual HRESULT WINAPI Stat(STATPROPSETSTG *pstatpsstg) = 0;
397 };
398 #else
399 typedef struct IPropertyStorageVtbl {
400 BEGIN_INTERFACE
401 HRESULT (WINAPI *QueryInterface)(IPropertyStorage *This,REFIID riid,void **ppvObject);
402 ULONG (WINAPI *AddRef)(IPropertyStorage *This);
403 ULONG (WINAPI *Release)(IPropertyStorage *This);
404 HRESULT (WINAPI *ReadMultiple)(IPropertyStorage *This,ULONG cpspec,const PROPSPEC rgpspec[],PROPVARIANT rgpropvar[]);
405 HRESULT (WINAPI *WriteMultiple)(IPropertyStorage *This,ULONG cpspec,const PROPSPEC rgpspec[],const PROPVARIANT rgpropvar[],PROPID propidNameFirst);
406 HRESULT (WINAPI *DeleteMultiple)(IPropertyStorage *This,ULONG cpspec,const PROPSPEC rgpspec[]);
407 HRESULT (WINAPI *ReadPropertyNames)(IPropertyStorage *This,ULONG cpropid,const PROPID rgpropid[],LPOLESTR rglpwstrName[]);
408 HRESULT (WINAPI *WritePropertyNames)(IPropertyStorage *This,ULONG cpropid,const PROPID rgpropid[],const LPOLESTR rglpwstrName[]);
409 HRESULT (WINAPI *DeletePropertyNames)(IPropertyStorage *This,ULONG cpropid,const PROPID rgpropid[]);
410 HRESULT (WINAPI *Commit)(IPropertyStorage *This,DWORD grfCommitFlags);
411 HRESULT (WINAPI *Revert)(IPropertyStorage *This);
412 HRESULT (WINAPI *Enum)(IPropertyStorage *This,IEnumSTATPROPSTG **ppenum);
413 HRESULT (WINAPI *SetTimes)(IPropertyStorage *This,const FILETIME *pctime,const FILETIME *patime,const FILETIME *pmtime);
414 HRESULT (WINAPI *SetClass)(IPropertyStorage *This,REFCLSID clsid);
415 HRESULT (WINAPI *Stat)(IPropertyStorage *This,STATPROPSETSTG *pstatpsstg);
416 END_INTERFACE
417 } IPropertyStorageVtbl;
418 struct IPropertyStorage {
419 CONST_VTBL struct IPropertyStorageVtbl *lpVtbl;
420 };
421 #ifdef COBJMACROS
422 #define IPropertyStorage_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
423 #define IPropertyStorage_AddRef(This) (This)->lpVtbl->AddRef(This)
424 #define IPropertyStorage_Release(This) (This)->lpVtbl->Release(This)
425 #define IPropertyStorage_ReadMultiple(This,cpspec,rgpspec,rgpropvar) (This)->lpVtbl->ReadMultiple(This,cpspec,rgpspec,rgpropvar)
426 #define IPropertyStorage_WriteMultiple(This,cpspec,rgpspec,rgpropvar,propidNameFirst) (This)->lpVtbl->WriteMultiple(This,cpspec,rgpspec,rgpropvar,propidNameFirst)
427 #define IPropertyStorage_DeleteMultiple(This,cpspec,rgpspec) (This)->lpVtbl->DeleteMultiple(This,cpspec,rgpspec)
428 #define IPropertyStorage_ReadPropertyNames(This,cpropid,rgpropid,rglpwstrName) (This)->lpVtbl->ReadPropertyNames(This,cpropid,rgpropid,rglpwstrName)
429 #define IPropertyStorage_WritePropertyNames(This,cpropid,rgpropid,rglpwstrName) (This)->lpVtbl->WritePropertyNames(This,cpropid,rgpropid,rglpwstrName)
430 #define IPropertyStorage_DeletePropertyNames(This,cpropid,rgpropid) (This)->lpVtbl->DeletePropertyNames(This,cpropid,rgpropid)
431 #define IPropertyStorage_Commit(This,grfCommitFlags) (This)->lpVtbl->Commit(This,grfCommitFlags)
432 #define IPropertyStorage_Revert(This) (This)->lpVtbl->Revert(This)
433 #define IPropertyStorage_Enum(This,ppenum) (This)->lpVtbl->Enum(This,ppenum)
434 #define IPropertyStorage_SetTimes(This,pctime,patime,pmtime) (This)->lpVtbl->SetTimes(This,pctime,patime,pmtime)
435 #define IPropertyStorage_SetClass(This,clsid) (This)->lpVtbl->SetClass(This,clsid)
436 #define IPropertyStorage_Stat(This,pstatpsstg) (This)->lpVtbl->Stat(This,pstatpsstg)
437 #endif
438 #endif
439 HRESULT WINAPI IPropertyStorage_ReadMultiple_Proxy(IPropertyStorage *This,ULONG cpspec,const PROPSPEC rgpspec[],PROPVARIANT rgpropvar[]);
440 void __RPC_STUB IPropertyStorage_ReadMultiple_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
441 HRESULT WINAPI IPropertyStorage_WriteMultiple_Proxy(IPropertyStorage *This,ULONG cpspec,const PROPSPEC rgpspec[],const PROPVARIANT rgpropvar[],PROPID propidNameFirst);
442 void __RPC_STUB IPropertyStorage_WriteMultiple_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
443 HRESULT WINAPI IPropertyStorage_DeleteMultiple_Proxy(IPropertyStorage *This,ULONG cpspec,const PROPSPEC rgpspec[]);
444 void __RPC_STUB IPropertyStorage_DeleteMultiple_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
445 HRESULT WINAPI IPropertyStorage_ReadPropertyNames_Proxy(IPropertyStorage *This,ULONG cpropid,const PROPID rgpropid[],LPOLESTR rglpwstrName[]);
446 void __RPC_STUB IPropertyStorage_ReadPropertyNames_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
447 HRESULT WINAPI IPropertyStorage_WritePropertyNames_Proxy(IPropertyStorage *This,ULONG cpropid,const PROPID rgpropid[],const LPOLESTR rglpwstrName[]);
448 void __RPC_STUB IPropertyStorage_WritePropertyNames_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
449 HRESULT WINAPI IPropertyStorage_DeletePropertyNames_Proxy(IPropertyStorage *This,ULONG cpropid,const PROPID rgpropid[]);
450 void __RPC_STUB IPropertyStorage_DeletePropertyNames_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
451 HRESULT WINAPI IPropertyStorage_Commit_Proxy(IPropertyStorage *This,DWORD grfCommitFlags);
452 void __RPC_STUB IPropertyStorage_Commit_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
453 HRESULT WINAPI IPropertyStorage_Revert_Proxy(IPropertyStorage *This);
454 void __RPC_STUB IPropertyStorage_Revert_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
455 HRESULT WINAPI IPropertyStorage_Enum_Proxy(IPropertyStorage *This,IEnumSTATPROPSTG **ppenum);
456 void __RPC_STUB IPropertyStorage_Enum_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
457 HRESULT WINAPI IPropertyStorage_SetTimes_Proxy(IPropertyStorage *This,const FILETIME *pctime,const FILETIME *patime,const FILETIME *pmtime);
458 void __RPC_STUB IPropertyStorage_SetTimes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
459 HRESULT WINAPI IPropertyStorage_SetClass_Proxy(IPropertyStorage *This,REFCLSID clsid);
460 void __RPC_STUB IPropertyStorage_SetClass_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
461 HRESULT WINAPI IPropertyStorage_Stat_Proxy(IPropertyStorage *This,STATPROPSETSTG *pstatpsstg);
462 void __RPC_STUB IPropertyStorage_Stat_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
463 #endif
464
465 #ifndef __IPropertySetStorage_INTERFACE_DEFINED__
466 #define __IPropertySetStorage_INTERFACE_DEFINED__
467 typedef IPropertySetStorage *LPPROPERTYSETSTORAGE;
468
469 EXTERN_C const IID IID_IPropertySetStorage;
470 #if defined(__cplusplus) && !defined(CINTERFACE)
471 struct IPropertySetStorage : public IUnknown {
472 public:
473 virtual HRESULT WINAPI Create(REFFMTID rfmtid,const CLSID *pclsid,DWORD grfFlags,DWORD grfMode,IPropertyStorage **ppprstg) = 0;
474 virtual HRESULT WINAPI Open(REFFMTID rfmtid,DWORD grfMode,IPropertyStorage **ppprstg) = 0;
475 virtual HRESULT WINAPI Delete(REFFMTID rfmtid) = 0;
476 virtual HRESULT WINAPI Enum(IEnumSTATPROPSETSTG **ppenum) = 0;
477 };
478 #else
479 typedef struct IPropertySetStorageVtbl {
480 BEGIN_INTERFACE
481 HRESULT (WINAPI *QueryInterface)(IPropertySetStorage *This,REFIID riid,void **ppvObject);
482 ULONG (WINAPI *AddRef)(IPropertySetStorage *This);
483 ULONG (WINAPI *Release)(IPropertySetStorage *This);
484 HRESULT (WINAPI *Create)(IPropertySetStorage *This,REFFMTID rfmtid,const CLSID *pclsid,DWORD grfFlags,DWORD grfMode,IPropertyStorage **ppprstg);
485 HRESULT (WINAPI *Open)(IPropertySetStorage *This,REFFMTID rfmtid,DWORD grfMode,IPropertyStorage **ppprstg);
486 HRESULT (WINAPI *Delete)(IPropertySetStorage *This,REFFMTID rfmtid);
487 HRESULT (WINAPI *Enum)(IPropertySetStorage *This,IEnumSTATPROPSETSTG **ppenum);
488 END_INTERFACE
489 } IPropertySetStorageVtbl;
490 struct IPropertySetStorage {
491 CONST_VTBL struct IPropertySetStorageVtbl *lpVtbl;
492 };
493 #ifdef COBJMACROS
494 #define IPropertySetStorage_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
495 #define IPropertySetStorage_AddRef(This) (This)->lpVtbl->AddRef(This)
496 #define IPropertySetStorage_Release(This) (This)->lpVtbl->Release(This)
497 #define IPropertySetStorage_Create(This,rfmtid,pclsid,grfFlags,grfMode,ppprstg) (This)->lpVtbl->Create(This,rfmtid,pclsid,grfFlags,grfMode,ppprstg)
498 #define IPropertySetStorage_Open(This,rfmtid,grfMode,ppprstg) (This)->lpVtbl->Open(This,rfmtid,grfMode,ppprstg)
499 #define IPropertySetStorage_Delete(This,rfmtid) (This)->lpVtbl->Delete(This,rfmtid)
500 #define IPropertySetStorage_Enum(This,ppenum) (This)->lpVtbl->Enum(This,ppenum)
501 #endif
502 #endif
503 HRESULT WINAPI IPropertySetStorage_Create_Proxy(IPropertySetStorage *This,REFFMTID rfmtid,const CLSID *pclsid,DWORD grfFlags,DWORD grfMode,IPropertyStorage **ppprstg);
504 void __RPC_STUB IPropertySetStorage_Create_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
505 HRESULT WINAPI IPropertySetStorage_Open_Proxy(IPropertySetStorage *This,REFFMTID rfmtid,DWORD grfMode,IPropertyStorage **ppprstg);
506 void __RPC_STUB IPropertySetStorage_Open_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
507 HRESULT WINAPI IPropertySetStorage_Delete_Proxy(IPropertySetStorage *This,REFFMTID rfmtid);
508 void __RPC_STUB IPropertySetStorage_Delete_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
509 HRESULT WINAPI IPropertySetStorage_Enum_Proxy(IPropertySetStorage *This,IEnumSTATPROPSETSTG **ppenum);
510 void __RPC_STUB IPropertySetStorage_Enum_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
511 #endif
512
513 #ifndef __IEnumSTATPROPSTG_INTERFACE_DEFINED__
514 #define __IEnumSTATPROPSTG_INTERFACE_DEFINED__
515 typedef IEnumSTATPROPSTG *LPENUMSTATPROPSTG;
516
517 EXTERN_C const IID IID_IEnumSTATPROPSTG;
518 #if defined(__cplusplus) && !defined(CINTERFACE)
519 struct IEnumSTATPROPSTG : public IUnknown {
520 public:
521 virtual HRESULT WINAPI Next(ULONG celt,STATPROPSTG *rgelt,ULONG *pceltFetched) = 0;
522 virtual HRESULT WINAPI Skip(ULONG celt) = 0;
523 virtual HRESULT WINAPI Reset(void) = 0;
524 virtual HRESULT WINAPI Clone(IEnumSTATPROPSTG **ppenum) = 0;
525 };
526 #else
527 typedef struct IEnumSTATPROPSTGVtbl {
528 BEGIN_INTERFACE
529 HRESULT (WINAPI *QueryInterface)(IEnumSTATPROPSTG *This,REFIID riid,void **ppvObject);
530 ULONG (WINAPI *AddRef)(IEnumSTATPROPSTG *This);
531 ULONG (WINAPI *Release)(IEnumSTATPROPSTG *This);
532 HRESULT (WINAPI *Next)(IEnumSTATPROPSTG *This,ULONG celt,STATPROPSTG *rgelt,ULONG *pceltFetched);
533 HRESULT (WINAPI *Skip)(IEnumSTATPROPSTG *This,ULONG celt);
534 HRESULT (WINAPI *Reset)(IEnumSTATPROPSTG *This);
535 HRESULT (WINAPI *Clone)(IEnumSTATPROPSTG *This,IEnumSTATPROPSTG **ppenum);
536 END_INTERFACE
537 } IEnumSTATPROPSTGVtbl;
538 struct IEnumSTATPROPSTG {
539 CONST_VTBL struct IEnumSTATPROPSTGVtbl *lpVtbl;
540 };
541 #ifdef COBJMACROS
542 #define IEnumSTATPROPSTG_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
543 #define IEnumSTATPROPSTG_AddRef(This) (This)->lpVtbl->AddRef(This)
544 #define IEnumSTATPROPSTG_Release(This) (This)->lpVtbl->Release(This)
545 #define IEnumSTATPROPSTG_Next(This,celt,rgelt,pceltFetched) (This)->lpVtbl->Next(This,celt,rgelt,pceltFetched)
546 #define IEnumSTATPROPSTG_Skip(This,celt) (This)->lpVtbl->Skip(This,celt)
547 #define IEnumSTATPROPSTG_Reset(This) (This)->lpVtbl->Reset(This)
548 #define IEnumSTATPROPSTG_Clone(This,ppenum) (This)->lpVtbl->Clone(This,ppenum)
549 #endif
550 #endif
551 HRESULT WINAPI IEnumSTATPROPSTG_RemoteNext_Proxy(IEnumSTATPROPSTG *This,ULONG celt,STATPROPSTG *rgelt,ULONG *pceltFetched);
552 void __RPC_STUB IEnumSTATPROPSTG_RemoteNext_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
553 HRESULT WINAPI IEnumSTATPROPSTG_Skip_Proxy(IEnumSTATPROPSTG *This,ULONG celt);
554 void __RPC_STUB IEnumSTATPROPSTG_Skip_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
555 HRESULT WINAPI IEnumSTATPROPSTG_Reset_Proxy(IEnumSTATPROPSTG *This);
556 void __RPC_STUB IEnumSTATPROPSTG_Reset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
557 HRESULT WINAPI IEnumSTATPROPSTG_Clone_Proxy(IEnumSTATPROPSTG *This,IEnumSTATPROPSTG **ppenum);
558 void __RPC_STUB IEnumSTATPROPSTG_Clone_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
559 #endif
560
561 #ifndef __IEnumSTATPROPSETSTG_INTERFACE_DEFINED__
562 #define __IEnumSTATPROPSETSTG_INTERFACE_DEFINED__
563 typedef IEnumSTATPROPSETSTG *LPENUMSTATPROPSETSTG;
564
565 EXTERN_C const IID IID_IEnumSTATPROPSETSTG;
566 #if defined(__cplusplus) && !defined(CINTERFACE)
567 struct IEnumSTATPROPSETSTG : public IUnknown {
568 public:
569 virtual HRESULT WINAPI Next(ULONG celt,STATPROPSETSTG *rgelt,ULONG *pceltFetched) = 0;
570 virtual HRESULT WINAPI Skip(ULONG celt) = 0;
571 virtual HRESULT WINAPI Reset(void) = 0;
572 virtual HRESULT WINAPI Clone(IEnumSTATPROPSETSTG **ppenum) = 0;
573 };
574 #else
575 typedef struct IEnumSTATPROPSETSTGVtbl {
576 BEGIN_INTERFACE
577 HRESULT (WINAPI *QueryInterface)(IEnumSTATPROPSETSTG *This,REFIID riid,void **ppvObject);
578 ULONG (WINAPI *AddRef)(IEnumSTATPROPSETSTG *This);
579 ULONG (WINAPI *Release)(IEnumSTATPROPSETSTG *This);
580 HRESULT (WINAPI *Next)(IEnumSTATPROPSETSTG *This,ULONG celt,STATPROPSETSTG *rgelt,ULONG *pceltFetched);
581 HRESULT (WINAPI *Skip)(IEnumSTATPROPSETSTG *This,ULONG celt);
582 HRESULT (WINAPI *Reset)(IEnumSTATPROPSETSTG *This);
583 HRESULT (WINAPI *Clone)(IEnumSTATPROPSETSTG *This,IEnumSTATPROPSETSTG **ppenum);
584 END_INTERFACE
585 } IEnumSTATPROPSETSTGVtbl;
586 struct IEnumSTATPROPSETSTG {
587 CONST_VTBL struct IEnumSTATPROPSETSTGVtbl *lpVtbl;
588 };
589 #ifdef COBJMACROS
590 #define IEnumSTATPROPSETSTG_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
591 #define IEnumSTATPROPSETSTG_AddRef(This) (This)->lpVtbl->AddRef(This)
592 #define IEnumSTATPROPSETSTG_Release(This) (This)->lpVtbl->Release(This)
593 #define IEnumSTATPROPSETSTG_Next(This,celt,rgelt,pceltFetched) (This)->lpVtbl->Next(This,celt,rgelt,pceltFetched)
594 #define IEnumSTATPROPSETSTG_Skip(This,celt) (This)->lpVtbl->Skip(This,celt)
595 #define IEnumSTATPROPSETSTG_Reset(This) (This)->lpVtbl->Reset(This)
596 #define IEnumSTATPROPSETSTG_Clone(This,ppenum) (This)->lpVtbl->Clone(This,ppenum)
597 #endif
598 #endif
599 HRESULT WINAPI IEnumSTATPROPSETSTG_RemoteNext_Proxy(IEnumSTATPROPSETSTG *This,ULONG celt,STATPROPSETSTG *rgelt,ULONG *pceltFetched);
600 void __RPC_STUB IEnumSTATPROPSETSTG_RemoteNext_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
601 HRESULT WINAPI IEnumSTATPROPSETSTG_Skip_Proxy(IEnumSTATPROPSETSTG *This,ULONG celt);
602 void __RPC_STUB IEnumSTATPROPSETSTG_Skip_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
603 HRESULT WINAPI IEnumSTATPROPSETSTG_Reset_Proxy(IEnumSTATPROPSETSTG *This);
604 void __RPC_STUB IEnumSTATPROPSETSTG_Reset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
605 HRESULT WINAPI IEnumSTATPROPSETSTG_Clone_Proxy(IEnumSTATPROPSETSTG *This,IEnumSTATPROPSETSTG **ppenum);
606 void __RPC_STUB IEnumSTATPROPSETSTG_Clone_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
607 #endif
608
609 typedef IPropertyStorage *LPPROPERTYSTORAGE;
610
611 WINOLEAPI PropVariantCopy (PROPVARIANT *pvarDest,const PROPVARIANT *pvarSrc);
612 WINOLEAPI PropVariantClear (PROPVARIANT *pvar);
613 WINOLEAPI FreePropVariantArray (ULONG cVariants,PROPVARIANT *rgvars);
614
615 #define _PROPVARIANTINIT_DEFINED_
616 #ifdef __cplusplus
617 static inline void PropVariantInit(PROPVARIANT *pvar) { memset (pvar,0,sizeof(PROPVARIANT)); }
618 #else
619 #define PropVariantInit(pvar) memset((pvar),0,sizeof(PROPVARIANT))
620 #endif
621
622 #ifndef _STGCREATEPROPSTG_DEFINED_
623 WINOLEAPI StgCreatePropStg(IUnknown *pUnk,REFFMTID fmtid,const CLSID *pclsid,DWORD grfFlags,DWORD dwReserved,IPropertyStorage **ppPropStg);
624 WINOLEAPI StgOpenPropStg(IUnknown *pUnk,REFFMTID fmtid,DWORD grfFlags,DWORD dwReserved,IPropertyStorage **ppPropStg);
625 WINOLEAPI StgCreatePropSetStg(IStorage *pStorage,DWORD dwReserved,IPropertySetStorage **ppPropSetStg);
626
627 #define CCH_MAX_PROPSTG_NAME 31
628 WINOLEAPI FmtIdToPropStgName(const FMTID *pfmtid,LPOLESTR oszName);
629 WINOLEAPI PropStgNameToFmtId(const LPOLESTR oszName,FMTID *pfmtid);
630 #endif
631
632 extern RPC_IF_HANDLE __MIDL_itf_propidl_0120_v0_0_c_ifspec;
633 extern RPC_IF_HANDLE __MIDL_itf_propidl_0120_v0_0_s_ifspec;
634
635 unsigned long __RPC_API BSTR_UserSize(unsigned long *,unsigned long,BSTR *);
636 unsigned char *__RPC_API BSTR_UserMarshal(unsigned long *,unsigned char *,BSTR *);
637 unsigned char *__RPC_API BSTR_UserUnmarshal(unsigned long *,unsigned char *,BSTR *);
638 void __RPC_API BSTR_UserFree(unsigned long *,BSTR *);
639 unsigned long __RPC_API LPSAFEARRAY_UserSize(unsigned long *,unsigned long,LPSAFEARRAY *);
640 unsigned char *__RPC_API LPSAFEARRAY_UserMarshal(unsigned long *,unsigned char *,LPSAFEARRAY *);
641 unsigned char *__RPC_API LPSAFEARRAY_UserUnmarshal(unsigned long *,unsigned char *,LPSAFEARRAY *);
642 void __RPC_API LPSAFEARRAY_UserFree(unsigned long *,LPSAFEARRAY *);
643
644 HRESULT WINAPI IEnumSTATPROPSTG_Next_Proxy(IEnumSTATPROPSTG *This,ULONG celt,STATPROPSTG *rgelt,ULONG *pceltFetched);
645 HRESULT WINAPI IEnumSTATPROPSTG_Next_Stub(IEnumSTATPROPSTG *This,ULONG celt,STATPROPSTG *rgelt,ULONG *pceltFetched);
646 HRESULT WINAPI IEnumSTATPROPSETSTG_Next_Proxy(IEnumSTATPROPSETSTG *This,ULONG celt,STATPROPSETSTG *rgelt,ULONG *pceltFetched);
647 HRESULT WINAPI IEnumSTATPROPSETSTG_Next_Stub(IEnumSTATPROPSETSTG *This,ULONG celt,STATPROPSETSTG *rgelt,ULONG *pceltFetched);
648
649 #ifdef __cplusplus
650 }
651 #endif
652 #endif