master
1/*** Autogenerated by WIDL 10.4 from include/objidl.idl - Do not edit ***/
2
3#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__
5#define __REQUIRED_RPCNDR_H_VERSION__ 475
6#endif
7#include <rpc.h>
8#include <rpcndr.h>
9#endif
10
11#ifndef COM_NO_WINDOWS_H
12#include <windows.h>
13#include <ole2.h>
14#endif
15
16#ifndef __objidl_h__
17#define __objidl_h__
18
19/* Forward declarations */
20
21#ifndef __IMarshal_FWD_DEFINED__
22#define __IMarshal_FWD_DEFINED__
23typedef interface IMarshal IMarshal;
24#ifdef __cplusplus
25interface IMarshal;
26#endif /* __cplusplus */
27#endif
28
29#ifndef __INoMarshal_FWD_DEFINED__
30#define __INoMarshal_FWD_DEFINED__
31typedef interface INoMarshal INoMarshal;
32#ifdef __cplusplus
33interface INoMarshal;
34#endif /* __cplusplus */
35#endif
36
37#ifndef __IAgileObject_FWD_DEFINED__
38#define __IAgileObject_FWD_DEFINED__
39typedef interface IAgileObject IAgileObject;
40#ifdef __cplusplus
41interface IAgileObject;
42#endif /* __cplusplus */
43#endif
44
45#ifndef __IAgileReference_FWD_DEFINED__
46#define __IAgileReference_FWD_DEFINED__
47typedef interface IAgileReference IAgileReference;
48#ifdef __cplusplus
49interface IAgileReference;
50#endif /* __cplusplus */
51#endif
52
53#ifndef __IMarshal2_FWD_DEFINED__
54#define __IMarshal2_FWD_DEFINED__
55typedef interface IMarshal2 IMarshal2;
56#ifdef __cplusplus
57interface IMarshal2;
58#endif /* __cplusplus */
59#endif
60
61#ifndef __IMalloc_FWD_DEFINED__
62#define __IMalloc_FWD_DEFINED__
63typedef interface IMalloc IMalloc;
64#ifdef __cplusplus
65interface IMalloc;
66#endif /* __cplusplus */
67#endif
68
69#ifndef __IStdMarshalInfo_FWD_DEFINED__
70#define __IStdMarshalInfo_FWD_DEFINED__
71typedef interface IStdMarshalInfo IStdMarshalInfo;
72#ifdef __cplusplus
73interface IStdMarshalInfo;
74#endif /* __cplusplus */
75#endif
76
77#ifndef __IExternalConnection_FWD_DEFINED__
78#define __IExternalConnection_FWD_DEFINED__
79typedef interface IExternalConnection IExternalConnection;
80#ifdef __cplusplus
81interface IExternalConnection;
82#endif /* __cplusplus */
83#endif
84
85#ifndef __IMultiQI_FWD_DEFINED__
86#define __IMultiQI_FWD_DEFINED__
87typedef interface IMultiQI IMultiQI;
88#ifdef __cplusplus
89interface IMultiQI;
90#endif /* __cplusplus */
91#endif
92
93#ifndef __AsyncIMultiQI_FWD_DEFINED__
94#define __AsyncIMultiQI_FWD_DEFINED__
95typedef interface AsyncIMultiQI AsyncIMultiQI;
96#ifdef __cplusplus
97interface AsyncIMultiQI;
98#endif /* __cplusplus */
99#endif
100
101#ifndef __IInternalUnknown_FWD_DEFINED__
102#define __IInternalUnknown_FWD_DEFINED__
103typedef interface IInternalUnknown IInternalUnknown;
104#ifdef __cplusplus
105interface IInternalUnknown;
106#endif /* __cplusplus */
107#endif
108
109#ifndef __IEnumUnknown_FWD_DEFINED__
110#define __IEnumUnknown_FWD_DEFINED__
111typedef interface IEnumUnknown IEnumUnknown;
112#ifdef __cplusplus
113interface IEnumUnknown;
114#endif /* __cplusplus */
115#endif
116
117#ifndef __IEnumString_FWD_DEFINED__
118#define __IEnumString_FWD_DEFINED__
119typedef interface IEnumString IEnumString;
120#ifdef __cplusplus
121interface IEnumString;
122#endif /* __cplusplus */
123#endif
124
125#ifndef __ISequentialStream_FWD_DEFINED__
126#define __ISequentialStream_FWD_DEFINED__
127typedef interface ISequentialStream ISequentialStream;
128#ifdef __cplusplus
129interface ISequentialStream;
130#endif /* __cplusplus */
131#endif
132
133#ifndef __IStream_FWD_DEFINED__
134#define __IStream_FWD_DEFINED__
135typedef interface IStream IStream;
136#ifdef __cplusplus
137interface IStream;
138#endif /* __cplusplus */
139#endif
140
141#ifndef __IRpcChannelBuffer_FWD_DEFINED__
142#define __IRpcChannelBuffer_FWD_DEFINED__
143typedef interface IRpcChannelBuffer IRpcChannelBuffer;
144#ifdef __cplusplus
145interface IRpcChannelBuffer;
146#endif /* __cplusplus */
147#endif
148
149#ifndef __IRpcChannelBuffer2_FWD_DEFINED__
150#define __IRpcChannelBuffer2_FWD_DEFINED__
151typedef interface IRpcChannelBuffer2 IRpcChannelBuffer2;
152#ifdef __cplusplus
153interface IRpcChannelBuffer2;
154#endif /* __cplusplus */
155#endif
156
157#ifndef __IAsyncRpcChannelBuffer_FWD_DEFINED__
158#define __IAsyncRpcChannelBuffer_FWD_DEFINED__
159typedef interface IAsyncRpcChannelBuffer IAsyncRpcChannelBuffer;
160#ifdef __cplusplus
161interface IAsyncRpcChannelBuffer;
162#endif /* __cplusplus */
163#endif
164
165#ifndef __IRpcChannelBuffer3_FWD_DEFINED__
166#define __IRpcChannelBuffer3_FWD_DEFINED__
167typedef interface IRpcChannelBuffer3 IRpcChannelBuffer3;
168#ifdef __cplusplus
169interface IRpcChannelBuffer3;
170#endif /* __cplusplus */
171#endif
172
173#ifndef __IRpcSyntaxNegotiate_FWD_DEFINED__
174#define __IRpcSyntaxNegotiate_FWD_DEFINED__
175typedef interface IRpcSyntaxNegotiate IRpcSyntaxNegotiate;
176#ifdef __cplusplus
177interface IRpcSyntaxNegotiate;
178#endif /* __cplusplus */
179#endif
180
181#ifndef __IRpcProxyBuffer_FWD_DEFINED__
182#define __IRpcProxyBuffer_FWD_DEFINED__
183typedef interface IRpcProxyBuffer IRpcProxyBuffer;
184#ifdef __cplusplus
185interface IRpcProxyBuffer;
186#endif /* __cplusplus */
187#endif
188
189#ifndef __IRpcStubBuffer_FWD_DEFINED__
190#define __IRpcStubBuffer_FWD_DEFINED__
191typedef interface IRpcStubBuffer IRpcStubBuffer;
192#ifdef __cplusplus
193interface IRpcStubBuffer;
194#endif /* __cplusplus */
195#endif
196
197#ifndef __IPSFactoryBuffer_FWD_DEFINED__
198#define __IPSFactoryBuffer_FWD_DEFINED__
199typedef interface IPSFactoryBuffer IPSFactoryBuffer;
200#ifdef __cplusplus
201interface IPSFactoryBuffer;
202#endif /* __cplusplus */
203#endif
204
205#ifndef __IChannelHook_FWD_DEFINED__
206#define __IChannelHook_FWD_DEFINED__
207typedef interface IChannelHook IChannelHook;
208#ifdef __cplusplus
209interface IChannelHook;
210#endif /* __cplusplus */
211#endif
212
213#ifndef __IClientSecurity_FWD_DEFINED__
214#define __IClientSecurity_FWD_DEFINED__
215typedef interface IClientSecurity IClientSecurity;
216#ifdef __cplusplus
217interface IClientSecurity;
218#endif /* __cplusplus */
219#endif
220
221#ifndef __IServerSecurity_FWD_DEFINED__
222#define __IServerSecurity_FWD_DEFINED__
223typedef interface IServerSecurity IServerSecurity;
224#ifdef __cplusplus
225interface IServerSecurity;
226#endif /* __cplusplus */
227#endif
228
229#ifndef __IRpcOptions_FWD_DEFINED__
230#define __IRpcOptions_FWD_DEFINED__
231typedef interface IRpcOptions IRpcOptions;
232#ifdef __cplusplus
233interface IRpcOptions;
234#endif /* __cplusplus */
235#endif
236
237#ifndef __IGlobalOptions_FWD_DEFINED__
238#define __IGlobalOptions_FWD_DEFINED__
239typedef interface IGlobalOptions IGlobalOptions;
240#ifdef __cplusplus
241interface IGlobalOptions;
242#endif /* __cplusplus */
243#endif
244
245#ifndef __ISurrogate_FWD_DEFINED__
246#define __ISurrogate_FWD_DEFINED__
247typedef interface ISurrogate ISurrogate;
248#ifdef __cplusplus
249interface ISurrogate;
250#endif /* __cplusplus */
251#endif
252
253#ifndef __IGlobalInterfaceTable_FWD_DEFINED__
254#define __IGlobalInterfaceTable_FWD_DEFINED__
255typedef interface IGlobalInterfaceTable IGlobalInterfaceTable;
256#ifdef __cplusplus
257interface IGlobalInterfaceTable;
258#endif /* __cplusplus */
259#endif
260
261#ifndef __ISynchronize_FWD_DEFINED__
262#define __ISynchronize_FWD_DEFINED__
263typedef interface ISynchronize ISynchronize;
264#ifdef __cplusplus
265interface ISynchronize;
266#endif /* __cplusplus */
267#endif
268
269#ifndef __ISynchronizeHandle_FWD_DEFINED__
270#define __ISynchronizeHandle_FWD_DEFINED__
271typedef interface ISynchronizeHandle ISynchronizeHandle;
272#ifdef __cplusplus
273interface ISynchronizeHandle;
274#endif /* __cplusplus */
275#endif
276
277#ifndef __ISynchronizeEvent_FWD_DEFINED__
278#define __ISynchronizeEvent_FWD_DEFINED__
279typedef interface ISynchronizeEvent ISynchronizeEvent;
280#ifdef __cplusplus
281interface ISynchronizeEvent;
282#endif /* __cplusplus */
283#endif
284
285#ifndef __ISynchronizeContainer_FWD_DEFINED__
286#define __ISynchronizeContainer_FWD_DEFINED__
287typedef interface ISynchronizeContainer ISynchronizeContainer;
288#ifdef __cplusplus
289interface ISynchronizeContainer;
290#endif /* __cplusplus */
291#endif
292
293#ifndef __ISynchronizeMutex_FWD_DEFINED__
294#define __ISynchronizeMutex_FWD_DEFINED__
295typedef interface ISynchronizeMutex ISynchronizeMutex;
296#ifdef __cplusplus
297interface ISynchronizeMutex;
298#endif /* __cplusplus */
299#endif
300
301#ifndef __ICancelMethodCalls_FWD_DEFINED__
302#define __ICancelMethodCalls_FWD_DEFINED__
303typedef interface ICancelMethodCalls ICancelMethodCalls;
304#ifdef __cplusplus
305interface ICancelMethodCalls;
306#endif /* __cplusplus */
307#endif
308
309#ifndef __IAsyncManager_FWD_DEFINED__
310#define __IAsyncManager_FWD_DEFINED__
311typedef interface IAsyncManager IAsyncManager;
312#ifdef __cplusplus
313interface IAsyncManager;
314#endif /* __cplusplus */
315#endif
316
317#ifndef __ICallFactory_FWD_DEFINED__
318#define __ICallFactory_FWD_DEFINED__
319typedef interface ICallFactory ICallFactory;
320#ifdef __cplusplus
321interface ICallFactory;
322#endif /* __cplusplus */
323#endif
324
325#ifndef __IRpcHelper_FWD_DEFINED__
326#define __IRpcHelper_FWD_DEFINED__
327typedef interface IRpcHelper IRpcHelper;
328#ifdef __cplusplus
329interface IRpcHelper;
330#endif /* __cplusplus */
331#endif
332
333#ifndef __IReleaseMarshalBuffers_FWD_DEFINED__
334#define __IReleaseMarshalBuffers_FWD_DEFINED__
335typedef interface IReleaseMarshalBuffers IReleaseMarshalBuffers;
336#ifdef __cplusplus
337interface IReleaseMarshalBuffers;
338#endif /* __cplusplus */
339#endif
340
341#ifndef __IWaitMultiple_FWD_DEFINED__
342#define __IWaitMultiple_FWD_DEFINED__
343typedef interface IWaitMultiple IWaitMultiple;
344#ifdef __cplusplus
345interface IWaitMultiple;
346#endif /* __cplusplus */
347#endif
348
349#ifndef __IAddrTrackingControl_FWD_DEFINED__
350#define __IAddrTrackingControl_FWD_DEFINED__
351typedef interface IAddrTrackingControl IAddrTrackingControl;
352#ifdef __cplusplus
353interface IAddrTrackingControl;
354#endif /* __cplusplus */
355#endif
356
357#ifndef __IAddrExclusionControl_FWD_DEFINED__
358#define __IAddrExclusionControl_FWD_DEFINED__
359typedef interface IAddrExclusionControl IAddrExclusionControl;
360#ifdef __cplusplus
361interface IAddrExclusionControl;
362#endif /* __cplusplus */
363#endif
364
365#ifndef __IPipeByte_FWD_DEFINED__
366#define __IPipeByte_FWD_DEFINED__
367typedef interface IPipeByte IPipeByte;
368#ifdef __cplusplus
369interface IPipeByte;
370#endif /* __cplusplus */
371#endif
372
373#ifndef __IPipeLong_FWD_DEFINED__
374#define __IPipeLong_FWD_DEFINED__
375typedef interface IPipeLong IPipeLong;
376#ifdef __cplusplus
377interface IPipeLong;
378#endif /* __cplusplus */
379#endif
380
381#ifndef __IPipeDouble_FWD_DEFINED__
382#define __IPipeDouble_FWD_DEFINED__
383typedef interface IPipeDouble IPipeDouble;
384#ifdef __cplusplus
385interface IPipeDouble;
386#endif /* __cplusplus */
387#endif
388
389#ifndef __IEnumContextProps_FWD_DEFINED__
390#define __IEnumContextProps_FWD_DEFINED__
391typedef interface IEnumContextProps IEnumContextProps;
392#ifdef __cplusplus
393interface IEnumContextProps;
394#endif /* __cplusplus */
395#endif
396
397#ifndef __IContext_FWD_DEFINED__
398#define __IContext_FWD_DEFINED__
399typedef interface IContext IContext;
400#ifdef __cplusplus
401interface IContext;
402#endif /* __cplusplus */
403#endif
404
405#ifndef __IComThreadingInfo_FWD_DEFINED__
406#define __IComThreadingInfo_FWD_DEFINED__
407typedef interface IComThreadingInfo IComThreadingInfo;
408#ifdef __cplusplus
409interface IComThreadingInfo;
410#endif /* __cplusplus */
411#endif
412
413#ifndef __IProcessInitControl_FWD_DEFINED__
414#define __IProcessInitControl_FWD_DEFINED__
415typedef interface IProcessInitControl IProcessInitControl;
416#ifdef __cplusplus
417interface IProcessInitControl;
418#endif /* __cplusplus */
419#endif
420
421#ifndef __IFastRundown_FWD_DEFINED__
422#define __IFastRundown_FWD_DEFINED__
423typedef interface IFastRundown IFastRundown;
424#ifdef __cplusplus
425interface IFastRundown;
426#endif /* __cplusplus */
427#endif
428
429#ifndef __IMarshalingStream_FWD_DEFINED__
430#define __IMarshalingStream_FWD_DEFINED__
431typedef interface IMarshalingStream IMarshalingStream;
432#ifdef __cplusplus
433interface IMarshalingStream;
434#endif /* __cplusplus */
435#endif
436
437#ifndef __IMallocSpy_FWD_DEFINED__
438#define __IMallocSpy_FWD_DEFINED__
439typedef interface IMallocSpy IMallocSpy;
440#ifdef __cplusplus
441interface IMallocSpy;
442#endif /* __cplusplus */
443#endif
444
445#ifndef __IBindCtx_FWD_DEFINED__
446#define __IBindCtx_FWD_DEFINED__
447typedef interface IBindCtx IBindCtx;
448#ifdef __cplusplus
449interface IBindCtx;
450#endif /* __cplusplus */
451#endif
452
453#ifndef __IEnumMoniker_FWD_DEFINED__
454#define __IEnumMoniker_FWD_DEFINED__
455typedef interface IEnumMoniker IEnumMoniker;
456#ifdef __cplusplus
457interface IEnumMoniker;
458#endif /* __cplusplus */
459#endif
460
461#ifndef __IRunnableObject_FWD_DEFINED__
462#define __IRunnableObject_FWD_DEFINED__
463typedef interface IRunnableObject IRunnableObject;
464#ifdef __cplusplus
465interface IRunnableObject;
466#endif /* __cplusplus */
467#endif
468
469#ifndef __IRunningObjectTable_FWD_DEFINED__
470#define __IRunningObjectTable_FWD_DEFINED__
471typedef interface IRunningObjectTable IRunningObjectTable;
472#ifdef __cplusplus
473interface IRunningObjectTable;
474#endif /* __cplusplus */
475#endif
476
477#ifndef __IPersist_FWD_DEFINED__
478#define __IPersist_FWD_DEFINED__
479typedef interface IPersist IPersist;
480#ifdef __cplusplus
481interface IPersist;
482#endif /* __cplusplus */
483#endif
484
485#ifndef __IPersistStream_FWD_DEFINED__
486#define __IPersistStream_FWD_DEFINED__
487typedef interface IPersistStream IPersistStream;
488#ifdef __cplusplus
489interface IPersistStream;
490#endif /* __cplusplus */
491#endif
492
493#ifndef __IMoniker_FWD_DEFINED__
494#define __IMoniker_FWD_DEFINED__
495typedef interface IMoniker IMoniker;
496#ifdef __cplusplus
497interface IMoniker;
498#endif /* __cplusplus */
499#endif
500
501#ifndef __IROTData_FWD_DEFINED__
502#define __IROTData_FWD_DEFINED__
503typedef interface IROTData IROTData;
504#ifdef __cplusplus
505interface IROTData;
506#endif /* __cplusplus */
507#endif
508
509#ifndef __IEnumSTATSTG_FWD_DEFINED__
510#define __IEnumSTATSTG_FWD_DEFINED__
511typedef interface IEnumSTATSTG IEnumSTATSTG;
512#ifdef __cplusplus
513interface IEnumSTATSTG;
514#endif /* __cplusplus */
515#endif
516
517#ifndef __IStorage_FWD_DEFINED__
518#define __IStorage_FWD_DEFINED__
519typedef interface IStorage IStorage;
520#ifdef __cplusplus
521interface IStorage;
522#endif /* __cplusplus */
523#endif
524
525#ifndef __IPersistFile_FWD_DEFINED__
526#define __IPersistFile_FWD_DEFINED__
527typedef interface IPersistFile IPersistFile;
528#ifdef __cplusplus
529interface IPersistFile;
530#endif /* __cplusplus */
531#endif
532
533#ifndef __IPersistStorage_FWD_DEFINED__
534#define __IPersistStorage_FWD_DEFINED__
535typedef interface IPersistStorage IPersistStorage;
536#ifdef __cplusplus
537interface IPersistStorage;
538#endif /* __cplusplus */
539#endif
540
541#ifndef __ILockBytes_FWD_DEFINED__
542#define __ILockBytes_FWD_DEFINED__
543typedef interface ILockBytes ILockBytes;
544#ifdef __cplusplus
545interface ILockBytes;
546#endif /* __cplusplus */
547#endif
548
549#ifndef __IEnumFORMATETC_FWD_DEFINED__
550#define __IEnumFORMATETC_FWD_DEFINED__
551typedef interface IEnumFORMATETC IEnumFORMATETC;
552#ifdef __cplusplus
553interface IEnumFORMATETC;
554#endif /* __cplusplus */
555#endif
556
557#ifndef __IEnumSTATDATA_FWD_DEFINED__
558#define __IEnumSTATDATA_FWD_DEFINED__
559typedef interface IEnumSTATDATA IEnumSTATDATA;
560#ifdef __cplusplus
561interface IEnumSTATDATA;
562#endif /* __cplusplus */
563#endif
564
565#ifndef __IRootStorage_FWD_DEFINED__
566#define __IRootStorage_FWD_DEFINED__
567typedef interface IRootStorage IRootStorage;
568#ifdef __cplusplus
569interface IRootStorage;
570#endif /* __cplusplus */
571#endif
572
573#ifndef __IAdviseSink_FWD_DEFINED__
574#define __IAdviseSink_FWD_DEFINED__
575typedef interface IAdviseSink IAdviseSink;
576#ifdef __cplusplus
577interface IAdviseSink;
578#endif /* __cplusplus */
579#endif
580
581#ifndef __AsyncIAdviseSink_FWD_DEFINED__
582#define __AsyncIAdviseSink_FWD_DEFINED__
583typedef interface AsyncIAdviseSink AsyncIAdviseSink;
584#ifdef __cplusplus
585interface AsyncIAdviseSink;
586#endif /* __cplusplus */
587#endif
588
589#ifndef __IAdviseSink2_FWD_DEFINED__
590#define __IAdviseSink2_FWD_DEFINED__
591typedef interface IAdviseSink2 IAdviseSink2;
592#ifdef __cplusplus
593interface IAdviseSink2;
594#endif /* __cplusplus */
595#endif
596
597#ifndef __AsyncIAdviseSink2_FWD_DEFINED__
598#define __AsyncIAdviseSink2_FWD_DEFINED__
599typedef interface AsyncIAdviseSink2 AsyncIAdviseSink2;
600#ifdef __cplusplus
601interface AsyncIAdviseSink2;
602#endif /* __cplusplus */
603#endif
604
605#ifndef __IDataObject_FWD_DEFINED__
606#define __IDataObject_FWD_DEFINED__
607typedef interface IDataObject IDataObject;
608#ifdef __cplusplus
609interface IDataObject;
610#endif /* __cplusplus */
611#endif
612
613#ifndef __IDataAdviseHolder_FWD_DEFINED__
614#define __IDataAdviseHolder_FWD_DEFINED__
615typedef interface IDataAdviseHolder IDataAdviseHolder;
616#ifdef __cplusplus
617interface IDataAdviseHolder;
618#endif /* __cplusplus */
619#endif
620
621#ifndef __IMessageFilter_FWD_DEFINED__
622#define __IMessageFilter_FWD_DEFINED__
623typedef interface IMessageFilter IMessageFilter;
624#ifdef __cplusplus
625interface IMessageFilter;
626#endif /* __cplusplus */
627#endif
628
629#ifndef __IClassActivator_FWD_DEFINED__
630#define __IClassActivator_FWD_DEFINED__
631typedef interface IClassActivator IClassActivator;
632#ifdef __cplusplus
633interface IClassActivator;
634#endif /* __cplusplus */
635#endif
636
637#ifndef __IFillLockBytes_FWD_DEFINED__
638#define __IFillLockBytes_FWD_DEFINED__
639typedef interface IFillLockBytes IFillLockBytes;
640#ifdef __cplusplus
641interface IFillLockBytes;
642#endif /* __cplusplus */
643#endif
644
645#ifndef __IProgressNotify_FWD_DEFINED__
646#define __IProgressNotify_FWD_DEFINED__
647typedef interface IProgressNotify IProgressNotify;
648#ifdef __cplusplus
649interface IProgressNotify;
650#endif /* __cplusplus */
651#endif
652
653#ifndef __ILayoutStorage_FWD_DEFINED__
654#define __ILayoutStorage_FWD_DEFINED__
655typedef interface ILayoutStorage ILayoutStorage;
656#ifdef __cplusplus
657interface ILayoutStorage;
658#endif /* __cplusplus */
659#endif
660
661#ifndef __IBlockingLock_FWD_DEFINED__
662#define __IBlockingLock_FWD_DEFINED__
663typedef interface IBlockingLock IBlockingLock;
664#ifdef __cplusplus
665interface IBlockingLock;
666#endif /* __cplusplus */
667#endif
668
669#ifndef __ITimeAndNoticeControl_FWD_DEFINED__
670#define __ITimeAndNoticeControl_FWD_DEFINED__
671typedef interface ITimeAndNoticeControl ITimeAndNoticeControl;
672#ifdef __cplusplus
673interface ITimeAndNoticeControl;
674#endif /* __cplusplus */
675#endif
676
677#ifndef __IOplockStorage_FWD_DEFINED__
678#define __IOplockStorage_FWD_DEFINED__
679typedef interface IOplockStorage IOplockStorage;
680#ifdef __cplusplus
681interface IOplockStorage;
682#endif /* __cplusplus */
683#endif
684
685#ifndef __IDirectWriterLock_FWD_DEFINED__
686#define __IDirectWriterLock_FWD_DEFINED__
687typedef interface IDirectWriterLock IDirectWriterLock;
688#ifdef __cplusplus
689interface IDirectWriterLock;
690#endif /* __cplusplus */
691#endif
692
693#ifndef __IUrlMon_FWD_DEFINED__
694#define __IUrlMon_FWD_DEFINED__
695typedef interface IUrlMon IUrlMon;
696#ifdef __cplusplus
697interface IUrlMon;
698#endif /* __cplusplus */
699#endif
700
701#ifndef __IForegroundTransfer_FWD_DEFINED__
702#define __IForegroundTransfer_FWD_DEFINED__
703typedef interface IForegroundTransfer IForegroundTransfer;
704#ifdef __cplusplus
705interface IForegroundTransfer;
706#endif /* __cplusplus */
707#endif
708
709#ifndef __IThumbnailExtractor_FWD_DEFINED__
710#define __IThumbnailExtractor_FWD_DEFINED__
711typedef interface IThumbnailExtractor IThumbnailExtractor;
712#ifdef __cplusplus
713interface IThumbnailExtractor;
714#endif /* __cplusplus */
715#endif
716
717#ifndef __IDummyHICONIncluder_FWD_DEFINED__
718#define __IDummyHICONIncluder_FWD_DEFINED__
719typedef interface IDummyHICONIncluder IDummyHICONIncluder;
720#ifdef __cplusplus
721interface IDummyHICONIncluder;
722#endif /* __cplusplus */
723#endif
724
725#ifndef __IProcessLock_FWD_DEFINED__
726#define __IProcessLock_FWD_DEFINED__
727typedef interface IProcessLock IProcessLock;
728#ifdef __cplusplus
729interface IProcessLock;
730#endif /* __cplusplus */
731#endif
732
733#ifndef __ISurrogateService_FWD_DEFINED__
734#define __ISurrogateService_FWD_DEFINED__
735typedef interface ISurrogateService ISurrogateService;
736#ifdef __cplusplus
737interface ISurrogateService;
738#endif /* __cplusplus */
739#endif
740
741#ifndef __IInitializeSpy_FWD_DEFINED__
742#define __IInitializeSpy_FWD_DEFINED__
743typedef interface IInitializeSpy IInitializeSpy;
744#ifdef __cplusplus
745interface IInitializeSpy;
746#endif /* __cplusplus */
747#endif
748
749#ifndef __IApartmentShutdown_FWD_DEFINED__
750#define __IApartmentShutdown_FWD_DEFINED__
751typedef interface IApartmentShutdown IApartmentShutdown;
752#ifdef __cplusplus
753interface IApartmentShutdown;
754#endif /* __cplusplus */
755#endif
756
757/* Headers for imported files */
758
759#include <unknwn.h>
760#include <wtypes.h>
761
762#ifdef __cplusplus
763extern "C" {
764#endif
765
766/**
767 * This file is part of the mingw-w64 runtime package.
768 * No warranty is given; refer to the file DISCLAIMER within this package.
769 */
770
771#include <winapifamily.h>
772
773#if (NTDDI_VERSION >= NTDDI_VISTA && !defined(_WIN32_WINNT))
774#define _WIN32_WINNT 0x0600
775#endif
776#if(NTDDI_VERSION >= NTDDI_WS03 && !defined(_WIN32_WINNT))
777#define _WIN32_WINNT 0x0502
778#endif
779#if(NTDDI_VERSION >= NTDDI_WINXP && !defined(_WIN32_WINNT))
780#define _WIN32_WINNT 0x0501
781#endif
782/**
783 * This file is part of the mingw-w64 runtime package.
784 * No warranty is given; refer to the file DISCLAIMER within this package.
785 */
786
787#include <winapifamily.h>
788
789#if (NTDDI_VERSION >= NTDDI_VISTA && !defined(_WIN32_WINNT))
790#define _WIN32_WINNT 0x0600
791#endif
792
793#if (NTDDI_VERSION >= NTDDI_WS03 && !defined(_WIN32_WINNT))
794#define _WIN32_WINNT 0x0502
795#endif
796
797#if (NTDDI_VERSION >= NTDDI_WINXP && !defined(_WIN32_WINNT))
798#define _WIN32_WINNT 0x0501
799#endif
800
801#ifndef _OBJIDLBASE_
802#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
803#ifndef __IStream_FWD_DEFINED__
804#define __IStream_FWD_DEFINED__
805typedef interface IStream IStream;
806#ifdef __cplusplus
807interface IStream;
808#endif /* __cplusplus */
809#endif
810
811#ifndef __IEnumString_FWD_DEFINED__
812#define __IEnumString_FWD_DEFINED__
813typedef interface IEnumString IEnumString;
814#ifdef __cplusplus
815interface IEnumString;
816#endif /* __cplusplus */
817#endif
818
819#ifndef __IMultiQI_FWD_DEFINED__
820#define __IMultiQI_FWD_DEFINED__
821typedef interface IMultiQI IMultiQI;
822#ifdef __cplusplus
823interface IMultiQI;
824#endif /* __cplusplus */
825#endif
826
827#endif
828
829#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
830#ifndef __IAsyncManager_FWD_DEFINED__
831#define __IAsyncManager_FWD_DEFINED__
832typedef interface IAsyncManager IAsyncManager;
833#ifdef __cplusplus
834interface IAsyncManager;
835#endif /* __cplusplus */
836#endif
837
838#ifndef __ICallFactory_FWD_DEFINED__
839#define __ICallFactory_FWD_DEFINED__
840typedef interface ICallFactory ICallFactory;
841#ifdef __cplusplus
842interface ICallFactory;
843#endif /* __cplusplus */
844#endif
845
846#ifndef __ISynchronize_FWD_DEFINED__
847#define __ISynchronize_FWD_DEFINED__
848typedef interface ISynchronize ISynchronize;
849#ifdef __cplusplus
850interface ISynchronize;
851#endif /* __cplusplus */
852#endif
853
854#endif
855
856#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
857typedef struct _COSERVERINFO {
858 DWORD dwReserved1;
859 LPWSTR pwszName;
860 COAUTHINFO *pAuthInfo;
861 DWORD dwReserved2;
862} COSERVERINFO;
863
864/*****************************************************************************
865 * IMarshal interface
866 */
867#ifndef __IMarshal_INTERFACE_DEFINED__
868#define __IMarshal_INTERFACE_DEFINED__
869
870typedef IMarshal *LPMARSHAL;
871DEFINE_GUID(IID_IMarshal, 0x00000003, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
872#if defined(__cplusplus) && !defined(CINTERFACE)
873MIDL_INTERFACE("00000003-0000-0000-c000-000000000046")
874IMarshal : public IUnknown
875{
876 virtual HRESULT STDMETHODCALLTYPE GetUnmarshalClass(
877 REFIID riid,
878 void *pv,
879 DWORD dwDestContext,
880 void *pvDestContext,
881 DWORD mshlflags,
882 CLSID *pCid) = 0;
883
884 virtual HRESULT STDMETHODCALLTYPE GetMarshalSizeMax(
885 REFIID riid,
886 void *pv,
887 DWORD dwDestContext,
888 void *pvDestContext,
889 DWORD mshlflags,
890 DWORD *pSize) = 0;
891
892 virtual HRESULT STDMETHODCALLTYPE MarshalInterface(
893 IStream *pStm,
894 REFIID riid,
895 void *pv,
896 DWORD dwDestContext,
897 void *pvDestContext,
898 DWORD mshlflags) = 0;
899
900 virtual HRESULT STDMETHODCALLTYPE UnmarshalInterface(
901 IStream *pStm,
902 REFIID riid,
903 void **ppv) = 0;
904
905 virtual HRESULT STDMETHODCALLTYPE ReleaseMarshalData(
906 IStream *pStm) = 0;
907
908 virtual HRESULT STDMETHODCALLTYPE DisconnectObject(
909 DWORD dwReserved) = 0;
910
911};
912#ifdef __CRT_UUID_DECL
913__CRT_UUID_DECL(IMarshal, 0x00000003, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
914#endif
915#else
916typedef struct IMarshalVtbl {
917 BEGIN_INTERFACE
918
919 /*** IUnknown methods ***/
920 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
921 IMarshal *This,
922 REFIID riid,
923 void **ppvObject);
924
925 ULONG (STDMETHODCALLTYPE *AddRef)(
926 IMarshal *This);
927
928 ULONG (STDMETHODCALLTYPE *Release)(
929 IMarshal *This);
930
931 /*** IMarshal methods ***/
932 HRESULT (STDMETHODCALLTYPE *GetUnmarshalClass)(
933 IMarshal *This,
934 REFIID riid,
935 void *pv,
936 DWORD dwDestContext,
937 void *pvDestContext,
938 DWORD mshlflags,
939 CLSID *pCid);
940
941 HRESULT (STDMETHODCALLTYPE *GetMarshalSizeMax)(
942 IMarshal *This,
943 REFIID riid,
944 void *pv,
945 DWORD dwDestContext,
946 void *pvDestContext,
947 DWORD mshlflags,
948 DWORD *pSize);
949
950 HRESULT (STDMETHODCALLTYPE *MarshalInterface)(
951 IMarshal *This,
952 IStream *pStm,
953 REFIID riid,
954 void *pv,
955 DWORD dwDestContext,
956 void *pvDestContext,
957 DWORD mshlflags);
958
959 HRESULT (STDMETHODCALLTYPE *UnmarshalInterface)(
960 IMarshal *This,
961 IStream *pStm,
962 REFIID riid,
963 void **ppv);
964
965 HRESULT (STDMETHODCALLTYPE *ReleaseMarshalData)(
966 IMarshal *This,
967 IStream *pStm);
968
969 HRESULT (STDMETHODCALLTYPE *DisconnectObject)(
970 IMarshal *This,
971 DWORD dwReserved);
972
973 END_INTERFACE
974} IMarshalVtbl;
975
976interface IMarshal {
977 CONST_VTBL IMarshalVtbl* lpVtbl;
978};
979
980#ifdef COBJMACROS
981#ifndef WIDL_C_INLINE_WRAPPERS
982/*** IUnknown methods ***/
983#define IMarshal_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
984#define IMarshal_AddRef(This) (This)->lpVtbl->AddRef(This)
985#define IMarshal_Release(This) (This)->lpVtbl->Release(This)
986/*** IMarshal methods ***/
987#define IMarshal_GetUnmarshalClass(This,riid,pv,dwDestContext,pvDestContext,mshlflags,pCid) (This)->lpVtbl->GetUnmarshalClass(This,riid,pv,dwDestContext,pvDestContext,mshlflags,pCid)
988#define IMarshal_GetMarshalSizeMax(This,riid,pv,dwDestContext,pvDestContext,mshlflags,pSize) (This)->lpVtbl->GetMarshalSizeMax(This,riid,pv,dwDestContext,pvDestContext,mshlflags,pSize)
989#define IMarshal_MarshalInterface(This,pStm,riid,pv,dwDestContext,pvDestContext,mshlflags) (This)->lpVtbl->MarshalInterface(This,pStm,riid,pv,dwDestContext,pvDestContext,mshlflags)
990#define IMarshal_UnmarshalInterface(This,pStm,riid,ppv) (This)->lpVtbl->UnmarshalInterface(This,pStm,riid,ppv)
991#define IMarshal_ReleaseMarshalData(This,pStm) (This)->lpVtbl->ReleaseMarshalData(This,pStm)
992#define IMarshal_DisconnectObject(This,dwReserved) (This)->lpVtbl->DisconnectObject(This,dwReserved)
993#else
994/*** IUnknown methods ***/
995static inline HRESULT IMarshal_QueryInterface(IMarshal* This,REFIID riid,void **ppvObject) {
996 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
997}
998static inline ULONG IMarshal_AddRef(IMarshal* This) {
999 return This->lpVtbl->AddRef(This);
1000}
1001static inline ULONG IMarshal_Release(IMarshal* This) {
1002 return This->lpVtbl->Release(This);
1003}
1004/*** IMarshal methods ***/
1005static inline HRESULT IMarshal_GetUnmarshalClass(IMarshal* This,REFIID riid,void *pv,DWORD dwDestContext,void *pvDestContext,DWORD mshlflags,CLSID *pCid) {
1006 return This->lpVtbl->GetUnmarshalClass(This,riid,pv,dwDestContext,pvDestContext,mshlflags,pCid);
1007}
1008static inline HRESULT IMarshal_GetMarshalSizeMax(IMarshal* This,REFIID riid,void *pv,DWORD dwDestContext,void *pvDestContext,DWORD mshlflags,DWORD *pSize) {
1009 return This->lpVtbl->GetMarshalSizeMax(This,riid,pv,dwDestContext,pvDestContext,mshlflags,pSize);
1010}
1011static inline HRESULT IMarshal_MarshalInterface(IMarshal* This,IStream *pStm,REFIID riid,void *pv,DWORD dwDestContext,void *pvDestContext,DWORD mshlflags) {
1012 return This->lpVtbl->MarshalInterface(This,pStm,riid,pv,dwDestContext,pvDestContext,mshlflags);
1013}
1014static inline HRESULT IMarshal_UnmarshalInterface(IMarshal* This,IStream *pStm,REFIID riid,void **ppv) {
1015 return This->lpVtbl->UnmarshalInterface(This,pStm,riid,ppv);
1016}
1017static inline HRESULT IMarshal_ReleaseMarshalData(IMarshal* This,IStream *pStm) {
1018 return This->lpVtbl->ReleaseMarshalData(This,pStm);
1019}
1020static inline HRESULT IMarshal_DisconnectObject(IMarshal* This,DWORD dwReserved) {
1021 return This->lpVtbl->DisconnectObject(This,dwReserved);
1022}
1023#endif
1024#endif
1025
1026#endif
1027
1028
1029#endif /* __IMarshal_INTERFACE_DEFINED__ */
1030
1031
1032/*****************************************************************************
1033 * INoMarshal interface
1034 */
1035#ifndef __INoMarshal_INTERFACE_DEFINED__
1036#define __INoMarshal_INTERFACE_DEFINED__
1037
1038DEFINE_GUID(IID_INoMarshal, 0xecc8691b, 0xc1db, 0x4dc0, 0x85,0x5e, 0x65,0xf6,0xc5,0x51,0xaf,0x49);
1039#if defined(__cplusplus) && !defined(CINTERFACE)
1040MIDL_INTERFACE("ecc8691b-c1db-4dc0-855e-65f6c551af49")
1041INoMarshal : public IUnknown
1042{
1043};
1044#ifdef __CRT_UUID_DECL
1045__CRT_UUID_DECL(INoMarshal, 0xecc8691b, 0xc1db, 0x4dc0, 0x85,0x5e, 0x65,0xf6,0xc5,0x51,0xaf,0x49)
1046#endif
1047#else
1048typedef struct INoMarshalVtbl {
1049 BEGIN_INTERFACE
1050
1051 /*** IUnknown methods ***/
1052 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1053 INoMarshal *This,
1054 REFIID riid,
1055 void **ppvObject);
1056
1057 ULONG (STDMETHODCALLTYPE *AddRef)(
1058 INoMarshal *This);
1059
1060 ULONG (STDMETHODCALLTYPE *Release)(
1061 INoMarshal *This);
1062
1063 END_INTERFACE
1064} INoMarshalVtbl;
1065
1066interface INoMarshal {
1067 CONST_VTBL INoMarshalVtbl* lpVtbl;
1068};
1069
1070#ifdef COBJMACROS
1071#ifndef WIDL_C_INLINE_WRAPPERS
1072/*** IUnknown methods ***/
1073#define INoMarshal_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1074#define INoMarshal_AddRef(This) (This)->lpVtbl->AddRef(This)
1075#define INoMarshal_Release(This) (This)->lpVtbl->Release(This)
1076#else
1077/*** IUnknown methods ***/
1078static inline HRESULT INoMarshal_QueryInterface(INoMarshal* This,REFIID riid,void **ppvObject) {
1079 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1080}
1081static inline ULONG INoMarshal_AddRef(INoMarshal* This) {
1082 return This->lpVtbl->AddRef(This);
1083}
1084static inline ULONG INoMarshal_Release(INoMarshal* This) {
1085 return This->lpVtbl->Release(This);
1086}
1087#endif
1088#endif
1089
1090#endif
1091
1092
1093#endif /* __INoMarshal_INTERFACE_DEFINED__ */
1094
1095
1096/*****************************************************************************
1097 * IAgileObject interface
1098 */
1099#ifndef __IAgileObject_INTERFACE_DEFINED__
1100#define __IAgileObject_INTERFACE_DEFINED__
1101
1102DEFINE_GUID(IID_IAgileObject, 0x94ea2b94, 0xe9cc, 0x49e0, 0xc0,0xff, 0xee,0x64,0xca,0x8f,0x5b,0x90);
1103#if defined(__cplusplus) && !defined(CINTERFACE)
1104MIDL_INTERFACE("94ea2b94-e9cc-49e0-c0ff-ee64ca8f5b90")
1105IAgileObject : public IUnknown
1106{
1107};
1108#ifdef __CRT_UUID_DECL
1109__CRT_UUID_DECL(IAgileObject, 0x94ea2b94, 0xe9cc, 0x49e0, 0xc0,0xff, 0xee,0x64,0xca,0x8f,0x5b,0x90)
1110#endif
1111#else
1112typedef struct IAgileObjectVtbl {
1113 BEGIN_INTERFACE
1114
1115 /*** IUnknown methods ***/
1116 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1117 IAgileObject *This,
1118 REFIID riid,
1119 void **ppvObject);
1120
1121 ULONG (STDMETHODCALLTYPE *AddRef)(
1122 IAgileObject *This);
1123
1124 ULONG (STDMETHODCALLTYPE *Release)(
1125 IAgileObject *This);
1126
1127 END_INTERFACE
1128} IAgileObjectVtbl;
1129
1130interface IAgileObject {
1131 CONST_VTBL IAgileObjectVtbl* lpVtbl;
1132};
1133
1134#ifdef COBJMACROS
1135#ifndef WIDL_C_INLINE_WRAPPERS
1136/*** IUnknown methods ***/
1137#define IAgileObject_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1138#define IAgileObject_AddRef(This) (This)->lpVtbl->AddRef(This)
1139#define IAgileObject_Release(This) (This)->lpVtbl->Release(This)
1140#else
1141/*** IUnknown methods ***/
1142static inline HRESULT IAgileObject_QueryInterface(IAgileObject* This,REFIID riid,void **ppvObject) {
1143 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1144}
1145static inline ULONG IAgileObject_AddRef(IAgileObject* This) {
1146 return This->lpVtbl->AddRef(This);
1147}
1148static inline ULONG IAgileObject_Release(IAgileObject* This) {
1149 return This->lpVtbl->Release(This);
1150}
1151#endif
1152#endif
1153
1154#endif
1155
1156
1157#endif /* __IAgileObject_INTERFACE_DEFINED__ */
1158
1159/*****************************************************************************
1160 * IAgileReference interface
1161 */
1162#ifndef __IAgileReference_INTERFACE_DEFINED__
1163#define __IAgileReference_INTERFACE_DEFINED__
1164
1165DEFINE_GUID(IID_IAgileReference, 0xc03f6a43, 0x65a4, 0x9818, 0x98,0x7e, 0xe0,0xb8,0x10,0xd2,0xa6,0xf2);
1166#if defined(__cplusplus) && !defined(CINTERFACE)
1167MIDL_INTERFACE("c03f6a43-65a4-9818-987e-e0b810d2a6f2")
1168IAgileReference : public IUnknown
1169{
1170 virtual HRESULT STDMETHODCALLTYPE Resolve(
1171 REFIID riid,
1172 void **ppv) = 0;
1173
1174};
1175#ifdef __CRT_UUID_DECL
1176__CRT_UUID_DECL(IAgileReference, 0xc03f6a43, 0x65a4, 0x9818, 0x98,0x7e, 0xe0,0xb8,0x10,0xd2,0xa6,0xf2)
1177#endif
1178#else
1179typedef struct IAgileReferenceVtbl {
1180 BEGIN_INTERFACE
1181
1182 /*** IUnknown methods ***/
1183 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1184 IAgileReference *This,
1185 REFIID riid,
1186 void **ppvObject);
1187
1188 ULONG (STDMETHODCALLTYPE *AddRef)(
1189 IAgileReference *This);
1190
1191 ULONG (STDMETHODCALLTYPE *Release)(
1192 IAgileReference *This);
1193
1194 /*** IAgileReference methods ***/
1195 HRESULT (STDMETHODCALLTYPE *Resolve)(
1196 IAgileReference *This,
1197 REFIID riid,
1198 void **ppv);
1199
1200 END_INTERFACE
1201} IAgileReferenceVtbl;
1202
1203interface IAgileReference {
1204 CONST_VTBL IAgileReferenceVtbl* lpVtbl;
1205};
1206
1207#ifdef COBJMACROS
1208#ifndef WIDL_C_INLINE_WRAPPERS
1209/*** IUnknown methods ***/
1210#define IAgileReference_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1211#define IAgileReference_AddRef(This) (This)->lpVtbl->AddRef(This)
1212#define IAgileReference_Release(This) (This)->lpVtbl->Release(This)
1213/*** IAgileReference methods ***/
1214#define IAgileReference_Resolve(This,riid,ppv) (This)->lpVtbl->Resolve(This,riid,ppv)
1215#else
1216/*** IUnknown methods ***/
1217static inline HRESULT IAgileReference_QueryInterface(IAgileReference* This,REFIID riid,void **ppvObject) {
1218 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1219}
1220static inline ULONG IAgileReference_AddRef(IAgileReference* This) {
1221 return This->lpVtbl->AddRef(This);
1222}
1223static inline ULONG IAgileReference_Release(IAgileReference* This) {
1224 return This->lpVtbl->Release(This);
1225}
1226/*** IAgileReference methods ***/
1227static inline HRESULT IAgileReference_Resolve(IAgileReference* This,REFIID riid,void **ppv) {
1228 return This->lpVtbl->Resolve(This,riid,ppv);
1229}
1230#endif
1231#endif
1232
1233#endif
1234
1235
1236#endif /* __IAgileReference_INTERFACE_DEFINED__ */
1237
1238#endif
1239
1240#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
1241/*****************************************************************************
1242 * IMarshal2 interface
1243 */
1244#ifndef __IMarshal2_INTERFACE_DEFINED__
1245#define __IMarshal2_INTERFACE_DEFINED__
1246
1247typedef IMarshal2 *LPMARSHAL2;
1248DEFINE_GUID(IID_IMarshal2, 0x000001cf, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
1249#if defined(__cplusplus) && !defined(CINTERFACE)
1250MIDL_INTERFACE("000001cf-0000-0000-c000-000000000046")
1251IMarshal2 : public IMarshal
1252{
1253};
1254#ifdef __CRT_UUID_DECL
1255__CRT_UUID_DECL(IMarshal2, 0x000001cf, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
1256#endif
1257#else
1258typedef struct IMarshal2Vtbl {
1259 BEGIN_INTERFACE
1260
1261 /*** IUnknown methods ***/
1262 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1263 IMarshal2 *This,
1264 REFIID riid,
1265 void **ppvObject);
1266
1267 ULONG (STDMETHODCALLTYPE *AddRef)(
1268 IMarshal2 *This);
1269
1270 ULONG (STDMETHODCALLTYPE *Release)(
1271 IMarshal2 *This);
1272
1273 /*** IMarshal methods ***/
1274 HRESULT (STDMETHODCALLTYPE *GetUnmarshalClass)(
1275 IMarshal2 *This,
1276 REFIID riid,
1277 void *pv,
1278 DWORD dwDestContext,
1279 void *pvDestContext,
1280 DWORD mshlflags,
1281 CLSID *pCid);
1282
1283 HRESULT (STDMETHODCALLTYPE *GetMarshalSizeMax)(
1284 IMarshal2 *This,
1285 REFIID riid,
1286 void *pv,
1287 DWORD dwDestContext,
1288 void *pvDestContext,
1289 DWORD mshlflags,
1290 DWORD *pSize);
1291
1292 HRESULT (STDMETHODCALLTYPE *MarshalInterface)(
1293 IMarshal2 *This,
1294 IStream *pStm,
1295 REFIID riid,
1296 void *pv,
1297 DWORD dwDestContext,
1298 void *pvDestContext,
1299 DWORD mshlflags);
1300
1301 HRESULT (STDMETHODCALLTYPE *UnmarshalInterface)(
1302 IMarshal2 *This,
1303 IStream *pStm,
1304 REFIID riid,
1305 void **ppv);
1306
1307 HRESULT (STDMETHODCALLTYPE *ReleaseMarshalData)(
1308 IMarshal2 *This,
1309 IStream *pStm);
1310
1311 HRESULT (STDMETHODCALLTYPE *DisconnectObject)(
1312 IMarshal2 *This,
1313 DWORD dwReserved);
1314
1315 END_INTERFACE
1316} IMarshal2Vtbl;
1317
1318interface IMarshal2 {
1319 CONST_VTBL IMarshal2Vtbl* lpVtbl;
1320};
1321
1322#ifdef COBJMACROS
1323#ifndef WIDL_C_INLINE_WRAPPERS
1324/*** IUnknown methods ***/
1325#define IMarshal2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1326#define IMarshal2_AddRef(This) (This)->lpVtbl->AddRef(This)
1327#define IMarshal2_Release(This) (This)->lpVtbl->Release(This)
1328/*** IMarshal methods ***/
1329#define IMarshal2_GetUnmarshalClass(This,riid,pv,dwDestContext,pvDestContext,mshlflags,pCid) (This)->lpVtbl->GetUnmarshalClass(This,riid,pv,dwDestContext,pvDestContext,mshlflags,pCid)
1330#define IMarshal2_GetMarshalSizeMax(This,riid,pv,dwDestContext,pvDestContext,mshlflags,pSize) (This)->lpVtbl->GetMarshalSizeMax(This,riid,pv,dwDestContext,pvDestContext,mshlflags,pSize)
1331#define IMarshal2_MarshalInterface(This,pStm,riid,pv,dwDestContext,pvDestContext,mshlflags) (This)->lpVtbl->MarshalInterface(This,pStm,riid,pv,dwDestContext,pvDestContext,mshlflags)
1332#define IMarshal2_UnmarshalInterface(This,pStm,riid,ppv) (This)->lpVtbl->UnmarshalInterface(This,pStm,riid,ppv)
1333#define IMarshal2_ReleaseMarshalData(This,pStm) (This)->lpVtbl->ReleaseMarshalData(This,pStm)
1334#define IMarshal2_DisconnectObject(This,dwReserved) (This)->lpVtbl->DisconnectObject(This,dwReserved)
1335#else
1336/*** IUnknown methods ***/
1337static inline HRESULT IMarshal2_QueryInterface(IMarshal2* This,REFIID riid,void **ppvObject) {
1338 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1339}
1340static inline ULONG IMarshal2_AddRef(IMarshal2* This) {
1341 return This->lpVtbl->AddRef(This);
1342}
1343static inline ULONG IMarshal2_Release(IMarshal2* This) {
1344 return This->lpVtbl->Release(This);
1345}
1346/*** IMarshal methods ***/
1347static inline HRESULT IMarshal2_GetUnmarshalClass(IMarshal2* This,REFIID riid,void *pv,DWORD dwDestContext,void *pvDestContext,DWORD mshlflags,CLSID *pCid) {
1348 return This->lpVtbl->GetUnmarshalClass(This,riid,pv,dwDestContext,pvDestContext,mshlflags,pCid);
1349}
1350static inline HRESULT IMarshal2_GetMarshalSizeMax(IMarshal2* This,REFIID riid,void *pv,DWORD dwDestContext,void *pvDestContext,DWORD mshlflags,DWORD *pSize) {
1351 return This->lpVtbl->GetMarshalSizeMax(This,riid,pv,dwDestContext,pvDestContext,mshlflags,pSize);
1352}
1353static inline HRESULT IMarshal2_MarshalInterface(IMarshal2* This,IStream *pStm,REFIID riid,void *pv,DWORD dwDestContext,void *pvDestContext,DWORD mshlflags) {
1354 return This->lpVtbl->MarshalInterface(This,pStm,riid,pv,dwDestContext,pvDestContext,mshlflags);
1355}
1356static inline HRESULT IMarshal2_UnmarshalInterface(IMarshal2* This,IStream *pStm,REFIID riid,void **ppv) {
1357 return This->lpVtbl->UnmarshalInterface(This,pStm,riid,ppv);
1358}
1359static inline HRESULT IMarshal2_ReleaseMarshalData(IMarshal2* This,IStream *pStm) {
1360 return This->lpVtbl->ReleaseMarshalData(This,pStm);
1361}
1362static inline HRESULT IMarshal2_DisconnectObject(IMarshal2* This,DWORD dwReserved) {
1363 return This->lpVtbl->DisconnectObject(This,dwReserved);
1364}
1365#endif
1366#endif
1367
1368#endif
1369
1370
1371#endif /* __IMarshal2_INTERFACE_DEFINED__ */
1372
1373
1374/*****************************************************************************
1375 * IMalloc interface
1376 */
1377#ifndef __IMalloc_INTERFACE_DEFINED__
1378#define __IMalloc_INTERFACE_DEFINED__
1379
1380typedef IMalloc *LPMALLOC;
1381
1382DEFINE_GUID(IID_IMalloc, 0x00000002, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
1383#if defined(__cplusplus) && !defined(CINTERFACE)
1384MIDL_INTERFACE("00000002-0000-0000-c000-000000000046")
1385IMalloc : public IUnknown
1386{
1387 virtual void * STDMETHODCALLTYPE Alloc(
1388 SIZE_T cb) = 0;
1389
1390 virtual void * STDMETHODCALLTYPE Realloc(
1391 void *pv,
1392 SIZE_T cb) = 0;
1393
1394 virtual void STDMETHODCALLTYPE Free(
1395 void *pv) = 0;
1396
1397 virtual SIZE_T STDMETHODCALLTYPE GetSize(
1398 void *pv) = 0;
1399
1400 virtual int STDMETHODCALLTYPE DidAlloc(
1401 void *pv) = 0;
1402
1403 virtual void STDMETHODCALLTYPE HeapMinimize(
1404 ) = 0;
1405
1406};
1407#ifdef __CRT_UUID_DECL
1408__CRT_UUID_DECL(IMalloc, 0x00000002, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
1409#endif
1410#else
1411typedef struct IMallocVtbl {
1412 BEGIN_INTERFACE
1413
1414 /*** IUnknown methods ***/
1415 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1416 IMalloc *This,
1417 REFIID riid,
1418 void **ppvObject);
1419
1420 ULONG (STDMETHODCALLTYPE *AddRef)(
1421 IMalloc *This);
1422
1423 ULONG (STDMETHODCALLTYPE *Release)(
1424 IMalloc *This);
1425
1426 /*** IMalloc methods ***/
1427 void * (STDMETHODCALLTYPE *Alloc)(
1428 IMalloc *This,
1429 SIZE_T cb);
1430
1431 void * (STDMETHODCALLTYPE *Realloc)(
1432 IMalloc *This,
1433 void *pv,
1434 SIZE_T cb);
1435
1436 void (STDMETHODCALLTYPE *Free)(
1437 IMalloc *This,
1438 void *pv);
1439
1440 SIZE_T (STDMETHODCALLTYPE *GetSize)(
1441 IMalloc *This,
1442 void *pv);
1443
1444 int (STDMETHODCALLTYPE *DidAlloc)(
1445 IMalloc *This,
1446 void *pv);
1447
1448 void (STDMETHODCALLTYPE *HeapMinimize)(
1449 IMalloc *This);
1450
1451 END_INTERFACE
1452} IMallocVtbl;
1453
1454interface IMalloc {
1455 CONST_VTBL IMallocVtbl* lpVtbl;
1456};
1457
1458#ifdef COBJMACROS
1459#ifndef WIDL_C_INLINE_WRAPPERS
1460/*** IUnknown methods ***/
1461#define IMalloc_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1462#define IMalloc_AddRef(This) (This)->lpVtbl->AddRef(This)
1463#define IMalloc_Release(This) (This)->lpVtbl->Release(This)
1464/*** IMalloc methods ***/
1465#define IMalloc_Alloc(This,cb) (This)->lpVtbl->Alloc(This,cb)
1466#define IMalloc_Realloc(This,pv,cb) (This)->lpVtbl->Realloc(This,pv,cb)
1467#define IMalloc_Free(This,pv) (This)->lpVtbl->Free(This,pv)
1468#define IMalloc_GetSize(This,pv) (This)->lpVtbl->GetSize(This,pv)
1469#define IMalloc_DidAlloc(This,pv) (This)->lpVtbl->DidAlloc(This,pv)
1470#define IMalloc_HeapMinimize(This) (This)->lpVtbl->HeapMinimize(This)
1471#else
1472/*** IUnknown methods ***/
1473static inline HRESULT IMalloc_QueryInterface(IMalloc* This,REFIID riid,void **ppvObject) {
1474 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1475}
1476static inline ULONG IMalloc_AddRef(IMalloc* This) {
1477 return This->lpVtbl->AddRef(This);
1478}
1479static inline ULONG IMalloc_Release(IMalloc* This) {
1480 return This->lpVtbl->Release(This);
1481}
1482/*** IMalloc methods ***/
1483static inline void * IMalloc_Alloc(IMalloc* This,SIZE_T cb) {
1484 return This->lpVtbl->Alloc(This,cb);
1485}
1486static inline void * IMalloc_Realloc(IMalloc* This,void *pv,SIZE_T cb) {
1487 return This->lpVtbl->Realloc(This,pv,cb);
1488}
1489static inline void IMalloc_Free(IMalloc* This,void *pv) {
1490 This->lpVtbl->Free(This,pv);
1491}
1492static inline SIZE_T IMalloc_GetSize(IMalloc* This,void *pv) {
1493 return This->lpVtbl->GetSize(This,pv);
1494}
1495static inline int IMalloc_DidAlloc(IMalloc* This,void *pv) {
1496 return This->lpVtbl->DidAlloc(This,pv);
1497}
1498static inline void IMalloc_HeapMinimize(IMalloc* This) {
1499 This->lpVtbl->HeapMinimize(This);
1500}
1501#endif
1502#endif
1503
1504#endif
1505
1506
1507#endif /* __IMalloc_INTERFACE_DEFINED__ */
1508
1509
1510/*****************************************************************************
1511 * IStdMarshalInfo interface
1512 */
1513#ifndef __IStdMarshalInfo_INTERFACE_DEFINED__
1514#define __IStdMarshalInfo_INTERFACE_DEFINED__
1515
1516typedef IStdMarshalInfo *LPSTDMARSHALINFO;
1517
1518DEFINE_GUID(IID_IStdMarshalInfo, 0x00000018, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
1519#if defined(__cplusplus) && !defined(CINTERFACE)
1520MIDL_INTERFACE("00000018-0000-0000-c000-000000000046")
1521IStdMarshalInfo : public IUnknown
1522{
1523 virtual HRESULT STDMETHODCALLTYPE GetClassForHandler(
1524 DWORD dwDestContext,
1525 void *pvDestContext,
1526 CLSID *pClsid) = 0;
1527
1528};
1529#ifdef __CRT_UUID_DECL
1530__CRT_UUID_DECL(IStdMarshalInfo, 0x00000018, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
1531#endif
1532#else
1533typedef struct IStdMarshalInfoVtbl {
1534 BEGIN_INTERFACE
1535
1536 /*** IUnknown methods ***/
1537 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1538 IStdMarshalInfo *This,
1539 REFIID riid,
1540 void **ppvObject);
1541
1542 ULONG (STDMETHODCALLTYPE *AddRef)(
1543 IStdMarshalInfo *This);
1544
1545 ULONG (STDMETHODCALLTYPE *Release)(
1546 IStdMarshalInfo *This);
1547
1548 /*** IStdMarshalInfo methods ***/
1549 HRESULT (STDMETHODCALLTYPE *GetClassForHandler)(
1550 IStdMarshalInfo *This,
1551 DWORD dwDestContext,
1552 void *pvDestContext,
1553 CLSID *pClsid);
1554
1555 END_INTERFACE
1556} IStdMarshalInfoVtbl;
1557
1558interface IStdMarshalInfo {
1559 CONST_VTBL IStdMarshalInfoVtbl* lpVtbl;
1560};
1561
1562#ifdef COBJMACROS
1563#ifndef WIDL_C_INLINE_WRAPPERS
1564/*** IUnknown methods ***/
1565#define IStdMarshalInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1566#define IStdMarshalInfo_AddRef(This) (This)->lpVtbl->AddRef(This)
1567#define IStdMarshalInfo_Release(This) (This)->lpVtbl->Release(This)
1568/*** IStdMarshalInfo methods ***/
1569#define IStdMarshalInfo_GetClassForHandler(This,dwDestContext,pvDestContext,pClsid) (This)->lpVtbl->GetClassForHandler(This,dwDestContext,pvDestContext,pClsid)
1570#else
1571/*** IUnknown methods ***/
1572static inline HRESULT IStdMarshalInfo_QueryInterface(IStdMarshalInfo* This,REFIID riid,void **ppvObject) {
1573 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1574}
1575static inline ULONG IStdMarshalInfo_AddRef(IStdMarshalInfo* This) {
1576 return This->lpVtbl->AddRef(This);
1577}
1578static inline ULONG IStdMarshalInfo_Release(IStdMarshalInfo* This) {
1579 return This->lpVtbl->Release(This);
1580}
1581/*** IStdMarshalInfo methods ***/
1582static inline HRESULT IStdMarshalInfo_GetClassForHandler(IStdMarshalInfo* This,DWORD dwDestContext,void *pvDestContext,CLSID *pClsid) {
1583 return This->lpVtbl->GetClassForHandler(This,dwDestContext,pvDestContext,pClsid);
1584}
1585#endif
1586#endif
1587
1588#endif
1589
1590
1591#endif /* __IStdMarshalInfo_INTERFACE_DEFINED__ */
1592
1593
1594/*****************************************************************************
1595 * IExternalConnection interface
1596 */
1597#ifndef __IExternalConnection_INTERFACE_DEFINED__
1598#define __IExternalConnection_INTERFACE_DEFINED__
1599
1600typedef IExternalConnection *LPEXTERNALCONNECTION;
1601
1602typedef enum tagEXTCONN {
1603 EXTCONN_STRONG = 0x1,
1604 EXTCONN_WEAK = 0x2,
1605 EXTCONN_CALLABLE = 0x4
1606} EXTCONN;
1607
1608DEFINE_GUID(IID_IExternalConnection, 0x00000019, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
1609#if defined(__cplusplus) && !defined(CINTERFACE)
1610MIDL_INTERFACE("00000019-0000-0000-c000-000000000046")
1611IExternalConnection : public IUnknown
1612{
1613 virtual DWORD STDMETHODCALLTYPE AddConnection(
1614 DWORD extconn,
1615 DWORD reserved) = 0;
1616
1617 virtual DWORD STDMETHODCALLTYPE ReleaseConnection(
1618 DWORD extconn,
1619 DWORD reserved,
1620 WINBOOL fLastReleaseCloses) = 0;
1621
1622};
1623#ifdef __CRT_UUID_DECL
1624__CRT_UUID_DECL(IExternalConnection, 0x00000019, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
1625#endif
1626#else
1627typedef struct IExternalConnectionVtbl {
1628 BEGIN_INTERFACE
1629
1630 /*** IUnknown methods ***/
1631 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1632 IExternalConnection *This,
1633 REFIID riid,
1634 void **ppvObject);
1635
1636 ULONG (STDMETHODCALLTYPE *AddRef)(
1637 IExternalConnection *This);
1638
1639 ULONG (STDMETHODCALLTYPE *Release)(
1640 IExternalConnection *This);
1641
1642 /*** IExternalConnection methods ***/
1643 DWORD (STDMETHODCALLTYPE *AddConnection)(
1644 IExternalConnection *This,
1645 DWORD extconn,
1646 DWORD reserved);
1647
1648 DWORD (STDMETHODCALLTYPE *ReleaseConnection)(
1649 IExternalConnection *This,
1650 DWORD extconn,
1651 DWORD reserved,
1652 WINBOOL fLastReleaseCloses);
1653
1654 END_INTERFACE
1655} IExternalConnectionVtbl;
1656
1657interface IExternalConnection {
1658 CONST_VTBL IExternalConnectionVtbl* lpVtbl;
1659};
1660
1661#ifdef COBJMACROS
1662#ifndef WIDL_C_INLINE_WRAPPERS
1663/*** IUnknown methods ***/
1664#define IExternalConnection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1665#define IExternalConnection_AddRef(This) (This)->lpVtbl->AddRef(This)
1666#define IExternalConnection_Release(This) (This)->lpVtbl->Release(This)
1667/*** IExternalConnection methods ***/
1668#define IExternalConnection_AddConnection(This,extconn,reserved) (This)->lpVtbl->AddConnection(This,extconn,reserved)
1669#define IExternalConnection_ReleaseConnection(This,extconn,reserved,fLastReleaseCloses) (This)->lpVtbl->ReleaseConnection(This,extconn,reserved,fLastReleaseCloses)
1670#else
1671/*** IUnknown methods ***/
1672static inline HRESULT IExternalConnection_QueryInterface(IExternalConnection* This,REFIID riid,void **ppvObject) {
1673 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1674}
1675static inline ULONG IExternalConnection_AddRef(IExternalConnection* This) {
1676 return This->lpVtbl->AddRef(This);
1677}
1678static inline ULONG IExternalConnection_Release(IExternalConnection* This) {
1679 return This->lpVtbl->Release(This);
1680}
1681/*** IExternalConnection methods ***/
1682static inline DWORD IExternalConnection_AddConnection(IExternalConnection* This,DWORD extconn,DWORD reserved) {
1683 return This->lpVtbl->AddConnection(This,extconn,reserved);
1684}
1685static inline DWORD IExternalConnection_ReleaseConnection(IExternalConnection* This,DWORD extconn,DWORD reserved,WINBOOL fLastReleaseCloses) {
1686 return This->lpVtbl->ReleaseConnection(This,extconn,reserved,fLastReleaseCloses);
1687}
1688#endif
1689#endif
1690
1691#endif
1692
1693
1694#endif /* __IExternalConnection_INTERFACE_DEFINED__ */
1695
1696
1697typedef IMultiQI *LPMULTIQI;
1698#endif
1699
1700#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
1701typedef struct tagMULTI_QI {
1702 const IID *pIID;
1703 IUnknown *pItf;
1704 HRESULT hr;
1705} MULTI_QI;
1706
1707/*****************************************************************************
1708 * IMultiQI interface
1709 */
1710#ifndef __IMultiQI_INTERFACE_DEFINED__
1711#define __IMultiQI_INTERFACE_DEFINED__
1712
1713DEFINE_GUID(IID_IMultiQI, 0x00000020, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
1714#if defined(__cplusplus) && !defined(CINTERFACE)
1715MIDL_INTERFACE("00000020-0000-0000-c000-000000000046")
1716IMultiQI : public IUnknown
1717{
1718 virtual HRESULT STDMETHODCALLTYPE QueryMultipleInterfaces(
1719 ULONG cMQIs,
1720 MULTI_QI *pMQIs) = 0;
1721
1722};
1723#ifdef __CRT_UUID_DECL
1724__CRT_UUID_DECL(IMultiQI, 0x00000020, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
1725#endif
1726#else
1727typedef struct IMultiQIVtbl {
1728 BEGIN_INTERFACE
1729
1730 /*** IUnknown methods ***/
1731 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1732 IMultiQI *This,
1733 REFIID riid,
1734 void **ppvObject);
1735
1736 ULONG (STDMETHODCALLTYPE *AddRef)(
1737 IMultiQI *This);
1738
1739 ULONG (STDMETHODCALLTYPE *Release)(
1740 IMultiQI *This);
1741
1742 /*** IMultiQI methods ***/
1743 HRESULT (STDMETHODCALLTYPE *QueryMultipleInterfaces)(
1744 IMultiQI *This,
1745 ULONG cMQIs,
1746 MULTI_QI *pMQIs);
1747
1748 END_INTERFACE
1749} IMultiQIVtbl;
1750
1751interface IMultiQI {
1752 CONST_VTBL IMultiQIVtbl* lpVtbl;
1753};
1754
1755#ifdef COBJMACROS
1756#ifndef WIDL_C_INLINE_WRAPPERS
1757/*** IUnknown methods ***/
1758#define IMultiQI_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1759#define IMultiQI_AddRef(This) (This)->lpVtbl->AddRef(This)
1760#define IMultiQI_Release(This) (This)->lpVtbl->Release(This)
1761/*** IMultiQI methods ***/
1762#define IMultiQI_QueryMultipleInterfaces(This,cMQIs,pMQIs) (This)->lpVtbl->QueryMultipleInterfaces(This,cMQIs,pMQIs)
1763#else
1764/*** IUnknown methods ***/
1765static inline HRESULT IMultiQI_QueryInterface(IMultiQI* This,REFIID riid,void **ppvObject) {
1766 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1767}
1768static inline ULONG IMultiQI_AddRef(IMultiQI* This) {
1769 return This->lpVtbl->AddRef(This);
1770}
1771static inline ULONG IMultiQI_Release(IMultiQI* This) {
1772 return This->lpVtbl->Release(This);
1773}
1774/*** IMultiQI methods ***/
1775static inline HRESULT IMultiQI_QueryMultipleInterfaces(IMultiQI* This,ULONG cMQIs,MULTI_QI *pMQIs) {
1776 return This->lpVtbl->QueryMultipleInterfaces(This,cMQIs,pMQIs);
1777}
1778#endif
1779#endif
1780
1781#endif
1782
1783
1784#endif /* __IMultiQI_INTERFACE_DEFINED__ */
1785
1786/*****************************************************************************
1787 * AsyncIMultiQI interface
1788 */
1789#ifndef __AsyncIMultiQI_INTERFACE_DEFINED__
1790#define __AsyncIMultiQI_INTERFACE_DEFINED__
1791
1792DEFINE_GUID(IID_AsyncIMultiQI, 0x000e0020, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
1793#if defined(__cplusplus) && !defined(CINTERFACE)
1794MIDL_INTERFACE("000e0020-0000-0000-c000-000000000046")
1795AsyncIMultiQI : public IUnknown
1796{
1797 virtual HRESULT STDMETHODCALLTYPE Begin_QueryMultipleInterfaces(
1798 ULONG cMQIs,
1799 MULTI_QI *pMQIs) = 0;
1800
1801 virtual HRESULT STDMETHODCALLTYPE Finish_QueryMultipleInterfaces(
1802 MULTI_QI *pMQIs) = 0;
1803
1804};
1805#ifdef __CRT_UUID_DECL
1806__CRT_UUID_DECL(AsyncIMultiQI, 0x000e0020, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
1807#endif
1808#else
1809typedef struct AsyncIMultiQIVtbl {
1810 BEGIN_INTERFACE
1811
1812 /*** IUnknown methods ***/
1813 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1814 AsyncIMultiQI *This,
1815 REFIID riid,
1816 void **ppvObject);
1817
1818 ULONG (STDMETHODCALLTYPE *AddRef)(
1819 AsyncIMultiQI *This);
1820
1821 ULONG (STDMETHODCALLTYPE *Release)(
1822 AsyncIMultiQI *This);
1823
1824 /*** AsyncIMultiQI methods ***/
1825 HRESULT (STDMETHODCALLTYPE *Begin_QueryMultipleInterfaces)(
1826 AsyncIMultiQI *This,
1827 ULONG cMQIs,
1828 MULTI_QI *pMQIs);
1829
1830 HRESULT (STDMETHODCALLTYPE *Finish_QueryMultipleInterfaces)(
1831 AsyncIMultiQI *This,
1832 MULTI_QI *pMQIs);
1833
1834 END_INTERFACE
1835} AsyncIMultiQIVtbl;
1836
1837interface AsyncIMultiQI {
1838 CONST_VTBL AsyncIMultiQIVtbl* lpVtbl;
1839};
1840
1841#ifdef COBJMACROS
1842#ifndef WIDL_C_INLINE_WRAPPERS
1843/*** IUnknown methods ***/
1844#define AsyncIMultiQI_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1845#define AsyncIMultiQI_AddRef(This) (This)->lpVtbl->AddRef(This)
1846#define AsyncIMultiQI_Release(This) (This)->lpVtbl->Release(This)
1847/*** AsyncIMultiQI methods ***/
1848#define AsyncIMultiQI_Begin_QueryMultipleInterfaces(This,cMQIs,pMQIs) (This)->lpVtbl->Begin_QueryMultipleInterfaces(This,cMQIs,pMQIs)
1849#define AsyncIMultiQI_Finish_QueryMultipleInterfaces(This,pMQIs) (This)->lpVtbl->Finish_QueryMultipleInterfaces(This,pMQIs)
1850#else
1851/*** IUnknown methods ***/
1852static inline HRESULT AsyncIMultiQI_QueryInterface(AsyncIMultiQI* This,REFIID riid,void **ppvObject) {
1853 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1854}
1855static inline ULONG AsyncIMultiQI_AddRef(AsyncIMultiQI* This) {
1856 return This->lpVtbl->AddRef(This);
1857}
1858static inline ULONG AsyncIMultiQI_Release(AsyncIMultiQI* This) {
1859 return This->lpVtbl->Release(This);
1860}
1861/*** AsyncIMultiQI methods ***/
1862static inline HRESULT AsyncIMultiQI_Begin_QueryMultipleInterfaces(AsyncIMultiQI* This,ULONG cMQIs,MULTI_QI *pMQIs) {
1863 return This->lpVtbl->Begin_QueryMultipleInterfaces(This,cMQIs,pMQIs);
1864}
1865static inline HRESULT AsyncIMultiQI_Finish_QueryMultipleInterfaces(AsyncIMultiQI* This,MULTI_QI *pMQIs) {
1866 return This->lpVtbl->Finish_QueryMultipleInterfaces(This,pMQIs);
1867}
1868#endif
1869#endif
1870
1871#endif
1872
1873
1874#endif /* __AsyncIMultiQI_INTERFACE_DEFINED__ */
1875
1876#endif
1877
1878#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
1879/*****************************************************************************
1880 * IInternalUnknown interface
1881 */
1882#ifndef __IInternalUnknown_INTERFACE_DEFINED__
1883#define __IInternalUnknown_INTERFACE_DEFINED__
1884
1885DEFINE_GUID(IID_IInternalUnknown, 0x00000021, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
1886#if defined(__cplusplus) && !defined(CINTERFACE)
1887MIDL_INTERFACE("00000021-0000-0000-c000-000000000046")
1888IInternalUnknown : public IUnknown
1889{
1890 virtual HRESULT STDMETHODCALLTYPE QueryInternalInterface(
1891 REFIID riid,
1892 void **ppv) = 0;
1893
1894};
1895#ifdef __CRT_UUID_DECL
1896__CRT_UUID_DECL(IInternalUnknown, 0x00000021, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
1897#endif
1898#else
1899typedef struct IInternalUnknownVtbl {
1900 BEGIN_INTERFACE
1901
1902 /*** IUnknown methods ***/
1903 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1904 IInternalUnknown *This,
1905 REFIID riid,
1906 void **ppvObject);
1907
1908 ULONG (STDMETHODCALLTYPE *AddRef)(
1909 IInternalUnknown *This);
1910
1911 ULONG (STDMETHODCALLTYPE *Release)(
1912 IInternalUnknown *This);
1913
1914 /*** IInternalUnknown methods ***/
1915 HRESULT (STDMETHODCALLTYPE *QueryInternalInterface)(
1916 IInternalUnknown *This,
1917 REFIID riid,
1918 void **ppv);
1919
1920 END_INTERFACE
1921} IInternalUnknownVtbl;
1922
1923interface IInternalUnknown {
1924 CONST_VTBL IInternalUnknownVtbl* lpVtbl;
1925};
1926
1927#ifdef COBJMACROS
1928#ifndef WIDL_C_INLINE_WRAPPERS
1929/*** IUnknown methods ***/
1930#define IInternalUnknown_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1931#define IInternalUnknown_AddRef(This) (This)->lpVtbl->AddRef(This)
1932#define IInternalUnknown_Release(This) (This)->lpVtbl->Release(This)
1933/*** IInternalUnknown methods ***/
1934#define IInternalUnknown_QueryInternalInterface(This,riid,ppv) (This)->lpVtbl->QueryInternalInterface(This,riid,ppv)
1935#else
1936/*** IUnknown methods ***/
1937static inline HRESULT IInternalUnknown_QueryInterface(IInternalUnknown* This,REFIID riid,void **ppvObject) {
1938 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1939}
1940static inline ULONG IInternalUnknown_AddRef(IInternalUnknown* This) {
1941 return This->lpVtbl->AddRef(This);
1942}
1943static inline ULONG IInternalUnknown_Release(IInternalUnknown* This) {
1944 return This->lpVtbl->Release(This);
1945}
1946/*** IInternalUnknown methods ***/
1947static inline HRESULT IInternalUnknown_QueryInternalInterface(IInternalUnknown* This,REFIID riid,void **ppv) {
1948 return This->lpVtbl->QueryInternalInterface(This,riid,ppv);
1949}
1950#endif
1951#endif
1952
1953#endif
1954
1955
1956#endif /* __IInternalUnknown_INTERFACE_DEFINED__ */
1957
1958#endif
1959
1960#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
1961/*****************************************************************************
1962 * IEnumUnknown interface
1963 */
1964#ifndef __IEnumUnknown_INTERFACE_DEFINED__
1965#define __IEnumUnknown_INTERFACE_DEFINED__
1966
1967typedef IEnumUnknown *LPENUMUNKNOWN;
1968
1969DEFINE_GUID(IID_IEnumUnknown, 0x00000100, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
1970#if defined(__cplusplus) && !defined(CINTERFACE)
1971MIDL_INTERFACE("00000100-0000-0000-c000-000000000046")
1972IEnumUnknown : public IUnknown
1973{
1974 virtual HRESULT STDMETHODCALLTYPE Next(
1975 ULONG celt,
1976 IUnknown **rgelt,
1977 ULONG *pceltFetched) = 0;
1978
1979 virtual HRESULT STDMETHODCALLTYPE Skip(
1980 ULONG celt) = 0;
1981
1982 virtual HRESULT STDMETHODCALLTYPE Reset(
1983 ) = 0;
1984
1985 virtual HRESULT STDMETHODCALLTYPE Clone(
1986 IEnumUnknown **ppenum) = 0;
1987
1988};
1989#ifdef __CRT_UUID_DECL
1990__CRT_UUID_DECL(IEnumUnknown, 0x00000100, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
1991#endif
1992#else
1993typedef struct IEnumUnknownVtbl {
1994 BEGIN_INTERFACE
1995
1996 /*** IUnknown methods ***/
1997 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1998 IEnumUnknown *This,
1999 REFIID riid,
2000 void **ppvObject);
2001
2002 ULONG (STDMETHODCALLTYPE *AddRef)(
2003 IEnumUnknown *This);
2004
2005 ULONG (STDMETHODCALLTYPE *Release)(
2006 IEnumUnknown *This);
2007
2008 /*** IEnumUnknown methods ***/
2009 HRESULT (STDMETHODCALLTYPE *Next)(
2010 IEnumUnknown *This,
2011 ULONG celt,
2012 IUnknown **rgelt,
2013 ULONG *pceltFetched);
2014
2015 HRESULT (STDMETHODCALLTYPE *Skip)(
2016 IEnumUnknown *This,
2017 ULONG celt);
2018
2019 HRESULT (STDMETHODCALLTYPE *Reset)(
2020 IEnumUnknown *This);
2021
2022 HRESULT (STDMETHODCALLTYPE *Clone)(
2023 IEnumUnknown *This,
2024 IEnumUnknown **ppenum);
2025
2026 END_INTERFACE
2027} IEnumUnknownVtbl;
2028
2029interface IEnumUnknown {
2030 CONST_VTBL IEnumUnknownVtbl* lpVtbl;
2031};
2032
2033#ifdef COBJMACROS
2034#ifndef WIDL_C_INLINE_WRAPPERS
2035/*** IUnknown methods ***/
2036#define IEnumUnknown_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2037#define IEnumUnknown_AddRef(This) (This)->lpVtbl->AddRef(This)
2038#define IEnumUnknown_Release(This) (This)->lpVtbl->Release(This)
2039/*** IEnumUnknown methods ***/
2040#define IEnumUnknown_Next(This,celt,rgelt,pceltFetched) (This)->lpVtbl->Next(This,celt,rgelt,pceltFetched)
2041#define IEnumUnknown_Skip(This,celt) (This)->lpVtbl->Skip(This,celt)
2042#define IEnumUnknown_Reset(This) (This)->lpVtbl->Reset(This)
2043#define IEnumUnknown_Clone(This,ppenum) (This)->lpVtbl->Clone(This,ppenum)
2044#else
2045/*** IUnknown methods ***/
2046static inline HRESULT IEnumUnknown_QueryInterface(IEnumUnknown* This,REFIID riid,void **ppvObject) {
2047 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2048}
2049static inline ULONG IEnumUnknown_AddRef(IEnumUnknown* This) {
2050 return This->lpVtbl->AddRef(This);
2051}
2052static inline ULONG IEnumUnknown_Release(IEnumUnknown* This) {
2053 return This->lpVtbl->Release(This);
2054}
2055/*** IEnumUnknown methods ***/
2056static inline HRESULT IEnumUnknown_Next(IEnumUnknown* This,ULONG celt,IUnknown **rgelt,ULONG *pceltFetched) {
2057 return This->lpVtbl->Next(This,celt,rgelt,pceltFetched);
2058}
2059static inline HRESULT IEnumUnknown_Skip(IEnumUnknown* This,ULONG celt) {
2060 return This->lpVtbl->Skip(This,celt);
2061}
2062static inline HRESULT IEnumUnknown_Reset(IEnumUnknown* This) {
2063 return This->lpVtbl->Reset(This);
2064}
2065static inline HRESULT IEnumUnknown_Clone(IEnumUnknown* This,IEnumUnknown **ppenum) {
2066 return This->lpVtbl->Clone(This,ppenum);
2067}
2068#endif
2069#endif
2070
2071#endif
2072
2073HRESULT STDMETHODCALLTYPE IEnumUnknown_RemoteNext_Proxy(
2074 IEnumUnknown* This,
2075 ULONG celt,
2076 IUnknown **rgelt,
2077 ULONG *pceltFetched);
2078void __RPC_STUB IEnumUnknown_RemoteNext_Stub(
2079 IRpcStubBuffer* This,
2080 IRpcChannelBuffer* pRpcChannelBuffer,
2081 PRPC_MESSAGE pRpcMessage,
2082 DWORD* pdwStubPhase);
2083HRESULT CALLBACK IEnumUnknown_Next_Proxy(
2084 IEnumUnknown* This,
2085 ULONG celt,
2086 IUnknown **rgelt,
2087 ULONG *pceltFetched);
2088HRESULT __RPC_STUB IEnumUnknown_Next_Stub(
2089 IEnumUnknown* This,
2090 ULONG celt,
2091 IUnknown **rgelt,
2092 ULONG *pceltFetched);
2093
2094#endif /* __IEnumUnknown_INTERFACE_DEFINED__ */
2095
2096
2097/*****************************************************************************
2098 * IEnumString interface
2099 */
2100#ifndef __IEnumString_INTERFACE_DEFINED__
2101#define __IEnumString_INTERFACE_DEFINED__
2102
2103typedef IEnumString *LPENUMSTRING;
2104
2105DEFINE_GUID(IID_IEnumString, 0x00000101, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
2106#if defined(__cplusplus) && !defined(CINTERFACE)
2107MIDL_INTERFACE("00000101-0000-0000-c000-000000000046")
2108IEnumString : public IUnknown
2109{
2110 virtual HRESULT STDMETHODCALLTYPE Next(
2111 ULONG celt,
2112 LPOLESTR *rgelt,
2113 ULONG *pceltFetched) = 0;
2114
2115 virtual HRESULT STDMETHODCALLTYPE Skip(
2116 ULONG celt) = 0;
2117
2118 virtual HRESULT STDMETHODCALLTYPE Reset(
2119 ) = 0;
2120
2121 virtual HRESULT STDMETHODCALLTYPE Clone(
2122 IEnumString **ppenum) = 0;
2123
2124};
2125#ifdef __CRT_UUID_DECL
2126__CRT_UUID_DECL(IEnumString, 0x00000101, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
2127#endif
2128#else
2129typedef struct IEnumStringVtbl {
2130 BEGIN_INTERFACE
2131
2132 /*** IUnknown methods ***/
2133 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2134 IEnumString *This,
2135 REFIID riid,
2136 void **ppvObject);
2137
2138 ULONG (STDMETHODCALLTYPE *AddRef)(
2139 IEnumString *This);
2140
2141 ULONG (STDMETHODCALLTYPE *Release)(
2142 IEnumString *This);
2143
2144 /*** IEnumString methods ***/
2145 HRESULT (STDMETHODCALLTYPE *Next)(
2146 IEnumString *This,
2147 ULONG celt,
2148 LPOLESTR *rgelt,
2149 ULONG *pceltFetched);
2150
2151 HRESULT (STDMETHODCALLTYPE *Skip)(
2152 IEnumString *This,
2153 ULONG celt);
2154
2155 HRESULT (STDMETHODCALLTYPE *Reset)(
2156 IEnumString *This);
2157
2158 HRESULT (STDMETHODCALLTYPE *Clone)(
2159 IEnumString *This,
2160 IEnumString **ppenum);
2161
2162 END_INTERFACE
2163} IEnumStringVtbl;
2164
2165interface IEnumString {
2166 CONST_VTBL IEnumStringVtbl* lpVtbl;
2167};
2168
2169#ifdef COBJMACROS
2170#ifndef WIDL_C_INLINE_WRAPPERS
2171/*** IUnknown methods ***/
2172#define IEnumString_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2173#define IEnumString_AddRef(This) (This)->lpVtbl->AddRef(This)
2174#define IEnumString_Release(This) (This)->lpVtbl->Release(This)
2175/*** IEnumString methods ***/
2176#define IEnumString_Next(This,celt,rgelt,pceltFetched) (This)->lpVtbl->Next(This,celt,rgelt,pceltFetched)
2177#define IEnumString_Skip(This,celt) (This)->lpVtbl->Skip(This,celt)
2178#define IEnumString_Reset(This) (This)->lpVtbl->Reset(This)
2179#define IEnumString_Clone(This,ppenum) (This)->lpVtbl->Clone(This,ppenum)
2180#else
2181/*** IUnknown methods ***/
2182static inline HRESULT IEnumString_QueryInterface(IEnumString* This,REFIID riid,void **ppvObject) {
2183 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2184}
2185static inline ULONG IEnumString_AddRef(IEnumString* This) {
2186 return This->lpVtbl->AddRef(This);
2187}
2188static inline ULONG IEnumString_Release(IEnumString* This) {
2189 return This->lpVtbl->Release(This);
2190}
2191/*** IEnumString methods ***/
2192static inline HRESULT IEnumString_Next(IEnumString* This,ULONG celt,LPOLESTR *rgelt,ULONG *pceltFetched) {
2193 return This->lpVtbl->Next(This,celt,rgelt,pceltFetched);
2194}
2195static inline HRESULT IEnumString_Skip(IEnumString* This,ULONG celt) {
2196 return This->lpVtbl->Skip(This,celt);
2197}
2198static inline HRESULT IEnumString_Reset(IEnumString* This) {
2199 return This->lpVtbl->Reset(This);
2200}
2201static inline HRESULT IEnumString_Clone(IEnumString* This,IEnumString **ppenum) {
2202 return This->lpVtbl->Clone(This,ppenum);
2203}
2204#endif
2205#endif
2206
2207#endif
2208
2209HRESULT STDMETHODCALLTYPE IEnumString_RemoteNext_Proxy(
2210 IEnumString* This,
2211 ULONG celt,
2212 LPOLESTR *rgelt,
2213 ULONG *pceltFetched);
2214void __RPC_STUB IEnumString_RemoteNext_Stub(
2215 IRpcStubBuffer* This,
2216 IRpcChannelBuffer* pRpcChannelBuffer,
2217 PRPC_MESSAGE pRpcMessage,
2218 DWORD* pdwStubPhase);
2219HRESULT CALLBACK IEnumString_Next_Proxy(
2220 IEnumString* This,
2221 ULONG celt,
2222 LPOLESTR *rgelt,
2223 ULONG *pceltFetched);
2224HRESULT __RPC_STUB IEnumString_Next_Stub(
2225 IEnumString* This,
2226 ULONG celt,
2227 LPOLESTR *rgelt,
2228 ULONG *pceltFetched);
2229
2230#endif /* __IEnumString_INTERFACE_DEFINED__ */
2231
2232
2233/*****************************************************************************
2234 * ISequentialStream interface
2235 */
2236#ifndef __ISequentialStream_INTERFACE_DEFINED__
2237#define __ISequentialStream_INTERFACE_DEFINED__
2238
2239DEFINE_GUID(IID_ISequentialStream, 0x0c733a30, 0x2a1c, 0x11ce, 0xad,0xe5, 0x00,0xaa,0x00,0x44,0x77,0x3d);
2240#if defined(__cplusplus) && !defined(CINTERFACE)
2241MIDL_INTERFACE("0c733a30-2a1c-11ce-ade5-00aa0044773d")
2242ISequentialStream : public IUnknown
2243{
2244 virtual HRESULT STDMETHODCALLTYPE Read(
2245 void *pv,
2246 ULONG cb,
2247 ULONG *pcbRead) = 0;
2248
2249 virtual HRESULT STDMETHODCALLTYPE Write(
2250 const void *pv,
2251 ULONG cb,
2252 ULONG *pcbWritten) = 0;
2253
2254};
2255#ifdef __CRT_UUID_DECL
2256__CRT_UUID_DECL(ISequentialStream, 0x0c733a30, 0x2a1c, 0x11ce, 0xad,0xe5, 0x00,0xaa,0x00,0x44,0x77,0x3d)
2257#endif
2258#else
2259typedef struct ISequentialStreamVtbl {
2260 BEGIN_INTERFACE
2261
2262 /*** IUnknown methods ***/
2263 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2264 ISequentialStream *This,
2265 REFIID riid,
2266 void **ppvObject);
2267
2268 ULONG (STDMETHODCALLTYPE *AddRef)(
2269 ISequentialStream *This);
2270
2271 ULONG (STDMETHODCALLTYPE *Release)(
2272 ISequentialStream *This);
2273
2274 /*** ISequentialStream methods ***/
2275 HRESULT (STDMETHODCALLTYPE *Read)(
2276 ISequentialStream *This,
2277 void *pv,
2278 ULONG cb,
2279 ULONG *pcbRead);
2280
2281 HRESULT (STDMETHODCALLTYPE *Write)(
2282 ISequentialStream *This,
2283 const void *pv,
2284 ULONG cb,
2285 ULONG *pcbWritten);
2286
2287 END_INTERFACE
2288} ISequentialStreamVtbl;
2289
2290interface ISequentialStream {
2291 CONST_VTBL ISequentialStreamVtbl* lpVtbl;
2292};
2293
2294#ifdef COBJMACROS
2295#ifndef WIDL_C_INLINE_WRAPPERS
2296/*** IUnknown methods ***/
2297#define ISequentialStream_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2298#define ISequentialStream_AddRef(This) (This)->lpVtbl->AddRef(This)
2299#define ISequentialStream_Release(This) (This)->lpVtbl->Release(This)
2300/*** ISequentialStream methods ***/
2301#define ISequentialStream_Read(This,pv,cb,pcbRead) (This)->lpVtbl->Read(This,pv,cb,pcbRead)
2302#define ISequentialStream_Write(This,pv,cb,pcbWritten) (This)->lpVtbl->Write(This,pv,cb,pcbWritten)
2303#else
2304/*** IUnknown methods ***/
2305static inline HRESULT ISequentialStream_QueryInterface(ISequentialStream* This,REFIID riid,void **ppvObject) {
2306 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2307}
2308static inline ULONG ISequentialStream_AddRef(ISequentialStream* This) {
2309 return This->lpVtbl->AddRef(This);
2310}
2311static inline ULONG ISequentialStream_Release(ISequentialStream* This) {
2312 return This->lpVtbl->Release(This);
2313}
2314/*** ISequentialStream methods ***/
2315static inline HRESULT ISequentialStream_Read(ISequentialStream* This,void *pv,ULONG cb,ULONG *pcbRead) {
2316 return This->lpVtbl->Read(This,pv,cb,pcbRead);
2317}
2318static inline HRESULT ISequentialStream_Write(ISequentialStream* This,const void *pv,ULONG cb,ULONG *pcbWritten) {
2319 return This->lpVtbl->Write(This,pv,cb,pcbWritten);
2320}
2321#endif
2322#endif
2323
2324#endif
2325
2326HRESULT STDMETHODCALLTYPE ISequentialStream_RemoteRead_Proxy(
2327 ISequentialStream* This,
2328 byte *pv,
2329 ULONG cb,
2330 ULONG *pcbRead);
2331void __RPC_STUB ISequentialStream_RemoteRead_Stub(
2332 IRpcStubBuffer* This,
2333 IRpcChannelBuffer* pRpcChannelBuffer,
2334 PRPC_MESSAGE pRpcMessage,
2335 DWORD* pdwStubPhase);
2336HRESULT STDMETHODCALLTYPE ISequentialStream_RemoteWrite_Proxy(
2337 ISequentialStream* This,
2338 const byte *pv,
2339 ULONG cb,
2340 ULONG *pcbWritten);
2341void __RPC_STUB ISequentialStream_RemoteWrite_Stub(
2342 IRpcStubBuffer* This,
2343 IRpcChannelBuffer* pRpcChannelBuffer,
2344 PRPC_MESSAGE pRpcMessage,
2345 DWORD* pdwStubPhase);
2346HRESULT CALLBACK ISequentialStream_Read_Proxy(
2347 ISequentialStream* This,
2348 void *pv,
2349 ULONG cb,
2350 ULONG *pcbRead);
2351HRESULT __RPC_STUB ISequentialStream_Read_Stub(
2352 ISequentialStream* This,
2353 byte *pv,
2354 ULONG cb,
2355 ULONG *pcbRead);
2356HRESULT CALLBACK ISequentialStream_Write_Proxy(
2357 ISequentialStream* This,
2358 const void *pv,
2359 ULONG cb,
2360 ULONG *pcbWritten);
2361HRESULT __RPC_STUB ISequentialStream_Write_Stub(
2362 ISequentialStream* This,
2363 const byte *pv,
2364 ULONG cb,
2365 ULONG *pcbWritten);
2366
2367#endif /* __ISequentialStream_INTERFACE_DEFINED__ */
2368
2369
2370/*****************************************************************************
2371 * IStream interface
2372 */
2373#ifndef __IStream_INTERFACE_DEFINED__
2374#define __IStream_INTERFACE_DEFINED__
2375
2376typedef IStream *LPSTREAM;
2377
2378typedef struct tagSTATSTG {
2379 LPOLESTR pwcsName;
2380 DWORD type;
2381 ULARGE_INTEGER cbSize;
2382 FILETIME mtime;
2383 FILETIME ctime;
2384 FILETIME atime;
2385 DWORD grfMode;
2386 DWORD grfLocksSupported;
2387 CLSID clsid;
2388 DWORD grfStateBits;
2389 DWORD reserved;
2390} STATSTG;
2391
2392typedef enum tagSTGTY {
2393 STGTY_STORAGE = 1,
2394 STGTY_STREAM = 2,
2395 STGTY_LOCKBYTES = 3,
2396 STGTY_PROPERTY = 4
2397} STGTY;
2398
2399typedef enum tagSTREAM_SEEK {
2400 STREAM_SEEK_SET = 0,
2401 STREAM_SEEK_CUR = 1,
2402 STREAM_SEEK_END = 2
2403} STREAM_SEEK;
2404
2405typedef enum tagLOCKTYPE {
2406 LOCK_WRITE = 1,
2407 LOCK_EXCLUSIVE = 2,
2408 LOCK_ONLYONCE = 4
2409} LOCKTYPE;
2410
2411DEFINE_GUID(IID_IStream, 0x0000000c, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
2412#if defined(__cplusplus) && !defined(CINTERFACE)
2413MIDL_INTERFACE("0000000c-0000-0000-c000-000000000046")
2414IStream : public ISequentialStream
2415{
2416 virtual HRESULT STDMETHODCALLTYPE Seek(
2417 LARGE_INTEGER dlibMove,
2418 DWORD dwOrigin,
2419 ULARGE_INTEGER *plibNewPosition) = 0;
2420
2421 virtual HRESULT STDMETHODCALLTYPE SetSize(
2422 ULARGE_INTEGER libNewSize) = 0;
2423
2424 virtual HRESULT STDMETHODCALLTYPE CopyTo(
2425 IStream *pstm,
2426 ULARGE_INTEGER cb,
2427 ULARGE_INTEGER *pcbRead,
2428 ULARGE_INTEGER *pcbWritten) = 0;
2429
2430 virtual HRESULT STDMETHODCALLTYPE Commit(
2431 DWORD grfCommitFlags) = 0;
2432
2433 virtual HRESULT STDMETHODCALLTYPE Revert(
2434 ) = 0;
2435
2436 virtual HRESULT STDMETHODCALLTYPE LockRegion(
2437 ULARGE_INTEGER libOffset,
2438 ULARGE_INTEGER cb,
2439 DWORD dwLockType) = 0;
2440
2441 virtual HRESULT STDMETHODCALLTYPE UnlockRegion(
2442 ULARGE_INTEGER libOffset,
2443 ULARGE_INTEGER cb,
2444 DWORD dwLockType) = 0;
2445
2446 virtual HRESULT STDMETHODCALLTYPE Stat(
2447 STATSTG *pstatstg,
2448 DWORD grfStatFlag) = 0;
2449
2450 virtual HRESULT STDMETHODCALLTYPE Clone(
2451 IStream **ppstm) = 0;
2452
2453};
2454#ifdef __CRT_UUID_DECL
2455__CRT_UUID_DECL(IStream, 0x0000000c, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
2456#endif
2457#else
2458typedef struct IStreamVtbl {
2459 BEGIN_INTERFACE
2460
2461 /*** IUnknown methods ***/
2462 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2463 IStream *This,
2464 REFIID riid,
2465 void **ppvObject);
2466
2467 ULONG (STDMETHODCALLTYPE *AddRef)(
2468 IStream *This);
2469
2470 ULONG (STDMETHODCALLTYPE *Release)(
2471 IStream *This);
2472
2473 /*** ISequentialStream methods ***/
2474 HRESULT (STDMETHODCALLTYPE *Read)(
2475 IStream *This,
2476 void *pv,
2477 ULONG cb,
2478 ULONG *pcbRead);
2479
2480 HRESULT (STDMETHODCALLTYPE *Write)(
2481 IStream *This,
2482 const void *pv,
2483 ULONG cb,
2484 ULONG *pcbWritten);
2485
2486 /*** IStream methods ***/
2487 HRESULT (STDMETHODCALLTYPE *Seek)(
2488 IStream *This,
2489 LARGE_INTEGER dlibMove,
2490 DWORD dwOrigin,
2491 ULARGE_INTEGER *plibNewPosition);
2492
2493 HRESULT (STDMETHODCALLTYPE *SetSize)(
2494 IStream *This,
2495 ULARGE_INTEGER libNewSize);
2496
2497 HRESULT (STDMETHODCALLTYPE *CopyTo)(
2498 IStream *This,
2499 IStream *pstm,
2500 ULARGE_INTEGER cb,
2501 ULARGE_INTEGER *pcbRead,
2502 ULARGE_INTEGER *pcbWritten);
2503
2504 HRESULT (STDMETHODCALLTYPE *Commit)(
2505 IStream *This,
2506 DWORD grfCommitFlags);
2507
2508 HRESULT (STDMETHODCALLTYPE *Revert)(
2509 IStream *This);
2510
2511 HRESULT (STDMETHODCALLTYPE *LockRegion)(
2512 IStream *This,
2513 ULARGE_INTEGER libOffset,
2514 ULARGE_INTEGER cb,
2515 DWORD dwLockType);
2516
2517 HRESULT (STDMETHODCALLTYPE *UnlockRegion)(
2518 IStream *This,
2519 ULARGE_INTEGER libOffset,
2520 ULARGE_INTEGER cb,
2521 DWORD dwLockType);
2522
2523 HRESULT (STDMETHODCALLTYPE *Stat)(
2524 IStream *This,
2525 STATSTG *pstatstg,
2526 DWORD grfStatFlag);
2527
2528 HRESULT (STDMETHODCALLTYPE *Clone)(
2529 IStream *This,
2530 IStream **ppstm);
2531
2532 END_INTERFACE
2533} IStreamVtbl;
2534
2535interface IStream {
2536 CONST_VTBL IStreamVtbl* lpVtbl;
2537};
2538
2539#ifdef COBJMACROS
2540#ifndef WIDL_C_INLINE_WRAPPERS
2541/*** IUnknown methods ***/
2542#define IStream_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2543#define IStream_AddRef(This) (This)->lpVtbl->AddRef(This)
2544#define IStream_Release(This) (This)->lpVtbl->Release(This)
2545/*** ISequentialStream methods ***/
2546#define IStream_Read(This,pv,cb,pcbRead) (This)->lpVtbl->Read(This,pv,cb,pcbRead)
2547#define IStream_Write(This,pv,cb,pcbWritten) (This)->lpVtbl->Write(This,pv,cb,pcbWritten)
2548/*** IStream methods ***/
2549#define IStream_Seek(This,dlibMove,dwOrigin,plibNewPosition) (This)->lpVtbl->Seek(This,dlibMove,dwOrigin,plibNewPosition)
2550#define IStream_SetSize(This,libNewSize) (This)->lpVtbl->SetSize(This,libNewSize)
2551#define IStream_CopyTo(This,pstm,cb,pcbRead,pcbWritten) (This)->lpVtbl->CopyTo(This,pstm,cb,pcbRead,pcbWritten)
2552#define IStream_Commit(This,grfCommitFlags) (This)->lpVtbl->Commit(This,grfCommitFlags)
2553#define IStream_Revert(This) (This)->lpVtbl->Revert(This)
2554#define IStream_LockRegion(This,libOffset,cb,dwLockType) (This)->lpVtbl->LockRegion(This,libOffset,cb,dwLockType)
2555#define IStream_UnlockRegion(This,libOffset,cb,dwLockType) (This)->lpVtbl->UnlockRegion(This,libOffset,cb,dwLockType)
2556#define IStream_Stat(This,pstatstg,grfStatFlag) (This)->lpVtbl->Stat(This,pstatstg,grfStatFlag)
2557#define IStream_Clone(This,ppstm) (This)->lpVtbl->Clone(This,ppstm)
2558#else
2559/*** IUnknown methods ***/
2560static inline HRESULT IStream_QueryInterface(IStream* This,REFIID riid,void **ppvObject) {
2561 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2562}
2563static inline ULONG IStream_AddRef(IStream* This) {
2564 return This->lpVtbl->AddRef(This);
2565}
2566static inline ULONG IStream_Release(IStream* This) {
2567 return This->lpVtbl->Release(This);
2568}
2569/*** ISequentialStream methods ***/
2570static inline HRESULT IStream_Read(IStream* This,void *pv,ULONG cb,ULONG *pcbRead) {
2571 return This->lpVtbl->Read(This,pv,cb,pcbRead);
2572}
2573static inline HRESULT IStream_Write(IStream* This,const void *pv,ULONG cb,ULONG *pcbWritten) {
2574 return This->lpVtbl->Write(This,pv,cb,pcbWritten);
2575}
2576/*** IStream methods ***/
2577static inline HRESULT IStream_Seek(IStream* This,LARGE_INTEGER dlibMove,DWORD dwOrigin,ULARGE_INTEGER *plibNewPosition) {
2578 return This->lpVtbl->Seek(This,dlibMove,dwOrigin,plibNewPosition);
2579}
2580static inline HRESULT IStream_SetSize(IStream* This,ULARGE_INTEGER libNewSize) {
2581 return This->lpVtbl->SetSize(This,libNewSize);
2582}
2583static inline HRESULT IStream_CopyTo(IStream* This,IStream *pstm,ULARGE_INTEGER cb,ULARGE_INTEGER *pcbRead,ULARGE_INTEGER *pcbWritten) {
2584 return This->lpVtbl->CopyTo(This,pstm,cb,pcbRead,pcbWritten);
2585}
2586static inline HRESULT IStream_Commit(IStream* This,DWORD grfCommitFlags) {
2587 return This->lpVtbl->Commit(This,grfCommitFlags);
2588}
2589static inline HRESULT IStream_Revert(IStream* This) {
2590 return This->lpVtbl->Revert(This);
2591}
2592static inline HRESULT IStream_LockRegion(IStream* This,ULARGE_INTEGER libOffset,ULARGE_INTEGER cb,DWORD dwLockType) {
2593 return This->lpVtbl->LockRegion(This,libOffset,cb,dwLockType);
2594}
2595static inline HRESULT IStream_UnlockRegion(IStream* This,ULARGE_INTEGER libOffset,ULARGE_INTEGER cb,DWORD dwLockType) {
2596 return This->lpVtbl->UnlockRegion(This,libOffset,cb,dwLockType);
2597}
2598static inline HRESULT IStream_Stat(IStream* This,STATSTG *pstatstg,DWORD grfStatFlag) {
2599 return This->lpVtbl->Stat(This,pstatstg,grfStatFlag);
2600}
2601static inline HRESULT IStream_Clone(IStream* This,IStream **ppstm) {
2602 return This->lpVtbl->Clone(This,ppstm);
2603}
2604#endif
2605#endif
2606
2607#endif
2608
2609HRESULT STDMETHODCALLTYPE IStream_RemoteSeek_Proxy(
2610 IStream* This,
2611 LARGE_INTEGER dlibMove,
2612 DWORD dwOrigin,
2613 ULARGE_INTEGER *plibNewPosition);
2614void __RPC_STUB IStream_RemoteSeek_Stub(
2615 IRpcStubBuffer* This,
2616 IRpcChannelBuffer* pRpcChannelBuffer,
2617 PRPC_MESSAGE pRpcMessage,
2618 DWORD* pdwStubPhase);
2619HRESULT STDMETHODCALLTYPE IStream_RemoteCopyTo_Proxy(
2620 IStream* This,
2621 IStream *pstm,
2622 ULARGE_INTEGER cb,
2623 ULARGE_INTEGER *pcbRead,
2624 ULARGE_INTEGER *pcbWritten);
2625void __RPC_STUB IStream_RemoteCopyTo_Stub(
2626 IRpcStubBuffer* This,
2627 IRpcChannelBuffer* pRpcChannelBuffer,
2628 PRPC_MESSAGE pRpcMessage,
2629 DWORD* pdwStubPhase);
2630HRESULT CALLBACK IStream_Seek_Proxy(
2631 IStream* This,
2632 LARGE_INTEGER dlibMove,
2633 DWORD dwOrigin,
2634 ULARGE_INTEGER *plibNewPosition);
2635HRESULT __RPC_STUB IStream_Seek_Stub(
2636 IStream* This,
2637 LARGE_INTEGER dlibMove,
2638 DWORD dwOrigin,
2639 ULARGE_INTEGER *plibNewPosition);
2640HRESULT CALLBACK IStream_CopyTo_Proxy(
2641 IStream* This,
2642 IStream *pstm,
2643 ULARGE_INTEGER cb,
2644 ULARGE_INTEGER *pcbRead,
2645 ULARGE_INTEGER *pcbWritten);
2646HRESULT __RPC_STUB IStream_CopyTo_Stub(
2647 IStream* This,
2648 IStream *pstm,
2649 ULARGE_INTEGER cb,
2650 ULARGE_INTEGER *pcbRead,
2651 ULARGE_INTEGER *pcbWritten);
2652
2653#endif /* __IStream_INTERFACE_DEFINED__ */
2654
2655
2656/*****************************************************************************
2657 * IRpcChannelBuffer interface
2658 */
2659#ifndef __IRpcChannelBuffer_INTERFACE_DEFINED__
2660#define __IRpcChannelBuffer_INTERFACE_DEFINED__
2661
2662typedef ULONG RPCOLEDATAREP;
2663
2664typedef struct tagRPCOLEMESSAGE {
2665 void *reserved1;
2666 RPCOLEDATAREP dataRepresentation;
2667 void *Buffer;
2668 ULONG cbBuffer;
2669 ULONG iMethod;
2670 void * reserved2[5];
2671 ULONG rpcFlags;
2672} RPCOLEMESSAGE;
2673
2674typedef RPCOLEMESSAGE *PRPCOLEMESSAGE;
2675
2676DEFINE_GUID(IID_IRpcChannelBuffer, 0xd5f56b60, 0x593b, 0x101a, 0xb5,0x69, 0x08,0x00,0x2b,0x2d,0xbf,0x7a);
2677#if defined(__cplusplus) && !defined(CINTERFACE)
2678MIDL_INTERFACE("d5f56b60-593b-101a-b569-08002b2dbf7a")
2679IRpcChannelBuffer : public IUnknown
2680{
2681 virtual HRESULT STDMETHODCALLTYPE GetBuffer(
2682 RPCOLEMESSAGE *pMessage,
2683 REFIID riid) = 0;
2684
2685 virtual HRESULT STDMETHODCALLTYPE SendReceive(
2686 RPCOLEMESSAGE *pMessage,
2687 ULONG *pStatus) = 0;
2688
2689 virtual HRESULT STDMETHODCALLTYPE FreeBuffer(
2690 RPCOLEMESSAGE *pMessage) = 0;
2691
2692 virtual HRESULT STDMETHODCALLTYPE GetDestCtx(
2693 DWORD *pdwDestContext,
2694 void **ppvDestContext) = 0;
2695
2696 virtual HRESULT STDMETHODCALLTYPE IsConnected(
2697 ) = 0;
2698
2699};
2700#ifdef __CRT_UUID_DECL
2701__CRT_UUID_DECL(IRpcChannelBuffer, 0xd5f56b60, 0x593b, 0x101a, 0xb5,0x69, 0x08,0x00,0x2b,0x2d,0xbf,0x7a)
2702#endif
2703#else
2704typedef struct IRpcChannelBufferVtbl {
2705 BEGIN_INTERFACE
2706
2707 /*** IUnknown methods ***/
2708 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2709 IRpcChannelBuffer *This,
2710 REFIID riid,
2711 void **ppvObject);
2712
2713 ULONG (STDMETHODCALLTYPE *AddRef)(
2714 IRpcChannelBuffer *This);
2715
2716 ULONG (STDMETHODCALLTYPE *Release)(
2717 IRpcChannelBuffer *This);
2718
2719 /*** IRpcChannelBuffer methods ***/
2720 HRESULT (STDMETHODCALLTYPE *GetBuffer)(
2721 IRpcChannelBuffer *This,
2722 RPCOLEMESSAGE *pMessage,
2723 REFIID riid);
2724
2725 HRESULT (STDMETHODCALLTYPE *SendReceive)(
2726 IRpcChannelBuffer *This,
2727 RPCOLEMESSAGE *pMessage,
2728 ULONG *pStatus);
2729
2730 HRESULT (STDMETHODCALLTYPE *FreeBuffer)(
2731 IRpcChannelBuffer *This,
2732 RPCOLEMESSAGE *pMessage);
2733
2734 HRESULT (STDMETHODCALLTYPE *GetDestCtx)(
2735 IRpcChannelBuffer *This,
2736 DWORD *pdwDestContext,
2737 void **ppvDestContext);
2738
2739 HRESULT (STDMETHODCALLTYPE *IsConnected)(
2740 IRpcChannelBuffer *This);
2741
2742 END_INTERFACE
2743} IRpcChannelBufferVtbl;
2744
2745interface IRpcChannelBuffer {
2746 CONST_VTBL IRpcChannelBufferVtbl* lpVtbl;
2747};
2748
2749#ifdef COBJMACROS
2750#ifndef WIDL_C_INLINE_WRAPPERS
2751/*** IUnknown methods ***/
2752#define IRpcChannelBuffer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2753#define IRpcChannelBuffer_AddRef(This) (This)->lpVtbl->AddRef(This)
2754#define IRpcChannelBuffer_Release(This) (This)->lpVtbl->Release(This)
2755/*** IRpcChannelBuffer methods ***/
2756#define IRpcChannelBuffer_GetBuffer(This,pMessage,riid) (This)->lpVtbl->GetBuffer(This,pMessage,riid)
2757#define IRpcChannelBuffer_SendReceive(This,pMessage,pStatus) (This)->lpVtbl->SendReceive(This,pMessage,pStatus)
2758#define IRpcChannelBuffer_FreeBuffer(This,pMessage) (This)->lpVtbl->FreeBuffer(This,pMessage)
2759#define IRpcChannelBuffer_GetDestCtx(This,pdwDestContext,ppvDestContext) (This)->lpVtbl->GetDestCtx(This,pdwDestContext,ppvDestContext)
2760#define IRpcChannelBuffer_IsConnected(This) (This)->lpVtbl->IsConnected(This)
2761#else
2762/*** IUnknown methods ***/
2763static inline HRESULT IRpcChannelBuffer_QueryInterface(IRpcChannelBuffer* This,REFIID riid,void **ppvObject) {
2764 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2765}
2766static inline ULONG IRpcChannelBuffer_AddRef(IRpcChannelBuffer* This) {
2767 return This->lpVtbl->AddRef(This);
2768}
2769static inline ULONG IRpcChannelBuffer_Release(IRpcChannelBuffer* This) {
2770 return This->lpVtbl->Release(This);
2771}
2772/*** IRpcChannelBuffer methods ***/
2773static inline HRESULT IRpcChannelBuffer_GetBuffer(IRpcChannelBuffer* This,RPCOLEMESSAGE *pMessage,REFIID riid) {
2774 return This->lpVtbl->GetBuffer(This,pMessage,riid);
2775}
2776static inline HRESULT IRpcChannelBuffer_SendReceive(IRpcChannelBuffer* This,RPCOLEMESSAGE *pMessage,ULONG *pStatus) {
2777 return This->lpVtbl->SendReceive(This,pMessage,pStatus);
2778}
2779static inline HRESULT IRpcChannelBuffer_FreeBuffer(IRpcChannelBuffer* This,RPCOLEMESSAGE *pMessage) {
2780 return This->lpVtbl->FreeBuffer(This,pMessage);
2781}
2782static inline HRESULT IRpcChannelBuffer_GetDestCtx(IRpcChannelBuffer* This,DWORD *pdwDestContext,void **ppvDestContext) {
2783 return This->lpVtbl->GetDestCtx(This,pdwDestContext,ppvDestContext);
2784}
2785static inline HRESULT IRpcChannelBuffer_IsConnected(IRpcChannelBuffer* This) {
2786 return This->lpVtbl->IsConnected(This);
2787}
2788#endif
2789#endif
2790
2791#endif
2792
2793
2794#endif /* __IRpcChannelBuffer_INTERFACE_DEFINED__ */
2795
2796#endif
2797
2798#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
2799/*****************************************************************************
2800 * IRpcChannelBuffer2 interface
2801 */
2802#ifndef __IRpcChannelBuffer2_INTERFACE_DEFINED__
2803#define __IRpcChannelBuffer2_INTERFACE_DEFINED__
2804
2805DEFINE_GUID(IID_IRpcChannelBuffer2, 0x594f31d0, 0x7f19, 0x11d0, 0xb1,0x94, 0x00,0xa0,0xc9,0x0d,0xc8,0xbf);
2806#if defined(__cplusplus) && !defined(CINTERFACE)
2807MIDL_INTERFACE("594f31d0-7f19-11d0-b194-00a0c90dc8bf")
2808IRpcChannelBuffer2 : public IRpcChannelBuffer
2809{
2810 virtual HRESULT STDMETHODCALLTYPE GetProtocolVersion(
2811 DWORD *pdwVersion) = 0;
2812
2813};
2814#ifdef __CRT_UUID_DECL
2815__CRT_UUID_DECL(IRpcChannelBuffer2, 0x594f31d0, 0x7f19, 0x11d0, 0xb1,0x94, 0x00,0xa0,0xc9,0x0d,0xc8,0xbf)
2816#endif
2817#else
2818typedef struct IRpcChannelBuffer2Vtbl {
2819 BEGIN_INTERFACE
2820
2821 /*** IUnknown methods ***/
2822 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2823 IRpcChannelBuffer2 *This,
2824 REFIID riid,
2825 void **ppvObject);
2826
2827 ULONG (STDMETHODCALLTYPE *AddRef)(
2828 IRpcChannelBuffer2 *This);
2829
2830 ULONG (STDMETHODCALLTYPE *Release)(
2831 IRpcChannelBuffer2 *This);
2832
2833 /*** IRpcChannelBuffer methods ***/
2834 HRESULT (STDMETHODCALLTYPE *GetBuffer)(
2835 IRpcChannelBuffer2 *This,
2836 RPCOLEMESSAGE *pMessage,
2837 REFIID riid);
2838
2839 HRESULT (STDMETHODCALLTYPE *SendReceive)(
2840 IRpcChannelBuffer2 *This,
2841 RPCOLEMESSAGE *pMessage,
2842 ULONG *pStatus);
2843
2844 HRESULT (STDMETHODCALLTYPE *FreeBuffer)(
2845 IRpcChannelBuffer2 *This,
2846 RPCOLEMESSAGE *pMessage);
2847
2848 HRESULT (STDMETHODCALLTYPE *GetDestCtx)(
2849 IRpcChannelBuffer2 *This,
2850 DWORD *pdwDestContext,
2851 void **ppvDestContext);
2852
2853 HRESULT (STDMETHODCALLTYPE *IsConnected)(
2854 IRpcChannelBuffer2 *This);
2855
2856 /*** IRpcChannelBuffer2 methods ***/
2857 HRESULT (STDMETHODCALLTYPE *GetProtocolVersion)(
2858 IRpcChannelBuffer2 *This,
2859 DWORD *pdwVersion);
2860
2861 END_INTERFACE
2862} IRpcChannelBuffer2Vtbl;
2863
2864interface IRpcChannelBuffer2 {
2865 CONST_VTBL IRpcChannelBuffer2Vtbl* lpVtbl;
2866};
2867
2868#ifdef COBJMACROS
2869#ifndef WIDL_C_INLINE_WRAPPERS
2870/*** IUnknown methods ***/
2871#define IRpcChannelBuffer2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2872#define IRpcChannelBuffer2_AddRef(This) (This)->lpVtbl->AddRef(This)
2873#define IRpcChannelBuffer2_Release(This) (This)->lpVtbl->Release(This)
2874/*** IRpcChannelBuffer methods ***/
2875#define IRpcChannelBuffer2_GetBuffer(This,pMessage,riid) (This)->lpVtbl->GetBuffer(This,pMessage,riid)
2876#define IRpcChannelBuffer2_SendReceive(This,pMessage,pStatus) (This)->lpVtbl->SendReceive(This,pMessage,pStatus)
2877#define IRpcChannelBuffer2_FreeBuffer(This,pMessage) (This)->lpVtbl->FreeBuffer(This,pMessage)
2878#define IRpcChannelBuffer2_GetDestCtx(This,pdwDestContext,ppvDestContext) (This)->lpVtbl->GetDestCtx(This,pdwDestContext,ppvDestContext)
2879#define IRpcChannelBuffer2_IsConnected(This) (This)->lpVtbl->IsConnected(This)
2880/*** IRpcChannelBuffer2 methods ***/
2881#define IRpcChannelBuffer2_GetProtocolVersion(This,pdwVersion) (This)->lpVtbl->GetProtocolVersion(This,pdwVersion)
2882#else
2883/*** IUnknown methods ***/
2884static inline HRESULT IRpcChannelBuffer2_QueryInterface(IRpcChannelBuffer2* This,REFIID riid,void **ppvObject) {
2885 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2886}
2887static inline ULONG IRpcChannelBuffer2_AddRef(IRpcChannelBuffer2* This) {
2888 return This->lpVtbl->AddRef(This);
2889}
2890static inline ULONG IRpcChannelBuffer2_Release(IRpcChannelBuffer2* This) {
2891 return This->lpVtbl->Release(This);
2892}
2893/*** IRpcChannelBuffer methods ***/
2894static inline HRESULT IRpcChannelBuffer2_GetBuffer(IRpcChannelBuffer2* This,RPCOLEMESSAGE *pMessage,REFIID riid) {
2895 return This->lpVtbl->GetBuffer(This,pMessage,riid);
2896}
2897static inline HRESULT IRpcChannelBuffer2_SendReceive(IRpcChannelBuffer2* This,RPCOLEMESSAGE *pMessage,ULONG *pStatus) {
2898 return This->lpVtbl->SendReceive(This,pMessage,pStatus);
2899}
2900static inline HRESULT IRpcChannelBuffer2_FreeBuffer(IRpcChannelBuffer2* This,RPCOLEMESSAGE *pMessage) {
2901 return This->lpVtbl->FreeBuffer(This,pMessage);
2902}
2903static inline HRESULT IRpcChannelBuffer2_GetDestCtx(IRpcChannelBuffer2* This,DWORD *pdwDestContext,void **ppvDestContext) {
2904 return This->lpVtbl->GetDestCtx(This,pdwDestContext,ppvDestContext);
2905}
2906static inline HRESULT IRpcChannelBuffer2_IsConnected(IRpcChannelBuffer2* This) {
2907 return This->lpVtbl->IsConnected(This);
2908}
2909/*** IRpcChannelBuffer2 methods ***/
2910static inline HRESULT IRpcChannelBuffer2_GetProtocolVersion(IRpcChannelBuffer2* This,DWORD *pdwVersion) {
2911 return This->lpVtbl->GetProtocolVersion(This,pdwVersion);
2912}
2913#endif
2914#endif
2915
2916#endif
2917
2918
2919#endif /* __IRpcChannelBuffer2_INTERFACE_DEFINED__ */
2920
2921
2922/*****************************************************************************
2923 * IAsyncRpcChannelBuffer interface
2924 */
2925#ifndef __IAsyncRpcChannelBuffer_INTERFACE_DEFINED__
2926#define __IAsyncRpcChannelBuffer_INTERFACE_DEFINED__
2927
2928DEFINE_GUID(IID_IAsyncRpcChannelBuffer, 0xa5029fb6, 0x3c34, 0x11d1, 0x9c,0x99, 0x00,0xc0,0x4f,0xb9,0x98,0xaa);
2929#if defined(__cplusplus) && !defined(CINTERFACE)
2930MIDL_INTERFACE("a5029fb6-3c34-11d1-9c99-00c04fb998aa")
2931IAsyncRpcChannelBuffer : public IRpcChannelBuffer2
2932{
2933 virtual HRESULT STDMETHODCALLTYPE Send(
2934 RPCOLEMESSAGE *pMsg,
2935 ISynchronize *pSync,
2936 ULONG *pulStatus) = 0;
2937
2938 virtual HRESULT STDMETHODCALLTYPE Receive(
2939 RPCOLEMESSAGE *pMsg,
2940 ULONG *pulStatus) = 0;
2941
2942 virtual HRESULT STDMETHODCALLTYPE GetDestCtxEx(
2943 RPCOLEMESSAGE *pMsg,
2944 DWORD *pdwDestContext,
2945 void **ppvDestContext) = 0;
2946
2947};
2948#ifdef __CRT_UUID_DECL
2949__CRT_UUID_DECL(IAsyncRpcChannelBuffer, 0xa5029fb6, 0x3c34, 0x11d1, 0x9c,0x99, 0x00,0xc0,0x4f,0xb9,0x98,0xaa)
2950#endif
2951#else
2952typedef struct IAsyncRpcChannelBufferVtbl {
2953 BEGIN_INTERFACE
2954
2955 /*** IUnknown methods ***/
2956 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2957 IAsyncRpcChannelBuffer *This,
2958 REFIID riid,
2959 void **ppvObject);
2960
2961 ULONG (STDMETHODCALLTYPE *AddRef)(
2962 IAsyncRpcChannelBuffer *This);
2963
2964 ULONG (STDMETHODCALLTYPE *Release)(
2965 IAsyncRpcChannelBuffer *This);
2966
2967 /*** IRpcChannelBuffer methods ***/
2968 HRESULT (STDMETHODCALLTYPE *GetBuffer)(
2969 IAsyncRpcChannelBuffer *This,
2970 RPCOLEMESSAGE *pMessage,
2971 REFIID riid);
2972
2973 HRESULT (STDMETHODCALLTYPE *SendReceive)(
2974 IAsyncRpcChannelBuffer *This,
2975 RPCOLEMESSAGE *pMessage,
2976 ULONG *pStatus);
2977
2978 HRESULT (STDMETHODCALLTYPE *FreeBuffer)(
2979 IAsyncRpcChannelBuffer *This,
2980 RPCOLEMESSAGE *pMessage);
2981
2982 HRESULT (STDMETHODCALLTYPE *GetDestCtx)(
2983 IAsyncRpcChannelBuffer *This,
2984 DWORD *pdwDestContext,
2985 void **ppvDestContext);
2986
2987 HRESULT (STDMETHODCALLTYPE *IsConnected)(
2988 IAsyncRpcChannelBuffer *This);
2989
2990 /*** IRpcChannelBuffer2 methods ***/
2991 HRESULT (STDMETHODCALLTYPE *GetProtocolVersion)(
2992 IAsyncRpcChannelBuffer *This,
2993 DWORD *pdwVersion);
2994
2995 /*** IAsyncRpcChannelBuffer methods ***/
2996 HRESULT (STDMETHODCALLTYPE *Send)(
2997 IAsyncRpcChannelBuffer *This,
2998 RPCOLEMESSAGE *pMsg,
2999 ISynchronize *pSync,
3000 ULONG *pulStatus);
3001
3002 HRESULT (STDMETHODCALLTYPE *Receive)(
3003 IAsyncRpcChannelBuffer *This,
3004 RPCOLEMESSAGE *pMsg,
3005 ULONG *pulStatus);
3006
3007 HRESULT (STDMETHODCALLTYPE *GetDestCtxEx)(
3008 IAsyncRpcChannelBuffer *This,
3009 RPCOLEMESSAGE *pMsg,
3010 DWORD *pdwDestContext,
3011 void **ppvDestContext);
3012
3013 END_INTERFACE
3014} IAsyncRpcChannelBufferVtbl;
3015
3016interface IAsyncRpcChannelBuffer {
3017 CONST_VTBL IAsyncRpcChannelBufferVtbl* lpVtbl;
3018};
3019
3020#ifdef COBJMACROS
3021#ifndef WIDL_C_INLINE_WRAPPERS
3022/*** IUnknown methods ***/
3023#define IAsyncRpcChannelBuffer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3024#define IAsyncRpcChannelBuffer_AddRef(This) (This)->lpVtbl->AddRef(This)
3025#define IAsyncRpcChannelBuffer_Release(This) (This)->lpVtbl->Release(This)
3026/*** IRpcChannelBuffer methods ***/
3027#define IAsyncRpcChannelBuffer_GetBuffer(This,pMessage,riid) (This)->lpVtbl->GetBuffer(This,pMessage,riid)
3028#define IAsyncRpcChannelBuffer_SendReceive(This,pMessage,pStatus) (This)->lpVtbl->SendReceive(This,pMessage,pStatus)
3029#define IAsyncRpcChannelBuffer_FreeBuffer(This,pMessage) (This)->lpVtbl->FreeBuffer(This,pMessage)
3030#define IAsyncRpcChannelBuffer_GetDestCtx(This,pdwDestContext,ppvDestContext) (This)->lpVtbl->GetDestCtx(This,pdwDestContext,ppvDestContext)
3031#define IAsyncRpcChannelBuffer_IsConnected(This) (This)->lpVtbl->IsConnected(This)
3032/*** IRpcChannelBuffer2 methods ***/
3033#define IAsyncRpcChannelBuffer_GetProtocolVersion(This,pdwVersion) (This)->lpVtbl->GetProtocolVersion(This,pdwVersion)
3034/*** IAsyncRpcChannelBuffer methods ***/
3035#define IAsyncRpcChannelBuffer_Send(This,pMsg,pSync,pulStatus) (This)->lpVtbl->Send(This,pMsg,pSync,pulStatus)
3036#define IAsyncRpcChannelBuffer_Receive(This,pMsg,pulStatus) (This)->lpVtbl->Receive(This,pMsg,pulStatus)
3037#define IAsyncRpcChannelBuffer_GetDestCtxEx(This,pMsg,pdwDestContext,ppvDestContext) (This)->lpVtbl->GetDestCtxEx(This,pMsg,pdwDestContext,ppvDestContext)
3038#else
3039/*** IUnknown methods ***/
3040static inline HRESULT IAsyncRpcChannelBuffer_QueryInterface(IAsyncRpcChannelBuffer* This,REFIID riid,void **ppvObject) {
3041 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3042}
3043static inline ULONG IAsyncRpcChannelBuffer_AddRef(IAsyncRpcChannelBuffer* This) {
3044 return This->lpVtbl->AddRef(This);
3045}
3046static inline ULONG IAsyncRpcChannelBuffer_Release(IAsyncRpcChannelBuffer* This) {
3047 return This->lpVtbl->Release(This);
3048}
3049/*** IRpcChannelBuffer methods ***/
3050static inline HRESULT IAsyncRpcChannelBuffer_GetBuffer(IAsyncRpcChannelBuffer* This,RPCOLEMESSAGE *pMessage,REFIID riid) {
3051 return This->lpVtbl->GetBuffer(This,pMessage,riid);
3052}
3053static inline HRESULT IAsyncRpcChannelBuffer_SendReceive(IAsyncRpcChannelBuffer* This,RPCOLEMESSAGE *pMessage,ULONG *pStatus) {
3054 return This->lpVtbl->SendReceive(This,pMessage,pStatus);
3055}
3056static inline HRESULT IAsyncRpcChannelBuffer_FreeBuffer(IAsyncRpcChannelBuffer* This,RPCOLEMESSAGE *pMessage) {
3057 return This->lpVtbl->FreeBuffer(This,pMessage);
3058}
3059static inline HRESULT IAsyncRpcChannelBuffer_GetDestCtx(IAsyncRpcChannelBuffer* This,DWORD *pdwDestContext,void **ppvDestContext) {
3060 return This->lpVtbl->GetDestCtx(This,pdwDestContext,ppvDestContext);
3061}
3062static inline HRESULT IAsyncRpcChannelBuffer_IsConnected(IAsyncRpcChannelBuffer* This) {
3063 return This->lpVtbl->IsConnected(This);
3064}
3065/*** IRpcChannelBuffer2 methods ***/
3066static inline HRESULT IAsyncRpcChannelBuffer_GetProtocolVersion(IAsyncRpcChannelBuffer* This,DWORD *pdwVersion) {
3067 return This->lpVtbl->GetProtocolVersion(This,pdwVersion);
3068}
3069/*** IAsyncRpcChannelBuffer methods ***/
3070static inline HRESULT IAsyncRpcChannelBuffer_Send(IAsyncRpcChannelBuffer* This,RPCOLEMESSAGE *pMsg,ISynchronize *pSync,ULONG *pulStatus) {
3071 return This->lpVtbl->Send(This,pMsg,pSync,pulStatus);
3072}
3073static inline HRESULT IAsyncRpcChannelBuffer_Receive(IAsyncRpcChannelBuffer* This,RPCOLEMESSAGE *pMsg,ULONG *pulStatus) {
3074 return This->lpVtbl->Receive(This,pMsg,pulStatus);
3075}
3076static inline HRESULT IAsyncRpcChannelBuffer_GetDestCtxEx(IAsyncRpcChannelBuffer* This,RPCOLEMESSAGE *pMsg,DWORD *pdwDestContext,void **ppvDestContext) {
3077 return This->lpVtbl->GetDestCtxEx(This,pMsg,pdwDestContext,ppvDestContext);
3078}
3079#endif
3080#endif
3081
3082#endif
3083
3084
3085#endif /* __IAsyncRpcChannelBuffer_INTERFACE_DEFINED__ */
3086
3087
3088/*****************************************************************************
3089 * IRpcChannelBuffer3 interface
3090 */
3091#ifndef __IRpcChannelBuffer3_INTERFACE_DEFINED__
3092#define __IRpcChannelBuffer3_INTERFACE_DEFINED__
3093
3094DEFINE_GUID(IID_IRpcChannelBuffer3, 0x25b15600, 0x0115, 0x11d0, 0xbf,0x0d, 0x00,0xaa,0x00,0xb8,0xdf,0xd2);
3095#if defined(__cplusplus) && !defined(CINTERFACE)
3096MIDL_INTERFACE("25b15600-0115-11d0-bf0d-00aa00b8dfd2")
3097IRpcChannelBuffer3 : public IRpcChannelBuffer2
3098{
3099 virtual HRESULT STDMETHODCALLTYPE Send(
3100 RPCOLEMESSAGE *pMsg,
3101 ULONG *pulStatus) = 0;
3102
3103 virtual HRESULT STDMETHODCALLTYPE Receive(
3104 RPCOLEMESSAGE *pMsg,
3105 ULONG ulSize,
3106 ULONG *pulStatus) = 0;
3107
3108 virtual HRESULT STDMETHODCALLTYPE Cancel(
3109 RPCOLEMESSAGE *pMsg) = 0;
3110
3111 virtual HRESULT STDMETHODCALLTYPE GetCallContext(
3112 RPCOLEMESSAGE *pMsg,
3113 REFIID riid,
3114 void **pInterface) = 0;
3115
3116 virtual HRESULT STDMETHODCALLTYPE GetDestCtxEx(
3117 RPCOLEMESSAGE *pMsg,
3118 DWORD *pdwDestContext,
3119 void **ppvDestContext) = 0;
3120
3121 virtual HRESULT STDMETHODCALLTYPE GetState(
3122 RPCOLEMESSAGE *pMsg,
3123 DWORD *pState) = 0;
3124
3125 virtual HRESULT STDMETHODCALLTYPE RegisterAsync(
3126 RPCOLEMESSAGE *pMsg,
3127 IAsyncManager *pAsyncMgr) = 0;
3128
3129};
3130#ifdef __CRT_UUID_DECL
3131__CRT_UUID_DECL(IRpcChannelBuffer3, 0x25b15600, 0x0115, 0x11d0, 0xbf,0x0d, 0x00,0xaa,0x00,0xb8,0xdf,0xd2)
3132#endif
3133#else
3134typedef struct IRpcChannelBuffer3Vtbl {
3135 BEGIN_INTERFACE
3136
3137 /*** IUnknown methods ***/
3138 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3139 IRpcChannelBuffer3 *This,
3140 REFIID riid,
3141 void **ppvObject);
3142
3143 ULONG (STDMETHODCALLTYPE *AddRef)(
3144 IRpcChannelBuffer3 *This);
3145
3146 ULONG (STDMETHODCALLTYPE *Release)(
3147 IRpcChannelBuffer3 *This);
3148
3149 /*** IRpcChannelBuffer methods ***/
3150 HRESULT (STDMETHODCALLTYPE *GetBuffer)(
3151 IRpcChannelBuffer3 *This,
3152 RPCOLEMESSAGE *pMessage,
3153 REFIID riid);
3154
3155 HRESULT (STDMETHODCALLTYPE *SendReceive)(
3156 IRpcChannelBuffer3 *This,
3157 RPCOLEMESSAGE *pMessage,
3158 ULONG *pStatus);
3159
3160 HRESULT (STDMETHODCALLTYPE *FreeBuffer)(
3161 IRpcChannelBuffer3 *This,
3162 RPCOLEMESSAGE *pMessage);
3163
3164 HRESULT (STDMETHODCALLTYPE *GetDestCtx)(
3165 IRpcChannelBuffer3 *This,
3166 DWORD *pdwDestContext,
3167 void **ppvDestContext);
3168
3169 HRESULT (STDMETHODCALLTYPE *IsConnected)(
3170 IRpcChannelBuffer3 *This);
3171
3172 /*** IRpcChannelBuffer2 methods ***/
3173 HRESULT (STDMETHODCALLTYPE *GetProtocolVersion)(
3174 IRpcChannelBuffer3 *This,
3175 DWORD *pdwVersion);
3176
3177 /*** IRpcChannelBuffer3 methods ***/
3178 HRESULT (STDMETHODCALLTYPE *Send)(
3179 IRpcChannelBuffer3 *This,
3180 RPCOLEMESSAGE *pMsg,
3181 ULONG *pulStatus);
3182
3183 HRESULT (STDMETHODCALLTYPE *Receive)(
3184 IRpcChannelBuffer3 *This,
3185 RPCOLEMESSAGE *pMsg,
3186 ULONG ulSize,
3187 ULONG *pulStatus);
3188
3189 HRESULT (STDMETHODCALLTYPE *Cancel)(
3190 IRpcChannelBuffer3 *This,
3191 RPCOLEMESSAGE *pMsg);
3192
3193 HRESULT (STDMETHODCALLTYPE *GetCallContext)(
3194 IRpcChannelBuffer3 *This,
3195 RPCOLEMESSAGE *pMsg,
3196 REFIID riid,
3197 void **pInterface);
3198
3199 HRESULT (STDMETHODCALLTYPE *GetDestCtxEx)(
3200 IRpcChannelBuffer3 *This,
3201 RPCOLEMESSAGE *pMsg,
3202 DWORD *pdwDestContext,
3203 void **ppvDestContext);
3204
3205 HRESULT (STDMETHODCALLTYPE *GetState)(
3206 IRpcChannelBuffer3 *This,
3207 RPCOLEMESSAGE *pMsg,
3208 DWORD *pState);
3209
3210 HRESULT (STDMETHODCALLTYPE *RegisterAsync)(
3211 IRpcChannelBuffer3 *This,
3212 RPCOLEMESSAGE *pMsg,
3213 IAsyncManager *pAsyncMgr);
3214
3215 END_INTERFACE
3216} IRpcChannelBuffer3Vtbl;
3217
3218interface IRpcChannelBuffer3 {
3219 CONST_VTBL IRpcChannelBuffer3Vtbl* lpVtbl;
3220};
3221
3222#ifdef COBJMACROS
3223#ifndef WIDL_C_INLINE_WRAPPERS
3224/*** IUnknown methods ***/
3225#define IRpcChannelBuffer3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3226#define IRpcChannelBuffer3_AddRef(This) (This)->lpVtbl->AddRef(This)
3227#define IRpcChannelBuffer3_Release(This) (This)->lpVtbl->Release(This)
3228/*** IRpcChannelBuffer methods ***/
3229#define IRpcChannelBuffer3_GetBuffer(This,pMessage,riid) (This)->lpVtbl->GetBuffer(This,pMessage,riid)
3230#define IRpcChannelBuffer3_SendReceive(This,pMessage,pStatus) (This)->lpVtbl->SendReceive(This,pMessage,pStatus)
3231#define IRpcChannelBuffer3_FreeBuffer(This,pMessage) (This)->lpVtbl->FreeBuffer(This,pMessage)
3232#define IRpcChannelBuffer3_GetDestCtx(This,pdwDestContext,ppvDestContext) (This)->lpVtbl->GetDestCtx(This,pdwDestContext,ppvDestContext)
3233#define IRpcChannelBuffer3_IsConnected(This) (This)->lpVtbl->IsConnected(This)
3234/*** IRpcChannelBuffer2 methods ***/
3235#define IRpcChannelBuffer3_GetProtocolVersion(This,pdwVersion) (This)->lpVtbl->GetProtocolVersion(This,pdwVersion)
3236/*** IRpcChannelBuffer3 methods ***/
3237#define IRpcChannelBuffer3_Send(This,pMsg,pulStatus) (This)->lpVtbl->Send(This,pMsg,pulStatus)
3238#define IRpcChannelBuffer3_Receive(This,pMsg,ulSize,pulStatus) (This)->lpVtbl->Receive(This,pMsg,ulSize,pulStatus)
3239#define IRpcChannelBuffer3_Cancel(This,pMsg) (This)->lpVtbl->Cancel(This,pMsg)
3240#define IRpcChannelBuffer3_GetCallContext(This,pMsg,riid,pInterface) (This)->lpVtbl->GetCallContext(This,pMsg,riid,pInterface)
3241#define IRpcChannelBuffer3_GetDestCtxEx(This,pMsg,pdwDestContext,ppvDestContext) (This)->lpVtbl->GetDestCtxEx(This,pMsg,pdwDestContext,ppvDestContext)
3242#define IRpcChannelBuffer3_GetState(This,pMsg,pState) (This)->lpVtbl->GetState(This,pMsg,pState)
3243#define IRpcChannelBuffer3_RegisterAsync(This,pMsg,pAsyncMgr) (This)->lpVtbl->RegisterAsync(This,pMsg,pAsyncMgr)
3244#else
3245/*** IUnknown methods ***/
3246static inline HRESULT IRpcChannelBuffer3_QueryInterface(IRpcChannelBuffer3* This,REFIID riid,void **ppvObject) {
3247 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3248}
3249static inline ULONG IRpcChannelBuffer3_AddRef(IRpcChannelBuffer3* This) {
3250 return This->lpVtbl->AddRef(This);
3251}
3252static inline ULONG IRpcChannelBuffer3_Release(IRpcChannelBuffer3* This) {
3253 return This->lpVtbl->Release(This);
3254}
3255/*** IRpcChannelBuffer methods ***/
3256static inline HRESULT IRpcChannelBuffer3_GetBuffer(IRpcChannelBuffer3* This,RPCOLEMESSAGE *pMessage,REFIID riid) {
3257 return This->lpVtbl->GetBuffer(This,pMessage,riid);
3258}
3259static inline HRESULT IRpcChannelBuffer3_SendReceive(IRpcChannelBuffer3* This,RPCOLEMESSAGE *pMessage,ULONG *pStatus) {
3260 return This->lpVtbl->SendReceive(This,pMessage,pStatus);
3261}
3262static inline HRESULT IRpcChannelBuffer3_FreeBuffer(IRpcChannelBuffer3* This,RPCOLEMESSAGE *pMessage) {
3263 return This->lpVtbl->FreeBuffer(This,pMessage);
3264}
3265static inline HRESULT IRpcChannelBuffer3_GetDestCtx(IRpcChannelBuffer3* This,DWORD *pdwDestContext,void **ppvDestContext) {
3266 return This->lpVtbl->GetDestCtx(This,pdwDestContext,ppvDestContext);
3267}
3268static inline HRESULT IRpcChannelBuffer3_IsConnected(IRpcChannelBuffer3* This) {
3269 return This->lpVtbl->IsConnected(This);
3270}
3271/*** IRpcChannelBuffer2 methods ***/
3272static inline HRESULT IRpcChannelBuffer3_GetProtocolVersion(IRpcChannelBuffer3* This,DWORD *pdwVersion) {
3273 return This->lpVtbl->GetProtocolVersion(This,pdwVersion);
3274}
3275/*** IRpcChannelBuffer3 methods ***/
3276static inline HRESULT IRpcChannelBuffer3_Send(IRpcChannelBuffer3* This,RPCOLEMESSAGE *pMsg,ULONG *pulStatus) {
3277 return This->lpVtbl->Send(This,pMsg,pulStatus);
3278}
3279static inline HRESULT IRpcChannelBuffer3_Receive(IRpcChannelBuffer3* This,RPCOLEMESSAGE *pMsg,ULONG ulSize,ULONG *pulStatus) {
3280 return This->lpVtbl->Receive(This,pMsg,ulSize,pulStatus);
3281}
3282static inline HRESULT IRpcChannelBuffer3_Cancel(IRpcChannelBuffer3* This,RPCOLEMESSAGE *pMsg) {
3283 return This->lpVtbl->Cancel(This,pMsg);
3284}
3285static inline HRESULT IRpcChannelBuffer3_GetCallContext(IRpcChannelBuffer3* This,RPCOLEMESSAGE *pMsg,REFIID riid,void **pInterface) {
3286 return This->lpVtbl->GetCallContext(This,pMsg,riid,pInterface);
3287}
3288static inline HRESULT IRpcChannelBuffer3_GetDestCtxEx(IRpcChannelBuffer3* This,RPCOLEMESSAGE *pMsg,DWORD *pdwDestContext,void **ppvDestContext) {
3289 return This->lpVtbl->GetDestCtxEx(This,pMsg,pdwDestContext,ppvDestContext);
3290}
3291static inline HRESULT IRpcChannelBuffer3_GetState(IRpcChannelBuffer3* This,RPCOLEMESSAGE *pMsg,DWORD *pState) {
3292 return This->lpVtbl->GetState(This,pMsg,pState);
3293}
3294static inline HRESULT IRpcChannelBuffer3_RegisterAsync(IRpcChannelBuffer3* This,RPCOLEMESSAGE *pMsg,IAsyncManager *pAsyncMgr) {
3295 return This->lpVtbl->RegisterAsync(This,pMsg,pAsyncMgr);
3296}
3297#endif
3298#endif
3299
3300#endif
3301
3302
3303#endif /* __IRpcChannelBuffer3_INTERFACE_DEFINED__ */
3304
3305
3306/*****************************************************************************
3307 * IRpcSyntaxNegotiate interface
3308 */
3309#ifndef __IRpcSyntaxNegotiate_INTERFACE_DEFINED__
3310#define __IRpcSyntaxNegotiate_INTERFACE_DEFINED__
3311
3312DEFINE_GUID(IID_IRpcSyntaxNegotiate, 0x58a08519, 0x24c8, 0x4935, 0xb4,0x82, 0x3f,0xd8,0x23,0x33,0x3a,0x4f);
3313#if defined(__cplusplus) && !defined(CINTERFACE)
3314MIDL_INTERFACE("58a08519-24c8-4935-b482-3fd823333a4f")
3315IRpcSyntaxNegotiate : public IUnknown
3316{
3317 virtual HRESULT STDMETHODCALLTYPE NegotiateSyntax(
3318 RPCOLEMESSAGE *pMsg) = 0;
3319
3320};
3321#ifdef __CRT_UUID_DECL
3322__CRT_UUID_DECL(IRpcSyntaxNegotiate, 0x58a08519, 0x24c8, 0x4935, 0xb4,0x82, 0x3f,0xd8,0x23,0x33,0x3a,0x4f)
3323#endif
3324#else
3325typedef struct IRpcSyntaxNegotiateVtbl {
3326 BEGIN_INTERFACE
3327
3328 /*** IUnknown methods ***/
3329 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3330 IRpcSyntaxNegotiate *This,
3331 REFIID riid,
3332 void **ppvObject);
3333
3334 ULONG (STDMETHODCALLTYPE *AddRef)(
3335 IRpcSyntaxNegotiate *This);
3336
3337 ULONG (STDMETHODCALLTYPE *Release)(
3338 IRpcSyntaxNegotiate *This);
3339
3340 /*** IRpcSyntaxNegotiate methods ***/
3341 HRESULT (STDMETHODCALLTYPE *NegotiateSyntax)(
3342 IRpcSyntaxNegotiate *This,
3343 RPCOLEMESSAGE *pMsg);
3344
3345 END_INTERFACE
3346} IRpcSyntaxNegotiateVtbl;
3347
3348interface IRpcSyntaxNegotiate {
3349 CONST_VTBL IRpcSyntaxNegotiateVtbl* lpVtbl;
3350};
3351
3352#ifdef COBJMACROS
3353#ifndef WIDL_C_INLINE_WRAPPERS
3354/*** IUnknown methods ***/
3355#define IRpcSyntaxNegotiate_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3356#define IRpcSyntaxNegotiate_AddRef(This) (This)->lpVtbl->AddRef(This)
3357#define IRpcSyntaxNegotiate_Release(This) (This)->lpVtbl->Release(This)
3358/*** IRpcSyntaxNegotiate methods ***/
3359#define IRpcSyntaxNegotiate_NegotiateSyntax(This,pMsg) (This)->lpVtbl->NegotiateSyntax(This,pMsg)
3360#else
3361/*** IUnknown methods ***/
3362static inline HRESULT IRpcSyntaxNegotiate_QueryInterface(IRpcSyntaxNegotiate* This,REFIID riid,void **ppvObject) {
3363 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3364}
3365static inline ULONG IRpcSyntaxNegotiate_AddRef(IRpcSyntaxNegotiate* This) {
3366 return This->lpVtbl->AddRef(This);
3367}
3368static inline ULONG IRpcSyntaxNegotiate_Release(IRpcSyntaxNegotiate* This) {
3369 return This->lpVtbl->Release(This);
3370}
3371/*** IRpcSyntaxNegotiate methods ***/
3372static inline HRESULT IRpcSyntaxNegotiate_NegotiateSyntax(IRpcSyntaxNegotiate* This,RPCOLEMESSAGE *pMsg) {
3373 return This->lpVtbl->NegotiateSyntax(This,pMsg);
3374}
3375#endif
3376#endif
3377
3378#endif
3379
3380
3381#endif /* __IRpcSyntaxNegotiate_INTERFACE_DEFINED__ */
3382
3383
3384/*****************************************************************************
3385 * IRpcProxyBuffer interface
3386 */
3387#ifndef __IRpcProxyBuffer_INTERFACE_DEFINED__
3388#define __IRpcProxyBuffer_INTERFACE_DEFINED__
3389
3390DEFINE_GUID(IID_IRpcProxyBuffer, 0xd5f56a34, 0x593b, 0x101a, 0xb5,0x69, 0x08,0x00,0x2b,0x2d,0xbf,0x7a);
3391#if defined(__cplusplus) && !defined(CINTERFACE)
3392MIDL_INTERFACE("d5f56a34-593b-101a-b569-08002b2dbf7a")
3393IRpcProxyBuffer : public IUnknown
3394{
3395 virtual HRESULT STDMETHODCALLTYPE Connect(
3396 IRpcChannelBuffer *pRpcChannelBuffer) = 0;
3397
3398 virtual void STDMETHODCALLTYPE Disconnect(
3399 ) = 0;
3400
3401};
3402#ifdef __CRT_UUID_DECL
3403__CRT_UUID_DECL(IRpcProxyBuffer, 0xd5f56a34, 0x593b, 0x101a, 0xb5,0x69, 0x08,0x00,0x2b,0x2d,0xbf,0x7a)
3404#endif
3405#else
3406typedef struct IRpcProxyBufferVtbl {
3407 BEGIN_INTERFACE
3408
3409 /*** IUnknown methods ***/
3410 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3411 IRpcProxyBuffer *This,
3412 REFIID riid,
3413 void **ppvObject);
3414
3415 ULONG (STDMETHODCALLTYPE *AddRef)(
3416 IRpcProxyBuffer *This);
3417
3418 ULONG (STDMETHODCALLTYPE *Release)(
3419 IRpcProxyBuffer *This);
3420
3421 /*** IRpcProxyBuffer methods ***/
3422 HRESULT (STDMETHODCALLTYPE *Connect)(
3423 IRpcProxyBuffer *This,
3424 IRpcChannelBuffer *pRpcChannelBuffer);
3425
3426 void (STDMETHODCALLTYPE *Disconnect)(
3427 IRpcProxyBuffer *This);
3428
3429 END_INTERFACE
3430} IRpcProxyBufferVtbl;
3431
3432interface IRpcProxyBuffer {
3433 CONST_VTBL IRpcProxyBufferVtbl* lpVtbl;
3434};
3435
3436#ifdef COBJMACROS
3437#ifndef WIDL_C_INLINE_WRAPPERS
3438/*** IUnknown methods ***/
3439#define IRpcProxyBuffer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3440#define IRpcProxyBuffer_AddRef(This) (This)->lpVtbl->AddRef(This)
3441#define IRpcProxyBuffer_Release(This) (This)->lpVtbl->Release(This)
3442/*** IRpcProxyBuffer methods ***/
3443#define IRpcProxyBuffer_Connect(This,pRpcChannelBuffer) (This)->lpVtbl->Connect(This,pRpcChannelBuffer)
3444#define IRpcProxyBuffer_Disconnect(This) (This)->lpVtbl->Disconnect(This)
3445#else
3446/*** IUnknown methods ***/
3447static inline HRESULT IRpcProxyBuffer_QueryInterface(IRpcProxyBuffer* This,REFIID riid,void **ppvObject) {
3448 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3449}
3450static inline ULONG IRpcProxyBuffer_AddRef(IRpcProxyBuffer* This) {
3451 return This->lpVtbl->AddRef(This);
3452}
3453static inline ULONG IRpcProxyBuffer_Release(IRpcProxyBuffer* This) {
3454 return This->lpVtbl->Release(This);
3455}
3456/*** IRpcProxyBuffer methods ***/
3457static inline HRESULT IRpcProxyBuffer_Connect(IRpcProxyBuffer* This,IRpcChannelBuffer *pRpcChannelBuffer) {
3458 return This->lpVtbl->Connect(This,pRpcChannelBuffer);
3459}
3460static inline void IRpcProxyBuffer_Disconnect(IRpcProxyBuffer* This) {
3461 This->lpVtbl->Disconnect(This);
3462}
3463#endif
3464#endif
3465
3466#endif
3467
3468
3469#endif /* __IRpcProxyBuffer_INTERFACE_DEFINED__ */
3470
3471#endif
3472
3473#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
3474/*****************************************************************************
3475 * IRpcStubBuffer interface
3476 */
3477#ifndef __IRpcStubBuffer_INTERFACE_DEFINED__
3478#define __IRpcStubBuffer_INTERFACE_DEFINED__
3479
3480DEFINE_GUID(IID_IRpcStubBuffer, 0xd5f56afc, 0x593b, 0x101a, 0xb5,0x69, 0x08,0x00,0x2b,0x2d,0xbf,0x7a);
3481#if defined(__cplusplus) && !defined(CINTERFACE)
3482MIDL_INTERFACE("d5f56afc-593b-101a-b569-08002b2dbf7a")
3483IRpcStubBuffer : public IUnknown
3484{
3485 virtual HRESULT STDMETHODCALLTYPE Connect(
3486 IUnknown *pUnkServer) = 0;
3487
3488 virtual void STDMETHODCALLTYPE Disconnect(
3489 ) = 0;
3490
3491 virtual HRESULT STDMETHODCALLTYPE Invoke(
3492 RPCOLEMESSAGE *_prpcmsg,
3493 IRpcChannelBuffer *_pRpcChannelBuffer) = 0;
3494
3495 virtual IRpcStubBuffer * STDMETHODCALLTYPE IsIIDSupported(
3496 REFIID riid) = 0;
3497
3498 virtual ULONG STDMETHODCALLTYPE CountRefs(
3499 ) = 0;
3500
3501 virtual HRESULT STDMETHODCALLTYPE DebugServerQueryInterface(
3502 void **ppv) = 0;
3503
3504 virtual void STDMETHODCALLTYPE DebugServerRelease(
3505 void *pv) = 0;
3506
3507};
3508#ifdef __CRT_UUID_DECL
3509__CRT_UUID_DECL(IRpcStubBuffer, 0xd5f56afc, 0x593b, 0x101a, 0xb5,0x69, 0x08,0x00,0x2b,0x2d,0xbf,0x7a)
3510#endif
3511#else
3512typedef struct IRpcStubBufferVtbl {
3513 BEGIN_INTERFACE
3514
3515 /*** IUnknown methods ***/
3516 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3517 IRpcStubBuffer *This,
3518 REFIID riid,
3519 void **ppvObject);
3520
3521 ULONG (STDMETHODCALLTYPE *AddRef)(
3522 IRpcStubBuffer *This);
3523
3524 ULONG (STDMETHODCALLTYPE *Release)(
3525 IRpcStubBuffer *This);
3526
3527 /*** IRpcStubBuffer methods ***/
3528 HRESULT (STDMETHODCALLTYPE *Connect)(
3529 IRpcStubBuffer *This,
3530 IUnknown *pUnkServer);
3531
3532 void (STDMETHODCALLTYPE *Disconnect)(
3533 IRpcStubBuffer *This);
3534
3535 HRESULT (STDMETHODCALLTYPE *Invoke)(
3536 IRpcStubBuffer *This,
3537 RPCOLEMESSAGE *_prpcmsg,
3538 IRpcChannelBuffer *_pRpcChannelBuffer);
3539
3540 IRpcStubBuffer * (STDMETHODCALLTYPE *IsIIDSupported)(
3541 IRpcStubBuffer *This,
3542 REFIID riid);
3543
3544 ULONG (STDMETHODCALLTYPE *CountRefs)(
3545 IRpcStubBuffer *This);
3546
3547 HRESULT (STDMETHODCALLTYPE *DebugServerQueryInterface)(
3548 IRpcStubBuffer *This,
3549 void **ppv);
3550
3551 void (STDMETHODCALLTYPE *DebugServerRelease)(
3552 IRpcStubBuffer *This,
3553 void *pv);
3554
3555 END_INTERFACE
3556} IRpcStubBufferVtbl;
3557
3558interface IRpcStubBuffer {
3559 CONST_VTBL IRpcStubBufferVtbl* lpVtbl;
3560};
3561
3562#ifdef COBJMACROS
3563#ifndef WIDL_C_INLINE_WRAPPERS
3564/*** IUnknown methods ***/
3565#define IRpcStubBuffer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3566#define IRpcStubBuffer_AddRef(This) (This)->lpVtbl->AddRef(This)
3567#define IRpcStubBuffer_Release(This) (This)->lpVtbl->Release(This)
3568/*** IRpcStubBuffer methods ***/
3569#define IRpcStubBuffer_Connect(This,pUnkServer) (This)->lpVtbl->Connect(This,pUnkServer)
3570#define IRpcStubBuffer_Disconnect(This) (This)->lpVtbl->Disconnect(This)
3571#define IRpcStubBuffer_Invoke(This,_prpcmsg,_pRpcChannelBuffer) (This)->lpVtbl->Invoke(This,_prpcmsg,_pRpcChannelBuffer)
3572#define IRpcStubBuffer_IsIIDSupported(This,riid) (This)->lpVtbl->IsIIDSupported(This,riid)
3573#define IRpcStubBuffer_CountRefs(This) (This)->lpVtbl->CountRefs(This)
3574#define IRpcStubBuffer_DebugServerQueryInterface(This,ppv) (This)->lpVtbl->DebugServerQueryInterface(This,ppv)
3575#define IRpcStubBuffer_DebugServerRelease(This,pv) (This)->lpVtbl->DebugServerRelease(This,pv)
3576#else
3577/*** IUnknown methods ***/
3578static inline HRESULT IRpcStubBuffer_QueryInterface(IRpcStubBuffer* This,REFIID riid,void **ppvObject) {
3579 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3580}
3581static inline ULONG IRpcStubBuffer_AddRef(IRpcStubBuffer* This) {
3582 return This->lpVtbl->AddRef(This);
3583}
3584static inline ULONG IRpcStubBuffer_Release(IRpcStubBuffer* This) {
3585 return This->lpVtbl->Release(This);
3586}
3587/*** IRpcStubBuffer methods ***/
3588static inline HRESULT IRpcStubBuffer_Connect(IRpcStubBuffer* This,IUnknown *pUnkServer) {
3589 return This->lpVtbl->Connect(This,pUnkServer);
3590}
3591static inline void IRpcStubBuffer_Disconnect(IRpcStubBuffer* This) {
3592 This->lpVtbl->Disconnect(This);
3593}
3594static inline HRESULT IRpcStubBuffer_Invoke(IRpcStubBuffer* This,RPCOLEMESSAGE *_prpcmsg,IRpcChannelBuffer *_pRpcChannelBuffer) {
3595 return This->lpVtbl->Invoke(This,_prpcmsg,_pRpcChannelBuffer);
3596}
3597static inline IRpcStubBuffer * IRpcStubBuffer_IsIIDSupported(IRpcStubBuffer* This,REFIID riid) {
3598 return This->lpVtbl->IsIIDSupported(This,riid);
3599}
3600static inline ULONG IRpcStubBuffer_CountRefs(IRpcStubBuffer* This) {
3601 return This->lpVtbl->CountRefs(This);
3602}
3603static inline HRESULT IRpcStubBuffer_DebugServerQueryInterface(IRpcStubBuffer* This,void **ppv) {
3604 return This->lpVtbl->DebugServerQueryInterface(This,ppv);
3605}
3606static inline void IRpcStubBuffer_DebugServerRelease(IRpcStubBuffer* This,void *pv) {
3607 This->lpVtbl->DebugServerRelease(This,pv);
3608}
3609#endif
3610#endif
3611
3612#endif
3613
3614
3615#endif /* __IRpcStubBuffer_INTERFACE_DEFINED__ */
3616
3617
3618/*****************************************************************************
3619 * IPSFactoryBuffer interface
3620 */
3621#ifndef __IPSFactoryBuffer_INTERFACE_DEFINED__
3622#define __IPSFactoryBuffer_INTERFACE_DEFINED__
3623
3624DEFINE_GUID(IID_IPSFactoryBuffer, 0xd5f569d0, 0x593b, 0x101a, 0xb5,0x69, 0x08,0x00,0x2b,0x2d,0xbf,0x7a);
3625#if defined(__cplusplus) && !defined(CINTERFACE)
3626MIDL_INTERFACE("d5f569d0-593b-101a-b569-08002b2dbf7a")
3627IPSFactoryBuffer : public IUnknown
3628{
3629 virtual HRESULT STDMETHODCALLTYPE CreateProxy(
3630 IUnknown *pUnkOuter,
3631 REFIID riid,
3632 IRpcProxyBuffer **ppProxy,
3633 void **ppv) = 0;
3634
3635 virtual HRESULT STDMETHODCALLTYPE CreateStub(
3636 REFIID riid,
3637 IUnknown *pUnkServer,
3638 IRpcStubBuffer **ppStub) = 0;
3639
3640};
3641#ifdef __CRT_UUID_DECL
3642__CRT_UUID_DECL(IPSFactoryBuffer, 0xd5f569d0, 0x593b, 0x101a, 0xb5,0x69, 0x08,0x00,0x2b,0x2d,0xbf,0x7a)
3643#endif
3644#else
3645typedef struct IPSFactoryBufferVtbl {
3646 BEGIN_INTERFACE
3647
3648 /*** IUnknown methods ***/
3649 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3650 IPSFactoryBuffer *This,
3651 REFIID riid,
3652 void **ppvObject);
3653
3654 ULONG (STDMETHODCALLTYPE *AddRef)(
3655 IPSFactoryBuffer *This);
3656
3657 ULONG (STDMETHODCALLTYPE *Release)(
3658 IPSFactoryBuffer *This);
3659
3660 /*** IPSFactoryBuffer methods ***/
3661 HRESULT (STDMETHODCALLTYPE *CreateProxy)(
3662 IPSFactoryBuffer *This,
3663 IUnknown *pUnkOuter,
3664 REFIID riid,
3665 IRpcProxyBuffer **ppProxy,
3666 void **ppv);
3667
3668 HRESULT (STDMETHODCALLTYPE *CreateStub)(
3669 IPSFactoryBuffer *This,
3670 REFIID riid,
3671 IUnknown *pUnkServer,
3672 IRpcStubBuffer **ppStub);
3673
3674 END_INTERFACE
3675} IPSFactoryBufferVtbl;
3676
3677interface IPSFactoryBuffer {
3678 CONST_VTBL IPSFactoryBufferVtbl* lpVtbl;
3679};
3680
3681#ifdef COBJMACROS
3682#ifndef WIDL_C_INLINE_WRAPPERS
3683/*** IUnknown methods ***/
3684#define IPSFactoryBuffer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3685#define IPSFactoryBuffer_AddRef(This) (This)->lpVtbl->AddRef(This)
3686#define IPSFactoryBuffer_Release(This) (This)->lpVtbl->Release(This)
3687/*** IPSFactoryBuffer methods ***/
3688#define IPSFactoryBuffer_CreateProxy(This,pUnkOuter,riid,ppProxy,ppv) (This)->lpVtbl->CreateProxy(This,pUnkOuter,riid,ppProxy,ppv)
3689#define IPSFactoryBuffer_CreateStub(This,riid,pUnkServer,ppStub) (This)->lpVtbl->CreateStub(This,riid,pUnkServer,ppStub)
3690#else
3691/*** IUnknown methods ***/
3692static inline HRESULT IPSFactoryBuffer_QueryInterface(IPSFactoryBuffer* This,REFIID riid,void **ppvObject) {
3693 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3694}
3695static inline ULONG IPSFactoryBuffer_AddRef(IPSFactoryBuffer* This) {
3696 return This->lpVtbl->AddRef(This);
3697}
3698static inline ULONG IPSFactoryBuffer_Release(IPSFactoryBuffer* This) {
3699 return This->lpVtbl->Release(This);
3700}
3701/*** IPSFactoryBuffer methods ***/
3702static inline HRESULT IPSFactoryBuffer_CreateProxy(IPSFactoryBuffer* This,IUnknown *pUnkOuter,REFIID riid,IRpcProxyBuffer **ppProxy,void **ppv) {
3703 return This->lpVtbl->CreateProxy(This,pUnkOuter,riid,ppProxy,ppv);
3704}
3705static inline HRESULT IPSFactoryBuffer_CreateStub(IPSFactoryBuffer* This,REFIID riid,IUnknown *pUnkServer,IRpcStubBuffer **ppStub) {
3706 return This->lpVtbl->CreateStub(This,riid,pUnkServer,ppStub);
3707}
3708#endif
3709#endif
3710
3711#endif
3712
3713
3714#endif /* __IPSFactoryBuffer_INTERFACE_DEFINED__ */
3715
3716#endif
3717
3718#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
3719#if (_WIN32_WINNT >= 0x0400 ) || defined(_WIN32_DCOM)
3720typedef struct SChannelHookCallInfo {
3721 IID iid;
3722 DWORD cbSize;
3723 GUID uCausality;
3724 DWORD dwServerPid;
3725 DWORD iMethod;
3726 void *pObject;
3727} SChannelHookCallInfo;
3728
3729/*****************************************************************************
3730 * IChannelHook interface
3731 */
3732#ifndef __IChannelHook_INTERFACE_DEFINED__
3733#define __IChannelHook_INTERFACE_DEFINED__
3734
3735DEFINE_GUID(IID_IChannelHook, 0x1008c4a0, 0x7613, 0x11cf, 0x9a,0xf1, 0x00,0x20,0xaf,0x6e,0x72,0xf4);
3736#if defined(__cplusplus) && !defined(CINTERFACE)
3737MIDL_INTERFACE("1008c4a0-7613-11cf-9af1-0020af6e72f4")
3738IChannelHook : public IUnknown
3739{
3740 virtual void STDMETHODCALLTYPE ClientGetSize(
3741 REFGUID uExtent,
3742 REFIID riid,
3743 ULONG *pDataSize) = 0;
3744
3745 virtual void STDMETHODCALLTYPE ClientFillBuffer(
3746 REFGUID uExtent,
3747 REFIID riid,
3748 ULONG *pDataSize,
3749 void *pDataBuffer) = 0;
3750
3751 virtual void STDMETHODCALLTYPE ClientNotify(
3752 REFGUID uExtent,
3753 REFIID riid,
3754 ULONG cbDataSize,
3755 void *pDataBuffer,
3756 DWORD lDataRep,
3757 HRESULT hrFault) = 0;
3758
3759 virtual void STDMETHODCALLTYPE ServerNotify(
3760 REFGUID uExtent,
3761 REFIID riid,
3762 ULONG cbDataSize,
3763 void *pDataBuffer,
3764 DWORD lDataRep) = 0;
3765
3766 virtual void STDMETHODCALLTYPE ServerGetSize(
3767 REFGUID uExtent,
3768 REFIID riid,
3769 HRESULT hrFault,
3770 ULONG *pDataSize) = 0;
3771
3772 virtual void STDMETHODCALLTYPE ServerFillBuffer(
3773 REFGUID uExtent,
3774 REFIID riid,
3775 ULONG *pDataSize,
3776 void *pDataBuffer,
3777 HRESULT hrFault) = 0;
3778
3779};
3780#ifdef __CRT_UUID_DECL
3781__CRT_UUID_DECL(IChannelHook, 0x1008c4a0, 0x7613, 0x11cf, 0x9a,0xf1, 0x00,0x20,0xaf,0x6e,0x72,0xf4)
3782#endif
3783#else
3784typedef struct IChannelHookVtbl {
3785 BEGIN_INTERFACE
3786
3787 /*** IUnknown methods ***/
3788 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3789 IChannelHook *This,
3790 REFIID riid,
3791 void **ppvObject);
3792
3793 ULONG (STDMETHODCALLTYPE *AddRef)(
3794 IChannelHook *This);
3795
3796 ULONG (STDMETHODCALLTYPE *Release)(
3797 IChannelHook *This);
3798
3799 /*** IChannelHook methods ***/
3800 void (STDMETHODCALLTYPE *ClientGetSize)(
3801 IChannelHook *This,
3802 REFGUID uExtent,
3803 REFIID riid,
3804 ULONG *pDataSize);
3805
3806 void (STDMETHODCALLTYPE *ClientFillBuffer)(
3807 IChannelHook *This,
3808 REFGUID uExtent,
3809 REFIID riid,
3810 ULONG *pDataSize,
3811 void *pDataBuffer);
3812
3813 void (STDMETHODCALLTYPE *ClientNotify)(
3814 IChannelHook *This,
3815 REFGUID uExtent,
3816 REFIID riid,
3817 ULONG cbDataSize,
3818 void *pDataBuffer,
3819 DWORD lDataRep,
3820 HRESULT hrFault);
3821
3822 void (STDMETHODCALLTYPE *ServerNotify)(
3823 IChannelHook *This,
3824 REFGUID uExtent,
3825 REFIID riid,
3826 ULONG cbDataSize,
3827 void *pDataBuffer,
3828 DWORD lDataRep);
3829
3830 void (STDMETHODCALLTYPE *ServerGetSize)(
3831 IChannelHook *This,
3832 REFGUID uExtent,
3833 REFIID riid,
3834 HRESULT hrFault,
3835 ULONG *pDataSize);
3836
3837 void (STDMETHODCALLTYPE *ServerFillBuffer)(
3838 IChannelHook *This,
3839 REFGUID uExtent,
3840 REFIID riid,
3841 ULONG *pDataSize,
3842 void *pDataBuffer,
3843 HRESULT hrFault);
3844
3845 END_INTERFACE
3846} IChannelHookVtbl;
3847
3848interface IChannelHook {
3849 CONST_VTBL IChannelHookVtbl* lpVtbl;
3850};
3851
3852#ifdef COBJMACROS
3853#ifndef WIDL_C_INLINE_WRAPPERS
3854/*** IUnknown methods ***/
3855#define IChannelHook_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3856#define IChannelHook_AddRef(This) (This)->lpVtbl->AddRef(This)
3857#define IChannelHook_Release(This) (This)->lpVtbl->Release(This)
3858/*** IChannelHook methods ***/
3859#define IChannelHook_ClientGetSize(This,uExtent,riid,pDataSize) (This)->lpVtbl->ClientGetSize(This,uExtent,riid,pDataSize)
3860#define IChannelHook_ClientFillBuffer(This,uExtent,riid,pDataSize,pDataBuffer) (This)->lpVtbl->ClientFillBuffer(This,uExtent,riid,pDataSize,pDataBuffer)
3861#define IChannelHook_ClientNotify(This,uExtent,riid,cbDataSize,pDataBuffer,lDataRep,hrFault) (This)->lpVtbl->ClientNotify(This,uExtent,riid,cbDataSize,pDataBuffer,lDataRep,hrFault)
3862#define IChannelHook_ServerNotify(This,uExtent,riid,cbDataSize,pDataBuffer,lDataRep) (This)->lpVtbl->ServerNotify(This,uExtent,riid,cbDataSize,pDataBuffer,lDataRep)
3863#define IChannelHook_ServerGetSize(This,uExtent,riid,hrFault,pDataSize) (This)->lpVtbl->ServerGetSize(This,uExtent,riid,hrFault,pDataSize)
3864#define IChannelHook_ServerFillBuffer(This,uExtent,riid,pDataSize,pDataBuffer,hrFault) (This)->lpVtbl->ServerFillBuffer(This,uExtent,riid,pDataSize,pDataBuffer,hrFault)
3865#else
3866/*** IUnknown methods ***/
3867static inline HRESULT IChannelHook_QueryInterface(IChannelHook* This,REFIID riid,void **ppvObject) {
3868 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3869}
3870static inline ULONG IChannelHook_AddRef(IChannelHook* This) {
3871 return This->lpVtbl->AddRef(This);
3872}
3873static inline ULONG IChannelHook_Release(IChannelHook* This) {
3874 return This->lpVtbl->Release(This);
3875}
3876/*** IChannelHook methods ***/
3877static inline void IChannelHook_ClientGetSize(IChannelHook* This,REFGUID uExtent,REFIID riid,ULONG *pDataSize) {
3878 This->lpVtbl->ClientGetSize(This,uExtent,riid,pDataSize);
3879}
3880static inline void IChannelHook_ClientFillBuffer(IChannelHook* This,REFGUID uExtent,REFIID riid,ULONG *pDataSize,void *pDataBuffer) {
3881 This->lpVtbl->ClientFillBuffer(This,uExtent,riid,pDataSize,pDataBuffer);
3882}
3883static inline void IChannelHook_ClientNotify(IChannelHook* This,REFGUID uExtent,REFIID riid,ULONG cbDataSize,void *pDataBuffer,DWORD lDataRep,HRESULT hrFault) {
3884 This->lpVtbl->ClientNotify(This,uExtent,riid,cbDataSize,pDataBuffer,lDataRep,hrFault);
3885}
3886static inline void IChannelHook_ServerNotify(IChannelHook* This,REFGUID uExtent,REFIID riid,ULONG cbDataSize,void *pDataBuffer,DWORD lDataRep) {
3887 This->lpVtbl->ServerNotify(This,uExtent,riid,cbDataSize,pDataBuffer,lDataRep);
3888}
3889static inline void IChannelHook_ServerGetSize(IChannelHook* This,REFGUID uExtent,REFIID riid,HRESULT hrFault,ULONG *pDataSize) {
3890 This->lpVtbl->ServerGetSize(This,uExtent,riid,hrFault,pDataSize);
3891}
3892static inline void IChannelHook_ServerFillBuffer(IChannelHook* This,REFGUID uExtent,REFIID riid,ULONG *pDataSize,void *pDataBuffer,HRESULT hrFault) {
3893 This->lpVtbl->ServerFillBuffer(This,uExtent,riid,pDataSize,pDataBuffer,hrFault);
3894}
3895#endif
3896#endif
3897
3898#endif
3899
3900
3901#endif /* __IChannelHook_INTERFACE_DEFINED__ */
3902
3903#endif
3904#endif
3905
3906#if (_WIN32_WINNT >= 0x0400 ) || defined(_WIN32_DCOM)
3907#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
3908/*****************************************************************************
3909 * IClientSecurity interface
3910 */
3911#ifndef __IClientSecurity_INTERFACE_DEFINED__
3912#define __IClientSecurity_INTERFACE_DEFINED__
3913
3914typedef struct tagSOLE_AUTHENTICATION_SERVICE {
3915 DWORD dwAuthnSvc;
3916 DWORD dwAuthzSvc;
3917 OLECHAR *pPrincipalName;
3918 HRESULT hr;
3919} SOLE_AUTHENTICATION_SERVICE;
3920
3921typedef SOLE_AUTHENTICATION_SERVICE *PSOLE_AUTHENTICATION_SERVICE;
3922
3923typedef enum tagEOLE_AUTHENTICATION_CAPABILITIES {
3924 EOAC_NONE = 0x0,
3925 EOAC_MUTUAL_AUTH = 0x1,
3926 EOAC_STATIC_CLOAKING = 0x20,
3927 EOAC_DYNAMIC_CLOAKING = 0x40,
3928 EOAC_ANY_AUTHORITY = 0x80,
3929 EOAC_MAKE_FULLSIC = 0x100,
3930 EOAC_DEFAULT = 0x800,
3931 EOAC_SECURE_REFS = 0x2,
3932 EOAC_ACCESS_CONTROL = 0x4,
3933 EOAC_APPID = 0x8,
3934 EOAC_DYNAMIC = 0x10,
3935 EOAC_REQUIRE_FULLSIC = 0x200,
3936 EOAC_AUTO_IMPERSONATE = 0x400,
3937 EOAC_NO_CUSTOM_MARSHAL = 0x2000,
3938 EOAC_DISABLE_AAA = 0x1000
3939} EOLE_AUTHENTICATION_CAPABILITIES;
3940
3941#define COLE_DEFAULT_PRINCIPAL ((OLECHAR *)(INT_PTR)-1)
3942
3943#define COLE_DEFAULT_AUTHINFO ((void *)(INT_PTR)-1)
3944
3945
3946typedef struct tagSOLE_AUTHENTICATION_INFO {
3947 DWORD dwAuthnSvc;
3948 DWORD dwAuthzSvc;
3949 void *pAuthInfo;
3950} SOLE_AUTHENTICATION_INFO;
3951typedef struct tagSOLE_AUTHENTICATION_INFO *PSOLE_AUTHENTICATION_INFO;
3952
3953typedef struct tagSOLE_AUTHENTICATION_LIST {
3954 DWORD cAuthInfo;
3955 SOLE_AUTHENTICATION_INFO *aAuthInfo;
3956} SOLE_AUTHENTICATION_LIST;
3957typedef struct tagSOLE_AUTHENTICATION_LIST *PSOLE_AUTHENTICATION_LIST;
3958
3959DEFINE_GUID(IID_IClientSecurity, 0x0000013d, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
3960#if defined(__cplusplus) && !defined(CINTERFACE)
3961MIDL_INTERFACE("0000013d-0000-0000-c000-000000000046")
3962IClientSecurity : public IUnknown
3963{
3964 virtual HRESULT STDMETHODCALLTYPE QueryBlanket(
3965 IUnknown *pProxy,
3966 DWORD *pAuthnSvc,
3967 DWORD *pAuthzSvc,
3968 OLECHAR **pServerPrincName,
3969 DWORD *pAuthnLevel,
3970 DWORD *pImpLevel,
3971 void **pAuthInfo,
3972 DWORD *pCapabilites) = 0;
3973
3974 virtual HRESULT STDMETHODCALLTYPE SetBlanket(
3975 IUnknown *pProxy,
3976 DWORD dwAuthnSvc,
3977 DWORD dwAuthzSvc,
3978 OLECHAR *pServerPrincName,
3979 DWORD dwAuthnLevel,
3980 DWORD dwImpLevel,
3981 void *pAuthInfo,
3982 DWORD dwCapabilities) = 0;
3983
3984 virtual HRESULT STDMETHODCALLTYPE CopyProxy(
3985 IUnknown *pProxy,
3986 IUnknown **ppCopy) = 0;
3987
3988};
3989#ifdef __CRT_UUID_DECL
3990__CRT_UUID_DECL(IClientSecurity, 0x0000013d, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
3991#endif
3992#else
3993typedef struct IClientSecurityVtbl {
3994 BEGIN_INTERFACE
3995
3996 /*** IUnknown methods ***/
3997 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3998 IClientSecurity *This,
3999 REFIID riid,
4000 void **ppvObject);
4001
4002 ULONG (STDMETHODCALLTYPE *AddRef)(
4003 IClientSecurity *This);
4004
4005 ULONG (STDMETHODCALLTYPE *Release)(
4006 IClientSecurity *This);
4007
4008 /*** IClientSecurity methods ***/
4009 HRESULT (STDMETHODCALLTYPE *QueryBlanket)(
4010 IClientSecurity *This,
4011 IUnknown *pProxy,
4012 DWORD *pAuthnSvc,
4013 DWORD *pAuthzSvc,
4014 OLECHAR **pServerPrincName,
4015 DWORD *pAuthnLevel,
4016 DWORD *pImpLevel,
4017 void **pAuthInfo,
4018 DWORD *pCapabilites);
4019
4020 HRESULT (STDMETHODCALLTYPE *SetBlanket)(
4021 IClientSecurity *This,
4022 IUnknown *pProxy,
4023 DWORD dwAuthnSvc,
4024 DWORD dwAuthzSvc,
4025 OLECHAR *pServerPrincName,
4026 DWORD dwAuthnLevel,
4027 DWORD dwImpLevel,
4028 void *pAuthInfo,
4029 DWORD dwCapabilities);
4030
4031 HRESULT (STDMETHODCALLTYPE *CopyProxy)(
4032 IClientSecurity *This,
4033 IUnknown *pProxy,
4034 IUnknown **ppCopy);
4035
4036 END_INTERFACE
4037} IClientSecurityVtbl;
4038
4039interface IClientSecurity {
4040 CONST_VTBL IClientSecurityVtbl* lpVtbl;
4041};
4042
4043#ifdef COBJMACROS
4044#ifndef WIDL_C_INLINE_WRAPPERS
4045/*** IUnknown methods ***/
4046#define IClientSecurity_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
4047#define IClientSecurity_AddRef(This) (This)->lpVtbl->AddRef(This)
4048#define IClientSecurity_Release(This) (This)->lpVtbl->Release(This)
4049/*** IClientSecurity methods ***/
4050#define IClientSecurity_QueryBlanket(This,pProxy,pAuthnSvc,pAuthzSvc,pServerPrincName,pAuthnLevel,pImpLevel,pAuthInfo,pCapabilites) (This)->lpVtbl->QueryBlanket(This,pProxy,pAuthnSvc,pAuthzSvc,pServerPrincName,pAuthnLevel,pImpLevel,pAuthInfo,pCapabilites)
4051#define IClientSecurity_SetBlanket(This,pProxy,dwAuthnSvc,dwAuthzSvc,pServerPrincName,dwAuthnLevel,dwImpLevel,pAuthInfo,dwCapabilities) (This)->lpVtbl->SetBlanket(This,pProxy,dwAuthnSvc,dwAuthzSvc,pServerPrincName,dwAuthnLevel,dwImpLevel,pAuthInfo,dwCapabilities)
4052#define IClientSecurity_CopyProxy(This,pProxy,ppCopy) (This)->lpVtbl->CopyProxy(This,pProxy,ppCopy)
4053#else
4054/*** IUnknown methods ***/
4055static inline HRESULT IClientSecurity_QueryInterface(IClientSecurity* This,REFIID riid,void **ppvObject) {
4056 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
4057}
4058static inline ULONG IClientSecurity_AddRef(IClientSecurity* This) {
4059 return This->lpVtbl->AddRef(This);
4060}
4061static inline ULONG IClientSecurity_Release(IClientSecurity* This) {
4062 return This->lpVtbl->Release(This);
4063}
4064/*** IClientSecurity methods ***/
4065static inline HRESULT IClientSecurity_QueryBlanket(IClientSecurity* This,IUnknown *pProxy,DWORD *pAuthnSvc,DWORD *pAuthzSvc,OLECHAR **pServerPrincName,DWORD *pAuthnLevel,DWORD *pImpLevel,void **pAuthInfo,DWORD *pCapabilites) {
4066 return This->lpVtbl->QueryBlanket(This,pProxy,pAuthnSvc,pAuthzSvc,pServerPrincName,pAuthnLevel,pImpLevel,pAuthInfo,pCapabilites);
4067}
4068static inline HRESULT IClientSecurity_SetBlanket(IClientSecurity* This,IUnknown *pProxy,DWORD dwAuthnSvc,DWORD dwAuthzSvc,OLECHAR *pServerPrincName,DWORD dwAuthnLevel,DWORD dwImpLevel,void *pAuthInfo,DWORD dwCapabilities) {
4069 return This->lpVtbl->SetBlanket(This,pProxy,dwAuthnSvc,dwAuthzSvc,pServerPrincName,dwAuthnLevel,dwImpLevel,pAuthInfo,dwCapabilities);
4070}
4071static inline HRESULT IClientSecurity_CopyProxy(IClientSecurity* This,IUnknown *pProxy,IUnknown **ppCopy) {
4072 return This->lpVtbl->CopyProxy(This,pProxy,ppCopy);
4073}
4074#endif
4075#endif
4076
4077#endif
4078
4079
4080#endif /* __IClientSecurity_INTERFACE_DEFINED__ */
4081
4082#endif
4083
4084#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
4085/*****************************************************************************
4086 * IServerSecurity interface
4087 */
4088#ifndef __IServerSecurity_INTERFACE_DEFINED__
4089#define __IServerSecurity_INTERFACE_DEFINED__
4090
4091DEFINE_GUID(IID_IServerSecurity, 0x0000013e, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
4092#if defined(__cplusplus) && !defined(CINTERFACE)
4093MIDL_INTERFACE("0000013e-0000-0000-c000-000000000046")
4094IServerSecurity : public IUnknown
4095{
4096 virtual HRESULT STDMETHODCALLTYPE QueryBlanket(
4097 DWORD *pAuthnSvc,
4098 DWORD *pAuthzSvc,
4099 OLECHAR **pServerPrincName,
4100 DWORD *pAuthnLevel,
4101 DWORD *pImpLevel,
4102 void **pPrivs,
4103 DWORD *pCapabilities) = 0;
4104
4105 virtual HRESULT STDMETHODCALLTYPE ImpersonateClient(
4106 ) = 0;
4107
4108 virtual HRESULT STDMETHODCALLTYPE RevertToSelf(
4109 ) = 0;
4110
4111 virtual WINBOOL STDMETHODCALLTYPE IsImpersonating(
4112 ) = 0;
4113
4114};
4115#ifdef __CRT_UUID_DECL
4116__CRT_UUID_DECL(IServerSecurity, 0x0000013e, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
4117#endif
4118#else
4119typedef struct IServerSecurityVtbl {
4120 BEGIN_INTERFACE
4121
4122 /*** IUnknown methods ***/
4123 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
4124 IServerSecurity *This,
4125 REFIID riid,
4126 void **ppvObject);
4127
4128 ULONG (STDMETHODCALLTYPE *AddRef)(
4129 IServerSecurity *This);
4130
4131 ULONG (STDMETHODCALLTYPE *Release)(
4132 IServerSecurity *This);
4133
4134 /*** IServerSecurity methods ***/
4135 HRESULT (STDMETHODCALLTYPE *QueryBlanket)(
4136 IServerSecurity *This,
4137 DWORD *pAuthnSvc,
4138 DWORD *pAuthzSvc,
4139 OLECHAR **pServerPrincName,
4140 DWORD *pAuthnLevel,
4141 DWORD *pImpLevel,
4142 void **pPrivs,
4143 DWORD *pCapabilities);
4144
4145 HRESULT (STDMETHODCALLTYPE *ImpersonateClient)(
4146 IServerSecurity *This);
4147
4148 HRESULT (STDMETHODCALLTYPE *RevertToSelf)(
4149 IServerSecurity *This);
4150
4151 WINBOOL (STDMETHODCALLTYPE *IsImpersonating)(
4152 IServerSecurity *This);
4153
4154 END_INTERFACE
4155} IServerSecurityVtbl;
4156
4157interface IServerSecurity {
4158 CONST_VTBL IServerSecurityVtbl* lpVtbl;
4159};
4160
4161#ifdef COBJMACROS
4162#ifndef WIDL_C_INLINE_WRAPPERS
4163/*** IUnknown methods ***/
4164#define IServerSecurity_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
4165#define IServerSecurity_AddRef(This) (This)->lpVtbl->AddRef(This)
4166#define IServerSecurity_Release(This) (This)->lpVtbl->Release(This)
4167/*** IServerSecurity methods ***/
4168#define IServerSecurity_QueryBlanket(This,pAuthnSvc,pAuthzSvc,pServerPrincName,pAuthnLevel,pImpLevel,pPrivs,pCapabilities) (This)->lpVtbl->QueryBlanket(This,pAuthnSvc,pAuthzSvc,pServerPrincName,pAuthnLevel,pImpLevel,pPrivs,pCapabilities)
4169#define IServerSecurity_ImpersonateClient(This) (This)->lpVtbl->ImpersonateClient(This)
4170#define IServerSecurity_RevertToSelf(This) (This)->lpVtbl->RevertToSelf(This)
4171#define IServerSecurity_IsImpersonating(This) (This)->lpVtbl->IsImpersonating(This)
4172#else
4173/*** IUnknown methods ***/
4174static inline HRESULT IServerSecurity_QueryInterface(IServerSecurity* This,REFIID riid,void **ppvObject) {
4175 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
4176}
4177static inline ULONG IServerSecurity_AddRef(IServerSecurity* This) {
4178 return This->lpVtbl->AddRef(This);
4179}
4180static inline ULONG IServerSecurity_Release(IServerSecurity* This) {
4181 return This->lpVtbl->Release(This);
4182}
4183/*** IServerSecurity methods ***/
4184static inline HRESULT IServerSecurity_QueryBlanket(IServerSecurity* This,DWORD *pAuthnSvc,DWORD *pAuthzSvc,OLECHAR **pServerPrincName,DWORD *pAuthnLevel,DWORD *pImpLevel,void **pPrivs,DWORD *pCapabilities) {
4185 return This->lpVtbl->QueryBlanket(This,pAuthnSvc,pAuthzSvc,pServerPrincName,pAuthnLevel,pImpLevel,pPrivs,pCapabilities);
4186}
4187static inline HRESULT IServerSecurity_ImpersonateClient(IServerSecurity* This) {
4188 return This->lpVtbl->ImpersonateClient(This);
4189}
4190static inline HRESULT IServerSecurity_RevertToSelf(IServerSecurity* This) {
4191 return This->lpVtbl->RevertToSelf(This);
4192}
4193static inline WINBOOL IServerSecurity_IsImpersonating(IServerSecurity* This) {
4194 return This->lpVtbl->IsImpersonating(This);
4195}
4196#endif
4197#endif
4198
4199#endif
4200
4201
4202#endif /* __IServerSecurity_INTERFACE_DEFINED__ */
4203
4204
4205typedef enum tagRPCOPT_PROPERTIES {
4206 COMBND_RPCTIMEOUT = 0x1,
4207 COMBND_SERVER_LOCALITY = 0x2,
4208 COMBND_RESERVED1 = 0x4
4209} RPCOPT_PROPERTIES;
4210
4211typedef enum tagRPCOPT_SERVER_LOCALITY_VALUES {
4212 SERVER_LOCALITY_PROCESS_LOCAL = 0,
4213 SERVER_LOCALITY_MACHINE_LOCAL = 1,
4214 SERVER_LOCALITY_REMOTE = 2
4215} RPCOPT_SERVER_LOCALITY_VALUES;
4216
4217/*****************************************************************************
4218 * IRpcOptions interface
4219 */
4220#ifndef __IRpcOptions_INTERFACE_DEFINED__
4221#define __IRpcOptions_INTERFACE_DEFINED__
4222
4223DEFINE_GUID(IID_IRpcOptions, 0x00000144, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
4224#if defined(__cplusplus) && !defined(CINTERFACE)
4225MIDL_INTERFACE("00000144-0000-0000-c000-000000000046")
4226IRpcOptions : public IUnknown
4227{
4228 virtual HRESULT STDMETHODCALLTYPE Set(
4229 IUnknown *pPrx,
4230 RPCOPT_PROPERTIES dwProperty,
4231 ULONG_PTR dwValue) = 0;
4232
4233 virtual HRESULT STDMETHODCALLTYPE Query(
4234 IUnknown *pPrx,
4235 RPCOPT_PROPERTIES dwProperty,
4236 ULONG_PTR *pdwValue) = 0;
4237
4238};
4239#ifdef __CRT_UUID_DECL
4240__CRT_UUID_DECL(IRpcOptions, 0x00000144, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
4241#endif
4242#else
4243typedef struct IRpcOptionsVtbl {
4244 BEGIN_INTERFACE
4245
4246 /*** IUnknown methods ***/
4247 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
4248 IRpcOptions *This,
4249 REFIID riid,
4250 void **ppvObject);
4251
4252 ULONG (STDMETHODCALLTYPE *AddRef)(
4253 IRpcOptions *This);
4254
4255 ULONG (STDMETHODCALLTYPE *Release)(
4256 IRpcOptions *This);
4257
4258 /*** IRpcOptions methods ***/
4259 HRESULT (STDMETHODCALLTYPE *Set)(
4260 IRpcOptions *This,
4261 IUnknown *pPrx,
4262 RPCOPT_PROPERTIES dwProperty,
4263 ULONG_PTR dwValue);
4264
4265 HRESULT (STDMETHODCALLTYPE *Query)(
4266 IRpcOptions *This,
4267 IUnknown *pPrx,
4268 RPCOPT_PROPERTIES dwProperty,
4269 ULONG_PTR *pdwValue);
4270
4271 END_INTERFACE
4272} IRpcOptionsVtbl;
4273
4274interface IRpcOptions {
4275 CONST_VTBL IRpcOptionsVtbl* lpVtbl;
4276};
4277
4278#ifdef COBJMACROS
4279#ifndef WIDL_C_INLINE_WRAPPERS
4280/*** IUnknown methods ***/
4281#define IRpcOptions_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
4282#define IRpcOptions_AddRef(This) (This)->lpVtbl->AddRef(This)
4283#define IRpcOptions_Release(This) (This)->lpVtbl->Release(This)
4284/*** IRpcOptions methods ***/
4285#define IRpcOptions_Set(This,pPrx,dwProperty,dwValue) (This)->lpVtbl->Set(This,pPrx,dwProperty,dwValue)
4286#define IRpcOptions_Query(This,pPrx,dwProperty,pdwValue) (This)->lpVtbl->Query(This,pPrx,dwProperty,pdwValue)
4287#else
4288/*** IUnknown methods ***/
4289static inline HRESULT IRpcOptions_QueryInterface(IRpcOptions* This,REFIID riid,void **ppvObject) {
4290 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
4291}
4292static inline ULONG IRpcOptions_AddRef(IRpcOptions* This) {
4293 return This->lpVtbl->AddRef(This);
4294}
4295static inline ULONG IRpcOptions_Release(IRpcOptions* This) {
4296 return This->lpVtbl->Release(This);
4297}
4298/*** IRpcOptions methods ***/
4299static inline HRESULT IRpcOptions_Set(IRpcOptions* This,IUnknown *pPrx,RPCOPT_PROPERTIES dwProperty,ULONG_PTR dwValue) {
4300 return This->lpVtbl->Set(This,pPrx,dwProperty,dwValue);
4301}
4302static inline HRESULT IRpcOptions_Query(IRpcOptions* This,IUnknown *pPrx,RPCOPT_PROPERTIES dwProperty,ULONG_PTR *pdwValue) {
4303 return This->lpVtbl->Query(This,pPrx,dwProperty,pdwValue);
4304}
4305#endif
4306#endif
4307
4308#endif
4309
4310
4311#endif /* __IRpcOptions_INTERFACE_DEFINED__ */
4312
4313#endif
4314
4315#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
4316typedef enum tagGLOBALOPT_PROPERTIES {
4317 COMGLB_EXCEPTION_HANDLING = 1,
4318 COMGLB_APPID = 2,
4319 COMGLB_RPC_THREADPOOL_SETTING = 3,
4320 COMGLB_RO_SETTINGS = 4,
4321 COMGLB_UNMARSHALING_POLICY = 5
4322} GLOBALOPT_PROPERTIES;
4323
4324typedef enum tagGLOBALOPT_EH_VALUES {
4325 COMGLB_EXCEPTION_HANDLE = 0,
4326 COMGLB_EXCEPTION_DONOT_HANDLE_FATAL = 1,
4327 COMGLB_EXCEPTION_DONOT_HANDLE = COMGLB_EXCEPTION_DONOT_HANDLE_FATAL,
4328 COMGLB_EXCEPTION_DONOT_HANDLE_ANY = 2
4329} GLOBALOPT_EH_VALUES;
4330
4331typedef enum tagGLOBALOPT_RPCTP_VALUES {
4332 COMGLB_RPC_THREADPOOL_SETTING_DEFAULT_POOL = 0,
4333 COMGLB_RPC_THREADPOOL_SETTING_PRIVATE_POOL = 1
4334} GLOBALOPT_RPCTP_VALUES;
4335
4336typedef enum tagGLOBALOPT_RO_FLAGS {
4337 COMGLB_STA_MODALLOOP_REMOVE_TOUCH_MESSAGES = 0x1,
4338 COMGLB_STA_MODALLOOP_SHARED_QUEUE_REMOVE_INPUT_MESSAGES = 0x2,
4339 COMGLB_STA_MODALLOOP_SHARED_QUEUE_DONOT_REMOVE_INPUT_MESSAGES = 0x4,
4340 COMGLB_FAST_RUNDOWN = 0x8,
4341 COMGLB_RESERVED1 = 0x10,
4342 COMGLB_RESERVED2 = 0x20,
4343 COMGLB_RESERVED3 = 0x40,
4344 COMGLB_STA_MODALLOOP_SHARED_QUEUE_REORDER_POINTER_MESSAGES = 0x80
4345} GLOBALOPT_RO_FLAGS;
4346
4347typedef enum tagGLOBALOPT_UNMARSHALING_POLICY_VALUES {
4348 COMGLB_UNMARSHALING_POLICY_NORMAL = 0,
4349 COMGLB_UNMARSHALING_POLICY_STRONG = 1,
4350 COMGLB_UNMARSHALING_POLICY_HYBRID = 2
4351} GLOBALOPT_UNMARSHALING_POLICY_VALUES;
4352
4353/*****************************************************************************
4354 * IGlobalOptions interface
4355 */
4356#ifndef __IGlobalOptions_INTERFACE_DEFINED__
4357#define __IGlobalOptions_INTERFACE_DEFINED__
4358
4359DEFINE_GUID(IID_IGlobalOptions, 0x0000015b, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
4360#if defined(__cplusplus) && !defined(CINTERFACE)
4361MIDL_INTERFACE("0000015b-0000-0000-c000-000000000046")
4362IGlobalOptions : public IUnknown
4363{
4364 virtual HRESULT STDMETHODCALLTYPE Set(
4365 GLOBALOPT_PROPERTIES dwProperty,
4366 ULONG_PTR dwValue) = 0;
4367
4368 virtual HRESULT STDMETHODCALLTYPE Query(
4369 GLOBALOPT_PROPERTIES dwProperty,
4370 ULONG_PTR *pdwValue) = 0;
4371
4372};
4373#ifdef __CRT_UUID_DECL
4374__CRT_UUID_DECL(IGlobalOptions, 0x0000015b, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
4375#endif
4376#else
4377typedef struct IGlobalOptionsVtbl {
4378 BEGIN_INTERFACE
4379
4380 /*** IUnknown methods ***/
4381 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
4382 IGlobalOptions *This,
4383 REFIID riid,
4384 void **ppvObject);
4385
4386 ULONG (STDMETHODCALLTYPE *AddRef)(
4387 IGlobalOptions *This);
4388
4389 ULONG (STDMETHODCALLTYPE *Release)(
4390 IGlobalOptions *This);
4391
4392 /*** IGlobalOptions methods ***/
4393 HRESULT (STDMETHODCALLTYPE *Set)(
4394 IGlobalOptions *This,
4395 GLOBALOPT_PROPERTIES dwProperty,
4396 ULONG_PTR dwValue);
4397
4398 HRESULT (STDMETHODCALLTYPE *Query)(
4399 IGlobalOptions *This,
4400 GLOBALOPT_PROPERTIES dwProperty,
4401 ULONG_PTR *pdwValue);
4402
4403 END_INTERFACE
4404} IGlobalOptionsVtbl;
4405
4406interface IGlobalOptions {
4407 CONST_VTBL IGlobalOptionsVtbl* lpVtbl;
4408};
4409
4410#ifdef COBJMACROS
4411#ifndef WIDL_C_INLINE_WRAPPERS
4412/*** IUnknown methods ***/
4413#define IGlobalOptions_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
4414#define IGlobalOptions_AddRef(This) (This)->lpVtbl->AddRef(This)
4415#define IGlobalOptions_Release(This) (This)->lpVtbl->Release(This)
4416/*** IGlobalOptions methods ***/
4417#define IGlobalOptions_Set(This,dwProperty,dwValue) (This)->lpVtbl->Set(This,dwProperty,dwValue)
4418#define IGlobalOptions_Query(This,dwProperty,pdwValue) (This)->lpVtbl->Query(This,dwProperty,pdwValue)
4419#else
4420/*** IUnknown methods ***/
4421static inline HRESULT IGlobalOptions_QueryInterface(IGlobalOptions* This,REFIID riid,void **ppvObject) {
4422 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
4423}
4424static inline ULONG IGlobalOptions_AddRef(IGlobalOptions* This) {
4425 return This->lpVtbl->AddRef(This);
4426}
4427static inline ULONG IGlobalOptions_Release(IGlobalOptions* This) {
4428 return This->lpVtbl->Release(This);
4429}
4430/*** IGlobalOptions methods ***/
4431static inline HRESULT IGlobalOptions_Set(IGlobalOptions* This,GLOBALOPT_PROPERTIES dwProperty,ULONG_PTR dwValue) {
4432 return This->lpVtbl->Set(This,dwProperty,dwValue);
4433}
4434static inline HRESULT IGlobalOptions_Query(IGlobalOptions* This,GLOBALOPT_PROPERTIES dwProperty,ULONG_PTR *pdwValue) {
4435 return This->lpVtbl->Query(This,dwProperty,pdwValue);
4436}
4437#endif
4438#endif
4439
4440#endif
4441
4442
4443#endif /* __IGlobalOptions_INTERFACE_DEFINED__ */
4444
4445#endif
4446#endif
4447
4448#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
4449/*****************************************************************************
4450 * ISurrogate interface
4451 */
4452#ifndef __ISurrogate_INTERFACE_DEFINED__
4453#define __ISurrogate_INTERFACE_DEFINED__
4454
4455typedef ISurrogate *LPSURROGATE;
4456
4457DEFINE_GUID(IID_ISurrogate, 0x00000022, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
4458#if defined(__cplusplus) && !defined(CINTERFACE)
4459MIDL_INTERFACE("00000022-0000-0000-c000-000000000046")
4460ISurrogate : public IUnknown
4461{
4462 virtual HRESULT STDMETHODCALLTYPE LoadDllServer(
4463 REFCLSID Clsid) = 0;
4464
4465 virtual HRESULT STDMETHODCALLTYPE FreeSurrogate(
4466 ) = 0;
4467
4468};
4469#ifdef __CRT_UUID_DECL
4470__CRT_UUID_DECL(ISurrogate, 0x00000022, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
4471#endif
4472#else
4473typedef struct ISurrogateVtbl {
4474 BEGIN_INTERFACE
4475
4476 /*** IUnknown methods ***/
4477 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
4478 ISurrogate *This,
4479 REFIID riid,
4480 void **ppvObject);
4481
4482 ULONG (STDMETHODCALLTYPE *AddRef)(
4483 ISurrogate *This);
4484
4485 ULONG (STDMETHODCALLTYPE *Release)(
4486 ISurrogate *This);
4487
4488 /*** ISurrogate methods ***/
4489 HRESULT (STDMETHODCALLTYPE *LoadDllServer)(
4490 ISurrogate *This,
4491 REFCLSID Clsid);
4492
4493 HRESULT (STDMETHODCALLTYPE *FreeSurrogate)(
4494 ISurrogate *This);
4495
4496 END_INTERFACE
4497} ISurrogateVtbl;
4498
4499interface ISurrogate {
4500 CONST_VTBL ISurrogateVtbl* lpVtbl;
4501};
4502
4503#ifdef COBJMACROS
4504#ifndef WIDL_C_INLINE_WRAPPERS
4505/*** IUnknown methods ***/
4506#define ISurrogate_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
4507#define ISurrogate_AddRef(This) (This)->lpVtbl->AddRef(This)
4508#define ISurrogate_Release(This) (This)->lpVtbl->Release(This)
4509/*** ISurrogate methods ***/
4510#define ISurrogate_LoadDllServer(This,Clsid) (This)->lpVtbl->LoadDllServer(This,Clsid)
4511#define ISurrogate_FreeSurrogate(This) (This)->lpVtbl->FreeSurrogate(This)
4512#else
4513/*** IUnknown methods ***/
4514static inline HRESULT ISurrogate_QueryInterface(ISurrogate* This,REFIID riid,void **ppvObject) {
4515 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
4516}
4517static inline ULONG ISurrogate_AddRef(ISurrogate* This) {
4518 return This->lpVtbl->AddRef(This);
4519}
4520static inline ULONG ISurrogate_Release(ISurrogate* This) {
4521 return This->lpVtbl->Release(This);
4522}
4523/*** ISurrogate methods ***/
4524static inline HRESULT ISurrogate_LoadDllServer(ISurrogate* This,REFCLSID Clsid) {
4525 return This->lpVtbl->LoadDllServer(This,Clsid);
4526}
4527static inline HRESULT ISurrogate_FreeSurrogate(ISurrogate* This) {
4528 return This->lpVtbl->FreeSurrogate(This);
4529}
4530#endif
4531#endif
4532
4533#endif
4534
4535
4536#endif /* __ISurrogate_INTERFACE_DEFINED__ */
4537
4538
4539/*****************************************************************************
4540 * IGlobalInterfaceTable interface
4541 */
4542#ifndef __IGlobalInterfaceTable_INTERFACE_DEFINED__
4543#define __IGlobalInterfaceTable_INTERFACE_DEFINED__
4544
4545typedef IGlobalInterfaceTable *LPGLOBALINTERFACETABLE;
4546
4547DEFINE_GUID(IID_IGlobalInterfaceTable, 0x00000146, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
4548#if defined(__cplusplus) && !defined(CINTERFACE)
4549MIDL_INTERFACE("00000146-0000-0000-c000-000000000046")
4550IGlobalInterfaceTable : public IUnknown
4551{
4552 virtual HRESULT STDMETHODCALLTYPE RegisterInterfaceInGlobal(
4553 IUnknown *pUnk,
4554 REFIID riid,
4555 DWORD *pdwCookie) = 0;
4556
4557 virtual HRESULT STDMETHODCALLTYPE RevokeInterfaceFromGlobal(
4558 DWORD dwCookie) = 0;
4559
4560 virtual HRESULT STDMETHODCALLTYPE GetInterfaceFromGlobal(
4561 DWORD dwCookie,
4562 REFIID riid,
4563 void **ppv) = 0;
4564
4565};
4566#ifdef __CRT_UUID_DECL
4567__CRT_UUID_DECL(IGlobalInterfaceTable, 0x00000146, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
4568#endif
4569#else
4570typedef struct IGlobalInterfaceTableVtbl {
4571 BEGIN_INTERFACE
4572
4573 /*** IUnknown methods ***/
4574 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
4575 IGlobalInterfaceTable *This,
4576 REFIID riid,
4577 void **ppvObject);
4578
4579 ULONG (STDMETHODCALLTYPE *AddRef)(
4580 IGlobalInterfaceTable *This);
4581
4582 ULONG (STDMETHODCALLTYPE *Release)(
4583 IGlobalInterfaceTable *This);
4584
4585 /*** IGlobalInterfaceTable methods ***/
4586 HRESULT (STDMETHODCALLTYPE *RegisterInterfaceInGlobal)(
4587 IGlobalInterfaceTable *This,
4588 IUnknown *pUnk,
4589 REFIID riid,
4590 DWORD *pdwCookie);
4591
4592 HRESULT (STDMETHODCALLTYPE *RevokeInterfaceFromGlobal)(
4593 IGlobalInterfaceTable *This,
4594 DWORD dwCookie);
4595
4596 HRESULT (STDMETHODCALLTYPE *GetInterfaceFromGlobal)(
4597 IGlobalInterfaceTable *This,
4598 DWORD dwCookie,
4599 REFIID riid,
4600 void **ppv);
4601
4602 END_INTERFACE
4603} IGlobalInterfaceTableVtbl;
4604
4605interface IGlobalInterfaceTable {
4606 CONST_VTBL IGlobalInterfaceTableVtbl* lpVtbl;
4607};
4608
4609#ifdef COBJMACROS
4610#ifndef WIDL_C_INLINE_WRAPPERS
4611/*** IUnknown methods ***/
4612#define IGlobalInterfaceTable_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
4613#define IGlobalInterfaceTable_AddRef(This) (This)->lpVtbl->AddRef(This)
4614#define IGlobalInterfaceTable_Release(This) (This)->lpVtbl->Release(This)
4615/*** IGlobalInterfaceTable methods ***/
4616#define IGlobalInterfaceTable_RegisterInterfaceInGlobal(This,pUnk,riid,pdwCookie) (This)->lpVtbl->RegisterInterfaceInGlobal(This,pUnk,riid,pdwCookie)
4617#define IGlobalInterfaceTable_RevokeInterfaceFromGlobal(This,dwCookie) (This)->lpVtbl->RevokeInterfaceFromGlobal(This,dwCookie)
4618#define IGlobalInterfaceTable_GetInterfaceFromGlobal(This,dwCookie,riid,ppv) (This)->lpVtbl->GetInterfaceFromGlobal(This,dwCookie,riid,ppv)
4619#else
4620/*** IUnknown methods ***/
4621static inline HRESULT IGlobalInterfaceTable_QueryInterface(IGlobalInterfaceTable* This,REFIID riid,void **ppvObject) {
4622 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
4623}
4624static inline ULONG IGlobalInterfaceTable_AddRef(IGlobalInterfaceTable* This) {
4625 return This->lpVtbl->AddRef(This);
4626}
4627static inline ULONG IGlobalInterfaceTable_Release(IGlobalInterfaceTable* This) {
4628 return This->lpVtbl->Release(This);
4629}
4630/*** IGlobalInterfaceTable methods ***/
4631static inline HRESULT IGlobalInterfaceTable_RegisterInterfaceInGlobal(IGlobalInterfaceTable* This,IUnknown *pUnk,REFIID riid,DWORD *pdwCookie) {
4632 return This->lpVtbl->RegisterInterfaceInGlobal(This,pUnk,riid,pdwCookie);
4633}
4634static inline HRESULT IGlobalInterfaceTable_RevokeInterfaceFromGlobal(IGlobalInterfaceTable* This,DWORD dwCookie) {
4635 return This->lpVtbl->RevokeInterfaceFromGlobal(This,dwCookie);
4636}
4637static inline HRESULT IGlobalInterfaceTable_GetInterfaceFromGlobal(IGlobalInterfaceTable* This,DWORD dwCookie,REFIID riid,void **ppv) {
4638 return This->lpVtbl->GetInterfaceFromGlobal(This,dwCookie,riid,ppv);
4639}
4640#endif
4641#endif
4642
4643#endif
4644
4645
4646#endif /* __IGlobalInterfaceTable_INTERFACE_DEFINED__ */
4647
4648#endif
4649
4650#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
4651/*****************************************************************************
4652 * ISynchronize interface
4653 */
4654#ifndef __ISynchronize_INTERFACE_DEFINED__
4655#define __ISynchronize_INTERFACE_DEFINED__
4656
4657DEFINE_GUID(IID_ISynchronize, 0x00000030, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
4658#if defined(__cplusplus) && !defined(CINTERFACE)
4659MIDL_INTERFACE("00000030-0000-0000-c000-000000000046")
4660ISynchronize : public IUnknown
4661{
4662 virtual HRESULT STDMETHODCALLTYPE Wait(
4663 DWORD dwFlags,
4664 DWORD dwMilliseconds) = 0;
4665
4666 virtual HRESULT STDMETHODCALLTYPE Signal(
4667 ) = 0;
4668
4669 virtual HRESULT STDMETHODCALLTYPE Reset(
4670 ) = 0;
4671
4672};
4673#ifdef __CRT_UUID_DECL
4674__CRT_UUID_DECL(ISynchronize, 0x00000030, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
4675#endif
4676#else
4677typedef struct ISynchronizeVtbl {
4678 BEGIN_INTERFACE
4679
4680 /*** IUnknown methods ***/
4681 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
4682 ISynchronize *This,
4683 REFIID riid,
4684 void **ppvObject);
4685
4686 ULONG (STDMETHODCALLTYPE *AddRef)(
4687 ISynchronize *This);
4688
4689 ULONG (STDMETHODCALLTYPE *Release)(
4690 ISynchronize *This);
4691
4692 /*** ISynchronize methods ***/
4693 HRESULT (STDMETHODCALLTYPE *Wait)(
4694 ISynchronize *This,
4695 DWORD dwFlags,
4696 DWORD dwMilliseconds);
4697
4698 HRESULT (STDMETHODCALLTYPE *Signal)(
4699 ISynchronize *This);
4700
4701 HRESULT (STDMETHODCALLTYPE *Reset)(
4702 ISynchronize *This);
4703
4704 END_INTERFACE
4705} ISynchronizeVtbl;
4706
4707interface ISynchronize {
4708 CONST_VTBL ISynchronizeVtbl* lpVtbl;
4709};
4710
4711#ifdef COBJMACROS
4712#ifndef WIDL_C_INLINE_WRAPPERS
4713/*** IUnknown methods ***/
4714#define ISynchronize_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
4715#define ISynchronize_AddRef(This) (This)->lpVtbl->AddRef(This)
4716#define ISynchronize_Release(This) (This)->lpVtbl->Release(This)
4717/*** ISynchronize methods ***/
4718#define ISynchronize_Wait(This,dwFlags,dwMilliseconds) (This)->lpVtbl->Wait(This,dwFlags,dwMilliseconds)
4719#define ISynchronize_Signal(This) (This)->lpVtbl->Signal(This)
4720#define ISynchronize_Reset(This) (This)->lpVtbl->Reset(This)
4721#else
4722/*** IUnknown methods ***/
4723static inline HRESULT ISynchronize_QueryInterface(ISynchronize* This,REFIID riid,void **ppvObject) {
4724 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
4725}
4726static inline ULONG ISynchronize_AddRef(ISynchronize* This) {
4727 return This->lpVtbl->AddRef(This);
4728}
4729static inline ULONG ISynchronize_Release(ISynchronize* This) {
4730 return This->lpVtbl->Release(This);
4731}
4732/*** ISynchronize methods ***/
4733static inline HRESULT ISynchronize_Wait(ISynchronize* This,DWORD dwFlags,DWORD dwMilliseconds) {
4734 return This->lpVtbl->Wait(This,dwFlags,dwMilliseconds);
4735}
4736static inline HRESULT ISynchronize_Signal(ISynchronize* This) {
4737 return This->lpVtbl->Signal(This);
4738}
4739static inline HRESULT ISynchronize_Reset(ISynchronize* This) {
4740 return This->lpVtbl->Reset(This);
4741}
4742#endif
4743#endif
4744
4745#endif
4746
4747
4748#endif /* __ISynchronize_INTERFACE_DEFINED__ */
4749
4750
4751/*****************************************************************************
4752 * ISynchronizeHandle interface
4753 */
4754#ifndef __ISynchronizeHandle_INTERFACE_DEFINED__
4755#define __ISynchronizeHandle_INTERFACE_DEFINED__
4756
4757DEFINE_GUID(IID_ISynchronizeHandle, 0x00000031, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
4758#if defined(__cplusplus) && !defined(CINTERFACE)
4759MIDL_INTERFACE("00000031-0000-0000-c000-000000000046")
4760ISynchronizeHandle : public IUnknown
4761{
4762 virtual HRESULT STDMETHODCALLTYPE GetHandle(
4763 HANDLE *ph) = 0;
4764
4765};
4766#ifdef __CRT_UUID_DECL
4767__CRT_UUID_DECL(ISynchronizeHandle, 0x00000031, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
4768#endif
4769#else
4770typedef struct ISynchronizeHandleVtbl {
4771 BEGIN_INTERFACE
4772
4773 /*** IUnknown methods ***/
4774 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
4775 ISynchronizeHandle *This,
4776 REFIID riid,
4777 void **ppvObject);
4778
4779 ULONG (STDMETHODCALLTYPE *AddRef)(
4780 ISynchronizeHandle *This);
4781
4782 ULONG (STDMETHODCALLTYPE *Release)(
4783 ISynchronizeHandle *This);
4784
4785 /*** ISynchronizeHandle methods ***/
4786 HRESULT (STDMETHODCALLTYPE *GetHandle)(
4787 ISynchronizeHandle *This,
4788 HANDLE *ph);
4789
4790 END_INTERFACE
4791} ISynchronizeHandleVtbl;
4792
4793interface ISynchronizeHandle {
4794 CONST_VTBL ISynchronizeHandleVtbl* lpVtbl;
4795};
4796
4797#ifdef COBJMACROS
4798#ifndef WIDL_C_INLINE_WRAPPERS
4799/*** IUnknown methods ***/
4800#define ISynchronizeHandle_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
4801#define ISynchronizeHandle_AddRef(This) (This)->lpVtbl->AddRef(This)
4802#define ISynchronizeHandle_Release(This) (This)->lpVtbl->Release(This)
4803/*** ISynchronizeHandle methods ***/
4804#define ISynchronizeHandle_GetHandle(This,ph) (This)->lpVtbl->GetHandle(This,ph)
4805#else
4806/*** IUnknown methods ***/
4807static inline HRESULT ISynchronizeHandle_QueryInterface(ISynchronizeHandle* This,REFIID riid,void **ppvObject) {
4808 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
4809}
4810static inline ULONG ISynchronizeHandle_AddRef(ISynchronizeHandle* This) {
4811 return This->lpVtbl->AddRef(This);
4812}
4813static inline ULONG ISynchronizeHandle_Release(ISynchronizeHandle* This) {
4814 return This->lpVtbl->Release(This);
4815}
4816/*** ISynchronizeHandle methods ***/
4817static inline HRESULT ISynchronizeHandle_GetHandle(ISynchronizeHandle* This,HANDLE *ph) {
4818 return This->lpVtbl->GetHandle(This,ph);
4819}
4820#endif
4821#endif
4822
4823#endif
4824
4825
4826#endif /* __ISynchronizeHandle_INTERFACE_DEFINED__ */
4827
4828
4829/*****************************************************************************
4830 * ISynchronizeEvent interface
4831 */
4832#ifndef __ISynchronizeEvent_INTERFACE_DEFINED__
4833#define __ISynchronizeEvent_INTERFACE_DEFINED__
4834
4835DEFINE_GUID(IID_ISynchronizeEvent, 0x00000032, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
4836#if defined(__cplusplus) && !defined(CINTERFACE)
4837MIDL_INTERFACE("00000032-0000-0000-c000-000000000046")
4838ISynchronizeEvent : public ISynchronizeHandle
4839{
4840 virtual HRESULT STDMETHODCALLTYPE SetEventHandle(
4841 HANDLE *ph) = 0;
4842
4843};
4844#ifdef __CRT_UUID_DECL
4845__CRT_UUID_DECL(ISynchronizeEvent, 0x00000032, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
4846#endif
4847#else
4848typedef struct ISynchronizeEventVtbl {
4849 BEGIN_INTERFACE
4850
4851 /*** IUnknown methods ***/
4852 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
4853 ISynchronizeEvent *This,
4854 REFIID riid,
4855 void **ppvObject);
4856
4857 ULONG (STDMETHODCALLTYPE *AddRef)(
4858 ISynchronizeEvent *This);
4859
4860 ULONG (STDMETHODCALLTYPE *Release)(
4861 ISynchronizeEvent *This);
4862
4863 /*** ISynchronizeHandle methods ***/
4864 HRESULT (STDMETHODCALLTYPE *GetHandle)(
4865 ISynchronizeEvent *This,
4866 HANDLE *ph);
4867
4868 /*** ISynchronizeEvent methods ***/
4869 HRESULT (STDMETHODCALLTYPE *SetEventHandle)(
4870 ISynchronizeEvent *This,
4871 HANDLE *ph);
4872
4873 END_INTERFACE
4874} ISynchronizeEventVtbl;
4875
4876interface ISynchronizeEvent {
4877 CONST_VTBL ISynchronizeEventVtbl* lpVtbl;
4878};
4879
4880#ifdef COBJMACROS
4881#ifndef WIDL_C_INLINE_WRAPPERS
4882/*** IUnknown methods ***/
4883#define ISynchronizeEvent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
4884#define ISynchronizeEvent_AddRef(This) (This)->lpVtbl->AddRef(This)
4885#define ISynchronizeEvent_Release(This) (This)->lpVtbl->Release(This)
4886/*** ISynchronizeHandle methods ***/
4887#define ISynchronizeEvent_GetHandle(This,ph) (This)->lpVtbl->GetHandle(This,ph)
4888/*** ISynchronizeEvent methods ***/
4889#define ISynchronizeEvent_SetEventHandle(This,ph) (This)->lpVtbl->SetEventHandle(This,ph)
4890#else
4891/*** IUnknown methods ***/
4892static inline HRESULT ISynchronizeEvent_QueryInterface(ISynchronizeEvent* This,REFIID riid,void **ppvObject) {
4893 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
4894}
4895static inline ULONG ISynchronizeEvent_AddRef(ISynchronizeEvent* This) {
4896 return This->lpVtbl->AddRef(This);
4897}
4898static inline ULONG ISynchronizeEvent_Release(ISynchronizeEvent* This) {
4899 return This->lpVtbl->Release(This);
4900}
4901/*** ISynchronizeHandle methods ***/
4902static inline HRESULT ISynchronizeEvent_GetHandle(ISynchronizeEvent* This,HANDLE *ph) {
4903 return This->lpVtbl->GetHandle(This,ph);
4904}
4905/*** ISynchronizeEvent methods ***/
4906static inline HRESULT ISynchronizeEvent_SetEventHandle(ISynchronizeEvent* This,HANDLE *ph) {
4907 return This->lpVtbl->SetEventHandle(This,ph);
4908}
4909#endif
4910#endif
4911
4912#endif
4913
4914
4915#endif /* __ISynchronizeEvent_INTERFACE_DEFINED__ */
4916
4917
4918/*****************************************************************************
4919 * ISynchronizeContainer interface
4920 */
4921#ifndef __ISynchronizeContainer_INTERFACE_DEFINED__
4922#define __ISynchronizeContainer_INTERFACE_DEFINED__
4923
4924DEFINE_GUID(IID_ISynchronizeContainer, 0x00000033, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
4925#if defined(__cplusplus) && !defined(CINTERFACE)
4926MIDL_INTERFACE("00000033-0000-0000-c000-000000000046")
4927ISynchronizeContainer : public IUnknown
4928{
4929 virtual HRESULT STDMETHODCALLTYPE AddSynchronize(
4930 ISynchronize *pSync) = 0;
4931
4932 virtual HRESULT STDMETHODCALLTYPE WaitMultiple(
4933 DWORD dwFlags,
4934 DWORD dwTimeOut,
4935 ISynchronize **ppSync) = 0;
4936
4937};
4938#ifdef __CRT_UUID_DECL
4939__CRT_UUID_DECL(ISynchronizeContainer, 0x00000033, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
4940#endif
4941#else
4942typedef struct ISynchronizeContainerVtbl {
4943 BEGIN_INTERFACE
4944
4945 /*** IUnknown methods ***/
4946 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
4947 ISynchronizeContainer *This,
4948 REFIID riid,
4949 void **ppvObject);
4950
4951 ULONG (STDMETHODCALLTYPE *AddRef)(
4952 ISynchronizeContainer *This);
4953
4954 ULONG (STDMETHODCALLTYPE *Release)(
4955 ISynchronizeContainer *This);
4956
4957 /*** ISynchronizeContainer methods ***/
4958 HRESULT (STDMETHODCALLTYPE *AddSynchronize)(
4959 ISynchronizeContainer *This,
4960 ISynchronize *pSync);
4961
4962 HRESULT (STDMETHODCALLTYPE *WaitMultiple)(
4963 ISynchronizeContainer *This,
4964 DWORD dwFlags,
4965 DWORD dwTimeOut,
4966 ISynchronize **ppSync);
4967
4968 END_INTERFACE
4969} ISynchronizeContainerVtbl;
4970
4971interface ISynchronizeContainer {
4972 CONST_VTBL ISynchronizeContainerVtbl* lpVtbl;
4973};
4974
4975#ifdef COBJMACROS
4976#ifndef WIDL_C_INLINE_WRAPPERS
4977/*** IUnknown methods ***/
4978#define ISynchronizeContainer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
4979#define ISynchronizeContainer_AddRef(This) (This)->lpVtbl->AddRef(This)
4980#define ISynchronizeContainer_Release(This) (This)->lpVtbl->Release(This)
4981/*** ISynchronizeContainer methods ***/
4982#define ISynchronizeContainer_AddSynchronize(This,pSync) (This)->lpVtbl->AddSynchronize(This,pSync)
4983#define ISynchronizeContainer_WaitMultiple(This,dwFlags,dwTimeOut,ppSync) (This)->lpVtbl->WaitMultiple(This,dwFlags,dwTimeOut,ppSync)
4984#else
4985/*** IUnknown methods ***/
4986static inline HRESULT ISynchronizeContainer_QueryInterface(ISynchronizeContainer* This,REFIID riid,void **ppvObject) {
4987 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
4988}
4989static inline ULONG ISynchronizeContainer_AddRef(ISynchronizeContainer* This) {
4990 return This->lpVtbl->AddRef(This);
4991}
4992static inline ULONG ISynchronizeContainer_Release(ISynchronizeContainer* This) {
4993 return This->lpVtbl->Release(This);
4994}
4995/*** ISynchronizeContainer methods ***/
4996static inline HRESULT ISynchronizeContainer_AddSynchronize(ISynchronizeContainer* This,ISynchronize *pSync) {
4997 return This->lpVtbl->AddSynchronize(This,pSync);
4998}
4999static inline HRESULT ISynchronizeContainer_WaitMultiple(ISynchronizeContainer* This,DWORD dwFlags,DWORD dwTimeOut,ISynchronize **ppSync) {
5000 return This->lpVtbl->WaitMultiple(This,dwFlags,dwTimeOut,ppSync);
5001}
5002#endif
5003#endif
5004
5005#endif
5006
5007
5008#endif /* __ISynchronizeContainer_INTERFACE_DEFINED__ */
5009
5010
5011/*****************************************************************************
5012 * ISynchronizeMutex interface
5013 */
5014#ifndef __ISynchronizeMutex_INTERFACE_DEFINED__
5015#define __ISynchronizeMutex_INTERFACE_DEFINED__
5016
5017DEFINE_GUID(IID_ISynchronizeMutex, 0x00000025, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
5018#if defined(__cplusplus) && !defined(CINTERFACE)
5019MIDL_INTERFACE("00000025-0000-0000-c000-000000000046")
5020ISynchronizeMutex : public ISynchronize
5021{
5022 virtual HRESULT STDMETHODCALLTYPE ReleaseMutex(
5023 ) = 0;
5024
5025};
5026#ifdef __CRT_UUID_DECL
5027__CRT_UUID_DECL(ISynchronizeMutex, 0x00000025, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
5028#endif
5029#else
5030typedef struct ISynchronizeMutexVtbl {
5031 BEGIN_INTERFACE
5032
5033 /*** IUnknown methods ***/
5034 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
5035 ISynchronizeMutex *This,
5036 REFIID riid,
5037 void **ppvObject);
5038
5039 ULONG (STDMETHODCALLTYPE *AddRef)(
5040 ISynchronizeMutex *This);
5041
5042 ULONG (STDMETHODCALLTYPE *Release)(
5043 ISynchronizeMutex *This);
5044
5045 /*** ISynchronize methods ***/
5046 HRESULT (STDMETHODCALLTYPE *Wait)(
5047 ISynchronizeMutex *This,
5048 DWORD dwFlags,
5049 DWORD dwMilliseconds);
5050
5051 HRESULT (STDMETHODCALLTYPE *Signal)(
5052 ISynchronizeMutex *This);
5053
5054 HRESULT (STDMETHODCALLTYPE *Reset)(
5055 ISynchronizeMutex *This);
5056
5057 /*** ISynchronizeMutex methods ***/
5058 HRESULT (STDMETHODCALLTYPE *ReleaseMutex)(
5059 ISynchronizeMutex *This);
5060
5061 END_INTERFACE
5062} ISynchronizeMutexVtbl;
5063
5064interface ISynchronizeMutex {
5065 CONST_VTBL ISynchronizeMutexVtbl* lpVtbl;
5066};
5067
5068#ifdef COBJMACROS
5069#ifndef WIDL_C_INLINE_WRAPPERS
5070/*** IUnknown methods ***/
5071#define ISynchronizeMutex_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
5072#define ISynchronizeMutex_AddRef(This) (This)->lpVtbl->AddRef(This)
5073#define ISynchronizeMutex_Release(This) (This)->lpVtbl->Release(This)
5074/*** ISynchronize methods ***/
5075#define ISynchronizeMutex_Wait(This,dwFlags,dwMilliseconds) (This)->lpVtbl->Wait(This,dwFlags,dwMilliseconds)
5076#define ISynchronizeMutex_Signal(This) (This)->lpVtbl->Signal(This)
5077#define ISynchronizeMutex_Reset(This) (This)->lpVtbl->Reset(This)
5078/*** ISynchronizeMutex methods ***/
5079#define ISynchronizeMutex_ReleaseMutex(This) (This)->lpVtbl->ReleaseMutex(This)
5080#else
5081/*** IUnknown methods ***/
5082static inline HRESULT ISynchronizeMutex_QueryInterface(ISynchronizeMutex* This,REFIID riid,void **ppvObject) {
5083 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
5084}
5085static inline ULONG ISynchronizeMutex_AddRef(ISynchronizeMutex* This) {
5086 return This->lpVtbl->AddRef(This);
5087}
5088static inline ULONG ISynchronizeMutex_Release(ISynchronizeMutex* This) {
5089 return This->lpVtbl->Release(This);
5090}
5091/*** ISynchronize methods ***/
5092static inline HRESULT ISynchronizeMutex_Wait(ISynchronizeMutex* This,DWORD dwFlags,DWORD dwMilliseconds) {
5093 return This->lpVtbl->Wait(This,dwFlags,dwMilliseconds);
5094}
5095static inline HRESULT ISynchronizeMutex_Signal(ISynchronizeMutex* This) {
5096 return This->lpVtbl->Signal(This);
5097}
5098static inline HRESULT ISynchronizeMutex_Reset(ISynchronizeMutex* This) {
5099 return This->lpVtbl->Reset(This);
5100}
5101/*** ISynchronizeMutex methods ***/
5102static inline HRESULT ISynchronizeMutex_ReleaseMutex(ISynchronizeMutex* This) {
5103 return This->lpVtbl->ReleaseMutex(This);
5104}
5105#endif
5106#endif
5107
5108#endif
5109
5110
5111#endif /* __ISynchronizeMutex_INTERFACE_DEFINED__ */
5112
5113
5114/*****************************************************************************
5115 * ICancelMethodCalls interface
5116 */
5117#ifndef __ICancelMethodCalls_INTERFACE_DEFINED__
5118#define __ICancelMethodCalls_INTERFACE_DEFINED__
5119
5120typedef ICancelMethodCalls *LPCANCELMETHODCALLS;
5121
5122DEFINE_GUID(IID_ICancelMethodCalls, 0x00000029, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
5123#if defined(__cplusplus) && !defined(CINTERFACE)
5124MIDL_INTERFACE("00000029-0000-0000-c000-000000000046")
5125ICancelMethodCalls : public IUnknown
5126{
5127 virtual HRESULT STDMETHODCALLTYPE Cancel(
5128 ULONG ulSeconds) = 0;
5129
5130 virtual HRESULT STDMETHODCALLTYPE TestCancel(
5131 ) = 0;
5132
5133};
5134#ifdef __CRT_UUID_DECL
5135__CRT_UUID_DECL(ICancelMethodCalls, 0x00000029, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
5136#endif
5137#else
5138typedef struct ICancelMethodCallsVtbl {
5139 BEGIN_INTERFACE
5140
5141 /*** IUnknown methods ***/
5142 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
5143 ICancelMethodCalls *This,
5144 REFIID riid,
5145 void **ppvObject);
5146
5147 ULONG (STDMETHODCALLTYPE *AddRef)(
5148 ICancelMethodCalls *This);
5149
5150 ULONG (STDMETHODCALLTYPE *Release)(
5151 ICancelMethodCalls *This);
5152
5153 /*** ICancelMethodCalls methods ***/
5154 HRESULT (STDMETHODCALLTYPE *Cancel)(
5155 ICancelMethodCalls *This,
5156 ULONG ulSeconds);
5157
5158 HRESULT (STDMETHODCALLTYPE *TestCancel)(
5159 ICancelMethodCalls *This);
5160
5161 END_INTERFACE
5162} ICancelMethodCallsVtbl;
5163
5164interface ICancelMethodCalls {
5165 CONST_VTBL ICancelMethodCallsVtbl* lpVtbl;
5166};
5167
5168#ifdef COBJMACROS
5169#ifndef WIDL_C_INLINE_WRAPPERS
5170/*** IUnknown methods ***/
5171#define ICancelMethodCalls_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
5172#define ICancelMethodCalls_AddRef(This) (This)->lpVtbl->AddRef(This)
5173#define ICancelMethodCalls_Release(This) (This)->lpVtbl->Release(This)
5174/*** ICancelMethodCalls methods ***/
5175#define ICancelMethodCalls_Cancel(This,ulSeconds) (This)->lpVtbl->Cancel(This,ulSeconds)
5176#define ICancelMethodCalls_TestCancel(This) (This)->lpVtbl->TestCancel(This)
5177#else
5178/*** IUnknown methods ***/
5179static inline HRESULT ICancelMethodCalls_QueryInterface(ICancelMethodCalls* This,REFIID riid,void **ppvObject) {
5180 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
5181}
5182static inline ULONG ICancelMethodCalls_AddRef(ICancelMethodCalls* This) {
5183 return This->lpVtbl->AddRef(This);
5184}
5185static inline ULONG ICancelMethodCalls_Release(ICancelMethodCalls* This) {
5186 return This->lpVtbl->Release(This);
5187}
5188/*** ICancelMethodCalls methods ***/
5189static inline HRESULT ICancelMethodCalls_Cancel(ICancelMethodCalls* This,ULONG ulSeconds) {
5190 return This->lpVtbl->Cancel(This,ulSeconds);
5191}
5192static inline HRESULT ICancelMethodCalls_TestCancel(ICancelMethodCalls* This) {
5193 return This->lpVtbl->TestCancel(This);
5194}
5195#endif
5196#endif
5197
5198#endif
5199
5200
5201#endif /* __ICancelMethodCalls_INTERFACE_DEFINED__ */
5202
5203
5204/*****************************************************************************
5205 * IAsyncManager interface
5206 */
5207#ifndef __IAsyncManager_INTERFACE_DEFINED__
5208#define __IAsyncManager_INTERFACE_DEFINED__
5209
5210typedef enum tagDCOM_CALL_STATE {
5211 DCOM_NONE = 0x0,
5212 DCOM_CALL_COMPLETE = 0x1,
5213 DCOM_CALL_CANCELED = 0x2
5214} DCOM_CALL_STATE;
5215
5216DEFINE_GUID(IID_IAsyncManager, 0x0000002a, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
5217#if defined(__cplusplus) && !defined(CINTERFACE)
5218MIDL_INTERFACE("0000002a-0000-0000-c000-000000000046")
5219IAsyncManager : public IUnknown
5220{
5221 virtual HRESULT STDMETHODCALLTYPE CompleteCall(
5222 HRESULT Result) = 0;
5223
5224 virtual HRESULT STDMETHODCALLTYPE GetCallContext(
5225 REFIID riid,
5226 void **pInterface) = 0;
5227
5228 virtual HRESULT STDMETHODCALLTYPE GetState(
5229 ULONG *pulStateFlags) = 0;
5230
5231};
5232#ifdef __CRT_UUID_DECL
5233__CRT_UUID_DECL(IAsyncManager, 0x0000002a, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
5234#endif
5235#else
5236typedef struct IAsyncManagerVtbl {
5237 BEGIN_INTERFACE
5238
5239 /*** IUnknown methods ***/
5240 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
5241 IAsyncManager *This,
5242 REFIID riid,
5243 void **ppvObject);
5244
5245 ULONG (STDMETHODCALLTYPE *AddRef)(
5246 IAsyncManager *This);
5247
5248 ULONG (STDMETHODCALLTYPE *Release)(
5249 IAsyncManager *This);
5250
5251 /*** IAsyncManager methods ***/
5252 HRESULT (STDMETHODCALLTYPE *CompleteCall)(
5253 IAsyncManager *This,
5254 HRESULT Result);
5255
5256 HRESULT (STDMETHODCALLTYPE *GetCallContext)(
5257 IAsyncManager *This,
5258 REFIID riid,
5259 void **pInterface);
5260
5261 HRESULT (STDMETHODCALLTYPE *GetState)(
5262 IAsyncManager *This,
5263 ULONG *pulStateFlags);
5264
5265 END_INTERFACE
5266} IAsyncManagerVtbl;
5267
5268interface IAsyncManager {
5269 CONST_VTBL IAsyncManagerVtbl* lpVtbl;
5270};
5271
5272#ifdef COBJMACROS
5273#ifndef WIDL_C_INLINE_WRAPPERS
5274/*** IUnknown methods ***/
5275#define IAsyncManager_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
5276#define IAsyncManager_AddRef(This) (This)->lpVtbl->AddRef(This)
5277#define IAsyncManager_Release(This) (This)->lpVtbl->Release(This)
5278/*** IAsyncManager methods ***/
5279#define IAsyncManager_CompleteCall(This,Result) (This)->lpVtbl->CompleteCall(This,Result)
5280#define IAsyncManager_GetCallContext(This,riid,pInterface) (This)->lpVtbl->GetCallContext(This,riid,pInterface)
5281#define IAsyncManager_GetState(This,pulStateFlags) (This)->lpVtbl->GetState(This,pulStateFlags)
5282#else
5283/*** IUnknown methods ***/
5284static inline HRESULT IAsyncManager_QueryInterface(IAsyncManager* This,REFIID riid,void **ppvObject) {
5285 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
5286}
5287static inline ULONG IAsyncManager_AddRef(IAsyncManager* This) {
5288 return This->lpVtbl->AddRef(This);
5289}
5290static inline ULONG IAsyncManager_Release(IAsyncManager* This) {
5291 return This->lpVtbl->Release(This);
5292}
5293/*** IAsyncManager methods ***/
5294static inline HRESULT IAsyncManager_CompleteCall(IAsyncManager* This,HRESULT Result) {
5295 return This->lpVtbl->CompleteCall(This,Result);
5296}
5297static inline HRESULT IAsyncManager_GetCallContext(IAsyncManager* This,REFIID riid,void **pInterface) {
5298 return This->lpVtbl->GetCallContext(This,riid,pInterface);
5299}
5300static inline HRESULT IAsyncManager_GetState(IAsyncManager* This,ULONG *pulStateFlags) {
5301 return This->lpVtbl->GetState(This,pulStateFlags);
5302}
5303#endif
5304#endif
5305
5306#endif
5307
5308
5309#endif /* __IAsyncManager_INTERFACE_DEFINED__ */
5310
5311
5312/*****************************************************************************
5313 * ICallFactory interface
5314 */
5315#ifndef __ICallFactory_INTERFACE_DEFINED__
5316#define __ICallFactory_INTERFACE_DEFINED__
5317
5318DEFINE_GUID(IID_ICallFactory, 0x1c733a30, 0x2a1c, 0x11ce, 0xad,0xe5, 0x00,0xaa,0x00,0x44,0x77,0x3d);
5319#if defined(__cplusplus) && !defined(CINTERFACE)
5320MIDL_INTERFACE("1c733a30-2a1c-11ce-ade5-00aa0044773d")
5321ICallFactory : public IUnknown
5322{
5323 virtual HRESULT STDMETHODCALLTYPE CreateCall(
5324 REFIID riid,
5325 IUnknown *pCtrlUnk,
5326 REFIID riid2,
5327 IUnknown **ppv) = 0;
5328
5329};
5330#ifdef __CRT_UUID_DECL
5331__CRT_UUID_DECL(ICallFactory, 0x1c733a30, 0x2a1c, 0x11ce, 0xad,0xe5, 0x00,0xaa,0x00,0x44,0x77,0x3d)
5332#endif
5333#else
5334typedef struct ICallFactoryVtbl {
5335 BEGIN_INTERFACE
5336
5337 /*** IUnknown methods ***/
5338 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
5339 ICallFactory *This,
5340 REFIID riid,
5341 void **ppvObject);
5342
5343 ULONG (STDMETHODCALLTYPE *AddRef)(
5344 ICallFactory *This);
5345
5346 ULONG (STDMETHODCALLTYPE *Release)(
5347 ICallFactory *This);
5348
5349 /*** ICallFactory methods ***/
5350 HRESULT (STDMETHODCALLTYPE *CreateCall)(
5351 ICallFactory *This,
5352 REFIID riid,
5353 IUnknown *pCtrlUnk,
5354 REFIID riid2,
5355 IUnknown **ppv);
5356
5357 END_INTERFACE
5358} ICallFactoryVtbl;
5359
5360interface ICallFactory {
5361 CONST_VTBL ICallFactoryVtbl* lpVtbl;
5362};
5363
5364#ifdef COBJMACROS
5365#ifndef WIDL_C_INLINE_WRAPPERS
5366/*** IUnknown methods ***/
5367#define ICallFactory_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
5368#define ICallFactory_AddRef(This) (This)->lpVtbl->AddRef(This)
5369#define ICallFactory_Release(This) (This)->lpVtbl->Release(This)
5370/*** ICallFactory methods ***/
5371#define ICallFactory_CreateCall(This,riid,pCtrlUnk,riid2,ppv) (This)->lpVtbl->CreateCall(This,riid,pCtrlUnk,riid2,ppv)
5372#else
5373/*** IUnknown methods ***/
5374static inline HRESULT ICallFactory_QueryInterface(ICallFactory* This,REFIID riid,void **ppvObject) {
5375 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
5376}
5377static inline ULONG ICallFactory_AddRef(ICallFactory* This) {
5378 return This->lpVtbl->AddRef(This);
5379}
5380static inline ULONG ICallFactory_Release(ICallFactory* This) {
5381 return This->lpVtbl->Release(This);
5382}
5383/*** ICallFactory methods ***/
5384static inline HRESULT ICallFactory_CreateCall(ICallFactory* This,REFIID riid,IUnknown *pCtrlUnk,REFIID riid2,IUnknown **ppv) {
5385 return This->lpVtbl->CreateCall(This,riid,pCtrlUnk,riid2,ppv);
5386}
5387#endif
5388#endif
5389
5390#endif
5391
5392
5393#endif /* __ICallFactory_INTERFACE_DEFINED__ */
5394
5395
5396/*****************************************************************************
5397 * IRpcHelper interface
5398 */
5399#ifndef __IRpcHelper_INTERFACE_DEFINED__
5400#define __IRpcHelper_INTERFACE_DEFINED__
5401
5402DEFINE_GUID(IID_IRpcHelper, 0x00000149, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
5403#if defined(__cplusplus) && !defined(CINTERFACE)
5404MIDL_INTERFACE("00000149-0000-0000-c000-000000000046")
5405IRpcHelper : public IUnknown
5406{
5407 virtual HRESULT STDMETHODCALLTYPE GetDCOMProtocolVersion(
5408 DWORD *pComVersion) = 0;
5409
5410 virtual HRESULT STDMETHODCALLTYPE GetIIDFromOBJREF(
5411 void *pObjRef,
5412 IID **piid) = 0;
5413
5414};
5415#ifdef __CRT_UUID_DECL
5416__CRT_UUID_DECL(IRpcHelper, 0x00000149, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
5417#endif
5418#else
5419typedef struct IRpcHelperVtbl {
5420 BEGIN_INTERFACE
5421
5422 /*** IUnknown methods ***/
5423 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
5424 IRpcHelper *This,
5425 REFIID riid,
5426 void **ppvObject);
5427
5428 ULONG (STDMETHODCALLTYPE *AddRef)(
5429 IRpcHelper *This);
5430
5431 ULONG (STDMETHODCALLTYPE *Release)(
5432 IRpcHelper *This);
5433
5434 /*** IRpcHelper methods ***/
5435 HRESULT (STDMETHODCALLTYPE *GetDCOMProtocolVersion)(
5436 IRpcHelper *This,
5437 DWORD *pComVersion);
5438
5439 HRESULT (STDMETHODCALLTYPE *GetIIDFromOBJREF)(
5440 IRpcHelper *This,
5441 void *pObjRef,
5442 IID **piid);
5443
5444 END_INTERFACE
5445} IRpcHelperVtbl;
5446
5447interface IRpcHelper {
5448 CONST_VTBL IRpcHelperVtbl* lpVtbl;
5449};
5450
5451#ifdef COBJMACROS
5452#ifndef WIDL_C_INLINE_WRAPPERS
5453/*** IUnknown methods ***/
5454#define IRpcHelper_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
5455#define IRpcHelper_AddRef(This) (This)->lpVtbl->AddRef(This)
5456#define IRpcHelper_Release(This) (This)->lpVtbl->Release(This)
5457/*** IRpcHelper methods ***/
5458#define IRpcHelper_GetDCOMProtocolVersion(This,pComVersion) (This)->lpVtbl->GetDCOMProtocolVersion(This,pComVersion)
5459#define IRpcHelper_GetIIDFromOBJREF(This,pObjRef,piid) (This)->lpVtbl->GetIIDFromOBJREF(This,pObjRef,piid)
5460#else
5461/*** IUnknown methods ***/
5462static inline HRESULT IRpcHelper_QueryInterface(IRpcHelper* This,REFIID riid,void **ppvObject) {
5463 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
5464}
5465static inline ULONG IRpcHelper_AddRef(IRpcHelper* This) {
5466 return This->lpVtbl->AddRef(This);
5467}
5468static inline ULONG IRpcHelper_Release(IRpcHelper* This) {
5469 return This->lpVtbl->Release(This);
5470}
5471/*** IRpcHelper methods ***/
5472static inline HRESULT IRpcHelper_GetDCOMProtocolVersion(IRpcHelper* This,DWORD *pComVersion) {
5473 return This->lpVtbl->GetDCOMProtocolVersion(This,pComVersion);
5474}
5475static inline HRESULT IRpcHelper_GetIIDFromOBJREF(IRpcHelper* This,void *pObjRef,IID **piid) {
5476 return This->lpVtbl->GetIIDFromOBJREF(This,pObjRef,piid);
5477}
5478#endif
5479#endif
5480
5481#endif
5482
5483
5484#endif /* __IRpcHelper_INTERFACE_DEFINED__ */
5485
5486
5487/*****************************************************************************
5488 * IReleaseMarshalBuffers interface
5489 */
5490#ifndef __IReleaseMarshalBuffers_INTERFACE_DEFINED__
5491#define __IReleaseMarshalBuffers_INTERFACE_DEFINED__
5492
5493DEFINE_GUID(IID_IReleaseMarshalBuffers, 0xeb0cb9e8, 0x7996, 0x11d2, 0x87,0x2e, 0x00,0x00,0xf8,0x08,0x08,0x59);
5494#if defined(__cplusplus) && !defined(CINTERFACE)
5495MIDL_INTERFACE("eb0cb9e8-7996-11d2-872e-0000f8080859")
5496IReleaseMarshalBuffers : public IUnknown
5497{
5498 virtual HRESULT STDMETHODCALLTYPE ReleaseMarshalBuffer(
5499 RPCOLEMESSAGE *pMsg,
5500 DWORD dwFlags,
5501 IUnknown *pChnl) = 0;
5502
5503};
5504#ifdef __CRT_UUID_DECL
5505__CRT_UUID_DECL(IReleaseMarshalBuffers, 0xeb0cb9e8, 0x7996, 0x11d2, 0x87,0x2e, 0x00,0x00,0xf8,0x08,0x08,0x59)
5506#endif
5507#else
5508typedef struct IReleaseMarshalBuffersVtbl {
5509 BEGIN_INTERFACE
5510
5511 /*** IUnknown methods ***/
5512 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
5513 IReleaseMarshalBuffers *This,
5514 REFIID riid,
5515 void **ppvObject);
5516
5517 ULONG (STDMETHODCALLTYPE *AddRef)(
5518 IReleaseMarshalBuffers *This);
5519
5520 ULONG (STDMETHODCALLTYPE *Release)(
5521 IReleaseMarshalBuffers *This);
5522
5523 /*** IReleaseMarshalBuffers methods ***/
5524 HRESULT (STDMETHODCALLTYPE *ReleaseMarshalBuffer)(
5525 IReleaseMarshalBuffers *This,
5526 RPCOLEMESSAGE *pMsg,
5527 DWORD dwFlags,
5528 IUnknown *pChnl);
5529
5530 END_INTERFACE
5531} IReleaseMarshalBuffersVtbl;
5532
5533interface IReleaseMarshalBuffers {
5534 CONST_VTBL IReleaseMarshalBuffersVtbl* lpVtbl;
5535};
5536
5537#ifdef COBJMACROS
5538#ifndef WIDL_C_INLINE_WRAPPERS
5539/*** IUnknown methods ***/
5540#define IReleaseMarshalBuffers_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
5541#define IReleaseMarshalBuffers_AddRef(This) (This)->lpVtbl->AddRef(This)
5542#define IReleaseMarshalBuffers_Release(This) (This)->lpVtbl->Release(This)
5543/*** IReleaseMarshalBuffers methods ***/
5544#define IReleaseMarshalBuffers_ReleaseMarshalBuffer(This,pMsg,dwFlags,pChnl) (This)->lpVtbl->ReleaseMarshalBuffer(This,pMsg,dwFlags,pChnl)
5545#else
5546/*** IUnknown methods ***/
5547static inline HRESULT IReleaseMarshalBuffers_QueryInterface(IReleaseMarshalBuffers* This,REFIID riid,void **ppvObject) {
5548 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
5549}
5550static inline ULONG IReleaseMarshalBuffers_AddRef(IReleaseMarshalBuffers* This) {
5551 return This->lpVtbl->AddRef(This);
5552}
5553static inline ULONG IReleaseMarshalBuffers_Release(IReleaseMarshalBuffers* This) {
5554 return This->lpVtbl->Release(This);
5555}
5556/*** IReleaseMarshalBuffers methods ***/
5557static inline HRESULT IReleaseMarshalBuffers_ReleaseMarshalBuffer(IReleaseMarshalBuffers* This,RPCOLEMESSAGE *pMsg,DWORD dwFlags,IUnknown *pChnl) {
5558 return This->lpVtbl->ReleaseMarshalBuffer(This,pMsg,dwFlags,pChnl);
5559}
5560#endif
5561#endif
5562
5563#endif
5564
5565
5566#endif /* __IReleaseMarshalBuffers_INTERFACE_DEFINED__ */
5567
5568
5569/*****************************************************************************
5570 * IWaitMultiple interface
5571 */
5572#ifndef __IWaitMultiple_INTERFACE_DEFINED__
5573#define __IWaitMultiple_INTERFACE_DEFINED__
5574
5575DEFINE_GUID(IID_IWaitMultiple, 0x0000002b, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
5576#if defined(__cplusplus) && !defined(CINTERFACE)
5577MIDL_INTERFACE("0000002b-0000-0000-c000-000000000046")
5578IWaitMultiple : public IUnknown
5579{
5580 virtual HRESULT STDMETHODCALLTYPE WaitMultiple(
5581 DWORD timeout,
5582 ISynchronize **pSync) = 0;
5583
5584 virtual HRESULT STDMETHODCALLTYPE AddSynchronize(
5585 ISynchronize *pSync) = 0;
5586
5587};
5588#ifdef __CRT_UUID_DECL
5589__CRT_UUID_DECL(IWaitMultiple, 0x0000002b, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
5590#endif
5591#else
5592typedef struct IWaitMultipleVtbl {
5593 BEGIN_INTERFACE
5594
5595 /*** IUnknown methods ***/
5596 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
5597 IWaitMultiple *This,
5598 REFIID riid,
5599 void **ppvObject);
5600
5601 ULONG (STDMETHODCALLTYPE *AddRef)(
5602 IWaitMultiple *This);
5603
5604 ULONG (STDMETHODCALLTYPE *Release)(
5605 IWaitMultiple *This);
5606
5607 /*** IWaitMultiple methods ***/
5608 HRESULT (STDMETHODCALLTYPE *WaitMultiple)(
5609 IWaitMultiple *This,
5610 DWORD timeout,
5611 ISynchronize **pSync);
5612
5613 HRESULT (STDMETHODCALLTYPE *AddSynchronize)(
5614 IWaitMultiple *This,
5615 ISynchronize *pSync);
5616
5617 END_INTERFACE
5618} IWaitMultipleVtbl;
5619
5620interface IWaitMultiple {
5621 CONST_VTBL IWaitMultipleVtbl* lpVtbl;
5622};
5623
5624#ifdef COBJMACROS
5625#ifndef WIDL_C_INLINE_WRAPPERS
5626/*** IUnknown methods ***/
5627#define IWaitMultiple_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
5628#define IWaitMultiple_AddRef(This) (This)->lpVtbl->AddRef(This)
5629#define IWaitMultiple_Release(This) (This)->lpVtbl->Release(This)
5630/*** IWaitMultiple methods ***/
5631#define IWaitMultiple_WaitMultiple(This,timeout,pSync) (This)->lpVtbl->WaitMultiple(This,timeout,pSync)
5632#define IWaitMultiple_AddSynchronize(This,pSync) (This)->lpVtbl->AddSynchronize(This,pSync)
5633#else
5634/*** IUnknown methods ***/
5635static inline HRESULT IWaitMultiple_QueryInterface(IWaitMultiple* This,REFIID riid,void **ppvObject) {
5636 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
5637}
5638static inline ULONG IWaitMultiple_AddRef(IWaitMultiple* This) {
5639 return This->lpVtbl->AddRef(This);
5640}
5641static inline ULONG IWaitMultiple_Release(IWaitMultiple* This) {
5642 return This->lpVtbl->Release(This);
5643}
5644/*** IWaitMultiple methods ***/
5645static inline HRESULT IWaitMultiple_WaitMultiple(IWaitMultiple* This,DWORD timeout,ISynchronize **pSync) {
5646 return This->lpVtbl->WaitMultiple(This,timeout,pSync);
5647}
5648static inline HRESULT IWaitMultiple_AddSynchronize(IWaitMultiple* This,ISynchronize *pSync) {
5649 return This->lpVtbl->AddSynchronize(This,pSync);
5650}
5651#endif
5652#endif
5653
5654#endif
5655
5656
5657#endif /* __IWaitMultiple_INTERFACE_DEFINED__ */
5658
5659
5660/*****************************************************************************
5661 * IAddrTrackingControl interface
5662 */
5663#ifndef __IAddrTrackingControl_INTERFACE_DEFINED__
5664#define __IAddrTrackingControl_INTERFACE_DEFINED__
5665
5666typedef IAddrTrackingControl *LPADDRTRACKINGCONTROL;
5667DEFINE_GUID(IID_IAddrTrackingControl, 0x00000147, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
5668#if defined(__cplusplus) && !defined(CINTERFACE)
5669MIDL_INTERFACE("00000147-0000-0000-c000-000000000046")
5670IAddrTrackingControl : public IUnknown
5671{
5672 virtual HRESULT STDMETHODCALLTYPE EnableCOMDynamicAddrTracking(
5673 ) = 0;
5674
5675 virtual HRESULT STDMETHODCALLTYPE DisableCOMDynamicAddrTracking(
5676 ) = 0;
5677
5678};
5679#ifdef __CRT_UUID_DECL
5680__CRT_UUID_DECL(IAddrTrackingControl, 0x00000147, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
5681#endif
5682#else
5683typedef struct IAddrTrackingControlVtbl {
5684 BEGIN_INTERFACE
5685
5686 /*** IUnknown methods ***/
5687 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
5688 IAddrTrackingControl *This,
5689 REFIID riid,
5690 void **ppvObject);
5691
5692 ULONG (STDMETHODCALLTYPE *AddRef)(
5693 IAddrTrackingControl *This);
5694
5695 ULONG (STDMETHODCALLTYPE *Release)(
5696 IAddrTrackingControl *This);
5697
5698 /*** IAddrTrackingControl methods ***/
5699 HRESULT (STDMETHODCALLTYPE *EnableCOMDynamicAddrTracking)(
5700 IAddrTrackingControl *This);
5701
5702 HRESULT (STDMETHODCALLTYPE *DisableCOMDynamicAddrTracking)(
5703 IAddrTrackingControl *This);
5704
5705 END_INTERFACE
5706} IAddrTrackingControlVtbl;
5707
5708interface IAddrTrackingControl {
5709 CONST_VTBL IAddrTrackingControlVtbl* lpVtbl;
5710};
5711
5712#ifdef COBJMACROS
5713#ifndef WIDL_C_INLINE_WRAPPERS
5714/*** IUnknown methods ***/
5715#define IAddrTrackingControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
5716#define IAddrTrackingControl_AddRef(This) (This)->lpVtbl->AddRef(This)
5717#define IAddrTrackingControl_Release(This) (This)->lpVtbl->Release(This)
5718/*** IAddrTrackingControl methods ***/
5719#define IAddrTrackingControl_EnableCOMDynamicAddrTracking(This) (This)->lpVtbl->EnableCOMDynamicAddrTracking(This)
5720#define IAddrTrackingControl_DisableCOMDynamicAddrTracking(This) (This)->lpVtbl->DisableCOMDynamicAddrTracking(This)
5721#else
5722/*** IUnknown methods ***/
5723static inline HRESULT IAddrTrackingControl_QueryInterface(IAddrTrackingControl* This,REFIID riid,void **ppvObject) {
5724 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
5725}
5726static inline ULONG IAddrTrackingControl_AddRef(IAddrTrackingControl* This) {
5727 return This->lpVtbl->AddRef(This);
5728}
5729static inline ULONG IAddrTrackingControl_Release(IAddrTrackingControl* This) {
5730 return This->lpVtbl->Release(This);
5731}
5732/*** IAddrTrackingControl methods ***/
5733static inline HRESULT IAddrTrackingControl_EnableCOMDynamicAddrTracking(IAddrTrackingControl* This) {
5734 return This->lpVtbl->EnableCOMDynamicAddrTracking(This);
5735}
5736static inline HRESULT IAddrTrackingControl_DisableCOMDynamicAddrTracking(IAddrTrackingControl* This) {
5737 return This->lpVtbl->DisableCOMDynamicAddrTracking(This);
5738}
5739#endif
5740#endif
5741
5742#endif
5743
5744
5745#endif /* __IAddrTrackingControl_INTERFACE_DEFINED__ */
5746
5747
5748/*****************************************************************************
5749 * IAddrExclusionControl interface
5750 */
5751#ifndef __IAddrExclusionControl_INTERFACE_DEFINED__
5752#define __IAddrExclusionControl_INTERFACE_DEFINED__
5753
5754typedef IAddrExclusionControl *LPADDREXCLUSIONCONTROL;
5755DEFINE_GUID(IID_IAddrExclusionControl, 0x00000148, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
5756#if defined(__cplusplus) && !defined(CINTERFACE)
5757MIDL_INTERFACE("00000148-0000-0000-c000-000000000046")
5758IAddrExclusionControl : public IUnknown
5759{
5760 virtual HRESULT STDMETHODCALLTYPE GetCurrentAddrExclusionList(
5761 REFIID riid,
5762 void **ppEnumerator) = 0;
5763
5764 virtual HRESULT STDMETHODCALLTYPE UpdateAddrExclusionList(
5765 IUnknown *pEnumerator) = 0;
5766
5767};
5768#ifdef __CRT_UUID_DECL
5769__CRT_UUID_DECL(IAddrExclusionControl, 0x00000148, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
5770#endif
5771#else
5772typedef struct IAddrExclusionControlVtbl {
5773 BEGIN_INTERFACE
5774
5775 /*** IUnknown methods ***/
5776 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
5777 IAddrExclusionControl *This,
5778 REFIID riid,
5779 void **ppvObject);
5780
5781 ULONG (STDMETHODCALLTYPE *AddRef)(
5782 IAddrExclusionControl *This);
5783
5784 ULONG (STDMETHODCALLTYPE *Release)(
5785 IAddrExclusionControl *This);
5786
5787 /*** IAddrExclusionControl methods ***/
5788 HRESULT (STDMETHODCALLTYPE *GetCurrentAddrExclusionList)(
5789 IAddrExclusionControl *This,
5790 REFIID riid,
5791 void **ppEnumerator);
5792
5793 HRESULT (STDMETHODCALLTYPE *UpdateAddrExclusionList)(
5794 IAddrExclusionControl *This,
5795 IUnknown *pEnumerator);
5796
5797 END_INTERFACE
5798} IAddrExclusionControlVtbl;
5799
5800interface IAddrExclusionControl {
5801 CONST_VTBL IAddrExclusionControlVtbl* lpVtbl;
5802};
5803
5804#ifdef COBJMACROS
5805#ifndef WIDL_C_INLINE_WRAPPERS
5806/*** IUnknown methods ***/
5807#define IAddrExclusionControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
5808#define IAddrExclusionControl_AddRef(This) (This)->lpVtbl->AddRef(This)
5809#define IAddrExclusionControl_Release(This) (This)->lpVtbl->Release(This)
5810/*** IAddrExclusionControl methods ***/
5811#define IAddrExclusionControl_GetCurrentAddrExclusionList(This,riid,ppEnumerator) (This)->lpVtbl->GetCurrentAddrExclusionList(This,riid,ppEnumerator)
5812#define IAddrExclusionControl_UpdateAddrExclusionList(This,pEnumerator) (This)->lpVtbl->UpdateAddrExclusionList(This,pEnumerator)
5813#else
5814/*** IUnknown methods ***/
5815static inline HRESULT IAddrExclusionControl_QueryInterface(IAddrExclusionControl* This,REFIID riid,void **ppvObject) {
5816 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
5817}
5818static inline ULONG IAddrExclusionControl_AddRef(IAddrExclusionControl* This) {
5819 return This->lpVtbl->AddRef(This);
5820}
5821static inline ULONG IAddrExclusionControl_Release(IAddrExclusionControl* This) {
5822 return This->lpVtbl->Release(This);
5823}
5824/*** IAddrExclusionControl methods ***/
5825static inline HRESULT IAddrExclusionControl_GetCurrentAddrExclusionList(IAddrExclusionControl* This,REFIID riid,void **ppEnumerator) {
5826 return This->lpVtbl->GetCurrentAddrExclusionList(This,riid,ppEnumerator);
5827}
5828static inline HRESULT IAddrExclusionControl_UpdateAddrExclusionList(IAddrExclusionControl* This,IUnknown *pEnumerator) {
5829 return This->lpVtbl->UpdateAddrExclusionList(This,pEnumerator);
5830}
5831#endif
5832#endif
5833
5834#endif
5835
5836
5837#endif /* __IAddrExclusionControl_INTERFACE_DEFINED__ */
5838
5839
5840/*****************************************************************************
5841 * IPipeByte interface
5842 */
5843#ifndef __IPipeByte_INTERFACE_DEFINED__
5844#define __IPipeByte_INTERFACE_DEFINED__
5845
5846DEFINE_GUID(IID_IPipeByte, 0xdb2f3aca, 0x2f86, 0x11d1, 0x8e,0x04, 0x00,0xc0,0x4f,0xb9,0x98,0x9a);
5847#if defined(__cplusplus) && !defined(CINTERFACE)
5848MIDL_INTERFACE("db2f3aca-2f86-11d1-8e04-00c04fb9989a")
5849IPipeByte : public IUnknown
5850{
5851 virtual HRESULT STDMETHODCALLTYPE Pull(
5852 BYTE *buf,
5853 ULONG cRequest,
5854 ULONG *pcReturned) = 0;
5855
5856 virtual HRESULT STDMETHODCALLTYPE Push(
5857 BYTE *buf,
5858 ULONG cSent) = 0;
5859
5860};
5861#ifdef __CRT_UUID_DECL
5862__CRT_UUID_DECL(IPipeByte, 0xdb2f3aca, 0x2f86, 0x11d1, 0x8e,0x04, 0x00,0xc0,0x4f,0xb9,0x98,0x9a)
5863#endif
5864#else
5865typedef struct IPipeByteVtbl {
5866 BEGIN_INTERFACE
5867
5868 /*** IUnknown methods ***/
5869 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
5870 IPipeByte *This,
5871 REFIID riid,
5872 void **ppvObject);
5873
5874 ULONG (STDMETHODCALLTYPE *AddRef)(
5875 IPipeByte *This);
5876
5877 ULONG (STDMETHODCALLTYPE *Release)(
5878 IPipeByte *This);
5879
5880 /*** IPipeByte methods ***/
5881 HRESULT (STDMETHODCALLTYPE *Pull)(
5882 IPipeByte *This,
5883 BYTE *buf,
5884 ULONG cRequest,
5885 ULONG *pcReturned);
5886
5887 HRESULT (STDMETHODCALLTYPE *Push)(
5888 IPipeByte *This,
5889 BYTE *buf,
5890 ULONG cSent);
5891
5892 END_INTERFACE
5893} IPipeByteVtbl;
5894
5895interface IPipeByte {
5896 CONST_VTBL IPipeByteVtbl* lpVtbl;
5897};
5898
5899#ifdef COBJMACROS
5900#ifndef WIDL_C_INLINE_WRAPPERS
5901/*** IUnknown methods ***/
5902#define IPipeByte_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
5903#define IPipeByte_AddRef(This) (This)->lpVtbl->AddRef(This)
5904#define IPipeByte_Release(This) (This)->lpVtbl->Release(This)
5905/*** IPipeByte methods ***/
5906#define IPipeByte_Pull(This,buf,cRequest,pcReturned) (This)->lpVtbl->Pull(This,buf,cRequest,pcReturned)
5907#define IPipeByte_Push(This,buf,cSent) (This)->lpVtbl->Push(This,buf,cSent)
5908#else
5909/*** IUnknown methods ***/
5910static inline HRESULT IPipeByte_QueryInterface(IPipeByte* This,REFIID riid,void **ppvObject) {
5911 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
5912}
5913static inline ULONG IPipeByte_AddRef(IPipeByte* This) {
5914 return This->lpVtbl->AddRef(This);
5915}
5916static inline ULONG IPipeByte_Release(IPipeByte* This) {
5917 return This->lpVtbl->Release(This);
5918}
5919/*** IPipeByte methods ***/
5920static inline HRESULT IPipeByte_Pull(IPipeByte* This,BYTE *buf,ULONG cRequest,ULONG *pcReturned) {
5921 return This->lpVtbl->Pull(This,buf,cRequest,pcReturned);
5922}
5923static inline HRESULT IPipeByte_Push(IPipeByte* This,BYTE *buf,ULONG cSent) {
5924 return This->lpVtbl->Push(This,buf,cSent);
5925}
5926#endif
5927#endif
5928
5929#endif
5930
5931
5932#endif /* __IPipeByte_INTERFACE_DEFINED__ */
5933
5934
5935/*****************************************************************************
5936 * IPipeLong interface
5937 */
5938#ifndef __IPipeLong_INTERFACE_DEFINED__
5939#define __IPipeLong_INTERFACE_DEFINED__
5940
5941DEFINE_GUID(IID_IPipeLong, 0xdb2f3acc, 0x2f86, 0x11d1, 0x8e,0x04, 0x00,0xc0,0x4f,0xb9,0x98,0x9a);
5942#if defined(__cplusplus) && !defined(CINTERFACE)
5943MIDL_INTERFACE("db2f3acc-2f86-11d1-8e04-00c04fb9989a")
5944IPipeLong : public IUnknown
5945{
5946 virtual HRESULT STDMETHODCALLTYPE Pull(
5947 LONG *buf,
5948 ULONG cRequest,
5949 ULONG *pcReturned) = 0;
5950
5951 virtual HRESULT STDMETHODCALLTYPE Push(
5952 LONG *buf,
5953 ULONG cSent) = 0;
5954
5955};
5956#ifdef __CRT_UUID_DECL
5957__CRT_UUID_DECL(IPipeLong, 0xdb2f3acc, 0x2f86, 0x11d1, 0x8e,0x04, 0x00,0xc0,0x4f,0xb9,0x98,0x9a)
5958#endif
5959#else
5960typedef struct IPipeLongVtbl {
5961 BEGIN_INTERFACE
5962
5963 /*** IUnknown methods ***/
5964 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
5965 IPipeLong *This,
5966 REFIID riid,
5967 void **ppvObject);
5968
5969 ULONG (STDMETHODCALLTYPE *AddRef)(
5970 IPipeLong *This);
5971
5972 ULONG (STDMETHODCALLTYPE *Release)(
5973 IPipeLong *This);
5974
5975 /*** IPipeLong methods ***/
5976 HRESULT (STDMETHODCALLTYPE *Pull)(
5977 IPipeLong *This,
5978 LONG *buf,
5979 ULONG cRequest,
5980 ULONG *pcReturned);
5981
5982 HRESULT (STDMETHODCALLTYPE *Push)(
5983 IPipeLong *This,
5984 LONG *buf,
5985 ULONG cSent);
5986
5987 END_INTERFACE
5988} IPipeLongVtbl;
5989
5990interface IPipeLong {
5991 CONST_VTBL IPipeLongVtbl* lpVtbl;
5992};
5993
5994#ifdef COBJMACROS
5995#ifndef WIDL_C_INLINE_WRAPPERS
5996/*** IUnknown methods ***/
5997#define IPipeLong_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
5998#define IPipeLong_AddRef(This) (This)->lpVtbl->AddRef(This)
5999#define IPipeLong_Release(This) (This)->lpVtbl->Release(This)
6000/*** IPipeLong methods ***/
6001#define IPipeLong_Pull(This,buf,cRequest,pcReturned) (This)->lpVtbl->Pull(This,buf,cRequest,pcReturned)
6002#define IPipeLong_Push(This,buf,cSent) (This)->lpVtbl->Push(This,buf,cSent)
6003#else
6004/*** IUnknown methods ***/
6005static inline HRESULT IPipeLong_QueryInterface(IPipeLong* This,REFIID riid,void **ppvObject) {
6006 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
6007}
6008static inline ULONG IPipeLong_AddRef(IPipeLong* This) {
6009 return This->lpVtbl->AddRef(This);
6010}
6011static inline ULONG IPipeLong_Release(IPipeLong* This) {
6012 return This->lpVtbl->Release(This);
6013}
6014/*** IPipeLong methods ***/
6015static inline HRESULT IPipeLong_Pull(IPipeLong* This,LONG *buf,ULONG cRequest,ULONG *pcReturned) {
6016 return This->lpVtbl->Pull(This,buf,cRequest,pcReturned);
6017}
6018static inline HRESULT IPipeLong_Push(IPipeLong* This,LONG *buf,ULONG cSent) {
6019 return This->lpVtbl->Push(This,buf,cSent);
6020}
6021#endif
6022#endif
6023
6024#endif
6025
6026
6027#endif /* __IPipeLong_INTERFACE_DEFINED__ */
6028
6029
6030/*****************************************************************************
6031 * IPipeDouble interface
6032 */
6033#ifndef __IPipeDouble_INTERFACE_DEFINED__
6034#define __IPipeDouble_INTERFACE_DEFINED__
6035
6036DEFINE_GUID(IID_IPipeDouble, 0xdb2f3ace, 0x2f86, 0x11d1, 0x8e,0x04, 0x00,0xc0,0x4f,0xb9,0x98,0x9a);
6037#if defined(__cplusplus) && !defined(CINTERFACE)
6038MIDL_INTERFACE("db2f3ace-2f86-11d1-8e04-00c04fb9989a")
6039IPipeDouble : public IUnknown
6040{
6041 virtual HRESULT STDMETHODCALLTYPE Pull(
6042 DOUBLE *buf,
6043 ULONG cRequest,
6044 ULONG *pcReturned) = 0;
6045
6046 virtual HRESULT STDMETHODCALLTYPE Push(
6047 DOUBLE *buf,
6048 ULONG cSent) = 0;
6049
6050};
6051#ifdef __CRT_UUID_DECL
6052__CRT_UUID_DECL(IPipeDouble, 0xdb2f3ace, 0x2f86, 0x11d1, 0x8e,0x04, 0x00,0xc0,0x4f,0xb9,0x98,0x9a)
6053#endif
6054#else
6055typedef struct IPipeDoubleVtbl {
6056 BEGIN_INTERFACE
6057
6058 /*** IUnknown methods ***/
6059 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
6060 IPipeDouble *This,
6061 REFIID riid,
6062 void **ppvObject);
6063
6064 ULONG (STDMETHODCALLTYPE *AddRef)(
6065 IPipeDouble *This);
6066
6067 ULONG (STDMETHODCALLTYPE *Release)(
6068 IPipeDouble *This);
6069
6070 /*** IPipeDouble methods ***/
6071 HRESULT (STDMETHODCALLTYPE *Pull)(
6072 IPipeDouble *This,
6073 DOUBLE *buf,
6074 ULONG cRequest,
6075 ULONG *pcReturned);
6076
6077 HRESULT (STDMETHODCALLTYPE *Push)(
6078 IPipeDouble *This,
6079 DOUBLE *buf,
6080 ULONG cSent);
6081
6082 END_INTERFACE
6083} IPipeDoubleVtbl;
6084
6085interface IPipeDouble {
6086 CONST_VTBL IPipeDoubleVtbl* lpVtbl;
6087};
6088
6089#ifdef COBJMACROS
6090#ifndef WIDL_C_INLINE_WRAPPERS
6091/*** IUnknown methods ***/
6092#define IPipeDouble_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
6093#define IPipeDouble_AddRef(This) (This)->lpVtbl->AddRef(This)
6094#define IPipeDouble_Release(This) (This)->lpVtbl->Release(This)
6095/*** IPipeDouble methods ***/
6096#define IPipeDouble_Pull(This,buf,cRequest,pcReturned) (This)->lpVtbl->Pull(This,buf,cRequest,pcReturned)
6097#define IPipeDouble_Push(This,buf,cSent) (This)->lpVtbl->Push(This,buf,cSent)
6098#else
6099/*** IUnknown methods ***/
6100static inline HRESULT IPipeDouble_QueryInterface(IPipeDouble* This,REFIID riid,void **ppvObject) {
6101 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
6102}
6103static inline ULONG IPipeDouble_AddRef(IPipeDouble* This) {
6104 return This->lpVtbl->AddRef(This);
6105}
6106static inline ULONG IPipeDouble_Release(IPipeDouble* This) {
6107 return This->lpVtbl->Release(This);
6108}
6109/*** IPipeDouble methods ***/
6110static inline HRESULT IPipeDouble_Pull(IPipeDouble* This,DOUBLE *buf,ULONG cRequest,ULONG *pcReturned) {
6111 return This->lpVtbl->Pull(This,buf,cRequest,pcReturned);
6112}
6113static inline HRESULT IPipeDouble_Push(IPipeDouble* This,DOUBLE *buf,ULONG cSent) {
6114 return This->lpVtbl->Push(This,buf,cSent);
6115}
6116#endif
6117#endif
6118
6119#endif
6120
6121
6122#endif /* __IPipeDouble_INTERFACE_DEFINED__ */
6123
6124
6125#if defined USE_COM_CONTEXT_DEF || defined BUILDTYPE_COMSVCS || defined _COMBASEAPI_ || defined _OLE32_
6126
6127typedef DWORD CPFLAGS;
6128
6129typedef struct tagContextProperty {
6130 GUID policyId;
6131 CPFLAGS flags;
6132 IUnknown *pUnk;
6133} ContextProperty;
6134
6135/*****************************************************************************
6136 * IEnumContextProps interface
6137 */
6138#ifndef __IEnumContextProps_INTERFACE_DEFINED__
6139#define __IEnumContextProps_INTERFACE_DEFINED__
6140
6141typedef IEnumContextProps *LPENUMCONTEXTPROPS;
6142
6143DEFINE_GUID(IID_IEnumContextProps, 0x000001c1, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
6144#if defined(__cplusplus) && !defined(CINTERFACE)
6145MIDL_INTERFACE("000001c1-0000-0000-c000-000000000046")
6146IEnumContextProps : public IUnknown
6147{
6148 virtual HRESULT STDMETHODCALLTYPE Next(
6149 ULONG celt,
6150 ContextProperty *pContextProperties,
6151 ULONG *pceltFetched) = 0;
6152
6153 virtual HRESULT STDMETHODCALLTYPE Skip(
6154 ULONG celt) = 0;
6155
6156 virtual HRESULT STDMETHODCALLTYPE Reset(
6157 ) = 0;
6158
6159 virtual HRESULT STDMETHODCALLTYPE Clone(
6160 IEnumContextProps **ppEnumContextProps) = 0;
6161
6162 virtual HRESULT STDMETHODCALLTYPE Count(
6163 ULONG *pcelt) = 0;
6164
6165};
6166#ifdef __CRT_UUID_DECL
6167__CRT_UUID_DECL(IEnumContextProps, 0x000001c1, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
6168#endif
6169#else
6170typedef struct IEnumContextPropsVtbl {
6171 BEGIN_INTERFACE
6172
6173 /*** IUnknown methods ***/
6174 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
6175 IEnumContextProps *This,
6176 REFIID riid,
6177 void **ppvObject);
6178
6179 ULONG (STDMETHODCALLTYPE *AddRef)(
6180 IEnumContextProps *This);
6181
6182 ULONG (STDMETHODCALLTYPE *Release)(
6183 IEnumContextProps *This);
6184
6185 /*** IEnumContextProps methods ***/
6186 HRESULT (STDMETHODCALLTYPE *Next)(
6187 IEnumContextProps *This,
6188 ULONG celt,
6189 ContextProperty *pContextProperties,
6190 ULONG *pceltFetched);
6191
6192 HRESULT (STDMETHODCALLTYPE *Skip)(
6193 IEnumContextProps *This,
6194 ULONG celt);
6195
6196 HRESULT (STDMETHODCALLTYPE *Reset)(
6197 IEnumContextProps *This);
6198
6199 HRESULT (STDMETHODCALLTYPE *Clone)(
6200 IEnumContextProps *This,
6201 IEnumContextProps **ppEnumContextProps);
6202
6203 HRESULT (STDMETHODCALLTYPE *Count)(
6204 IEnumContextProps *This,
6205 ULONG *pcelt);
6206
6207 END_INTERFACE
6208} IEnumContextPropsVtbl;
6209
6210interface IEnumContextProps {
6211 CONST_VTBL IEnumContextPropsVtbl* lpVtbl;
6212};
6213
6214#ifdef COBJMACROS
6215#ifndef WIDL_C_INLINE_WRAPPERS
6216/*** IUnknown methods ***/
6217#define IEnumContextProps_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
6218#define IEnumContextProps_AddRef(This) (This)->lpVtbl->AddRef(This)
6219#define IEnumContextProps_Release(This) (This)->lpVtbl->Release(This)
6220/*** IEnumContextProps methods ***/
6221#define IEnumContextProps_Next(This,celt,pContextProperties,pceltFetched) (This)->lpVtbl->Next(This,celt,pContextProperties,pceltFetched)
6222#define IEnumContextProps_Skip(This,celt) (This)->lpVtbl->Skip(This,celt)
6223#define IEnumContextProps_Reset(This) (This)->lpVtbl->Reset(This)
6224#define IEnumContextProps_Clone(This,ppEnumContextProps) (This)->lpVtbl->Clone(This,ppEnumContextProps)
6225#define IEnumContextProps_Count(This,pcelt) (This)->lpVtbl->Count(This,pcelt)
6226#else
6227/*** IUnknown methods ***/
6228static inline HRESULT IEnumContextProps_QueryInterface(IEnumContextProps* This,REFIID riid,void **ppvObject) {
6229 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
6230}
6231static inline ULONG IEnumContextProps_AddRef(IEnumContextProps* This) {
6232 return This->lpVtbl->AddRef(This);
6233}
6234static inline ULONG IEnumContextProps_Release(IEnumContextProps* This) {
6235 return This->lpVtbl->Release(This);
6236}
6237/*** IEnumContextProps methods ***/
6238static inline HRESULT IEnumContextProps_Next(IEnumContextProps* This,ULONG celt,ContextProperty *pContextProperties,ULONG *pceltFetched) {
6239 return This->lpVtbl->Next(This,celt,pContextProperties,pceltFetched);
6240}
6241static inline HRESULT IEnumContextProps_Skip(IEnumContextProps* This,ULONG celt) {
6242 return This->lpVtbl->Skip(This,celt);
6243}
6244static inline HRESULT IEnumContextProps_Reset(IEnumContextProps* This) {
6245 return This->lpVtbl->Reset(This);
6246}
6247static inline HRESULT IEnumContextProps_Clone(IEnumContextProps* This,IEnumContextProps **ppEnumContextProps) {
6248 return This->lpVtbl->Clone(This,ppEnumContextProps);
6249}
6250static inline HRESULT IEnumContextProps_Count(IEnumContextProps* This,ULONG *pcelt) {
6251 return This->lpVtbl->Count(This,pcelt);
6252}
6253#endif
6254#endif
6255
6256#endif
6257
6258
6259#endif /* __IEnumContextProps_INTERFACE_DEFINED__ */
6260
6261
6262/*****************************************************************************
6263 * IContext interface
6264 */
6265#ifndef __IContext_INTERFACE_DEFINED__
6266#define __IContext_INTERFACE_DEFINED__
6267
6268DEFINE_GUID(IID_IContext, 0x000001c0, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
6269#if defined(__cplusplus) && !defined(CINTERFACE)
6270MIDL_INTERFACE("000001c0-0000-0000-c000-000000000046")
6271IContext : public IUnknown
6272{
6273 virtual HRESULT STDMETHODCALLTYPE SetProperty(
6274 REFGUID rpolicyId,
6275 CPFLAGS flags,
6276 IUnknown *pUnk) = 0;
6277
6278 virtual HRESULT STDMETHODCALLTYPE RemoveProperty(
6279 REFGUID rPolicyId) = 0;
6280
6281 virtual HRESULT STDMETHODCALLTYPE GetProperty(
6282 REFGUID rGuid,
6283 CPFLAGS *pFlags,
6284 IUnknown **ppUnk) = 0;
6285
6286 virtual HRESULT STDMETHODCALLTYPE EnumContextProps(
6287 IEnumContextProps **ppEnumContextProps) = 0;
6288
6289};
6290#ifdef __CRT_UUID_DECL
6291__CRT_UUID_DECL(IContext, 0x000001c0, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
6292#endif
6293#else
6294typedef struct IContextVtbl {
6295 BEGIN_INTERFACE
6296
6297 /*** IUnknown methods ***/
6298 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
6299 IContext *This,
6300 REFIID riid,
6301 void **ppvObject);
6302
6303 ULONG (STDMETHODCALLTYPE *AddRef)(
6304 IContext *This);
6305
6306 ULONG (STDMETHODCALLTYPE *Release)(
6307 IContext *This);
6308
6309 /*** IContext methods ***/
6310 HRESULT (STDMETHODCALLTYPE *SetProperty)(
6311 IContext *This,
6312 REFGUID rpolicyId,
6313 CPFLAGS flags,
6314 IUnknown *pUnk);
6315
6316 HRESULT (STDMETHODCALLTYPE *RemoveProperty)(
6317 IContext *This,
6318 REFGUID rPolicyId);
6319
6320 HRESULT (STDMETHODCALLTYPE *GetProperty)(
6321 IContext *This,
6322 REFGUID rGuid,
6323 CPFLAGS *pFlags,
6324 IUnknown **ppUnk);
6325
6326 HRESULT (STDMETHODCALLTYPE *EnumContextProps)(
6327 IContext *This,
6328 IEnumContextProps **ppEnumContextProps);
6329
6330 END_INTERFACE
6331} IContextVtbl;
6332
6333interface IContext {
6334 CONST_VTBL IContextVtbl* lpVtbl;
6335};
6336
6337#ifdef COBJMACROS
6338#ifndef WIDL_C_INLINE_WRAPPERS
6339/*** IUnknown methods ***/
6340#define IContext_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
6341#define IContext_AddRef(This) (This)->lpVtbl->AddRef(This)
6342#define IContext_Release(This) (This)->lpVtbl->Release(This)
6343/*** IContext methods ***/
6344#define IContext_SetProperty(This,rpolicyId,flags,pUnk) (This)->lpVtbl->SetProperty(This,rpolicyId,flags,pUnk)
6345#define IContext_RemoveProperty(This,rPolicyId) (This)->lpVtbl->RemoveProperty(This,rPolicyId)
6346#define IContext_GetProperty(This,rGuid,pFlags,ppUnk) (This)->lpVtbl->GetProperty(This,rGuid,pFlags,ppUnk)
6347#define IContext_EnumContextProps(This,ppEnumContextProps) (This)->lpVtbl->EnumContextProps(This,ppEnumContextProps)
6348#else
6349/*** IUnknown methods ***/
6350static inline HRESULT IContext_QueryInterface(IContext* This,REFIID riid,void **ppvObject) {
6351 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
6352}
6353static inline ULONG IContext_AddRef(IContext* This) {
6354 return This->lpVtbl->AddRef(This);
6355}
6356static inline ULONG IContext_Release(IContext* This) {
6357 return This->lpVtbl->Release(This);
6358}
6359/*** IContext methods ***/
6360static inline HRESULT IContext_SetProperty(IContext* This,REFGUID rpolicyId,CPFLAGS flags,IUnknown *pUnk) {
6361 return This->lpVtbl->SetProperty(This,rpolicyId,flags,pUnk);
6362}
6363static inline HRESULT IContext_RemoveProperty(IContext* This,REFGUID rPolicyId) {
6364 return This->lpVtbl->RemoveProperty(This,rPolicyId);
6365}
6366static inline HRESULT IContext_GetProperty(IContext* This,REFGUID rGuid,CPFLAGS *pFlags,IUnknown **ppUnk) {
6367 return This->lpVtbl->GetProperty(This,rGuid,pFlags,ppUnk);
6368}
6369static inline HRESULT IContext_EnumContextProps(IContext* This,IEnumContextProps **ppEnumContextProps) {
6370 return This->lpVtbl->EnumContextProps(This,ppEnumContextProps);
6371}
6372#endif
6373#endif
6374
6375#endif
6376
6377
6378#endif /* __IContext_INTERFACE_DEFINED__ */
6379
6380#endif
6381#endif
6382
6383#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
6384typedef enum _APTTYPEQUALIFIER {
6385 APTTYPEQUALIFIER_NONE = 0,
6386 APTTYPEQUALIFIER_IMPLICIT_MTA = 1,
6387 APTTYPEQUALIFIER_NA_ON_MTA = 2,
6388 APTTYPEQUALIFIER_NA_ON_STA = 3,
6389 APTTYPEQUALIFIER_NA_ON_IMPLICIT_MTA = 4,
6390 APTTYPEQUALIFIER_NA_ON_MAINSTA = 5,
6391 APTTYPEQUALIFIER_APPLICATION_STA = 6
6392} APTTYPEQUALIFIER;
6393
6394typedef enum _APTTYPE {
6395 APTTYPE_CURRENT = -1,
6396 APTTYPE_STA = 0,
6397 APTTYPE_MTA = 1,
6398 APTTYPE_NA = 2,
6399 APTTYPE_MAINSTA = 3
6400} APTTYPE;
6401#endif
6402
6403#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
6404typedef enum _THDTYPE {
6405 THDTYPE_BLOCKMESSAGES = 0,
6406 THDTYPE_PROCESSMESSAGES = 1
6407} THDTYPE;
6408
6409typedef DWORD APARTMENTID;
6410
6411/*****************************************************************************
6412 * IComThreadingInfo interface
6413 */
6414#ifndef __IComThreadingInfo_INTERFACE_DEFINED__
6415#define __IComThreadingInfo_INTERFACE_DEFINED__
6416
6417DEFINE_GUID(IID_IComThreadingInfo, 0x000001ce, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
6418#if defined(__cplusplus) && !defined(CINTERFACE)
6419MIDL_INTERFACE("000001ce-0000-0000-c000-000000000046")
6420IComThreadingInfo : public IUnknown
6421{
6422 virtual HRESULT STDMETHODCALLTYPE GetCurrentApartmentType(
6423 APTTYPE *pAptType) = 0;
6424
6425 virtual HRESULT STDMETHODCALLTYPE GetCurrentThreadType(
6426 THDTYPE *pThreadType) = 0;
6427
6428 virtual HRESULT STDMETHODCALLTYPE GetCurrentLogicalThreadId(
6429 GUID *pguidLogicalThreadId) = 0;
6430
6431 virtual HRESULT STDMETHODCALLTYPE SetCurrentLogicalThreadId(
6432 REFGUID rguid) = 0;
6433
6434};
6435#ifdef __CRT_UUID_DECL
6436__CRT_UUID_DECL(IComThreadingInfo, 0x000001ce, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
6437#endif
6438#else
6439typedef struct IComThreadingInfoVtbl {
6440 BEGIN_INTERFACE
6441
6442 /*** IUnknown methods ***/
6443 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
6444 IComThreadingInfo *This,
6445 REFIID riid,
6446 void **ppvObject);
6447
6448 ULONG (STDMETHODCALLTYPE *AddRef)(
6449 IComThreadingInfo *This);
6450
6451 ULONG (STDMETHODCALLTYPE *Release)(
6452 IComThreadingInfo *This);
6453
6454 /*** IComThreadingInfo methods ***/
6455 HRESULT (STDMETHODCALLTYPE *GetCurrentApartmentType)(
6456 IComThreadingInfo *This,
6457 APTTYPE *pAptType);
6458
6459 HRESULT (STDMETHODCALLTYPE *GetCurrentThreadType)(
6460 IComThreadingInfo *This,
6461 THDTYPE *pThreadType);
6462
6463 HRESULT (STDMETHODCALLTYPE *GetCurrentLogicalThreadId)(
6464 IComThreadingInfo *This,
6465 GUID *pguidLogicalThreadId);
6466
6467 HRESULT (STDMETHODCALLTYPE *SetCurrentLogicalThreadId)(
6468 IComThreadingInfo *This,
6469 REFGUID rguid);
6470
6471 END_INTERFACE
6472} IComThreadingInfoVtbl;
6473
6474interface IComThreadingInfo {
6475 CONST_VTBL IComThreadingInfoVtbl* lpVtbl;
6476};
6477
6478#ifdef COBJMACROS
6479#ifndef WIDL_C_INLINE_WRAPPERS
6480/*** IUnknown methods ***/
6481#define IComThreadingInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
6482#define IComThreadingInfo_AddRef(This) (This)->lpVtbl->AddRef(This)
6483#define IComThreadingInfo_Release(This) (This)->lpVtbl->Release(This)
6484/*** IComThreadingInfo methods ***/
6485#define IComThreadingInfo_GetCurrentApartmentType(This,pAptType) (This)->lpVtbl->GetCurrentApartmentType(This,pAptType)
6486#define IComThreadingInfo_GetCurrentThreadType(This,pThreadType) (This)->lpVtbl->GetCurrentThreadType(This,pThreadType)
6487#define IComThreadingInfo_GetCurrentLogicalThreadId(This,pguidLogicalThreadId) (This)->lpVtbl->GetCurrentLogicalThreadId(This,pguidLogicalThreadId)
6488#define IComThreadingInfo_SetCurrentLogicalThreadId(This,rguid) (This)->lpVtbl->SetCurrentLogicalThreadId(This,rguid)
6489#else
6490/*** IUnknown methods ***/
6491static inline HRESULT IComThreadingInfo_QueryInterface(IComThreadingInfo* This,REFIID riid,void **ppvObject) {
6492 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
6493}
6494static inline ULONG IComThreadingInfo_AddRef(IComThreadingInfo* This) {
6495 return This->lpVtbl->AddRef(This);
6496}
6497static inline ULONG IComThreadingInfo_Release(IComThreadingInfo* This) {
6498 return This->lpVtbl->Release(This);
6499}
6500/*** IComThreadingInfo methods ***/
6501static inline HRESULT IComThreadingInfo_GetCurrentApartmentType(IComThreadingInfo* This,APTTYPE *pAptType) {
6502 return This->lpVtbl->GetCurrentApartmentType(This,pAptType);
6503}
6504static inline HRESULT IComThreadingInfo_GetCurrentThreadType(IComThreadingInfo* This,THDTYPE *pThreadType) {
6505 return This->lpVtbl->GetCurrentThreadType(This,pThreadType);
6506}
6507static inline HRESULT IComThreadingInfo_GetCurrentLogicalThreadId(IComThreadingInfo* This,GUID *pguidLogicalThreadId) {
6508 return This->lpVtbl->GetCurrentLogicalThreadId(This,pguidLogicalThreadId);
6509}
6510static inline HRESULT IComThreadingInfo_SetCurrentLogicalThreadId(IComThreadingInfo* This,REFGUID rguid) {
6511 return This->lpVtbl->SetCurrentLogicalThreadId(This,rguid);
6512}
6513#endif
6514#endif
6515
6516#endif
6517
6518
6519#endif /* __IComThreadingInfo_INTERFACE_DEFINED__ */
6520
6521
6522/*****************************************************************************
6523 * IProcessInitControl interface
6524 */
6525#ifndef __IProcessInitControl_INTERFACE_DEFINED__
6526#define __IProcessInitControl_INTERFACE_DEFINED__
6527
6528DEFINE_GUID(IID_IProcessInitControl, 0x72380d55, 0x8d2b, 0x43a3, 0x85,0x13, 0x2b,0x6e,0xf3,0x14,0x34,0xe9);
6529#if defined(__cplusplus) && !defined(CINTERFACE)
6530MIDL_INTERFACE("72380d55-8d2b-43a3-8513-2b6ef31434e9")
6531IProcessInitControl : public IUnknown
6532{
6533 virtual HRESULT STDMETHODCALLTYPE ResetInitializerTimeout(
6534 DWORD dwSecondsRemaining) = 0;
6535
6536};
6537#ifdef __CRT_UUID_DECL
6538__CRT_UUID_DECL(IProcessInitControl, 0x72380d55, 0x8d2b, 0x43a3, 0x85,0x13, 0x2b,0x6e,0xf3,0x14,0x34,0xe9)
6539#endif
6540#else
6541typedef struct IProcessInitControlVtbl {
6542 BEGIN_INTERFACE
6543
6544 /*** IUnknown methods ***/
6545 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
6546 IProcessInitControl *This,
6547 REFIID riid,
6548 void **ppvObject);
6549
6550 ULONG (STDMETHODCALLTYPE *AddRef)(
6551 IProcessInitControl *This);
6552
6553 ULONG (STDMETHODCALLTYPE *Release)(
6554 IProcessInitControl *This);
6555
6556 /*** IProcessInitControl methods ***/
6557 HRESULT (STDMETHODCALLTYPE *ResetInitializerTimeout)(
6558 IProcessInitControl *This,
6559 DWORD dwSecondsRemaining);
6560
6561 END_INTERFACE
6562} IProcessInitControlVtbl;
6563
6564interface IProcessInitControl {
6565 CONST_VTBL IProcessInitControlVtbl* lpVtbl;
6566};
6567
6568#ifdef COBJMACROS
6569#ifndef WIDL_C_INLINE_WRAPPERS
6570/*** IUnknown methods ***/
6571#define IProcessInitControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
6572#define IProcessInitControl_AddRef(This) (This)->lpVtbl->AddRef(This)
6573#define IProcessInitControl_Release(This) (This)->lpVtbl->Release(This)
6574/*** IProcessInitControl methods ***/
6575#define IProcessInitControl_ResetInitializerTimeout(This,dwSecondsRemaining) (This)->lpVtbl->ResetInitializerTimeout(This,dwSecondsRemaining)
6576#else
6577/*** IUnknown methods ***/
6578static inline HRESULT IProcessInitControl_QueryInterface(IProcessInitControl* This,REFIID riid,void **ppvObject) {
6579 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
6580}
6581static inline ULONG IProcessInitControl_AddRef(IProcessInitControl* This) {
6582 return This->lpVtbl->AddRef(This);
6583}
6584static inline ULONG IProcessInitControl_Release(IProcessInitControl* This) {
6585 return This->lpVtbl->Release(This);
6586}
6587/*** IProcessInitControl methods ***/
6588static inline HRESULT IProcessInitControl_ResetInitializerTimeout(IProcessInitControl* This,DWORD dwSecondsRemaining) {
6589 return This->lpVtbl->ResetInitializerTimeout(This,dwSecondsRemaining);
6590}
6591#endif
6592#endif
6593
6594#endif
6595
6596
6597#endif /* __IProcessInitControl_INTERFACE_DEFINED__ */
6598
6599
6600/*****************************************************************************
6601 * IFastRundown interface
6602 */
6603#ifndef __IFastRundown_INTERFACE_DEFINED__
6604#define __IFastRundown_INTERFACE_DEFINED__
6605
6606DEFINE_GUID(IID_IFastRundown, 0x00000040, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
6607#if defined(__cplusplus) && !defined(CINTERFACE)
6608MIDL_INTERFACE("00000040-0000-0000-c000-000000000046")
6609IFastRundown : public IUnknown
6610{
6611};
6612#ifdef __CRT_UUID_DECL
6613__CRT_UUID_DECL(IFastRundown, 0x00000040, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
6614#endif
6615#else
6616typedef struct IFastRundownVtbl {
6617 BEGIN_INTERFACE
6618
6619 /*** IUnknown methods ***/
6620 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
6621 IFastRundown *This,
6622 REFIID riid,
6623 void **ppvObject);
6624
6625 ULONG (STDMETHODCALLTYPE *AddRef)(
6626 IFastRundown *This);
6627
6628 ULONG (STDMETHODCALLTYPE *Release)(
6629 IFastRundown *This);
6630
6631 END_INTERFACE
6632} IFastRundownVtbl;
6633
6634interface IFastRundown {
6635 CONST_VTBL IFastRundownVtbl* lpVtbl;
6636};
6637
6638#ifdef COBJMACROS
6639#ifndef WIDL_C_INLINE_WRAPPERS
6640/*** IUnknown methods ***/
6641#define IFastRundown_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
6642#define IFastRundown_AddRef(This) (This)->lpVtbl->AddRef(This)
6643#define IFastRundown_Release(This) (This)->lpVtbl->Release(This)
6644#else
6645/*** IUnknown methods ***/
6646static inline HRESULT IFastRundown_QueryInterface(IFastRundown* This,REFIID riid,void **ppvObject) {
6647 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
6648}
6649static inline ULONG IFastRundown_AddRef(IFastRundown* This) {
6650 return This->lpVtbl->AddRef(This);
6651}
6652static inline ULONG IFastRundown_Release(IFastRundown* This) {
6653 return This->lpVtbl->Release(This);
6654}
6655#endif
6656#endif
6657
6658#endif
6659
6660
6661#endif /* __IFastRundown_INTERFACE_DEFINED__ */
6662
6663
6664typedef enum CO_MARSHALING_CONTEXT_ATTRIBUTES {
6665 CO_MARSHALING_SOURCE_IS_APP_CONTAINER = 0
6666} CO_MARSHALING_CONTEXT_ATTRIBUTES;
6667
6668/*****************************************************************************
6669 * IMarshalingStream interface
6670 */
6671#ifndef __IMarshalingStream_INTERFACE_DEFINED__
6672#define __IMarshalingStream_INTERFACE_DEFINED__
6673
6674DEFINE_GUID(IID_IMarshalingStream, 0xd8f2f5e6, 0x6102, 0x4863, 0x9f,0x26, 0x38,0x9a,0x46,0x76,0xef,0xde);
6675#if defined(__cplusplus) && !defined(CINTERFACE)
6676MIDL_INTERFACE("d8f2f5e6-6102-4863-9f26-389a4676efde")
6677IMarshalingStream : public IStream
6678{
6679 virtual HRESULT STDMETHODCALLTYPE GetMarshalingContextAttribute(
6680 CO_MARSHALING_CONTEXT_ATTRIBUTES attribute,
6681 ULONG_PTR *pAttributeValue) = 0;
6682
6683};
6684#ifdef __CRT_UUID_DECL
6685__CRT_UUID_DECL(IMarshalingStream, 0xd8f2f5e6, 0x6102, 0x4863, 0x9f,0x26, 0x38,0x9a,0x46,0x76,0xef,0xde)
6686#endif
6687#else
6688typedef struct IMarshalingStreamVtbl {
6689 BEGIN_INTERFACE
6690
6691 /*** IUnknown methods ***/
6692 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
6693 IMarshalingStream *This,
6694 REFIID riid,
6695 void **ppvObject);
6696
6697 ULONG (STDMETHODCALLTYPE *AddRef)(
6698 IMarshalingStream *This);
6699
6700 ULONG (STDMETHODCALLTYPE *Release)(
6701 IMarshalingStream *This);
6702
6703 /*** ISequentialStream methods ***/
6704 HRESULT (STDMETHODCALLTYPE *Read)(
6705 IMarshalingStream *This,
6706 void *pv,
6707 ULONG cb,
6708 ULONG *pcbRead);
6709
6710 HRESULT (STDMETHODCALLTYPE *Write)(
6711 IMarshalingStream *This,
6712 const void *pv,
6713 ULONG cb,
6714 ULONG *pcbWritten);
6715
6716 /*** IStream methods ***/
6717 HRESULT (STDMETHODCALLTYPE *Seek)(
6718 IMarshalingStream *This,
6719 LARGE_INTEGER dlibMove,
6720 DWORD dwOrigin,
6721 ULARGE_INTEGER *plibNewPosition);
6722
6723 HRESULT (STDMETHODCALLTYPE *SetSize)(
6724 IMarshalingStream *This,
6725 ULARGE_INTEGER libNewSize);
6726
6727 HRESULT (STDMETHODCALLTYPE *CopyTo)(
6728 IMarshalingStream *This,
6729 IStream *pstm,
6730 ULARGE_INTEGER cb,
6731 ULARGE_INTEGER *pcbRead,
6732 ULARGE_INTEGER *pcbWritten);
6733
6734 HRESULT (STDMETHODCALLTYPE *Commit)(
6735 IMarshalingStream *This,
6736 DWORD grfCommitFlags);
6737
6738 HRESULT (STDMETHODCALLTYPE *Revert)(
6739 IMarshalingStream *This);
6740
6741 HRESULT (STDMETHODCALLTYPE *LockRegion)(
6742 IMarshalingStream *This,
6743 ULARGE_INTEGER libOffset,
6744 ULARGE_INTEGER cb,
6745 DWORD dwLockType);
6746
6747 HRESULT (STDMETHODCALLTYPE *UnlockRegion)(
6748 IMarshalingStream *This,
6749 ULARGE_INTEGER libOffset,
6750 ULARGE_INTEGER cb,
6751 DWORD dwLockType);
6752
6753 HRESULT (STDMETHODCALLTYPE *Stat)(
6754 IMarshalingStream *This,
6755 STATSTG *pstatstg,
6756 DWORD grfStatFlag);
6757
6758 HRESULT (STDMETHODCALLTYPE *Clone)(
6759 IMarshalingStream *This,
6760 IStream **ppstm);
6761
6762 /*** IMarshalingStream methods ***/
6763 HRESULT (STDMETHODCALLTYPE *GetMarshalingContextAttribute)(
6764 IMarshalingStream *This,
6765 CO_MARSHALING_CONTEXT_ATTRIBUTES attribute,
6766 ULONG_PTR *pAttributeValue);
6767
6768 END_INTERFACE
6769} IMarshalingStreamVtbl;
6770
6771interface IMarshalingStream {
6772 CONST_VTBL IMarshalingStreamVtbl* lpVtbl;
6773};
6774
6775#ifdef COBJMACROS
6776#ifndef WIDL_C_INLINE_WRAPPERS
6777/*** IUnknown methods ***/
6778#define IMarshalingStream_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
6779#define IMarshalingStream_AddRef(This) (This)->lpVtbl->AddRef(This)
6780#define IMarshalingStream_Release(This) (This)->lpVtbl->Release(This)
6781/*** ISequentialStream methods ***/
6782#define IMarshalingStream_Read(This,pv,cb,pcbRead) (This)->lpVtbl->Read(This,pv,cb,pcbRead)
6783#define IMarshalingStream_Write(This,pv,cb,pcbWritten) (This)->lpVtbl->Write(This,pv,cb,pcbWritten)
6784/*** IStream methods ***/
6785#define IMarshalingStream_Seek(This,dlibMove,dwOrigin,plibNewPosition) (This)->lpVtbl->Seek(This,dlibMove,dwOrigin,plibNewPosition)
6786#define IMarshalingStream_SetSize(This,libNewSize) (This)->lpVtbl->SetSize(This,libNewSize)
6787#define IMarshalingStream_CopyTo(This,pstm,cb,pcbRead,pcbWritten) (This)->lpVtbl->CopyTo(This,pstm,cb,pcbRead,pcbWritten)
6788#define IMarshalingStream_Commit(This,grfCommitFlags) (This)->lpVtbl->Commit(This,grfCommitFlags)
6789#define IMarshalingStream_Revert(This) (This)->lpVtbl->Revert(This)
6790#define IMarshalingStream_LockRegion(This,libOffset,cb,dwLockType) (This)->lpVtbl->LockRegion(This,libOffset,cb,dwLockType)
6791#define IMarshalingStream_UnlockRegion(This,libOffset,cb,dwLockType) (This)->lpVtbl->UnlockRegion(This,libOffset,cb,dwLockType)
6792#define IMarshalingStream_Stat(This,pstatstg,grfStatFlag) (This)->lpVtbl->Stat(This,pstatstg,grfStatFlag)
6793#define IMarshalingStream_Clone(This,ppstm) (This)->lpVtbl->Clone(This,ppstm)
6794/*** IMarshalingStream methods ***/
6795#define IMarshalingStream_GetMarshalingContextAttribute(This,attribute,pAttributeValue) (This)->lpVtbl->GetMarshalingContextAttribute(This,attribute,pAttributeValue)
6796#else
6797/*** IUnknown methods ***/
6798static inline HRESULT IMarshalingStream_QueryInterface(IMarshalingStream* This,REFIID riid,void **ppvObject) {
6799 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
6800}
6801static inline ULONG IMarshalingStream_AddRef(IMarshalingStream* This) {
6802 return This->lpVtbl->AddRef(This);
6803}
6804static inline ULONG IMarshalingStream_Release(IMarshalingStream* This) {
6805 return This->lpVtbl->Release(This);
6806}
6807/*** ISequentialStream methods ***/
6808static inline HRESULT IMarshalingStream_Read(IMarshalingStream* This,void *pv,ULONG cb,ULONG *pcbRead) {
6809 return This->lpVtbl->Read(This,pv,cb,pcbRead);
6810}
6811static inline HRESULT IMarshalingStream_Write(IMarshalingStream* This,const void *pv,ULONG cb,ULONG *pcbWritten) {
6812 return This->lpVtbl->Write(This,pv,cb,pcbWritten);
6813}
6814/*** IStream methods ***/
6815static inline HRESULT IMarshalingStream_Seek(IMarshalingStream* This,LARGE_INTEGER dlibMove,DWORD dwOrigin,ULARGE_INTEGER *plibNewPosition) {
6816 return This->lpVtbl->Seek(This,dlibMove,dwOrigin,plibNewPosition);
6817}
6818static inline HRESULT IMarshalingStream_SetSize(IMarshalingStream* This,ULARGE_INTEGER libNewSize) {
6819 return This->lpVtbl->SetSize(This,libNewSize);
6820}
6821static inline HRESULT IMarshalingStream_CopyTo(IMarshalingStream* This,IStream *pstm,ULARGE_INTEGER cb,ULARGE_INTEGER *pcbRead,ULARGE_INTEGER *pcbWritten) {
6822 return This->lpVtbl->CopyTo(This,pstm,cb,pcbRead,pcbWritten);
6823}
6824static inline HRESULT IMarshalingStream_Commit(IMarshalingStream* This,DWORD grfCommitFlags) {
6825 return This->lpVtbl->Commit(This,grfCommitFlags);
6826}
6827static inline HRESULT IMarshalingStream_Revert(IMarshalingStream* This) {
6828 return This->lpVtbl->Revert(This);
6829}
6830static inline HRESULT IMarshalingStream_LockRegion(IMarshalingStream* This,ULARGE_INTEGER libOffset,ULARGE_INTEGER cb,DWORD dwLockType) {
6831 return This->lpVtbl->LockRegion(This,libOffset,cb,dwLockType);
6832}
6833static inline HRESULT IMarshalingStream_UnlockRegion(IMarshalingStream* This,ULARGE_INTEGER libOffset,ULARGE_INTEGER cb,DWORD dwLockType) {
6834 return This->lpVtbl->UnlockRegion(This,libOffset,cb,dwLockType);
6835}
6836static inline HRESULT IMarshalingStream_Stat(IMarshalingStream* This,STATSTG *pstatstg,DWORD grfStatFlag) {
6837 return This->lpVtbl->Stat(This,pstatstg,grfStatFlag);
6838}
6839static inline HRESULT IMarshalingStream_Clone(IMarshalingStream* This,IStream **ppstm) {
6840 return This->lpVtbl->Clone(This,ppstm);
6841}
6842/*** IMarshalingStream methods ***/
6843static inline HRESULT IMarshalingStream_GetMarshalingContextAttribute(IMarshalingStream* This,CO_MARSHALING_CONTEXT_ATTRIBUTES attribute,ULONG_PTR *pAttributeValue) {
6844 return This->lpVtbl->GetMarshalingContextAttribute(This,attribute,pAttributeValue);
6845}
6846#endif
6847#endif
6848
6849#endif
6850
6851
6852#endif /* __IMarshalingStream_INTERFACE_DEFINED__ */
6853
6854#endif
6855
6856#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
6857EXTERN_C const GUID IID_ICallbackWithNoReentrancyToApplicationSTA;
6858#endif
6859#define _OBJIDLBASE_
6860#endif
6861#ifndef __IMoniker_FWD_DEFINED__
6862#define __IMoniker_FWD_DEFINED__
6863typedef interface IMoniker IMoniker;
6864#ifdef __cplusplus
6865interface IMoniker;
6866#endif /* __cplusplus */
6867#endif
6868
6869#ifndef __IEnumMoniker_FWD_DEFINED__
6870#define __IEnumMoniker_FWD_DEFINED__
6871typedef interface IEnumMoniker IEnumMoniker;
6872#ifdef __cplusplus
6873interface IEnumMoniker;
6874#endif /* __cplusplus */
6875#endif
6876
6877#ifndef __IRunningObjectTable_FWD_DEFINED__
6878#define __IRunningObjectTable_FWD_DEFINED__
6879typedef interface IRunningObjectTable IRunningObjectTable;
6880#ifdef __cplusplus
6881interface IRunningObjectTable;
6882#endif /* __cplusplus */
6883#endif
6884
6885#ifndef __IStorage_FWD_DEFINED__
6886#define __IStorage_FWD_DEFINED__
6887typedef interface IStorage IStorage;
6888#ifdef __cplusplus
6889interface IStorage;
6890#endif /* __cplusplus */
6891#endif
6892
6893#ifndef __IEnumSTATSTG_FWD_DEFINED__
6894#define __IEnumSTATSTG_FWD_DEFINED__
6895typedef interface IEnumSTATSTG IEnumSTATSTG;
6896#ifdef __cplusplus
6897interface IEnumSTATSTG;
6898#endif /* __cplusplus */
6899#endif
6900
6901#ifndef __IAdviseSink_FWD_DEFINED__
6902#define __IAdviseSink_FWD_DEFINED__
6903typedef interface IAdviseSink IAdviseSink;
6904#ifdef __cplusplus
6905interface IAdviseSink;
6906#endif /* __cplusplus */
6907#endif
6908
6909#ifndef __IBindCtx_FWD_DEFINED__
6910#define __IBindCtx_FWD_DEFINED__
6911typedef interface IBindCtx IBindCtx;
6912#ifdef __cplusplus
6913interface IBindCtx;
6914#endif /* __cplusplus */
6915#endif
6916
6917#ifndef __IEnumMoniker_FWD_DEFINED__
6918#define __IEnumMoniker_FWD_DEFINED__
6919typedef interface IEnumMoniker IEnumMoniker;
6920#ifdef __cplusplus
6921interface IEnumMoniker;
6922#endif /* __cplusplus */
6923#endif
6924
6925#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
6926/*****************************************************************************
6927 * IMallocSpy interface
6928 */
6929#ifndef __IMallocSpy_INTERFACE_DEFINED__
6930#define __IMallocSpy_INTERFACE_DEFINED__
6931
6932typedef IMallocSpy *LPMALLOCSPY;
6933DEFINE_GUID(IID_IMallocSpy, 0x0000001d, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
6934#if defined(__cplusplus) && !defined(CINTERFACE)
6935MIDL_INTERFACE("0000001d-0000-0000-c000-000000000046")
6936IMallocSpy : public IUnknown
6937{
6938 virtual SIZE_T STDMETHODCALLTYPE PreAlloc(
6939 SIZE_T cbRequest) = 0;
6940
6941 virtual void * STDMETHODCALLTYPE PostAlloc(
6942 void *pActual) = 0;
6943
6944 virtual void * STDMETHODCALLTYPE PreFree(
6945 void *pRequest,
6946 WINBOOL fSpyed) = 0;
6947
6948 virtual void STDMETHODCALLTYPE PostFree(
6949 WINBOOL fSpyed) = 0;
6950
6951 virtual SIZE_T STDMETHODCALLTYPE PreRealloc(
6952 void *pRequest,
6953 SIZE_T cbRequest,
6954 void **ppNewRequest,
6955 WINBOOL fSpyed) = 0;
6956
6957 virtual void * STDMETHODCALLTYPE PostRealloc(
6958 void *pActual,
6959 WINBOOL fSpyed) = 0;
6960
6961 virtual void * STDMETHODCALLTYPE PreGetSize(
6962 void *pRequest,
6963 WINBOOL fSpyed) = 0;
6964
6965 virtual SIZE_T STDMETHODCALLTYPE PostGetSize(
6966 SIZE_T cbActual,
6967 WINBOOL fSpyed) = 0;
6968
6969 virtual void * STDMETHODCALLTYPE PreDidAlloc(
6970 void *pRequest,
6971 WINBOOL fSpyed) = 0;
6972
6973 virtual int STDMETHODCALLTYPE PostDidAlloc(
6974 void *pRequest,
6975 WINBOOL fSpyed,
6976 int fActual) = 0;
6977
6978 virtual void STDMETHODCALLTYPE PreHeapMinimize(
6979 ) = 0;
6980
6981 virtual void STDMETHODCALLTYPE PostHeapMinimize(
6982 ) = 0;
6983
6984};
6985#ifdef __CRT_UUID_DECL
6986__CRT_UUID_DECL(IMallocSpy, 0x0000001d, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
6987#endif
6988#else
6989typedef struct IMallocSpyVtbl {
6990 BEGIN_INTERFACE
6991
6992 /*** IUnknown methods ***/
6993 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
6994 IMallocSpy *This,
6995 REFIID riid,
6996 void **ppvObject);
6997
6998 ULONG (STDMETHODCALLTYPE *AddRef)(
6999 IMallocSpy *This);
7000
7001 ULONG (STDMETHODCALLTYPE *Release)(
7002 IMallocSpy *This);
7003
7004 /*** IMallocSpy methods ***/
7005 SIZE_T (STDMETHODCALLTYPE *PreAlloc)(
7006 IMallocSpy *This,
7007 SIZE_T cbRequest);
7008
7009 void * (STDMETHODCALLTYPE *PostAlloc)(
7010 IMallocSpy *This,
7011 void *pActual);
7012
7013 void * (STDMETHODCALLTYPE *PreFree)(
7014 IMallocSpy *This,
7015 void *pRequest,
7016 WINBOOL fSpyed);
7017
7018 void (STDMETHODCALLTYPE *PostFree)(
7019 IMallocSpy *This,
7020 WINBOOL fSpyed);
7021
7022 SIZE_T (STDMETHODCALLTYPE *PreRealloc)(
7023 IMallocSpy *This,
7024 void *pRequest,
7025 SIZE_T cbRequest,
7026 void **ppNewRequest,
7027 WINBOOL fSpyed);
7028
7029 void * (STDMETHODCALLTYPE *PostRealloc)(
7030 IMallocSpy *This,
7031 void *pActual,
7032 WINBOOL fSpyed);
7033
7034 void * (STDMETHODCALLTYPE *PreGetSize)(
7035 IMallocSpy *This,
7036 void *pRequest,
7037 WINBOOL fSpyed);
7038
7039 SIZE_T (STDMETHODCALLTYPE *PostGetSize)(
7040 IMallocSpy *This,
7041 SIZE_T cbActual,
7042 WINBOOL fSpyed);
7043
7044 void * (STDMETHODCALLTYPE *PreDidAlloc)(
7045 IMallocSpy *This,
7046 void *pRequest,
7047 WINBOOL fSpyed);
7048
7049 int (STDMETHODCALLTYPE *PostDidAlloc)(
7050 IMallocSpy *This,
7051 void *pRequest,
7052 WINBOOL fSpyed,
7053 int fActual);
7054
7055 void (STDMETHODCALLTYPE *PreHeapMinimize)(
7056 IMallocSpy *This);
7057
7058 void (STDMETHODCALLTYPE *PostHeapMinimize)(
7059 IMallocSpy *This);
7060
7061 END_INTERFACE
7062} IMallocSpyVtbl;
7063
7064interface IMallocSpy {
7065 CONST_VTBL IMallocSpyVtbl* lpVtbl;
7066};
7067
7068#ifdef COBJMACROS
7069#ifndef WIDL_C_INLINE_WRAPPERS
7070/*** IUnknown methods ***/
7071#define IMallocSpy_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
7072#define IMallocSpy_AddRef(This) (This)->lpVtbl->AddRef(This)
7073#define IMallocSpy_Release(This) (This)->lpVtbl->Release(This)
7074/*** IMallocSpy methods ***/
7075#define IMallocSpy_PreAlloc(This,cbRequest) (This)->lpVtbl->PreAlloc(This,cbRequest)
7076#define IMallocSpy_PostAlloc(This,pActual) (This)->lpVtbl->PostAlloc(This,pActual)
7077#define IMallocSpy_PreFree(This,pRequest,fSpyed) (This)->lpVtbl->PreFree(This,pRequest,fSpyed)
7078#define IMallocSpy_PostFree(This,fSpyed) (This)->lpVtbl->PostFree(This,fSpyed)
7079#define IMallocSpy_PreRealloc(This,pRequest,cbRequest,ppNewRequest,fSpyed) (This)->lpVtbl->PreRealloc(This,pRequest,cbRequest,ppNewRequest,fSpyed)
7080#define IMallocSpy_PostRealloc(This,pActual,fSpyed) (This)->lpVtbl->PostRealloc(This,pActual,fSpyed)
7081#define IMallocSpy_PreGetSize(This,pRequest,fSpyed) (This)->lpVtbl->PreGetSize(This,pRequest,fSpyed)
7082#define IMallocSpy_PostGetSize(This,cbActual,fSpyed) (This)->lpVtbl->PostGetSize(This,cbActual,fSpyed)
7083#define IMallocSpy_PreDidAlloc(This,pRequest,fSpyed) (This)->lpVtbl->PreDidAlloc(This,pRequest,fSpyed)
7084#define IMallocSpy_PostDidAlloc(This,pRequest,fSpyed,fActual) (This)->lpVtbl->PostDidAlloc(This,pRequest,fSpyed,fActual)
7085#define IMallocSpy_PreHeapMinimize(This) (This)->lpVtbl->PreHeapMinimize(This)
7086#define IMallocSpy_PostHeapMinimize(This) (This)->lpVtbl->PostHeapMinimize(This)
7087#else
7088/*** IUnknown methods ***/
7089static inline HRESULT IMallocSpy_QueryInterface(IMallocSpy* This,REFIID riid,void **ppvObject) {
7090 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
7091}
7092static inline ULONG IMallocSpy_AddRef(IMallocSpy* This) {
7093 return This->lpVtbl->AddRef(This);
7094}
7095static inline ULONG IMallocSpy_Release(IMallocSpy* This) {
7096 return This->lpVtbl->Release(This);
7097}
7098/*** IMallocSpy methods ***/
7099static inline SIZE_T IMallocSpy_PreAlloc(IMallocSpy* This,SIZE_T cbRequest) {
7100 return This->lpVtbl->PreAlloc(This,cbRequest);
7101}
7102static inline void * IMallocSpy_PostAlloc(IMallocSpy* This,void *pActual) {
7103 return This->lpVtbl->PostAlloc(This,pActual);
7104}
7105static inline void * IMallocSpy_PreFree(IMallocSpy* This,void *pRequest,WINBOOL fSpyed) {
7106 return This->lpVtbl->PreFree(This,pRequest,fSpyed);
7107}
7108static inline void IMallocSpy_PostFree(IMallocSpy* This,WINBOOL fSpyed) {
7109 This->lpVtbl->PostFree(This,fSpyed);
7110}
7111static inline SIZE_T IMallocSpy_PreRealloc(IMallocSpy* This,void *pRequest,SIZE_T cbRequest,void **ppNewRequest,WINBOOL fSpyed) {
7112 return This->lpVtbl->PreRealloc(This,pRequest,cbRequest,ppNewRequest,fSpyed);
7113}
7114static inline void * IMallocSpy_PostRealloc(IMallocSpy* This,void *pActual,WINBOOL fSpyed) {
7115 return This->lpVtbl->PostRealloc(This,pActual,fSpyed);
7116}
7117static inline void * IMallocSpy_PreGetSize(IMallocSpy* This,void *pRequest,WINBOOL fSpyed) {
7118 return This->lpVtbl->PreGetSize(This,pRequest,fSpyed);
7119}
7120static inline SIZE_T IMallocSpy_PostGetSize(IMallocSpy* This,SIZE_T cbActual,WINBOOL fSpyed) {
7121 return This->lpVtbl->PostGetSize(This,cbActual,fSpyed);
7122}
7123static inline void * IMallocSpy_PreDidAlloc(IMallocSpy* This,void *pRequest,WINBOOL fSpyed) {
7124 return This->lpVtbl->PreDidAlloc(This,pRequest,fSpyed);
7125}
7126static inline int IMallocSpy_PostDidAlloc(IMallocSpy* This,void *pRequest,WINBOOL fSpyed,int fActual) {
7127 return This->lpVtbl->PostDidAlloc(This,pRequest,fSpyed,fActual);
7128}
7129static inline void IMallocSpy_PreHeapMinimize(IMallocSpy* This) {
7130 This->lpVtbl->PreHeapMinimize(This);
7131}
7132static inline void IMallocSpy_PostHeapMinimize(IMallocSpy* This) {
7133 This->lpVtbl->PostHeapMinimize(This);
7134}
7135#endif
7136#endif
7137
7138#endif
7139
7140
7141#endif /* __IMallocSpy_INTERFACE_DEFINED__ */
7142
7143#endif
7144#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
7145/*****************************************************************************
7146 * IBindCtx interface
7147 */
7148#ifndef __IBindCtx_INTERFACE_DEFINED__
7149#define __IBindCtx_INTERFACE_DEFINED__
7150
7151typedef IBindCtx *LPBC;
7152typedef IBindCtx *LPBINDCTX;
7153#if defined(__cplusplus)
7154typedef struct tagBIND_OPTS {
7155 DWORD cbStruct;
7156 DWORD grfFlags;
7157 DWORD grfMode;
7158 DWORD dwTickCountDeadline;
7159} BIND_OPTS, *LPBIND_OPTS;
7160#else
7161typedef struct tagBIND_OPTS {
7162 DWORD cbStruct;
7163 DWORD grfFlags;
7164 DWORD grfMode;
7165 DWORD dwTickCountDeadline;
7166} BIND_OPTS;
7167typedef struct tagBIND_OPTS *LPBIND_OPTS;
7168#endif
7169#if defined(__cplusplus)
7170typedef struct tagBIND_OPTS2 : tagBIND_OPTS {
7171DWORD dwTrackFlags;
7172DWORD dwClassContext;
7173LCID locale;
7174COSERVERINFO * pServerInfo;
7175} BIND_OPTS2, * LPBIND_OPTS2;
7176#else
7177typedef struct tagBIND_OPTS2 {
7178 DWORD cbStruct;
7179 DWORD grfFlags;
7180 DWORD grfMode;
7181 DWORD dwTickCountDeadline;
7182 DWORD dwTrackFlags;
7183 DWORD dwClassContext;
7184 LCID locale;
7185 COSERVERINFO *pServerInfo;
7186} BIND_OPTS2;
7187typedef struct tagBIND_OPTS2 *LPBIND_OPTS2;
7188#endif
7189#if defined(__cplusplus)
7190typedef struct tagBIND_OPTS3 : tagBIND_OPTS2 {
7191HWND hwnd;
7192} BIND_OPTS3, * LPBIND_OPTS3;
7193#else
7194typedef struct tagBIND_OPTS3 {
7195 DWORD cbStruct;
7196 DWORD grfFlags;
7197 DWORD grfMode;
7198 DWORD dwTickCountDeadline;
7199 DWORD dwTrackFlags;
7200 DWORD dwClassContext;
7201 LCID locale;
7202 COSERVERINFO *pServerInfo;
7203 HWND hwnd;
7204} BIND_OPTS3;
7205typedef struct tagBIND_OPTS3 *LPBIND_OPTS3;
7206#endif
7207typedef enum tagBIND_FLAGS {
7208 BIND_MAYBOTHERUSER = 1,
7209 BIND_JUSTTESTEXISTENCE = 2
7210} BIND_FLAGS;
7211DEFINE_GUID(IID_IBindCtx, 0x0000000e, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
7212#if defined(__cplusplus) && !defined(CINTERFACE)
7213MIDL_INTERFACE("0000000e-0000-0000-c000-000000000046")
7214IBindCtx : public IUnknown
7215{
7216 virtual HRESULT STDMETHODCALLTYPE RegisterObjectBound(
7217 IUnknown *punk) = 0;
7218
7219 virtual HRESULT STDMETHODCALLTYPE RevokeObjectBound(
7220 IUnknown *punk) = 0;
7221
7222 virtual HRESULT STDMETHODCALLTYPE ReleaseBoundObjects(
7223 ) = 0;
7224
7225 virtual HRESULT STDMETHODCALLTYPE SetBindOptions(
7226 BIND_OPTS *pbindopts) = 0;
7227
7228 virtual HRESULT STDMETHODCALLTYPE GetBindOptions(
7229 BIND_OPTS *pbindopts) = 0;
7230
7231 virtual HRESULT STDMETHODCALLTYPE GetRunningObjectTable(
7232 IRunningObjectTable **pprot) = 0;
7233
7234 virtual HRESULT STDMETHODCALLTYPE RegisterObjectParam(
7235 LPOLESTR pszKey,
7236 IUnknown *punk) = 0;
7237
7238 virtual HRESULT STDMETHODCALLTYPE GetObjectParam(
7239 LPOLESTR pszKey,
7240 IUnknown **ppunk) = 0;
7241
7242 virtual HRESULT STDMETHODCALLTYPE EnumObjectParam(
7243 IEnumString **ppenum) = 0;
7244
7245 virtual HRESULT STDMETHODCALLTYPE RevokeObjectParam(
7246 LPOLESTR pszKey) = 0;
7247
7248};
7249#ifdef __CRT_UUID_DECL
7250__CRT_UUID_DECL(IBindCtx, 0x0000000e, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
7251#endif
7252#else
7253typedef struct IBindCtxVtbl {
7254 BEGIN_INTERFACE
7255
7256 /*** IUnknown methods ***/
7257 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
7258 IBindCtx *This,
7259 REFIID riid,
7260 void **ppvObject);
7261
7262 ULONG (STDMETHODCALLTYPE *AddRef)(
7263 IBindCtx *This);
7264
7265 ULONG (STDMETHODCALLTYPE *Release)(
7266 IBindCtx *This);
7267
7268 /*** IBindCtx methods ***/
7269 HRESULT (STDMETHODCALLTYPE *RegisterObjectBound)(
7270 IBindCtx *This,
7271 IUnknown *punk);
7272
7273 HRESULT (STDMETHODCALLTYPE *RevokeObjectBound)(
7274 IBindCtx *This,
7275 IUnknown *punk);
7276
7277 HRESULT (STDMETHODCALLTYPE *ReleaseBoundObjects)(
7278 IBindCtx *This);
7279
7280 HRESULT (STDMETHODCALLTYPE *SetBindOptions)(
7281 IBindCtx *This,
7282 BIND_OPTS *pbindopts);
7283
7284 HRESULT (STDMETHODCALLTYPE *GetBindOptions)(
7285 IBindCtx *This,
7286 BIND_OPTS *pbindopts);
7287
7288 HRESULT (STDMETHODCALLTYPE *GetRunningObjectTable)(
7289 IBindCtx *This,
7290 IRunningObjectTable **pprot);
7291
7292 HRESULT (STDMETHODCALLTYPE *RegisterObjectParam)(
7293 IBindCtx *This,
7294 LPOLESTR pszKey,
7295 IUnknown *punk);
7296
7297 HRESULT (STDMETHODCALLTYPE *GetObjectParam)(
7298 IBindCtx *This,
7299 LPOLESTR pszKey,
7300 IUnknown **ppunk);
7301
7302 HRESULT (STDMETHODCALLTYPE *EnumObjectParam)(
7303 IBindCtx *This,
7304 IEnumString **ppenum);
7305
7306 HRESULT (STDMETHODCALLTYPE *RevokeObjectParam)(
7307 IBindCtx *This,
7308 LPOLESTR pszKey);
7309
7310 END_INTERFACE
7311} IBindCtxVtbl;
7312
7313interface IBindCtx {
7314 CONST_VTBL IBindCtxVtbl* lpVtbl;
7315};
7316
7317#ifdef COBJMACROS
7318#ifndef WIDL_C_INLINE_WRAPPERS
7319/*** IUnknown methods ***/
7320#define IBindCtx_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
7321#define IBindCtx_AddRef(This) (This)->lpVtbl->AddRef(This)
7322#define IBindCtx_Release(This) (This)->lpVtbl->Release(This)
7323/*** IBindCtx methods ***/
7324#define IBindCtx_RegisterObjectBound(This,punk) (This)->lpVtbl->RegisterObjectBound(This,punk)
7325#define IBindCtx_RevokeObjectBound(This,punk) (This)->lpVtbl->RevokeObjectBound(This,punk)
7326#define IBindCtx_ReleaseBoundObjects(This) (This)->lpVtbl->ReleaseBoundObjects(This)
7327#define IBindCtx_SetBindOptions(This,pbindopts) (This)->lpVtbl->SetBindOptions(This,pbindopts)
7328#define IBindCtx_GetBindOptions(This,pbindopts) (This)->lpVtbl->GetBindOptions(This,pbindopts)
7329#define IBindCtx_GetRunningObjectTable(This,pprot) (This)->lpVtbl->GetRunningObjectTable(This,pprot)
7330#define IBindCtx_RegisterObjectParam(This,pszKey,punk) (This)->lpVtbl->RegisterObjectParam(This,pszKey,punk)
7331#define IBindCtx_GetObjectParam(This,pszKey,ppunk) (This)->lpVtbl->GetObjectParam(This,pszKey,ppunk)
7332#define IBindCtx_EnumObjectParam(This,ppenum) (This)->lpVtbl->EnumObjectParam(This,ppenum)
7333#define IBindCtx_RevokeObjectParam(This,pszKey) (This)->lpVtbl->RevokeObjectParam(This,pszKey)
7334#else
7335/*** IUnknown methods ***/
7336static inline HRESULT IBindCtx_QueryInterface(IBindCtx* This,REFIID riid,void **ppvObject) {
7337 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
7338}
7339static inline ULONG IBindCtx_AddRef(IBindCtx* This) {
7340 return This->lpVtbl->AddRef(This);
7341}
7342static inline ULONG IBindCtx_Release(IBindCtx* This) {
7343 return This->lpVtbl->Release(This);
7344}
7345/*** IBindCtx methods ***/
7346static inline HRESULT IBindCtx_RegisterObjectBound(IBindCtx* This,IUnknown *punk) {
7347 return This->lpVtbl->RegisterObjectBound(This,punk);
7348}
7349static inline HRESULT IBindCtx_RevokeObjectBound(IBindCtx* This,IUnknown *punk) {
7350 return This->lpVtbl->RevokeObjectBound(This,punk);
7351}
7352static inline HRESULT IBindCtx_ReleaseBoundObjects(IBindCtx* This) {
7353 return This->lpVtbl->ReleaseBoundObjects(This);
7354}
7355static inline HRESULT IBindCtx_SetBindOptions(IBindCtx* This,BIND_OPTS *pbindopts) {
7356 return This->lpVtbl->SetBindOptions(This,pbindopts);
7357}
7358static inline HRESULT IBindCtx_GetBindOptions(IBindCtx* This,BIND_OPTS *pbindopts) {
7359 return This->lpVtbl->GetBindOptions(This,pbindopts);
7360}
7361static inline HRESULT IBindCtx_GetRunningObjectTable(IBindCtx* This,IRunningObjectTable **pprot) {
7362 return This->lpVtbl->GetRunningObjectTable(This,pprot);
7363}
7364static inline HRESULT IBindCtx_RegisterObjectParam(IBindCtx* This,LPOLESTR pszKey,IUnknown *punk) {
7365 return This->lpVtbl->RegisterObjectParam(This,pszKey,punk);
7366}
7367static inline HRESULT IBindCtx_GetObjectParam(IBindCtx* This,LPOLESTR pszKey,IUnknown **ppunk) {
7368 return This->lpVtbl->GetObjectParam(This,pszKey,ppunk);
7369}
7370static inline HRESULT IBindCtx_EnumObjectParam(IBindCtx* This,IEnumString **ppenum) {
7371 return This->lpVtbl->EnumObjectParam(This,ppenum);
7372}
7373static inline HRESULT IBindCtx_RevokeObjectParam(IBindCtx* This,LPOLESTR pszKey) {
7374 return This->lpVtbl->RevokeObjectParam(This,pszKey);
7375}
7376#endif
7377#endif
7378
7379#endif
7380
7381HRESULT STDMETHODCALLTYPE IBindCtx_RemoteSetBindOptions_Proxy(
7382 IBindCtx* This,
7383 BIND_OPTS2 *pbindopts);
7384void __RPC_STUB IBindCtx_RemoteSetBindOptions_Stub(
7385 IRpcStubBuffer* This,
7386 IRpcChannelBuffer* pRpcChannelBuffer,
7387 PRPC_MESSAGE pRpcMessage,
7388 DWORD* pdwStubPhase);
7389HRESULT STDMETHODCALLTYPE IBindCtx_RemoteGetBindOptions_Proxy(
7390 IBindCtx* This,
7391 BIND_OPTS2 *pbindopts);
7392void __RPC_STUB IBindCtx_RemoteGetBindOptions_Stub(
7393 IRpcStubBuffer* This,
7394 IRpcChannelBuffer* pRpcChannelBuffer,
7395 PRPC_MESSAGE pRpcMessage,
7396 DWORD* pdwStubPhase);
7397HRESULT CALLBACK IBindCtx_SetBindOptions_Proxy(
7398 IBindCtx* This,
7399 BIND_OPTS *pbindopts);
7400HRESULT __RPC_STUB IBindCtx_SetBindOptions_Stub(
7401 IBindCtx* This,
7402 BIND_OPTS2 *pbindopts);
7403HRESULT CALLBACK IBindCtx_GetBindOptions_Proxy(
7404 IBindCtx* This,
7405 BIND_OPTS *pbindopts);
7406HRESULT __RPC_STUB IBindCtx_GetBindOptions_Stub(
7407 IBindCtx* This,
7408 BIND_OPTS2 *pbindopts);
7409
7410#endif /* __IBindCtx_INTERFACE_DEFINED__ */
7411
7412/*****************************************************************************
7413 * IEnumMoniker interface
7414 */
7415#ifndef __IEnumMoniker_INTERFACE_DEFINED__
7416#define __IEnumMoniker_INTERFACE_DEFINED__
7417
7418typedef IEnumMoniker *LPENUMMONIKER;
7419DEFINE_GUID(IID_IEnumMoniker, 0x00000102, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
7420#if defined(__cplusplus) && !defined(CINTERFACE)
7421MIDL_INTERFACE("00000102-0000-0000-c000-000000000046")
7422IEnumMoniker : public IUnknown
7423{
7424 virtual HRESULT STDMETHODCALLTYPE Next(
7425 ULONG celt,
7426 IMoniker **rgelt,
7427 ULONG *pceltFetched) = 0;
7428
7429 virtual HRESULT STDMETHODCALLTYPE Skip(
7430 ULONG celt) = 0;
7431
7432 virtual HRESULT STDMETHODCALLTYPE Reset(
7433 ) = 0;
7434
7435 virtual HRESULT STDMETHODCALLTYPE Clone(
7436 IEnumMoniker **ppenum) = 0;
7437
7438};
7439#ifdef __CRT_UUID_DECL
7440__CRT_UUID_DECL(IEnumMoniker, 0x00000102, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
7441#endif
7442#else
7443typedef struct IEnumMonikerVtbl {
7444 BEGIN_INTERFACE
7445
7446 /*** IUnknown methods ***/
7447 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
7448 IEnumMoniker *This,
7449 REFIID riid,
7450 void **ppvObject);
7451
7452 ULONG (STDMETHODCALLTYPE *AddRef)(
7453 IEnumMoniker *This);
7454
7455 ULONG (STDMETHODCALLTYPE *Release)(
7456 IEnumMoniker *This);
7457
7458 /*** IEnumMoniker methods ***/
7459 HRESULT (STDMETHODCALLTYPE *Next)(
7460 IEnumMoniker *This,
7461 ULONG celt,
7462 IMoniker **rgelt,
7463 ULONG *pceltFetched);
7464
7465 HRESULT (STDMETHODCALLTYPE *Skip)(
7466 IEnumMoniker *This,
7467 ULONG celt);
7468
7469 HRESULT (STDMETHODCALLTYPE *Reset)(
7470 IEnumMoniker *This);
7471
7472 HRESULT (STDMETHODCALLTYPE *Clone)(
7473 IEnumMoniker *This,
7474 IEnumMoniker **ppenum);
7475
7476 END_INTERFACE
7477} IEnumMonikerVtbl;
7478
7479interface IEnumMoniker {
7480 CONST_VTBL IEnumMonikerVtbl* lpVtbl;
7481};
7482
7483#ifdef COBJMACROS
7484#ifndef WIDL_C_INLINE_WRAPPERS
7485/*** IUnknown methods ***/
7486#define IEnumMoniker_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
7487#define IEnumMoniker_AddRef(This) (This)->lpVtbl->AddRef(This)
7488#define IEnumMoniker_Release(This) (This)->lpVtbl->Release(This)
7489/*** IEnumMoniker methods ***/
7490#define IEnumMoniker_Next(This,celt,rgelt,pceltFetched) (This)->lpVtbl->Next(This,celt,rgelt,pceltFetched)
7491#define IEnumMoniker_Skip(This,celt) (This)->lpVtbl->Skip(This,celt)
7492#define IEnumMoniker_Reset(This) (This)->lpVtbl->Reset(This)
7493#define IEnumMoniker_Clone(This,ppenum) (This)->lpVtbl->Clone(This,ppenum)
7494#else
7495/*** IUnknown methods ***/
7496static inline HRESULT IEnumMoniker_QueryInterface(IEnumMoniker* This,REFIID riid,void **ppvObject) {
7497 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
7498}
7499static inline ULONG IEnumMoniker_AddRef(IEnumMoniker* This) {
7500 return This->lpVtbl->AddRef(This);
7501}
7502static inline ULONG IEnumMoniker_Release(IEnumMoniker* This) {
7503 return This->lpVtbl->Release(This);
7504}
7505/*** IEnumMoniker methods ***/
7506static inline HRESULT IEnumMoniker_Next(IEnumMoniker* This,ULONG celt,IMoniker **rgelt,ULONG *pceltFetched) {
7507 return This->lpVtbl->Next(This,celt,rgelt,pceltFetched);
7508}
7509static inline HRESULT IEnumMoniker_Skip(IEnumMoniker* This,ULONG celt) {
7510 return This->lpVtbl->Skip(This,celt);
7511}
7512static inline HRESULT IEnumMoniker_Reset(IEnumMoniker* This) {
7513 return This->lpVtbl->Reset(This);
7514}
7515static inline HRESULT IEnumMoniker_Clone(IEnumMoniker* This,IEnumMoniker **ppenum) {
7516 return This->lpVtbl->Clone(This,ppenum);
7517}
7518#endif
7519#endif
7520
7521#endif
7522
7523HRESULT STDMETHODCALLTYPE IEnumMoniker_RemoteNext_Proxy(
7524 IEnumMoniker* This,
7525 ULONG celt,
7526 IMoniker **rgelt,
7527 ULONG *pceltFetched);
7528void __RPC_STUB IEnumMoniker_RemoteNext_Stub(
7529 IRpcStubBuffer* This,
7530 IRpcChannelBuffer* pRpcChannelBuffer,
7531 PRPC_MESSAGE pRpcMessage,
7532 DWORD* pdwStubPhase);
7533HRESULT CALLBACK IEnumMoniker_Next_Proxy(
7534 IEnumMoniker* This,
7535 ULONG celt,
7536 IMoniker **rgelt,
7537 ULONG *pceltFetched);
7538HRESULT __RPC_STUB IEnumMoniker_Next_Stub(
7539 IEnumMoniker* This,
7540 ULONG celt,
7541 IMoniker **rgelt,
7542 ULONG *pceltFetched);
7543
7544#endif /* __IEnumMoniker_INTERFACE_DEFINED__ */
7545
7546#endif
7547#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
7548/*****************************************************************************
7549 * IRunnableObject interface
7550 */
7551#ifndef __IRunnableObject_INTERFACE_DEFINED__
7552#define __IRunnableObject_INTERFACE_DEFINED__
7553
7554typedef IRunnableObject *LPRUNNABLEOBJECT;
7555DEFINE_GUID(IID_IRunnableObject, 0x00000126, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
7556#if defined(__cplusplus) && !defined(CINTERFACE)
7557MIDL_INTERFACE("00000126-0000-0000-c000-000000000046")
7558IRunnableObject : public IUnknown
7559{
7560 virtual HRESULT STDMETHODCALLTYPE GetRunningClass(
7561 LPCLSID lpClsid) = 0;
7562
7563 virtual HRESULT STDMETHODCALLTYPE Run(
7564 LPBINDCTX pbc) = 0;
7565
7566 virtual WINBOOL STDMETHODCALLTYPE IsRunning(
7567 ) = 0;
7568
7569 virtual HRESULT STDMETHODCALLTYPE LockRunning(
7570 WINBOOL fLock,
7571 WINBOOL fLastUnlockCloses) = 0;
7572
7573 virtual HRESULT STDMETHODCALLTYPE SetContainedObject(
7574 WINBOOL fContained) = 0;
7575
7576};
7577#ifdef __CRT_UUID_DECL
7578__CRT_UUID_DECL(IRunnableObject, 0x00000126, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
7579#endif
7580#else
7581typedef struct IRunnableObjectVtbl {
7582 BEGIN_INTERFACE
7583
7584 /*** IUnknown methods ***/
7585 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
7586 IRunnableObject *This,
7587 REFIID riid,
7588 void **ppvObject);
7589
7590 ULONG (STDMETHODCALLTYPE *AddRef)(
7591 IRunnableObject *This);
7592
7593 ULONG (STDMETHODCALLTYPE *Release)(
7594 IRunnableObject *This);
7595
7596 /*** IRunnableObject methods ***/
7597 HRESULT (STDMETHODCALLTYPE *GetRunningClass)(
7598 IRunnableObject *This,
7599 LPCLSID lpClsid);
7600
7601 HRESULT (STDMETHODCALLTYPE *Run)(
7602 IRunnableObject *This,
7603 LPBINDCTX pbc);
7604
7605 WINBOOL (STDMETHODCALLTYPE *IsRunning)(
7606 IRunnableObject *This);
7607
7608 HRESULT (STDMETHODCALLTYPE *LockRunning)(
7609 IRunnableObject *This,
7610 WINBOOL fLock,
7611 WINBOOL fLastUnlockCloses);
7612
7613 HRESULT (STDMETHODCALLTYPE *SetContainedObject)(
7614 IRunnableObject *This,
7615 WINBOOL fContained);
7616
7617 END_INTERFACE
7618} IRunnableObjectVtbl;
7619
7620interface IRunnableObject {
7621 CONST_VTBL IRunnableObjectVtbl* lpVtbl;
7622};
7623
7624#ifdef COBJMACROS
7625#ifndef WIDL_C_INLINE_WRAPPERS
7626/*** IUnknown methods ***/
7627#define IRunnableObject_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
7628#define IRunnableObject_AddRef(This) (This)->lpVtbl->AddRef(This)
7629#define IRunnableObject_Release(This) (This)->lpVtbl->Release(This)
7630/*** IRunnableObject methods ***/
7631#define IRunnableObject_GetRunningClass(This,lpClsid) (This)->lpVtbl->GetRunningClass(This,lpClsid)
7632#define IRunnableObject_Run(This,pbc) (This)->lpVtbl->Run(This,pbc)
7633#define IRunnableObject_IsRunning(This) (This)->lpVtbl->IsRunning(This)
7634#define IRunnableObject_LockRunning(This,fLock,fLastUnlockCloses) (This)->lpVtbl->LockRunning(This,fLock,fLastUnlockCloses)
7635#define IRunnableObject_SetContainedObject(This,fContained) (This)->lpVtbl->SetContainedObject(This,fContained)
7636#else
7637/*** IUnknown methods ***/
7638static inline HRESULT IRunnableObject_QueryInterface(IRunnableObject* This,REFIID riid,void **ppvObject) {
7639 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
7640}
7641static inline ULONG IRunnableObject_AddRef(IRunnableObject* This) {
7642 return This->lpVtbl->AddRef(This);
7643}
7644static inline ULONG IRunnableObject_Release(IRunnableObject* This) {
7645 return This->lpVtbl->Release(This);
7646}
7647/*** IRunnableObject methods ***/
7648static inline HRESULT IRunnableObject_GetRunningClass(IRunnableObject* This,LPCLSID lpClsid) {
7649 return This->lpVtbl->GetRunningClass(This,lpClsid);
7650}
7651static inline HRESULT IRunnableObject_Run(IRunnableObject* This,LPBINDCTX pbc) {
7652 return This->lpVtbl->Run(This,pbc);
7653}
7654static inline WINBOOL IRunnableObject_IsRunning(IRunnableObject* This) {
7655 return This->lpVtbl->IsRunning(This);
7656}
7657static inline HRESULT IRunnableObject_LockRunning(IRunnableObject* This,WINBOOL fLock,WINBOOL fLastUnlockCloses) {
7658 return This->lpVtbl->LockRunning(This,fLock,fLastUnlockCloses);
7659}
7660static inline HRESULT IRunnableObject_SetContainedObject(IRunnableObject* This,WINBOOL fContained) {
7661 return This->lpVtbl->SetContainedObject(This,fContained);
7662}
7663#endif
7664#endif
7665
7666#endif
7667
7668HRESULT STDMETHODCALLTYPE IRunnableObject_RemoteIsRunning_Proxy(
7669 IRunnableObject* This);
7670void __RPC_STUB IRunnableObject_RemoteIsRunning_Stub(
7671 IRpcStubBuffer* This,
7672 IRpcChannelBuffer* pRpcChannelBuffer,
7673 PRPC_MESSAGE pRpcMessage,
7674 DWORD* pdwStubPhase);
7675WINBOOL CALLBACK IRunnableObject_IsRunning_Proxy(
7676 IRunnableObject* This);
7677HRESULT __RPC_STUB IRunnableObject_IsRunning_Stub(
7678 IRunnableObject* This);
7679
7680#endif /* __IRunnableObject_INTERFACE_DEFINED__ */
7681
7682/*****************************************************************************
7683 * IRunningObjectTable interface
7684 */
7685#ifndef __IRunningObjectTable_INTERFACE_DEFINED__
7686#define __IRunningObjectTable_INTERFACE_DEFINED__
7687
7688typedef IRunningObjectTable *LPRUNNINGOBJECTTABLE;
7689DEFINE_GUID(IID_IRunningObjectTable, 0x00000010, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
7690#if defined(__cplusplus) && !defined(CINTERFACE)
7691MIDL_INTERFACE("00000010-0000-0000-c000-000000000046")
7692IRunningObjectTable : public IUnknown
7693{
7694 virtual HRESULT STDMETHODCALLTYPE Register(
7695 DWORD grfFlags,
7696 IUnknown *punkObject,
7697 IMoniker *pmkObjectName,
7698 DWORD *pdwRegister) = 0;
7699
7700 virtual HRESULT STDMETHODCALLTYPE Revoke(
7701 DWORD dwRegister) = 0;
7702
7703 virtual HRESULT STDMETHODCALLTYPE IsRunning(
7704 IMoniker *pmkObjectName) = 0;
7705
7706 virtual HRESULT STDMETHODCALLTYPE GetObject(
7707 IMoniker *pmkObjectName,
7708 IUnknown **ppunkObject) = 0;
7709
7710 virtual HRESULT STDMETHODCALLTYPE NoteChangeTime(
7711 DWORD dwRegister,
7712 FILETIME *pfiletime) = 0;
7713
7714 virtual HRESULT STDMETHODCALLTYPE GetTimeOfLastChange(
7715 IMoniker *pmkObjectName,
7716 FILETIME *pfiletime) = 0;
7717
7718 virtual HRESULT STDMETHODCALLTYPE EnumRunning(
7719 IEnumMoniker **ppenumMoniker) = 0;
7720
7721};
7722#ifdef __CRT_UUID_DECL
7723__CRT_UUID_DECL(IRunningObjectTable, 0x00000010, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
7724#endif
7725#else
7726typedef struct IRunningObjectTableVtbl {
7727 BEGIN_INTERFACE
7728
7729 /*** IUnknown methods ***/
7730 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
7731 IRunningObjectTable *This,
7732 REFIID riid,
7733 void **ppvObject);
7734
7735 ULONG (STDMETHODCALLTYPE *AddRef)(
7736 IRunningObjectTable *This);
7737
7738 ULONG (STDMETHODCALLTYPE *Release)(
7739 IRunningObjectTable *This);
7740
7741 /*** IRunningObjectTable methods ***/
7742 HRESULT (STDMETHODCALLTYPE *Register)(
7743 IRunningObjectTable *This,
7744 DWORD grfFlags,
7745 IUnknown *punkObject,
7746 IMoniker *pmkObjectName,
7747 DWORD *pdwRegister);
7748
7749 HRESULT (STDMETHODCALLTYPE *Revoke)(
7750 IRunningObjectTable *This,
7751 DWORD dwRegister);
7752
7753 HRESULT (STDMETHODCALLTYPE *IsRunning)(
7754 IRunningObjectTable *This,
7755 IMoniker *pmkObjectName);
7756
7757 HRESULT (STDMETHODCALLTYPE *GetObject)(
7758 IRunningObjectTable *This,
7759 IMoniker *pmkObjectName,
7760 IUnknown **ppunkObject);
7761
7762 HRESULT (STDMETHODCALLTYPE *NoteChangeTime)(
7763 IRunningObjectTable *This,
7764 DWORD dwRegister,
7765 FILETIME *pfiletime);
7766
7767 HRESULT (STDMETHODCALLTYPE *GetTimeOfLastChange)(
7768 IRunningObjectTable *This,
7769 IMoniker *pmkObjectName,
7770 FILETIME *pfiletime);
7771
7772 HRESULT (STDMETHODCALLTYPE *EnumRunning)(
7773 IRunningObjectTable *This,
7774 IEnumMoniker **ppenumMoniker);
7775
7776 END_INTERFACE
7777} IRunningObjectTableVtbl;
7778
7779interface IRunningObjectTable {
7780 CONST_VTBL IRunningObjectTableVtbl* lpVtbl;
7781};
7782
7783#ifdef COBJMACROS
7784#ifndef WIDL_C_INLINE_WRAPPERS
7785/*** IUnknown methods ***/
7786#define IRunningObjectTable_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
7787#define IRunningObjectTable_AddRef(This) (This)->lpVtbl->AddRef(This)
7788#define IRunningObjectTable_Release(This) (This)->lpVtbl->Release(This)
7789/*** IRunningObjectTable methods ***/
7790#define IRunningObjectTable_Register(This,grfFlags,punkObject,pmkObjectName,pdwRegister) (This)->lpVtbl->Register(This,grfFlags,punkObject,pmkObjectName,pdwRegister)
7791#define IRunningObjectTable_Revoke(This,dwRegister) (This)->lpVtbl->Revoke(This,dwRegister)
7792#define IRunningObjectTable_IsRunning(This,pmkObjectName) (This)->lpVtbl->IsRunning(This,pmkObjectName)
7793#define IRunningObjectTable_GetObject(This,pmkObjectName,ppunkObject) (This)->lpVtbl->GetObject(This,pmkObjectName,ppunkObject)
7794#define IRunningObjectTable_NoteChangeTime(This,dwRegister,pfiletime) (This)->lpVtbl->NoteChangeTime(This,dwRegister,pfiletime)
7795#define IRunningObjectTable_GetTimeOfLastChange(This,pmkObjectName,pfiletime) (This)->lpVtbl->GetTimeOfLastChange(This,pmkObjectName,pfiletime)
7796#define IRunningObjectTable_EnumRunning(This,ppenumMoniker) (This)->lpVtbl->EnumRunning(This,ppenumMoniker)
7797#else
7798/*** IUnknown methods ***/
7799static inline HRESULT IRunningObjectTable_QueryInterface(IRunningObjectTable* This,REFIID riid,void **ppvObject) {
7800 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
7801}
7802static inline ULONG IRunningObjectTable_AddRef(IRunningObjectTable* This) {
7803 return This->lpVtbl->AddRef(This);
7804}
7805static inline ULONG IRunningObjectTable_Release(IRunningObjectTable* This) {
7806 return This->lpVtbl->Release(This);
7807}
7808/*** IRunningObjectTable methods ***/
7809static inline HRESULT IRunningObjectTable_Register(IRunningObjectTable* This,DWORD grfFlags,IUnknown *punkObject,IMoniker *pmkObjectName,DWORD *pdwRegister) {
7810 return This->lpVtbl->Register(This,grfFlags,punkObject,pmkObjectName,pdwRegister);
7811}
7812static inline HRESULT IRunningObjectTable_Revoke(IRunningObjectTable* This,DWORD dwRegister) {
7813 return This->lpVtbl->Revoke(This,dwRegister);
7814}
7815static inline HRESULT IRunningObjectTable_IsRunning(IRunningObjectTable* This,IMoniker *pmkObjectName) {
7816 return This->lpVtbl->IsRunning(This,pmkObjectName);
7817}
7818static inline HRESULT IRunningObjectTable_GetObject(IRunningObjectTable* This,IMoniker *pmkObjectName,IUnknown **ppunkObject) {
7819 return This->lpVtbl->GetObject(This,pmkObjectName,ppunkObject);
7820}
7821static inline HRESULT IRunningObjectTable_NoteChangeTime(IRunningObjectTable* This,DWORD dwRegister,FILETIME *pfiletime) {
7822 return This->lpVtbl->NoteChangeTime(This,dwRegister,pfiletime);
7823}
7824static inline HRESULT IRunningObjectTable_GetTimeOfLastChange(IRunningObjectTable* This,IMoniker *pmkObjectName,FILETIME *pfiletime) {
7825 return This->lpVtbl->GetTimeOfLastChange(This,pmkObjectName,pfiletime);
7826}
7827static inline HRESULT IRunningObjectTable_EnumRunning(IRunningObjectTable* This,IEnumMoniker **ppenumMoniker) {
7828 return This->lpVtbl->EnumRunning(This,ppenumMoniker);
7829}
7830#endif
7831#endif
7832
7833#endif
7834
7835
7836#endif /* __IRunningObjectTable_INTERFACE_DEFINED__ */
7837
7838#endif
7839#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
7840/*****************************************************************************
7841 * IPersist interface
7842 */
7843#ifndef __IPersist_INTERFACE_DEFINED__
7844#define __IPersist_INTERFACE_DEFINED__
7845
7846typedef IPersist *LPPERSIST;
7847DEFINE_GUID(IID_IPersist, 0x0000010c, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
7848#if defined(__cplusplus) && !defined(CINTERFACE)
7849MIDL_INTERFACE("0000010c-0000-0000-c000-000000000046")
7850IPersist : public IUnknown
7851{
7852 virtual HRESULT STDMETHODCALLTYPE GetClassID(
7853 CLSID *pClassID) = 0;
7854
7855};
7856#ifdef __CRT_UUID_DECL
7857__CRT_UUID_DECL(IPersist, 0x0000010c, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
7858#endif
7859#else
7860typedef struct IPersistVtbl {
7861 BEGIN_INTERFACE
7862
7863 /*** IUnknown methods ***/
7864 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
7865 IPersist *This,
7866 REFIID riid,
7867 void **ppvObject);
7868
7869 ULONG (STDMETHODCALLTYPE *AddRef)(
7870 IPersist *This);
7871
7872 ULONG (STDMETHODCALLTYPE *Release)(
7873 IPersist *This);
7874
7875 /*** IPersist methods ***/
7876 HRESULT (STDMETHODCALLTYPE *GetClassID)(
7877 IPersist *This,
7878 CLSID *pClassID);
7879
7880 END_INTERFACE
7881} IPersistVtbl;
7882
7883interface IPersist {
7884 CONST_VTBL IPersistVtbl* lpVtbl;
7885};
7886
7887#ifdef COBJMACROS
7888#ifndef WIDL_C_INLINE_WRAPPERS
7889/*** IUnknown methods ***/
7890#define IPersist_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
7891#define IPersist_AddRef(This) (This)->lpVtbl->AddRef(This)
7892#define IPersist_Release(This) (This)->lpVtbl->Release(This)
7893/*** IPersist methods ***/
7894#define IPersist_GetClassID(This,pClassID) (This)->lpVtbl->GetClassID(This,pClassID)
7895#else
7896/*** IUnknown methods ***/
7897static inline HRESULT IPersist_QueryInterface(IPersist* This,REFIID riid,void **ppvObject) {
7898 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
7899}
7900static inline ULONG IPersist_AddRef(IPersist* This) {
7901 return This->lpVtbl->AddRef(This);
7902}
7903static inline ULONG IPersist_Release(IPersist* This) {
7904 return This->lpVtbl->Release(This);
7905}
7906/*** IPersist methods ***/
7907static inline HRESULT IPersist_GetClassID(IPersist* This,CLSID *pClassID) {
7908 return This->lpVtbl->GetClassID(This,pClassID);
7909}
7910#endif
7911#endif
7912
7913#endif
7914
7915
7916#endif /* __IPersist_INTERFACE_DEFINED__ */
7917
7918/*****************************************************************************
7919 * IPersistStream interface
7920 */
7921#ifndef __IPersistStream_INTERFACE_DEFINED__
7922#define __IPersistStream_INTERFACE_DEFINED__
7923
7924typedef IPersistStream *LPPERSISTSTREAM;
7925DEFINE_GUID(IID_IPersistStream, 0x00000109, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
7926#if defined(__cplusplus) && !defined(CINTERFACE)
7927MIDL_INTERFACE("00000109-0000-0000-c000-000000000046")
7928IPersistStream : public IPersist
7929{
7930 virtual HRESULT STDMETHODCALLTYPE IsDirty(
7931 ) = 0;
7932
7933 virtual HRESULT STDMETHODCALLTYPE Load(
7934 IStream *pStm) = 0;
7935
7936 virtual HRESULT STDMETHODCALLTYPE Save(
7937 IStream *pStm,
7938 WINBOOL fClearDirty) = 0;
7939
7940 virtual HRESULT STDMETHODCALLTYPE GetSizeMax(
7941 ULARGE_INTEGER *pcbSize) = 0;
7942
7943};
7944#ifdef __CRT_UUID_DECL
7945__CRT_UUID_DECL(IPersistStream, 0x00000109, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
7946#endif
7947#else
7948typedef struct IPersistStreamVtbl {
7949 BEGIN_INTERFACE
7950
7951 /*** IUnknown methods ***/
7952 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
7953 IPersistStream *This,
7954 REFIID riid,
7955 void **ppvObject);
7956
7957 ULONG (STDMETHODCALLTYPE *AddRef)(
7958 IPersistStream *This);
7959
7960 ULONG (STDMETHODCALLTYPE *Release)(
7961 IPersistStream *This);
7962
7963 /*** IPersist methods ***/
7964 HRESULT (STDMETHODCALLTYPE *GetClassID)(
7965 IPersistStream *This,
7966 CLSID *pClassID);
7967
7968 /*** IPersistStream methods ***/
7969 HRESULT (STDMETHODCALLTYPE *IsDirty)(
7970 IPersistStream *This);
7971
7972 HRESULT (STDMETHODCALLTYPE *Load)(
7973 IPersistStream *This,
7974 IStream *pStm);
7975
7976 HRESULT (STDMETHODCALLTYPE *Save)(
7977 IPersistStream *This,
7978 IStream *pStm,
7979 WINBOOL fClearDirty);
7980
7981 HRESULT (STDMETHODCALLTYPE *GetSizeMax)(
7982 IPersistStream *This,
7983 ULARGE_INTEGER *pcbSize);
7984
7985 END_INTERFACE
7986} IPersistStreamVtbl;
7987
7988interface IPersistStream {
7989 CONST_VTBL IPersistStreamVtbl* lpVtbl;
7990};
7991
7992#ifdef COBJMACROS
7993#ifndef WIDL_C_INLINE_WRAPPERS
7994/*** IUnknown methods ***/
7995#define IPersistStream_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
7996#define IPersistStream_AddRef(This) (This)->lpVtbl->AddRef(This)
7997#define IPersistStream_Release(This) (This)->lpVtbl->Release(This)
7998/*** IPersist methods ***/
7999#define IPersistStream_GetClassID(This,pClassID) (This)->lpVtbl->GetClassID(This,pClassID)
8000/*** IPersistStream methods ***/
8001#define IPersistStream_IsDirty(This) (This)->lpVtbl->IsDirty(This)
8002#define IPersistStream_Load(This,pStm) (This)->lpVtbl->Load(This,pStm)
8003#define IPersistStream_Save(This,pStm,fClearDirty) (This)->lpVtbl->Save(This,pStm,fClearDirty)
8004#define IPersistStream_GetSizeMax(This,pcbSize) (This)->lpVtbl->GetSizeMax(This,pcbSize)
8005#else
8006/*** IUnknown methods ***/
8007static inline HRESULT IPersistStream_QueryInterface(IPersistStream* This,REFIID riid,void **ppvObject) {
8008 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
8009}
8010static inline ULONG IPersistStream_AddRef(IPersistStream* This) {
8011 return This->lpVtbl->AddRef(This);
8012}
8013static inline ULONG IPersistStream_Release(IPersistStream* This) {
8014 return This->lpVtbl->Release(This);
8015}
8016/*** IPersist methods ***/
8017static inline HRESULT IPersistStream_GetClassID(IPersistStream* This,CLSID *pClassID) {
8018 return This->lpVtbl->GetClassID(This,pClassID);
8019}
8020/*** IPersistStream methods ***/
8021static inline HRESULT IPersistStream_IsDirty(IPersistStream* This) {
8022 return This->lpVtbl->IsDirty(This);
8023}
8024static inline HRESULT IPersistStream_Load(IPersistStream* This,IStream *pStm) {
8025 return This->lpVtbl->Load(This,pStm);
8026}
8027static inline HRESULT IPersistStream_Save(IPersistStream* This,IStream *pStm,WINBOOL fClearDirty) {
8028 return This->lpVtbl->Save(This,pStm,fClearDirty);
8029}
8030static inline HRESULT IPersistStream_GetSizeMax(IPersistStream* This,ULARGE_INTEGER *pcbSize) {
8031 return This->lpVtbl->GetSizeMax(This,pcbSize);
8032}
8033#endif
8034#endif
8035
8036#endif
8037
8038
8039#endif /* __IPersistStream_INTERFACE_DEFINED__ */
8040
8041/*****************************************************************************
8042 * IMoniker interface
8043 */
8044#ifndef __IMoniker_INTERFACE_DEFINED__
8045#define __IMoniker_INTERFACE_DEFINED__
8046
8047typedef IMoniker *LPMONIKER;
8048typedef enum tagMKSYS {
8049 MKSYS_NONE = 0,
8050 MKSYS_GENERICCOMPOSITE = 1,
8051 MKSYS_FILEMONIKER = 2,
8052 MKSYS_ANTIMONIKER = 3,
8053 MKSYS_ITEMMONIKER = 4,
8054 MKSYS_POINTERMONIKER = 5,
8055 MKSYS_CLASSMONIKER = 7,
8056 MKSYS_OBJREFMONIKER = 8,
8057 MKSYS_SESSIONMONIKER = 9,
8058 MKSYS_LUAMONIKER = 10
8059} MKSYS;
8060typedef enum tagMKREDUCE {
8061 MKRREDUCE_ONE = 3 << 16,
8062 MKRREDUCE_TOUSER = 2 << 16,
8063 MKRREDUCE_THROUGHUSER = 1 << 16,
8064 MKRREDUCE_ALL = 0
8065} MKRREDUCE;
8066DEFINE_GUID(IID_IMoniker, 0x0000000f, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
8067#if defined(__cplusplus) && !defined(CINTERFACE)
8068MIDL_INTERFACE("0000000f-0000-0000-c000-000000000046")
8069IMoniker : public IPersistStream
8070{
8071 virtual HRESULT STDMETHODCALLTYPE BindToObject(
8072 IBindCtx *pbc,
8073 IMoniker *pmkToLeft,
8074 REFIID riidResult,
8075 void **ppvResult) = 0;
8076
8077 virtual HRESULT STDMETHODCALLTYPE BindToStorage(
8078 IBindCtx *pbc,
8079 IMoniker *pmkToLeft,
8080 REFIID riid,
8081 void **ppvObj) = 0;
8082
8083 virtual HRESULT STDMETHODCALLTYPE Reduce(
8084 IBindCtx *pbc,
8085 DWORD dwReduceHowFar,
8086 IMoniker **ppmkToLeft,
8087 IMoniker **ppmkReduced) = 0;
8088
8089 virtual HRESULT STDMETHODCALLTYPE ComposeWith(
8090 IMoniker *pmkRight,
8091 WINBOOL fOnlyIfNotGeneric,
8092 IMoniker **ppmkComposite) = 0;
8093
8094 virtual HRESULT STDMETHODCALLTYPE Enum(
8095 WINBOOL fForward,
8096 IEnumMoniker **ppenumMoniker) = 0;
8097
8098 virtual HRESULT STDMETHODCALLTYPE IsEqual(
8099 IMoniker *pmkOtherMoniker) = 0;
8100
8101 virtual HRESULT STDMETHODCALLTYPE Hash(
8102 DWORD *pdwHash) = 0;
8103
8104 virtual HRESULT STDMETHODCALLTYPE IsRunning(
8105 IBindCtx *pbc,
8106 IMoniker *pmkToLeft,
8107 IMoniker *pmkNewlyRunning) = 0;
8108
8109 virtual HRESULT STDMETHODCALLTYPE GetTimeOfLastChange(
8110 IBindCtx *pbc,
8111 IMoniker *pmkToLeft,
8112 FILETIME *pFileTime) = 0;
8113
8114 virtual HRESULT STDMETHODCALLTYPE Inverse(
8115 IMoniker **ppmk) = 0;
8116
8117 virtual HRESULT STDMETHODCALLTYPE CommonPrefixWith(
8118 IMoniker *pmkOther,
8119 IMoniker **ppmkPrefix) = 0;
8120
8121 virtual HRESULT STDMETHODCALLTYPE RelativePathTo(
8122 IMoniker *pmkOther,
8123 IMoniker **ppmkRelPath) = 0;
8124
8125 virtual HRESULT STDMETHODCALLTYPE GetDisplayName(
8126 IBindCtx *pbc,
8127 IMoniker *pmkToLeft,
8128 LPOLESTR *ppszDisplayName) = 0;
8129
8130 virtual HRESULT STDMETHODCALLTYPE ParseDisplayName(
8131 IBindCtx *pbc,
8132 IMoniker *pmkToLeft,
8133 LPOLESTR pszDisplayName,
8134 ULONG *pchEaten,
8135 IMoniker **ppmkOut) = 0;
8136
8137 virtual HRESULT STDMETHODCALLTYPE IsSystemMoniker(
8138 DWORD *pdwMksys) = 0;
8139
8140};
8141#ifdef __CRT_UUID_DECL
8142__CRT_UUID_DECL(IMoniker, 0x0000000f, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
8143#endif
8144#else
8145typedef struct IMonikerVtbl {
8146 BEGIN_INTERFACE
8147
8148 /*** IUnknown methods ***/
8149 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
8150 IMoniker *This,
8151 REFIID riid,
8152 void **ppvObject);
8153
8154 ULONG (STDMETHODCALLTYPE *AddRef)(
8155 IMoniker *This);
8156
8157 ULONG (STDMETHODCALLTYPE *Release)(
8158 IMoniker *This);
8159
8160 /*** IPersist methods ***/
8161 HRESULT (STDMETHODCALLTYPE *GetClassID)(
8162 IMoniker *This,
8163 CLSID *pClassID);
8164
8165 /*** IPersistStream methods ***/
8166 HRESULT (STDMETHODCALLTYPE *IsDirty)(
8167 IMoniker *This);
8168
8169 HRESULT (STDMETHODCALLTYPE *Load)(
8170 IMoniker *This,
8171 IStream *pStm);
8172
8173 HRESULT (STDMETHODCALLTYPE *Save)(
8174 IMoniker *This,
8175 IStream *pStm,
8176 WINBOOL fClearDirty);
8177
8178 HRESULT (STDMETHODCALLTYPE *GetSizeMax)(
8179 IMoniker *This,
8180 ULARGE_INTEGER *pcbSize);
8181
8182 /*** IMoniker methods ***/
8183 HRESULT (STDMETHODCALLTYPE *BindToObject)(
8184 IMoniker *This,
8185 IBindCtx *pbc,
8186 IMoniker *pmkToLeft,
8187 REFIID riidResult,
8188 void **ppvResult);
8189
8190 HRESULT (STDMETHODCALLTYPE *BindToStorage)(
8191 IMoniker *This,
8192 IBindCtx *pbc,
8193 IMoniker *pmkToLeft,
8194 REFIID riid,
8195 void **ppvObj);
8196
8197 HRESULT (STDMETHODCALLTYPE *Reduce)(
8198 IMoniker *This,
8199 IBindCtx *pbc,
8200 DWORD dwReduceHowFar,
8201 IMoniker **ppmkToLeft,
8202 IMoniker **ppmkReduced);
8203
8204 HRESULT (STDMETHODCALLTYPE *ComposeWith)(
8205 IMoniker *This,
8206 IMoniker *pmkRight,
8207 WINBOOL fOnlyIfNotGeneric,
8208 IMoniker **ppmkComposite);
8209
8210 HRESULT (STDMETHODCALLTYPE *Enum)(
8211 IMoniker *This,
8212 WINBOOL fForward,
8213 IEnumMoniker **ppenumMoniker);
8214
8215 HRESULT (STDMETHODCALLTYPE *IsEqual)(
8216 IMoniker *This,
8217 IMoniker *pmkOtherMoniker);
8218
8219 HRESULT (STDMETHODCALLTYPE *Hash)(
8220 IMoniker *This,
8221 DWORD *pdwHash);
8222
8223 HRESULT (STDMETHODCALLTYPE *IsRunning)(
8224 IMoniker *This,
8225 IBindCtx *pbc,
8226 IMoniker *pmkToLeft,
8227 IMoniker *pmkNewlyRunning);
8228
8229 HRESULT (STDMETHODCALLTYPE *GetTimeOfLastChange)(
8230 IMoniker *This,
8231 IBindCtx *pbc,
8232 IMoniker *pmkToLeft,
8233 FILETIME *pFileTime);
8234
8235 HRESULT (STDMETHODCALLTYPE *Inverse)(
8236 IMoniker *This,
8237 IMoniker **ppmk);
8238
8239 HRESULT (STDMETHODCALLTYPE *CommonPrefixWith)(
8240 IMoniker *This,
8241 IMoniker *pmkOther,
8242 IMoniker **ppmkPrefix);
8243
8244 HRESULT (STDMETHODCALLTYPE *RelativePathTo)(
8245 IMoniker *This,
8246 IMoniker *pmkOther,
8247 IMoniker **ppmkRelPath);
8248
8249 HRESULT (STDMETHODCALLTYPE *GetDisplayName)(
8250 IMoniker *This,
8251 IBindCtx *pbc,
8252 IMoniker *pmkToLeft,
8253 LPOLESTR *ppszDisplayName);
8254
8255 HRESULT (STDMETHODCALLTYPE *ParseDisplayName)(
8256 IMoniker *This,
8257 IBindCtx *pbc,
8258 IMoniker *pmkToLeft,
8259 LPOLESTR pszDisplayName,
8260 ULONG *pchEaten,
8261 IMoniker **ppmkOut);
8262
8263 HRESULT (STDMETHODCALLTYPE *IsSystemMoniker)(
8264 IMoniker *This,
8265 DWORD *pdwMksys);
8266
8267 END_INTERFACE
8268} IMonikerVtbl;
8269
8270interface IMoniker {
8271 CONST_VTBL IMonikerVtbl* lpVtbl;
8272};
8273
8274#ifdef COBJMACROS
8275#ifndef WIDL_C_INLINE_WRAPPERS
8276/*** IUnknown methods ***/
8277#define IMoniker_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
8278#define IMoniker_AddRef(This) (This)->lpVtbl->AddRef(This)
8279#define IMoniker_Release(This) (This)->lpVtbl->Release(This)
8280/*** IPersist methods ***/
8281#define IMoniker_GetClassID(This,pClassID) (This)->lpVtbl->GetClassID(This,pClassID)
8282/*** IPersistStream methods ***/
8283#define IMoniker_IsDirty(This) (This)->lpVtbl->IsDirty(This)
8284#define IMoniker_Load(This,pStm) (This)->lpVtbl->Load(This,pStm)
8285#define IMoniker_Save(This,pStm,fClearDirty) (This)->lpVtbl->Save(This,pStm,fClearDirty)
8286#define IMoniker_GetSizeMax(This,pcbSize) (This)->lpVtbl->GetSizeMax(This,pcbSize)
8287/*** IMoniker methods ***/
8288#define IMoniker_BindToObject(This,pbc,pmkToLeft,riidResult,ppvResult) (This)->lpVtbl->BindToObject(This,pbc,pmkToLeft,riidResult,ppvResult)
8289#define IMoniker_BindToStorage(This,pbc,pmkToLeft,riid,ppvObj) (This)->lpVtbl->BindToStorage(This,pbc,pmkToLeft,riid,ppvObj)
8290#define IMoniker_Reduce(This,pbc,dwReduceHowFar,ppmkToLeft,ppmkReduced) (This)->lpVtbl->Reduce(This,pbc,dwReduceHowFar,ppmkToLeft,ppmkReduced)
8291#define IMoniker_ComposeWith(This,pmkRight,fOnlyIfNotGeneric,ppmkComposite) (This)->lpVtbl->ComposeWith(This,pmkRight,fOnlyIfNotGeneric,ppmkComposite)
8292#define IMoniker_Enum(This,fForward,ppenumMoniker) (This)->lpVtbl->Enum(This,fForward,ppenumMoniker)
8293#define IMoniker_IsEqual(This,pmkOtherMoniker) (This)->lpVtbl->IsEqual(This,pmkOtherMoniker)
8294#define IMoniker_Hash(This,pdwHash) (This)->lpVtbl->Hash(This,pdwHash)
8295#define IMoniker_IsRunning(This,pbc,pmkToLeft,pmkNewlyRunning) (This)->lpVtbl->IsRunning(This,pbc,pmkToLeft,pmkNewlyRunning)
8296#define IMoniker_GetTimeOfLastChange(This,pbc,pmkToLeft,pFileTime) (This)->lpVtbl->GetTimeOfLastChange(This,pbc,pmkToLeft,pFileTime)
8297#define IMoniker_Inverse(This,ppmk) (This)->lpVtbl->Inverse(This,ppmk)
8298#define IMoniker_CommonPrefixWith(This,pmkOther,ppmkPrefix) (This)->lpVtbl->CommonPrefixWith(This,pmkOther,ppmkPrefix)
8299#define IMoniker_RelativePathTo(This,pmkOther,ppmkRelPath) (This)->lpVtbl->RelativePathTo(This,pmkOther,ppmkRelPath)
8300#define IMoniker_GetDisplayName(This,pbc,pmkToLeft,ppszDisplayName) (This)->lpVtbl->GetDisplayName(This,pbc,pmkToLeft,ppszDisplayName)
8301#define IMoniker_ParseDisplayName(This,pbc,pmkToLeft,pszDisplayName,pchEaten,ppmkOut) (This)->lpVtbl->ParseDisplayName(This,pbc,pmkToLeft,pszDisplayName,pchEaten,ppmkOut)
8302#define IMoniker_IsSystemMoniker(This,pdwMksys) (This)->lpVtbl->IsSystemMoniker(This,pdwMksys)
8303#else
8304/*** IUnknown methods ***/
8305static inline HRESULT IMoniker_QueryInterface(IMoniker* This,REFIID riid,void **ppvObject) {
8306 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
8307}
8308static inline ULONG IMoniker_AddRef(IMoniker* This) {
8309 return This->lpVtbl->AddRef(This);
8310}
8311static inline ULONG IMoniker_Release(IMoniker* This) {
8312 return This->lpVtbl->Release(This);
8313}
8314/*** IPersist methods ***/
8315static inline HRESULT IMoniker_GetClassID(IMoniker* This,CLSID *pClassID) {
8316 return This->lpVtbl->GetClassID(This,pClassID);
8317}
8318/*** IPersistStream methods ***/
8319static inline HRESULT IMoniker_IsDirty(IMoniker* This) {
8320 return This->lpVtbl->IsDirty(This);
8321}
8322static inline HRESULT IMoniker_Load(IMoniker* This,IStream *pStm) {
8323 return This->lpVtbl->Load(This,pStm);
8324}
8325static inline HRESULT IMoniker_Save(IMoniker* This,IStream *pStm,WINBOOL fClearDirty) {
8326 return This->lpVtbl->Save(This,pStm,fClearDirty);
8327}
8328static inline HRESULT IMoniker_GetSizeMax(IMoniker* This,ULARGE_INTEGER *pcbSize) {
8329 return This->lpVtbl->GetSizeMax(This,pcbSize);
8330}
8331/*** IMoniker methods ***/
8332static inline HRESULT IMoniker_BindToObject(IMoniker* This,IBindCtx *pbc,IMoniker *pmkToLeft,REFIID riidResult,void **ppvResult) {
8333 return This->lpVtbl->BindToObject(This,pbc,pmkToLeft,riidResult,ppvResult);
8334}
8335static inline HRESULT IMoniker_BindToStorage(IMoniker* This,IBindCtx *pbc,IMoniker *pmkToLeft,REFIID riid,void **ppvObj) {
8336 return This->lpVtbl->BindToStorage(This,pbc,pmkToLeft,riid,ppvObj);
8337}
8338static inline HRESULT IMoniker_Reduce(IMoniker* This,IBindCtx *pbc,DWORD dwReduceHowFar,IMoniker **ppmkToLeft,IMoniker **ppmkReduced) {
8339 return This->lpVtbl->Reduce(This,pbc,dwReduceHowFar,ppmkToLeft,ppmkReduced);
8340}
8341static inline HRESULT IMoniker_ComposeWith(IMoniker* This,IMoniker *pmkRight,WINBOOL fOnlyIfNotGeneric,IMoniker **ppmkComposite) {
8342 return This->lpVtbl->ComposeWith(This,pmkRight,fOnlyIfNotGeneric,ppmkComposite);
8343}
8344static inline HRESULT IMoniker_Enum(IMoniker* This,WINBOOL fForward,IEnumMoniker **ppenumMoniker) {
8345 return This->lpVtbl->Enum(This,fForward,ppenumMoniker);
8346}
8347static inline HRESULT IMoniker_IsEqual(IMoniker* This,IMoniker *pmkOtherMoniker) {
8348 return This->lpVtbl->IsEqual(This,pmkOtherMoniker);
8349}
8350static inline HRESULT IMoniker_Hash(IMoniker* This,DWORD *pdwHash) {
8351 return This->lpVtbl->Hash(This,pdwHash);
8352}
8353static inline HRESULT IMoniker_IsRunning(IMoniker* This,IBindCtx *pbc,IMoniker *pmkToLeft,IMoniker *pmkNewlyRunning) {
8354 return This->lpVtbl->IsRunning(This,pbc,pmkToLeft,pmkNewlyRunning);
8355}
8356static inline HRESULT IMoniker_GetTimeOfLastChange(IMoniker* This,IBindCtx *pbc,IMoniker *pmkToLeft,FILETIME *pFileTime) {
8357 return This->lpVtbl->GetTimeOfLastChange(This,pbc,pmkToLeft,pFileTime);
8358}
8359static inline HRESULT IMoniker_Inverse(IMoniker* This,IMoniker **ppmk) {
8360 return This->lpVtbl->Inverse(This,ppmk);
8361}
8362static inline HRESULT IMoniker_CommonPrefixWith(IMoniker* This,IMoniker *pmkOther,IMoniker **ppmkPrefix) {
8363 return This->lpVtbl->CommonPrefixWith(This,pmkOther,ppmkPrefix);
8364}
8365static inline HRESULT IMoniker_RelativePathTo(IMoniker* This,IMoniker *pmkOther,IMoniker **ppmkRelPath) {
8366 return This->lpVtbl->RelativePathTo(This,pmkOther,ppmkRelPath);
8367}
8368static inline HRESULT IMoniker_GetDisplayName(IMoniker* This,IBindCtx *pbc,IMoniker *pmkToLeft,LPOLESTR *ppszDisplayName) {
8369 return This->lpVtbl->GetDisplayName(This,pbc,pmkToLeft,ppszDisplayName);
8370}
8371static inline HRESULT IMoniker_ParseDisplayName(IMoniker* This,IBindCtx *pbc,IMoniker *pmkToLeft,LPOLESTR pszDisplayName,ULONG *pchEaten,IMoniker **ppmkOut) {
8372 return This->lpVtbl->ParseDisplayName(This,pbc,pmkToLeft,pszDisplayName,pchEaten,ppmkOut);
8373}
8374static inline HRESULT IMoniker_IsSystemMoniker(IMoniker* This,DWORD *pdwMksys) {
8375 return This->lpVtbl->IsSystemMoniker(This,pdwMksys);
8376}
8377#endif
8378#endif
8379
8380#endif
8381
8382HRESULT STDMETHODCALLTYPE IMoniker_RemoteBindToObject_Proxy(
8383 IMoniker* This,
8384 IBindCtx *pbc,
8385 IMoniker *pmkToLeft,
8386 REFIID riidResult,
8387 IUnknown **ppvResult);
8388void __RPC_STUB IMoniker_RemoteBindToObject_Stub(
8389 IRpcStubBuffer* This,
8390 IRpcChannelBuffer* pRpcChannelBuffer,
8391 PRPC_MESSAGE pRpcMessage,
8392 DWORD* pdwStubPhase);
8393HRESULT STDMETHODCALLTYPE IMoniker_RemoteBindToStorage_Proxy(
8394 IMoniker* This,
8395 IBindCtx *pbc,
8396 IMoniker *pmkToLeft,
8397 REFIID riid,
8398 IUnknown **ppvObj);
8399void __RPC_STUB IMoniker_RemoteBindToStorage_Stub(
8400 IRpcStubBuffer* This,
8401 IRpcChannelBuffer* pRpcChannelBuffer,
8402 PRPC_MESSAGE pRpcMessage,
8403 DWORD* pdwStubPhase);
8404HRESULT CALLBACK IMoniker_BindToObject_Proxy(
8405 IMoniker* This,
8406 IBindCtx *pbc,
8407 IMoniker *pmkToLeft,
8408 REFIID riidResult,
8409 void **ppvResult);
8410HRESULT __RPC_STUB IMoniker_BindToObject_Stub(
8411 IMoniker* This,
8412 IBindCtx *pbc,
8413 IMoniker *pmkToLeft,
8414 REFIID riidResult,
8415 IUnknown **ppvResult);
8416HRESULT CALLBACK IMoniker_BindToStorage_Proxy(
8417 IMoniker* This,
8418 IBindCtx *pbc,
8419 IMoniker *pmkToLeft,
8420 REFIID riid,
8421 void **ppvObj);
8422HRESULT __RPC_STUB IMoniker_BindToStorage_Stub(
8423 IMoniker* This,
8424 IBindCtx *pbc,
8425 IMoniker *pmkToLeft,
8426 REFIID riid,
8427 IUnknown **ppvObj);
8428
8429#endif /* __IMoniker_INTERFACE_DEFINED__ */
8430
8431#endif
8432#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
8433/*****************************************************************************
8434 * IROTData interface
8435 */
8436#ifndef __IROTData_INTERFACE_DEFINED__
8437#define __IROTData_INTERFACE_DEFINED__
8438
8439DEFINE_GUID(IID_IROTData, 0xf29f6bc0, 0x5021, 0x11ce, 0xaa,0x15, 0x00,0x00,0x69,0x01,0x29,0x3f);
8440#if defined(__cplusplus) && !defined(CINTERFACE)
8441MIDL_INTERFACE("f29f6bc0-5021-11ce-aa15-00006901293f")
8442IROTData : public IUnknown
8443{
8444 virtual HRESULT STDMETHODCALLTYPE GetComparisonData(
8445 byte *pbData,
8446 ULONG cbMax,
8447 ULONG *pcbData) = 0;
8448
8449};
8450#ifdef __CRT_UUID_DECL
8451__CRT_UUID_DECL(IROTData, 0xf29f6bc0, 0x5021, 0x11ce, 0xaa,0x15, 0x00,0x00,0x69,0x01,0x29,0x3f)
8452#endif
8453#else
8454typedef struct IROTDataVtbl {
8455 BEGIN_INTERFACE
8456
8457 /*** IUnknown methods ***/
8458 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
8459 IROTData *This,
8460 REFIID riid,
8461 void **ppvObject);
8462
8463 ULONG (STDMETHODCALLTYPE *AddRef)(
8464 IROTData *This);
8465
8466 ULONG (STDMETHODCALLTYPE *Release)(
8467 IROTData *This);
8468
8469 /*** IROTData methods ***/
8470 HRESULT (STDMETHODCALLTYPE *GetComparisonData)(
8471 IROTData *This,
8472 byte *pbData,
8473 ULONG cbMax,
8474 ULONG *pcbData);
8475
8476 END_INTERFACE
8477} IROTDataVtbl;
8478
8479interface IROTData {
8480 CONST_VTBL IROTDataVtbl* lpVtbl;
8481};
8482
8483#ifdef COBJMACROS
8484#ifndef WIDL_C_INLINE_WRAPPERS
8485/*** IUnknown methods ***/
8486#define IROTData_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
8487#define IROTData_AddRef(This) (This)->lpVtbl->AddRef(This)
8488#define IROTData_Release(This) (This)->lpVtbl->Release(This)
8489/*** IROTData methods ***/
8490#define IROTData_GetComparisonData(This,pbData,cbMax,pcbData) (This)->lpVtbl->GetComparisonData(This,pbData,cbMax,pcbData)
8491#else
8492/*** IUnknown methods ***/
8493static inline HRESULT IROTData_QueryInterface(IROTData* This,REFIID riid,void **ppvObject) {
8494 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
8495}
8496static inline ULONG IROTData_AddRef(IROTData* This) {
8497 return This->lpVtbl->AddRef(This);
8498}
8499static inline ULONG IROTData_Release(IROTData* This) {
8500 return This->lpVtbl->Release(This);
8501}
8502/*** IROTData methods ***/
8503static inline HRESULT IROTData_GetComparisonData(IROTData* This,byte *pbData,ULONG cbMax,ULONG *pcbData) {
8504 return This->lpVtbl->GetComparisonData(This,pbData,cbMax,pcbData);
8505}
8506#endif
8507#endif
8508
8509#endif
8510
8511
8512#endif /* __IROTData_INTERFACE_DEFINED__ */
8513
8514#endif
8515#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
8516/*****************************************************************************
8517 * IEnumSTATSTG interface
8518 */
8519#ifndef __IEnumSTATSTG_INTERFACE_DEFINED__
8520#define __IEnumSTATSTG_INTERFACE_DEFINED__
8521
8522typedef IEnumSTATSTG *LPENUMSTATSTG;
8523DEFINE_GUID(IID_IEnumSTATSTG, 0x0000000d, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
8524#if defined(__cplusplus) && !defined(CINTERFACE)
8525MIDL_INTERFACE("0000000d-0000-0000-c000-000000000046")
8526IEnumSTATSTG : public IUnknown
8527{
8528 virtual HRESULT STDMETHODCALLTYPE Next(
8529 ULONG celt,
8530 STATSTG *rgelt,
8531 ULONG *pceltFetched) = 0;
8532
8533 virtual HRESULT STDMETHODCALLTYPE Skip(
8534 ULONG celt) = 0;
8535
8536 virtual HRESULT STDMETHODCALLTYPE Reset(
8537 ) = 0;
8538
8539 virtual HRESULT STDMETHODCALLTYPE Clone(
8540 IEnumSTATSTG **ppenum) = 0;
8541
8542};
8543#ifdef __CRT_UUID_DECL
8544__CRT_UUID_DECL(IEnumSTATSTG, 0x0000000d, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
8545#endif
8546#else
8547typedef struct IEnumSTATSTGVtbl {
8548 BEGIN_INTERFACE
8549
8550 /*** IUnknown methods ***/
8551 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
8552 IEnumSTATSTG *This,
8553 REFIID riid,
8554 void **ppvObject);
8555
8556 ULONG (STDMETHODCALLTYPE *AddRef)(
8557 IEnumSTATSTG *This);
8558
8559 ULONG (STDMETHODCALLTYPE *Release)(
8560 IEnumSTATSTG *This);
8561
8562 /*** IEnumSTATSTG methods ***/
8563 HRESULT (STDMETHODCALLTYPE *Next)(
8564 IEnumSTATSTG *This,
8565 ULONG celt,
8566 STATSTG *rgelt,
8567 ULONG *pceltFetched);
8568
8569 HRESULT (STDMETHODCALLTYPE *Skip)(
8570 IEnumSTATSTG *This,
8571 ULONG celt);
8572
8573 HRESULT (STDMETHODCALLTYPE *Reset)(
8574 IEnumSTATSTG *This);
8575
8576 HRESULT (STDMETHODCALLTYPE *Clone)(
8577 IEnumSTATSTG *This,
8578 IEnumSTATSTG **ppenum);
8579
8580 END_INTERFACE
8581} IEnumSTATSTGVtbl;
8582
8583interface IEnumSTATSTG {
8584 CONST_VTBL IEnumSTATSTGVtbl* lpVtbl;
8585};
8586
8587#ifdef COBJMACROS
8588#ifndef WIDL_C_INLINE_WRAPPERS
8589/*** IUnknown methods ***/
8590#define IEnumSTATSTG_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
8591#define IEnumSTATSTG_AddRef(This) (This)->lpVtbl->AddRef(This)
8592#define IEnumSTATSTG_Release(This) (This)->lpVtbl->Release(This)
8593/*** IEnumSTATSTG methods ***/
8594#define IEnumSTATSTG_Next(This,celt,rgelt,pceltFetched) (This)->lpVtbl->Next(This,celt,rgelt,pceltFetched)
8595#define IEnumSTATSTG_Skip(This,celt) (This)->lpVtbl->Skip(This,celt)
8596#define IEnumSTATSTG_Reset(This) (This)->lpVtbl->Reset(This)
8597#define IEnumSTATSTG_Clone(This,ppenum) (This)->lpVtbl->Clone(This,ppenum)
8598#else
8599/*** IUnknown methods ***/
8600static inline HRESULT IEnumSTATSTG_QueryInterface(IEnumSTATSTG* This,REFIID riid,void **ppvObject) {
8601 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
8602}
8603static inline ULONG IEnumSTATSTG_AddRef(IEnumSTATSTG* This) {
8604 return This->lpVtbl->AddRef(This);
8605}
8606static inline ULONG IEnumSTATSTG_Release(IEnumSTATSTG* This) {
8607 return This->lpVtbl->Release(This);
8608}
8609/*** IEnumSTATSTG methods ***/
8610static inline HRESULT IEnumSTATSTG_Next(IEnumSTATSTG* This,ULONG celt,STATSTG *rgelt,ULONG *pceltFetched) {
8611 return This->lpVtbl->Next(This,celt,rgelt,pceltFetched);
8612}
8613static inline HRESULT IEnumSTATSTG_Skip(IEnumSTATSTG* This,ULONG celt) {
8614 return This->lpVtbl->Skip(This,celt);
8615}
8616static inline HRESULT IEnumSTATSTG_Reset(IEnumSTATSTG* This) {
8617 return This->lpVtbl->Reset(This);
8618}
8619static inline HRESULT IEnumSTATSTG_Clone(IEnumSTATSTG* This,IEnumSTATSTG **ppenum) {
8620 return This->lpVtbl->Clone(This,ppenum);
8621}
8622#endif
8623#endif
8624
8625#endif
8626
8627HRESULT STDMETHODCALLTYPE IEnumSTATSTG_RemoteNext_Proxy(
8628 IEnumSTATSTG* This,
8629 ULONG celt,
8630 STATSTG *rgelt,
8631 ULONG *pceltFetched);
8632void __RPC_STUB IEnumSTATSTG_RemoteNext_Stub(
8633 IRpcStubBuffer* This,
8634 IRpcChannelBuffer* pRpcChannelBuffer,
8635 PRPC_MESSAGE pRpcMessage,
8636 DWORD* pdwStubPhase);
8637HRESULT CALLBACK IEnumSTATSTG_Next_Proxy(
8638 IEnumSTATSTG* This,
8639 ULONG celt,
8640 STATSTG *rgelt,
8641 ULONG *pceltFetched);
8642HRESULT __RPC_STUB IEnumSTATSTG_Next_Stub(
8643 IEnumSTATSTG* This,
8644 ULONG celt,
8645 STATSTG *rgelt,
8646 ULONG *pceltFetched);
8647
8648#endif /* __IEnumSTATSTG_INTERFACE_DEFINED__ */
8649
8650/*****************************************************************************
8651 * IStorage interface
8652 */
8653#ifndef __IStorage_INTERFACE_DEFINED__
8654#define __IStorage_INTERFACE_DEFINED__
8655
8656typedef IStorage *LPSTORAGE;
8657typedef struct tagRemSNB {
8658 ULONG ulCntStr;
8659 ULONG ulCntChar;
8660 OLECHAR rgString[1];
8661} RemSNB;
8662typedef RemSNB *wireSNB;
8663typedef LPOLESTR *SNB;
8664DEFINE_GUID(IID_IStorage, 0x0000000b, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
8665#if defined(__cplusplus) && !defined(CINTERFACE)
8666MIDL_INTERFACE("0000000b-0000-0000-c000-000000000046")
8667IStorage : public IUnknown
8668{
8669 virtual HRESULT STDMETHODCALLTYPE CreateStream(
8670 const OLECHAR *pwcsName,
8671 DWORD grfMode,
8672 DWORD reserved1,
8673 DWORD reserved2,
8674 IStream **ppstm) = 0;
8675
8676 virtual HRESULT STDMETHODCALLTYPE OpenStream(
8677 const OLECHAR *pwcsName,
8678 void *reserved1,
8679 DWORD grfMode,
8680 DWORD reserved2,
8681 IStream **ppstm) = 0;
8682
8683 virtual HRESULT STDMETHODCALLTYPE CreateStorage(
8684 const OLECHAR *pwcsName,
8685 DWORD grfMode,
8686 DWORD reserved1,
8687 DWORD reserved2,
8688 IStorage **ppstg) = 0;
8689
8690 virtual HRESULT STDMETHODCALLTYPE OpenStorage(
8691 const OLECHAR *pwcsName,
8692 IStorage *pstgPriority,
8693 DWORD grfMode,
8694 SNB snbExclude,
8695 DWORD reserved,
8696 IStorage **ppstg) = 0;
8697
8698 virtual HRESULT STDMETHODCALLTYPE CopyTo(
8699 DWORD ciidExclude,
8700 const IID *rgiidExclude,
8701 SNB snbExclude,
8702 IStorage *pstgDest) = 0;
8703
8704 virtual HRESULT STDMETHODCALLTYPE MoveElementTo(
8705 const OLECHAR *pwcsName,
8706 IStorage *pstgDest,
8707 const OLECHAR *pwcsNewName,
8708 DWORD grfFlags) = 0;
8709
8710 virtual HRESULT STDMETHODCALLTYPE Commit(
8711 DWORD grfCommitFlags) = 0;
8712
8713 virtual HRESULT STDMETHODCALLTYPE Revert(
8714 ) = 0;
8715
8716 virtual HRESULT STDMETHODCALLTYPE EnumElements(
8717 DWORD reserved1,
8718 void *reserved2,
8719 DWORD reserved3,
8720 IEnumSTATSTG **ppenum) = 0;
8721
8722 virtual HRESULT STDMETHODCALLTYPE DestroyElement(
8723 const OLECHAR *pwcsName) = 0;
8724
8725 virtual HRESULT STDMETHODCALLTYPE RenameElement(
8726 const OLECHAR *pwcsOldName,
8727 const OLECHAR *pwcsNewName) = 0;
8728
8729 virtual HRESULT STDMETHODCALLTYPE SetElementTimes(
8730 const OLECHAR *pwcsName,
8731 const FILETIME *pctime,
8732 const FILETIME *patime,
8733 const FILETIME *pmtime) = 0;
8734
8735 virtual HRESULT STDMETHODCALLTYPE SetClass(
8736 REFCLSID clsid) = 0;
8737
8738 virtual HRESULT STDMETHODCALLTYPE SetStateBits(
8739 DWORD grfStateBits,
8740 DWORD grfMask) = 0;
8741
8742 virtual HRESULT STDMETHODCALLTYPE Stat(
8743 STATSTG *pstatstg,
8744 DWORD grfStatFlag) = 0;
8745
8746};
8747#ifdef __CRT_UUID_DECL
8748__CRT_UUID_DECL(IStorage, 0x0000000b, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
8749#endif
8750#else
8751typedef struct IStorageVtbl {
8752 BEGIN_INTERFACE
8753
8754 /*** IUnknown methods ***/
8755 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
8756 IStorage *This,
8757 REFIID riid,
8758 void **ppvObject);
8759
8760 ULONG (STDMETHODCALLTYPE *AddRef)(
8761 IStorage *This);
8762
8763 ULONG (STDMETHODCALLTYPE *Release)(
8764 IStorage *This);
8765
8766 /*** IStorage methods ***/
8767 HRESULT (STDMETHODCALLTYPE *CreateStream)(
8768 IStorage *This,
8769 const OLECHAR *pwcsName,
8770 DWORD grfMode,
8771 DWORD reserved1,
8772 DWORD reserved2,
8773 IStream **ppstm);
8774
8775 HRESULT (STDMETHODCALLTYPE *OpenStream)(
8776 IStorage *This,
8777 const OLECHAR *pwcsName,
8778 void *reserved1,
8779 DWORD grfMode,
8780 DWORD reserved2,
8781 IStream **ppstm);
8782
8783 HRESULT (STDMETHODCALLTYPE *CreateStorage)(
8784 IStorage *This,
8785 const OLECHAR *pwcsName,
8786 DWORD grfMode,
8787 DWORD reserved1,
8788 DWORD reserved2,
8789 IStorage **ppstg);
8790
8791 HRESULT (STDMETHODCALLTYPE *OpenStorage)(
8792 IStorage *This,
8793 const OLECHAR *pwcsName,
8794 IStorage *pstgPriority,
8795 DWORD grfMode,
8796 SNB snbExclude,
8797 DWORD reserved,
8798 IStorage **ppstg);
8799
8800 HRESULT (STDMETHODCALLTYPE *CopyTo)(
8801 IStorage *This,
8802 DWORD ciidExclude,
8803 const IID *rgiidExclude,
8804 SNB snbExclude,
8805 IStorage *pstgDest);
8806
8807 HRESULT (STDMETHODCALLTYPE *MoveElementTo)(
8808 IStorage *This,
8809 const OLECHAR *pwcsName,
8810 IStorage *pstgDest,
8811 const OLECHAR *pwcsNewName,
8812 DWORD grfFlags);
8813
8814 HRESULT (STDMETHODCALLTYPE *Commit)(
8815 IStorage *This,
8816 DWORD grfCommitFlags);
8817
8818 HRESULT (STDMETHODCALLTYPE *Revert)(
8819 IStorage *This);
8820
8821 HRESULT (STDMETHODCALLTYPE *EnumElements)(
8822 IStorage *This,
8823 DWORD reserved1,
8824 void *reserved2,
8825 DWORD reserved3,
8826 IEnumSTATSTG **ppenum);
8827
8828 HRESULT (STDMETHODCALLTYPE *DestroyElement)(
8829 IStorage *This,
8830 const OLECHAR *pwcsName);
8831
8832 HRESULT (STDMETHODCALLTYPE *RenameElement)(
8833 IStorage *This,
8834 const OLECHAR *pwcsOldName,
8835 const OLECHAR *pwcsNewName);
8836
8837 HRESULT (STDMETHODCALLTYPE *SetElementTimes)(
8838 IStorage *This,
8839 const OLECHAR *pwcsName,
8840 const FILETIME *pctime,
8841 const FILETIME *patime,
8842 const FILETIME *pmtime);
8843
8844 HRESULT (STDMETHODCALLTYPE *SetClass)(
8845 IStorage *This,
8846 REFCLSID clsid);
8847
8848 HRESULT (STDMETHODCALLTYPE *SetStateBits)(
8849 IStorage *This,
8850 DWORD grfStateBits,
8851 DWORD grfMask);
8852
8853 HRESULT (STDMETHODCALLTYPE *Stat)(
8854 IStorage *This,
8855 STATSTG *pstatstg,
8856 DWORD grfStatFlag);
8857
8858 END_INTERFACE
8859} IStorageVtbl;
8860
8861interface IStorage {
8862 CONST_VTBL IStorageVtbl* lpVtbl;
8863};
8864
8865#ifdef COBJMACROS
8866#ifndef WIDL_C_INLINE_WRAPPERS
8867/*** IUnknown methods ***/
8868#define IStorage_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
8869#define IStorage_AddRef(This) (This)->lpVtbl->AddRef(This)
8870#define IStorage_Release(This) (This)->lpVtbl->Release(This)
8871/*** IStorage methods ***/
8872#define IStorage_CreateStream(This,pwcsName,grfMode,reserved1,reserved2,ppstm) (This)->lpVtbl->CreateStream(This,pwcsName,grfMode,reserved1,reserved2,ppstm)
8873#define IStorage_OpenStream(This,pwcsName,reserved1,grfMode,reserved2,ppstm) (This)->lpVtbl->OpenStream(This,pwcsName,reserved1,grfMode,reserved2,ppstm)
8874#define IStorage_CreateStorage(This,pwcsName,grfMode,reserved1,reserved2,ppstg) (This)->lpVtbl->CreateStorage(This,pwcsName,grfMode,reserved1,reserved2,ppstg)
8875#define IStorage_OpenStorage(This,pwcsName,pstgPriority,grfMode,snbExclude,reserved,ppstg) (This)->lpVtbl->OpenStorage(This,pwcsName,pstgPriority,grfMode,snbExclude,reserved,ppstg)
8876#define IStorage_CopyTo(This,ciidExclude,rgiidExclude,snbExclude,pstgDest) (This)->lpVtbl->CopyTo(This,ciidExclude,rgiidExclude,snbExclude,pstgDest)
8877#define IStorage_MoveElementTo(This,pwcsName,pstgDest,pwcsNewName,grfFlags) (This)->lpVtbl->MoveElementTo(This,pwcsName,pstgDest,pwcsNewName,grfFlags)
8878#define IStorage_Commit(This,grfCommitFlags) (This)->lpVtbl->Commit(This,grfCommitFlags)
8879#define IStorage_Revert(This) (This)->lpVtbl->Revert(This)
8880#define IStorage_EnumElements(This,reserved1,reserved2,reserved3,ppenum) (This)->lpVtbl->EnumElements(This,reserved1,reserved2,reserved3,ppenum)
8881#define IStorage_DestroyElement(This,pwcsName) (This)->lpVtbl->DestroyElement(This,pwcsName)
8882#define IStorage_RenameElement(This,pwcsOldName,pwcsNewName) (This)->lpVtbl->RenameElement(This,pwcsOldName,pwcsNewName)
8883#define IStorage_SetElementTimes(This,pwcsName,pctime,patime,pmtime) (This)->lpVtbl->SetElementTimes(This,pwcsName,pctime,patime,pmtime)
8884#define IStorage_SetClass(This,clsid) (This)->lpVtbl->SetClass(This,clsid)
8885#define IStorage_SetStateBits(This,grfStateBits,grfMask) (This)->lpVtbl->SetStateBits(This,grfStateBits,grfMask)
8886#define IStorage_Stat(This,pstatstg,grfStatFlag) (This)->lpVtbl->Stat(This,pstatstg,grfStatFlag)
8887#else
8888/*** IUnknown methods ***/
8889static inline HRESULT IStorage_QueryInterface(IStorage* This,REFIID riid,void **ppvObject) {
8890 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
8891}
8892static inline ULONG IStorage_AddRef(IStorage* This) {
8893 return This->lpVtbl->AddRef(This);
8894}
8895static inline ULONG IStorage_Release(IStorage* This) {
8896 return This->lpVtbl->Release(This);
8897}
8898/*** IStorage methods ***/
8899static inline HRESULT IStorage_CreateStream(IStorage* This,const OLECHAR *pwcsName,DWORD grfMode,DWORD reserved1,DWORD reserved2,IStream **ppstm) {
8900 return This->lpVtbl->CreateStream(This,pwcsName,grfMode,reserved1,reserved2,ppstm);
8901}
8902static inline HRESULT IStorage_OpenStream(IStorage* This,const OLECHAR *pwcsName,void *reserved1,DWORD grfMode,DWORD reserved2,IStream **ppstm) {
8903 return This->lpVtbl->OpenStream(This,pwcsName,reserved1,grfMode,reserved2,ppstm);
8904}
8905static inline HRESULT IStorage_CreateStorage(IStorage* This,const OLECHAR *pwcsName,DWORD grfMode,DWORD reserved1,DWORD reserved2,IStorage **ppstg) {
8906 return This->lpVtbl->CreateStorage(This,pwcsName,grfMode,reserved1,reserved2,ppstg);
8907}
8908static inline HRESULT IStorage_OpenStorage(IStorage* This,const OLECHAR *pwcsName,IStorage *pstgPriority,DWORD grfMode,SNB snbExclude,DWORD reserved,IStorage **ppstg) {
8909 return This->lpVtbl->OpenStorage(This,pwcsName,pstgPriority,grfMode,snbExclude,reserved,ppstg);
8910}
8911static inline HRESULT IStorage_CopyTo(IStorage* This,DWORD ciidExclude,const IID *rgiidExclude,SNB snbExclude,IStorage *pstgDest) {
8912 return This->lpVtbl->CopyTo(This,ciidExclude,rgiidExclude,snbExclude,pstgDest);
8913}
8914static inline HRESULT IStorage_MoveElementTo(IStorage* This,const OLECHAR *pwcsName,IStorage *pstgDest,const OLECHAR *pwcsNewName,DWORD grfFlags) {
8915 return This->lpVtbl->MoveElementTo(This,pwcsName,pstgDest,pwcsNewName,grfFlags);
8916}
8917static inline HRESULT IStorage_Commit(IStorage* This,DWORD grfCommitFlags) {
8918 return This->lpVtbl->Commit(This,grfCommitFlags);
8919}
8920static inline HRESULT IStorage_Revert(IStorage* This) {
8921 return This->lpVtbl->Revert(This);
8922}
8923static inline HRESULT IStorage_EnumElements(IStorage* This,DWORD reserved1,void *reserved2,DWORD reserved3,IEnumSTATSTG **ppenum) {
8924 return This->lpVtbl->EnumElements(This,reserved1,reserved2,reserved3,ppenum);
8925}
8926static inline HRESULT IStorage_DestroyElement(IStorage* This,const OLECHAR *pwcsName) {
8927 return This->lpVtbl->DestroyElement(This,pwcsName);
8928}
8929static inline HRESULT IStorage_RenameElement(IStorage* This,const OLECHAR *pwcsOldName,const OLECHAR *pwcsNewName) {
8930 return This->lpVtbl->RenameElement(This,pwcsOldName,pwcsNewName);
8931}
8932static inline HRESULT IStorage_SetElementTimes(IStorage* This,const OLECHAR *pwcsName,const FILETIME *pctime,const FILETIME *patime,const FILETIME *pmtime) {
8933 return This->lpVtbl->SetElementTimes(This,pwcsName,pctime,patime,pmtime);
8934}
8935static inline HRESULT IStorage_SetClass(IStorage* This,REFCLSID clsid) {
8936 return This->lpVtbl->SetClass(This,clsid);
8937}
8938static inline HRESULT IStorage_SetStateBits(IStorage* This,DWORD grfStateBits,DWORD grfMask) {
8939 return This->lpVtbl->SetStateBits(This,grfStateBits,grfMask);
8940}
8941static inline HRESULT IStorage_Stat(IStorage* This,STATSTG *pstatstg,DWORD grfStatFlag) {
8942 return This->lpVtbl->Stat(This,pstatstg,grfStatFlag);
8943}
8944#endif
8945#endif
8946
8947#endif
8948
8949HRESULT STDMETHODCALLTYPE IStorage_RemoteOpenStream_Proxy(
8950 IStorage* This,
8951 const OLECHAR *pwcsName,
8952 ULONG cbReserved1,
8953 byte *reserved1,
8954 DWORD grfMode,
8955 DWORD reserved2,
8956 IStream **ppstm);
8957void __RPC_STUB IStorage_RemoteOpenStream_Stub(
8958 IRpcStubBuffer* This,
8959 IRpcChannelBuffer* pRpcChannelBuffer,
8960 PRPC_MESSAGE pRpcMessage,
8961 DWORD* pdwStubPhase);
8962HRESULT STDMETHODCALLTYPE IStorage_RemoteCopyTo_Proxy(
8963 IStorage* This,
8964 DWORD ciidExclude,
8965 const IID *rgiidExclude,
8966 SNB snbExclude,
8967 IStorage *pstgDest);
8968void __RPC_STUB IStorage_RemoteCopyTo_Stub(
8969 IRpcStubBuffer* This,
8970 IRpcChannelBuffer* pRpcChannelBuffer,
8971 PRPC_MESSAGE pRpcMessage,
8972 DWORD* pdwStubPhase);
8973HRESULT STDMETHODCALLTYPE IStorage_RemoteEnumElements_Proxy(
8974 IStorage* This,
8975 DWORD reserved1,
8976 ULONG cbReserved2,
8977 byte *reserved2,
8978 DWORD reserved3,
8979 IEnumSTATSTG **ppenum);
8980void __RPC_STUB IStorage_RemoteEnumElements_Stub(
8981 IRpcStubBuffer* This,
8982 IRpcChannelBuffer* pRpcChannelBuffer,
8983 PRPC_MESSAGE pRpcMessage,
8984 DWORD* pdwStubPhase);
8985HRESULT CALLBACK IStorage_OpenStream_Proxy(
8986 IStorage* This,
8987 const OLECHAR *pwcsName,
8988 void *reserved1,
8989 DWORD grfMode,
8990 DWORD reserved2,
8991 IStream **ppstm);
8992HRESULT __RPC_STUB IStorage_OpenStream_Stub(
8993 IStorage* This,
8994 const OLECHAR *pwcsName,
8995 ULONG cbReserved1,
8996 byte *reserved1,
8997 DWORD grfMode,
8998 DWORD reserved2,
8999 IStream **ppstm);
9000HRESULT CALLBACK IStorage_CopyTo_Proxy(
9001 IStorage* This,
9002 DWORD ciidExclude,
9003 const IID *rgiidExclude,
9004 SNB snbExclude,
9005 IStorage *pstgDest);
9006HRESULT __RPC_STUB IStorage_CopyTo_Stub(
9007 IStorage* This,
9008 DWORD ciidExclude,
9009 const IID *rgiidExclude,
9010 SNB snbExclude,
9011 IStorage *pstgDest);
9012HRESULT CALLBACK IStorage_EnumElements_Proxy(
9013 IStorage* This,
9014 DWORD reserved1,
9015 void *reserved2,
9016 DWORD reserved3,
9017 IEnumSTATSTG **ppenum);
9018HRESULT __RPC_STUB IStorage_EnumElements_Stub(
9019 IStorage* This,
9020 DWORD reserved1,
9021 ULONG cbReserved2,
9022 byte *reserved2,
9023 DWORD reserved3,
9024 IEnumSTATSTG **ppenum);
9025
9026#endif /* __IStorage_INTERFACE_DEFINED__ */
9027
9028#endif
9029#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
9030/*****************************************************************************
9031 * IPersistFile interface
9032 */
9033#ifndef __IPersistFile_INTERFACE_DEFINED__
9034#define __IPersistFile_INTERFACE_DEFINED__
9035
9036typedef IPersistFile *LPPERSISTFILE;
9037DEFINE_GUID(IID_IPersistFile, 0x0000010b, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
9038#if defined(__cplusplus) && !defined(CINTERFACE)
9039MIDL_INTERFACE("0000010b-0000-0000-c000-000000000046")
9040IPersistFile : public IPersist
9041{
9042 virtual HRESULT STDMETHODCALLTYPE IsDirty(
9043 ) = 0;
9044
9045 virtual HRESULT STDMETHODCALLTYPE Load(
9046 LPCOLESTR pszFileName,
9047 DWORD dwMode) = 0;
9048
9049 virtual HRESULT STDMETHODCALLTYPE Save(
9050 LPCOLESTR pszFileName,
9051 WINBOOL fRemember) = 0;
9052
9053 virtual HRESULT STDMETHODCALLTYPE SaveCompleted(
9054 LPCOLESTR pszFileName) = 0;
9055
9056 virtual HRESULT STDMETHODCALLTYPE GetCurFile(
9057 LPOLESTR *ppszFileName) = 0;
9058
9059};
9060#ifdef __CRT_UUID_DECL
9061__CRT_UUID_DECL(IPersistFile, 0x0000010b, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
9062#endif
9063#else
9064typedef struct IPersistFileVtbl {
9065 BEGIN_INTERFACE
9066
9067 /*** IUnknown methods ***/
9068 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
9069 IPersistFile *This,
9070 REFIID riid,
9071 void **ppvObject);
9072
9073 ULONG (STDMETHODCALLTYPE *AddRef)(
9074 IPersistFile *This);
9075
9076 ULONG (STDMETHODCALLTYPE *Release)(
9077 IPersistFile *This);
9078
9079 /*** IPersist methods ***/
9080 HRESULT (STDMETHODCALLTYPE *GetClassID)(
9081 IPersistFile *This,
9082 CLSID *pClassID);
9083
9084 /*** IPersistFile methods ***/
9085 HRESULT (STDMETHODCALLTYPE *IsDirty)(
9086 IPersistFile *This);
9087
9088 HRESULT (STDMETHODCALLTYPE *Load)(
9089 IPersistFile *This,
9090 LPCOLESTR pszFileName,
9091 DWORD dwMode);
9092
9093 HRESULT (STDMETHODCALLTYPE *Save)(
9094 IPersistFile *This,
9095 LPCOLESTR pszFileName,
9096 WINBOOL fRemember);
9097
9098 HRESULT (STDMETHODCALLTYPE *SaveCompleted)(
9099 IPersistFile *This,
9100 LPCOLESTR pszFileName);
9101
9102 HRESULT (STDMETHODCALLTYPE *GetCurFile)(
9103 IPersistFile *This,
9104 LPOLESTR *ppszFileName);
9105
9106 END_INTERFACE
9107} IPersistFileVtbl;
9108
9109interface IPersistFile {
9110 CONST_VTBL IPersistFileVtbl* lpVtbl;
9111};
9112
9113#ifdef COBJMACROS
9114#ifndef WIDL_C_INLINE_WRAPPERS
9115/*** IUnknown methods ***/
9116#define IPersistFile_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
9117#define IPersistFile_AddRef(This) (This)->lpVtbl->AddRef(This)
9118#define IPersistFile_Release(This) (This)->lpVtbl->Release(This)
9119/*** IPersist methods ***/
9120#define IPersistFile_GetClassID(This,pClassID) (This)->lpVtbl->GetClassID(This,pClassID)
9121/*** IPersistFile methods ***/
9122#define IPersistFile_IsDirty(This) (This)->lpVtbl->IsDirty(This)
9123#define IPersistFile_Load(This,pszFileName,dwMode) (This)->lpVtbl->Load(This,pszFileName,dwMode)
9124#define IPersistFile_Save(This,pszFileName,fRemember) (This)->lpVtbl->Save(This,pszFileName,fRemember)
9125#define IPersistFile_SaveCompleted(This,pszFileName) (This)->lpVtbl->SaveCompleted(This,pszFileName)
9126#define IPersistFile_GetCurFile(This,ppszFileName) (This)->lpVtbl->GetCurFile(This,ppszFileName)
9127#else
9128/*** IUnknown methods ***/
9129static inline HRESULT IPersistFile_QueryInterface(IPersistFile* This,REFIID riid,void **ppvObject) {
9130 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
9131}
9132static inline ULONG IPersistFile_AddRef(IPersistFile* This) {
9133 return This->lpVtbl->AddRef(This);
9134}
9135static inline ULONG IPersistFile_Release(IPersistFile* This) {
9136 return This->lpVtbl->Release(This);
9137}
9138/*** IPersist methods ***/
9139static inline HRESULT IPersistFile_GetClassID(IPersistFile* This,CLSID *pClassID) {
9140 return This->lpVtbl->GetClassID(This,pClassID);
9141}
9142/*** IPersistFile methods ***/
9143static inline HRESULT IPersistFile_IsDirty(IPersistFile* This) {
9144 return This->lpVtbl->IsDirty(This);
9145}
9146static inline HRESULT IPersistFile_Load(IPersistFile* This,LPCOLESTR pszFileName,DWORD dwMode) {
9147 return This->lpVtbl->Load(This,pszFileName,dwMode);
9148}
9149static inline HRESULT IPersistFile_Save(IPersistFile* This,LPCOLESTR pszFileName,WINBOOL fRemember) {
9150 return This->lpVtbl->Save(This,pszFileName,fRemember);
9151}
9152static inline HRESULT IPersistFile_SaveCompleted(IPersistFile* This,LPCOLESTR pszFileName) {
9153 return This->lpVtbl->SaveCompleted(This,pszFileName);
9154}
9155static inline HRESULT IPersistFile_GetCurFile(IPersistFile* This,LPOLESTR *ppszFileName) {
9156 return This->lpVtbl->GetCurFile(This,ppszFileName);
9157}
9158#endif
9159#endif
9160
9161#endif
9162
9163
9164#endif /* __IPersistFile_INTERFACE_DEFINED__ */
9165
9166/*****************************************************************************
9167 * IPersistStorage interface
9168 */
9169#ifndef __IPersistStorage_INTERFACE_DEFINED__
9170#define __IPersistStorage_INTERFACE_DEFINED__
9171
9172typedef IPersistStorage *LPPERSISTSTORAGE;
9173DEFINE_GUID(IID_IPersistStorage, 0x0000010a, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
9174#if defined(__cplusplus) && !defined(CINTERFACE)
9175MIDL_INTERFACE("0000010a-0000-0000-c000-000000000046")
9176IPersistStorage : public IPersist
9177{
9178 virtual HRESULT STDMETHODCALLTYPE IsDirty(
9179 ) = 0;
9180
9181 virtual HRESULT STDMETHODCALLTYPE InitNew(
9182 IStorage *pStg) = 0;
9183
9184 virtual HRESULT STDMETHODCALLTYPE Load(
9185 IStorage *pStg) = 0;
9186
9187 virtual HRESULT STDMETHODCALLTYPE Save(
9188 IStorage *pStgSave,
9189 WINBOOL fSameAsLoad) = 0;
9190
9191 virtual HRESULT STDMETHODCALLTYPE SaveCompleted(
9192 IStorage *pStgNew) = 0;
9193
9194 virtual HRESULT STDMETHODCALLTYPE HandsOffStorage(
9195 ) = 0;
9196
9197};
9198#ifdef __CRT_UUID_DECL
9199__CRT_UUID_DECL(IPersistStorage, 0x0000010a, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
9200#endif
9201#else
9202typedef struct IPersistStorageVtbl {
9203 BEGIN_INTERFACE
9204
9205 /*** IUnknown methods ***/
9206 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
9207 IPersistStorage *This,
9208 REFIID riid,
9209 void **ppvObject);
9210
9211 ULONG (STDMETHODCALLTYPE *AddRef)(
9212 IPersistStorage *This);
9213
9214 ULONG (STDMETHODCALLTYPE *Release)(
9215 IPersistStorage *This);
9216
9217 /*** IPersist methods ***/
9218 HRESULT (STDMETHODCALLTYPE *GetClassID)(
9219 IPersistStorage *This,
9220 CLSID *pClassID);
9221
9222 /*** IPersistStorage methods ***/
9223 HRESULT (STDMETHODCALLTYPE *IsDirty)(
9224 IPersistStorage *This);
9225
9226 HRESULT (STDMETHODCALLTYPE *InitNew)(
9227 IPersistStorage *This,
9228 IStorage *pStg);
9229
9230 HRESULT (STDMETHODCALLTYPE *Load)(
9231 IPersistStorage *This,
9232 IStorage *pStg);
9233
9234 HRESULT (STDMETHODCALLTYPE *Save)(
9235 IPersistStorage *This,
9236 IStorage *pStgSave,
9237 WINBOOL fSameAsLoad);
9238
9239 HRESULT (STDMETHODCALLTYPE *SaveCompleted)(
9240 IPersistStorage *This,
9241 IStorage *pStgNew);
9242
9243 HRESULT (STDMETHODCALLTYPE *HandsOffStorage)(
9244 IPersistStorage *This);
9245
9246 END_INTERFACE
9247} IPersistStorageVtbl;
9248
9249interface IPersistStorage {
9250 CONST_VTBL IPersistStorageVtbl* lpVtbl;
9251};
9252
9253#ifdef COBJMACROS
9254#ifndef WIDL_C_INLINE_WRAPPERS
9255/*** IUnknown methods ***/
9256#define IPersistStorage_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
9257#define IPersistStorage_AddRef(This) (This)->lpVtbl->AddRef(This)
9258#define IPersistStorage_Release(This) (This)->lpVtbl->Release(This)
9259/*** IPersist methods ***/
9260#define IPersistStorage_GetClassID(This,pClassID) (This)->lpVtbl->GetClassID(This,pClassID)
9261/*** IPersistStorage methods ***/
9262#define IPersistStorage_IsDirty(This) (This)->lpVtbl->IsDirty(This)
9263#define IPersistStorage_InitNew(This,pStg) (This)->lpVtbl->InitNew(This,pStg)
9264#define IPersistStorage_Load(This,pStg) (This)->lpVtbl->Load(This,pStg)
9265#define IPersistStorage_Save(This,pStgSave,fSameAsLoad) (This)->lpVtbl->Save(This,pStgSave,fSameAsLoad)
9266#define IPersistStorage_SaveCompleted(This,pStgNew) (This)->lpVtbl->SaveCompleted(This,pStgNew)
9267#define IPersistStorage_HandsOffStorage(This) (This)->lpVtbl->HandsOffStorage(This)
9268#else
9269/*** IUnknown methods ***/
9270static inline HRESULT IPersistStorage_QueryInterface(IPersistStorage* This,REFIID riid,void **ppvObject) {
9271 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
9272}
9273static inline ULONG IPersistStorage_AddRef(IPersistStorage* This) {
9274 return This->lpVtbl->AddRef(This);
9275}
9276static inline ULONG IPersistStorage_Release(IPersistStorage* This) {
9277 return This->lpVtbl->Release(This);
9278}
9279/*** IPersist methods ***/
9280static inline HRESULT IPersistStorage_GetClassID(IPersistStorage* This,CLSID *pClassID) {
9281 return This->lpVtbl->GetClassID(This,pClassID);
9282}
9283/*** IPersistStorage methods ***/
9284static inline HRESULT IPersistStorage_IsDirty(IPersistStorage* This) {
9285 return This->lpVtbl->IsDirty(This);
9286}
9287static inline HRESULT IPersistStorage_InitNew(IPersistStorage* This,IStorage *pStg) {
9288 return This->lpVtbl->InitNew(This,pStg);
9289}
9290static inline HRESULT IPersistStorage_Load(IPersistStorage* This,IStorage *pStg) {
9291 return This->lpVtbl->Load(This,pStg);
9292}
9293static inline HRESULT IPersistStorage_Save(IPersistStorage* This,IStorage *pStgSave,WINBOOL fSameAsLoad) {
9294 return This->lpVtbl->Save(This,pStgSave,fSameAsLoad);
9295}
9296static inline HRESULT IPersistStorage_SaveCompleted(IPersistStorage* This,IStorage *pStgNew) {
9297 return This->lpVtbl->SaveCompleted(This,pStgNew);
9298}
9299static inline HRESULT IPersistStorage_HandsOffStorage(IPersistStorage* This) {
9300 return This->lpVtbl->HandsOffStorage(This);
9301}
9302#endif
9303#endif
9304
9305#endif
9306
9307
9308#endif /* __IPersistStorage_INTERFACE_DEFINED__ */
9309
9310#endif
9311#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
9312/*****************************************************************************
9313 * ILockBytes interface
9314 */
9315#ifndef __ILockBytes_INTERFACE_DEFINED__
9316#define __ILockBytes_INTERFACE_DEFINED__
9317
9318typedef ILockBytes *LPLOCKBYTES;
9319DEFINE_GUID(IID_ILockBytes, 0x0000000a, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
9320#if defined(__cplusplus) && !defined(CINTERFACE)
9321MIDL_INTERFACE("0000000a-0000-0000-c000-000000000046")
9322ILockBytes : public IUnknown
9323{
9324 virtual HRESULT STDMETHODCALLTYPE ReadAt(
9325 ULARGE_INTEGER ulOffset,
9326 void *pv,
9327 ULONG cb,
9328 ULONG *pcbRead) = 0;
9329
9330 virtual HRESULT STDMETHODCALLTYPE WriteAt(
9331 ULARGE_INTEGER ulOffset,
9332 const void *pv,
9333 ULONG cb,
9334 ULONG *pcbWritten) = 0;
9335
9336 virtual HRESULT STDMETHODCALLTYPE Flush(
9337 ) = 0;
9338
9339 virtual HRESULT STDMETHODCALLTYPE SetSize(
9340 ULARGE_INTEGER cb) = 0;
9341
9342 virtual HRESULT STDMETHODCALLTYPE LockRegion(
9343 ULARGE_INTEGER libOffset,
9344 ULARGE_INTEGER cb,
9345 DWORD dwLockType) = 0;
9346
9347 virtual HRESULT STDMETHODCALLTYPE UnlockRegion(
9348 ULARGE_INTEGER libOffset,
9349 ULARGE_INTEGER cb,
9350 DWORD dwLockType) = 0;
9351
9352 virtual HRESULT STDMETHODCALLTYPE Stat(
9353 STATSTG *pstatstg,
9354 DWORD grfStatFlag) = 0;
9355
9356};
9357#ifdef __CRT_UUID_DECL
9358__CRT_UUID_DECL(ILockBytes, 0x0000000a, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
9359#endif
9360#else
9361typedef struct ILockBytesVtbl {
9362 BEGIN_INTERFACE
9363
9364 /*** IUnknown methods ***/
9365 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
9366 ILockBytes *This,
9367 REFIID riid,
9368 void **ppvObject);
9369
9370 ULONG (STDMETHODCALLTYPE *AddRef)(
9371 ILockBytes *This);
9372
9373 ULONG (STDMETHODCALLTYPE *Release)(
9374 ILockBytes *This);
9375
9376 /*** ILockBytes methods ***/
9377 HRESULT (STDMETHODCALLTYPE *ReadAt)(
9378 ILockBytes *This,
9379 ULARGE_INTEGER ulOffset,
9380 void *pv,
9381 ULONG cb,
9382 ULONG *pcbRead);
9383
9384 HRESULT (STDMETHODCALLTYPE *WriteAt)(
9385 ILockBytes *This,
9386 ULARGE_INTEGER ulOffset,
9387 const void *pv,
9388 ULONG cb,
9389 ULONG *pcbWritten);
9390
9391 HRESULT (STDMETHODCALLTYPE *Flush)(
9392 ILockBytes *This);
9393
9394 HRESULT (STDMETHODCALLTYPE *SetSize)(
9395 ILockBytes *This,
9396 ULARGE_INTEGER cb);
9397
9398 HRESULT (STDMETHODCALLTYPE *LockRegion)(
9399 ILockBytes *This,
9400 ULARGE_INTEGER libOffset,
9401 ULARGE_INTEGER cb,
9402 DWORD dwLockType);
9403
9404 HRESULT (STDMETHODCALLTYPE *UnlockRegion)(
9405 ILockBytes *This,
9406 ULARGE_INTEGER libOffset,
9407 ULARGE_INTEGER cb,
9408 DWORD dwLockType);
9409
9410 HRESULT (STDMETHODCALLTYPE *Stat)(
9411 ILockBytes *This,
9412 STATSTG *pstatstg,
9413 DWORD grfStatFlag);
9414
9415 END_INTERFACE
9416} ILockBytesVtbl;
9417
9418interface ILockBytes {
9419 CONST_VTBL ILockBytesVtbl* lpVtbl;
9420};
9421
9422#ifdef COBJMACROS
9423#ifndef WIDL_C_INLINE_WRAPPERS
9424/*** IUnknown methods ***/
9425#define ILockBytes_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
9426#define ILockBytes_AddRef(This) (This)->lpVtbl->AddRef(This)
9427#define ILockBytes_Release(This) (This)->lpVtbl->Release(This)
9428/*** ILockBytes methods ***/
9429#define ILockBytes_ReadAt(This,ulOffset,pv,cb,pcbRead) (This)->lpVtbl->ReadAt(This,ulOffset,pv,cb,pcbRead)
9430#define ILockBytes_WriteAt(This,ulOffset,pv,cb,pcbWritten) (This)->lpVtbl->WriteAt(This,ulOffset,pv,cb,pcbWritten)
9431#define ILockBytes_Flush(This) (This)->lpVtbl->Flush(This)
9432#define ILockBytes_SetSize(This,cb) (This)->lpVtbl->SetSize(This,cb)
9433#define ILockBytes_LockRegion(This,libOffset,cb,dwLockType) (This)->lpVtbl->LockRegion(This,libOffset,cb,dwLockType)
9434#define ILockBytes_UnlockRegion(This,libOffset,cb,dwLockType) (This)->lpVtbl->UnlockRegion(This,libOffset,cb,dwLockType)
9435#define ILockBytes_Stat(This,pstatstg,grfStatFlag) (This)->lpVtbl->Stat(This,pstatstg,grfStatFlag)
9436#else
9437/*** IUnknown methods ***/
9438static inline HRESULT ILockBytes_QueryInterface(ILockBytes* This,REFIID riid,void **ppvObject) {
9439 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
9440}
9441static inline ULONG ILockBytes_AddRef(ILockBytes* This) {
9442 return This->lpVtbl->AddRef(This);
9443}
9444static inline ULONG ILockBytes_Release(ILockBytes* This) {
9445 return This->lpVtbl->Release(This);
9446}
9447/*** ILockBytes methods ***/
9448static inline HRESULT ILockBytes_ReadAt(ILockBytes* This,ULARGE_INTEGER ulOffset,void *pv,ULONG cb,ULONG *pcbRead) {
9449 return This->lpVtbl->ReadAt(This,ulOffset,pv,cb,pcbRead);
9450}
9451static inline HRESULT ILockBytes_WriteAt(ILockBytes* This,ULARGE_INTEGER ulOffset,const void *pv,ULONG cb,ULONG *pcbWritten) {
9452 return This->lpVtbl->WriteAt(This,ulOffset,pv,cb,pcbWritten);
9453}
9454static inline HRESULT ILockBytes_Flush(ILockBytes* This) {
9455 return This->lpVtbl->Flush(This);
9456}
9457static inline HRESULT ILockBytes_SetSize(ILockBytes* This,ULARGE_INTEGER cb) {
9458 return This->lpVtbl->SetSize(This,cb);
9459}
9460static inline HRESULT ILockBytes_LockRegion(ILockBytes* This,ULARGE_INTEGER libOffset,ULARGE_INTEGER cb,DWORD dwLockType) {
9461 return This->lpVtbl->LockRegion(This,libOffset,cb,dwLockType);
9462}
9463static inline HRESULT ILockBytes_UnlockRegion(ILockBytes* This,ULARGE_INTEGER libOffset,ULARGE_INTEGER cb,DWORD dwLockType) {
9464 return This->lpVtbl->UnlockRegion(This,libOffset,cb,dwLockType);
9465}
9466static inline HRESULT ILockBytes_Stat(ILockBytes* This,STATSTG *pstatstg,DWORD grfStatFlag) {
9467 return This->lpVtbl->Stat(This,pstatstg,grfStatFlag);
9468}
9469#endif
9470#endif
9471
9472#endif
9473
9474HRESULT __stdcall ILockBytes_RemoteReadAt_Proxy(
9475 ILockBytes* This,
9476 ULARGE_INTEGER ulOffset,
9477 byte *pv,
9478 ULONG cb,
9479 ULONG *pcbRead);
9480void __RPC_STUB ILockBytes_RemoteReadAt_Stub(
9481 IRpcStubBuffer* This,
9482 IRpcChannelBuffer* pRpcChannelBuffer,
9483 PRPC_MESSAGE pRpcMessage,
9484 DWORD* pdwStubPhase);
9485HRESULT STDMETHODCALLTYPE ILockBytes_RemoteWriteAt_Proxy(
9486 ILockBytes* This,
9487 ULARGE_INTEGER ulOffset,
9488 const byte *pv,
9489 ULONG cb,
9490 ULONG *pcbWritten);
9491void __RPC_STUB ILockBytes_RemoteWriteAt_Stub(
9492 IRpcStubBuffer* This,
9493 IRpcChannelBuffer* pRpcChannelBuffer,
9494 PRPC_MESSAGE pRpcMessage,
9495 DWORD* pdwStubPhase);
9496HRESULT CALLBACK ILockBytes_ReadAt_Proxy(
9497 ILockBytes* This,
9498 ULARGE_INTEGER ulOffset,
9499 void *pv,
9500 ULONG cb,
9501 ULONG *pcbRead);
9502HRESULT __RPC_STUB ILockBytes_ReadAt_Stub(
9503 ILockBytes* This,
9504 ULARGE_INTEGER ulOffset,
9505 byte *pv,
9506 ULONG cb,
9507 ULONG *pcbRead);
9508HRESULT CALLBACK ILockBytes_WriteAt_Proxy(
9509 ILockBytes* This,
9510 ULARGE_INTEGER ulOffset,
9511 const void *pv,
9512 ULONG cb,
9513 ULONG *pcbWritten);
9514HRESULT __RPC_STUB ILockBytes_WriteAt_Stub(
9515 ILockBytes* This,
9516 ULARGE_INTEGER ulOffset,
9517 const byte *pv,
9518 ULONG cb,
9519 ULONG *pcbWritten);
9520
9521#endif /* __ILockBytes_INTERFACE_DEFINED__ */
9522
9523/*****************************************************************************
9524 * IEnumFORMATETC interface
9525 */
9526#ifndef __IEnumFORMATETC_INTERFACE_DEFINED__
9527#define __IEnumFORMATETC_INTERFACE_DEFINED__
9528
9529typedef IEnumFORMATETC *LPENUMFORMATETC;
9530typedef struct tagDVTARGETDEVICE {
9531 DWORD tdSize;
9532 WORD tdDriverNameOffset;
9533 WORD tdDeviceNameOffset;
9534 WORD tdPortNameOffset;
9535 WORD tdExtDevmodeOffset;
9536 BYTE tdData[1];
9537} DVTARGETDEVICE;
9538typedef CLIPFORMAT *LPCLIPFORMAT;
9539typedef struct tagFORMATETC {
9540 CLIPFORMAT cfFormat;
9541 DVTARGETDEVICE *ptd;
9542 DWORD dwAspect;
9543 LONG lindex;
9544 DWORD tymed;
9545} FORMATETC;
9546typedef struct tagFORMATETC *LPFORMATETC;
9547DEFINE_GUID(IID_IEnumFORMATETC, 0x00000103, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
9548#if defined(__cplusplus) && !defined(CINTERFACE)
9549MIDL_INTERFACE("00000103-0000-0000-c000-000000000046")
9550IEnumFORMATETC : public IUnknown
9551{
9552 virtual HRESULT STDMETHODCALLTYPE Next(
9553 ULONG celt,
9554 FORMATETC *rgelt,
9555 ULONG *pceltFetched) = 0;
9556
9557 virtual HRESULT STDMETHODCALLTYPE Skip(
9558 ULONG celt) = 0;
9559
9560 virtual HRESULT STDMETHODCALLTYPE Reset(
9561 ) = 0;
9562
9563 virtual HRESULT STDMETHODCALLTYPE Clone(
9564 IEnumFORMATETC **ppenum) = 0;
9565
9566};
9567#ifdef __CRT_UUID_DECL
9568__CRT_UUID_DECL(IEnumFORMATETC, 0x00000103, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
9569#endif
9570#else
9571typedef struct IEnumFORMATETCVtbl {
9572 BEGIN_INTERFACE
9573
9574 /*** IUnknown methods ***/
9575 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
9576 IEnumFORMATETC *This,
9577 REFIID riid,
9578 void **ppvObject);
9579
9580 ULONG (STDMETHODCALLTYPE *AddRef)(
9581 IEnumFORMATETC *This);
9582
9583 ULONG (STDMETHODCALLTYPE *Release)(
9584 IEnumFORMATETC *This);
9585
9586 /*** IEnumFORMATETC methods ***/
9587 HRESULT (STDMETHODCALLTYPE *Next)(
9588 IEnumFORMATETC *This,
9589 ULONG celt,
9590 FORMATETC *rgelt,
9591 ULONG *pceltFetched);
9592
9593 HRESULT (STDMETHODCALLTYPE *Skip)(
9594 IEnumFORMATETC *This,
9595 ULONG celt);
9596
9597 HRESULT (STDMETHODCALLTYPE *Reset)(
9598 IEnumFORMATETC *This);
9599
9600 HRESULT (STDMETHODCALLTYPE *Clone)(
9601 IEnumFORMATETC *This,
9602 IEnumFORMATETC **ppenum);
9603
9604 END_INTERFACE
9605} IEnumFORMATETCVtbl;
9606
9607interface IEnumFORMATETC {
9608 CONST_VTBL IEnumFORMATETCVtbl* lpVtbl;
9609};
9610
9611#ifdef COBJMACROS
9612#ifndef WIDL_C_INLINE_WRAPPERS
9613/*** IUnknown methods ***/
9614#define IEnumFORMATETC_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
9615#define IEnumFORMATETC_AddRef(This) (This)->lpVtbl->AddRef(This)
9616#define IEnumFORMATETC_Release(This) (This)->lpVtbl->Release(This)
9617/*** IEnumFORMATETC methods ***/
9618#define IEnumFORMATETC_Next(This,celt,rgelt,pceltFetched) (This)->lpVtbl->Next(This,celt,rgelt,pceltFetched)
9619#define IEnumFORMATETC_Skip(This,celt) (This)->lpVtbl->Skip(This,celt)
9620#define IEnumFORMATETC_Reset(This) (This)->lpVtbl->Reset(This)
9621#define IEnumFORMATETC_Clone(This,ppenum) (This)->lpVtbl->Clone(This,ppenum)
9622#else
9623/*** IUnknown methods ***/
9624static inline HRESULT IEnumFORMATETC_QueryInterface(IEnumFORMATETC* This,REFIID riid,void **ppvObject) {
9625 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
9626}
9627static inline ULONG IEnumFORMATETC_AddRef(IEnumFORMATETC* This) {
9628 return This->lpVtbl->AddRef(This);
9629}
9630static inline ULONG IEnumFORMATETC_Release(IEnumFORMATETC* This) {
9631 return This->lpVtbl->Release(This);
9632}
9633/*** IEnumFORMATETC methods ***/
9634static inline HRESULT IEnumFORMATETC_Next(IEnumFORMATETC* This,ULONG celt,FORMATETC *rgelt,ULONG *pceltFetched) {
9635 return This->lpVtbl->Next(This,celt,rgelt,pceltFetched);
9636}
9637static inline HRESULT IEnumFORMATETC_Skip(IEnumFORMATETC* This,ULONG celt) {
9638 return This->lpVtbl->Skip(This,celt);
9639}
9640static inline HRESULT IEnumFORMATETC_Reset(IEnumFORMATETC* This) {
9641 return This->lpVtbl->Reset(This);
9642}
9643static inline HRESULT IEnumFORMATETC_Clone(IEnumFORMATETC* This,IEnumFORMATETC **ppenum) {
9644 return This->lpVtbl->Clone(This,ppenum);
9645}
9646#endif
9647#endif
9648
9649#endif
9650
9651HRESULT STDMETHODCALLTYPE IEnumFORMATETC_RemoteNext_Proxy(
9652 IEnumFORMATETC* This,
9653 ULONG celt,
9654 FORMATETC *rgelt,
9655 ULONG *pceltFetched);
9656void __RPC_STUB IEnumFORMATETC_RemoteNext_Stub(
9657 IRpcStubBuffer* This,
9658 IRpcChannelBuffer* pRpcChannelBuffer,
9659 PRPC_MESSAGE pRpcMessage,
9660 DWORD* pdwStubPhase);
9661HRESULT CALLBACK IEnumFORMATETC_Next_Proxy(
9662 IEnumFORMATETC* This,
9663 ULONG celt,
9664 FORMATETC *rgelt,
9665 ULONG *pceltFetched);
9666HRESULT __RPC_STUB IEnumFORMATETC_Next_Stub(
9667 IEnumFORMATETC* This,
9668 ULONG celt,
9669 FORMATETC *rgelt,
9670 ULONG *pceltFetched);
9671
9672#endif /* __IEnumFORMATETC_INTERFACE_DEFINED__ */
9673
9674/*****************************************************************************
9675 * IEnumSTATDATA interface
9676 */
9677#ifndef __IEnumSTATDATA_INTERFACE_DEFINED__
9678#define __IEnumSTATDATA_INTERFACE_DEFINED__
9679
9680typedef IEnumSTATDATA *LPENUMSTATDATA;
9681typedef enum tagADVF {
9682 ADVF_NODATA = 1,
9683 ADVF_PRIMEFIRST = 2,
9684 ADVF_ONLYONCE = 4,
9685 ADVF_DATAONSTOP = 64,
9686 ADVFCACHE_NOHANDLER = 8,
9687 ADVFCACHE_FORCEBUILTIN = 16,
9688 ADVFCACHE_ONSAVE = 32
9689} ADVF;
9690typedef struct tagSTATDATA {
9691 FORMATETC formatetc;
9692 DWORD advf;
9693 IAdviseSink *pAdvSink;
9694 DWORD dwConnection;
9695} STATDATA;
9696typedef STATDATA *LPSTATDATA;
9697DEFINE_GUID(IID_IEnumSTATDATA, 0x00000105, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
9698#if defined(__cplusplus) && !defined(CINTERFACE)
9699MIDL_INTERFACE("00000105-0000-0000-c000-000000000046")
9700IEnumSTATDATA : public IUnknown
9701{
9702 virtual HRESULT STDMETHODCALLTYPE Next(
9703 ULONG celt,
9704 STATDATA *rgelt,
9705 ULONG *pceltFetched) = 0;
9706
9707 virtual HRESULT STDMETHODCALLTYPE Skip(
9708 ULONG celt) = 0;
9709
9710 virtual HRESULT STDMETHODCALLTYPE Reset(
9711 ) = 0;
9712
9713 virtual HRESULT STDMETHODCALLTYPE Clone(
9714 IEnumSTATDATA **ppenum) = 0;
9715
9716};
9717#ifdef __CRT_UUID_DECL
9718__CRT_UUID_DECL(IEnumSTATDATA, 0x00000105, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
9719#endif
9720#else
9721typedef struct IEnumSTATDATAVtbl {
9722 BEGIN_INTERFACE
9723
9724 /*** IUnknown methods ***/
9725 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
9726 IEnumSTATDATA *This,
9727 REFIID riid,
9728 void **ppvObject);
9729
9730 ULONG (STDMETHODCALLTYPE *AddRef)(
9731 IEnumSTATDATA *This);
9732
9733 ULONG (STDMETHODCALLTYPE *Release)(
9734 IEnumSTATDATA *This);
9735
9736 /*** IEnumSTATDATA methods ***/
9737 HRESULT (STDMETHODCALLTYPE *Next)(
9738 IEnumSTATDATA *This,
9739 ULONG celt,
9740 STATDATA *rgelt,
9741 ULONG *pceltFetched);
9742
9743 HRESULT (STDMETHODCALLTYPE *Skip)(
9744 IEnumSTATDATA *This,
9745 ULONG celt);
9746
9747 HRESULT (STDMETHODCALLTYPE *Reset)(
9748 IEnumSTATDATA *This);
9749
9750 HRESULT (STDMETHODCALLTYPE *Clone)(
9751 IEnumSTATDATA *This,
9752 IEnumSTATDATA **ppenum);
9753
9754 END_INTERFACE
9755} IEnumSTATDATAVtbl;
9756
9757interface IEnumSTATDATA {
9758 CONST_VTBL IEnumSTATDATAVtbl* lpVtbl;
9759};
9760
9761#ifdef COBJMACROS
9762#ifndef WIDL_C_INLINE_WRAPPERS
9763/*** IUnknown methods ***/
9764#define IEnumSTATDATA_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
9765#define IEnumSTATDATA_AddRef(This) (This)->lpVtbl->AddRef(This)
9766#define IEnumSTATDATA_Release(This) (This)->lpVtbl->Release(This)
9767/*** IEnumSTATDATA methods ***/
9768#define IEnumSTATDATA_Next(This,celt,rgelt,pceltFetched) (This)->lpVtbl->Next(This,celt,rgelt,pceltFetched)
9769#define IEnumSTATDATA_Skip(This,celt) (This)->lpVtbl->Skip(This,celt)
9770#define IEnumSTATDATA_Reset(This) (This)->lpVtbl->Reset(This)
9771#define IEnumSTATDATA_Clone(This,ppenum) (This)->lpVtbl->Clone(This,ppenum)
9772#else
9773/*** IUnknown methods ***/
9774static inline HRESULT IEnumSTATDATA_QueryInterface(IEnumSTATDATA* This,REFIID riid,void **ppvObject) {
9775 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
9776}
9777static inline ULONG IEnumSTATDATA_AddRef(IEnumSTATDATA* This) {
9778 return This->lpVtbl->AddRef(This);
9779}
9780static inline ULONG IEnumSTATDATA_Release(IEnumSTATDATA* This) {
9781 return This->lpVtbl->Release(This);
9782}
9783/*** IEnumSTATDATA methods ***/
9784static inline HRESULT IEnumSTATDATA_Next(IEnumSTATDATA* This,ULONG celt,STATDATA *rgelt,ULONG *pceltFetched) {
9785 return This->lpVtbl->Next(This,celt,rgelt,pceltFetched);
9786}
9787static inline HRESULT IEnumSTATDATA_Skip(IEnumSTATDATA* This,ULONG celt) {
9788 return This->lpVtbl->Skip(This,celt);
9789}
9790static inline HRESULT IEnumSTATDATA_Reset(IEnumSTATDATA* This) {
9791 return This->lpVtbl->Reset(This);
9792}
9793static inline HRESULT IEnumSTATDATA_Clone(IEnumSTATDATA* This,IEnumSTATDATA **ppenum) {
9794 return This->lpVtbl->Clone(This,ppenum);
9795}
9796#endif
9797#endif
9798
9799#endif
9800
9801HRESULT STDMETHODCALLTYPE IEnumSTATDATA_RemoteNext_Proxy(
9802 IEnumSTATDATA* This,
9803 ULONG celt,
9804 STATDATA *rgelt,
9805 ULONG *pceltFetched);
9806void __RPC_STUB IEnumSTATDATA_RemoteNext_Stub(
9807 IRpcStubBuffer* This,
9808 IRpcChannelBuffer* pRpcChannelBuffer,
9809 PRPC_MESSAGE pRpcMessage,
9810 DWORD* pdwStubPhase);
9811HRESULT CALLBACK IEnumSTATDATA_Next_Proxy(
9812 IEnumSTATDATA* This,
9813 ULONG celt,
9814 STATDATA *rgelt,
9815 ULONG *pceltFetched);
9816HRESULT __RPC_STUB IEnumSTATDATA_Next_Stub(
9817 IEnumSTATDATA* This,
9818 ULONG celt,
9819 STATDATA *rgelt,
9820 ULONG *pceltFetched);
9821
9822#endif /* __IEnumSTATDATA_INTERFACE_DEFINED__ */
9823
9824/*****************************************************************************
9825 * IRootStorage interface
9826 */
9827#ifndef __IRootStorage_INTERFACE_DEFINED__
9828#define __IRootStorage_INTERFACE_DEFINED__
9829
9830typedef IRootStorage *LPROOTSTORAGE;
9831DEFINE_GUID(IID_IRootStorage, 0x00000012, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
9832#if defined(__cplusplus) && !defined(CINTERFACE)
9833MIDL_INTERFACE("00000012-0000-0000-c000-000000000046")
9834IRootStorage : public IUnknown
9835{
9836 virtual HRESULT STDMETHODCALLTYPE SwitchToFile(
9837 LPOLESTR pszFile) = 0;
9838
9839};
9840#ifdef __CRT_UUID_DECL
9841__CRT_UUID_DECL(IRootStorage, 0x00000012, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
9842#endif
9843#else
9844typedef struct IRootStorageVtbl {
9845 BEGIN_INTERFACE
9846
9847 /*** IUnknown methods ***/
9848 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
9849 IRootStorage *This,
9850 REFIID riid,
9851 void **ppvObject);
9852
9853 ULONG (STDMETHODCALLTYPE *AddRef)(
9854 IRootStorage *This);
9855
9856 ULONG (STDMETHODCALLTYPE *Release)(
9857 IRootStorage *This);
9858
9859 /*** IRootStorage methods ***/
9860 HRESULT (STDMETHODCALLTYPE *SwitchToFile)(
9861 IRootStorage *This,
9862 LPOLESTR pszFile);
9863
9864 END_INTERFACE
9865} IRootStorageVtbl;
9866
9867interface IRootStorage {
9868 CONST_VTBL IRootStorageVtbl* lpVtbl;
9869};
9870
9871#ifdef COBJMACROS
9872#ifndef WIDL_C_INLINE_WRAPPERS
9873/*** IUnknown methods ***/
9874#define IRootStorage_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
9875#define IRootStorage_AddRef(This) (This)->lpVtbl->AddRef(This)
9876#define IRootStorage_Release(This) (This)->lpVtbl->Release(This)
9877/*** IRootStorage methods ***/
9878#define IRootStorage_SwitchToFile(This,pszFile) (This)->lpVtbl->SwitchToFile(This,pszFile)
9879#else
9880/*** IUnknown methods ***/
9881static inline HRESULT IRootStorage_QueryInterface(IRootStorage* This,REFIID riid,void **ppvObject) {
9882 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
9883}
9884static inline ULONG IRootStorage_AddRef(IRootStorage* This) {
9885 return This->lpVtbl->AddRef(This);
9886}
9887static inline ULONG IRootStorage_Release(IRootStorage* This) {
9888 return This->lpVtbl->Release(This);
9889}
9890/*** IRootStorage methods ***/
9891static inline HRESULT IRootStorage_SwitchToFile(IRootStorage* This,LPOLESTR pszFile) {
9892 return This->lpVtbl->SwitchToFile(This,pszFile);
9893}
9894#endif
9895#endif
9896
9897#endif
9898
9899
9900#endif /* __IRootStorage_INTERFACE_DEFINED__ */
9901
9902/*****************************************************************************
9903 * IAdviseSink interface
9904 */
9905#ifndef __IAdviseSink_INTERFACE_DEFINED__
9906#define __IAdviseSink_INTERFACE_DEFINED__
9907
9908typedef IAdviseSink *LPADVISESINK;
9909typedef enum tagTYMED {
9910 TYMED_HGLOBAL = 1,
9911 TYMED_FILE = 2,
9912 TYMED_ISTREAM = 4,
9913 TYMED_ISTORAGE = 8,
9914 TYMED_GDI = 16,
9915 TYMED_MFPICT = 32,
9916 TYMED_ENHMF = 64,
9917 TYMED_NULL = 0
9918} TYMED;
9919typedef struct tagRemSTGMEDIUM {
9920 DWORD tymed;
9921 DWORD dwHandleType;
9922 ULONG pData;
9923 ULONG pUnkForRelease;
9924 ULONG cbData;
9925 byte data[1];
9926} RemSTGMEDIUM;
9927#ifdef NONAMELESSUNION
9928typedef struct tagSTGMEDIUM {
9929DWORD tymed;
9930union {
9931HBITMAP hBitmap;
9932HMETAFILEPICT hMetaFilePict;
9933HENHMETAFILE hEnhMetaFile;
9934HGLOBAL hGlobal;
9935LPOLESTR lpszFileName;
9936IStream *pstm;
9937IStorage *pstg;
9938} u;
9939IUnknown *pUnkForRelease;
9940}uSTGMEDIUM;
9941#else
9942typedef struct tagSTGMEDIUM {
9943 DWORD tymed;
9944 union {
9945 HBITMAP hBitmap;
9946 HMETAFILEPICT hMetaFilePict;
9947 HENHMETAFILE hEnhMetaFile;
9948 HGLOBAL hGlobal;
9949 LPOLESTR lpszFileName;
9950 IStream *pstm;
9951 IStorage *pstg;
9952 } DUMMYUNIONNAME;
9953 IUnknown *pUnkForRelease;
9954} uSTGMEDIUM;
9955#endif
9956typedef struct _GDI_OBJECT {
9957 DWORD ObjectType;
9958 union __WIDL_objidl_generated_name_0000000C {
9959 wireHBITMAP hBitmap;
9960 wireHPALETTE hPalette;
9961 wireHGLOBAL hGeneric;
9962 } u;
9963} GDI_OBJECT;
9964typedef struct _userSTGMEDIUM {
9965 struct _STGMEDIUM_UNION {
9966 DWORD tymed;
9967 union __WIDL_objidl_generated_name_0000000D {
9968 wireHMETAFILEPICT hMetaFilePict;
9969 wireHENHMETAFILE hHEnhMetaFile;
9970 GDI_OBJECT *hGdiHandle;
9971 wireHGLOBAL hGlobal;
9972 LPOLESTR lpszFileName;
9973 BYTE_BLOB *pstm;
9974 BYTE_BLOB *pstg;
9975 } u;
9976 } DUMMYUNIONNAME;
9977 IUnknown *pUnkForRelease;
9978} userSTGMEDIUM;
9979typedef userSTGMEDIUM *wireSTGMEDIUM;
9980typedef uSTGMEDIUM STGMEDIUM;
9981typedef userSTGMEDIUM *wireASYNC_STGMEDIUM;
9982typedef STGMEDIUM ASYNC_STGMEDIUM;
9983typedef STGMEDIUM *LPSTGMEDIUM;
9984typedef struct _userFLAG_STGMEDIUM {
9985 LONG ContextFlags;
9986 LONG fPassOwnership;
9987 userSTGMEDIUM Stgmed;
9988} userFLAG_STGMEDIUM;
9989typedef userFLAG_STGMEDIUM *wireFLAG_STGMEDIUM;
9990typedef struct _FLAG_STGMEDIUM {
9991 LONG ContextFlags;
9992 LONG fPassOwnership;
9993 STGMEDIUM Stgmed;
9994} FLAG_STGMEDIUM;
9995DEFINE_GUID(IID_IAdviseSink, 0x0000010f, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
9996#if defined(__cplusplus) && !defined(CINTERFACE)
9997MIDL_INTERFACE("0000010f-0000-0000-c000-000000000046")
9998IAdviseSink : public IUnknown
9999{
10000 virtual void STDMETHODCALLTYPE OnDataChange(
10001 FORMATETC *pFormatetc,
10002 STGMEDIUM *pStgmed) = 0;
10003
10004 virtual void STDMETHODCALLTYPE OnViewChange(
10005 DWORD dwAspect,
10006 LONG lindex) = 0;
10007
10008 virtual void STDMETHODCALLTYPE OnRename(
10009 IMoniker *pmk) = 0;
10010
10011 virtual void STDMETHODCALLTYPE OnSave(
10012 ) = 0;
10013
10014 virtual void STDMETHODCALLTYPE OnClose(
10015 ) = 0;
10016
10017};
10018#ifdef __CRT_UUID_DECL
10019__CRT_UUID_DECL(IAdviseSink, 0x0000010f, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
10020#endif
10021#else
10022typedef struct IAdviseSinkVtbl {
10023 BEGIN_INTERFACE
10024
10025 /*** IUnknown methods ***/
10026 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
10027 IAdviseSink *This,
10028 REFIID riid,
10029 void **ppvObject);
10030
10031 ULONG (STDMETHODCALLTYPE *AddRef)(
10032 IAdviseSink *This);
10033
10034 ULONG (STDMETHODCALLTYPE *Release)(
10035 IAdviseSink *This);
10036
10037 /*** IAdviseSink methods ***/
10038 void (STDMETHODCALLTYPE *OnDataChange)(
10039 IAdviseSink *This,
10040 FORMATETC *pFormatetc,
10041 STGMEDIUM *pStgmed);
10042
10043 void (STDMETHODCALLTYPE *OnViewChange)(
10044 IAdviseSink *This,
10045 DWORD dwAspect,
10046 LONG lindex);
10047
10048 void (STDMETHODCALLTYPE *OnRename)(
10049 IAdviseSink *This,
10050 IMoniker *pmk);
10051
10052 void (STDMETHODCALLTYPE *OnSave)(
10053 IAdviseSink *This);
10054
10055 void (STDMETHODCALLTYPE *OnClose)(
10056 IAdviseSink *This);
10057
10058 END_INTERFACE
10059} IAdviseSinkVtbl;
10060
10061interface IAdviseSink {
10062 CONST_VTBL IAdviseSinkVtbl* lpVtbl;
10063};
10064
10065#ifdef COBJMACROS
10066#ifndef WIDL_C_INLINE_WRAPPERS
10067/*** IUnknown methods ***/
10068#define IAdviseSink_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
10069#define IAdviseSink_AddRef(This) (This)->lpVtbl->AddRef(This)
10070#define IAdviseSink_Release(This) (This)->lpVtbl->Release(This)
10071/*** IAdviseSink methods ***/
10072#define IAdviseSink_OnDataChange(This,pFormatetc,pStgmed) (This)->lpVtbl->OnDataChange(This,pFormatetc,pStgmed)
10073#define IAdviseSink_OnViewChange(This,dwAspect,lindex) (This)->lpVtbl->OnViewChange(This,dwAspect,lindex)
10074#define IAdviseSink_OnRename(This,pmk) (This)->lpVtbl->OnRename(This,pmk)
10075#define IAdviseSink_OnSave(This) (This)->lpVtbl->OnSave(This)
10076#define IAdviseSink_OnClose(This) (This)->lpVtbl->OnClose(This)
10077#else
10078/*** IUnknown methods ***/
10079static inline HRESULT IAdviseSink_QueryInterface(IAdviseSink* This,REFIID riid,void **ppvObject) {
10080 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
10081}
10082static inline ULONG IAdviseSink_AddRef(IAdviseSink* This) {
10083 return This->lpVtbl->AddRef(This);
10084}
10085static inline ULONG IAdviseSink_Release(IAdviseSink* This) {
10086 return This->lpVtbl->Release(This);
10087}
10088/*** IAdviseSink methods ***/
10089static inline void IAdviseSink_OnDataChange(IAdviseSink* This,FORMATETC *pFormatetc,STGMEDIUM *pStgmed) {
10090 This->lpVtbl->OnDataChange(This,pFormatetc,pStgmed);
10091}
10092static inline void IAdviseSink_OnViewChange(IAdviseSink* This,DWORD dwAspect,LONG lindex) {
10093 This->lpVtbl->OnViewChange(This,dwAspect,lindex);
10094}
10095static inline void IAdviseSink_OnRename(IAdviseSink* This,IMoniker *pmk) {
10096 This->lpVtbl->OnRename(This,pmk);
10097}
10098static inline void IAdviseSink_OnSave(IAdviseSink* This) {
10099 This->lpVtbl->OnSave(This);
10100}
10101static inline void IAdviseSink_OnClose(IAdviseSink* This) {
10102 This->lpVtbl->OnClose(This);
10103}
10104#endif
10105#endif
10106
10107#endif
10108
10109HRESULT STDMETHODCALLTYPE IAdviseSink_RemoteOnDataChange_Proxy(
10110 IAdviseSink* This,
10111 FORMATETC *pFormatetc,
10112 ASYNC_STGMEDIUM *pStgmed);
10113void __RPC_STUB IAdviseSink_RemoteOnDataChange_Stub(
10114 IRpcStubBuffer* This,
10115 IRpcChannelBuffer* pRpcChannelBuffer,
10116 PRPC_MESSAGE pRpcMessage,
10117 DWORD* pdwStubPhase);
10118HRESULT STDMETHODCALLTYPE IAdviseSink_RemoteOnViewChange_Proxy(
10119 IAdviseSink* This,
10120 DWORD dwAspect,
10121 LONG lindex);
10122void __RPC_STUB IAdviseSink_RemoteOnViewChange_Stub(
10123 IRpcStubBuffer* This,
10124 IRpcChannelBuffer* pRpcChannelBuffer,
10125 PRPC_MESSAGE pRpcMessage,
10126 DWORD* pdwStubPhase);
10127HRESULT STDMETHODCALLTYPE IAdviseSink_RemoteOnRename_Proxy(
10128 IAdviseSink* This,
10129 IMoniker *pmk);
10130void __RPC_STUB IAdviseSink_RemoteOnRename_Stub(
10131 IRpcStubBuffer* This,
10132 IRpcChannelBuffer* pRpcChannelBuffer,
10133 PRPC_MESSAGE pRpcMessage,
10134 DWORD* pdwStubPhase);
10135HRESULT STDMETHODCALLTYPE IAdviseSink_RemoteOnSave_Proxy(
10136 IAdviseSink* This);
10137void __RPC_STUB IAdviseSink_RemoteOnSave_Stub(
10138 IRpcStubBuffer* This,
10139 IRpcChannelBuffer* pRpcChannelBuffer,
10140 PRPC_MESSAGE pRpcMessage,
10141 DWORD* pdwStubPhase);
10142HRESULT STDMETHODCALLTYPE IAdviseSink_RemoteOnClose_Proxy(
10143 IAdviseSink* This);
10144void __RPC_STUB IAdviseSink_RemoteOnClose_Stub(
10145 IRpcStubBuffer* This,
10146 IRpcChannelBuffer* pRpcChannelBuffer,
10147 PRPC_MESSAGE pRpcMessage,
10148 DWORD* pdwStubPhase);
10149void CALLBACK IAdviseSink_OnDataChange_Proxy(
10150 IAdviseSink* This,
10151 FORMATETC *pFormatetc,
10152 STGMEDIUM *pStgmed);
10153HRESULT __RPC_STUB IAdviseSink_OnDataChange_Stub(
10154 IAdviseSink* This,
10155 FORMATETC *pFormatetc,
10156 ASYNC_STGMEDIUM *pStgmed);
10157void CALLBACK IAdviseSink_OnViewChange_Proxy(
10158 IAdviseSink* This,
10159 DWORD dwAspect,
10160 LONG lindex);
10161HRESULT __RPC_STUB IAdviseSink_OnViewChange_Stub(
10162 IAdviseSink* This,
10163 DWORD dwAspect,
10164 LONG lindex);
10165void CALLBACK IAdviseSink_OnRename_Proxy(
10166 IAdviseSink* This,
10167 IMoniker *pmk);
10168HRESULT __RPC_STUB IAdviseSink_OnRename_Stub(
10169 IAdviseSink* This,
10170 IMoniker *pmk);
10171void CALLBACK IAdviseSink_OnSave_Proxy(
10172 IAdviseSink* This);
10173HRESULT __RPC_STUB IAdviseSink_OnSave_Stub(
10174 IAdviseSink* This);
10175void CALLBACK IAdviseSink_OnClose_Proxy(
10176 IAdviseSink* This);
10177HRESULT __RPC_STUB IAdviseSink_OnClose_Stub(
10178 IAdviseSink* This);
10179
10180#endif /* __IAdviseSink_INTERFACE_DEFINED__ */
10181
10182/*****************************************************************************
10183 * AsyncIAdviseSink interface
10184 */
10185#ifndef __AsyncIAdviseSink_INTERFACE_DEFINED__
10186#define __AsyncIAdviseSink_INTERFACE_DEFINED__
10187
10188DEFINE_GUID(IID_AsyncIAdviseSink, 0x00000150, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
10189#if defined(__cplusplus) && !defined(CINTERFACE)
10190MIDL_INTERFACE("00000150-0000-0000-c000-000000000046")
10191AsyncIAdviseSink : public IUnknown
10192{
10193 virtual void STDMETHODCALLTYPE Begin_OnDataChange(
10194 FORMATETC *pFormatetc,
10195 STGMEDIUM *pStgmed) = 0;
10196
10197 virtual void STDMETHODCALLTYPE Finish_OnDataChange(
10198 ) = 0;
10199
10200 virtual void STDMETHODCALLTYPE Begin_OnViewChange(
10201 DWORD dwAspect,
10202 LONG lindex) = 0;
10203
10204 virtual void STDMETHODCALLTYPE Finish_OnViewChange(
10205 ) = 0;
10206
10207 virtual void STDMETHODCALLTYPE Begin_OnRename(
10208 IMoniker *pmk) = 0;
10209
10210 virtual void STDMETHODCALLTYPE Finish_OnRename(
10211 ) = 0;
10212
10213 virtual void STDMETHODCALLTYPE Begin_OnSave(
10214 ) = 0;
10215
10216 virtual void STDMETHODCALLTYPE Finish_OnSave(
10217 ) = 0;
10218
10219 virtual void STDMETHODCALLTYPE Begin_OnClose(
10220 ) = 0;
10221
10222 virtual void STDMETHODCALLTYPE Finish_OnClose(
10223 ) = 0;
10224
10225};
10226#ifdef __CRT_UUID_DECL
10227__CRT_UUID_DECL(AsyncIAdviseSink, 0x00000150, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
10228#endif
10229#else
10230typedef struct AsyncIAdviseSinkVtbl {
10231 BEGIN_INTERFACE
10232
10233 /*** IUnknown methods ***/
10234 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
10235 AsyncIAdviseSink *This,
10236 REFIID riid,
10237 void **ppvObject);
10238
10239 ULONG (STDMETHODCALLTYPE *AddRef)(
10240 AsyncIAdviseSink *This);
10241
10242 ULONG (STDMETHODCALLTYPE *Release)(
10243 AsyncIAdviseSink *This);
10244
10245 /*** AsyncIAdviseSink methods ***/
10246 void (STDMETHODCALLTYPE *Begin_OnDataChange)(
10247 AsyncIAdviseSink *This,
10248 FORMATETC *pFormatetc,
10249 STGMEDIUM *pStgmed);
10250
10251 void (STDMETHODCALLTYPE *Finish_OnDataChange)(
10252 AsyncIAdviseSink *This);
10253
10254 void (STDMETHODCALLTYPE *Begin_OnViewChange)(
10255 AsyncIAdviseSink *This,
10256 DWORD dwAspect,
10257 LONG lindex);
10258
10259 void (STDMETHODCALLTYPE *Finish_OnViewChange)(
10260 AsyncIAdviseSink *This);
10261
10262 void (STDMETHODCALLTYPE *Begin_OnRename)(
10263 AsyncIAdviseSink *This,
10264 IMoniker *pmk);
10265
10266 void (STDMETHODCALLTYPE *Finish_OnRename)(
10267 AsyncIAdviseSink *This);
10268
10269 void (STDMETHODCALLTYPE *Begin_OnSave)(
10270 AsyncIAdviseSink *This);
10271
10272 void (STDMETHODCALLTYPE *Finish_OnSave)(
10273 AsyncIAdviseSink *This);
10274
10275 void (STDMETHODCALLTYPE *Begin_OnClose)(
10276 AsyncIAdviseSink *This);
10277
10278 void (STDMETHODCALLTYPE *Finish_OnClose)(
10279 AsyncIAdviseSink *This);
10280
10281 END_INTERFACE
10282} AsyncIAdviseSinkVtbl;
10283
10284interface AsyncIAdviseSink {
10285 CONST_VTBL AsyncIAdviseSinkVtbl* lpVtbl;
10286};
10287
10288#ifdef COBJMACROS
10289#ifndef WIDL_C_INLINE_WRAPPERS
10290/*** IUnknown methods ***/
10291#define AsyncIAdviseSink_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
10292#define AsyncIAdviseSink_AddRef(This) (This)->lpVtbl->AddRef(This)
10293#define AsyncIAdviseSink_Release(This) (This)->lpVtbl->Release(This)
10294/*** AsyncIAdviseSink methods ***/
10295#define AsyncIAdviseSink_Begin_OnDataChange(This,pFormatetc,pStgmed) (This)->lpVtbl->Begin_OnDataChange(This,pFormatetc,pStgmed)
10296#define AsyncIAdviseSink_Finish_OnDataChange(This) (This)->lpVtbl->Finish_OnDataChange(This)
10297#define AsyncIAdviseSink_Begin_OnViewChange(This,dwAspect,lindex) (This)->lpVtbl->Begin_OnViewChange(This,dwAspect,lindex)
10298#define AsyncIAdviseSink_Finish_OnViewChange(This) (This)->lpVtbl->Finish_OnViewChange(This)
10299#define AsyncIAdviseSink_Begin_OnRename(This,pmk) (This)->lpVtbl->Begin_OnRename(This,pmk)
10300#define AsyncIAdviseSink_Finish_OnRename(This) (This)->lpVtbl->Finish_OnRename(This)
10301#define AsyncIAdviseSink_Begin_OnSave(This) (This)->lpVtbl->Begin_OnSave(This)
10302#define AsyncIAdviseSink_Finish_OnSave(This) (This)->lpVtbl->Finish_OnSave(This)
10303#define AsyncIAdviseSink_Begin_OnClose(This) (This)->lpVtbl->Begin_OnClose(This)
10304#define AsyncIAdviseSink_Finish_OnClose(This) (This)->lpVtbl->Finish_OnClose(This)
10305#else
10306/*** IUnknown methods ***/
10307static inline HRESULT AsyncIAdviseSink_QueryInterface(AsyncIAdviseSink* This,REFIID riid,void **ppvObject) {
10308 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
10309}
10310static inline ULONG AsyncIAdviseSink_AddRef(AsyncIAdviseSink* This) {
10311 return This->lpVtbl->AddRef(This);
10312}
10313static inline ULONG AsyncIAdviseSink_Release(AsyncIAdviseSink* This) {
10314 return This->lpVtbl->Release(This);
10315}
10316/*** AsyncIAdviseSink methods ***/
10317static inline void AsyncIAdviseSink_Begin_OnDataChange(AsyncIAdviseSink* This,FORMATETC *pFormatetc,STGMEDIUM *pStgmed) {
10318 This->lpVtbl->Begin_OnDataChange(This,pFormatetc,pStgmed);
10319}
10320static inline void AsyncIAdviseSink_Finish_OnDataChange(AsyncIAdviseSink* This) {
10321 This->lpVtbl->Finish_OnDataChange(This);
10322}
10323static inline void AsyncIAdviseSink_Begin_OnViewChange(AsyncIAdviseSink* This,DWORD dwAspect,LONG lindex) {
10324 This->lpVtbl->Begin_OnViewChange(This,dwAspect,lindex);
10325}
10326static inline void AsyncIAdviseSink_Finish_OnViewChange(AsyncIAdviseSink* This) {
10327 This->lpVtbl->Finish_OnViewChange(This);
10328}
10329static inline void AsyncIAdviseSink_Begin_OnRename(AsyncIAdviseSink* This,IMoniker *pmk) {
10330 This->lpVtbl->Begin_OnRename(This,pmk);
10331}
10332static inline void AsyncIAdviseSink_Finish_OnRename(AsyncIAdviseSink* This) {
10333 This->lpVtbl->Finish_OnRename(This);
10334}
10335static inline void AsyncIAdviseSink_Begin_OnSave(AsyncIAdviseSink* This) {
10336 This->lpVtbl->Begin_OnSave(This);
10337}
10338static inline void AsyncIAdviseSink_Finish_OnSave(AsyncIAdviseSink* This) {
10339 This->lpVtbl->Finish_OnSave(This);
10340}
10341static inline void AsyncIAdviseSink_Begin_OnClose(AsyncIAdviseSink* This) {
10342 This->lpVtbl->Begin_OnClose(This);
10343}
10344static inline void AsyncIAdviseSink_Finish_OnClose(AsyncIAdviseSink* This) {
10345 This->lpVtbl->Finish_OnClose(This);
10346}
10347#endif
10348#endif
10349
10350#endif
10351
10352
10353#endif /* __AsyncIAdviseSink_INTERFACE_DEFINED__ */
10354
10355#endif
10356#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
10357/*****************************************************************************
10358 * IAdviseSink2 interface
10359 */
10360#ifndef __IAdviseSink2_INTERFACE_DEFINED__
10361#define __IAdviseSink2_INTERFACE_DEFINED__
10362
10363typedef IAdviseSink2 *LPADVISESINK2;
10364DEFINE_GUID(IID_IAdviseSink2, 0x00000125, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
10365#if defined(__cplusplus) && !defined(CINTERFACE)
10366MIDL_INTERFACE("00000125-0000-0000-c000-000000000046")
10367IAdviseSink2 : public IAdviseSink
10368{
10369 virtual void STDMETHODCALLTYPE OnLinkSrcChange(
10370 IMoniker *pmk) = 0;
10371
10372};
10373#ifdef __CRT_UUID_DECL
10374__CRT_UUID_DECL(IAdviseSink2, 0x00000125, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
10375#endif
10376#else
10377typedef struct IAdviseSink2Vtbl {
10378 BEGIN_INTERFACE
10379
10380 /*** IUnknown methods ***/
10381 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
10382 IAdviseSink2 *This,
10383 REFIID riid,
10384 void **ppvObject);
10385
10386 ULONG (STDMETHODCALLTYPE *AddRef)(
10387 IAdviseSink2 *This);
10388
10389 ULONG (STDMETHODCALLTYPE *Release)(
10390 IAdviseSink2 *This);
10391
10392 /*** IAdviseSink methods ***/
10393 void (STDMETHODCALLTYPE *OnDataChange)(
10394 IAdviseSink2 *This,
10395 FORMATETC *pFormatetc,
10396 STGMEDIUM *pStgmed);
10397
10398 void (STDMETHODCALLTYPE *OnViewChange)(
10399 IAdviseSink2 *This,
10400 DWORD dwAspect,
10401 LONG lindex);
10402
10403 void (STDMETHODCALLTYPE *OnRename)(
10404 IAdviseSink2 *This,
10405 IMoniker *pmk);
10406
10407 void (STDMETHODCALLTYPE *OnSave)(
10408 IAdviseSink2 *This);
10409
10410 void (STDMETHODCALLTYPE *OnClose)(
10411 IAdviseSink2 *This);
10412
10413 /*** IAdviseSink2 methods ***/
10414 void (STDMETHODCALLTYPE *OnLinkSrcChange)(
10415 IAdviseSink2 *This,
10416 IMoniker *pmk);
10417
10418 END_INTERFACE
10419} IAdviseSink2Vtbl;
10420
10421interface IAdviseSink2 {
10422 CONST_VTBL IAdviseSink2Vtbl* lpVtbl;
10423};
10424
10425#ifdef COBJMACROS
10426#ifndef WIDL_C_INLINE_WRAPPERS
10427/*** IUnknown methods ***/
10428#define IAdviseSink2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
10429#define IAdviseSink2_AddRef(This) (This)->lpVtbl->AddRef(This)
10430#define IAdviseSink2_Release(This) (This)->lpVtbl->Release(This)
10431/*** IAdviseSink methods ***/
10432#define IAdviseSink2_OnDataChange(This,pFormatetc,pStgmed) (This)->lpVtbl->OnDataChange(This,pFormatetc,pStgmed)
10433#define IAdviseSink2_OnViewChange(This,dwAspect,lindex) (This)->lpVtbl->OnViewChange(This,dwAspect,lindex)
10434#define IAdviseSink2_OnRename(This,pmk) (This)->lpVtbl->OnRename(This,pmk)
10435#define IAdviseSink2_OnSave(This) (This)->lpVtbl->OnSave(This)
10436#define IAdviseSink2_OnClose(This) (This)->lpVtbl->OnClose(This)
10437/*** IAdviseSink2 methods ***/
10438#define IAdviseSink2_OnLinkSrcChange(This,pmk) (This)->lpVtbl->OnLinkSrcChange(This,pmk)
10439#else
10440/*** IUnknown methods ***/
10441static inline HRESULT IAdviseSink2_QueryInterface(IAdviseSink2* This,REFIID riid,void **ppvObject) {
10442 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
10443}
10444static inline ULONG IAdviseSink2_AddRef(IAdviseSink2* This) {
10445 return This->lpVtbl->AddRef(This);
10446}
10447static inline ULONG IAdviseSink2_Release(IAdviseSink2* This) {
10448 return This->lpVtbl->Release(This);
10449}
10450/*** IAdviseSink methods ***/
10451static inline void IAdviseSink2_OnDataChange(IAdviseSink2* This,FORMATETC *pFormatetc,STGMEDIUM *pStgmed) {
10452 This->lpVtbl->OnDataChange(This,pFormatetc,pStgmed);
10453}
10454static inline void IAdviseSink2_OnViewChange(IAdviseSink2* This,DWORD dwAspect,LONG lindex) {
10455 This->lpVtbl->OnViewChange(This,dwAspect,lindex);
10456}
10457static inline void IAdviseSink2_OnRename(IAdviseSink2* This,IMoniker *pmk) {
10458 This->lpVtbl->OnRename(This,pmk);
10459}
10460static inline void IAdviseSink2_OnSave(IAdviseSink2* This) {
10461 This->lpVtbl->OnSave(This);
10462}
10463static inline void IAdviseSink2_OnClose(IAdviseSink2* This) {
10464 This->lpVtbl->OnClose(This);
10465}
10466/*** IAdviseSink2 methods ***/
10467static inline void IAdviseSink2_OnLinkSrcChange(IAdviseSink2* This,IMoniker *pmk) {
10468 This->lpVtbl->OnLinkSrcChange(This,pmk);
10469}
10470#endif
10471#endif
10472
10473#endif
10474
10475HRESULT STDMETHODCALLTYPE IAdviseSink2_RemoteOnLinkSrcChange_Proxy(
10476 IAdviseSink2* This,
10477 IMoniker *pmk);
10478void __RPC_STUB IAdviseSink2_RemoteOnLinkSrcChange_Stub(
10479 IRpcStubBuffer* This,
10480 IRpcChannelBuffer* pRpcChannelBuffer,
10481 PRPC_MESSAGE pRpcMessage,
10482 DWORD* pdwStubPhase);
10483void CALLBACK IAdviseSink2_OnLinkSrcChange_Proxy(
10484 IAdviseSink2* This,
10485 IMoniker *pmk);
10486HRESULT __RPC_STUB IAdviseSink2_OnLinkSrcChange_Stub(
10487 IAdviseSink2* This,
10488 IMoniker *pmk);
10489
10490#endif /* __IAdviseSink2_INTERFACE_DEFINED__ */
10491
10492/*****************************************************************************
10493 * AsyncIAdviseSink2 interface
10494 */
10495#ifndef __AsyncIAdviseSink2_INTERFACE_DEFINED__
10496#define __AsyncIAdviseSink2_INTERFACE_DEFINED__
10497
10498DEFINE_GUID(IID_AsyncIAdviseSink2, 0x00000151, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
10499#if defined(__cplusplus) && !defined(CINTERFACE)
10500MIDL_INTERFACE("00000151-0000-0000-c000-000000000046")
10501AsyncIAdviseSink2 : public AsyncIAdviseSink
10502{
10503 virtual void STDMETHODCALLTYPE Begin_OnLinkSrcChange(
10504 IMoniker *pmk) = 0;
10505
10506 virtual void STDMETHODCALLTYPE Finish_OnLinkSrcChange(
10507 ) = 0;
10508
10509};
10510#ifdef __CRT_UUID_DECL
10511__CRT_UUID_DECL(AsyncIAdviseSink2, 0x00000151, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
10512#endif
10513#else
10514typedef struct AsyncIAdviseSink2Vtbl {
10515 BEGIN_INTERFACE
10516
10517 /*** IUnknown methods ***/
10518 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
10519 AsyncIAdviseSink2 *This,
10520 REFIID riid,
10521 void **ppvObject);
10522
10523 ULONG (STDMETHODCALLTYPE *AddRef)(
10524 AsyncIAdviseSink2 *This);
10525
10526 ULONG (STDMETHODCALLTYPE *Release)(
10527 AsyncIAdviseSink2 *This);
10528
10529 /*** AsyncIAdviseSink methods ***/
10530 void (STDMETHODCALLTYPE *Begin_OnDataChange)(
10531 AsyncIAdviseSink2 *This,
10532 FORMATETC *pFormatetc,
10533 STGMEDIUM *pStgmed);
10534
10535 void (STDMETHODCALLTYPE *Finish_OnDataChange)(
10536 AsyncIAdviseSink2 *This);
10537
10538 void (STDMETHODCALLTYPE *Begin_OnViewChange)(
10539 AsyncIAdviseSink2 *This,
10540 DWORD dwAspect,
10541 LONG lindex);
10542
10543 void (STDMETHODCALLTYPE *Finish_OnViewChange)(
10544 AsyncIAdviseSink2 *This);
10545
10546 void (STDMETHODCALLTYPE *Begin_OnRename)(
10547 AsyncIAdviseSink2 *This,
10548 IMoniker *pmk);
10549
10550 void (STDMETHODCALLTYPE *Finish_OnRename)(
10551 AsyncIAdviseSink2 *This);
10552
10553 void (STDMETHODCALLTYPE *Begin_OnSave)(
10554 AsyncIAdviseSink2 *This);
10555
10556 void (STDMETHODCALLTYPE *Finish_OnSave)(
10557 AsyncIAdviseSink2 *This);
10558
10559 void (STDMETHODCALLTYPE *Begin_OnClose)(
10560 AsyncIAdviseSink2 *This);
10561
10562 void (STDMETHODCALLTYPE *Finish_OnClose)(
10563 AsyncIAdviseSink2 *This);
10564
10565 /*** AsyncIAdviseSink2 methods ***/
10566 void (STDMETHODCALLTYPE *Begin_OnLinkSrcChange)(
10567 AsyncIAdviseSink2 *This,
10568 IMoniker *pmk);
10569
10570 void (STDMETHODCALLTYPE *Finish_OnLinkSrcChange)(
10571 AsyncIAdviseSink2 *This);
10572
10573 END_INTERFACE
10574} AsyncIAdviseSink2Vtbl;
10575
10576interface AsyncIAdviseSink2 {
10577 CONST_VTBL AsyncIAdviseSink2Vtbl* lpVtbl;
10578};
10579
10580#ifdef COBJMACROS
10581#ifndef WIDL_C_INLINE_WRAPPERS
10582/*** IUnknown methods ***/
10583#define AsyncIAdviseSink2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
10584#define AsyncIAdviseSink2_AddRef(This) (This)->lpVtbl->AddRef(This)
10585#define AsyncIAdviseSink2_Release(This) (This)->lpVtbl->Release(This)
10586/*** AsyncIAdviseSink methods ***/
10587#define AsyncIAdviseSink2_Begin_OnDataChange(This,pFormatetc,pStgmed) (This)->lpVtbl->Begin_OnDataChange(This,pFormatetc,pStgmed)
10588#define AsyncIAdviseSink2_Finish_OnDataChange(This) (This)->lpVtbl->Finish_OnDataChange(This)
10589#define AsyncIAdviseSink2_Begin_OnViewChange(This,dwAspect,lindex) (This)->lpVtbl->Begin_OnViewChange(This,dwAspect,lindex)
10590#define AsyncIAdviseSink2_Finish_OnViewChange(This) (This)->lpVtbl->Finish_OnViewChange(This)
10591#define AsyncIAdviseSink2_Begin_OnRename(This,pmk) (This)->lpVtbl->Begin_OnRename(This,pmk)
10592#define AsyncIAdviseSink2_Finish_OnRename(This) (This)->lpVtbl->Finish_OnRename(This)
10593#define AsyncIAdviseSink2_Begin_OnSave(This) (This)->lpVtbl->Begin_OnSave(This)
10594#define AsyncIAdviseSink2_Finish_OnSave(This) (This)->lpVtbl->Finish_OnSave(This)
10595#define AsyncIAdviseSink2_Begin_OnClose(This) (This)->lpVtbl->Begin_OnClose(This)
10596#define AsyncIAdviseSink2_Finish_OnClose(This) (This)->lpVtbl->Finish_OnClose(This)
10597/*** AsyncIAdviseSink2 methods ***/
10598#define AsyncIAdviseSink2_Begin_OnLinkSrcChange(This,pmk) (This)->lpVtbl->Begin_OnLinkSrcChange(This,pmk)
10599#define AsyncIAdviseSink2_Finish_OnLinkSrcChange(This) (This)->lpVtbl->Finish_OnLinkSrcChange(This)
10600#else
10601/*** IUnknown methods ***/
10602static inline HRESULT AsyncIAdviseSink2_QueryInterface(AsyncIAdviseSink2* This,REFIID riid,void **ppvObject) {
10603 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
10604}
10605static inline ULONG AsyncIAdviseSink2_AddRef(AsyncIAdviseSink2* This) {
10606 return This->lpVtbl->AddRef(This);
10607}
10608static inline ULONG AsyncIAdviseSink2_Release(AsyncIAdviseSink2* This) {
10609 return This->lpVtbl->Release(This);
10610}
10611/*** AsyncIAdviseSink methods ***/
10612static inline void AsyncIAdviseSink2_Begin_OnDataChange(AsyncIAdviseSink2* This,FORMATETC *pFormatetc,STGMEDIUM *pStgmed) {
10613 This->lpVtbl->Begin_OnDataChange(This,pFormatetc,pStgmed);
10614}
10615static inline void AsyncIAdviseSink2_Finish_OnDataChange(AsyncIAdviseSink2* This) {
10616 This->lpVtbl->Finish_OnDataChange(This);
10617}
10618static inline void AsyncIAdviseSink2_Begin_OnViewChange(AsyncIAdviseSink2* This,DWORD dwAspect,LONG lindex) {
10619 This->lpVtbl->Begin_OnViewChange(This,dwAspect,lindex);
10620}
10621static inline void AsyncIAdviseSink2_Finish_OnViewChange(AsyncIAdviseSink2* This) {
10622 This->lpVtbl->Finish_OnViewChange(This);
10623}
10624static inline void AsyncIAdviseSink2_Begin_OnRename(AsyncIAdviseSink2* This,IMoniker *pmk) {
10625 This->lpVtbl->Begin_OnRename(This,pmk);
10626}
10627static inline void AsyncIAdviseSink2_Finish_OnRename(AsyncIAdviseSink2* This) {
10628 This->lpVtbl->Finish_OnRename(This);
10629}
10630static inline void AsyncIAdviseSink2_Begin_OnSave(AsyncIAdviseSink2* This) {
10631 This->lpVtbl->Begin_OnSave(This);
10632}
10633static inline void AsyncIAdviseSink2_Finish_OnSave(AsyncIAdviseSink2* This) {
10634 This->lpVtbl->Finish_OnSave(This);
10635}
10636static inline void AsyncIAdviseSink2_Begin_OnClose(AsyncIAdviseSink2* This) {
10637 This->lpVtbl->Begin_OnClose(This);
10638}
10639static inline void AsyncIAdviseSink2_Finish_OnClose(AsyncIAdviseSink2* This) {
10640 This->lpVtbl->Finish_OnClose(This);
10641}
10642/*** AsyncIAdviseSink2 methods ***/
10643static inline void AsyncIAdviseSink2_Begin_OnLinkSrcChange(AsyncIAdviseSink2* This,IMoniker *pmk) {
10644 This->lpVtbl->Begin_OnLinkSrcChange(This,pmk);
10645}
10646static inline void AsyncIAdviseSink2_Finish_OnLinkSrcChange(AsyncIAdviseSink2* This) {
10647 This->lpVtbl->Finish_OnLinkSrcChange(This);
10648}
10649#endif
10650#endif
10651
10652#endif
10653
10654
10655#endif /* __AsyncIAdviseSink2_INTERFACE_DEFINED__ */
10656
10657#endif
10658#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
10659/*****************************************************************************
10660 * IDataObject interface
10661 */
10662#ifndef __IDataObject_INTERFACE_DEFINED__
10663#define __IDataObject_INTERFACE_DEFINED__
10664
10665typedef IDataObject *LPDATAOBJECT;
10666typedef enum tagDATADIR {
10667 DATADIR_GET = 1,
10668 DATADIR_SET = 2
10669} DATADIR;
10670DEFINE_GUID(IID_IDataObject, 0x0000010e, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
10671#if defined(__cplusplus) && !defined(CINTERFACE)
10672MIDL_INTERFACE("0000010e-0000-0000-c000-000000000046")
10673IDataObject : public IUnknown
10674{
10675 virtual HRESULT STDMETHODCALLTYPE GetData(
10676 FORMATETC *pformatetcIn,
10677 STGMEDIUM *pmedium) = 0;
10678
10679 virtual HRESULT STDMETHODCALLTYPE GetDataHere(
10680 FORMATETC *pformatetc,
10681 STGMEDIUM *pmedium) = 0;
10682
10683 virtual HRESULT STDMETHODCALLTYPE QueryGetData(
10684 FORMATETC *pformatetc) = 0;
10685
10686 virtual HRESULT STDMETHODCALLTYPE GetCanonicalFormatEtc(
10687 FORMATETC *pformatectIn,
10688 FORMATETC *pformatetcOut) = 0;
10689
10690 virtual HRESULT STDMETHODCALLTYPE SetData(
10691 FORMATETC *pformatetc,
10692 STGMEDIUM *pmedium,
10693 WINBOOL fRelease) = 0;
10694
10695 virtual HRESULT STDMETHODCALLTYPE EnumFormatEtc(
10696 DWORD dwDirection,
10697 IEnumFORMATETC **ppenumFormatEtc) = 0;
10698
10699 virtual HRESULT STDMETHODCALLTYPE DAdvise(
10700 FORMATETC *pformatetc,
10701 DWORD advf,
10702 IAdviseSink *pAdvSink,
10703 DWORD *pdwConnection) = 0;
10704
10705 virtual HRESULT STDMETHODCALLTYPE DUnadvise(
10706 DWORD dwConnection) = 0;
10707
10708 virtual HRESULT STDMETHODCALLTYPE EnumDAdvise(
10709 IEnumSTATDATA **ppenumAdvise) = 0;
10710
10711};
10712#ifdef __CRT_UUID_DECL
10713__CRT_UUID_DECL(IDataObject, 0x0000010e, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
10714#endif
10715#else
10716typedef struct IDataObjectVtbl {
10717 BEGIN_INTERFACE
10718
10719 /*** IUnknown methods ***/
10720 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
10721 IDataObject *This,
10722 REFIID riid,
10723 void **ppvObject);
10724
10725 ULONG (STDMETHODCALLTYPE *AddRef)(
10726 IDataObject *This);
10727
10728 ULONG (STDMETHODCALLTYPE *Release)(
10729 IDataObject *This);
10730
10731 /*** IDataObject methods ***/
10732 HRESULT (STDMETHODCALLTYPE *GetData)(
10733 IDataObject *This,
10734 FORMATETC *pformatetcIn,
10735 STGMEDIUM *pmedium);
10736
10737 HRESULT (STDMETHODCALLTYPE *GetDataHere)(
10738 IDataObject *This,
10739 FORMATETC *pformatetc,
10740 STGMEDIUM *pmedium);
10741
10742 HRESULT (STDMETHODCALLTYPE *QueryGetData)(
10743 IDataObject *This,
10744 FORMATETC *pformatetc);
10745
10746 HRESULT (STDMETHODCALLTYPE *GetCanonicalFormatEtc)(
10747 IDataObject *This,
10748 FORMATETC *pformatectIn,
10749 FORMATETC *pformatetcOut);
10750
10751 HRESULT (STDMETHODCALLTYPE *SetData)(
10752 IDataObject *This,
10753 FORMATETC *pformatetc,
10754 STGMEDIUM *pmedium,
10755 WINBOOL fRelease);
10756
10757 HRESULT (STDMETHODCALLTYPE *EnumFormatEtc)(
10758 IDataObject *This,
10759 DWORD dwDirection,
10760 IEnumFORMATETC **ppenumFormatEtc);
10761
10762 HRESULT (STDMETHODCALLTYPE *DAdvise)(
10763 IDataObject *This,
10764 FORMATETC *pformatetc,
10765 DWORD advf,
10766 IAdviseSink *pAdvSink,
10767 DWORD *pdwConnection);
10768
10769 HRESULT (STDMETHODCALLTYPE *DUnadvise)(
10770 IDataObject *This,
10771 DWORD dwConnection);
10772
10773 HRESULT (STDMETHODCALLTYPE *EnumDAdvise)(
10774 IDataObject *This,
10775 IEnumSTATDATA **ppenumAdvise);
10776
10777 END_INTERFACE
10778} IDataObjectVtbl;
10779
10780interface IDataObject {
10781 CONST_VTBL IDataObjectVtbl* lpVtbl;
10782};
10783
10784#ifdef COBJMACROS
10785#ifndef WIDL_C_INLINE_WRAPPERS
10786/*** IUnknown methods ***/
10787#define IDataObject_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
10788#define IDataObject_AddRef(This) (This)->lpVtbl->AddRef(This)
10789#define IDataObject_Release(This) (This)->lpVtbl->Release(This)
10790/*** IDataObject methods ***/
10791#define IDataObject_GetData(This,pformatetcIn,pmedium) (This)->lpVtbl->GetData(This,pformatetcIn,pmedium)
10792#define IDataObject_GetDataHere(This,pformatetc,pmedium) (This)->lpVtbl->GetDataHere(This,pformatetc,pmedium)
10793#define IDataObject_QueryGetData(This,pformatetc) (This)->lpVtbl->QueryGetData(This,pformatetc)
10794#define IDataObject_GetCanonicalFormatEtc(This,pformatectIn,pformatetcOut) (This)->lpVtbl->GetCanonicalFormatEtc(This,pformatectIn,pformatetcOut)
10795#define IDataObject_SetData(This,pformatetc,pmedium,fRelease) (This)->lpVtbl->SetData(This,pformatetc,pmedium,fRelease)
10796#define IDataObject_EnumFormatEtc(This,dwDirection,ppenumFormatEtc) (This)->lpVtbl->EnumFormatEtc(This,dwDirection,ppenumFormatEtc)
10797#define IDataObject_DAdvise(This,pformatetc,advf,pAdvSink,pdwConnection) (This)->lpVtbl->DAdvise(This,pformatetc,advf,pAdvSink,pdwConnection)
10798#define IDataObject_DUnadvise(This,dwConnection) (This)->lpVtbl->DUnadvise(This,dwConnection)
10799#define IDataObject_EnumDAdvise(This,ppenumAdvise) (This)->lpVtbl->EnumDAdvise(This,ppenumAdvise)
10800#else
10801/*** IUnknown methods ***/
10802static inline HRESULT IDataObject_QueryInterface(IDataObject* This,REFIID riid,void **ppvObject) {
10803 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
10804}
10805static inline ULONG IDataObject_AddRef(IDataObject* This) {
10806 return This->lpVtbl->AddRef(This);
10807}
10808static inline ULONG IDataObject_Release(IDataObject* This) {
10809 return This->lpVtbl->Release(This);
10810}
10811/*** IDataObject methods ***/
10812static inline HRESULT IDataObject_GetData(IDataObject* This,FORMATETC *pformatetcIn,STGMEDIUM *pmedium) {
10813 return This->lpVtbl->GetData(This,pformatetcIn,pmedium);
10814}
10815static inline HRESULT IDataObject_GetDataHere(IDataObject* This,FORMATETC *pformatetc,STGMEDIUM *pmedium) {
10816 return This->lpVtbl->GetDataHere(This,pformatetc,pmedium);
10817}
10818static inline HRESULT IDataObject_QueryGetData(IDataObject* This,FORMATETC *pformatetc) {
10819 return This->lpVtbl->QueryGetData(This,pformatetc);
10820}
10821static inline HRESULT IDataObject_GetCanonicalFormatEtc(IDataObject* This,FORMATETC *pformatectIn,FORMATETC *pformatetcOut) {
10822 return This->lpVtbl->GetCanonicalFormatEtc(This,pformatectIn,pformatetcOut);
10823}
10824static inline HRESULT IDataObject_SetData(IDataObject* This,FORMATETC *pformatetc,STGMEDIUM *pmedium,WINBOOL fRelease) {
10825 return This->lpVtbl->SetData(This,pformatetc,pmedium,fRelease);
10826}
10827static inline HRESULT IDataObject_EnumFormatEtc(IDataObject* This,DWORD dwDirection,IEnumFORMATETC **ppenumFormatEtc) {
10828 return This->lpVtbl->EnumFormatEtc(This,dwDirection,ppenumFormatEtc);
10829}
10830static inline HRESULT IDataObject_DAdvise(IDataObject* This,FORMATETC *pformatetc,DWORD advf,IAdviseSink *pAdvSink,DWORD *pdwConnection) {
10831 return This->lpVtbl->DAdvise(This,pformatetc,advf,pAdvSink,pdwConnection);
10832}
10833static inline HRESULT IDataObject_DUnadvise(IDataObject* This,DWORD dwConnection) {
10834 return This->lpVtbl->DUnadvise(This,dwConnection);
10835}
10836static inline HRESULT IDataObject_EnumDAdvise(IDataObject* This,IEnumSTATDATA **ppenumAdvise) {
10837 return This->lpVtbl->EnumDAdvise(This,ppenumAdvise);
10838}
10839#endif
10840#endif
10841
10842#endif
10843
10844HRESULT STDMETHODCALLTYPE IDataObject_RemoteGetData_Proxy(
10845 IDataObject* This,
10846 FORMATETC *pformatetcIn,
10847 STGMEDIUM *pRemoteMedium);
10848void __RPC_STUB IDataObject_RemoteGetData_Stub(
10849 IRpcStubBuffer* This,
10850 IRpcChannelBuffer* pRpcChannelBuffer,
10851 PRPC_MESSAGE pRpcMessage,
10852 DWORD* pdwStubPhase);
10853HRESULT STDMETHODCALLTYPE IDataObject_RemoteGetDataHere_Proxy(
10854 IDataObject* This,
10855 FORMATETC *pformatetc,
10856 STGMEDIUM *pRemoteMedium);
10857void __RPC_STUB IDataObject_RemoteGetDataHere_Stub(
10858 IRpcStubBuffer* This,
10859 IRpcChannelBuffer* pRpcChannelBuffer,
10860 PRPC_MESSAGE pRpcMessage,
10861 DWORD* pdwStubPhase);
10862HRESULT STDMETHODCALLTYPE IDataObject_RemoteSetData_Proxy(
10863 IDataObject* This,
10864 FORMATETC *pformatetc,
10865 FLAG_STGMEDIUM *pmedium,
10866 WINBOOL fRelease);
10867void __RPC_STUB IDataObject_RemoteSetData_Stub(
10868 IRpcStubBuffer* This,
10869 IRpcChannelBuffer* pRpcChannelBuffer,
10870 PRPC_MESSAGE pRpcMessage,
10871 DWORD* pdwStubPhase);
10872HRESULT CALLBACK IDataObject_GetData_Proxy(
10873 IDataObject* This,
10874 FORMATETC *pformatetcIn,
10875 STGMEDIUM *pmedium);
10876HRESULT __RPC_STUB IDataObject_GetData_Stub(
10877 IDataObject* This,
10878 FORMATETC *pformatetcIn,
10879 STGMEDIUM *pRemoteMedium);
10880HRESULT CALLBACK IDataObject_GetDataHere_Proxy(
10881 IDataObject* This,
10882 FORMATETC *pformatetc,
10883 STGMEDIUM *pmedium);
10884HRESULT __RPC_STUB IDataObject_GetDataHere_Stub(
10885 IDataObject* This,
10886 FORMATETC *pformatetc,
10887 STGMEDIUM *pRemoteMedium);
10888HRESULT CALLBACK IDataObject_SetData_Proxy(
10889 IDataObject* This,
10890 FORMATETC *pformatetc,
10891 STGMEDIUM *pmedium,
10892 WINBOOL fRelease);
10893HRESULT __RPC_STUB IDataObject_SetData_Stub(
10894 IDataObject* This,
10895 FORMATETC *pformatetc,
10896 FLAG_STGMEDIUM *pmedium,
10897 WINBOOL fRelease);
10898
10899#endif /* __IDataObject_INTERFACE_DEFINED__ */
10900
10901#endif
10902#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
10903/*****************************************************************************
10904 * IDataAdviseHolder interface
10905 */
10906#ifndef __IDataAdviseHolder_INTERFACE_DEFINED__
10907#define __IDataAdviseHolder_INTERFACE_DEFINED__
10908
10909typedef IDataAdviseHolder *LPDATAADVISEHOLDER;
10910DEFINE_GUID(IID_IDataAdviseHolder, 0x00000110, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
10911#if defined(__cplusplus) && !defined(CINTERFACE)
10912MIDL_INTERFACE("00000110-0000-0000-c000-000000000046")
10913IDataAdviseHolder : public IUnknown
10914{
10915 virtual HRESULT STDMETHODCALLTYPE Advise(
10916 IDataObject *pDataObject,
10917 FORMATETC *pFetc,
10918 DWORD advf,
10919 IAdviseSink *pAdvise,
10920 DWORD *pdwConnection) = 0;
10921
10922 virtual HRESULT STDMETHODCALLTYPE Unadvise(
10923 DWORD dwConnection) = 0;
10924
10925 virtual HRESULT STDMETHODCALLTYPE EnumAdvise(
10926 IEnumSTATDATA **ppenumAdvise) = 0;
10927
10928 virtual HRESULT STDMETHODCALLTYPE SendOnDataChange(
10929 IDataObject *pDataObject,
10930 DWORD dwReserved,
10931 DWORD advf) = 0;
10932
10933};
10934#ifdef __CRT_UUID_DECL
10935__CRT_UUID_DECL(IDataAdviseHolder, 0x00000110, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
10936#endif
10937#else
10938typedef struct IDataAdviseHolderVtbl {
10939 BEGIN_INTERFACE
10940
10941 /*** IUnknown methods ***/
10942 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
10943 IDataAdviseHolder *This,
10944 REFIID riid,
10945 void **ppvObject);
10946
10947 ULONG (STDMETHODCALLTYPE *AddRef)(
10948 IDataAdviseHolder *This);
10949
10950 ULONG (STDMETHODCALLTYPE *Release)(
10951 IDataAdviseHolder *This);
10952
10953 /*** IDataAdviseHolder methods ***/
10954 HRESULT (STDMETHODCALLTYPE *Advise)(
10955 IDataAdviseHolder *This,
10956 IDataObject *pDataObject,
10957 FORMATETC *pFetc,
10958 DWORD advf,
10959 IAdviseSink *pAdvise,
10960 DWORD *pdwConnection);
10961
10962 HRESULT (STDMETHODCALLTYPE *Unadvise)(
10963 IDataAdviseHolder *This,
10964 DWORD dwConnection);
10965
10966 HRESULT (STDMETHODCALLTYPE *EnumAdvise)(
10967 IDataAdviseHolder *This,
10968 IEnumSTATDATA **ppenumAdvise);
10969
10970 HRESULT (STDMETHODCALLTYPE *SendOnDataChange)(
10971 IDataAdviseHolder *This,
10972 IDataObject *pDataObject,
10973 DWORD dwReserved,
10974 DWORD advf);
10975
10976 END_INTERFACE
10977} IDataAdviseHolderVtbl;
10978
10979interface IDataAdviseHolder {
10980 CONST_VTBL IDataAdviseHolderVtbl* lpVtbl;
10981};
10982
10983#ifdef COBJMACROS
10984#ifndef WIDL_C_INLINE_WRAPPERS
10985/*** IUnknown methods ***/
10986#define IDataAdviseHolder_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
10987#define IDataAdviseHolder_AddRef(This) (This)->lpVtbl->AddRef(This)
10988#define IDataAdviseHolder_Release(This) (This)->lpVtbl->Release(This)
10989/*** IDataAdviseHolder methods ***/
10990#define IDataAdviseHolder_Advise(This,pDataObject,pFetc,advf,pAdvise,pdwConnection) (This)->lpVtbl->Advise(This,pDataObject,pFetc,advf,pAdvise,pdwConnection)
10991#define IDataAdviseHolder_Unadvise(This,dwConnection) (This)->lpVtbl->Unadvise(This,dwConnection)
10992#define IDataAdviseHolder_EnumAdvise(This,ppenumAdvise) (This)->lpVtbl->EnumAdvise(This,ppenumAdvise)
10993#define IDataAdviseHolder_SendOnDataChange(This,pDataObject,dwReserved,advf) (This)->lpVtbl->SendOnDataChange(This,pDataObject,dwReserved,advf)
10994#else
10995/*** IUnknown methods ***/
10996static inline HRESULT IDataAdviseHolder_QueryInterface(IDataAdviseHolder* This,REFIID riid,void **ppvObject) {
10997 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
10998}
10999static inline ULONG IDataAdviseHolder_AddRef(IDataAdviseHolder* This) {
11000 return This->lpVtbl->AddRef(This);
11001}
11002static inline ULONG IDataAdviseHolder_Release(IDataAdviseHolder* This) {
11003 return This->lpVtbl->Release(This);
11004}
11005/*** IDataAdviseHolder methods ***/
11006static inline HRESULT IDataAdviseHolder_Advise(IDataAdviseHolder* This,IDataObject *pDataObject,FORMATETC *pFetc,DWORD advf,IAdviseSink *pAdvise,DWORD *pdwConnection) {
11007 return This->lpVtbl->Advise(This,pDataObject,pFetc,advf,pAdvise,pdwConnection);
11008}
11009static inline HRESULT IDataAdviseHolder_Unadvise(IDataAdviseHolder* This,DWORD dwConnection) {
11010 return This->lpVtbl->Unadvise(This,dwConnection);
11011}
11012static inline HRESULT IDataAdviseHolder_EnumAdvise(IDataAdviseHolder* This,IEnumSTATDATA **ppenumAdvise) {
11013 return This->lpVtbl->EnumAdvise(This,ppenumAdvise);
11014}
11015static inline HRESULT IDataAdviseHolder_SendOnDataChange(IDataAdviseHolder* This,IDataObject *pDataObject,DWORD dwReserved,DWORD advf) {
11016 return This->lpVtbl->SendOnDataChange(This,pDataObject,dwReserved,advf);
11017}
11018#endif
11019#endif
11020
11021#endif
11022
11023
11024#endif /* __IDataAdviseHolder_INTERFACE_DEFINED__ */
11025
11026/*****************************************************************************
11027 * IMessageFilter interface
11028 */
11029#ifndef __IMessageFilter_INTERFACE_DEFINED__
11030#define __IMessageFilter_INTERFACE_DEFINED__
11031
11032typedef IMessageFilter *LPMESSAGEFILTER;
11033typedef enum tagCALLTYPE {
11034 CALLTYPE_TOPLEVEL = 1,
11035 CALLTYPE_NESTED = 2,
11036 CALLTYPE_ASYNC = 3,
11037 CALLTYPE_TOPLEVEL_CALLPENDING = 4,
11038 CALLTYPE_ASYNC_CALLPENDING = 5
11039} CALLTYPE;
11040typedef enum tagSERVERCALL {
11041 SERVERCALL_ISHANDLED = 0,
11042 SERVERCALL_REJECTED = 1,
11043 SERVERCALL_RETRYLATER = 2
11044} SERVERCALL;
11045typedef enum tagPENDINGTYPE {
11046 PENDINGTYPE_TOPLEVEL = 1,
11047 PENDINGTYPE_NESTED = 2
11048} PENDINGTYPE;
11049typedef enum tagPENDINGMSG {
11050 PENDINGMSG_CANCELCALL = 0,
11051 PENDINGMSG_WAITNOPROCESS = 1,
11052 PENDINGMSG_WAITDEFPROCESS = 2
11053} PENDINGMSG;
11054typedef struct tagINTERFACEINFO {
11055 IUnknown *pUnk;
11056 IID iid;
11057 WORD wMethod;
11058} INTERFACEINFO;
11059typedef struct tagINTERFACEINFO *LPINTERFACEINFO;
11060DEFINE_GUID(IID_IMessageFilter, 0x00000016, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
11061#if defined(__cplusplus) && !defined(CINTERFACE)
11062MIDL_INTERFACE("00000016-0000-0000-c000-000000000046")
11063IMessageFilter : public IUnknown
11064{
11065 virtual DWORD STDMETHODCALLTYPE HandleInComingCall(
11066 DWORD dwCallType,
11067 HTASK htaskCaller,
11068 DWORD dwTickCount,
11069 LPINTERFACEINFO lpInterfaceInfo) = 0;
11070
11071 virtual DWORD STDMETHODCALLTYPE RetryRejectedCall(
11072 HTASK htaskCallee,
11073 DWORD dwTickCount,
11074 DWORD dwRejectType) = 0;
11075
11076 virtual DWORD STDMETHODCALLTYPE MessagePending(
11077 HTASK htaskCallee,
11078 DWORD dwTickCount,
11079 DWORD dwPendingType) = 0;
11080
11081};
11082#ifdef __CRT_UUID_DECL
11083__CRT_UUID_DECL(IMessageFilter, 0x00000016, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
11084#endif
11085#else
11086typedef struct IMessageFilterVtbl {
11087 BEGIN_INTERFACE
11088
11089 /*** IUnknown methods ***/
11090 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
11091 IMessageFilter *This,
11092 REFIID riid,
11093 void **ppvObject);
11094
11095 ULONG (STDMETHODCALLTYPE *AddRef)(
11096 IMessageFilter *This);
11097
11098 ULONG (STDMETHODCALLTYPE *Release)(
11099 IMessageFilter *This);
11100
11101 /*** IMessageFilter methods ***/
11102 DWORD (STDMETHODCALLTYPE *HandleInComingCall)(
11103 IMessageFilter *This,
11104 DWORD dwCallType,
11105 HTASK htaskCaller,
11106 DWORD dwTickCount,
11107 LPINTERFACEINFO lpInterfaceInfo);
11108
11109 DWORD (STDMETHODCALLTYPE *RetryRejectedCall)(
11110 IMessageFilter *This,
11111 HTASK htaskCallee,
11112 DWORD dwTickCount,
11113 DWORD dwRejectType);
11114
11115 DWORD (STDMETHODCALLTYPE *MessagePending)(
11116 IMessageFilter *This,
11117 HTASK htaskCallee,
11118 DWORD dwTickCount,
11119 DWORD dwPendingType);
11120
11121 END_INTERFACE
11122} IMessageFilterVtbl;
11123
11124interface IMessageFilter {
11125 CONST_VTBL IMessageFilterVtbl* lpVtbl;
11126};
11127
11128#ifdef COBJMACROS
11129#ifndef WIDL_C_INLINE_WRAPPERS
11130/*** IUnknown methods ***/
11131#define IMessageFilter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
11132#define IMessageFilter_AddRef(This) (This)->lpVtbl->AddRef(This)
11133#define IMessageFilter_Release(This) (This)->lpVtbl->Release(This)
11134/*** IMessageFilter methods ***/
11135#define IMessageFilter_HandleInComingCall(This,dwCallType,htaskCaller,dwTickCount,lpInterfaceInfo) (This)->lpVtbl->HandleInComingCall(This,dwCallType,htaskCaller,dwTickCount,lpInterfaceInfo)
11136#define IMessageFilter_RetryRejectedCall(This,htaskCallee,dwTickCount,dwRejectType) (This)->lpVtbl->RetryRejectedCall(This,htaskCallee,dwTickCount,dwRejectType)
11137#define IMessageFilter_MessagePending(This,htaskCallee,dwTickCount,dwPendingType) (This)->lpVtbl->MessagePending(This,htaskCallee,dwTickCount,dwPendingType)
11138#else
11139/*** IUnknown methods ***/
11140static inline HRESULT IMessageFilter_QueryInterface(IMessageFilter* This,REFIID riid,void **ppvObject) {
11141 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
11142}
11143static inline ULONG IMessageFilter_AddRef(IMessageFilter* This) {
11144 return This->lpVtbl->AddRef(This);
11145}
11146static inline ULONG IMessageFilter_Release(IMessageFilter* This) {
11147 return This->lpVtbl->Release(This);
11148}
11149/*** IMessageFilter methods ***/
11150static inline DWORD IMessageFilter_HandleInComingCall(IMessageFilter* This,DWORD dwCallType,HTASK htaskCaller,DWORD dwTickCount,LPINTERFACEINFO lpInterfaceInfo) {
11151 return This->lpVtbl->HandleInComingCall(This,dwCallType,htaskCaller,dwTickCount,lpInterfaceInfo);
11152}
11153static inline DWORD IMessageFilter_RetryRejectedCall(IMessageFilter* This,HTASK htaskCallee,DWORD dwTickCount,DWORD dwRejectType) {
11154 return This->lpVtbl->RetryRejectedCall(This,htaskCallee,dwTickCount,dwRejectType);
11155}
11156static inline DWORD IMessageFilter_MessagePending(IMessageFilter* This,HTASK htaskCallee,DWORD dwTickCount,DWORD dwPendingType) {
11157 return This->lpVtbl->MessagePending(This,htaskCallee,dwTickCount,dwPendingType);
11158}
11159#endif
11160#endif
11161
11162#endif
11163
11164
11165#endif /* __IMessageFilter_INTERFACE_DEFINED__ */
11166
11167
11168extern const FMTID FMTID_SummaryInformation;
11169
11170extern const FMTID FMTID_DocSummaryInformation;
11171
11172extern const FMTID FMTID_UserDefinedProperties;
11173
11174extern const FMTID FMTID_DiscardableInformation;
11175
11176extern const FMTID FMTID_ImageSummaryInformation;
11177
11178extern const FMTID FMTID_AudioSummaryInformation;
11179
11180extern const FMTID FMTID_VideoSummaryInformation;
11181
11182extern const FMTID FMTID_MediaFileSummaryInformation;
11183
11184/*****************************************************************************
11185 * IClassActivator interface
11186 */
11187#ifndef __IClassActivator_INTERFACE_DEFINED__
11188#define __IClassActivator_INTERFACE_DEFINED__
11189
11190DEFINE_GUID(IID_IClassActivator, 0x00000140, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
11191#if defined(__cplusplus) && !defined(CINTERFACE)
11192MIDL_INTERFACE("00000140-0000-0000-c000-000000000046")
11193IClassActivator : public IUnknown
11194{
11195 virtual HRESULT STDMETHODCALLTYPE GetClassObject(
11196 REFCLSID rclsid,
11197 DWORD dwClassContext,
11198 LCID locale,
11199 REFIID riid,
11200 void **ppv) = 0;
11201
11202};
11203#ifdef __CRT_UUID_DECL
11204__CRT_UUID_DECL(IClassActivator, 0x00000140, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
11205#endif
11206#else
11207typedef struct IClassActivatorVtbl {
11208 BEGIN_INTERFACE
11209
11210 /*** IUnknown methods ***/
11211 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
11212 IClassActivator *This,
11213 REFIID riid,
11214 void **ppvObject);
11215
11216 ULONG (STDMETHODCALLTYPE *AddRef)(
11217 IClassActivator *This);
11218
11219 ULONG (STDMETHODCALLTYPE *Release)(
11220 IClassActivator *This);
11221
11222 /*** IClassActivator methods ***/
11223 HRESULT (STDMETHODCALLTYPE *GetClassObject)(
11224 IClassActivator *This,
11225 REFCLSID rclsid,
11226 DWORD dwClassContext,
11227 LCID locale,
11228 REFIID riid,
11229 void **ppv);
11230
11231 END_INTERFACE
11232} IClassActivatorVtbl;
11233
11234interface IClassActivator {
11235 CONST_VTBL IClassActivatorVtbl* lpVtbl;
11236};
11237
11238#ifdef COBJMACROS
11239#ifndef WIDL_C_INLINE_WRAPPERS
11240/*** IUnknown methods ***/
11241#define IClassActivator_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
11242#define IClassActivator_AddRef(This) (This)->lpVtbl->AddRef(This)
11243#define IClassActivator_Release(This) (This)->lpVtbl->Release(This)
11244/*** IClassActivator methods ***/
11245#define IClassActivator_GetClassObject(This,rclsid,dwClassContext,locale,riid,ppv) (This)->lpVtbl->GetClassObject(This,rclsid,dwClassContext,locale,riid,ppv)
11246#else
11247/*** IUnknown methods ***/
11248static inline HRESULT IClassActivator_QueryInterface(IClassActivator* This,REFIID riid,void **ppvObject) {
11249 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
11250}
11251static inline ULONG IClassActivator_AddRef(IClassActivator* This) {
11252 return This->lpVtbl->AddRef(This);
11253}
11254static inline ULONG IClassActivator_Release(IClassActivator* This) {
11255 return This->lpVtbl->Release(This);
11256}
11257/*** IClassActivator methods ***/
11258static inline HRESULT IClassActivator_GetClassObject(IClassActivator* This,REFCLSID rclsid,DWORD dwClassContext,LCID locale,REFIID riid,void **ppv) {
11259 return This->lpVtbl->GetClassObject(This,rclsid,dwClassContext,locale,riid,ppv);
11260}
11261#endif
11262#endif
11263
11264#endif
11265
11266
11267#endif /* __IClassActivator_INTERFACE_DEFINED__ */
11268
11269#endif
11270#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
11271/*****************************************************************************
11272 * IFillLockBytes interface
11273 */
11274#ifndef __IFillLockBytes_INTERFACE_DEFINED__
11275#define __IFillLockBytes_INTERFACE_DEFINED__
11276
11277DEFINE_GUID(IID_IFillLockBytes, 0x99caf010, 0x415e, 0x11cf, 0x88,0x14, 0x00,0xaa,0x00,0xb5,0x69,0xf5);
11278#if defined(__cplusplus) && !defined(CINTERFACE)
11279MIDL_INTERFACE("99caf010-415e-11cf-8814-00aa00b569f5")
11280IFillLockBytes : public IUnknown
11281{
11282 virtual HRESULT STDMETHODCALLTYPE FillAppend(
11283 const void *pv,
11284 ULONG cb,
11285 ULONG *pcbWritten) = 0;
11286
11287 virtual HRESULT STDMETHODCALLTYPE FillAt(
11288 ULARGE_INTEGER ulOffset,
11289 const void *pv,
11290 ULONG cb,
11291 ULONG *pcbWritten) = 0;
11292
11293 virtual HRESULT STDMETHODCALLTYPE SetFillSize(
11294 ULARGE_INTEGER ulSize) = 0;
11295
11296 virtual HRESULT STDMETHODCALLTYPE Terminate(
11297 WINBOOL bCanceled) = 0;
11298
11299};
11300#ifdef __CRT_UUID_DECL
11301__CRT_UUID_DECL(IFillLockBytes, 0x99caf010, 0x415e, 0x11cf, 0x88,0x14, 0x00,0xaa,0x00,0xb5,0x69,0xf5)
11302#endif
11303#else
11304typedef struct IFillLockBytesVtbl {
11305 BEGIN_INTERFACE
11306
11307 /*** IUnknown methods ***/
11308 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
11309 IFillLockBytes *This,
11310 REFIID riid,
11311 void **ppvObject);
11312
11313 ULONG (STDMETHODCALLTYPE *AddRef)(
11314 IFillLockBytes *This);
11315
11316 ULONG (STDMETHODCALLTYPE *Release)(
11317 IFillLockBytes *This);
11318
11319 /*** IFillLockBytes methods ***/
11320 HRESULT (STDMETHODCALLTYPE *FillAppend)(
11321 IFillLockBytes *This,
11322 const void *pv,
11323 ULONG cb,
11324 ULONG *pcbWritten);
11325
11326 HRESULT (STDMETHODCALLTYPE *FillAt)(
11327 IFillLockBytes *This,
11328 ULARGE_INTEGER ulOffset,
11329 const void *pv,
11330 ULONG cb,
11331 ULONG *pcbWritten);
11332
11333 HRESULT (STDMETHODCALLTYPE *SetFillSize)(
11334 IFillLockBytes *This,
11335 ULARGE_INTEGER ulSize);
11336
11337 HRESULT (STDMETHODCALLTYPE *Terminate)(
11338 IFillLockBytes *This,
11339 WINBOOL bCanceled);
11340
11341 END_INTERFACE
11342} IFillLockBytesVtbl;
11343
11344interface IFillLockBytes {
11345 CONST_VTBL IFillLockBytesVtbl* lpVtbl;
11346};
11347
11348#ifdef COBJMACROS
11349#ifndef WIDL_C_INLINE_WRAPPERS
11350/*** IUnknown methods ***/
11351#define IFillLockBytes_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
11352#define IFillLockBytes_AddRef(This) (This)->lpVtbl->AddRef(This)
11353#define IFillLockBytes_Release(This) (This)->lpVtbl->Release(This)
11354/*** IFillLockBytes methods ***/
11355#define IFillLockBytes_FillAppend(This,pv,cb,pcbWritten) (This)->lpVtbl->FillAppend(This,pv,cb,pcbWritten)
11356#define IFillLockBytes_FillAt(This,ulOffset,pv,cb,pcbWritten) (This)->lpVtbl->FillAt(This,ulOffset,pv,cb,pcbWritten)
11357#define IFillLockBytes_SetFillSize(This,ulSize) (This)->lpVtbl->SetFillSize(This,ulSize)
11358#define IFillLockBytes_Terminate(This,bCanceled) (This)->lpVtbl->Terminate(This,bCanceled)
11359#else
11360/*** IUnknown methods ***/
11361static inline HRESULT IFillLockBytes_QueryInterface(IFillLockBytes* This,REFIID riid,void **ppvObject) {
11362 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
11363}
11364static inline ULONG IFillLockBytes_AddRef(IFillLockBytes* This) {
11365 return This->lpVtbl->AddRef(This);
11366}
11367static inline ULONG IFillLockBytes_Release(IFillLockBytes* This) {
11368 return This->lpVtbl->Release(This);
11369}
11370/*** IFillLockBytes methods ***/
11371static inline HRESULT IFillLockBytes_FillAppend(IFillLockBytes* This,const void *pv,ULONG cb,ULONG *pcbWritten) {
11372 return This->lpVtbl->FillAppend(This,pv,cb,pcbWritten);
11373}
11374static inline HRESULT IFillLockBytes_FillAt(IFillLockBytes* This,ULARGE_INTEGER ulOffset,const void *pv,ULONG cb,ULONG *pcbWritten) {
11375 return This->lpVtbl->FillAt(This,ulOffset,pv,cb,pcbWritten);
11376}
11377static inline HRESULT IFillLockBytes_SetFillSize(IFillLockBytes* This,ULARGE_INTEGER ulSize) {
11378 return This->lpVtbl->SetFillSize(This,ulSize);
11379}
11380static inline HRESULT IFillLockBytes_Terminate(IFillLockBytes* This,WINBOOL bCanceled) {
11381 return This->lpVtbl->Terminate(This,bCanceled);
11382}
11383#endif
11384#endif
11385
11386#endif
11387
11388HRESULT __stdcall IFillLockBytes_RemoteFillAppend_Proxy(
11389 IFillLockBytes* This,
11390 const byte *pv,
11391 ULONG cb,
11392 ULONG *pcbWritten);
11393void __RPC_STUB IFillLockBytes_RemoteFillAppend_Stub(
11394 IRpcStubBuffer* This,
11395 IRpcChannelBuffer* pRpcChannelBuffer,
11396 PRPC_MESSAGE pRpcMessage,
11397 DWORD* pdwStubPhase);
11398HRESULT __stdcall IFillLockBytes_RemoteFillAt_Proxy(
11399 IFillLockBytes* This,
11400 ULARGE_INTEGER ulOffset,
11401 const byte *pv,
11402 ULONG cb,
11403 ULONG *pcbWritten);
11404void __RPC_STUB IFillLockBytes_RemoteFillAt_Stub(
11405 IRpcStubBuffer* This,
11406 IRpcChannelBuffer* pRpcChannelBuffer,
11407 PRPC_MESSAGE pRpcMessage,
11408 DWORD* pdwStubPhase);
11409HRESULT CALLBACK IFillLockBytes_FillAppend_Proxy(
11410 IFillLockBytes* This,
11411 const void *pv,
11412 ULONG cb,
11413 ULONG *pcbWritten);
11414HRESULT __RPC_STUB IFillLockBytes_FillAppend_Stub(
11415 IFillLockBytes* This,
11416 const byte *pv,
11417 ULONG cb,
11418 ULONG *pcbWritten);
11419HRESULT CALLBACK IFillLockBytes_FillAt_Proxy(
11420 IFillLockBytes* This,
11421 ULARGE_INTEGER ulOffset,
11422 const void *pv,
11423 ULONG cb,
11424 ULONG *pcbWritten);
11425HRESULT __RPC_STUB IFillLockBytes_FillAt_Stub(
11426 IFillLockBytes* This,
11427 ULARGE_INTEGER ulOffset,
11428 const byte *pv,
11429 ULONG cb,
11430 ULONG *pcbWritten);
11431
11432#endif /* __IFillLockBytes_INTERFACE_DEFINED__ */
11433
11434#endif
11435#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
11436/*****************************************************************************
11437 * IProgressNotify interface
11438 */
11439#ifndef __IProgressNotify_INTERFACE_DEFINED__
11440#define __IProgressNotify_INTERFACE_DEFINED__
11441
11442DEFINE_GUID(IID_IProgressNotify, 0xa9d758a0, 0x4617, 0x11cf, 0x95,0xfc, 0x00,0xaa,0x00,0x68,0x0d,0xb4);
11443#if defined(__cplusplus) && !defined(CINTERFACE)
11444MIDL_INTERFACE("a9d758a0-4617-11cf-95fc-00aa00680db4")
11445IProgressNotify : public IUnknown
11446{
11447 virtual HRESULT STDMETHODCALLTYPE OnProgress(
11448 DWORD dwProgressCurrent,
11449 DWORD dwProgressMaximum,
11450 WINBOOL fAccurate,
11451 WINBOOL fOwner) = 0;
11452
11453};
11454#ifdef __CRT_UUID_DECL
11455__CRT_UUID_DECL(IProgressNotify, 0xa9d758a0, 0x4617, 0x11cf, 0x95,0xfc, 0x00,0xaa,0x00,0x68,0x0d,0xb4)
11456#endif
11457#else
11458typedef struct IProgressNotifyVtbl {
11459 BEGIN_INTERFACE
11460
11461 /*** IUnknown methods ***/
11462 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
11463 IProgressNotify *This,
11464 REFIID riid,
11465 void **ppvObject);
11466
11467 ULONG (STDMETHODCALLTYPE *AddRef)(
11468 IProgressNotify *This);
11469
11470 ULONG (STDMETHODCALLTYPE *Release)(
11471 IProgressNotify *This);
11472
11473 /*** IProgressNotify methods ***/
11474 HRESULT (STDMETHODCALLTYPE *OnProgress)(
11475 IProgressNotify *This,
11476 DWORD dwProgressCurrent,
11477 DWORD dwProgressMaximum,
11478 WINBOOL fAccurate,
11479 WINBOOL fOwner);
11480
11481 END_INTERFACE
11482} IProgressNotifyVtbl;
11483
11484interface IProgressNotify {
11485 CONST_VTBL IProgressNotifyVtbl* lpVtbl;
11486};
11487
11488#ifdef COBJMACROS
11489#ifndef WIDL_C_INLINE_WRAPPERS
11490/*** IUnknown methods ***/
11491#define IProgressNotify_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
11492#define IProgressNotify_AddRef(This) (This)->lpVtbl->AddRef(This)
11493#define IProgressNotify_Release(This) (This)->lpVtbl->Release(This)
11494/*** IProgressNotify methods ***/
11495#define IProgressNotify_OnProgress(This,dwProgressCurrent,dwProgressMaximum,fAccurate,fOwner) (This)->lpVtbl->OnProgress(This,dwProgressCurrent,dwProgressMaximum,fAccurate,fOwner)
11496#else
11497/*** IUnknown methods ***/
11498static inline HRESULT IProgressNotify_QueryInterface(IProgressNotify* This,REFIID riid,void **ppvObject) {
11499 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
11500}
11501static inline ULONG IProgressNotify_AddRef(IProgressNotify* This) {
11502 return This->lpVtbl->AddRef(This);
11503}
11504static inline ULONG IProgressNotify_Release(IProgressNotify* This) {
11505 return This->lpVtbl->Release(This);
11506}
11507/*** IProgressNotify methods ***/
11508static inline HRESULT IProgressNotify_OnProgress(IProgressNotify* This,DWORD dwProgressCurrent,DWORD dwProgressMaximum,WINBOOL fAccurate,WINBOOL fOwner) {
11509 return This->lpVtbl->OnProgress(This,dwProgressCurrent,dwProgressMaximum,fAccurate,fOwner);
11510}
11511#endif
11512#endif
11513
11514#endif
11515
11516
11517#endif /* __IProgressNotify_INTERFACE_DEFINED__ */
11518
11519#endif
11520#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
11521/*****************************************************************************
11522 * ILayoutStorage interface
11523 */
11524#ifndef __ILayoutStorage_INTERFACE_DEFINED__
11525#define __ILayoutStorage_INTERFACE_DEFINED__
11526
11527typedef struct tagStorageLayout {
11528 DWORD LayoutType;
11529 OLECHAR *pwcsElementName;
11530 LARGE_INTEGER cOffset;
11531 LARGE_INTEGER cBytes;
11532} StorageLayout;
11533DEFINE_GUID(IID_ILayoutStorage, 0x0e6d4d90, 0x6738, 0x11cf, 0x96,0x08, 0x00,0xaa,0x00,0x68,0x0d,0xb4);
11534#if defined(__cplusplus) && !defined(CINTERFACE)
11535MIDL_INTERFACE("0e6d4d90-6738-11cf-9608-00aa00680db4")
11536ILayoutStorage : public IUnknown
11537{
11538 virtual HRESULT __stdcall LayoutScript(
11539 StorageLayout *pStorageLayout,
11540 DWORD nEntries,
11541 DWORD glfInterleavedFlag) = 0;
11542
11543 virtual HRESULT __stdcall BeginMonitor(
11544 ) = 0;
11545
11546 virtual HRESULT __stdcall EndMonitor(
11547 ) = 0;
11548
11549 virtual HRESULT __stdcall ReLayoutDocfile(
11550 OLECHAR *pwcsNewDfName) = 0;
11551
11552 virtual HRESULT __stdcall ReLayoutDocfileOnILockBytes(
11553 ILockBytes *pILockBytes) = 0;
11554
11555};
11556#ifdef __CRT_UUID_DECL
11557__CRT_UUID_DECL(ILayoutStorage, 0x0e6d4d90, 0x6738, 0x11cf, 0x96,0x08, 0x00,0xaa,0x00,0x68,0x0d,0xb4)
11558#endif
11559#else
11560typedef struct ILayoutStorageVtbl {
11561 BEGIN_INTERFACE
11562
11563 /*** IUnknown methods ***/
11564 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
11565 ILayoutStorage *This,
11566 REFIID riid,
11567 void **ppvObject);
11568
11569 ULONG (STDMETHODCALLTYPE *AddRef)(
11570 ILayoutStorage *This);
11571
11572 ULONG (STDMETHODCALLTYPE *Release)(
11573 ILayoutStorage *This);
11574
11575 /*** ILayoutStorage methods ***/
11576 HRESULT (__stdcall *LayoutScript)(
11577 ILayoutStorage *This,
11578 StorageLayout *pStorageLayout,
11579 DWORD nEntries,
11580 DWORD glfInterleavedFlag);
11581
11582 HRESULT (__stdcall *BeginMonitor)(
11583 ILayoutStorage *This);
11584
11585 HRESULT (__stdcall *EndMonitor)(
11586 ILayoutStorage *This);
11587
11588 HRESULT (__stdcall *ReLayoutDocfile)(
11589 ILayoutStorage *This,
11590 OLECHAR *pwcsNewDfName);
11591
11592 HRESULT (__stdcall *ReLayoutDocfileOnILockBytes)(
11593 ILayoutStorage *This,
11594 ILockBytes *pILockBytes);
11595
11596 END_INTERFACE
11597} ILayoutStorageVtbl;
11598
11599interface ILayoutStorage {
11600 CONST_VTBL ILayoutStorageVtbl* lpVtbl;
11601};
11602
11603#ifdef COBJMACROS
11604#ifndef WIDL_C_INLINE_WRAPPERS
11605/*** IUnknown methods ***/
11606#define ILayoutStorage_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
11607#define ILayoutStorage_AddRef(This) (This)->lpVtbl->AddRef(This)
11608#define ILayoutStorage_Release(This) (This)->lpVtbl->Release(This)
11609/*** ILayoutStorage methods ***/
11610#define ILayoutStorage_LayoutScript(This,pStorageLayout,nEntries,glfInterleavedFlag) (This)->lpVtbl->LayoutScript(This,pStorageLayout,nEntries,glfInterleavedFlag)
11611#define ILayoutStorage_BeginMonitor(This) (This)->lpVtbl->BeginMonitor(This)
11612#define ILayoutStorage_EndMonitor(This) (This)->lpVtbl->EndMonitor(This)
11613#define ILayoutStorage_ReLayoutDocfile(This,pwcsNewDfName) (This)->lpVtbl->ReLayoutDocfile(This,pwcsNewDfName)
11614#define ILayoutStorage_ReLayoutDocfileOnILockBytes(This,pILockBytes) (This)->lpVtbl->ReLayoutDocfileOnILockBytes(This,pILockBytes)
11615#else
11616/*** IUnknown methods ***/
11617static inline HRESULT ILayoutStorage_QueryInterface(ILayoutStorage* This,REFIID riid,void **ppvObject) {
11618 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
11619}
11620static inline ULONG ILayoutStorage_AddRef(ILayoutStorage* This) {
11621 return This->lpVtbl->AddRef(This);
11622}
11623static inline ULONG ILayoutStorage_Release(ILayoutStorage* This) {
11624 return This->lpVtbl->Release(This);
11625}
11626/*** ILayoutStorage methods ***/
11627static inline HRESULT ILayoutStorage_LayoutScript(ILayoutStorage* This,StorageLayout *pStorageLayout,DWORD nEntries,DWORD glfInterleavedFlag) {
11628 return This->lpVtbl->LayoutScript(This,pStorageLayout,nEntries,glfInterleavedFlag);
11629}
11630static inline HRESULT ILayoutStorage_BeginMonitor(ILayoutStorage* This) {
11631 return This->lpVtbl->BeginMonitor(This);
11632}
11633static inline HRESULT ILayoutStorage_EndMonitor(ILayoutStorage* This) {
11634 return This->lpVtbl->EndMonitor(This);
11635}
11636static inline HRESULT ILayoutStorage_ReLayoutDocfile(ILayoutStorage* This,OLECHAR *pwcsNewDfName) {
11637 return This->lpVtbl->ReLayoutDocfile(This,pwcsNewDfName);
11638}
11639static inline HRESULT ILayoutStorage_ReLayoutDocfileOnILockBytes(ILayoutStorage* This,ILockBytes *pILockBytes) {
11640 return This->lpVtbl->ReLayoutDocfileOnILockBytes(This,pILockBytes);
11641}
11642#endif
11643#endif
11644
11645#endif
11646
11647
11648#endif /* __ILayoutStorage_INTERFACE_DEFINED__ */
11649
11650#endif
11651#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
11652/*****************************************************************************
11653 * IBlockingLock interface
11654 */
11655#ifndef __IBlockingLock_INTERFACE_DEFINED__
11656#define __IBlockingLock_INTERFACE_DEFINED__
11657
11658DEFINE_GUID(IID_IBlockingLock, 0x30f3d47a, 0x6447, 0x11d1, 0x8e,0x3c, 0x00,0xc0,0x4f,0xb9,0x38,0x6d);
11659#if defined(__cplusplus) && !defined(CINTERFACE)
11660MIDL_INTERFACE("30f3d47a-6447-11d1-8e3c-00c04fb9386d")
11661IBlockingLock : public IUnknown
11662{
11663 virtual HRESULT STDMETHODCALLTYPE Lock(
11664 DWORD dwTimeout) = 0;
11665
11666 virtual HRESULT STDMETHODCALLTYPE Unlock(
11667 ) = 0;
11668
11669};
11670#ifdef __CRT_UUID_DECL
11671__CRT_UUID_DECL(IBlockingLock, 0x30f3d47a, 0x6447, 0x11d1, 0x8e,0x3c, 0x00,0xc0,0x4f,0xb9,0x38,0x6d)
11672#endif
11673#else
11674typedef struct IBlockingLockVtbl {
11675 BEGIN_INTERFACE
11676
11677 /*** IUnknown methods ***/
11678 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
11679 IBlockingLock *This,
11680 REFIID riid,
11681 void **ppvObject);
11682
11683 ULONG (STDMETHODCALLTYPE *AddRef)(
11684 IBlockingLock *This);
11685
11686 ULONG (STDMETHODCALLTYPE *Release)(
11687 IBlockingLock *This);
11688
11689 /*** IBlockingLock methods ***/
11690 HRESULT (STDMETHODCALLTYPE *Lock)(
11691 IBlockingLock *This,
11692 DWORD dwTimeout);
11693
11694 HRESULT (STDMETHODCALLTYPE *Unlock)(
11695 IBlockingLock *This);
11696
11697 END_INTERFACE
11698} IBlockingLockVtbl;
11699
11700interface IBlockingLock {
11701 CONST_VTBL IBlockingLockVtbl* lpVtbl;
11702};
11703
11704#ifdef COBJMACROS
11705#ifndef WIDL_C_INLINE_WRAPPERS
11706/*** IUnknown methods ***/
11707#define IBlockingLock_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
11708#define IBlockingLock_AddRef(This) (This)->lpVtbl->AddRef(This)
11709#define IBlockingLock_Release(This) (This)->lpVtbl->Release(This)
11710/*** IBlockingLock methods ***/
11711#define IBlockingLock_Lock(This,dwTimeout) (This)->lpVtbl->Lock(This,dwTimeout)
11712#define IBlockingLock_Unlock(This) (This)->lpVtbl->Unlock(This)
11713#else
11714/*** IUnknown methods ***/
11715static inline HRESULT IBlockingLock_QueryInterface(IBlockingLock* This,REFIID riid,void **ppvObject) {
11716 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
11717}
11718static inline ULONG IBlockingLock_AddRef(IBlockingLock* This) {
11719 return This->lpVtbl->AddRef(This);
11720}
11721static inline ULONG IBlockingLock_Release(IBlockingLock* This) {
11722 return This->lpVtbl->Release(This);
11723}
11724/*** IBlockingLock methods ***/
11725static inline HRESULT IBlockingLock_Lock(IBlockingLock* This,DWORD dwTimeout) {
11726 return This->lpVtbl->Lock(This,dwTimeout);
11727}
11728static inline HRESULT IBlockingLock_Unlock(IBlockingLock* This) {
11729 return This->lpVtbl->Unlock(This);
11730}
11731#endif
11732#endif
11733
11734#endif
11735
11736
11737#endif /* __IBlockingLock_INTERFACE_DEFINED__ */
11738
11739/*****************************************************************************
11740 * ITimeAndNoticeControl interface
11741 */
11742#ifndef __ITimeAndNoticeControl_INTERFACE_DEFINED__
11743#define __ITimeAndNoticeControl_INTERFACE_DEFINED__
11744
11745DEFINE_GUID(IID_ITimeAndNoticeControl, 0xbc0bf6ae, 0x8878, 0x11d1, 0x83,0xe9, 0x00,0xc0,0x4f,0xc2,0xc6,0xd4);
11746#if defined(__cplusplus) && !defined(CINTERFACE)
11747MIDL_INTERFACE("bc0bf6ae-8878-11d1-83e9-00c04fc2c6d4")
11748ITimeAndNoticeControl : public IUnknown
11749{
11750 virtual HRESULT STDMETHODCALLTYPE SuppressChanges(
11751 DWORD res1,
11752 DWORD res2) = 0;
11753
11754};
11755#ifdef __CRT_UUID_DECL
11756__CRT_UUID_DECL(ITimeAndNoticeControl, 0xbc0bf6ae, 0x8878, 0x11d1, 0x83,0xe9, 0x00,0xc0,0x4f,0xc2,0xc6,0xd4)
11757#endif
11758#else
11759typedef struct ITimeAndNoticeControlVtbl {
11760 BEGIN_INTERFACE
11761
11762 /*** IUnknown methods ***/
11763 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
11764 ITimeAndNoticeControl *This,
11765 REFIID riid,
11766 void **ppvObject);
11767
11768 ULONG (STDMETHODCALLTYPE *AddRef)(
11769 ITimeAndNoticeControl *This);
11770
11771 ULONG (STDMETHODCALLTYPE *Release)(
11772 ITimeAndNoticeControl *This);
11773
11774 /*** ITimeAndNoticeControl methods ***/
11775 HRESULT (STDMETHODCALLTYPE *SuppressChanges)(
11776 ITimeAndNoticeControl *This,
11777 DWORD res1,
11778 DWORD res2);
11779
11780 END_INTERFACE
11781} ITimeAndNoticeControlVtbl;
11782
11783interface ITimeAndNoticeControl {
11784 CONST_VTBL ITimeAndNoticeControlVtbl* lpVtbl;
11785};
11786
11787#ifdef COBJMACROS
11788#ifndef WIDL_C_INLINE_WRAPPERS
11789/*** IUnknown methods ***/
11790#define ITimeAndNoticeControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
11791#define ITimeAndNoticeControl_AddRef(This) (This)->lpVtbl->AddRef(This)
11792#define ITimeAndNoticeControl_Release(This) (This)->lpVtbl->Release(This)
11793/*** ITimeAndNoticeControl methods ***/
11794#define ITimeAndNoticeControl_SuppressChanges(This,res1,res2) (This)->lpVtbl->SuppressChanges(This,res1,res2)
11795#else
11796/*** IUnknown methods ***/
11797static inline HRESULT ITimeAndNoticeControl_QueryInterface(ITimeAndNoticeControl* This,REFIID riid,void **ppvObject) {
11798 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
11799}
11800static inline ULONG ITimeAndNoticeControl_AddRef(ITimeAndNoticeControl* This) {
11801 return This->lpVtbl->AddRef(This);
11802}
11803static inline ULONG ITimeAndNoticeControl_Release(ITimeAndNoticeControl* This) {
11804 return This->lpVtbl->Release(This);
11805}
11806/*** ITimeAndNoticeControl methods ***/
11807static inline HRESULT ITimeAndNoticeControl_SuppressChanges(ITimeAndNoticeControl* This,DWORD res1,DWORD res2) {
11808 return This->lpVtbl->SuppressChanges(This,res1,res2);
11809}
11810#endif
11811#endif
11812
11813#endif
11814
11815
11816#endif /* __ITimeAndNoticeControl_INTERFACE_DEFINED__ */
11817
11818/*****************************************************************************
11819 * IOplockStorage interface
11820 */
11821#ifndef __IOplockStorage_INTERFACE_DEFINED__
11822#define __IOplockStorage_INTERFACE_DEFINED__
11823
11824DEFINE_GUID(IID_IOplockStorage, 0x8d19c834, 0x8879, 0x11d1, 0x83,0xe9, 0x00,0xc0,0x4f,0xc2,0xc6,0xd4);
11825#if defined(__cplusplus) && !defined(CINTERFACE)
11826MIDL_INTERFACE("8d19c834-8879-11d1-83e9-00c04fc2c6d4")
11827IOplockStorage : public IUnknown
11828{
11829 virtual HRESULT STDMETHODCALLTYPE CreateStorageEx(
11830 LPCWSTR pwcsName,
11831 DWORD grfMode,
11832 DWORD stgfmt,
11833 DWORD grfAttrs,
11834 REFIID riid,
11835 void **ppstgOpen) = 0;
11836
11837 virtual HRESULT STDMETHODCALLTYPE OpenStorageEx(
11838 LPCWSTR pwcsName,
11839 DWORD grfMode,
11840 DWORD stgfmt,
11841 DWORD grfAttrs,
11842 REFIID riid,
11843 void **ppstgOpen) = 0;
11844
11845};
11846#ifdef __CRT_UUID_DECL
11847__CRT_UUID_DECL(IOplockStorage, 0x8d19c834, 0x8879, 0x11d1, 0x83,0xe9, 0x00,0xc0,0x4f,0xc2,0xc6,0xd4)
11848#endif
11849#else
11850typedef struct IOplockStorageVtbl {
11851 BEGIN_INTERFACE
11852
11853 /*** IUnknown methods ***/
11854 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
11855 IOplockStorage *This,
11856 REFIID riid,
11857 void **ppvObject);
11858
11859 ULONG (STDMETHODCALLTYPE *AddRef)(
11860 IOplockStorage *This);
11861
11862 ULONG (STDMETHODCALLTYPE *Release)(
11863 IOplockStorage *This);
11864
11865 /*** IOplockStorage methods ***/
11866 HRESULT (STDMETHODCALLTYPE *CreateStorageEx)(
11867 IOplockStorage *This,
11868 LPCWSTR pwcsName,
11869 DWORD grfMode,
11870 DWORD stgfmt,
11871 DWORD grfAttrs,
11872 REFIID riid,
11873 void **ppstgOpen);
11874
11875 HRESULT (STDMETHODCALLTYPE *OpenStorageEx)(
11876 IOplockStorage *This,
11877 LPCWSTR pwcsName,
11878 DWORD grfMode,
11879 DWORD stgfmt,
11880 DWORD grfAttrs,
11881 REFIID riid,
11882 void **ppstgOpen);
11883
11884 END_INTERFACE
11885} IOplockStorageVtbl;
11886
11887interface IOplockStorage {
11888 CONST_VTBL IOplockStorageVtbl* lpVtbl;
11889};
11890
11891#ifdef COBJMACROS
11892#ifndef WIDL_C_INLINE_WRAPPERS
11893/*** IUnknown methods ***/
11894#define IOplockStorage_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
11895#define IOplockStorage_AddRef(This) (This)->lpVtbl->AddRef(This)
11896#define IOplockStorage_Release(This) (This)->lpVtbl->Release(This)
11897/*** IOplockStorage methods ***/
11898#define IOplockStorage_CreateStorageEx(This,pwcsName,grfMode,stgfmt,grfAttrs,riid,ppstgOpen) (This)->lpVtbl->CreateStorageEx(This,pwcsName,grfMode,stgfmt,grfAttrs,riid,ppstgOpen)
11899#define IOplockStorage_OpenStorageEx(This,pwcsName,grfMode,stgfmt,grfAttrs,riid,ppstgOpen) (This)->lpVtbl->OpenStorageEx(This,pwcsName,grfMode,stgfmt,grfAttrs,riid,ppstgOpen)
11900#else
11901/*** IUnknown methods ***/
11902static inline HRESULT IOplockStorage_QueryInterface(IOplockStorage* This,REFIID riid,void **ppvObject) {
11903 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
11904}
11905static inline ULONG IOplockStorage_AddRef(IOplockStorage* This) {
11906 return This->lpVtbl->AddRef(This);
11907}
11908static inline ULONG IOplockStorage_Release(IOplockStorage* This) {
11909 return This->lpVtbl->Release(This);
11910}
11911/*** IOplockStorage methods ***/
11912static inline HRESULT IOplockStorage_CreateStorageEx(IOplockStorage* This,LPCWSTR pwcsName,DWORD grfMode,DWORD stgfmt,DWORD grfAttrs,REFIID riid,void **ppstgOpen) {
11913 return This->lpVtbl->CreateStorageEx(This,pwcsName,grfMode,stgfmt,grfAttrs,riid,ppstgOpen);
11914}
11915static inline HRESULT IOplockStorage_OpenStorageEx(IOplockStorage* This,LPCWSTR pwcsName,DWORD grfMode,DWORD stgfmt,DWORD grfAttrs,REFIID riid,void **ppstgOpen) {
11916 return This->lpVtbl->OpenStorageEx(This,pwcsName,grfMode,stgfmt,grfAttrs,riid,ppstgOpen);
11917}
11918#endif
11919#endif
11920
11921#endif
11922
11923
11924#endif /* __IOplockStorage_INTERFACE_DEFINED__ */
11925
11926#endif
11927#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
11928/*****************************************************************************
11929 * IDirectWriterLock interface
11930 */
11931#ifndef __IDirectWriterLock_INTERFACE_DEFINED__
11932#define __IDirectWriterLock_INTERFACE_DEFINED__
11933
11934DEFINE_GUID(IID_IDirectWriterLock, 0x0e6d4d92, 0x6738, 0x11cf, 0x96,0x08, 0x00,0xaa,0x00,0x68,0x0d,0xb4);
11935#if defined(__cplusplus) && !defined(CINTERFACE)
11936MIDL_INTERFACE("0e6d4d92-6738-11cf-9608-00aa00680db4")
11937IDirectWriterLock : public IUnknown
11938{
11939 virtual HRESULT STDMETHODCALLTYPE WaitForWriteAccess(
11940 DWORD dwTimeout) = 0;
11941
11942 virtual HRESULT STDMETHODCALLTYPE ReleaseWriteAccess(
11943 ) = 0;
11944
11945 virtual HRESULT STDMETHODCALLTYPE HaveWriteAccess(
11946 ) = 0;
11947
11948};
11949#ifdef __CRT_UUID_DECL
11950__CRT_UUID_DECL(IDirectWriterLock, 0x0e6d4d92, 0x6738, 0x11cf, 0x96,0x08, 0x00,0xaa,0x00,0x68,0x0d,0xb4)
11951#endif
11952#else
11953typedef struct IDirectWriterLockVtbl {
11954 BEGIN_INTERFACE
11955
11956 /*** IUnknown methods ***/
11957 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
11958 IDirectWriterLock *This,
11959 REFIID riid,
11960 void **ppvObject);
11961
11962 ULONG (STDMETHODCALLTYPE *AddRef)(
11963 IDirectWriterLock *This);
11964
11965 ULONG (STDMETHODCALLTYPE *Release)(
11966 IDirectWriterLock *This);
11967
11968 /*** IDirectWriterLock methods ***/
11969 HRESULT (STDMETHODCALLTYPE *WaitForWriteAccess)(
11970 IDirectWriterLock *This,
11971 DWORD dwTimeout);
11972
11973 HRESULT (STDMETHODCALLTYPE *ReleaseWriteAccess)(
11974 IDirectWriterLock *This);
11975
11976 HRESULT (STDMETHODCALLTYPE *HaveWriteAccess)(
11977 IDirectWriterLock *This);
11978
11979 END_INTERFACE
11980} IDirectWriterLockVtbl;
11981
11982interface IDirectWriterLock {
11983 CONST_VTBL IDirectWriterLockVtbl* lpVtbl;
11984};
11985
11986#ifdef COBJMACROS
11987#ifndef WIDL_C_INLINE_WRAPPERS
11988/*** IUnknown methods ***/
11989#define IDirectWriterLock_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
11990#define IDirectWriterLock_AddRef(This) (This)->lpVtbl->AddRef(This)
11991#define IDirectWriterLock_Release(This) (This)->lpVtbl->Release(This)
11992/*** IDirectWriterLock methods ***/
11993#define IDirectWriterLock_WaitForWriteAccess(This,dwTimeout) (This)->lpVtbl->WaitForWriteAccess(This,dwTimeout)
11994#define IDirectWriterLock_ReleaseWriteAccess(This) (This)->lpVtbl->ReleaseWriteAccess(This)
11995#define IDirectWriterLock_HaveWriteAccess(This) (This)->lpVtbl->HaveWriteAccess(This)
11996#else
11997/*** IUnknown methods ***/
11998static inline HRESULT IDirectWriterLock_QueryInterface(IDirectWriterLock* This,REFIID riid,void **ppvObject) {
11999 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
12000}
12001static inline ULONG IDirectWriterLock_AddRef(IDirectWriterLock* This) {
12002 return This->lpVtbl->AddRef(This);
12003}
12004static inline ULONG IDirectWriterLock_Release(IDirectWriterLock* This) {
12005 return This->lpVtbl->Release(This);
12006}
12007/*** IDirectWriterLock methods ***/
12008static inline HRESULT IDirectWriterLock_WaitForWriteAccess(IDirectWriterLock* This,DWORD dwTimeout) {
12009 return This->lpVtbl->WaitForWriteAccess(This,dwTimeout);
12010}
12011static inline HRESULT IDirectWriterLock_ReleaseWriteAccess(IDirectWriterLock* This) {
12012 return This->lpVtbl->ReleaseWriteAccess(This);
12013}
12014static inline HRESULT IDirectWriterLock_HaveWriteAccess(IDirectWriterLock* This) {
12015 return This->lpVtbl->HaveWriteAccess(This);
12016}
12017#endif
12018#endif
12019
12020#endif
12021
12022
12023#endif /* __IDirectWriterLock_INTERFACE_DEFINED__ */
12024
12025#endif
12026#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
12027/*****************************************************************************
12028 * IUrlMon interface
12029 */
12030#ifndef __IUrlMon_INTERFACE_DEFINED__
12031#define __IUrlMon_INTERFACE_DEFINED__
12032
12033DEFINE_GUID(IID_IUrlMon, 0x00000026, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
12034#if defined(__cplusplus) && !defined(CINTERFACE)
12035MIDL_INTERFACE("00000026-0000-0000-c000-000000000046")
12036IUrlMon : public IUnknown
12037{
12038 virtual HRESULT STDMETHODCALLTYPE AsyncGetClassBits(
12039 REFCLSID rclsid,
12040 LPCWSTR pszTYPE,
12041 LPCWSTR pszExt,
12042 DWORD dwFileVersionMS,
12043 DWORD dwFileVersionLS,
12044 LPCWSTR pszCodeBase,
12045 IBindCtx *pbc,
12046 DWORD dwClassContext,
12047 REFIID riid,
12048 DWORD flags) = 0;
12049
12050};
12051#ifdef __CRT_UUID_DECL
12052__CRT_UUID_DECL(IUrlMon, 0x00000026, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
12053#endif
12054#else
12055typedef struct IUrlMonVtbl {
12056 BEGIN_INTERFACE
12057
12058 /*** IUnknown methods ***/
12059 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
12060 IUrlMon *This,
12061 REFIID riid,
12062 void **ppvObject);
12063
12064 ULONG (STDMETHODCALLTYPE *AddRef)(
12065 IUrlMon *This);
12066
12067 ULONG (STDMETHODCALLTYPE *Release)(
12068 IUrlMon *This);
12069
12070 /*** IUrlMon methods ***/
12071 HRESULT (STDMETHODCALLTYPE *AsyncGetClassBits)(
12072 IUrlMon *This,
12073 REFCLSID rclsid,
12074 LPCWSTR pszTYPE,
12075 LPCWSTR pszExt,
12076 DWORD dwFileVersionMS,
12077 DWORD dwFileVersionLS,
12078 LPCWSTR pszCodeBase,
12079 IBindCtx *pbc,
12080 DWORD dwClassContext,
12081 REFIID riid,
12082 DWORD flags);
12083
12084 END_INTERFACE
12085} IUrlMonVtbl;
12086
12087interface IUrlMon {
12088 CONST_VTBL IUrlMonVtbl* lpVtbl;
12089};
12090
12091#ifdef COBJMACROS
12092#ifndef WIDL_C_INLINE_WRAPPERS
12093/*** IUnknown methods ***/
12094#define IUrlMon_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
12095#define IUrlMon_AddRef(This) (This)->lpVtbl->AddRef(This)
12096#define IUrlMon_Release(This) (This)->lpVtbl->Release(This)
12097/*** IUrlMon methods ***/
12098#define IUrlMon_AsyncGetClassBits(This,rclsid,pszTYPE,pszExt,dwFileVersionMS,dwFileVersionLS,pszCodeBase,pbc,dwClassContext,riid,flags) (This)->lpVtbl->AsyncGetClassBits(This,rclsid,pszTYPE,pszExt,dwFileVersionMS,dwFileVersionLS,pszCodeBase,pbc,dwClassContext,riid,flags)
12099#else
12100/*** IUnknown methods ***/
12101static inline HRESULT IUrlMon_QueryInterface(IUrlMon* This,REFIID riid,void **ppvObject) {
12102 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
12103}
12104static inline ULONG IUrlMon_AddRef(IUrlMon* This) {
12105 return This->lpVtbl->AddRef(This);
12106}
12107static inline ULONG IUrlMon_Release(IUrlMon* This) {
12108 return This->lpVtbl->Release(This);
12109}
12110/*** IUrlMon methods ***/
12111static inline HRESULT IUrlMon_AsyncGetClassBits(IUrlMon* This,REFCLSID rclsid,LPCWSTR pszTYPE,LPCWSTR pszExt,DWORD dwFileVersionMS,DWORD dwFileVersionLS,LPCWSTR pszCodeBase,IBindCtx *pbc,DWORD dwClassContext,REFIID riid,DWORD flags) {
12112 return This->lpVtbl->AsyncGetClassBits(This,rclsid,pszTYPE,pszExt,dwFileVersionMS,dwFileVersionLS,pszCodeBase,pbc,dwClassContext,riid,flags);
12113}
12114#endif
12115#endif
12116
12117#endif
12118
12119
12120#endif /* __IUrlMon_INTERFACE_DEFINED__ */
12121
12122/*****************************************************************************
12123 * IForegroundTransfer interface
12124 */
12125#ifndef __IForegroundTransfer_INTERFACE_DEFINED__
12126#define __IForegroundTransfer_INTERFACE_DEFINED__
12127
12128DEFINE_GUID(IID_IForegroundTransfer, 0x00000145, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
12129#if defined(__cplusplus) && !defined(CINTERFACE)
12130MIDL_INTERFACE("00000145-0000-0000-c000-000000000046")
12131IForegroundTransfer : public IUnknown
12132{
12133 virtual HRESULT STDMETHODCALLTYPE AllowForegroundTransfer(
12134 void *lpvReserved) = 0;
12135
12136};
12137#ifdef __CRT_UUID_DECL
12138__CRT_UUID_DECL(IForegroundTransfer, 0x00000145, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
12139#endif
12140#else
12141typedef struct IForegroundTransferVtbl {
12142 BEGIN_INTERFACE
12143
12144 /*** IUnknown methods ***/
12145 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
12146 IForegroundTransfer *This,
12147 REFIID riid,
12148 void **ppvObject);
12149
12150 ULONG (STDMETHODCALLTYPE *AddRef)(
12151 IForegroundTransfer *This);
12152
12153 ULONG (STDMETHODCALLTYPE *Release)(
12154 IForegroundTransfer *This);
12155
12156 /*** IForegroundTransfer methods ***/
12157 HRESULT (STDMETHODCALLTYPE *AllowForegroundTransfer)(
12158 IForegroundTransfer *This,
12159 void *lpvReserved);
12160
12161 END_INTERFACE
12162} IForegroundTransferVtbl;
12163
12164interface IForegroundTransfer {
12165 CONST_VTBL IForegroundTransferVtbl* lpVtbl;
12166};
12167
12168#ifdef COBJMACROS
12169#ifndef WIDL_C_INLINE_WRAPPERS
12170/*** IUnknown methods ***/
12171#define IForegroundTransfer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
12172#define IForegroundTransfer_AddRef(This) (This)->lpVtbl->AddRef(This)
12173#define IForegroundTransfer_Release(This) (This)->lpVtbl->Release(This)
12174/*** IForegroundTransfer methods ***/
12175#define IForegroundTransfer_AllowForegroundTransfer(This,lpvReserved) (This)->lpVtbl->AllowForegroundTransfer(This,lpvReserved)
12176#else
12177/*** IUnknown methods ***/
12178static inline HRESULT IForegroundTransfer_QueryInterface(IForegroundTransfer* This,REFIID riid,void **ppvObject) {
12179 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
12180}
12181static inline ULONG IForegroundTransfer_AddRef(IForegroundTransfer* This) {
12182 return This->lpVtbl->AddRef(This);
12183}
12184static inline ULONG IForegroundTransfer_Release(IForegroundTransfer* This) {
12185 return This->lpVtbl->Release(This);
12186}
12187/*** IForegroundTransfer methods ***/
12188static inline HRESULT IForegroundTransfer_AllowForegroundTransfer(IForegroundTransfer* This,void *lpvReserved) {
12189 return This->lpVtbl->AllowForegroundTransfer(This,lpvReserved);
12190}
12191#endif
12192#endif
12193
12194#endif
12195
12196
12197#endif /* __IForegroundTransfer_INTERFACE_DEFINED__ */
12198
12199/*****************************************************************************
12200 * IThumbnailExtractor interface
12201 */
12202#ifndef __IThumbnailExtractor_INTERFACE_DEFINED__
12203#define __IThumbnailExtractor_INTERFACE_DEFINED__
12204
12205DEFINE_GUID(IID_IThumbnailExtractor, 0x969dc708, 0x5c76, 0x11d1, 0x8d,0x86, 0x00,0x00,0xf8,0x04,0xb0,0x57);
12206#if defined(__cplusplus) && !defined(CINTERFACE)
12207MIDL_INTERFACE("969dc708-5c76-11d1-8d86-0000f804b057")
12208IThumbnailExtractor : public IUnknown
12209{
12210 virtual HRESULT STDMETHODCALLTYPE ExtractThumbnail(
12211 IStorage *pStg,
12212 ULONG ulLength,
12213 ULONG ulHeight,
12214 ULONG *pulOutputLength,
12215 ULONG *pulOutputHeight,
12216 HBITMAP *phOutputBitmap) = 0;
12217
12218 virtual HRESULT STDMETHODCALLTYPE OnFileUpdated(
12219 IStorage *pStg) = 0;
12220
12221};
12222#ifdef __CRT_UUID_DECL
12223__CRT_UUID_DECL(IThumbnailExtractor, 0x969dc708, 0x5c76, 0x11d1, 0x8d,0x86, 0x00,0x00,0xf8,0x04,0xb0,0x57)
12224#endif
12225#else
12226typedef struct IThumbnailExtractorVtbl {
12227 BEGIN_INTERFACE
12228
12229 /*** IUnknown methods ***/
12230 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
12231 IThumbnailExtractor *This,
12232 REFIID riid,
12233 void **ppvObject);
12234
12235 ULONG (STDMETHODCALLTYPE *AddRef)(
12236 IThumbnailExtractor *This);
12237
12238 ULONG (STDMETHODCALLTYPE *Release)(
12239 IThumbnailExtractor *This);
12240
12241 /*** IThumbnailExtractor methods ***/
12242 HRESULT (STDMETHODCALLTYPE *ExtractThumbnail)(
12243 IThumbnailExtractor *This,
12244 IStorage *pStg,
12245 ULONG ulLength,
12246 ULONG ulHeight,
12247 ULONG *pulOutputLength,
12248 ULONG *pulOutputHeight,
12249 HBITMAP *phOutputBitmap);
12250
12251 HRESULT (STDMETHODCALLTYPE *OnFileUpdated)(
12252 IThumbnailExtractor *This,
12253 IStorage *pStg);
12254
12255 END_INTERFACE
12256} IThumbnailExtractorVtbl;
12257
12258interface IThumbnailExtractor {
12259 CONST_VTBL IThumbnailExtractorVtbl* lpVtbl;
12260};
12261
12262#ifdef COBJMACROS
12263#ifndef WIDL_C_INLINE_WRAPPERS
12264/*** IUnknown methods ***/
12265#define IThumbnailExtractor_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
12266#define IThumbnailExtractor_AddRef(This) (This)->lpVtbl->AddRef(This)
12267#define IThumbnailExtractor_Release(This) (This)->lpVtbl->Release(This)
12268/*** IThumbnailExtractor methods ***/
12269#define IThumbnailExtractor_ExtractThumbnail(This,pStg,ulLength,ulHeight,pulOutputLength,pulOutputHeight,phOutputBitmap) (This)->lpVtbl->ExtractThumbnail(This,pStg,ulLength,ulHeight,pulOutputLength,pulOutputHeight,phOutputBitmap)
12270#define IThumbnailExtractor_OnFileUpdated(This,pStg) (This)->lpVtbl->OnFileUpdated(This,pStg)
12271#else
12272/*** IUnknown methods ***/
12273static inline HRESULT IThumbnailExtractor_QueryInterface(IThumbnailExtractor* This,REFIID riid,void **ppvObject) {
12274 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
12275}
12276static inline ULONG IThumbnailExtractor_AddRef(IThumbnailExtractor* This) {
12277 return This->lpVtbl->AddRef(This);
12278}
12279static inline ULONG IThumbnailExtractor_Release(IThumbnailExtractor* This) {
12280 return This->lpVtbl->Release(This);
12281}
12282/*** IThumbnailExtractor methods ***/
12283static inline HRESULT IThumbnailExtractor_ExtractThumbnail(IThumbnailExtractor* This,IStorage *pStg,ULONG ulLength,ULONG ulHeight,ULONG *pulOutputLength,ULONG *pulOutputHeight,HBITMAP *phOutputBitmap) {
12284 return This->lpVtbl->ExtractThumbnail(This,pStg,ulLength,ulHeight,pulOutputLength,pulOutputHeight,phOutputBitmap);
12285}
12286static inline HRESULT IThumbnailExtractor_OnFileUpdated(IThumbnailExtractor* This,IStorage *pStg) {
12287 return This->lpVtbl->OnFileUpdated(This,pStg);
12288}
12289#endif
12290#endif
12291
12292#endif
12293
12294
12295#endif /* __IThumbnailExtractor_INTERFACE_DEFINED__ */
12296
12297/*****************************************************************************
12298 * IDummyHICONIncluder interface
12299 */
12300#ifndef __IDummyHICONIncluder_INTERFACE_DEFINED__
12301#define __IDummyHICONIncluder_INTERFACE_DEFINED__
12302
12303DEFINE_GUID(IID_IDummyHICONIncluder, 0x947990de, 0xcc28, 0x11d2, 0xa0,0xf7, 0x00,0x80,0x5f,0x85,0x8f,0xb1);
12304#if defined(__cplusplus) && !defined(CINTERFACE)
12305MIDL_INTERFACE("947990de-cc28-11d2-a0f7-00805f858fb1")
12306IDummyHICONIncluder : public IUnknown
12307{
12308 virtual HRESULT STDMETHODCALLTYPE Dummy(
12309 HICON h1,
12310 HDC h2) = 0;
12311
12312};
12313#ifdef __CRT_UUID_DECL
12314__CRT_UUID_DECL(IDummyHICONIncluder, 0x947990de, 0xcc28, 0x11d2, 0xa0,0xf7, 0x00,0x80,0x5f,0x85,0x8f,0xb1)
12315#endif
12316#else
12317typedef struct IDummyHICONIncluderVtbl {
12318 BEGIN_INTERFACE
12319
12320 /*** IUnknown methods ***/
12321 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
12322 IDummyHICONIncluder *This,
12323 REFIID riid,
12324 void **ppvObject);
12325
12326 ULONG (STDMETHODCALLTYPE *AddRef)(
12327 IDummyHICONIncluder *This);
12328
12329 ULONG (STDMETHODCALLTYPE *Release)(
12330 IDummyHICONIncluder *This);
12331
12332 /*** IDummyHICONIncluder methods ***/
12333 HRESULT (STDMETHODCALLTYPE *Dummy)(
12334 IDummyHICONIncluder *This,
12335 HICON h1,
12336 HDC h2);
12337
12338 END_INTERFACE
12339} IDummyHICONIncluderVtbl;
12340
12341interface IDummyHICONIncluder {
12342 CONST_VTBL IDummyHICONIncluderVtbl* lpVtbl;
12343};
12344
12345#ifdef COBJMACROS
12346#ifndef WIDL_C_INLINE_WRAPPERS
12347/*** IUnknown methods ***/
12348#define IDummyHICONIncluder_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
12349#define IDummyHICONIncluder_AddRef(This) (This)->lpVtbl->AddRef(This)
12350#define IDummyHICONIncluder_Release(This) (This)->lpVtbl->Release(This)
12351/*** IDummyHICONIncluder methods ***/
12352#define IDummyHICONIncluder_Dummy(This,h1,h2) (This)->lpVtbl->Dummy(This,h1,h2)
12353#else
12354/*** IUnknown methods ***/
12355static inline HRESULT IDummyHICONIncluder_QueryInterface(IDummyHICONIncluder* This,REFIID riid,void **ppvObject) {
12356 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
12357}
12358static inline ULONG IDummyHICONIncluder_AddRef(IDummyHICONIncluder* This) {
12359 return This->lpVtbl->AddRef(This);
12360}
12361static inline ULONG IDummyHICONIncluder_Release(IDummyHICONIncluder* This) {
12362 return This->lpVtbl->Release(This);
12363}
12364/*** IDummyHICONIncluder methods ***/
12365static inline HRESULT IDummyHICONIncluder_Dummy(IDummyHICONIncluder* This,HICON h1,HDC h2) {
12366 return This->lpVtbl->Dummy(This,h1,h2);
12367}
12368#endif
12369#endif
12370
12371#endif
12372
12373
12374#endif /* __IDummyHICONIncluder_INTERFACE_DEFINED__ */
12375
12376typedef enum tagApplicationType {
12377 ServerApplication = 0,
12378 LibraryApplication = 1
12379} ApplicationType;
12380typedef enum tagShutdownType {
12381 IdleShutdown = 0,
12382 ForcedShutdown = 1
12383} ShutdownType;
12384/*****************************************************************************
12385 * IProcessLock interface
12386 */
12387#ifndef __IProcessLock_INTERFACE_DEFINED__
12388#define __IProcessLock_INTERFACE_DEFINED__
12389
12390DEFINE_GUID(IID_IProcessLock, 0x000001d5, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
12391#if defined(__cplusplus) && !defined(CINTERFACE)
12392MIDL_INTERFACE("000001d5-0000-0000-c000-000000000046")
12393IProcessLock : public IUnknown
12394{
12395 virtual ULONG STDMETHODCALLTYPE AddRefOnProcess(
12396 ) = 0;
12397
12398 virtual ULONG STDMETHODCALLTYPE ReleaseRefOnProcess(
12399 ) = 0;
12400
12401};
12402#ifdef __CRT_UUID_DECL
12403__CRT_UUID_DECL(IProcessLock, 0x000001d5, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
12404#endif
12405#else
12406typedef struct IProcessLockVtbl {
12407 BEGIN_INTERFACE
12408
12409 /*** IUnknown methods ***/
12410 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
12411 IProcessLock *This,
12412 REFIID riid,
12413 void **ppvObject);
12414
12415 ULONG (STDMETHODCALLTYPE *AddRef)(
12416 IProcessLock *This);
12417
12418 ULONG (STDMETHODCALLTYPE *Release)(
12419 IProcessLock *This);
12420
12421 /*** IProcessLock methods ***/
12422 ULONG (STDMETHODCALLTYPE *AddRefOnProcess)(
12423 IProcessLock *This);
12424
12425 ULONG (STDMETHODCALLTYPE *ReleaseRefOnProcess)(
12426 IProcessLock *This);
12427
12428 END_INTERFACE
12429} IProcessLockVtbl;
12430
12431interface IProcessLock {
12432 CONST_VTBL IProcessLockVtbl* lpVtbl;
12433};
12434
12435#ifdef COBJMACROS
12436#ifndef WIDL_C_INLINE_WRAPPERS
12437/*** IUnknown methods ***/
12438#define IProcessLock_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
12439#define IProcessLock_AddRef(This) (This)->lpVtbl->AddRef(This)
12440#define IProcessLock_Release(This) (This)->lpVtbl->Release(This)
12441/*** IProcessLock methods ***/
12442#define IProcessLock_AddRefOnProcess(This) (This)->lpVtbl->AddRefOnProcess(This)
12443#define IProcessLock_ReleaseRefOnProcess(This) (This)->lpVtbl->ReleaseRefOnProcess(This)
12444#else
12445/*** IUnknown methods ***/
12446static inline HRESULT IProcessLock_QueryInterface(IProcessLock* This,REFIID riid,void **ppvObject) {
12447 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
12448}
12449static inline ULONG IProcessLock_AddRef(IProcessLock* This) {
12450 return This->lpVtbl->AddRef(This);
12451}
12452static inline ULONG IProcessLock_Release(IProcessLock* This) {
12453 return This->lpVtbl->Release(This);
12454}
12455/*** IProcessLock methods ***/
12456static inline ULONG IProcessLock_AddRefOnProcess(IProcessLock* This) {
12457 return This->lpVtbl->AddRefOnProcess(This);
12458}
12459static inline ULONG IProcessLock_ReleaseRefOnProcess(IProcessLock* This) {
12460 return This->lpVtbl->ReleaseRefOnProcess(This);
12461}
12462#endif
12463#endif
12464
12465#endif
12466
12467
12468#endif /* __IProcessLock_INTERFACE_DEFINED__ */
12469
12470/*****************************************************************************
12471 * ISurrogateService interface
12472 */
12473#ifndef __ISurrogateService_INTERFACE_DEFINED__
12474#define __ISurrogateService_INTERFACE_DEFINED__
12475
12476DEFINE_GUID(IID_ISurrogateService, 0x000001d4, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
12477#if defined(__cplusplus) && !defined(CINTERFACE)
12478MIDL_INTERFACE("000001d4-0000-0000-c000-000000000046")
12479ISurrogateService : public IUnknown
12480{
12481 virtual HRESULT STDMETHODCALLTYPE Init(
12482 REFGUID rguidProcessID,
12483 IProcessLock *pProcessLock,
12484 WINBOOL *pfApplicationAware) = 0;
12485
12486 virtual HRESULT STDMETHODCALLTYPE ApplicationLaunch(
12487 REFGUID rguidApplID,
12488 ApplicationType appType) = 0;
12489
12490 virtual HRESULT STDMETHODCALLTYPE ApplicationFree(
12491 REFGUID rguidApplID) = 0;
12492
12493 virtual HRESULT STDMETHODCALLTYPE CatalogRefresh(
12494 ULONG ulReserved) = 0;
12495
12496 virtual HRESULT STDMETHODCALLTYPE ProcessShutdown(
12497 ShutdownType shutdownType) = 0;
12498
12499};
12500#ifdef __CRT_UUID_DECL
12501__CRT_UUID_DECL(ISurrogateService, 0x000001d4, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
12502#endif
12503#else
12504typedef struct ISurrogateServiceVtbl {
12505 BEGIN_INTERFACE
12506
12507 /*** IUnknown methods ***/
12508 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
12509 ISurrogateService *This,
12510 REFIID riid,
12511 void **ppvObject);
12512
12513 ULONG (STDMETHODCALLTYPE *AddRef)(
12514 ISurrogateService *This);
12515
12516 ULONG (STDMETHODCALLTYPE *Release)(
12517 ISurrogateService *This);
12518
12519 /*** ISurrogateService methods ***/
12520 HRESULT (STDMETHODCALLTYPE *Init)(
12521 ISurrogateService *This,
12522 REFGUID rguidProcessID,
12523 IProcessLock *pProcessLock,
12524 WINBOOL *pfApplicationAware);
12525
12526 HRESULT (STDMETHODCALLTYPE *ApplicationLaunch)(
12527 ISurrogateService *This,
12528 REFGUID rguidApplID,
12529 ApplicationType appType);
12530
12531 HRESULT (STDMETHODCALLTYPE *ApplicationFree)(
12532 ISurrogateService *This,
12533 REFGUID rguidApplID);
12534
12535 HRESULT (STDMETHODCALLTYPE *CatalogRefresh)(
12536 ISurrogateService *This,
12537 ULONG ulReserved);
12538
12539 HRESULT (STDMETHODCALLTYPE *ProcessShutdown)(
12540 ISurrogateService *This,
12541 ShutdownType shutdownType);
12542
12543 END_INTERFACE
12544} ISurrogateServiceVtbl;
12545
12546interface ISurrogateService {
12547 CONST_VTBL ISurrogateServiceVtbl* lpVtbl;
12548};
12549
12550#ifdef COBJMACROS
12551#ifndef WIDL_C_INLINE_WRAPPERS
12552/*** IUnknown methods ***/
12553#define ISurrogateService_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
12554#define ISurrogateService_AddRef(This) (This)->lpVtbl->AddRef(This)
12555#define ISurrogateService_Release(This) (This)->lpVtbl->Release(This)
12556/*** ISurrogateService methods ***/
12557#define ISurrogateService_Init(This,rguidProcessID,pProcessLock,pfApplicationAware) (This)->lpVtbl->Init(This,rguidProcessID,pProcessLock,pfApplicationAware)
12558#define ISurrogateService_ApplicationLaunch(This,rguidApplID,appType) (This)->lpVtbl->ApplicationLaunch(This,rguidApplID,appType)
12559#define ISurrogateService_ApplicationFree(This,rguidApplID) (This)->lpVtbl->ApplicationFree(This,rguidApplID)
12560#define ISurrogateService_CatalogRefresh(This,ulReserved) (This)->lpVtbl->CatalogRefresh(This,ulReserved)
12561#define ISurrogateService_ProcessShutdown(This,shutdownType) (This)->lpVtbl->ProcessShutdown(This,shutdownType)
12562#else
12563/*** IUnknown methods ***/
12564static inline HRESULT ISurrogateService_QueryInterface(ISurrogateService* This,REFIID riid,void **ppvObject) {
12565 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
12566}
12567static inline ULONG ISurrogateService_AddRef(ISurrogateService* This) {
12568 return This->lpVtbl->AddRef(This);
12569}
12570static inline ULONG ISurrogateService_Release(ISurrogateService* This) {
12571 return This->lpVtbl->Release(This);
12572}
12573/*** ISurrogateService methods ***/
12574static inline HRESULT ISurrogateService_Init(ISurrogateService* This,REFGUID rguidProcessID,IProcessLock *pProcessLock,WINBOOL *pfApplicationAware) {
12575 return This->lpVtbl->Init(This,rguidProcessID,pProcessLock,pfApplicationAware);
12576}
12577static inline HRESULT ISurrogateService_ApplicationLaunch(ISurrogateService* This,REFGUID rguidApplID,ApplicationType appType) {
12578 return This->lpVtbl->ApplicationLaunch(This,rguidApplID,appType);
12579}
12580static inline HRESULT ISurrogateService_ApplicationFree(ISurrogateService* This,REFGUID rguidApplID) {
12581 return This->lpVtbl->ApplicationFree(This,rguidApplID);
12582}
12583static inline HRESULT ISurrogateService_CatalogRefresh(ISurrogateService* This,ULONG ulReserved) {
12584 return This->lpVtbl->CatalogRefresh(This,ulReserved);
12585}
12586static inline HRESULT ISurrogateService_ProcessShutdown(ISurrogateService* This,ShutdownType shutdownType) {
12587 return This->lpVtbl->ProcessShutdown(This,shutdownType);
12588}
12589#endif
12590#endif
12591
12592#endif
12593
12594
12595#endif /* __ISurrogateService_INTERFACE_DEFINED__ */
12596
12597/*****************************************************************************
12598 * IInitializeSpy interface
12599 */
12600#ifndef __IInitializeSpy_INTERFACE_DEFINED__
12601#define __IInitializeSpy_INTERFACE_DEFINED__
12602
12603typedef IInitializeSpy *LPINITIALIZESPY;
12604DEFINE_GUID(IID_IInitializeSpy, 0x00000034, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
12605#if defined(__cplusplus) && !defined(CINTERFACE)
12606MIDL_INTERFACE("00000034-0000-0000-c000-000000000046")
12607IInitializeSpy : public IUnknown
12608{
12609 virtual HRESULT STDMETHODCALLTYPE PreInitialize(
12610 DWORD dwCoInit,
12611 DWORD dwCurThreadAptRefs) = 0;
12612
12613 virtual HRESULT STDMETHODCALLTYPE PostInitialize(
12614 HRESULT hrCoInit,
12615 DWORD dwCoInit,
12616 DWORD dwNewThreadAptRefs) = 0;
12617
12618 virtual HRESULT STDMETHODCALLTYPE PreUninitialize(
12619 DWORD dwCurThreadAptRefs) = 0;
12620
12621 virtual HRESULT STDMETHODCALLTYPE PostUninitialize(
12622 DWORD dwNewThreadAptRefs) = 0;
12623
12624};
12625#ifdef __CRT_UUID_DECL
12626__CRT_UUID_DECL(IInitializeSpy, 0x00000034, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
12627#endif
12628#else
12629typedef struct IInitializeSpyVtbl {
12630 BEGIN_INTERFACE
12631
12632 /*** IUnknown methods ***/
12633 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
12634 IInitializeSpy *This,
12635 REFIID riid,
12636 void **ppvObject);
12637
12638 ULONG (STDMETHODCALLTYPE *AddRef)(
12639 IInitializeSpy *This);
12640
12641 ULONG (STDMETHODCALLTYPE *Release)(
12642 IInitializeSpy *This);
12643
12644 /*** IInitializeSpy methods ***/
12645 HRESULT (STDMETHODCALLTYPE *PreInitialize)(
12646 IInitializeSpy *This,
12647 DWORD dwCoInit,
12648 DWORD dwCurThreadAptRefs);
12649
12650 HRESULT (STDMETHODCALLTYPE *PostInitialize)(
12651 IInitializeSpy *This,
12652 HRESULT hrCoInit,
12653 DWORD dwCoInit,
12654 DWORD dwNewThreadAptRefs);
12655
12656 HRESULT (STDMETHODCALLTYPE *PreUninitialize)(
12657 IInitializeSpy *This,
12658 DWORD dwCurThreadAptRefs);
12659
12660 HRESULT (STDMETHODCALLTYPE *PostUninitialize)(
12661 IInitializeSpy *This,
12662 DWORD dwNewThreadAptRefs);
12663
12664 END_INTERFACE
12665} IInitializeSpyVtbl;
12666
12667interface IInitializeSpy {
12668 CONST_VTBL IInitializeSpyVtbl* lpVtbl;
12669};
12670
12671#ifdef COBJMACROS
12672#ifndef WIDL_C_INLINE_WRAPPERS
12673/*** IUnknown methods ***/
12674#define IInitializeSpy_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
12675#define IInitializeSpy_AddRef(This) (This)->lpVtbl->AddRef(This)
12676#define IInitializeSpy_Release(This) (This)->lpVtbl->Release(This)
12677/*** IInitializeSpy methods ***/
12678#define IInitializeSpy_PreInitialize(This,dwCoInit,dwCurThreadAptRefs) (This)->lpVtbl->PreInitialize(This,dwCoInit,dwCurThreadAptRefs)
12679#define IInitializeSpy_PostInitialize(This,hrCoInit,dwCoInit,dwNewThreadAptRefs) (This)->lpVtbl->PostInitialize(This,hrCoInit,dwCoInit,dwNewThreadAptRefs)
12680#define IInitializeSpy_PreUninitialize(This,dwCurThreadAptRefs) (This)->lpVtbl->PreUninitialize(This,dwCurThreadAptRefs)
12681#define IInitializeSpy_PostUninitialize(This,dwNewThreadAptRefs) (This)->lpVtbl->PostUninitialize(This,dwNewThreadAptRefs)
12682#else
12683/*** IUnknown methods ***/
12684static inline HRESULT IInitializeSpy_QueryInterface(IInitializeSpy* This,REFIID riid,void **ppvObject) {
12685 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
12686}
12687static inline ULONG IInitializeSpy_AddRef(IInitializeSpy* This) {
12688 return This->lpVtbl->AddRef(This);
12689}
12690static inline ULONG IInitializeSpy_Release(IInitializeSpy* This) {
12691 return This->lpVtbl->Release(This);
12692}
12693/*** IInitializeSpy methods ***/
12694static inline HRESULT IInitializeSpy_PreInitialize(IInitializeSpy* This,DWORD dwCoInit,DWORD dwCurThreadAptRefs) {
12695 return This->lpVtbl->PreInitialize(This,dwCoInit,dwCurThreadAptRefs);
12696}
12697static inline HRESULT IInitializeSpy_PostInitialize(IInitializeSpy* This,HRESULT hrCoInit,DWORD dwCoInit,DWORD dwNewThreadAptRefs) {
12698 return This->lpVtbl->PostInitialize(This,hrCoInit,dwCoInit,dwNewThreadAptRefs);
12699}
12700static inline HRESULT IInitializeSpy_PreUninitialize(IInitializeSpy* This,DWORD dwCurThreadAptRefs) {
12701 return This->lpVtbl->PreUninitialize(This,dwCurThreadAptRefs);
12702}
12703static inline HRESULT IInitializeSpy_PostUninitialize(IInitializeSpy* This,DWORD dwNewThreadAptRefs) {
12704 return This->lpVtbl->PostUninitialize(This,dwNewThreadAptRefs);
12705}
12706#endif
12707#endif
12708
12709#endif
12710
12711
12712#endif /* __IInitializeSpy_INTERFACE_DEFINED__ */
12713
12714#endif
12715#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
12716/*****************************************************************************
12717 * IApartmentShutdown interface
12718 */
12719#ifndef __IApartmentShutdown_INTERFACE_DEFINED__
12720#define __IApartmentShutdown_INTERFACE_DEFINED__
12721
12722DEFINE_GUID(IID_IApartmentShutdown, 0xa2f05a09, 0x27a2, 0x42b5, 0xbc,0x0e, 0xac,0x16,0x3e,0xf4,0x9d,0x9b);
12723#if defined(__cplusplus) && !defined(CINTERFACE)
12724MIDL_INTERFACE("a2f05a09-27a2-42b5-bc0e-ac163ef49d9b")
12725IApartmentShutdown : public IUnknown
12726{
12727 virtual void STDMETHODCALLTYPE OnUninitialize(
12728 UINT64 ui64ApartmentIdentifier) = 0;
12729
12730};
12731#ifdef __CRT_UUID_DECL
12732__CRT_UUID_DECL(IApartmentShutdown, 0xa2f05a09, 0x27a2, 0x42b5, 0xbc,0x0e, 0xac,0x16,0x3e,0xf4,0x9d,0x9b)
12733#endif
12734#else
12735typedef struct IApartmentShutdownVtbl {
12736 BEGIN_INTERFACE
12737
12738 /*** IUnknown methods ***/
12739 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
12740 IApartmentShutdown *This,
12741 REFIID riid,
12742 void **ppvObject);
12743
12744 ULONG (STDMETHODCALLTYPE *AddRef)(
12745 IApartmentShutdown *This);
12746
12747 ULONG (STDMETHODCALLTYPE *Release)(
12748 IApartmentShutdown *This);
12749
12750 /*** IApartmentShutdown methods ***/
12751 void (STDMETHODCALLTYPE *OnUninitialize)(
12752 IApartmentShutdown *This,
12753 UINT64 ui64ApartmentIdentifier);
12754
12755 END_INTERFACE
12756} IApartmentShutdownVtbl;
12757
12758interface IApartmentShutdown {
12759 CONST_VTBL IApartmentShutdownVtbl* lpVtbl;
12760};
12761
12762#ifdef COBJMACROS
12763#ifndef WIDL_C_INLINE_WRAPPERS
12764/*** IUnknown methods ***/
12765#define IApartmentShutdown_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
12766#define IApartmentShutdown_AddRef(This) (This)->lpVtbl->AddRef(This)
12767#define IApartmentShutdown_Release(This) (This)->lpVtbl->Release(This)
12768/*** IApartmentShutdown methods ***/
12769#define IApartmentShutdown_OnUninitialize(This,ui64ApartmentIdentifier) (This)->lpVtbl->OnUninitialize(This,ui64ApartmentIdentifier)
12770#else
12771/*** IUnknown methods ***/
12772static inline HRESULT IApartmentShutdown_QueryInterface(IApartmentShutdown* This,REFIID riid,void **ppvObject) {
12773 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
12774}
12775static inline ULONG IApartmentShutdown_AddRef(IApartmentShutdown* This) {
12776 return This->lpVtbl->AddRef(This);
12777}
12778static inline ULONG IApartmentShutdown_Release(IApartmentShutdown* This) {
12779 return This->lpVtbl->Release(This);
12780}
12781/*** IApartmentShutdown methods ***/
12782static inline void IApartmentShutdown_OnUninitialize(IApartmentShutdown* This,UINT64 ui64ApartmentIdentifier) {
12783 This->lpVtbl->OnUninitialize(This,ui64ApartmentIdentifier);
12784}
12785#endif
12786#endif
12787
12788#endif
12789
12790
12791#endif /* __IApartmentShutdown_INTERFACE_DEFINED__ */
12792
12793#endif
12794/* Begin additional prototypes for all interfaces */
12795
12796ULONG __RPC_USER SNB_UserSize (ULONG *, ULONG, SNB *);
12797unsigned char * __RPC_USER SNB_UserMarshal (ULONG *, unsigned char *, SNB *);
12798unsigned char * __RPC_USER SNB_UserUnmarshal(ULONG *, unsigned char *, SNB *);
12799void __RPC_USER SNB_UserFree (ULONG *, SNB *);
12800ULONG __RPC_USER CLIPFORMAT_UserSize (ULONG *, ULONG, CLIPFORMAT *);
12801unsigned char * __RPC_USER CLIPFORMAT_UserMarshal (ULONG *, unsigned char *, CLIPFORMAT *);
12802unsigned char * __RPC_USER CLIPFORMAT_UserUnmarshal(ULONG *, unsigned char *, CLIPFORMAT *);
12803void __RPC_USER CLIPFORMAT_UserFree (ULONG *, CLIPFORMAT *);
12804ULONG __RPC_USER STGMEDIUM_UserSize (ULONG *, ULONG, STGMEDIUM *);
12805unsigned char * __RPC_USER STGMEDIUM_UserMarshal (ULONG *, unsigned char *, STGMEDIUM *);
12806unsigned char * __RPC_USER STGMEDIUM_UserUnmarshal(ULONG *, unsigned char *, STGMEDIUM *);
12807void __RPC_USER STGMEDIUM_UserFree (ULONG *, STGMEDIUM *);
12808ULONG __RPC_USER ASYNC_STGMEDIUM_UserSize (ULONG *, ULONG, ASYNC_STGMEDIUM *);
12809unsigned char * __RPC_USER ASYNC_STGMEDIUM_UserMarshal (ULONG *, unsigned char *, ASYNC_STGMEDIUM *);
12810unsigned char * __RPC_USER ASYNC_STGMEDIUM_UserUnmarshal(ULONG *, unsigned char *, ASYNC_STGMEDIUM *);
12811void __RPC_USER ASYNC_STGMEDIUM_UserFree (ULONG *, ASYNC_STGMEDIUM *);
12812ULONG __RPC_USER FLAG_STGMEDIUM_UserSize (ULONG *, ULONG, FLAG_STGMEDIUM *);
12813unsigned char * __RPC_USER FLAG_STGMEDIUM_UserMarshal (ULONG *, unsigned char *, FLAG_STGMEDIUM *);
12814unsigned char * __RPC_USER FLAG_STGMEDIUM_UserUnmarshal(ULONG *, unsigned char *, FLAG_STGMEDIUM *);
12815void __RPC_USER FLAG_STGMEDIUM_UserFree (ULONG *, FLAG_STGMEDIUM *);
12816ULONG __RPC_USER HBITMAP_UserSize (ULONG *, ULONG, HBITMAP *);
12817unsigned char * __RPC_USER HBITMAP_UserMarshal (ULONG *, unsigned char *, HBITMAP *);
12818unsigned char * __RPC_USER HBITMAP_UserUnmarshal(ULONG *, unsigned char *, HBITMAP *);
12819void __RPC_USER HBITMAP_UserFree (ULONG *, HBITMAP *);
12820ULONG __RPC_USER HICON_UserSize (ULONG *, ULONG, HICON *);
12821unsigned char * __RPC_USER HICON_UserMarshal (ULONG *, unsigned char *, HICON *);
12822unsigned char * __RPC_USER HICON_UserUnmarshal(ULONG *, unsigned char *, HICON *);
12823void __RPC_USER HICON_UserFree (ULONG *, HICON *);
12824ULONG __RPC_USER HDC_UserSize (ULONG *, ULONG, HDC *);
12825unsigned char * __RPC_USER HDC_UserMarshal (ULONG *, unsigned char *, HDC *);
12826unsigned char * __RPC_USER HDC_UserUnmarshal(ULONG *, unsigned char *, HDC *);
12827void __RPC_USER HDC_UserFree (ULONG *, HDC *);
12828
12829/* End additional prototypes */
12830
12831#ifdef __cplusplus
12832}
12833#endif
12834
12835#endif /* __objidl_h__ */