PortAudio  2.0
propidl.h
Go to the documentation of this file.
1 
2 
3 /* this ALWAYS GENERATED file contains the definitions for the interfaces */
4 
5 
6  /* File created by MIDL compiler version 7.00.0499 */
7 /* Compiler settings for propidl.idl:
8  Oicf, W1, Zp8, env=Win32 (32b run)
9  protocol : dce , ms_ext, c_ext, robust
10  error checks: allocation ref bounds_check enum stub_data
11  VC __declspec() decoration level:
12  __declspec(uuid()), __declspec(selectany), __declspec(novtable)
13  DECLSPEC_UUID(), MIDL_INTERFACE()
14 */
15 //@@MIDL_FILE_HEADING( )
16 
17 #pragma warning( disable: 4049 ) /* more than 64k source lines */
18 
19 
20 /* verify that the <rpcndr.h> version is high enough to compile this file*/
21 #ifndef __REQUIRED_RPCNDR_H_VERSION__
22 #define __REQUIRED_RPCNDR_H_VERSION__ 500
23 #endif
24 
25 /* verify that the <rpcsal.h> version is high enough to compile this file*/
26 #ifndef __REQUIRED_RPCSAL_H_VERSION__
27 #define __REQUIRED_RPCSAL_H_VERSION__ 100
28 #endif
29 
30 #include "rpc.h"
31 #include "rpcndr.h"
32 
33 #ifndef __RPCNDR_H_VERSION__
34 #error this stub requires an updated version of <rpcndr.h>
35 #endif // __RPCNDR_H_VERSION__
36 
37 #ifndef COM_NO_WINDOWS_H
38 #include "windows.h"
39 #include "ole2.h"
40 #endif /*COM_NO_WINDOWS_H*/
41 
42 #ifndef __propidl_h__
43 #define __propidl_h__
44 
45 #if __GNUC__ >=3
46 #pragma GCC system_header
47 #endif
48 
49 #define interface struct
50 #include "sal.h"
51 #include "rpcsal.h"
52 
53 #if defined(_MSC_VER) && (_MSC_VER >= 1020)
54 #pragma once
55 #endif
56 
57 /* Forward Declarations */
58 
59 #ifndef __IPropertyStorage_FWD_DEFINED__
60 #define __IPropertyStorage_FWD_DEFINED__
62 #endif /* __IPropertyStorage_FWD_DEFINED__ */
63 
64 
65 #ifndef __IPropertySetStorage_FWD_DEFINED__
66 #define __IPropertySetStorage_FWD_DEFINED__
68 #endif /* __IPropertySetStorage_FWD_DEFINED__ */
69 
70 
71 #ifndef __IEnumSTATPROPSTG_FWD_DEFINED__
72 #define __IEnumSTATPROPSTG_FWD_DEFINED__
74 #endif /* __IEnumSTATPROPSTG_FWD_DEFINED__ */
75 
76 
77 #ifndef __IEnumSTATPROPSETSTG_FWD_DEFINED__
78 #define __IEnumSTATPROPSETSTG_FWD_DEFINED__
80 #endif /* __IEnumSTATPROPSETSTG_FWD_DEFINED__ */
81 
82 
83 /* header files for imported files */
84 #include "objidl.h"
85 #include "oaidl.h"
86 
87 #ifdef __cplusplus
88 extern "C"{
89 #endif
90 
91 
92 /* interface __MIDL_itf_propidl_0000_0000 */
93 /* [local] */
94 
95 //+-------------------------------------------------------------------------
96 //
97 // Microsoft Windows
98 // Copyright (c) Microsoft Corporation. All rights reserved.
99 //
100 //--------------------------------------------------------------------------
101 #if ( _MSC_VER >= 800 )
102 #if _MSC_VER >= 1200
103 #pragma warning(push)
104 #endif
105 #pragma warning(disable:4201) /* Nameless struct/union */
106 #pragma warning(disable:4237) /* obsolete member named 'bool' */
107 #endif
108 #if ( _MSC_VER >= 1020 )
109 #pragma once
110 #endif
111 
112 
113 
114 typedef struct tagVersionedStream
115  {
117  IStream *pStream;
118  } VERSIONEDSTREAM;
119 
121 
122 
123 // Flags for IPropertySetStorage::Create
124 #define PROPSETFLAG_DEFAULT ( 0 )
125 
126 #define PROPSETFLAG_NONSIMPLE ( 1 )
127 
128 #define PROPSETFLAG_ANSI ( 2 )
129 
130 // (This flag is only supported on StgCreatePropStg & StgOpenPropStg
131 #define PROPSETFLAG_UNBUFFERED ( 4 )
132 
133 // (This flag causes a version-1 property set to be created
134 #define PROPSETFLAG_CASE_SENSITIVE ( 8 )
135 
136 
137 // Flags for the reservied PID_BEHAVIOR property
138 #define PROPSET_BEHAVIOR_CASE_SENSITIVE ( 1 )
139 
140 #ifdef MIDL_PASS
141 // This is the PROPVARIANT definition for marshaling.
142 typedef struct tag_inner_PROPVARIANT PROPVARIANT;
143 
144 #else
145 // This is the standard C layout of the PROPVARIANT.
146 typedef struct tagPROPVARIANT PROPVARIANT;
147 #endif
148 typedef struct tagCAC
149  {
150  ULONG cElems;
151  CHAR *pElems;
152  } CAC;
153 #ifdef WIN64
154 typedef struct tagCAUB
155  {
156  ULONG cElems;
157  UCHAR *pElems;
158  } CAUB;
159 
160 typedef struct tagCAI
161  {
162  ULONG cElems;
163  SHORT *pElems;
164  } CAI;
165 
166 typedef struct tagCAUI
167  {
168  ULONG cElems;
169  USHORT *pElems;
170  } CAUI;
171 
172 typedef struct tagCAL
173  {
174  ULONG cElems;
175  LONG *pElems;
176  } CAL;
177 
178 typedef struct tagCAUL
179  {
180  ULONG cElems;
181  ULONG *pElems;
182  } CAUL;
183 
184 typedef struct tagCAFLT
185  {
186  ULONG cElems;
187  FLOAT *pElems;
188  } CAFLT;
189 
190 typedef struct tagCADBL
191  {
192  ULONG cElems;
193  DOUBLE *pElems;
194  } CADBL;
195 
196 typedef struct tagCACY
197  {
198  ULONG cElems;
199  CY *pElems;
200  } CACY;
201 
202 typedef struct tagCADATE
203  {
204  ULONG cElems;
205  DATE *pElems;
206  } CADATE;
207 
208 typedef struct tagCABSTR
209  {
210  ULONG cElems;
211  BSTR *pElems;
212  } CABSTR;
213 
214 typedef struct tagCABSTRBLOB
215  {
216  ULONG cElems;
217  BSTRBLOB *pElems;
218  } CABSTRBLOB;
219 
220 typedef struct tagCABOOL
221  {
222  ULONG cElems;
223  VARIANT_BOOL *pElems;
224  } CABOOL;
225 
226 typedef struct tagCASCODE
227  {
228  ULONG cElems;
229  SCODE *pElems;
230  } CASCODE;
231 
232 typedef struct tagCAPROPVARIANT
233  {
234  ULONG cElems;
235  PROPVARIANT *pElems;
236  } CAPROPVARIANT;
237 
238 typedef struct tagCAH
239  {
240  ULONG cElems;
241  LARGE_INTEGER *pElems;
242  } CAH;
243 
244 typedef struct tagCAUH
245  {
246  ULONG cElems;
247  ULARGE_INTEGER *pElems;
248  } CAUH;
249 
250 typedef struct tagCALPSTR
251  {
252  ULONG cElems;
253  LPSTR *pElems;
254  } CALPSTR;
255 
256 typedef struct tagCALPWSTR
257  {
258  ULONG cElems;
259  LPWSTR *pElems;
260  } CALPWSTR;
261 
262 typedef struct tagCAFILETIME
263  {
264  ULONG cElems;
265  FILETIME *pElems;
266  } CAFILETIME;
267 
268 typedef struct tagCACLIPDATA
269  {
270  ULONG cElems;
271  CLIPDATA *pElems;
272  } CACLIPDATA;
273 
274 typedef struct tagCACLSID
275  {
276  ULONG cElems;
277  CLSID *pElems;
278  } CACLSID;
279 #endif
280 #ifdef MIDL_PASS
281 // This is the PROPVARIANT padding layout for marshaling.
282 typedef BYTE PROPVAR_PAD1;
283 
284 typedef BYTE PROPVAR_PAD2;
285 
286 typedef ULONG PROPVAR_PAD3;
287 
288 #else
289 // This is the standard C layout of the structure.
290 typedef WORD PROPVAR_PAD1;
291 typedef WORD PROPVAR_PAD2;
292 typedef WORD PROPVAR_PAD3;
293 #define tag_inner_PROPVARIANT
294 #endif
295 #ifdef WIN64
296 #ifndef MIDL_PASS
297 struct tagPROPVARIANT {
298  union {
299 #endif
301  {
302  VARTYPE vt;
303  PROPVAR_PAD1 wReserved1;
304  PROPVAR_PAD2 wReserved2;
305  PROPVAR_PAD3 wReserved3;
306  /* [switch_type] */ union
307  {
308  /* Empty union arm */
309  CHAR cVal;
310  UCHAR bVal;
311  SHORT iVal;
312  USHORT uiVal;
313  LONG lVal;
314  ULONG ulVal;
315  INT intVal;
316  UINT uintVal;
317  LARGE_INTEGER hVal;
318  ULARGE_INTEGER uhVal;
319  FLOAT fltVal;
320  DOUBLE dblVal;
321  VARIANT_BOOL boolVal;
322  //_VARIANT_BOOL bool;
323  SCODE scode;
324  CY cyVal;
325  DATE date;
326  FILETIME filetime;
327  CLSID *puuid;
328  CLIPDATA *pclipdata;
329  BSTR bstrVal;
330  BSTRBLOB bstrblobVal;
331  BLOB blob;
332  LPSTR pszVal;
333  LPWSTR pwszVal;
334  IUnknown *punkVal;
335  IDispatch *pdispVal;
336  IStream *pStream;
337  IStorage *pStorage;
338  LPVERSIONEDSTREAM pVersionedStream;
339  LPSAFEARRAY parray;
340  CAC cac;
341  CAUB caub;
342  CAI cai;
343  CAUI caui;
344  CAL cal;
345  CAUL caul;
346  CAH cah;
347  CAUH cauh;
348  CAFLT caflt;
349  CADBL cadbl;
350  CABOOL cabool;
351  CASCODE cascode;
352  CACY cacy;
353  CADATE cadate;
354  CAFILETIME cafiletime;
355  CACLSID cauuid;
356  CACLIPDATA caclipdata;
357  CABSTR cabstr;
358  CABSTRBLOB cabstrblob;
359  CALPSTR calpstr;
360  CALPWSTR calpwstr;
361  CAPROPVARIANT capropvar;
362  CHAR *pcVal;
363  UCHAR *pbVal;
364  SHORT *piVal;
365  USHORT *puiVal;
366  LONG *plVal;
367  ULONG *pulVal;
368  INT *pintVal;
369  UINT *puintVal;
370  FLOAT *pfltVal;
371  DOUBLE *pdblVal;
372  VARIANT_BOOL *pboolVal;
373  DECIMAL *pdecVal;
374  SCODE *pscode;
375  CY *pcyVal;
376  DATE *pdate;
377  BSTR *pbstrVal;
378  IUnknown **ppunkVal;
379  IDispatch **ppdispVal;
380  LPSAFEARRAY *pparray;
381  PROPVARIANT *pvarVal;
382  } ;
383  } ;
384 #ifndef MIDL_PASS
385  DECIMAL decVal;
386  };
387 };
388 #endif
389 #endif
390 #ifdef MIDL_PASS
391 // This is the LPPROPVARIANT definition for marshaling.
392 typedef struct tag_inner_PROPVARIANT *LPPROPVARIANT;
393 
394 typedef const PROPVARIANT *REFPROPVARIANT;
395 
396 #else
397 
398 // This is the standard C layout of the PROPVARIANT.
399 #ifdef WIN64
400 typedef struct tagPROPVARIANT * LPPROPVARIANT;
401 #endif
402 
403 #ifndef _REFPROPVARIANT_DEFINED
404 #define _REFPROPVARIANT_DEFINED
405 #ifdef __cplusplus
406 #define REFPROPVARIANT const PROPVARIANT &
407 #else
408 #define REFPROPVARIANT const PROPVARIANT * __MIDL_CONST
409 #endif
410 #endif
411 
412 #endif // MIDL_PASS
413 
414 // Reserved global Property IDs
415 #define PID_DICTIONARY ( 0 )
416 
417 #define PID_CODEPAGE ( 0x1 )
418 
419 #define PID_FIRST_USABLE ( 0x2 )
420 
421 #define PID_FIRST_NAME_DEFAULT ( 0xfff )
422 
423 #define PID_LOCALE ( 0x80000000 )
424 
425 #define PID_MODIFY_TIME ( 0x80000001 )
426 
427 #define PID_SECURITY ( 0x80000002 )
428 
429 #define PID_BEHAVIOR ( 0x80000003 )
430 
431 #define PID_ILLEGAL ( 0xffffffff )
432 
433 // Range which is read-only to downlevel implementations
434 #define PID_MIN_READONLY ( 0x80000000 )
435 
436 #define PID_MAX_READONLY ( 0xbfffffff )
437 
438 // Property IDs for the DiscardableInformation Property Set
439 
440 #define PIDDI_THUMBNAIL 0x00000002L // VT_BLOB
441 
442 // Property IDs for the SummaryInformation Property Set
443 
444 #define PIDSI_TITLE 0x00000002L // VT_LPSTR
445 #define PIDSI_SUBJECT 0x00000003L // VT_LPSTR
446 #define PIDSI_AUTHOR 0x00000004L // VT_LPSTR
447 #define PIDSI_KEYWORDS 0x00000005L // VT_LPSTR
448 #define PIDSI_COMMENTS 0x00000006L // VT_LPSTR
449 #define PIDSI_TEMPLATE 0x00000007L // VT_LPSTR
450 #define PIDSI_LASTAUTHOR 0x00000008L // VT_LPSTR
451 #define PIDSI_REVNUMBER 0x00000009L // VT_LPSTR
452 #define PIDSI_EDITTIME 0x0000000aL // VT_FILETIME (UTC)
453 #define PIDSI_LASTPRINTED 0x0000000bL // VT_FILETIME (UTC)
454 #define PIDSI_CREATE_DTM 0x0000000cL // VT_FILETIME (UTC)
455 #define PIDSI_LASTSAVE_DTM 0x0000000dL // VT_FILETIME (UTC)
456 #define PIDSI_PAGECOUNT 0x0000000eL // VT_I4
457 #define PIDSI_WORDCOUNT 0x0000000fL // VT_I4
458 #define PIDSI_CHARCOUNT 0x00000010L // VT_I4
459 #define PIDSI_THUMBNAIL 0x00000011L // VT_CF
460 #define PIDSI_APPNAME 0x00000012L // VT_LPSTR
461 #define PIDSI_DOC_SECURITY 0x00000013L // VT_I4
462 
463 // Property IDs for the DocSummaryInformation Property Set
464 
465 #define PIDDSI_CATEGORY 0x00000002 // VT_LPSTR
466 #define PIDDSI_PRESFORMAT 0x00000003 // VT_LPSTR
467 #define PIDDSI_BYTECOUNT 0x00000004 // VT_I4
468 #define PIDDSI_LINECOUNT 0x00000005 // VT_I4
469 #define PIDDSI_PARCOUNT 0x00000006 // VT_I4
470 #define PIDDSI_SLIDECOUNT 0x00000007 // VT_I4
471 #define PIDDSI_NOTECOUNT 0x00000008 // VT_I4
472 #define PIDDSI_HIDDENCOUNT 0x00000009 // VT_I4
473 #define PIDDSI_MMCLIPCOUNT 0x0000000A // VT_I4
474 #define PIDDSI_SCALE 0x0000000B // VT_BOOL
475 #define PIDDSI_HEADINGPAIR 0x0000000C // VT_VARIANT | VT_VECTOR
476 #define PIDDSI_DOCPARTS 0x0000000D // VT_LPSTR | VT_VECTOR
477 #define PIDDSI_MANAGER 0x0000000E // VT_LPSTR
478 #define PIDDSI_COMPANY 0x0000000F // VT_LPSTR
479 #define PIDDSI_LINKSDIRTY 0x00000010 // VT_BOOL
480 
481 
482 // FMTID_MediaFileSummaryInfo - Property IDs
483 
484 #define PIDMSI_EDITOR 0x00000002L // VT_LPWSTR
485 #define PIDMSI_SUPPLIER 0x00000003L // VT_LPWSTR
486 #define PIDMSI_SOURCE 0x00000004L // VT_LPWSTR
487 #define PIDMSI_SEQUENCE_NO 0x00000005L // VT_LPWSTR
488 #define PIDMSI_PROJECT 0x00000006L // VT_LPWSTR
489 #define PIDMSI_STATUS 0x00000007L // VT_UI4
490 #define PIDMSI_OWNER 0x00000008L // VT_LPWSTR
491 #define PIDMSI_RATING 0x00000009L // VT_LPWSTR
492 #define PIDMSI_PRODUCTION 0x0000000AL // VT_FILETIME (UTC)
493 #define PIDMSI_COPYRIGHT 0x0000000BL // VT_LPWSTR
494 
495 // PIDMSI_STATUS value definitions
496 
508  } ;
509 #define PRSPEC_INVALID ( 0xffffffff )
510 
511 #define PRSPEC_LPWSTR ( 0 )
512 
513 #define PRSPEC_PROPID ( 1 )
514 
515 #ifdef WIN64
516 typedef struct tagPROPSPEC
517  {
518  ULONG ulKind;
519  /* [switch_type] */ union
520  {
521  PROPID propid;
522  LPOLESTR lpwstr;
523  /* Empty union arm */
524  } ;
525  } PROPSPEC;
526 
527 typedef struct tagSTATPROPSTG
528  {
529  LPOLESTR lpwstrName;
530  PROPID propid;
531  VARTYPE vt;
532  } STATPROPSTG;
533 #endif
534 
535 // Macros for parsing the OS Version of the Property Set Header
536 #define PROPSETHDR_OSVER_KIND(dwOSVer) HIWORD( (dwOSVer) )
537 #define PROPSETHDR_OSVER_MAJOR(dwOSVer) LOBYTE(LOWORD( (dwOSVer) ))
538 #define PROPSETHDR_OSVER_MINOR(dwOSVer) HIBYTE(LOWORD( (dwOSVer) ))
539 #define PROPSETHDR_OSVERSION_UNKNOWN 0xFFFFFFFF
540 #ifdef WIN64
541 typedef struct tagSTATPROPSETSTG
542  {
543  FMTID fmtid;
544  CLSID clsid;
545  DWORD grfFlags;
546  FILETIME mtime;
547  FILETIME ctime;
548  FILETIME atime;
549  DWORD dwOSVersion;
550  } STATPROPSETSTG;
551 #endif
552 
553 
554 extern RPC_IF_HANDLE __MIDL_itf_propidl_0000_0000_v0_0_c_ifspec;
555 extern RPC_IF_HANDLE __MIDL_itf_propidl_0000_0000_v0_0_s_ifspec;
556 
557 #ifndef __IPropertyStorage_INTERFACE_DEFINED__
558 #define __IPropertyStorage_INTERFACE_DEFINED__
559 
560 /* interface IPropertyStorage */
561 /* [unique][uuid][object] */
562 
563 
564 EXTERN_C const IID IID_IPropertyStorage;
565 
566 #if defined(__cplusplus) && !defined(CINTERFACE)
567 
568  MIDL_INTERFACE("00000138-0000-0000-C000-000000000046")
569  IPropertyStorage : public IUnknown
570  {
571  public:
572  virtual HRESULT STDMETHODCALLTYPE ReadMultiple(
573  /* [in] */ ULONG cpspec,
574  /* [size_is][in] */ __RPC__in_ecount_full(cpspec) const PROPSPEC rgpspec[ ],
575  /* [size_is][out] */ __RPC__out_ecount_full(cpspec) PROPVARIANT rgpropvar[ ]) = 0;
576 
577  virtual HRESULT STDMETHODCALLTYPE WriteMultiple(
578  /* [in] */ ULONG cpspec,
579  /* [size_is][in] */ __RPC__in_ecount_full(cpspec) const PROPSPEC rgpspec[ ],
580  /* [size_is][in] */ __RPC__in_ecount_full(cpspec) const PROPVARIANT rgpropvar[ ],
581  /* [in] */ PROPID propidNameFirst) = 0;
582 
583  virtual HRESULT STDMETHODCALLTYPE DeleteMultiple(
584  /* [in] */ ULONG cpspec,
585  /* [size_is][in] */ __RPC__in_ecount_full(cpspec) const PROPSPEC rgpspec[ ]) = 0;
586 
587  virtual HRESULT STDMETHODCALLTYPE ReadPropertyNames(
588  /* [in] */ ULONG cpropid,
589  /* [size_is][in] */ __RPC__in_ecount_full(cpropid) const PROPID rgpropid[ ],
590  /* [size_is][out] */ __RPC__out_ecount_full(cpropid) LPOLESTR rglpwstrName[ ]) = 0;
591 
592  virtual HRESULT STDMETHODCALLTYPE WritePropertyNames(
593  /* [in] */ ULONG cpropid,
594  /* [size_is][in] */ __RPC__in_ecount_full(cpropid) const PROPID rgpropid[ ],
595  /* [size_is][in] */ __RPC__in_ecount_full(cpropid) const LPOLESTR rglpwstrName[ ]) = 0;
596 
597  virtual HRESULT STDMETHODCALLTYPE DeletePropertyNames(
598  /* [in] */ ULONG cpropid,
599  /* [size_is][in] */ __RPC__in_ecount_full(cpropid) const PROPID rgpropid[ ]) = 0;
600 
601  virtual HRESULT STDMETHODCALLTYPE Commit(
602  /* [in] */ DWORD grfCommitFlags) = 0;
603 
604  virtual HRESULT STDMETHODCALLTYPE Revert( void) = 0;
605 
606  virtual HRESULT STDMETHODCALLTYPE Enum(
607  /* [out] */ __RPC__deref_out_opt IEnumSTATPROPSTG **ppenum) = 0;
608 
609  virtual HRESULT STDMETHODCALLTYPE SetTimes(
610  /* [in] */ __RPC__in const FILETIME *pctime,
611  /* [in] */ __RPC__in const FILETIME *patime,
612  /* [in] */ __RPC__in const FILETIME *pmtime) = 0;
613 
614  virtual HRESULT STDMETHODCALLTYPE SetClass(
615  /* [in] */ __RPC__in REFCLSID clsid) = 0;
616 
617  virtual HRESULT STDMETHODCALLTYPE Stat(
618  /* [out] */ __RPC__out STATPROPSETSTG *pstatpsstg) = 0;
619 
620  };
621 
622 #else /* C style interface */
623 
624 // typedef struct IPropertyStorageVtbl
625 // {
626 // BEGIN_INTERFACE
627 //
628 // HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
629 // IPropertyStorage * This,
630 // /* [in] */ __RPC__in REFIID riid,
631 // /* [iid_is][out] */
632 // __RPC__deref_out void **ppvObject);
633 //
634 // ULONG ( STDMETHODCALLTYPE *AddRef )(
635 // IPropertyStorage * This);
636 //
637 // ULONG ( STDMETHODCALLTYPE *Release )(
638 // IPropertyStorage * This);
639 //
640 // HRESULT ( STDMETHODCALLTYPE *ReadMultiple )(
641 // IPropertyStorage * This,
642 // /* [in] */ ULONG cpspec,
643 // /* [size_is][in] */ __RPC__in_ecount_full(cpspec) const PROPSPEC rgpspec[ ],
644 // /* [size_is][out] */ __RPC__out_ecount_full(cpspec) PROPVARIANT rgpropvar[ ]);
645 //
646 // HRESULT ( STDMETHODCALLTYPE *WriteMultiple )(
647 // IPropertyStorage * This,
648 // /* [in] */ ULONG cpspec,
649 // /* [size_is][in] */ __RPC__in_ecount_full(cpspec) const PROPSPEC rgpspec[ ],
650 // /* [size_is][in] */ __RPC__in_ecount_full(cpspec) const PROPVARIANT rgpropvar[ ],
651 // /* [in] */ PROPID propidNameFirst);
652 //
653 // HRESULT ( STDMETHODCALLTYPE *DeleteMultiple )(
654 // IPropertyStorage * This,
655 // /* [in] */ ULONG cpspec,
656 // /* [size_is][in] */ __RPC__in_ecount_full(cpspec) const PROPSPEC rgpspec[ ]);
657 //
658 // HRESULT ( STDMETHODCALLTYPE *ReadPropertyNames )(
659 // IPropertyStorage * This,
660 // /* [in] */ ULONG cpropid,
661 // /* [size_is][in] */ __RPC__in_ecount_full(cpropid) const PROPID rgpropid[ ],
662 // /* [size_is][out] */ __RPC__out_ecount_full(cpropid) LPOLESTR rglpwstrName[ ]);
663 //
664 // HRESULT ( STDMETHODCALLTYPE *WritePropertyNames )(
665 // IPropertyStorage * This,
666 // /* [in] */ ULONG cpropid,
667 // /* [size_is][in] */ __RPC__in_ecount_full(cpropid) const PROPID rgpropid[ ],
668 // /* [size_is][in] */ __RPC__in_ecount_full(cpropid) const LPOLESTR rglpwstrName[ ]);
669 //
670 // HRESULT ( STDMETHODCALLTYPE *DeletePropertyNames )(
671 // IPropertyStorage * This,
672 // /* [in] */ ULONG cpropid,
673 // /* [size_is][in] */ __RPC__in_ecount_full(cpropid) const PROPID rgpropid[ ]);
674 //
675 // HRESULT ( STDMETHODCALLTYPE *Commit )(
676 // IPropertyStorage * This,
677 // /* [in] */ DWORD grfCommitFlags);
678 //
679 // HRESULT ( STDMETHODCALLTYPE *Revert )(
680 // IPropertyStorage * This);
681 //
682 // HRESULT ( STDMETHODCALLTYPE *Enum )(
683 // IPropertyStorage * This,
684 // /* [out] */ __RPC__deref_out_opt IEnumSTATPROPSTG **ppenum);
685 //
686 // HRESULT ( STDMETHODCALLTYPE *SetTimes )(
687 // IPropertyStorage * This,
688 // /* [in] */ __RPC__in const FILETIME *pctime,
689 // /* [in] */ __RPC__in const FILETIME *patime,
690 // /* [in] */ __RPC__in const FILETIME *pmtime);
691 //
692 // HRESULT ( STDMETHODCALLTYPE *SetClass )(
693 // IPropertyStorage * This,
694 // /* [in] */ __RPC__in REFCLSID clsid);
695 //
696 // HRESULT ( STDMETHODCALLTYPE *Stat )(
697 // IPropertyStorage * This,
698 // /* [out] */ __RPC__out STATPROPSETSTG *pstatpsstg);
699 //
700 // END_INTERFACE
701 // } IPropertyStorageVtbl;
702 //
703 // interface IPropertyStorage
704 // {
705 // CONST_VTBL struct IPropertyStorageVtbl *lpVtbl;
706 // };
707 
708 
709 
710 #ifdef COBJMACROS
711 
712 
713 #define IPropertyStorage_QueryInterface(This,riid,ppvObject) \
714  ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
715 
716 #define IPropertyStorage_AddRef(This) \
717  ( (This)->lpVtbl -> AddRef(This) )
718 
719 #define IPropertyStorage_Release(This) \
720  ( (This)->lpVtbl -> Release(This) )
721 
722 
723 #define IPropertyStorage_ReadMultiple(This,cpspec,rgpspec,rgpropvar) \
724  ( (This)->lpVtbl -> ReadMultiple(This,cpspec,rgpspec,rgpropvar) )
725 
726 #define IPropertyStorage_WriteMultiple(This,cpspec,rgpspec,rgpropvar,propidNameFirst) \
727  ( (This)->lpVtbl -> WriteMultiple(This,cpspec,rgpspec,rgpropvar,propidNameFirst) )
728 
729 #define IPropertyStorage_DeleteMultiple(This,cpspec,rgpspec) \
730  ( (This)->lpVtbl -> DeleteMultiple(This,cpspec,rgpspec) )
731 
732 #define IPropertyStorage_ReadPropertyNames(This,cpropid,rgpropid,rglpwstrName) \
733  ( (This)->lpVtbl -> ReadPropertyNames(This,cpropid,rgpropid,rglpwstrName) )
734 
735 #define IPropertyStorage_WritePropertyNames(This,cpropid,rgpropid,rglpwstrName) \
736  ( (This)->lpVtbl -> WritePropertyNames(This,cpropid,rgpropid,rglpwstrName) )
737 
738 #define IPropertyStorage_DeletePropertyNames(This,cpropid,rgpropid) \
739  ( (This)->lpVtbl -> DeletePropertyNames(This,cpropid,rgpropid) )
740 
741 #define IPropertyStorage_Commit(This,grfCommitFlags) \
742  ( (This)->lpVtbl -> Commit(This,grfCommitFlags) )
743 
744 #define IPropertyStorage_Revert(This) \
745  ( (This)->lpVtbl -> Revert(This) )
746 
747 #define IPropertyStorage_Enum(This,ppenum) \
748  ( (This)->lpVtbl -> Enum(This,ppenum) )
749 
750 #define IPropertyStorage_SetTimes(This,pctime,patime,pmtime) \
751  ( (This)->lpVtbl -> SetTimes(This,pctime,patime,pmtime) )
752 
753 #define IPropertyStorage_SetClass(This,clsid) \
754  ( (This)->lpVtbl -> SetClass(This,clsid) )
755 
756 #define IPropertyStorage_Stat(This,pstatpsstg) \
757  ( (This)->lpVtbl -> Stat(This,pstatpsstg) )
758 
759 #endif /* COBJMACROS */
760 
761 
762 #endif /* C style interface */
763 
764 
765 
766 
767 #endif /* __IPropertyStorage_INTERFACE_DEFINED__ */
768 
769 
770 #ifndef __IPropertySetStorage_INTERFACE_DEFINED__
771 #define __IPropertySetStorage_INTERFACE_DEFINED__
772 
773 /* interface IPropertySetStorage */
774 /* [unique][uuid][object] */
775 
777 
778 
779 EXTERN_C const IID IID_IPropertySetStorage;
780 
781 #if defined(__cplusplus) && !defined(CINTERFACE)
782 
783  MIDL_INTERFACE("0000013A-0000-0000-C000-000000000046")
784  IPropertySetStorage : public IUnknown
785  {
786  public:
787  virtual HRESULT STDMETHODCALLTYPE Create(
788  /* [in] */ __RPC__in REFFMTID rfmtid,
789  /* [unique][in] */ __RPC__in_opt const CLSID *pclsid,
790  /* [in] */ DWORD grfFlags,
791  /* [in] */ DWORD grfMode,
792  /* [out] */ __RPC__deref_out_opt IPropertyStorage **ppprstg) = 0;
793 
794  virtual HRESULT STDMETHODCALLTYPE Open(
795  /* [in] */ __RPC__in REFFMTID rfmtid,
796  /* [in] */ DWORD grfMode,
797  /* [out] */ __RPC__deref_out_opt IPropertyStorage **ppprstg) = 0;
798 
799  virtual HRESULT STDMETHODCALLTYPE Delete(
800  /* [in] */ __RPC__in REFFMTID rfmtid) = 0;
801 
802  virtual HRESULT STDMETHODCALLTYPE Enum(
803  /* [out] */ __RPC__deref_out_opt IEnumSTATPROPSETSTG **ppenum) = 0;
804 
805  };
806 
807 #else /* C style interface */
808 
809 // typedef struct IPropertySetStorageVtbl
810 // {
811 // BEGIN_INTERFACE
812 //
813 // HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
814 // IPropertySetStorage * This,
815 // /* [in] */ __RPC__in REFIID riid,
816 // /* [iid_is][out] */
817 // __RPC__deref_out void **ppvObject);
818 //
819 // ULONG ( STDMETHODCALLTYPE *AddRef )(
820 // IPropertySetStorage * This);
821 //
822 // ULONG ( STDMETHODCALLTYPE *Release )(
823 // IPropertySetStorage * This);
824 //
825 // HRESULT ( STDMETHODCALLTYPE *Create )(
826 // IPropertySetStorage * This,
827 // /* [in] */ __RPC__in REFFMTID rfmtid,
828 // /* [unique][in] */ __RPC__in_opt const CLSID *pclsid,
829 // /* [in] */ DWORD grfFlags,
830 // /* [in] */ DWORD grfMode,
831 // /* [out] */ __RPC__deref_out_opt IPropertyStorage **ppprstg);
832 //
833 // HRESULT ( STDMETHODCALLTYPE *Open )(
834 // IPropertySetStorage * This,
835 // /* [in] */ __RPC__in REFFMTID rfmtid,
836 // /* [in] */ DWORD grfMode,
837 // /* [out] */ __RPC__deref_out_opt IPropertyStorage **ppprstg);
838 //
839 // HRESULT ( STDMETHODCALLTYPE *Delete )(
840 // IPropertySetStorage * This,
841 // /* [in] */ __RPC__in REFFMTID rfmtid);
842 //
843 // HRESULT ( STDMETHODCALLTYPE *Enum )(
844 // IPropertySetStorage * This,
845 // /* [out] */ __RPC__deref_out_opt IEnumSTATPROPSETSTG **ppenum);
846 //
847 // END_INTERFACE
848 // } IPropertySetStorageVtbl;
849 //
850 // interface IPropertySetStorage
851 // {
852 // CONST_VTBL struct IPropertySetStorageVtbl *lpVtbl;
853 // };
854 
855 
856 
857 #ifdef COBJMACROS
858 
859 
860 #define IPropertySetStorage_QueryInterface(This,riid,ppvObject) \
861  ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
862 
863 #define IPropertySetStorage_AddRef(This) \
864  ( (This)->lpVtbl -> AddRef(This) )
865 
866 #define IPropertySetStorage_Release(This) \
867  ( (This)->lpVtbl -> Release(This) )
868 
869 
870 #define IPropertySetStorage_Create(This,rfmtid,pclsid,grfFlags,grfMode,ppprstg) \
871  ( (This)->lpVtbl -> Create(This,rfmtid,pclsid,grfFlags,grfMode,ppprstg) )
872 
873 #define IPropertySetStorage_Open(This,rfmtid,grfMode,ppprstg) \
874  ( (This)->lpVtbl -> Open(This,rfmtid,grfMode,ppprstg) )
875 
876 #define IPropertySetStorage_Delete(This,rfmtid) \
877  ( (This)->lpVtbl -> Delete(This,rfmtid) )
878 
879 #define IPropertySetStorage_Enum(This,ppenum) \
880  ( (This)->lpVtbl -> Enum(This,ppenum) )
881 
882 #endif /* COBJMACROS */
883 
884 
885 #endif /* C style interface */
886 
887 
888 
889 
890 #endif /* __IPropertySetStorage_INTERFACE_DEFINED__ */
891 
892 
893 #ifndef __IEnumSTATPROPSTG_INTERFACE_DEFINED__
894 #define __IEnumSTATPROPSTG_INTERFACE_DEFINED__
895 
896 /* interface IEnumSTATPROPSTG */
897 /* [unique][uuid][object] */
898 
899 //typedef /* [unique] */ __RPC_unique_pointer IEnumSTATPROPSTG *LPENUMSTATPROPSTG;
900 
901 
902 EXTERN_C const IID IID_IEnumSTATPROPSTG;
903 
904 #if defined(__cplusplus) && !defined(CINTERFACE)
905 
906  MIDL_INTERFACE("00000139-0000-0000-C000-000000000046")
907  IEnumSTATPROPSTG : public IUnknown
908  {
909  public:
910  virtual /* [local] */ HRESULT STDMETHODCALLTYPE Next(
911  /* [in] */ ULONG celt,
912  /* [length_is][size_is][out] */ STATPROPSTG *rgelt,
913  /* [out] */ ULONG *pceltFetched) = 0;
914 
915  virtual HRESULT STDMETHODCALLTYPE Skip(
916  /* [in] */ ULONG celt) = 0;
917 
918  virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
919 
920  virtual HRESULT STDMETHODCALLTYPE Clone(
921  /* [out] */ __RPC__deref_out_opt IEnumSTATPROPSTG **ppenum) = 0;
922 
923  };
924 
925 #else /* C style interface */
926 
927 // typedef struct IEnumSTATPROPSTGVtbl
928 // {
929 // BEGIN_INTERFACE
930 //
931 // HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
932 // IEnumSTATPROPSTG * This,
933 // /* [in] */ __RPC__in REFIID riid,
934 // /* [iid_is][out] */
935 // __RPC__deref_out void **ppvObject);
936 //
937 // ULONG ( STDMETHODCALLTYPE *AddRef )(
938 // IEnumSTATPROPSTG * This);
939 //
940 // ULONG ( STDMETHODCALLTYPE *Release )(
941 // IEnumSTATPROPSTG * This);
942 //
943 // /* [local] */ HRESULT ( STDMETHODCALLTYPE *Next )(
944 // IEnumSTATPROPSTG * This,
945 // /* [in] */ ULONG celt,
946 // /* [length_is][size_is][out] */ STATPROPSTG *rgelt,
947 // /* [out] */ ULONG *pceltFetched);
948 //
949 // HRESULT ( STDMETHODCALLTYPE *Skip )(
950 // IEnumSTATPROPSTG * This,
951 // /* [in] */ ULONG celt);
952 //
953 // HRESULT ( STDMETHODCALLTYPE *Reset )(
954 // IEnumSTATPROPSTG * This);
955 //
956 // HRESULT ( STDMETHODCALLTYPE *Clone )(
957 // IEnumSTATPROPSTG * This,
958 // /* [out] */ __RPC__deref_out_opt IEnumSTATPROPSTG **ppenum);
959 //
960 // END_INTERFACE
961 // } IEnumSTATPROPSTGVtbl;
962 //
963 // interface IEnumSTATPROPSTG
964 // {
965 // CONST_VTBL struct IEnumSTATPROPSTGVtbl *lpVtbl;
966 // };
967 
968 
969 
970 #ifdef COBJMACROS
971 
972 
973 #define IEnumSTATPROPSTG_QueryInterface(This,riid,ppvObject) \
974  ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
975 
976 #define IEnumSTATPROPSTG_AddRef(This) \
977  ( (This)->lpVtbl -> AddRef(This) )
978 
979 #define IEnumSTATPROPSTG_Release(This) \
980  ( (This)->lpVtbl -> Release(This) )
981 
982 
983 #define IEnumSTATPROPSTG_Next(This,celt,rgelt,pceltFetched) \
984  ( (This)->lpVtbl -> Next(This,celt,rgelt,pceltFetched) )
985 
986 #define IEnumSTATPROPSTG_Skip(This,celt) \
987  ( (This)->lpVtbl -> Skip(This,celt) )
988 
989 #define IEnumSTATPROPSTG_Reset(This) \
990  ( (This)->lpVtbl -> Reset(This) )
991 
992 #define IEnumSTATPROPSTG_Clone(This,ppenum) \
993  ( (This)->lpVtbl -> Clone(This,ppenum) )
994 
995 #endif /* COBJMACROS */
996 
997 
998 #endif /* C style interface */
999 
1000 
1001 
1002 /* [call_as] */ HRESULT STDMETHODCALLTYPE IEnumSTATPROPSTG_RemoteNext_Proxy(
1003  IEnumSTATPROPSTG * This,
1004  /* [in] */ ULONG celt,
1005  /* [length_is][size_is][out] */ __RPC__out_ecount_part(celt, *pceltFetched) STATPROPSTG *rgelt,
1006  /* [out] */ __RPC__out ULONG *pceltFetched);
1007 
1008 
1009 void __RPC_STUB IEnumSTATPROPSTG_RemoteNext_Stub(
1010  IRpcStubBuffer *This,
1011  IRpcChannelBuffer *_pRpcChannelBuffer,
1012  PRPC_MESSAGE _pRpcMessage,
1013  DWORD *_pdwStubPhase);
1014 
1015 
1016 
1017 #endif /* __IEnumSTATPROPSTG_INTERFACE_DEFINED__ */
1018 
1019 
1020 #ifndef __IEnumSTATPROPSETSTG_INTERFACE_DEFINED__
1021 #define __IEnumSTATPROPSETSTG_INTERFACE_DEFINED__
1022 
1023 /* interface IEnumSTATPROPSETSTG */
1024 /* [unique][uuid][object] */
1025 
1027 
1028 
1029 EXTERN_C const IID IID_IEnumSTATPROPSETSTG;
1030 
1031 #if defined(__cplusplus) && !defined(CINTERFACE)
1032 
1033  MIDL_INTERFACE("0000013B-0000-0000-C000-000000000046")
1034  IEnumSTATPROPSETSTG : public IUnknown
1035  {
1036  public:
1037  virtual /* [local] */ HRESULT STDMETHODCALLTYPE Next(
1038  /* [in] */ ULONG celt,
1039  /* [length_is][size_is][out] */ STATPROPSETSTG *rgelt,
1040  /* [out] */ ULONG *pceltFetched) = 0;
1041 
1042  virtual HRESULT STDMETHODCALLTYPE Skip(
1043  /* [in] */ ULONG celt) = 0;
1044 
1045  virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
1046 
1047  virtual HRESULT STDMETHODCALLTYPE Clone(
1048  /* [out] */ __RPC__deref_out_opt IEnumSTATPROPSETSTG **ppenum) = 0;
1049 
1050  };
1051 
1052 #else /* C style interface */
1053 
1054 // typedef struct IEnumSTATPROPSETSTGVtbl
1055 // {
1056 // BEGIN_INTERFACE
1057 //
1058 // HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
1059 // IEnumSTATPROPSETSTG * This,
1060 // /* [in] */ __RPC__in REFIID riid,
1061 // /* [iid_is][out] */
1062 // __RPC__deref_out void **ppvObject);
1063 //
1064 // ULONG ( STDMETHODCALLTYPE *AddRef )(
1065 // IEnumSTATPROPSETSTG * This);
1066 //
1067 // ULONG ( STDMETHODCALLTYPE *Release )(
1068 // IEnumSTATPROPSETSTG * This);
1069 //
1070 // /* [local] */ HRESULT ( STDMETHODCALLTYPE *Next )(
1071 // IEnumSTATPROPSETSTG * This,
1072 // /* [in] */ ULONG celt,
1073 // /* [length_is][size_is][out] */ STATPROPSETSTG *rgelt,
1074 // /* [out] */ ULONG *pceltFetched);
1075 //
1076 // HRESULT ( STDMETHODCALLTYPE *Skip )(
1077 // IEnumSTATPROPSETSTG * This,
1078 // /* [in] */ ULONG celt);
1079 //
1080 // HRESULT ( STDMETHODCALLTYPE *Reset )(
1081 // IEnumSTATPROPSETSTG * This);
1082 //
1083 // HRESULT ( STDMETHODCALLTYPE *Clone )(
1084 // IEnumSTATPROPSETSTG * This,
1085 // /* [out] */ __RPC__deref_out_opt IEnumSTATPROPSETSTG **ppenum);
1086 //
1087 // END_INTERFACE
1088 // } IEnumSTATPROPSETSTGVtbl;
1089 //
1090 // interface IEnumSTATPROPSETSTG
1091 // {
1092 // CONST_VTBL struct IEnumSTATPROPSETSTGVtbl *lpVtbl;
1093 // };
1094 
1095 
1096 
1097 #ifdef COBJMACROS
1098 
1099 
1100 #define IEnumSTATPROPSETSTG_QueryInterface(This,riid,ppvObject) \
1101  ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
1102 
1103 #define IEnumSTATPROPSETSTG_AddRef(This) \
1104  ( (This)->lpVtbl -> AddRef(This) )
1105 
1106 #define IEnumSTATPROPSETSTG_Release(This) \
1107  ( (This)->lpVtbl -> Release(This) )
1108 
1109 
1110 #define IEnumSTATPROPSETSTG_Next(This,celt,rgelt,pceltFetched) \
1111  ( (This)->lpVtbl -> Next(This,celt,rgelt,pceltFetched) )
1112 
1113 #define IEnumSTATPROPSETSTG_Skip(This,celt) \
1114  ( (This)->lpVtbl -> Skip(This,celt) )
1115 
1116 #define IEnumSTATPROPSETSTG_Reset(This) \
1117  ( (This)->lpVtbl -> Reset(This) )
1118 
1119 #define IEnumSTATPROPSETSTG_Clone(This,ppenum) \
1120  ( (This)->lpVtbl -> Clone(This,ppenum) )
1121 
1122 #endif /* COBJMACROS */
1123 
1124 
1125 #endif /* C style interface */
1126 
1127 
1128 
1129 /* [call_as] */ HRESULT STDMETHODCALLTYPE IEnumSTATPROPSETSTG_RemoteNext_Proxy(
1130  IEnumSTATPROPSETSTG * This,
1131  /* [in] */ ULONG celt,
1132  /* [length_is][size_is][out] */ __RPC__out_ecount_part(celt, *pceltFetched) STATPROPSETSTG *rgelt,
1133  /* [out] */ __RPC__out ULONG *pceltFetched);
1134 
1135 
1136 void __RPC_STUB IEnumSTATPROPSETSTG_RemoteNext_Stub(
1137  IRpcStubBuffer *This,
1138  IRpcChannelBuffer *_pRpcChannelBuffer,
1139  PRPC_MESSAGE _pRpcMessage,
1140  DWORD *_pdwStubPhase);
1141 
1142 
1143 
1144 #endif /* __IEnumSTATPROPSETSTG_INTERFACE_DEFINED__ */
1145 
1146 
1147 /* interface __MIDL_itf_propidl_0000_0004 */
1148 /* [local] */
1149 
1151 
1152 WINOLEAPI PropVariantCopy ( PROPVARIANT * pvarDest, const PROPVARIANT * pvarSrc );
1153 WINOLEAPI PropVariantClear ( PROPVARIANT * pvar );
1154 WINOLEAPI FreePropVariantArray ( ULONG cVariants, PROPVARIANT * rgvars );
1155 
1156 #define _PROPVARIANTINIT_DEFINED_
1157 # ifdef __cplusplus
1158 inline void PropVariantInit ( PROPVARIANT * pvar )
1159 {
1160  memset ( pvar, 0, sizeof(PROPVARIANT) );
1161 }
1162 # else
1163 # define PropVariantInit(pvar) memset ( (pvar), 0, sizeof(PROPVARIANT) )
1164 # endif
1165 
1166 
1167 #ifndef _STGCREATEPROPSTG_DEFINED_
1168 WINOLEAPI StgCreatePropStg( IUnknown* pUnk, REFFMTID fmtid, const CLSID *pclsid, DWORD grfFlags, DWORD dwReserved, IPropertyStorage **ppPropStg );
1169 WINOLEAPI StgOpenPropStg( IUnknown* pUnk, REFFMTID fmtid, DWORD grfFlags, DWORD dwReserved, IPropertyStorage **ppPropStg );
1170 WINOLEAPI StgCreatePropSetStg( IStorage *pStorage, DWORD dwReserved, IPropertySetStorage **ppPropSetStg);
1171 
1172 #define CCH_MAX_PROPSTG_NAME 31
1173 __checkReturn WINOLEAPI FmtIdToPropStgName( const FMTID *pfmtid, __out_ecount(CCH_MAX_PROPSTG_NAME+1) LPOLESTR oszName );
1174 WINOLEAPI PropStgNameToFmtId( __in __nullterminated const LPOLESTR oszName, FMTID *pfmtid );
1175 #endif
1176 #ifndef _SERIALIZEDPROPERTYVALUE_DEFINED_
1177 #define _SERIALIZEDPROPERTYVALUE_DEFINED_
1178 typedef struct tagSERIALIZEDPROPERTYVALUE // prop
1179 {
1180  DWORD dwType;
1181  BYTE rgb[1];
1183 #endif
1184 
1185 EXTERN_C SERIALIZEDPROPERTYVALUE* __stdcall
1187  __in const PROPVARIANT* pvar,
1188  USHORT CodePage,
1190  __inout ULONG* pcb,
1191  PROPID pid,
1192  __reserved BOOLEAN fReserved,
1193  __out_opt ULONG* pcIndirect);
1194 
1195 #ifdef __cplusplus
1196 class PMemoryAllocator;
1197 
1198 EXTERN_C BOOLEAN __stdcall
1199 StgConvertPropertyToVariant(
1200  __in const SERIALIZEDPROPERTYVALUE* pprop,
1201  USHORT CodePage,
1202  __out PROPVARIANT* pvar,
1203  __in PMemoryAllocator* pma);
1204 #endif
1205 #if _MSC_VER >= 1200
1206 #pragma warning(pop)
1207 #else
1208 #pragma warning(default:4201) /* Nameless struct/union */
1209 #pragma warning(default:4237) /* keywords bool, true, false, etc.. */
1210 #endif
1211 
1212 
1213 extern RPC_IF_HANDLE __MIDL_itf_propidl_0000_0004_v0_0_c_ifspec;
1214 extern RPC_IF_HANDLE __MIDL_itf_propidl_0000_0004_v0_0_s_ifspec;
1215 
1216 /* Additional Prototypes for ALL interfaces */
1217 
1218 unsigned long __RPC_USER BSTR_UserSize( unsigned long *, unsigned long , BSTR * );
1219 unsigned char * __RPC_USER BSTR_UserMarshal( unsigned long *, unsigned char *, BSTR * );
1220 unsigned char * __RPC_USER BSTR_UserUnmarshal(unsigned long *, unsigned char *, BSTR * );
1221 void __RPC_USER BSTR_UserFree( unsigned long *, BSTR * );
1222 
1223 unsigned long __RPC_USER LPSAFEARRAY_UserSize( unsigned long *, unsigned long , LPSAFEARRAY * );
1224 unsigned char * __RPC_USER LPSAFEARRAY_UserMarshal( unsigned long *, unsigned char *, LPSAFEARRAY * );
1225 unsigned char * __RPC_USER LPSAFEARRAY_UserUnmarshal(unsigned long *, unsigned char *, LPSAFEARRAY * );
1226 void __RPC_USER LPSAFEARRAY_UserFree( unsigned long *, LPSAFEARRAY * );
1227 
1228 unsigned long __RPC_USER BSTR_UserSize64( unsigned long *, unsigned long , BSTR * );
1229 unsigned char * __RPC_USER BSTR_UserMarshal64( unsigned long *, unsigned char *, BSTR * );
1230 unsigned char * __RPC_USER BSTR_UserUnmarshal64(unsigned long *, unsigned char *, BSTR * );
1231 void __RPC_USER BSTR_UserFree64( unsigned long *, BSTR * );
1232 
1233 unsigned long __RPC_USER LPSAFEARRAY_UserSize64( unsigned long *, unsigned long , LPSAFEARRAY * );
1234 unsigned char * __RPC_USER LPSAFEARRAY_UserMarshal64( unsigned long *, unsigned char *, LPSAFEARRAY * );
1235 unsigned char * __RPC_USER LPSAFEARRAY_UserUnmarshal64(unsigned long *, unsigned char *, LPSAFEARRAY * );
1236 void __RPC_USER LPSAFEARRAY_UserFree64( unsigned long *, LPSAFEARRAY * );
1237 
1238 /* [local] */ HRESULT STDMETHODCALLTYPE IEnumSTATPROPSTG_Next_Proxy(
1239  IEnumSTATPROPSTG * This,
1240  /* [in] */ ULONG celt,
1241  /* [length_is][size_is][out] */ STATPROPSTG *rgelt,
1242  /* [out] */ ULONG *pceltFetched);
1243 
1244 
1245 /* [call_as] */ HRESULT STDMETHODCALLTYPE IEnumSTATPROPSTG_Next_Stub(
1246  IEnumSTATPROPSTG * This,
1247  /* [in] */ ULONG celt,
1248  /* [length_is][size_is][out] */ __RPC__out_ecount_part(celt, *pceltFetched) STATPROPSTG *rgelt,
1249  /* [out] */ __RPC__out ULONG *pceltFetched);
1250 
1251 /* [local] */ HRESULT STDMETHODCALLTYPE IEnumSTATPROPSETSTG_Next_Proxy(
1252  IEnumSTATPROPSETSTG * This,
1253  /* [in] */ ULONG celt,
1254  /* [length_is][size_is][out] */ STATPROPSETSTG *rgelt,
1255  /* [out] */ ULONG *pceltFetched);
1256 
1257 
1258 /* [call_as] */ HRESULT STDMETHODCALLTYPE IEnumSTATPROPSETSTG_Next_Stub(
1259  IEnumSTATPROPSETSTG * This,
1260  /* [in] */ ULONG celt,
1261  /* [length_is][size_is][out] */ __RPC__out_ecount_part(celt, *pceltFetched) STATPROPSETSTG *rgelt,
1262  /* [out] */ __RPC__out ULONG *pceltFetched);
1263 
1264 
1265 
1266 /* end of Additional Prototypes */
1267 
1268 #ifdef __cplusplus
1269 }
1270 #endif
1271 
1272 #endif
1273 
1274 
1275