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__
61 typedef interface IPropertyStorage IPropertyStorage;
62 #endif /* __IPropertyStorage_FWD_DEFINED__ */
63
64
65 #ifndef __IPropertySetStorage_FWD_DEFINED__
66 #define __IPropertySetStorage_FWD_DEFINED__
67 typedef interface IPropertySetStorage IPropertySetStorage;
68 #endif /* __IPropertySetStorage_FWD_DEFINED__ */
69
70
71 #ifndef __IEnumSTATPROPSTG_FWD_DEFINED__
72 #define __IEnumSTATPROPSTG_FWD_DEFINED__
73 typedef interface IEnumSTATPROPSTG IEnumSTATPROPSTG;
74 #endif /* __IEnumSTATPROPSTG_FWD_DEFINED__ */
75
76
77 #ifndef __IEnumSTATPROPSETSTG_FWD_DEFINED__
78 #define __IEnumSTATPROPSETSTG_FWD_DEFINED__
79 typedef interface IEnumSTATPROPSETSTG IEnumSTATPROPSETSTG;
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 {
116 GUID guidVersion;
117 IStream *pStream;
118 } VERSIONEDSTREAM;
119
120 typedef struct tagVersionedStream *LPVERSIONEDSTREAM;
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
300 struct tag_inner_PROPVARIANT
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
497 enum PIDMSI_STATUS_VALUE
498 { PIDMSI_STATUS_NORMAL = 0,
499 PIDMSI_STATUS_NEW = ( PIDMSI_STATUS_NORMAL + 1 ) ,
500 PIDMSI_STATUS_PRELIM = ( PIDMSI_STATUS_NEW + 1 ) ,
501 PIDMSI_STATUS_DRAFT = ( PIDMSI_STATUS_PRELIM + 1 ) ,
502 PIDMSI_STATUS_INPROGRESS = ( PIDMSI_STATUS_DRAFT + 1 ) ,
503 PIDMSI_STATUS_EDIT = ( PIDMSI_STATUS_INPROGRESS + 1 ) ,
504 PIDMSI_STATUS_REVIEW = ( PIDMSI_STATUS_EDIT + 1 ) ,
505 PIDMSI_STATUS_PROOF = ( PIDMSI_STATUS_REVIEW + 1 ) ,
506 PIDMSI_STATUS_FINAL = ( PIDMSI_STATUS_PROOF + 1 ) ,
507 PIDMSI_STATUS_OTHER = 0x7fff
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
776 typedef /* [unique] */ __RPC_unique_pointer IPropertySetStorage *LPPROPERTYSETSTORAGE;
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
1026 typedef /* [unique] */ __RPC_unique_pointer IEnumSTATPROPSETSTG *LPENUMSTATPROPSETSTG;
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
1150 typedef /* [unique] */ __RPC_unique_pointer IPropertyStorage *LPPROPERTYSTORAGE;
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
PropVariantInit(PROPVARIANT * pvar)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];
1182 } SERIALIZEDPROPERTYVALUE;
1183 #endif
1184
1185 EXTERN_C SERIALIZEDPROPERTYVALUE* __stdcall
1186 StgConvertVariantToProperty(
1187 __in const PROPVARIANT* pvar,
1188 USHORT CodePage,
1189 __out_bcount_opt(*pcb) SERIALIZEDPROPERTYVALUE* pprop,
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
1276