Home | History | Annotate | Download | only in include
      1 /*** Autogenerated by WIDL 1.5.25 from include/objidl.idl - Do not edit ***/
      2 
      3 #ifndef __REQUIRED_RPCNDR_H_VERSION__
      4 #define __REQUIRED_RPCNDR_H_VERSION__ 475
      5 #endif
      6 
      7 #include <rpc.h>
      8 #include <rpcndr.h>
      9 
     10 #ifndef COM_NO_WINDOWS_H
     11 #include <windows.h>
     12 #include <ole2.h>
     13 #endif
     14 
     15 #ifndef __objidl_h__
     16 #define __objidl_h__
     17 
     18 /* Forward declarations */
     19 
     20 #ifndef __IEnumUnknown_FWD_DEFINED__
     21 #define __IEnumUnknown_FWD_DEFINED__
     22 typedef interface IEnumUnknown IEnumUnknown;
     23 #endif
     24 
     25 #ifndef __IBindCtx_FWD_DEFINED__
     26 #define __IBindCtx_FWD_DEFINED__
     27 typedef interface IBindCtx IBindCtx;
     28 #endif
     29 
     30 #ifndef __IEnumMoniker_FWD_DEFINED__
     31 #define __IEnumMoniker_FWD_DEFINED__
     32 typedef interface IEnumMoniker IEnumMoniker;
     33 #endif
     34 
     35 #ifndef __IRunningObjectTable_FWD_DEFINED__
     36 #define __IRunningObjectTable_FWD_DEFINED__
     37 typedef interface IRunningObjectTable IRunningObjectTable;
     38 #endif
     39 
     40 #ifndef __IPersist_FWD_DEFINED__
     41 #define __IPersist_FWD_DEFINED__
     42 typedef interface IPersist IPersist;
     43 #endif
     44 
     45 #ifndef __IPersistStream_FWD_DEFINED__
     46 #define __IPersistStream_FWD_DEFINED__
     47 typedef interface IPersistStream IPersistStream;
     48 #endif
     49 
     50 #ifndef __IMoniker_FWD_DEFINED__
     51 #define __IMoniker_FWD_DEFINED__
     52 typedef interface IMoniker IMoniker;
     53 #endif
     54 
     55 #ifndef __IEnumString_FWD_DEFINED__
     56 #define __IEnumString_FWD_DEFINED__
     57 typedef interface IEnumString IEnumString;
     58 #endif
     59 
     60 #ifndef __ISequentialStream_FWD_DEFINED__
     61 #define __ISequentialStream_FWD_DEFINED__
     62 typedef interface ISequentialStream ISequentialStream;
     63 #endif
     64 
     65 #ifndef __IStream_FWD_DEFINED__
     66 #define __IStream_FWD_DEFINED__
     67 typedef interface IStream IStream;
     68 #endif
     69 
     70 #ifndef __IEnumSTATSTG_FWD_DEFINED__
     71 #define __IEnumSTATSTG_FWD_DEFINED__
     72 typedef interface IEnumSTATSTG IEnumSTATSTG;
     73 #endif
     74 
     75 #ifndef __IStorage_FWD_DEFINED__
     76 #define __IStorage_FWD_DEFINED__
     77 typedef interface IStorage IStorage;
     78 #endif
     79 
     80 #ifndef __IEnumFORMATETC_FWD_DEFINED__
     81 #define __IEnumFORMATETC_FWD_DEFINED__
     82 typedef interface IEnumFORMATETC IEnumFORMATETC;
     83 #endif
     84 
     85 #ifndef __IEnumSTATDATA_FWD_DEFINED__
     86 #define __IEnumSTATDATA_FWD_DEFINED__
     87 typedef interface IEnumSTATDATA IEnumSTATDATA;
     88 #endif
     89 
     90 #ifndef __IAdviseSink_FWD_DEFINED__
     91 #define __IAdviseSink_FWD_DEFINED__
     92 typedef interface IAdviseSink IAdviseSink;
     93 #endif
     94 
     95 #ifndef __IDataObject_FWD_DEFINED__
     96 #define __IDataObject_FWD_DEFINED__
     97 typedef interface IDataObject IDataObject;
     98 #endif
     99 
    100 /* Headers for imported files */
    101 
    102 #include <unknwn.h>
    103 #include <wtypes.h>
    104 
    105 #ifdef __cplusplus
    106 extern "C" {
    107 #endif
    108 
    109 #ifndef __IMoniker_FWD_DEFINED__
    110 #define __IMoniker_FWD_DEFINED__
    111 typedef interface IMoniker IMoniker;
    112 #endif
    113 
    114 #ifndef __IEnumMoniker_FWD_DEFINED__
    115 #define __IEnumMoniker_FWD_DEFINED__
    116 typedef interface IEnumMoniker IEnumMoniker;
    117 #endif
    118 
    119 #ifndef __IRunningObjectTable_FWD_DEFINED__
    120 #define __IRunningObjectTable_FWD_DEFINED__
    121 typedef interface IRunningObjectTable IRunningObjectTable;
    122 #endif
    123 
    124 #ifndef __IEnumString_FWD_DEFINED__
    125 #define __IEnumString_FWD_DEFINED__
    126 typedef interface IEnumString IEnumString;
    127 #endif
    128 
    129 #ifndef __IStream_FWD_DEFINED__
    130 #define __IStream_FWD_DEFINED__
    131 typedef interface IStream IStream;
    132 #endif
    133 
    134 #ifndef __IAdviseSink_FWD_DEFINED__
    135 #define __IAdviseSink_FWD_DEFINED__
    136 typedef interface IAdviseSink IAdviseSink;
    137 #endif
    138 
    139 #ifndef __IMarshal_FWD_DEFINED__
    140 #define __IMarshal_FWD_DEFINED__
    141 typedef struct IMarshal IMarshal;
    142 #endif
    143 
    144 #ifndef __IMarshal2_FWD_DEFINED__
    145 #define __IMarshal2_FWD_DEFINED__
    146 typedef struct IMarshal2 IMarshal2;
    147 #endif
    148 
    149 #ifndef __IMalloc_FWD_DEFINED__
    150 #define __IMalloc_FWD_DEFINED__
    151 typedef struct IMalloc IMalloc;
    152 #endif
    153 
    154 #ifndef __IMallocSpy_FWD_DEFINED__
    155 #define __IMallocSpy_FWD_DEFINED__
    156 typedef struct IMallocSpy IMallocSpy;
    157 #endif
    158 
    159 #ifndef __IStdMarshalInfo_FWD_DEFINED__
    160 #define __IStdMarshalInfo_FWD_DEFINED__
    161 typedef struct IStdMarshalInfo IStdMarshalInfo;
    162 #endif
    163 
    164 #ifndef __IExternalConnection_FWD_DEFINED__
    165 #define __IExternalConnection_FWD_DEFINED__
    166 typedef struct IExternalConnection IExternalConnection;
    167 #endif
    168 
    169 #ifndef __IMultiQI_FWD_DEFINED__
    170 #define __IMultiQI_FWD_DEFINED__
    171 typedef struct IMultiQI IMultiQI;
    172 #endif
    173 
    174 #ifndef __AsyncIMultiQI_FWD_DEFINED__
    175 #define __AsyncIMultiQI_FWD_DEFINED__
    176 typedef struct AsyncIMultiQI AsyncIMultiQI;
    177 #endif
    178 
    179 #ifndef __IInternalUnknown_FWD_DEFINED__
    180 #define __IInternalUnknown_FWD_DEFINED__
    181 typedef struct IInternalUnknown IInternalUnknown;
    182 #endif
    183 
    184 #ifndef __IRunnableObject_FWD_DEFINED__
    185 #define __IRunnableObject_FWD_DEFINED__
    186 typedef struct IRunnableObject IRunnableObject;
    187 #endif
    188 
    189 #ifndef __IROTData_FWD_DEFINED__
    190 #define __IROTData_FWD_DEFINED__
    191 typedef struct IROTData IROTData;
    192 #endif
    193 
    194 #ifndef __IPersistFile_FWD_DEFINED__
    195 #define __IPersistFile_FWD_DEFINED__
    196 typedef struct IPersistFile IPersistFile;
    197 #endif
    198 
    199 #ifndef __IPersistStorage_FWD_DEFINED__
    200 #define __IPersistStorage_FWD_DEFINED__
    201 typedef struct IPersistStorage IPersistStorage;
    202 #endif
    203 
    204 #ifndef __ILockBytes_FWD_DEFINED__
    205 #define __ILockBytes_FWD_DEFINED__
    206 typedef struct ILockBytes ILockBytes;
    207 #endif
    208 
    209 #ifndef __IRootStorage_FWD_DEFINED__
    210 #define __IRootStorage_FWD_DEFINED__
    211 typedef struct IRootStorage IRootStorage;
    212 #endif
    213 
    214 #ifndef __AsyncIAdviseSink_FWD_DEFINED__
    215 #define __AsyncIAdviseSink_FWD_DEFINED__
    216 typedef struct AsyncIAdviseSink AsyncIAdviseSink;
    217 #endif
    218 
    219 #ifndef __IAdviseSink2_FWD_DEFINED__
    220 #define __IAdviseSink2_FWD_DEFINED__
    221 typedef struct IAdviseSink2 IAdviseSink2;
    222 #endif
    223 
    224 #ifndef __AsyncIAdviseSink2_FWD_DEFINED__
    225 #define __AsyncIAdviseSink2_FWD_DEFINED__
    226 typedef struct AsyncIAdviseSink2 AsyncIAdviseSink2;
    227 #endif
    228 
    229 #ifndef __IDataAdviseHolder_FWD_DEFINED__
    230 #define __IDataAdviseHolder_FWD_DEFINED__
    231 typedef struct IDataAdviseHolder IDataAdviseHolder;
    232 #endif
    233 
    234 #ifndef __IMessageFilter_FWD_DEFINED__
    235 #define __IMessageFilter_FWD_DEFINED__
    236 typedef struct IMessageFilter IMessageFilter;
    237 #endif
    238 
    239 #ifndef __IRpcChannelBuffer_FWD_DEFINED__
    240 #define __IRpcChannelBuffer_FWD_DEFINED__
    241 typedef struct IRpcChannelBuffer IRpcChannelBuffer;
    242 #endif
    243 
    244 #ifndef __IRpcChannelBuffer2_FWD_DEFINED__
    245 #define __IRpcChannelBuffer2_FWD_DEFINED__
    246 typedef struct IRpcChannelBuffer2 IRpcChannelBuffer2;
    247 #endif
    248 
    249 #ifndef __IAsyncRpcChannelBuffer_FWD_DEFINED__
    250 #define __IAsyncRpcChannelBuffer_FWD_DEFINED__
    251 typedef struct IAsyncRpcChannelBuffer IAsyncRpcChannelBuffer;
    252 #endif
    253 
    254 #ifndef __IRpcChannelBuffer3_FWD_DEFINED__
    255 #define __IRpcChannelBuffer3_FWD_DEFINED__
    256 typedef struct IRpcChannelBuffer3 IRpcChannelBuffer3;
    257 #endif
    258 
    259 #ifndef __IRpcSyntaxNegotiate_FWD_DEFINED__
    260 #define __IRpcSyntaxNegotiate_FWD_DEFINED__
    261 typedef struct IRpcSyntaxNegotiate IRpcSyntaxNegotiate;
    262 #endif
    263 
    264 #ifndef __IRpcProxyBuffer_FWD_DEFINED__
    265 #define __IRpcProxyBuffer_FWD_DEFINED__
    266 typedef struct IRpcProxyBuffer IRpcProxyBuffer;
    267 #endif
    268 
    269 #ifndef __IRpcStubBuffer_FWD_DEFINED__
    270 #define __IRpcStubBuffer_FWD_DEFINED__
    271 typedef struct IRpcStubBuffer IRpcStubBuffer;
    272 #endif
    273 
    274 #ifndef __IPSFactoryBuffer_FWD_DEFINED__
    275 #define __IPSFactoryBuffer_FWD_DEFINED__
    276 typedef struct IPSFactoryBuffer IPSFactoryBuffer;
    277 #endif
    278 
    279 #ifndef __IChannelHook_FWD_DEFINED__
    280 #define __IChannelHook_FWD_DEFINED__
    281 typedef struct IChannelHook IChannelHook;
    282 #endif
    283 
    284 #ifndef __IClientSecurity_FWD_DEFINED__
    285 #define __IClientSecurity_FWD_DEFINED__
    286 typedef struct IClientSecurity IClientSecurity;
    287 #endif
    288 
    289 #ifndef __IServerSecurity_FWD_DEFINED__
    290 #define __IServerSecurity_FWD_DEFINED__
    291 typedef struct IServerSecurity IServerSecurity;
    292 #endif
    293 
    294 #ifndef __IClassActivator_FWD_DEFINED__
    295 #define __IClassActivator_FWD_DEFINED__
    296 typedef struct IClassActivator IClassActivator;
    297 #endif
    298 
    299 #ifndef __IRpcOptions_FWD_DEFINED__
    300 #define __IRpcOptions_FWD_DEFINED__
    301 typedef struct IRpcOptions IRpcOptions;
    302 #endif
    303 
    304 #ifndef __IFillLockBytes_FWD_DEFINED__
    305 #define __IFillLockBytes_FWD_DEFINED__
    306 typedef struct IFillLockBytes IFillLockBytes;
    307 #endif
    308 
    309 #ifndef __IProgressNotify_FWD_DEFINED__
    310 #define __IProgressNotify_FWD_DEFINED__
    311 typedef struct IProgressNotify IProgressNotify;
    312 #endif
    313 
    314 #ifndef __ILayoutStorage_FWD_DEFINED__
    315 #define __ILayoutStorage_FWD_DEFINED__
    316 typedef struct ILayoutStorage ILayoutStorage;
    317 #endif
    318 
    319 #ifndef __IBlockingLock_FWD_DEFINED__
    320 #define __IBlockingLock_FWD_DEFINED__
    321 typedef struct IBlockingLock IBlockingLock;
    322 #endif
    323 
    324 #ifndef __ITimeAndNoticeControl_FWD_DEFINED__
    325 #define __ITimeAndNoticeControl_FWD_DEFINED__
    326 typedef struct ITimeAndNoticeControl ITimeAndNoticeControl;
    327 #endif
    328 
    329 #ifndef __IOplockStorage_FWD_DEFINED__
    330 #define __IOplockStorage_FWD_DEFINED__
    331 typedef struct IOplockStorage IOplockStorage;
    332 #endif
    333 
    334 #ifndef __ISurrogate_FWD_DEFINED__
    335 #define __ISurrogate_FWD_DEFINED__
    336 typedef struct ISurrogate ISurrogate;
    337 #endif
    338 
    339 #ifndef __IGlobalInterfaceTable_FWD_DEFINED__
    340 #define __IGlobalInterfaceTable_FWD_DEFINED__
    341 typedef struct IGlobalInterfaceTable IGlobalInterfaceTable;
    342 #endif
    343 
    344 #ifndef __IDirectWriterLock_FWD_DEFINED__
    345 #define __IDirectWriterLock_FWD_DEFINED__
    346 typedef struct IDirectWriterLock IDirectWriterLock;
    347 #endif
    348 
    349 #ifndef __ISynchronize_FWD_DEFINED__
    350 #define __ISynchronize_FWD_DEFINED__
    351 typedef struct ISynchronize ISynchronize;
    352 #endif
    353 
    354 #ifndef __ISynchronizeHandle_FWD_DEFINED__
    355 #define __ISynchronizeHandle_FWD_DEFINED__
    356 typedef struct ISynchronizeHandle ISynchronizeHandle;
    357 #endif
    358 
    359 #ifndef __ISynchronizeEvent_FWD_DEFINED__
    360 #define __ISynchronizeEvent_FWD_DEFINED__
    361 typedef struct ISynchronizeEvent ISynchronizeEvent;
    362 #endif
    363 
    364 #ifndef __ISynchronizeContainer_FWD_DEFINED__
    365 #define __ISynchronizeContainer_FWD_DEFINED__
    366 typedef struct ISynchronizeContainer ISynchronizeContainer;
    367 #endif
    368 
    369 #ifndef __ISynchronizeMutex_FWD_DEFINED__
    370 #define __ISynchronizeMutex_FWD_DEFINED__
    371 typedef struct ISynchronizeMutex ISynchronizeMutex;
    372 #endif
    373 
    374 #ifndef __ICancelMethodCalls_FWD_DEFINED__
    375 #define __ICancelMethodCalls_FWD_DEFINED__
    376 typedef struct ICancelMethodCalls ICancelMethodCalls;
    377 #endif
    378 
    379 #ifndef __IAsyncManager_FWD_DEFINED__
    380 #define __IAsyncManager_FWD_DEFINED__
    381 typedef struct IAsyncManager IAsyncManager;
    382 #endif
    383 
    384 #ifndef __ICallFactory_FWD_DEFINED__
    385 #define __ICallFactory_FWD_DEFINED__
    386 typedef struct ICallFactory ICallFactory;
    387 #endif
    388 
    389 #ifndef __IRpcHelper_FWD_DEFINED__
    390 #define __IRpcHelper_FWD_DEFINED__
    391 typedef struct IRpcHelper IRpcHelper;
    392 #endif
    393 
    394 #ifndef __IReleaseMarshalBuffers_FWD_DEFINED__
    395 #define __IReleaseMarshalBuffers_FWD_DEFINED__
    396 typedef struct IReleaseMarshalBuffers IReleaseMarshalBuffers;
    397 #endif
    398 
    399 #ifndef __IWaitMultiple_FWD_DEFINED__
    400 #define __IWaitMultiple_FWD_DEFINED__
    401 typedef struct IWaitMultiple IWaitMultiple;
    402 #endif
    403 
    404 #ifndef __IUrlMon_FWD_DEFINED__
    405 #define __IUrlMon_FWD_DEFINED__
    406 typedef struct IUrlMon IUrlMon;
    407 #endif
    408 
    409 #ifndef __IForegroundTransfer_FWD_DEFINED__
    410 #define __IForegroundTransfer_FWD_DEFINED__
    411 typedef struct IForegroundTransfer IForegroundTransfer;
    412 #endif
    413 
    414 #ifndef __IAddrTrackingControl_FWD_DEFINED__
    415 #define __IAddrTrackingControl_FWD_DEFINED__
    416 typedef struct IAddrTrackingControl IAddrTrackingControl;
    417 #endif
    418 
    419 #ifndef __IAddrExclusionControl_FWD_DEFINED__
    420 #define __IAddrExclusionControl_FWD_DEFINED__
    421 typedef struct IAddrExclusionControl IAddrExclusionControl;
    422 #endif
    423 
    424 #ifndef __IPipeByte_FWD_DEFINED__
    425 #define __IPipeByte_FWD_DEFINED__
    426 typedef struct IPipeByte IPipeByte;
    427 #endif
    428 
    429 #ifndef __AsyncIPipeByte_FWD_DEFINED__
    430 #define __AsyncIPipeByte_FWD_DEFINED__
    431 typedef struct AsyncIPipeByte AsyncIPipeByte;
    432 #endif
    433 
    434 #ifndef __IPipeLong_FWD_DEFINED__
    435 #define __IPipeLong_FWD_DEFINED__
    436 typedef struct IPipeLong IPipeLong;
    437 #endif
    438 
    439 #ifndef __AsyncIPipeLong_FWD_DEFINED__
    440 #define __AsyncIPipeLong_FWD_DEFINED__
    441 typedef struct AsyncIPipeLong AsyncIPipeLong;
    442 #endif
    443 
    444 #ifndef __IPipeDouble_FWD_DEFINED__
    445 #define __IPipeDouble_FWD_DEFINED__
    446 typedef struct IPipeDouble IPipeDouble;
    447 #endif
    448 
    449 #ifndef __AsyncIPipeDouble_FWD_DEFINED__
    450 #define __AsyncIPipeDouble_FWD_DEFINED__
    451 typedef struct AsyncIPipeDouble AsyncIPipeDouble;
    452 #endif
    453 
    454 #ifndef __IThumbnailExtractor_FWD_DEFINED__
    455 #define __IThumbnailExtractor_FWD_DEFINED__
    456 typedef struct IThumbnailExtractor IThumbnailExtractor;
    457 #endif
    458 
    459 #ifndef __IDummyHICONIncluder_FWD_DEFINED__
    460 #define __IDummyHICONIncluder_FWD_DEFINED__
    461 typedef struct IDummyHICONIncluder IDummyHICONIncluder;
    462 #endif
    463 
    464 #ifndef __IEnumContextProps_FWD_DEFINED__
    465 #define __IEnumContextProps_FWD_DEFINED__
    466 typedef struct IEnumContextProps IEnumContextProps;
    467 #endif
    468 
    469 #ifndef __IContext_FWD_DEFINED__
    470 #define __IContext_FWD_DEFINED__
    471 typedef struct IContext IContext;
    472 #endif
    473 
    474 #ifndef __IObjContext_FWD_DEFINED__
    475 #define __IObjContext_FWD_DEFINED__
    476 typedef struct IObjContext IObjContext;
    477 #endif
    478 
    479 #ifndef __IProcessLock_FWD_DEFINED__
    480 #define __IProcessLock_FWD_DEFINED__
    481 typedef struct IProcessLock IProcessLock;
    482 #endif
    483 
    484 #ifndef __ISurrogateService_FWD_DEFINED__
    485 #define __ISurrogateService_FWD_DEFINED__
    486 typedef struct ISurrogateService ISurrogateService;
    487 #endif
    488 
    489 #ifndef __IComThreadingInfo_FWD_DEFINED__
    490 #define __IComThreadingInfo_FWD_DEFINED__
    491 typedef struct IComThreadingInfo IComThreadingInfo;
    492 #endif
    493 
    494 #ifndef __IProcessInitControl_FWD_DEFINED__
    495 #define __IProcessInitControl_FWD_DEFINED__
    496 typedef struct IProcessInitControl IProcessInitControl;
    497 #endif
    498 
    499 #ifndef __IInitializeSpy_FWD_DEFINED__
    500 #define __IInitializeSpy_FWD_DEFINED__
    501 typedef struct IInitializeSpy IInitializeSpy;
    502 #endif
    503 typedef struct _COSERVERINFO {
    504     DWORD dwReserved1;
    505     LPWSTR pwszName;
    506     COAUTHINFO *pAuthInfo;
    507     DWORD dwReserved2;
    508 } COSERVERINFO;
    509   extern RPC_IF_HANDLE __MIDL_itf_objidl_0000_v0_0_c_ifspec;
    510   extern RPC_IF_HANDLE __MIDL_itf_objidl_0000_v0_0_s_ifspec;
    511 
    512 #ifndef __IMarshal_INTERFACE_DEFINED__
    513 #define __IMarshal_INTERFACE_DEFINED__
    514   typedef IMarshal *LPMARSHAL;
    515 
    516   EXTERN_C const IID IID_IMarshal;
    517 #if defined(__cplusplus) && !defined(CINTERFACE)
    518   struct IMarshal : public IUnknown {
    519   public:
    520     virtual HRESULT WINAPI GetUnmarshalClass(REFIID riid,void *pv,DWORD dwDestContext,void *pvDestContext,DWORD mshlflags,CLSID *pCid) = 0;
    521     virtual HRESULT WINAPI GetMarshalSizeMax(REFIID riid,void *pv,DWORD dwDestContext,void *pvDestContext,DWORD mshlflags,DWORD *pSize) = 0;
    522     virtual HRESULT WINAPI MarshalInterface(IStream *pStm,REFIID riid,void *pv,DWORD dwDestContext,void *pvDestContext,DWORD mshlflags) = 0;
    523     virtual HRESULT WINAPI UnmarshalInterface(IStream *pStm,REFIID riid,void **ppv) = 0;
    524     virtual HRESULT WINAPI ReleaseMarshalData(IStream *pStm) = 0;
    525     virtual HRESULT WINAPI DisconnectObject(DWORD dwReserved) = 0;
    526   };
    527 #else
    528   typedef struct IMarshalVtbl {
    529     BEGIN_INTERFACE
    530       HRESULT (WINAPI *QueryInterface)(IMarshal *This,REFIID riid,void **ppvObject);
    531       ULONG (WINAPI *AddRef)(IMarshal *This);
    532       ULONG (WINAPI *Release)(IMarshal *This);
    533       HRESULT (WINAPI *GetUnmarshalClass)(IMarshal *This,REFIID riid,void *pv,DWORD dwDestContext,void *pvDestContext,DWORD mshlflags,CLSID *pCid);
    534       HRESULT (WINAPI *GetMarshalSizeMax)(IMarshal *This,REFIID riid,void *pv,DWORD dwDestContext,void *pvDestContext,DWORD mshlflags,DWORD *pSize);
    535       HRESULT (WINAPI *MarshalInterface)(IMarshal *This,IStream *pStm,REFIID riid,void *pv,DWORD dwDestContext,void *pvDestContext,DWORD mshlflags);
    536       HRESULT (WINAPI *UnmarshalInterface)(IMarshal *This,IStream *pStm,REFIID riid,void **ppv);
    537       HRESULT (WINAPI *ReleaseMarshalData)(IMarshal *This,IStream *pStm);
    538       HRESULT (WINAPI *DisconnectObject)(IMarshal *This,DWORD dwReserved);
    539     END_INTERFACE
    540   } IMarshalVtbl;
    541   struct IMarshal {
    542     CONST_VTBL struct IMarshalVtbl *lpVtbl;
    543   };
    544 #ifdef COBJMACROS
    545 #define IMarshal_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    546 #define IMarshal_AddRef(This) (This)->lpVtbl->AddRef(This)
    547 #define IMarshal_Release(This) (This)->lpVtbl->Release(This)
    548 #define IMarshal_GetUnmarshalClass(This,riid,pv,dwDestContext,pvDestContext,mshlflags,pCid) (This)->lpVtbl->GetUnmarshalClass(This,riid,pv,dwDestContext,pvDestContext,mshlflags,pCid)
    549 #define IMarshal_GetMarshalSizeMax(This,riid,pv,dwDestContext,pvDestContext,mshlflags,pSize) (This)->lpVtbl->GetMarshalSizeMax(This,riid,pv,dwDestContext,pvDestContext,mshlflags,pSize)
    550 #define IMarshal_MarshalInterface(This,pStm,riid,pv,dwDestContext,pvDestContext,mshlflags) (This)->lpVtbl->MarshalInterface(This,pStm,riid,pv,dwDestContext,pvDestContext,mshlflags)
    551 #define IMarshal_UnmarshalInterface(This,pStm,riid,ppv) (This)->lpVtbl->UnmarshalInterface(This,pStm,riid,ppv)
    552 #define IMarshal_ReleaseMarshalData(This,pStm) (This)->lpVtbl->ReleaseMarshalData(This,pStm)
    553 #define IMarshal_DisconnectObject(This,dwReserved) (This)->lpVtbl->DisconnectObject(This,dwReserved)
    554 #endif
    555 #endif
    556   HRESULT WINAPI IMarshal_GetUnmarshalClass_Proxy(IMarshal *This,REFIID riid,void *pv,DWORD dwDestContext,void *pvDestContext,DWORD mshlflags,CLSID *pCid);
    557   void __RPC_STUB IMarshal_GetUnmarshalClass_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    558   HRESULT WINAPI IMarshal_GetMarshalSizeMax_Proxy(IMarshal *This,REFIID riid,void *pv,DWORD dwDestContext,void *pvDestContext,DWORD mshlflags,DWORD *pSize);
    559   void __RPC_STUB IMarshal_GetMarshalSizeMax_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    560   HRESULT WINAPI IMarshal_MarshalInterface_Proxy(IMarshal *This,IStream *pStm,REFIID riid,void *pv,DWORD dwDestContext,void *pvDestContext,DWORD mshlflags);
    561   void __RPC_STUB IMarshal_MarshalInterface_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    562   HRESULT WINAPI IMarshal_UnmarshalInterface_Proxy(IMarshal *This,IStream *pStm,REFIID riid,void **ppv);
    563   void __RPC_STUB IMarshal_UnmarshalInterface_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    564   HRESULT WINAPI IMarshal_ReleaseMarshalData_Proxy(IMarshal *This,IStream *pStm);
    565   void __RPC_STUB IMarshal_ReleaseMarshalData_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    566   HRESULT WINAPI IMarshal_DisconnectObject_Proxy(IMarshal *This,DWORD dwReserved);
    567   void __RPC_STUB IMarshal_DisconnectObject_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    568 #endif
    569 
    570 #ifndef __IMarshal2_INTERFACE_DEFINED__
    571 #define __IMarshal2_INTERFACE_DEFINED__
    572   typedef IMarshal2 *LPMARSHAL2;
    573 
    574   EXTERN_C const IID IID_IMarshal2;
    575 #if defined(__cplusplus) && !defined(CINTERFACE)
    576   struct IMarshal2 : public IMarshal {
    577   };
    578 #else
    579   typedef struct IMarshal2Vtbl {
    580     BEGIN_INTERFACE
    581       HRESULT (WINAPI *QueryInterface)(IMarshal2 *This,REFIID riid,void **ppvObject);
    582       ULONG (WINAPI *AddRef)(IMarshal2 *This);
    583       ULONG (WINAPI *Release)(IMarshal2 *This);
    584       HRESULT (WINAPI *GetUnmarshalClass)(IMarshal2 *This,REFIID riid,void *pv,DWORD dwDestContext,void *pvDestContext,DWORD mshlflags,CLSID *pCid);
    585       HRESULT (WINAPI *GetMarshalSizeMax)(IMarshal2 *This,REFIID riid,void *pv,DWORD dwDestContext,void *pvDestContext,DWORD mshlflags,DWORD *pSize);
    586       HRESULT (WINAPI *MarshalInterface)(IMarshal2 *This,IStream *pStm,REFIID riid,void *pv,DWORD dwDestContext,void *pvDestContext,DWORD mshlflags);
    587       HRESULT (WINAPI *UnmarshalInterface)(IMarshal2 *This,IStream *pStm,REFIID riid,void **ppv);
    588       HRESULT (WINAPI *ReleaseMarshalData)(IMarshal2 *This,IStream *pStm);
    589       HRESULT (WINAPI *DisconnectObject)(IMarshal2 *This,DWORD dwReserved);
    590     END_INTERFACE
    591   } IMarshal2Vtbl;
    592   struct IMarshal2 {
    593     CONST_VTBL struct IMarshal2Vtbl *lpVtbl;
    594   };
    595 #ifdef COBJMACROS
    596 #define IMarshal2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    597 #define IMarshal2_AddRef(This) (This)->lpVtbl->AddRef(This)
    598 #define IMarshal2_Release(This) (This)->lpVtbl->Release(This)
    599 #define IMarshal2_GetUnmarshalClass(This,riid,pv,dwDestContext,pvDestContext,mshlflags,pCid) (This)->lpVtbl->GetUnmarshalClass(This,riid,pv,dwDestContext,pvDestContext,mshlflags,pCid)
    600 #define IMarshal2_GetMarshalSizeMax(This,riid,pv,dwDestContext,pvDestContext,mshlflags,pSize) (This)->lpVtbl->GetMarshalSizeMax(This,riid,pv,dwDestContext,pvDestContext,mshlflags,pSize)
    601 #define IMarshal2_MarshalInterface(This,pStm,riid,pv,dwDestContext,pvDestContext,mshlflags) (This)->lpVtbl->MarshalInterface(This,pStm,riid,pv,dwDestContext,pvDestContext,mshlflags)
    602 #define IMarshal2_UnmarshalInterface(This,pStm,riid,ppv) (This)->lpVtbl->UnmarshalInterface(This,pStm,riid,ppv)
    603 #define IMarshal2_ReleaseMarshalData(This,pStm) (This)->lpVtbl->ReleaseMarshalData(This,pStm)
    604 #define IMarshal2_DisconnectObject(This,dwReserved) (This)->lpVtbl->DisconnectObject(This,dwReserved)
    605 #endif
    606 #endif
    607 #endif
    608 
    609 #ifndef __IMalloc_INTERFACE_DEFINED__
    610 #define __IMalloc_INTERFACE_DEFINED__
    611   typedef IMalloc *LPMALLOC;
    612 
    613   EXTERN_C const IID IID_IMalloc;
    614 #if defined(__cplusplus) && !defined(CINTERFACE)
    615   struct IMalloc : public IUnknown {
    616   public:
    617     virtual void *WINAPI Alloc(SIZE_T cb) = 0;
    618     virtual void *WINAPI Realloc(void *pv,SIZE_T cb) = 0;
    619     virtual void WINAPI Free(void *pv) = 0;
    620     virtual SIZE_T WINAPI GetSize(void *pv) = 0;
    621     virtual int WINAPI DidAlloc(void *pv) = 0;
    622     virtual void WINAPI HeapMinimize(void) = 0;
    623   };
    624 #else
    625   typedef struct IMallocVtbl {
    626     BEGIN_INTERFACE
    627       HRESULT (WINAPI *QueryInterface)(IMalloc *This,REFIID riid,void **ppvObject);
    628       ULONG (WINAPI *AddRef)(IMalloc *This);
    629       ULONG (WINAPI *Release)(IMalloc *This);
    630       void *(WINAPI *Alloc)(IMalloc *This,SIZE_T cb);
    631       void *(WINAPI *Realloc)(IMalloc *This,void *pv,SIZE_T cb);
    632       void (WINAPI *Free)(IMalloc *This,void *pv);
    633       SIZE_T (WINAPI *GetSize)(IMalloc *This,void *pv);
    634       int (WINAPI *DidAlloc)(IMalloc *This,void *pv);
    635       void (WINAPI *HeapMinimize)(IMalloc *This);
    636     END_INTERFACE
    637   } IMallocVtbl;
    638   struct IMalloc {
    639     CONST_VTBL struct IMallocVtbl *lpVtbl;
    640   };
    641 #ifdef COBJMACROS
    642 #define IMalloc_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    643 #define IMalloc_AddRef(This) (This)->lpVtbl->AddRef(This)
    644 #define IMalloc_Release(This) (This)->lpVtbl->Release(This)
    645 #define IMalloc_Alloc(This,cb) (This)->lpVtbl->Alloc(This,cb)
    646 #define IMalloc_Realloc(This,pv,cb) (This)->lpVtbl->Realloc(This,pv,cb)
    647 #define IMalloc_Free(This,pv) (This)->lpVtbl->Free(This,pv)
    648 #define IMalloc_GetSize(This,pv) (This)->lpVtbl->GetSize(This,pv)
    649 #define IMalloc_DidAlloc(This,pv) (This)->lpVtbl->DidAlloc(This,pv)
    650 #define IMalloc_HeapMinimize(This) (This)->lpVtbl->HeapMinimize(This)
    651 #endif
    652 #endif
    653   void *WINAPI IMalloc_Alloc_Proxy(IMalloc *This,SIZE_T cb);
    654   void __RPC_STUB IMalloc_Alloc_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    655   void *WINAPI IMalloc_Realloc_Proxy(IMalloc *This,void *pv,SIZE_T cb);
    656   void __RPC_STUB IMalloc_Realloc_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    657   void WINAPI IMalloc_Free_Proxy(IMalloc *This,void *pv);
    658   void __RPC_STUB IMalloc_Free_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    659   SIZE_T WINAPI IMalloc_GetSize_Proxy(IMalloc *This,void *pv);
    660   void __RPC_STUB IMalloc_GetSize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    661   int WINAPI IMalloc_DidAlloc_Proxy(IMalloc *This,void *pv);
    662   void __RPC_STUB IMalloc_DidAlloc_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    663   void WINAPI IMalloc_HeapMinimize_Proxy(IMalloc *This);
    664   void __RPC_STUB IMalloc_HeapMinimize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    665 #endif
    666 
    667 #ifndef __IMallocSpy_INTERFACE_DEFINED__
    668 #define __IMallocSpy_INTERFACE_DEFINED__
    669   typedef IMallocSpy *LPMALLOCSPY;
    670 
    671   EXTERN_C const IID IID_IMallocSpy;
    672 #if defined(__cplusplus) && !defined(CINTERFACE)
    673   struct IMallocSpy : public IUnknown {
    674   public:
    675     virtual SIZE_T WINAPI PreAlloc(SIZE_T cbRequest) = 0;
    676     virtual void *WINAPI PostAlloc(void *pActual) = 0;
    677     virtual void *WINAPI PreFree(void *pRequest,WINBOOL fSpyed) = 0;
    678     virtual void WINAPI PostFree(WINBOOL fSpyed) = 0;
    679     virtual SIZE_T WINAPI PreRealloc(void *pRequest,SIZE_T cbRequest,void **ppNewRequest,WINBOOL fSpyed) = 0;
    680     virtual void *WINAPI PostRealloc(void *pActual,WINBOOL fSpyed) = 0;
    681     virtual void *WINAPI PreGetSize(void *pRequest,WINBOOL fSpyed) = 0;
    682     virtual SIZE_T WINAPI PostGetSize(SIZE_T cbActual,WINBOOL fSpyed) = 0;
    683     virtual void *WINAPI PreDidAlloc(void *pRequest,WINBOOL fSpyed) = 0;
    684     virtual int WINAPI PostDidAlloc(void *pRequest,WINBOOL fSpyed,int fActual) = 0;
    685     virtual void WINAPI PreHeapMinimize(void) = 0;
    686     virtual void WINAPI PostHeapMinimize(void) = 0;
    687   };
    688 #else
    689   typedef struct IMallocSpyVtbl {
    690     BEGIN_INTERFACE
    691       HRESULT (WINAPI *QueryInterface)(IMallocSpy *This,REFIID riid,void **ppvObject);
    692       ULONG (WINAPI *AddRef)(IMallocSpy *This);
    693       ULONG (WINAPI *Release)(IMallocSpy *This);
    694       SIZE_T (WINAPI *PreAlloc)(IMallocSpy *This,SIZE_T cbRequest);
    695       void *(WINAPI *PostAlloc)(IMallocSpy *This,void *pActual);
    696       void *(WINAPI *PreFree)(IMallocSpy *This,void *pRequest,WINBOOL fSpyed);
    697       void (WINAPI *PostFree)(IMallocSpy *This,WINBOOL fSpyed);
    698       SIZE_T (WINAPI *PreRealloc)(IMallocSpy *This,void *pRequest,SIZE_T cbRequest,void **ppNewRequest,WINBOOL fSpyed);
    699       void *(WINAPI *PostRealloc)(IMallocSpy *This,void *pActual,WINBOOL fSpyed);
    700       void *(WINAPI *PreGetSize)(IMallocSpy *This,void *pRequest,WINBOOL fSpyed);
    701       SIZE_T (WINAPI *PostGetSize)(IMallocSpy *This,SIZE_T cbActual,WINBOOL fSpyed);
    702       void *(WINAPI *PreDidAlloc)(IMallocSpy *This,void *pRequest,WINBOOL fSpyed);
    703       int (WINAPI *PostDidAlloc)(IMallocSpy *This,void *pRequest,WINBOOL fSpyed,int fActual);
    704       void (WINAPI *PreHeapMinimize)(IMallocSpy *This);
    705       void (WINAPI *PostHeapMinimize)(IMallocSpy *This);
    706     END_INTERFACE
    707   } IMallocSpyVtbl;
    708   struct IMallocSpy {
    709     CONST_VTBL struct IMallocSpyVtbl *lpVtbl;
    710   };
    711 #ifdef COBJMACROS
    712 #define IMallocSpy_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    713 #define IMallocSpy_AddRef(This) (This)->lpVtbl->AddRef(This)
    714 #define IMallocSpy_Release(This) (This)->lpVtbl->Release(This)
    715 #define IMallocSpy_PreAlloc(This,cbRequest) (This)->lpVtbl->PreAlloc(This,cbRequest)
    716 #define IMallocSpy_PostAlloc(This,pActual) (This)->lpVtbl->PostAlloc(This,pActual)
    717 #define IMallocSpy_PreFree(This,pRequest,fSpyed) (This)->lpVtbl->PreFree(This,pRequest,fSpyed)
    718 #define IMallocSpy_PostFree(This,fSpyed) (This)->lpVtbl->PostFree(This,fSpyed)
    719 #define IMallocSpy_PreRealloc(This,pRequest,cbRequest,ppNewRequest,fSpyed) (This)->lpVtbl->PreRealloc(This,pRequest,cbRequest,ppNewRequest,fSpyed)
    720 #define IMallocSpy_PostRealloc(This,pActual,fSpyed) (This)->lpVtbl->PostRealloc(This,pActual,fSpyed)
    721 #define IMallocSpy_PreGetSize(This,pRequest,fSpyed) (This)->lpVtbl->PreGetSize(This,pRequest,fSpyed)
    722 #define IMallocSpy_PostGetSize(This,cbActual,fSpyed) (This)->lpVtbl->PostGetSize(This,cbActual,fSpyed)
    723 #define IMallocSpy_PreDidAlloc(This,pRequest,fSpyed) (This)->lpVtbl->PreDidAlloc(This,pRequest,fSpyed)
    724 #define IMallocSpy_PostDidAlloc(This,pRequest,fSpyed,fActual) (This)->lpVtbl->PostDidAlloc(This,pRequest,fSpyed,fActual)
    725 #define IMallocSpy_PreHeapMinimize(This) (This)->lpVtbl->PreHeapMinimize(This)
    726 #define IMallocSpy_PostHeapMinimize(This) (This)->lpVtbl->PostHeapMinimize(This)
    727 #endif
    728 #endif
    729   SIZE_T WINAPI IMallocSpy_PreAlloc_Proxy(IMallocSpy *This,SIZE_T cbRequest);
    730   void __RPC_STUB IMallocSpy_PreAlloc_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    731   void *WINAPI IMallocSpy_PostAlloc_Proxy(IMallocSpy *This,void *pActual);
    732   void __RPC_STUB IMallocSpy_PostAlloc_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    733   void *WINAPI IMallocSpy_PreFree_Proxy(IMallocSpy *This,void *pRequest,WINBOOL fSpyed);
    734   void __RPC_STUB IMallocSpy_PreFree_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    735   void WINAPI IMallocSpy_PostFree_Proxy(IMallocSpy *This,WINBOOL fSpyed);
    736   void __RPC_STUB IMallocSpy_PostFree_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    737   SIZE_T WINAPI IMallocSpy_PreRealloc_Proxy(IMallocSpy *This,void *pRequest,SIZE_T cbRequest,void **ppNewRequest,WINBOOL fSpyed);
    738   void __RPC_STUB IMallocSpy_PreRealloc_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    739   void *WINAPI IMallocSpy_PostRealloc_Proxy(IMallocSpy *This,void *pActual,WINBOOL fSpyed);
    740   void __RPC_STUB IMallocSpy_PostRealloc_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    741   void *WINAPI IMallocSpy_PreGetSize_Proxy(IMallocSpy *This,void *pRequest,WINBOOL fSpyed);
    742   void __RPC_STUB IMallocSpy_PreGetSize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    743   SIZE_T WINAPI IMallocSpy_PostGetSize_Proxy(IMallocSpy *This,SIZE_T cbActual,WINBOOL fSpyed);
    744   void __RPC_STUB IMallocSpy_PostGetSize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    745   void *WINAPI IMallocSpy_PreDidAlloc_Proxy(IMallocSpy *This,void *pRequest,WINBOOL fSpyed);
    746   void __RPC_STUB IMallocSpy_PreDidAlloc_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    747   int WINAPI IMallocSpy_PostDidAlloc_Proxy(IMallocSpy *This,void *pRequest,WINBOOL fSpyed,int fActual);
    748   void __RPC_STUB IMallocSpy_PostDidAlloc_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    749   void WINAPI IMallocSpy_PreHeapMinimize_Proxy(IMallocSpy *This);
    750   void __RPC_STUB IMallocSpy_PreHeapMinimize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    751   void WINAPI IMallocSpy_PostHeapMinimize_Proxy(IMallocSpy *This);
    752   void __RPC_STUB IMallocSpy_PostHeapMinimize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    753 #endif
    754 
    755 #ifndef __IStdMarshalInfo_INTERFACE_DEFINED__
    756 #define __IStdMarshalInfo_INTERFACE_DEFINED__
    757   typedef IStdMarshalInfo *LPSTDMARSHALINFO;
    758 
    759   EXTERN_C const IID IID_IStdMarshalInfo;
    760 #if defined(__cplusplus) && !defined(CINTERFACE)
    761   struct IStdMarshalInfo : public IUnknown {
    762   public:
    763     virtual HRESULT WINAPI GetClassForHandler(DWORD dwDestContext,void *pvDestContext,CLSID *pClsid) = 0;
    764   };
    765 #else
    766   typedef struct IStdMarshalInfoVtbl {
    767     BEGIN_INTERFACE
    768       HRESULT (WINAPI *QueryInterface)(IStdMarshalInfo *This,REFIID riid,void **ppvObject);
    769       ULONG (WINAPI *AddRef)(IStdMarshalInfo *This);
    770       ULONG (WINAPI *Release)(IStdMarshalInfo *This);
    771       HRESULT (WINAPI *GetClassForHandler)(IStdMarshalInfo *This,DWORD dwDestContext,void *pvDestContext,CLSID *pClsid);
    772     END_INTERFACE
    773   } IStdMarshalInfoVtbl;
    774   struct IStdMarshalInfo {
    775     CONST_VTBL struct IStdMarshalInfoVtbl *lpVtbl;
    776   };
    777 #ifdef COBJMACROS
    778 #define IStdMarshalInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    779 #define IStdMarshalInfo_AddRef(This) (This)->lpVtbl->AddRef(This)
    780 #define IStdMarshalInfo_Release(This) (This)->lpVtbl->Release(This)
    781 #define IStdMarshalInfo_GetClassForHandler(This,dwDestContext,pvDestContext,pClsid) (This)->lpVtbl->GetClassForHandler(This,dwDestContext,pvDestContext,pClsid)
    782 #endif
    783 #endif
    784   HRESULT WINAPI IStdMarshalInfo_GetClassForHandler_Proxy(IStdMarshalInfo *This,DWORD dwDestContext,void *pvDestContext,CLSID *pClsid);
    785   void __RPC_STUB IStdMarshalInfo_GetClassForHandler_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    786 #endif
    787 
    788 #ifndef __IExternalConnection_INTERFACE_DEFINED__
    789 #define __IExternalConnection_INTERFACE_DEFINED__
    790   typedef IExternalConnection *LPEXTERNALCONNECTION;
    791 
    792   typedef enum tagEXTCONN {
    793     EXTCONN_STRONG = 0x1,EXTCONN_WEAK = 0x2,EXTCONN_CALLABLE = 0x4
    794   } EXTCONN;
    795 
    796   EXTERN_C const IID IID_IExternalConnection;
    797 #if defined(__cplusplus) && !defined(CINTERFACE)
    798   struct IExternalConnection : public IUnknown {
    799   public:
    800     virtual DWORD WINAPI AddConnection(DWORD extconn,DWORD reserved) = 0;
    801     virtual DWORD WINAPI ReleaseConnection(DWORD extconn,DWORD reserved,WINBOOL fLastReleaseCloses) = 0;
    802   };
    803 #else
    804   typedef struct IExternalConnectionVtbl {
    805     BEGIN_INTERFACE
    806       HRESULT (WINAPI *QueryInterface)(IExternalConnection *This,REFIID riid,void **ppvObject);
    807       ULONG (WINAPI *AddRef)(IExternalConnection *This);
    808       ULONG (WINAPI *Release)(IExternalConnection *This);
    809       DWORD (WINAPI *AddConnection)(IExternalConnection *This,DWORD extconn,DWORD reserved);
    810       DWORD (WINAPI *ReleaseConnection)(IExternalConnection *This,DWORD extconn,DWORD reserved,WINBOOL fLastReleaseCloses);
    811     END_INTERFACE
    812   } IExternalConnectionVtbl;
    813   struct IExternalConnection {
    814     CONST_VTBL struct IExternalConnectionVtbl *lpVtbl;
    815   };
    816 #ifdef COBJMACROS
    817 #define IExternalConnection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    818 #define IExternalConnection_AddRef(This) (This)->lpVtbl->AddRef(This)
    819 #define IExternalConnection_Release(This) (This)->lpVtbl->Release(This)
    820 #define IExternalConnection_AddConnection(This,extconn,reserved) (This)->lpVtbl->AddConnection(This,extconn,reserved)
    821 #define IExternalConnection_ReleaseConnection(This,extconn,reserved,fLastReleaseCloses) (This)->lpVtbl->ReleaseConnection(This,extconn,reserved,fLastReleaseCloses)
    822 #endif
    823 #endif
    824   DWORD WINAPI IExternalConnection_AddConnection_Proxy(IExternalConnection *This,DWORD extconn,DWORD reserved);
    825   void __RPC_STUB IExternalConnection_AddConnection_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    826   DWORD WINAPI IExternalConnection_ReleaseConnection_Proxy(IExternalConnection *This,DWORD extconn,DWORD reserved,WINBOOL fLastReleaseCloses);
    827   void __RPC_STUB IExternalConnection_ReleaseConnection_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    828 #endif
    829 
    830   typedef IMultiQI *LPMULTIQI;
    831 
    832   typedef struct tagMULTI_QI {
    833     const IID *pIID;
    834     IUnknown *pItf;
    835     HRESULT hr;
    836   } MULTI_QI;
    837 
    838   extern RPC_IF_HANDLE __MIDL_itf_objidl_0015_v0_0_c_ifspec;
    839   extern RPC_IF_HANDLE __MIDL_itf_objidl_0015_v0_0_s_ifspec;
    840 #ifndef __IMultiQI_INTERFACE_DEFINED__
    841 #define __IMultiQI_INTERFACE_DEFINED__
    842   EXTERN_C const IID IID_IMultiQI;
    843 #if defined(__cplusplus) && !defined(CINTERFACE)
    844   struct IMultiQI : public IUnknown {
    845   public:
    846     virtual HRESULT WINAPI QueryMultipleInterfaces(ULONG cMQIs,MULTI_QI *pMQIs) = 0;
    847   };
    848 #else
    849   typedef struct IMultiQIVtbl {
    850     BEGIN_INTERFACE
    851       HRESULT (WINAPI *QueryInterface)(IMultiQI *This,REFIID riid,void **ppvObject);
    852       ULONG (WINAPI *AddRef)(IMultiQI *This);
    853       ULONG (WINAPI *Release)(IMultiQI *This);
    854       HRESULT (WINAPI *QueryMultipleInterfaces)(IMultiQI *This,ULONG cMQIs,MULTI_QI *pMQIs);
    855     END_INTERFACE
    856   } IMultiQIVtbl;
    857   struct IMultiQI {
    858     CONST_VTBL struct IMultiQIVtbl *lpVtbl;
    859   };
    860 #ifdef COBJMACROS
    861 #define IMultiQI_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    862 #define IMultiQI_AddRef(This) (This)->lpVtbl->AddRef(This)
    863 #define IMultiQI_Release(This) (This)->lpVtbl->Release(This)
    864 #define IMultiQI_QueryMultipleInterfaces(This,cMQIs,pMQIs) (This)->lpVtbl->QueryMultipleInterfaces(This,cMQIs,pMQIs)
    865 #endif
    866 #endif
    867   HRESULT WINAPI IMultiQI_QueryMultipleInterfaces_Proxy(IMultiQI *This,ULONG cMQIs,MULTI_QI *pMQIs);
    868   void __RPC_STUB IMultiQI_QueryMultipleInterfaces_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    869 #endif
    870 
    871 #ifndef __AsyncIMultiQI_INTERFACE_DEFINED__
    872 #define __AsyncIMultiQI_INTERFACE_DEFINED__
    873   EXTERN_C const IID IID_AsyncIMultiQI;
    874 #if defined(__cplusplus) && !defined(CINTERFACE)
    875 
    876   struct AsyncIMultiQI : public IUnknown {
    877   public:
    878     virtual HRESULT WINAPI Begin_QueryMultipleInterfaces(ULONG cMQIs,MULTI_QI *pMQIs) = 0;
    879     virtual HRESULT WINAPI Finish_QueryMultipleInterfaces(MULTI_QI *pMQIs) = 0;
    880   };
    881 #else
    882   typedef struct AsyncIMultiQIVtbl {
    883     BEGIN_INTERFACE
    884       HRESULT (WINAPI *QueryInterface)(AsyncIMultiQI *This,REFIID riid,void **ppvObject);
    885       ULONG (WINAPI *AddRef)(AsyncIMultiQI *This);
    886       ULONG (WINAPI *Release)(AsyncIMultiQI *This);
    887       HRESULT (WINAPI *Begin_QueryMultipleInterfaces)(AsyncIMultiQI *This,ULONG cMQIs,MULTI_QI *pMQIs);
    888       HRESULT (WINAPI *Finish_QueryMultipleInterfaces)(AsyncIMultiQI *This,MULTI_QI *pMQIs);
    889     END_INTERFACE
    890   } AsyncIMultiQIVtbl;
    891   struct AsyncIMultiQI {
    892     CONST_VTBL struct AsyncIMultiQIVtbl *lpVtbl;
    893   };
    894 #ifdef COBJMACROS
    895 #define AsyncIMultiQI_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    896 #define AsyncIMultiQI_AddRef(This) (This)->lpVtbl->AddRef(This)
    897 #define AsyncIMultiQI_Release(This) (This)->lpVtbl->Release(This)
    898 #define AsyncIMultiQI_Begin_QueryMultipleInterfaces(This,cMQIs,pMQIs) (This)->lpVtbl->Begin_QueryMultipleInterfaces(This,cMQIs,pMQIs)
    899 #define AsyncIMultiQI_Finish_QueryMultipleInterfaces(This,pMQIs) (This)->lpVtbl->Finish_QueryMultipleInterfaces(This,pMQIs)
    900 #endif
    901 #endif
    902   HRESULT WINAPI AsyncIMultiQI_Begin_QueryMultipleInterfaces_Proxy(AsyncIMultiQI *This,ULONG cMQIs,MULTI_QI *pMQIs);
    903   void __RPC_STUB AsyncIMultiQI_Begin_QueryMultipleInterfaces_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    904   HRESULT WINAPI AsyncIMultiQI_Finish_QueryMultipleInterfaces_Proxy(AsyncIMultiQI *This,MULTI_QI *pMQIs);
    905   void __RPC_STUB AsyncIMultiQI_Finish_QueryMultipleInterfaces_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    906 #endif
    907 
    908 #ifndef __IInternalUnknown_INTERFACE_DEFINED__
    909 #define __IInternalUnknown_INTERFACE_DEFINED__
    910   EXTERN_C const IID IID_IInternalUnknown;
    911 #if defined(__cplusplus) && !defined(CINTERFACE)
    912   struct IInternalUnknown : public IUnknown {
    913   public:
    914     virtual HRESULT WINAPI QueryInternalInterface(REFIID riid,void **ppv) = 0;
    915   };
    916 #else
    917   typedef struct IInternalUnknownVtbl {
    918     BEGIN_INTERFACE
    919       HRESULT (WINAPI *QueryInterface)(IInternalUnknown *This,REFIID riid,void **ppvObject);
    920       ULONG (WINAPI *AddRef)(IInternalUnknown *This);
    921       ULONG (WINAPI *Release)(IInternalUnknown *This);
    922       HRESULT (WINAPI *QueryInternalInterface)(IInternalUnknown *This,REFIID riid,void **ppv);
    923     END_INTERFACE
    924   } IInternalUnknownVtbl;
    925   struct IInternalUnknown {
    926     CONST_VTBL struct IInternalUnknownVtbl *lpVtbl;
    927   };
    928 #ifdef COBJMACROS
    929 #define IInternalUnknown_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    930 #define IInternalUnknown_AddRef(This) (This)->lpVtbl->AddRef(This)
    931 #define IInternalUnknown_Release(This) (This)->lpVtbl->Release(This)
    932 #define IInternalUnknown_QueryInternalInterface(This,riid,ppv) (This)->lpVtbl->QueryInternalInterface(This,riid,ppv)
    933 #endif
    934 #endif
    935   HRESULT WINAPI IInternalUnknown_QueryInternalInterface_Proxy(IInternalUnknown *This,REFIID riid,void **ppv);
    936   void __RPC_STUB IInternalUnknown_QueryInternalInterface_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    937 #endif
    938 /*****************************************************************************
    939  * IEnumUnknown interface
    940  */
    941 #ifndef __IEnumUnknown_INTERFACE_DEFINED__
    942 #define __IEnumUnknown_INTERFACE_DEFINED__
    943 
    944 typedef IEnumUnknown *LPENUMUNKNOWN;
    945 DEFINE_GUID(IID_IEnumUnknown, 0x00000100, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
    946 #if defined(__cplusplus) && !defined(CINTERFACE)
    947 MIDL_INTERFACE("00000100-0000-0000-c000-000000000046")
    948 IEnumUnknown : public IUnknown
    949 {
    950     virtual HRESULT STDMETHODCALLTYPE Next(
    951         ULONG celt,
    952         IUnknown **rgelt,
    953         ULONG *pceltFetched) = 0;
    954 
    955     virtual HRESULT STDMETHODCALLTYPE Skip(
    956         ULONG celt) = 0;
    957 
    958     virtual HRESULT STDMETHODCALLTYPE Reset(
    959         ) = 0;
    960 
    961     virtual HRESULT STDMETHODCALLTYPE Clone(
    962         IEnumUnknown **ppenum) = 0;
    963 
    964 };
    965 #ifdef __CRT_UUID_DECL
    966 __CRT_UUID_DECL(IEnumUnknown, 0x00000100, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
    967 #endif
    968 #else
    969 typedef struct IEnumUnknownVtbl {
    970     BEGIN_INTERFACE
    971 
    972     /*** IUnknown methods ***/
    973     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
    974         IEnumUnknown* This,
    975         REFIID riid,
    976         void **ppvObject);
    977 
    978     ULONG (STDMETHODCALLTYPE *AddRef)(
    979         IEnumUnknown* This);
    980 
    981     ULONG (STDMETHODCALLTYPE *Release)(
    982         IEnumUnknown* This);
    983 
    984     /*** IEnumUnknown methods ***/
    985     HRESULT (STDMETHODCALLTYPE *Next)(
    986         IEnumUnknown* This,
    987         ULONG celt,
    988         IUnknown **rgelt,
    989         ULONG *pceltFetched);
    990 
    991     HRESULT (STDMETHODCALLTYPE *Skip)(
    992         IEnumUnknown* This,
    993         ULONG celt);
    994 
    995     HRESULT (STDMETHODCALLTYPE *Reset)(
    996         IEnumUnknown* This);
    997 
    998     HRESULT (STDMETHODCALLTYPE *Clone)(
    999         IEnumUnknown* This,
   1000         IEnumUnknown **ppenum);
   1001 
   1002     END_INTERFACE
   1003 } IEnumUnknownVtbl;
   1004 interface IEnumUnknown {
   1005     CONST_VTBL IEnumUnknownVtbl* lpVtbl;
   1006 };
   1007 
   1008 #ifdef COBJMACROS
   1009 #ifndef WIDL_C_INLINE_WRAPPERS
   1010 /*** IUnknown methods ***/
   1011 #define IEnumUnknown_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   1012 #define IEnumUnknown_AddRef(This) (This)->lpVtbl->AddRef(This)
   1013 #define IEnumUnknown_Release(This) (This)->lpVtbl->Release(This)
   1014 /*** IEnumUnknown methods ***/
   1015 #define IEnumUnknown_Next(This,celt,rgelt,pceltFetched) (This)->lpVtbl->Next(This,celt,rgelt,pceltFetched)
   1016 #define IEnumUnknown_Skip(This,celt) (This)->lpVtbl->Skip(This,celt)
   1017 #define IEnumUnknown_Reset(This) (This)->lpVtbl->Reset(This)
   1018 #define IEnumUnknown_Clone(This,ppenum) (This)->lpVtbl->Clone(This,ppenum)
   1019 #else
   1020 /*** IUnknown methods ***/
   1021 static FORCEINLINE HRESULT IEnumUnknown_QueryInterface(IEnumUnknown* This,REFIID riid,void **ppvObject) {
   1022     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   1023 }
   1024 static FORCEINLINE ULONG IEnumUnknown_AddRef(IEnumUnknown* This) {
   1025     return This->lpVtbl->AddRef(This);
   1026 }
   1027 static FORCEINLINE ULONG IEnumUnknown_Release(IEnumUnknown* This) {
   1028     return This->lpVtbl->Release(This);
   1029 }
   1030 /*** IEnumUnknown methods ***/
   1031 static FORCEINLINE HRESULT IEnumUnknown_Next(IEnumUnknown* This,ULONG celt,IUnknown **rgelt,ULONG *pceltFetched) {
   1032     return This->lpVtbl->Next(This,celt,rgelt,pceltFetched);
   1033 }
   1034 static FORCEINLINE HRESULT IEnumUnknown_Skip(IEnumUnknown* This,ULONG celt) {
   1035     return This->lpVtbl->Skip(This,celt);
   1036 }
   1037 static FORCEINLINE HRESULT IEnumUnknown_Reset(IEnumUnknown* This) {
   1038     return This->lpVtbl->Reset(This);
   1039 }
   1040 static FORCEINLINE HRESULT IEnumUnknown_Clone(IEnumUnknown* This,IEnumUnknown **ppenum) {
   1041     return This->lpVtbl->Clone(This,ppenum);
   1042 }
   1043 #endif
   1044 #endif
   1045 
   1046 #endif
   1047 
   1048 HRESULT STDMETHODCALLTYPE IEnumUnknown_RemoteNext_Proxy(
   1049     IEnumUnknown* This,
   1050     ULONG celt,
   1051     IUnknown **rgelt,
   1052     ULONG *pceltFetched);
   1053 void __RPC_STUB IEnumUnknown_RemoteNext_Stub(
   1054     IRpcStubBuffer* This,
   1055     IRpcChannelBuffer* pRpcChannelBuffer,
   1056     PRPC_MESSAGE pRpcMessage,
   1057     DWORD* pdwStubPhase);
   1058 HRESULT STDMETHODCALLTYPE IEnumUnknown_Skip_Proxy(
   1059     IEnumUnknown* This,
   1060     ULONG celt);
   1061 void __RPC_STUB IEnumUnknown_Skip_Stub(
   1062     IRpcStubBuffer* This,
   1063     IRpcChannelBuffer* pRpcChannelBuffer,
   1064     PRPC_MESSAGE pRpcMessage,
   1065     DWORD* pdwStubPhase);
   1066 HRESULT STDMETHODCALLTYPE IEnumUnknown_Reset_Proxy(
   1067     IEnumUnknown* This);
   1068 void __RPC_STUB IEnumUnknown_Reset_Stub(
   1069     IRpcStubBuffer* This,
   1070     IRpcChannelBuffer* pRpcChannelBuffer,
   1071     PRPC_MESSAGE pRpcMessage,
   1072     DWORD* pdwStubPhase);
   1073 HRESULT STDMETHODCALLTYPE IEnumUnknown_Clone_Proxy(
   1074     IEnumUnknown* This,
   1075     IEnumUnknown **ppenum);
   1076 void __RPC_STUB IEnumUnknown_Clone_Stub(
   1077     IRpcStubBuffer* This,
   1078     IRpcChannelBuffer* pRpcChannelBuffer,
   1079     PRPC_MESSAGE pRpcMessage,
   1080     DWORD* pdwStubPhase);
   1081 HRESULT CALLBACK IEnumUnknown_Next_Proxy(
   1082     IEnumUnknown* This,
   1083     ULONG celt,
   1084     IUnknown **rgelt,
   1085     ULONG *pceltFetched);
   1086 HRESULT __RPC_STUB IEnumUnknown_Next_Stub(
   1087     IEnumUnknown* This,
   1088     ULONG celt,
   1089     IUnknown **rgelt,
   1090     ULONG *pceltFetched);
   1091 
   1092 #endif  /* __IEnumUnknown_INTERFACE_DEFINED__ */
   1093 
   1094 /*****************************************************************************
   1095  * IBindCtx interface
   1096  */
   1097 #ifndef __IBindCtx_INTERFACE_DEFINED__
   1098 #define __IBindCtx_INTERFACE_DEFINED__
   1099 
   1100 typedef IBindCtx *LPBC;
   1101 typedef IBindCtx *LPBINDCTX;
   1102 typedef struct tagBIND_OPTS {
   1103     DWORD cbStruct;
   1104     DWORD grfFlags;
   1105     DWORD grfMode;
   1106     DWORD dwTickCountDeadline;
   1107 } BIND_OPTS;
   1108 typedef struct tagBIND_OPTS *LPBIND_OPTS;
   1109 #if defined(__cplusplus)
   1110   typedef struct tagBIND_OPTS2 : tagBIND_OPTS {
   1111     DWORD dwTrackFlags;
   1112     DWORD dwClassContext;
   1113     LCID locale;
   1114     COSERVERINFO *pServerInfo;
   1115   } BIND_OPTS2, *LPBIND_OPTS2;
   1116 #else
   1117 typedef struct tagBIND_OPTS2 {
   1118     DWORD cbStruct;
   1119     DWORD grfFlags;
   1120     DWORD grfMode;
   1121     DWORD dwTickCountDeadline;
   1122     DWORD dwTrackFlags;
   1123     DWORD dwClassContext;
   1124     LCID locale;
   1125     COSERVERINFO *pServerInfo;
   1126 } BIND_OPTS2;
   1127 typedef struct tagBIND_OPTS2 *LPBIND_OPTS2;
   1128 #endif
   1129 #if defined(__cplusplus)
   1130   typedef struct tagBIND_OPTS3 : tagBIND_OPTS2 {
   1131     HWND hwnd;
   1132   } BIND_OPTS3, *LPBIND_OPTS3;
   1133 #else
   1134 typedef struct tagBIND_OPTS3 {
   1135     DWORD cbStruct;
   1136     DWORD grfFlags;
   1137     DWORD grfMode;
   1138     DWORD dwTickCountDeadline;
   1139     DWORD dwTrackFlags;
   1140     DWORD dwClassContext;
   1141     LCID locale;
   1142     COSERVERINFO *pServerInfo;
   1143     HWND hwnd;
   1144 } BIND_OPTS3;
   1145 typedef struct tagBIND_OPTS3 *LPBIND_OPTS3;
   1146 #endif
   1147 typedef enum tagBIND_FLAGS {
   1148     BIND_MAYBOTHERUSER = 1,
   1149     BIND_JUSTTESTEXISTENCE = 2
   1150 } BIND_FLAGS;
   1151 DEFINE_GUID(IID_IBindCtx, 0x0000000e, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
   1152 #if defined(__cplusplus) && !defined(CINTERFACE)
   1153 MIDL_INTERFACE("0000000e-0000-0000-c000-000000000046")
   1154 IBindCtx : public IUnknown
   1155 {
   1156     virtual HRESULT STDMETHODCALLTYPE RegisterObjectBound(
   1157         IUnknown *punk) = 0;
   1158 
   1159     virtual HRESULT STDMETHODCALLTYPE RevokeObjectBound(
   1160         IUnknown *punk) = 0;
   1161 
   1162     virtual HRESULT STDMETHODCALLTYPE ReleaseBoundObjects(
   1163         ) = 0;
   1164 
   1165     virtual HRESULT STDMETHODCALLTYPE SetBindOptions(
   1166         BIND_OPTS *pbindopts) = 0;
   1167 
   1168     virtual HRESULT STDMETHODCALLTYPE GetBindOptions(
   1169         BIND_OPTS *pbindopts) = 0;
   1170 
   1171     virtual HRESULT STDMETHODCALLTYPE GetRunningObjectTable(
   1172         IRunningObjectTable **pprot) = 0;
   1173 
   1174     virtual HRESULT STDMETHODCALLTYPE RegisterObjectParam(
   1175         LPOLESTR pszKey,
   1176         IUnknown *punk) = 0;
   1177 
   1178     virtual HRESULT STDMETHODCALLTYPE GetObjectParam(
   1179         LPOLESTR pszKey,
   1180         IUnknown **ppunk) = 0;
   1181 
   1182     virtual HRESULT STDMETHODCALLTYPE EnumObjectParam(
   1183         IEnumString **ppenum) = 0;
   1184 
   1185     virtual HRESULT STDMETHODCALLTYPE RevokeObjectParam(
   1186         LPOLESTR pszKey) = 0;
   1187 
   1188 };
   1189 #ifdef __CRT_UUID_DECL
   1190 __CRT_UUID_DECL(IBindCtx, 0x0000000e, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
   1191 #endif
   1192 #else
   1193 typedef struct IBindCtxVtbl {
   1194     BEGIN_INTERFACE
   1195 
   1196     /*** IUnknown methods ***/
   1197     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   1198         IBindCtx* This,
   1199         REFIID riid,
   1200         void **ppvObject);
   1201 
   1202     ULONG (STDMETHODCALLTYPE *AddRef)(
   1203         IBindCtx* This);
   1204 
   1205     ULONG (STDMETHODCALLTYPE *Release)(
   1206         IBindCtx* This);
   1207 
   1208     /*** IBindCtx methods ***/
   1209     HRESULT (STDMETHODCALLTYPE *RegisterObjectBound)(
   1210         IBindCtx* This,
   1211         IUnknown *punk);
   1212 
   1213     HRESULT (STDMETHODCALLTYPE *RevokeObjectBound)(
   1214         IBindCtx* This,
   1215         IUnknown *punk);
   1216 
   1217     HRESULT (STDMETHODCALLTYPE *ReleaseBoundObjects)(
   1218         IBindCtx* This);
   1219 
   1220     HRESULT (STDMETHODCALLTYPE *SetBindOptions)(
   1221         IBindCtx* This,
   1222         BIND_OPTS *pbindopts);
   1223 
   1224     HRESULT (STDMETHODCALLTYPE *GetBindOptions)(
   1225         IBindCtx* This,
   1226         BIND_OPTS *pbindopts);
   1227 
   1228     HRESULT (STDMETHODCALLTYPE *GetRunningObjectTable)(
   1229         IBindCtx* This,
   1230         IRunningObjectTable **pprot);
   1231 
   1232     HRESULT (STDMETHODCALLTYPE *RegisterObjectParam)(
   1233         IBindCtx* This,
   1234         LPOLESTR pszKey,
   1235         IUnknown *punk);
   1236 
   1237     HRESULT (STDMETHODCALLTYPE *GetObjectParam)(
   1238         IBindCtx* This,
   1239         LPOLESTR pszKey,
   1240         IUnknown **ppunk);
   1241 
   1242     HRESULT (STDMETHODCALLTYPE *EnumObjectParam)(
   1243         IBindCtx* This,
   1244         IEnumString **ppenum);
   1245 
   1246     HRESULT (STDMETHODCALLTYPE *RevokeObjectParam)(
   1247         IBindCtx* This,
   1248         LPOLESTR pszKey);
   1249 
   1250     END_INTERFACE
   1251 } IBindCtxVtbl;
   1252 interface IBindCtx {
   1253     CONST_VTBL IBindCtxVtbl* lpVtbl;
   1254 };
   1255 
   1256 #ifdef COBJMACROS
   1257 #ifndef WIDL_C_INLINE_WRAPPERS
   1258 /*** IUnknown methods ***/
   1259 #define IBindCtx_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   1260 #define IBindCtx_AddRef(This) (This)->lpVtbl->AddRef(This)
   1261 #define IBindCtx_Release(This) (This)->lpVtbl->Release(This)
   1262 /*** IBindCtx methods ***/
   1263 #define IBindCtx_RegisterObjectBound(This,punk) (This)->lpVtbl->RegisterObjectBound(This,punk)
   1264 #define IBindCtx_RevokeObjectBound(This,punk) (This)->lpVtbl->RevokeObjectBound(This,punk)
   1265 #define IBindCtx_ReleaseBoundObjects(This) (This)->lpVtbl->ReleaseBoundObjects(This)
   1266 #define IBindCtx_SetBindOptions(This,pbindopts) (This)->lpVtbl->SetBindOptions(This,pbindopts)
   1267 #define IBindCtx_GetBindOptions(This,pbindopts) (This)->lpVtbl->GetBindOptions(This,pbindopts)
   1268 #define IBindCtx_GetRunningObjectTable(This,pprot) (This)->lpVtbl->GetRunningObjectTable(This,pprot)
   1269 #define IBindCtx_RegisterObjectParam(This,pszKey,punk) (This)->lpVtbl->RegisterObjectParam(This,pszKey,punk)
   1270 #define IBindCtx_GetObjectParam(This,pszKey,ppunk) (This)->lpVtbl->GetObjectParam(This,pszKey,ppunk)
   1271 #define IBindCtx_EnumObjectParam(This,ppenum) (This)->lpVtbl->EnumObjectParam(This,ppenum)
   1272 #define IBindCtx_RevokeObjectParam(This,pszKey) (This)->lpVtbl->RevokeObjectParam(This,pszKey)
   1273 #else
   1274 /*** IUnknown methods ***/
   1275 static FORCEINLINE HRESULT IBindCtx_QueryInterface(IBindCtx* This,REFIID riid,void **ppvObject) {
   1276     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   1277 }
   1278 static FORCEINLINE ULONG IBindCtx_AddRef(IBindCtx* This) {
   1279     return This->lpVtbl->AddRef(This);
   1280 }
   1281 static FORCEINLINE ULONG IBindCtx_Release(IBindCtx* This) {
   1282     return This->lpVtbl->Release(This);
   1283 }
   1284 /*** IBindCtx methods ***/
   1285 static FORCEINLINE HRESULT IBindCtx_RegisterObjectBound(IBindCtx* This,IUnknown *punk) {
   1286     return This->lpVtbl->RegisterObjectBound(This,punk);
   1287 }
   1288 static FORCEINLINE HRESULT IBindCtx_RevokeObjectBound(IBindCtx* This,IUnknown *punk) {
   1289     return This->lpVtbl->RevokeObjectBound(This,punk);
   1290 }
   1291 static FORCEINLINE HRESULT IBindCtx_ReleaseBoundObjects(IBindCtx* This) {
   1292     return This->lpVtbl->ReleaseBoundObjects(This);
   1293 }
   1294 static FORCEINLINE HRESULT IBindCtx_SetBindOptions(IBindCtx* This,BIND_OPTS *pbindopts) {
   1295     return This->lpVtbl->SetBindOptions(This,pbindopts);
   1296 }
   1297 static FORCEINLINE HRESULT IBindCtx_GetBindOptions(IBindCtx* This,BIND_OPTS *pbindopts) {
   1298     return This->lpVtbl->GetBindOptions(This,pbindopts);
   1299 }
   1300 static FORCEINLINE HRESULT IBindCtx_GetRunningObjectTable(IBindCtx* This,IRunningObjectTable **pprot) {
   1301     return This->lpVtbl->GetRunningObjectTable(This,pprot);
   1302 }
   1303 static FORCEINLINE HRESULT IBindCtx_RegisterObjectParam(IBindCtx* This,LPOLESTR pszKey,IUnknown *punk) {
   1304     return This->lpVtbl->RegisterObjectParam(This,pszKey,punk);
   1305 }
   1306 static FORCEINLINE HRESULT IBindCtx_GetObjectParam(IBindCtx* This,LPOLESTR pszKey,IUnknown **ppunk) {
   1307     return This->lpVtbl->GetObjectParam(This,pszKey,ppunk);
   1308 }
   1309 static FORCEINLINE HRESULT IBindCtx_EnumObjectParam(IBindCtx* This,IEnumString **ppenum) {
   1310     return This->lpVtbl->EnumObjectParam(This,ppenum);
   1311 }
   1312 static FORCEINLINE HRESULT IBindCtx_RevokeObjectParam(IBindCtx* This,LPOLESTR pszKey) {
   1313     return This->lpVtbl->RevokeObjectParam(This,pszKey);
   1314 }
   1315 #endif
   1316 #endif
   1317 
   1318 #endif
   1319 
   1320 HRESULT STDMETHODCALLTYPE IBindCtx_RegisterObjectBound_Proxy(
   1321     IBindCtx* This,
   1322     IUnknown *punk);
   1323 void __RPC_STUB IBindCtx_RegisterObjectBound_Stub(
   1324     IRpcStubBuffer* This,
   1325     IRpcChannelBuffer* pRpcChannelBuffer,
   1326     PRPC_MESSAGE pRpcMessage,
   1327     DWORD* pdwStubPhase);
   1328 HRESULT STDMETHODCALLTYPE IBindCtx_RevokeObjectBound_Proxy(
   1329     IBindCtx* This,
   1330     IUnknown *punk);
   1331 void __RPC_STUB IBindCtx_RevokeObjectBound_Stub(
   1332     IRpcStubBuffer* This,
   1333     IRpcChannelBuffer* pRpcChannelBuffer,
   1334     PRPC_MESSAGE pRpcMessage,
   1335     DWORD* pdwStubPhase);
   1336 HRESULT STDMETHODCALLTYPE IBindCtx_ReleaseBoundObjects_Proxy(
   1337     IBindCtx* This);
   1338 void __RPC_STUB IBindCtx_ReleaseBoundObjects_Stub(
   1339     IRpcStubBuffer* This,
   1340     IRpcChannelBuffer* pRpcChannelBuffer,
   1341     PRPC_MESSAGE pRpcMessage,
   1342     DWORD* pdwStubPhase);
   1343 HRESULT STDMETHODCALLTYPE IBindCtx_RemoteSetBindOptions_Proxy(
   1344     IBindCtx* This,
   1345     BIND_OPTS2 *pbindopts);
   1346 void __RPC_STUB IBindCtx_RemoteSetBindOptions_Stub(
   1347     IRpcStubBuffer* This,
   1348     IRpcChannelBuffer* pRpcChannelBuffer,
   1349     PRPC_MESSAGE pRpcMessage,
   1350     DWORD* pdwStubPhase);
   1351 HRESULT STDMETHODCALLTYPE IBindCtx_RemoteGetBindOptions_Proxy(
   1352     IBindCtx* This,
   1353     BIND_OPTS2 *pbindopts);
   1354 void __RPC_STUB IBindCtx_RemoteGetBindOptions_Stub(
   1355     IRpcStubBuffer* This,
   1356     IRpcChannelBuffer* pRpcChannelBuffer,
   1357     PRPC_MESSAGE pRpcMessage,
   1358     DWORD* pdwStubPhase);
   1359 HRESULT STDMETHODCALLTYPE IBindCtx_GetRunningObjectTable_Proxy(
   1360     IBindCtx* This,
   1361     IRunningObjectTable **pprot);
   1362 void __RPC_STUB IBindCtx_GetRunningObjectTable_Stub(
   1363     IRpcStubBuffer* This,
   1364     IRpcChannelBuffer* pRpcChannelBuffer,
   1365     PRPC_MESSAGE pRpcMessage,
   1366     DWORD* pdwStubPhase);
   1367 HRESULT STDMETHODCALLTYPE IBindCtx_RegisterObjectParam_Proxy(
   1368     IBindCtx* This,
   1369     LPOLESTR pszKey,
   1370     IUnknown *punk);
   1371 void __RPC_STUB IBindCtx_RegisterObjectParam_Stub(
   1372     IRpcStubBuffer* This,
   1373     IRpcChannelBuffer* pRpcChannelBuffer,
   1374     PRPC_MESSAGE pRpcMessage,
   1375     DWORD* pdwStubPhase);
   1376 HRESULT STDMETHODCALLTYPE IBindCtx_GetObjectParam_Proxy(
   1377     IBindCtx* This,
   1378     LPOLESTR pszKey,
   1379     IUnknown **ppunk);
   1380 void __RPC_STUB IBindCtx_GetObjectParam_Stub(
   1381     IRpcStubBuffer* This,
   1382     IRpcChannelBuffer* pRpcChannelBuffer,
   1383     PRPC_MESSAGE pRpcMessage,
   1384     DWORD* pdwStubPhase);
   1385 HRESULT STDMETHODCALLTYPE IBindCtx_EnumObjectParam_Proxy(
   1386     IBindCtx* This,
   1387     IEnumString **ppenum);
   1388 void __RPC_STUB IBindCtx_EnumObjectParam_Stub(
   1389     IRpcStubBuffer* This,
   1390     IRpcChannelBuffer* pRpcChannelBuffer,
   1391     PRPC_MESSAGE pRpcMessage,
   1392     DWORD* pdwStubPhase);
   1393 HRESULT STDMETHODCALLTYPE IBindCtx_RevokeObjectParam_Proxy(
   1394     IBindCtx* This,
   1395     LPOLESTR pszKey);
   1396 void __RPC_STUB IBindCtx_RevokeObjectParam_Stub(
   1397     IRpcStubBuffer* This,
   1398     IRpcChannelBuffer* pRpcChannelBuffer,
   1399     PRPC_MESSAGE pRpcMessage,
   1400     DWORD* pdwStubPhase);
   1401 HRESULT CALLBACK IBindCtx_SetBindOptions_Proxy(
   1402     IBindCtx* This,
   1403     BIND_OPTS *pbindopts);
   1404 HRESULT __RPC_STUB IBindCtx_SetBindOptions_Stub(
   1405     IBindCtx* This,
   1406     BIND_OPTS2 *pbindopts);
   1407 HRESULT CALLBACK IBindCtx_GetBindOptions_Proxy(
   1408     IBindCtx* This,
   1409     BIND_OPTS *pbindopts);
   1410 HRESULT __RPC_STUB IBindCtx_GetBindOptions_Stub(
   1411     IBindCtx* This,
   1412     BIND_OPTS2 *pbindopts);
   1413 
   1414 #endif  /* __IBindCtx_INTERFACE_DEFINED__ */
   1415 
   1416 /*****************************************************************************
   1417  * IEnumMoniker interface
   1418  */
   1419 #ifndef __IEnumMoniker_INTERFACE_DEFINED__
   1420 #define __IEnumMoniker_INTERFACE_DEFINED__
   1421 
   1422 typedef IEnumMoniker *LPENUMMONIKER;
   1423 DEFINE_GUID(IID_IEnumMoniker, 0x00000102, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
   1424 #if defined(__cplusplus) && !defined(CINTERFACE)
   1425 MIDL_INTERFACE("00000102-0000-0000-c000-000000000046")
   1426 IEnumMoniker : public IUnknown
   1427 {
   1428     virtual HRESULT STDMETHODCALLTYPE Next(
   1429         ULONG celt,
   1430         IMoniker **rgelt,
   1431         ULONG *pceltFetched) = 0;
   1432 
   1433     virtual HRESULT STDMETHODCALLTYPE Skip(
   1434         ULONG celt) = 0;
   1435 
   1436     virtual HRESULT STDMETHODCALLTYPE Reset(
   1437         ) = 0;
   1438 
   1439     virtual HRESULT STDMETHODCALLTYPE Clone(
   1440         IEnumMoniker **ppenum) = 0;
   1441 
   1442 };
   1443 #ifdef __CRT_UUID_DECL
   1444 __CRT_UUID_DECL(IEnumMoniker, 0x00000102, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
   1445 #endif
   1446 #else
   1447 typedef struct IEnumMonikerVtbl {
   1448     BEGIN_INTERFACE
   1449 
   1450     /*** IUnknown methods ***/
   1451     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   1452         IEnumMoniker* This,
   1453         REFIID riid,
   1454         void **ppvObject);
   1455 
   1456     ULONG (STDMETHODCALLTYPE *AddRef)(
   1457         IEnumMoniker* This);
   1458 
   1459     ULONG (STDMETHODCALLTYPE *Release)(
   1460         IEnumMoniker* This);
   1461 
   1462     /*** IEnumMoniker methods ***/
   1463     HRESULT (STDMETHODCALLTYPE *Next)(
   1464         IEnumMoniker* This,
   1465         ULONG celt,
   1466         IMoniker **rgelt,
   1467         ULONG *pceltFetched);
   1468 
   1469     HRESULT (STDMETHODCALLTYPE *Skip)(
   1470         IEnumMoniker* This,
   1471         ULONG celt);
   1472 
   1473     HRESULT (STDMETHODCALLTYPE *Reset)(
   1474         IEnumMoniker* This);
   1475 
   1476     HRESULT (STDMETHODCALLTYPE *Clone)(
   1477         IEnumMoniker* This,
   1478         IEnumMoniker **ppenum);
   1479 
   1480     END_INTERFACE
   1481 } IEnumMonikerVtbl;
   1482 interface IEnumMoniker {
   1483     CONST_VTBL IEnumMonikerVtbl* lpVtbl;
   1484 };
   1485 
   1486 #ifdef COBJMACROS
   1487 #ifndef WIDL_C_INLINE_WRAPPERS
   1488 /*** IUnknown methods ***/
   1489 #define IEnumMoniker_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   1490 #define IEnumMoniker_AddRef(This) (This)->lpVtbl->AddRef(This)
   1491 #define IEnumMoniker_Release(This) (This)->lpVtbl->Release(This)
   1492 /*** IEnumMoniker methods ***/
   1493 #define IEnumMoniker_Next(This,celt,rgelt,pceltFetched) (This)->lpVtbl->Next(This,celt,rgelt,pceltFetched)
   1494 #define IEnumMoniker_Skip(This,celt) (This)->lpVtbl->Skip(This,celt)
   1495 #define IEnumMoniker_Reset(This) (This)->lpVtbl->Reset(This)
   1496 #define IEnumMoniker_Clone(This,ppenum) (This)->lpVtbl->Clone(This,ppenum)
   1497 #else
   1498 /*** IUnknown methods ***/
   1499 static FORCEINLINE HRESULT IEnumMoniker_QueryInterface(IEnumMoniker* This,REFIID riid,void **ppvObject) {
   1500     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   1501 }
   1502 static FORCEINLINE ULONG IEnumMoniker_AddRef(IEnumMoniker* This) {
   1503     return This->lpVtbl->AddRef(This);
   1504 }
   1505 static FORCEINLINE ULONG IEnumMoniker_Release(IEnumMoniker* This) {
   1506     return This->lpVtbl->Release(This);
   1507 }
   1508 /*** IEnumMoniker methods ***/
   1509 static FORCEINLINE HRESULT IEnumMoniker_Next(IEnumMoniker* This,ULONG celt,IMoniker **rgelt,ULONG *pceltFetched) {
   1510     return This->lpVtbl->Next(This,celt,rgelt,pceltFetched);
   1511 }
   1512 static FORCEINLINE HRESULT IEnumMoniker_Skip(IEnumMoniker* This,ULONG celt) {
   1513     return This->lpVtbl->Skip(This,celt);
   1514 }
   1515 static FORCEINLINE HRESULT IEnumMoniker_Reset(IEnumMoniker* This) {
   1516     return This->lpVtbl->Reset(This);
   1517 }
   1518 static FORCEINLINE HRESULT IEnumMoniker_Clone(IEnumMoniker* This,IEnumMoniker **ppenum) {
   1519     return This->lpVtbl->Clone(This,ppenum);
   1520 }
   1521 #endif
   1522 #endif
   1523 
   1524 #endif
   1525 
   1526 HRESULT STDMETHODCALLTYPE IEnumMoniker_RemoteNext_Proxy(
   1527     IEnumMoniker* This,
   1528     ULONG celt,
   1529     IMoniker **rgelt,
   1530     ULONG *pceltFetched);
   1531 void __RPC_STUB IEnumMoniker_RemoteNext_Stub(
   1532     IRpcStubBuffer* This,
   1533     IRpcChannelBuffer* pRpcChannelBuffer,
   1534     PRPC_MESSAGE pRpcMessage,
   1535     DWORD* pdwStubPhase);
   1536 HRESULT STDMETHODCALLTYPE IEnumMoniker_Skip_Proxy(
   1537     IEnumMoniker* This,
   1538     ULONG celt);
   1539 void __RPC_STUB IEnumMoniker_Skip_Stub(
   1540     IRpcStubBuffer* This,
   1541     IRpcChannelBuffer* pRpcChannelBuffer,
   1542     PRPC_MESSAGE pRpcMessage,
   1543     DWORD* pdwStubPhase);
   1544 HRESULT STDMETHODCALLTYPE IEnumMoniker_Reset_Proxy(
   1545     IEnumMoniker* This);
   1546 void __RPC_STUB IEnumMoniker_Reset_Stub(
   1547     IRpcStubBuffer* This,
   1548     IRpcChannelBuffer* pRpcChannelBuffer,
   1549     PRPC_MESSAGE pRpcMessage,
   1550     DWORD* pdwStubPhase);
   1551 HRESULT STDMETHODCALLTYPE IEnumMoniker_Clone_Proxy(
   1552     IEnumMoniker* This,
   1553     IEnumMoniker **ppenum);
   1554 void __RPC_STUB IEnumMoniker_Clone_Stub(
   1555     IRpcStubBuffer* This,
   1556     IRpcChannelBuffer* pRpcChannelBuffer,
   1557     PRPC_MESSAGE pRpcMessage,
   1558     DWORD* pdwStubPhase);
   1559 HRESULT CALLBACK IEnumMoniker_Next_Proxy(
   1560     IEnumMoniker* This,
   1561     ULONG celt,
   1562     IMoniker **rgelt,
   1563     ULONG *pceltFetched);
   1564 HRESULT __RPC_STUB IEnumMoniker_Next_Stub(
   1565     IEnumMoniker* This,
   1566     ULONG celt,
   1567     IMoniker **rgelt,
   1568     ULONG *pceltFetched);
   1569 
   1570 #endif  /* __IEnumMoniker_INTERFACE_DEFINED__ */
   1571 
   1572 #ifndef __IRunnableObject_INTERFACE_DEFINED__
   1573 #define __IRunnableObject_INTERFACE_DEFINED__
   1574   typedef IRunnableObject *LPRUNNABLEOBJECT;
   1575 
   1576   EXTERN_C const IID IID_IRunnableObject;
   1577 #if defined(__cplusplus) && !defined(CINTERFACE)
   1578   struct IRunnableObject : public IUnknown {
   1579   public:
   1580     virtual HRESULT WINAPI GetRunningClass(LPCLSID lpClsid) = 0;
   1581     virtual HRESULT WINAPI Run(LPBINDCTX pbc) = 0;
   1582     virtual WINBOOL WINAPI IsRunning(void) = 0;
   1583     virtual HRESULT WINAPI LockRunning(WINBOOL fLock,WINBOOL fLastUnlockCloses) = 0;
   1584     virtual HRESULT WINAPI SetContainedObject(WINBOOL fContained) = 0;
   1585   };
   1586 #else
   1587   typedef struct IRunnableObjectVtbl {
   1588     BEGIN_INTERFACE
   1589       HRESULT (WINAPI *QueryInterface)(IRunnableObject *This,REFIID riid,void **ppvObject);
   1590       ULONG (WINAPI *AddRef)(IRunnableObject *This);
   1591       ULONG (WINAPI *Release)(IRunnableObject *This);
   1592       HRESULT (WINAPI *GetRunningClass)(IRunnableObject *This,LPCLSID lpClsid);
   1593       HRESULT (WINAPI *Run)(IRunnableObject *This,LPBINDCTX pbc);
   1594       WINBOOL (WINAPI *IsRunning)(IRunnableObject *This);
   1595       HRESULT (WINAPI *LockRunning)(IRunnableObject *This,WINBOOL fLock,WINBOOL fLastUnlockCloses);
   1596       HRESULT (WINAPI *SetContainedObject)(IRunnableObject *This,WINBOOL fContained);
   1597     END_INTERFACE
   1598   } IRunnableObjectVtbl;
   1599   struct IRunnableObject {
   1600     CONST_VTBL struct IRunnableObjectVtbl *lpVtbl;
   1601   };
   1602 #ifdef COBJMACROS
   1603 #define IRunnableObject_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   1604 #define IRunnableObject_AddRef(This) (This)->lpVtbl->AddRef(This)
   1605 #define IRunnableObject_Release(This) (This)->lpVtbl->Release(This)
   1606 #define IRunnableObject_GetRunningClass(This,lpClsid) (This)->lpVtbl->GetRunningClass(This,lpClsid)
   1607 #define IRunnableObject_Run(This,pbc) (This)->lpVtbl->Run(This,pbc)
   1608 #define IRunnableObject_IsRunning(This) (This)->lpVtbl->IsRunning(This)
   1609 #define IRunnableObject_LockRunning(This,fLock,fLastUnlockCloses) (This)->lpVtbl->LockRunning(This,fLock,fLastUnlockCloses)
   1610 #define IRunnableObject_SetContainedObject(This,fContained) (This)->lpVtbl->SetContainedObject(This,fContained)
   1611 #endif
   1612 #endif
   1613   HRESULT WINAPI IRunnableObject_GetRunningClass_Proxy(IRunnableObject *This,LPCLSID lpClsid);
   1614   void __RPC_STUB IRunnableObject_GetRunningClass_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1615   HRESULT WINAPI IRunnableObject_Run_Proxy(IRunnableObject *This,LPBINDCTX pbc);
   1616   void __RPC_STUB IRunnableObject_Run_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1617   HRESULT WINAPI IRunnableObject_RemoteIsRunning_Proxy(IRunnableObject *This);
   1618   void __RPC_STUB IRunnableObject_RemoteIsRunning_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1619   HRESULT WINAPI IRunnableObject_LockRunning_Proxy(IRunnableObject *This,WINBOOL fLock,WINBOOL fLastUnlockCloses);
   1620   void __RPC_STUB IRunnableObject_LockRunning_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1621   HRESULT WINAPI IRunnableObject_SetContainedObject_Proxy(IRunnableObject *This,WINBOOL fContained);
   1622   void __RPC_STUB IRunnableObject_SetContainedObject_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1623 #endif
   1624 /*****************************************************************************
   1625  * IRunningObjectTable interface
   1626  */
   1627 #ifndef __IRunningObjectTable_INTERFACE_DEFINED__
   1628 #define __IRunningObjectTable_INTERFACE_DEFINED__
   1629 
   1630 typedef IRunningObjectTable *LPRUNNINGOBJECTTABLE;
   1631 DEFINE_GUID(IID_IRunningObjectTable, 0x00000010, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
   1632 #if defined(__cplusplus) && !defined(CINTERFACE)
   1633 MIDL_INTERFACE("00000010-0000-0000-c000-000000000046")
   1634 IRunningObjectTable : public IUnknown
   1635 {
   1636     virtual HRESULT STDMETHODCALLTYPE Register(
   1637         DWORD grfFlags,
   1638         IUnknown *punkObject,
   1639         IMoniker *pmkObjectName,
   1640         DWORD *pdwRegister) = 0;
   1641 
   1642     virtual HRESULT STDMETHODCALLTYPE Revoke(
   1643         DWORD dwRegister) = 0;
   1644 
   1645     virtual HRESULT STDMETHODCALLTYPE IsRunning(
   1646         IMoniker *pmkObjectName) = 0;
   1647 
   1648     virtual HRESULT STDMETHODCALLTYPE GetObject(
   1649         IMoniker *pmkObjectName,
   1650         IUnknown **ppunkObject) = 0;
   1651 
   1652     virtual HRESULT STDMETHODCALLTYPE NoteChangeTime(
   1653         DWORD dwRegister,
   1654         FILETIME *pfiletime) = 0;
   1655 
   1656     virtual HRESULT STDMETHODCALLTYPE GetTimeOfLastChange(
   1657         IMoniker *pmkObjectName,
   1658         FILETIME *pfiletime) = 0;
   1659 
   1660     virtual HRESULT STDMETHODCALLTYPE EnumRunning(
   1661         IEnumMoniker **ppenumMoniker) = 0;
   1662 
   1663 };
   1664 #ifdef __CRT_UUID_DECL
   1665 __CRT_UUID_DECL(IRunningObjectTable, 0x00000010, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
   1666 #endif
   1667 #else
   1668 typedef struct IRunningObjectTableVtbl {
   1669     BEGIN_INTERFACE
   1670 
   1671     /*** IUnknown methods ***/
   1672     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   1673         IRunningObjectTable* This,
   1674         REFIID riid,
   1675         void **ppvObject);
   1676 
   1677     ULONG (STDMETHODCALLTYPE *AddRef)(
   1678         IRunningObjectTable* This);
   1679 
   1680     ULONG (STDMETHODCALLTYPE *Release)(
   1681         IRunningObjectTable* This);
   1682 
   1683     /*** IRunningObjectTable methods ***/
   1684     HRESULT (STDMETHODCALLTYPE *Register)(
   1685         IRunningObjectTable* This,
   1686         DWORD grfFlags,
   1687         IUnknown *punkObject,
   1688         IMoniker *pmkObjectName,
   1689         DWORD *pdwRegister);
   1690 
   1691     HRESULT (STDMETHODCALLTYPE *Revoke)(
   1692         IRunningObjectTable* This,
   1693         DWORD dwRegister);
   1694 
   1695     HRESULT (STDMETHODCALLTYPE *IsRunning)(
   1696         IRunningObjectTable* This,
   1697         IMoniker *pmkObjectName);
   1698 
   1699     HRESULT (STDMETHODCALLTYPE *GetObject)(
   1700         IRunningObjectTable* This,
   1701         IMoniker *pmkObjectName,
   1702         IUnknown **ppunkObject);
   1703 
   1704     HRESULT (STDMETHODCALLTYPE *NoteChangeTime)(
   1705         IRunningObjectTable* This,
   1706         DWORD dwRegister,
   1707         FILETIME *pfiletime);
   1708 
   1709     HRESULT (STDMETHODCALLTYPE *GetTimeOfLastChange)(
   1710         IRunningObjectTable* This,
   1711         IMoniker *pmkObjectName,
   1712         FILETIME *pfiletime);
   1713 
   1714     HRESULT (STDMETHODCALLTYPE *EnumRunning)(
   1715         IRunningObjectTable* This,
   1716         IEnumMoniker **ppenumMoniker);
   1717 
   1718     END_INTERFACE
   1719 } IRunningObjectTableVtbl;
   1720 interface IRunningObjectTable {
   1721     CONST_VTBL IRunningObjectTableVtbl* lpVtbl;
   1722 };
   1723 
   1724 #ifdef COBJMACROS
   1725 #ifndef WIDL_C_INLINE_WRAPPERS
   1726 /*** IUnknown methods ***/
   1727 #define IRunningObjectTable_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   1728 #define IRunningObjectTable_AddRef(This) (This)->lpVtbl->AddRef(This)
   1729 #define IRunningObjectTable_Release(This) (This)->lpVtbl->Release(This)
   1730 /*** IRunningObjectTable methods ***/
   1731 #define IRunningObjectTable_Register(This,grfFlags,punkObject,pmkObjectName,pdwRegister) (This)->lpVtbl->Register(This,grfFlags,punkObject,pmkObjectName,pdwRegister)
   1732 #define IRunningObjectTable_Revoke(This,dwRegister) (This)->lpVtbl->Revoke(This,dwRegister)
   1733 #define IRunningObjectTable_IsRunning(This,pmkObjectName) (This)->lpVtbl->IsRunning(This,pmkObjectName)
   1734 #define IRunningObjectTable_GetObject(This,pmkObjectName,ppunkObject) (This)->lpVtbl->GetObject(This,pmkObjectName,ppunkObject)
   1735 #define IRunningObjectTable_NoteChangeTime(This,dwRegister,pfiletime) (This)->lpVtbl->NoteChangeTime(This,dwRegister,pfiletime)
   1736 #define IRunningObjectTable_GetTimeOfLastChange(This,pmkObjectName,pfiletime) (This)->lpVtbl->GetTimeOfLastChange(This,pmkObjectName,pfiletime)
   1737 #define IRunningObjectTable_EnumRunning(This,ppenumMoniker) (This)->lpVtbl->EnumRunning(This,ppenumMoniker)
   1738 #else
   1739 /*** IUnknown methods ***/
   1740 static FORCEINLINE HRESULT IRunningObjectTable_QueryInterface(IRunningObjectTable* This,REFIID riid,void **ppvObject) {
   1741     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   1742 }
   1743 static FORCEINLINE ULONG IRunningObjectTable_AddRef(IRunningObjectTable* This) {
   1744     return This->lpVtbl->AddRef(This);
   1745 }
   1746 static FORCEINLINE ULONG IRunningObjectTable_Release(IRunningObjectTable* This) {
   1747     return This->lpVtbl->Release(This);
   1748 }
   1749 /*** IRunningObjectTable methods ***/
   1750 static FORCEINLINE HRESULT IRunningObjectTable_Register(IRunningObjectTable* This,DWORD grfFlags,IUnknown *punkObject,IMoniker *pmkObjectName,DWORD *pdwRegister) {
   1751     return This->lpVtbl->Register(This,grfFlags,punkObject,pmkObjectName,pdwRegister);
   1752 }
   1753 static FORCEINLINE HRESULT IRunningObjectTable_Revoke(IRunningObjectTable* This,DWORD dwRegister) {
   1754     return This->lpVtbl->Revoke(This,dwRegister);
   1755 }
   1756 static FORCEINLINE HRESULT IRunningObjectTable_IsRunning(IRunningObjectTable* This,IMoniker *pmkObjectName) {
   1757     return This->lpVtbl->IsRunning(This,pmkObjectName);
   1758 }
   1759 static FORCEINLINE HRESULT IRunningObjectTable_GetObject(IRunningObjectTable* This,IMoniker *pmkObjectName,IUnknown **ppunkObject) {
   1760     return This->lpVtbl->GetObject(This,pmkObjectName,ppunkObject);
   1761 }
   1762 static FORCEINLINE HRESULT IRunningObjectTable_NoteChangeTime(IRunningObjectTable* This,DWORD dwRegister,FILETIME *pfiletime) {
   1763     return This->lpVtbl->NoteChangeTime(This,dwRegister,pfiletime);
   1764 }
   1765 static FORCEINLINE HRESULT IRunningObjectTable_GetTimeOfLastChange(IRunningObjectTable* This,IMoniker *pmkObjectName,FILETIME *pfiletime) {
   1766     return This->lpVtbl->GetTimeOfLastChange(This,pmkObjectName,pfiletime);
   1767 }
   1768 static FORCEINLINE HRESULT IRunningObjectTable_EnumRunning(IRunningObjectTable* This,IEnumMoniker **ppenumMoniker) {
   1769     return This->lpVtbl->EnumRunning(This,ppenumMoniker);
   1770 }
   1771 #endif
   1772 #endif
   1773 
   1774 #endif
   1775 
   1776 HRESULT STDMETHODCALLTYPE IRunningObjectTable_Register_Proxy(
   1777     IRunningObjectTable* This,
   1778     DWORD grfFlags,
   1779     IUnknown *punkObject,
   1780     IMoniker *pmkObjectName,
   1781     DWORD *pdwRegister);
   1782 void __RPC_STUB IRunningObjectTable_Register_Stub(
   1783     IRpcStubBuffer* This,
   1784     IRpcChannelBuffer* pRpcChannelBuffer,
   1785     PRPC_MESSAGE pRpcMessage,
   1786     DWORD* pdwStubPhase);
   1787 HRESULT STDMETHODCALLTYPE IRunningObjectTable_Revoke_Proxy(
   1788     IRunningObjectTable* This,
   1789     DWORD dwRegister);
   1790 void __RPC_STUB IRunningObjectTable_Revoke_Stub(
   1791     IRpcStubBuffer* This,
   1792     IRpcChannelBuffer* pRpcChannelBuffer,
   1793     PRPC_MESSAGE pRpcMessage,
   1794     DWORD* pdwStubPhase);
   1795 HRESULT STDMETHODCALLTYPE IRunningObjectTable_IsRunning_Proxy(
   1796     IRunningObjectTable* This,
   1797     IMoniker *pmkObjectName);
   1798 void __RPC_STUB IRunningObjectTable_IsRunning_Stub(
   1799     IRpcStubBuffer* This,
   1800     IRpcChannelBuffer* pRpcChannelBuffer,
   1801     PRPC_MESSAGE pRpcMessage,
   1802     DWORD* pdwStubPhase);
   1803 HRESULT STDMETHODCALLTYPE IRunningObjectTable_GetObject_Proxy(
   1804     IRunningObjectTable* This,
   1805     IMoniker *pmkObjectName,
   1806     IUnknown **ppunkObject);
   1807 void __RPC_STUB IRunningObjectTable_GetObject_Stub(
   1808     IRpcStubBuffer* This,
   1809     IRpcChannelBuffer* pRpcChannelBuffer,
   1810     PRPC_MESSAGE pRpcMessage,
   1811     DWORD* pdwStubPhase);
   1812 HRESULT STDMETHODCALLTYPE IRunningObjectTable_NoteChangeTime_Proxy(
   1813     IRunningObjectTable* This,
   1814     DWORD dwRegister,
   1815     FILETIME *pfiletime);
   1816 void __RPC_STUB IRunningObjectTable_NoteChangeTime_Stub(
   1817     IRpcStubBuffer* This,
   1818     IRpcChannelBuffer* pRpcChannelBuffer,
   1819     PRPC_MESSAGE pRpcMessage,
   1820     DWORD* pdwStubPhase);
   1821 HRESULT STDMETHODCALLTYPE IRunningObjectTable_GetTimeOfLastChange_Proxy(
   1822     IRunningObjectTable* This,
   1823     IMoniker *pmkObjectName,
   1824     FILETIME *pfiletime);
   1825 void __RPC_STUB IRunningObjectTable_GetTimeOfLastChange_Stub(
   1826     IRpcStubBuffer* This,
   1827     IRpcChannelBuffer* pRpcChannelBuffer,
   1828     PRPC_MESSAGE pRpcMessage,
   1829     DWORD* pdwStubPhase);
   1830 HRESULT STDMETHODCALLTYPE IRunningObjectTable_EnumRunning_Proxy(
   1831     IRunningObjectTable* This,
   1832     IEnumMoniker **ppenumMoniker);
   1833 void __RPC_STUB IRunningObjectTable_EnumRunning_Stub(
   1834     IRpcStubBuffer* This,
   1835     IRpcChannelBuffer* pRpcChannelBuffer,
   1836     PRPC_MESSAGE pRpcMessage,
   1837     DWORD* pdwStubPhase);
   1838 
   1839 #endif  /* __IRunningObjectTable_INTERFACE_DEFINED__ */
   1840 
   1841 /*****************************************************************************
   1842  * IPersist interface
   1843  */
   1844 #ifndef __IPersist_INTERFACE_DEFINED__
   1845 #define __IPersist_INTERFACE_DEFINED__
   1846 
   1847 typedef IPersist *LPPERSIST;
   1848 DEFINE_GUID(IID_IPersist, 0x0000010c, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
   1849 #if defined(__cplusplus) && !defined(CINTERFACE)
   1850 MIDL_INTERFACE("0000010c-0000-0000-c000-000000000046")
   1851 IPersist : public IUnknown
   1852 {
   1853     virtual HRESULT STDMETHODCALLTYPE GetClassID(
   1854         CLSID *pClassID) = 0;
   1855 
   1856 };
   1857 #ifdef __CRT_UUID_DECL
   1858 __CRT_UUID_DECL(IPersist, 0x0000010c, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
   1859 #endif
   1860 #else
   1861 typedef struct IPersistVtbl {
   1862     BEGIN_INTERFACE
   1863 
   1864     /*** IUnknown methods ***/
   1865     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   1866         IPersist* This,
   1867         REFIID riid,
   1868         void **ppvObject);
   1869 
   1870     ULONG (STDMETHODCALLTYPE *AddRef)(
   1871         IPersist* This);
   1872 
   1873     ULONG (STDMETHODCALLTYPE *Release)(
   1874         IPersist* This);
   1875 
   1876     /*** IPersist methods ***/
   1877     HRESULT (STDMETHODCALLTYPE *GetClassID)(
   1878         IPersist* This,
   1879         CLSID *pClassID);
   1880 
   1881     END_INTERFACE
   1882 } IPersistVtbl;
   1883 interface IPersist {
   1884     CONST_VTBL IPersistVtbl* lpVtbl;
   1885 };
   1886 
   1887 #ifdef COBJMACROS
   1888 #ifndef WIDL_C_INLINE_WRAPPERS
   1889 /*** IUnknown methods ***/
   1890 #define IPersist_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   1891 #define IPersist_AddRef(This) (This)->lpVtbl->AddRef(This)
   1892 #define IPersist_Release(This) (This)->lpVtbl->Release(This)
   1893 /*** IPersist methods ***/
   1894 #define IPersist_GetClassID(This,pClassID) (This)->lpVtbl->GetClassID(This,pClassID)
   1895 #else
   1896 /*** IUnknown methods ***/
   1897 static FORCEINLINE HRESULT IPersist_QueryInterface(IPersist* This,REFIID riid,void **ppvObject) {
   1898     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   1899 }
   1900 static FORCEINLINE ULONG IPersist_AddRef(IPersist* This) {
   1901     return This->lpVtbl->AddRef(This);
   1902 }
   1903 static FORCEINLINE ULONG IPersist_Release(IPersist* This) {
   1904     return This->lpVtbl->Release(This);
   1905 }
   1906 /*** IPersist methods ***/
   1907 static FORCEINLINE HRESULT IPersist_GetClassID(IPersist* This,CLSID *pClassID) {
   1908     return This->lpVtbl->GetClassID(This,pClassID);
   1909 }
   1910 #endif
   1911 #endif
   1912 
   1913 #endif
   1914 
   1915 HRESULT STDMETHODCALLTYPE IPersist_GetClassID_Proxy(
   1916     IPersist* This,
   1917     CLSID *pClassID);
   1918 void __RPC_STUB IPersist_GetClassID_Stub(
   1919     IRpcStubBuffer* This,
   1920     IRpcChannelBuffer* pRpcChannelBuffer,
   1921     PRPC_MESSAGE pRpcMessage,
   1922     DWORD* pdwStubPhase);
   1923 
   1924 #endif  /* __IPersist_INTERFACE_DEFINED__ */
   1925 
   1926 /*****************************************************************************
   1927  * IPersistStream interface
   1928  */
   1929 #ifndef __IPersistStream_INTERFACE_DEFINED__
   1930 #define __IPersistStream_INTERFACE_DEFINED__
   1931 
   1932 typedef IPersistStream *LPPERSISTSTREAM;
   1933 DEFINE_GUID(IID_IPersistStream, 0x00000109, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
   1934 #if defined(__cplusplus) && !defined(CINTERFACE)
   1935 MIDL_INTERFACE("00000109-0000-0000-c000-000000000046")
   1936 IPersistStream : public IPersist
   1937 {
   1938     virtual HRESULT STDMETHODCALLTYPE IsDirty(
   1939         ) = 0;
   1940 
   1941     virtual HRESULT STDMETHODCALLTYPE Load(
   1942         IStream *pStm) = 0;
   1943 
   1944     virtual HRESULT STDMETHODCALLTYPE Save(
   1945         IStream *pStm,
   1946         WINBOOL fClearDirty) = 0;
   1947 
   1948     virtual HRESULT STDMETHODCALLTYPE GetSizeMax(
   1949         ULARGE_INTEGER *pcbSize) = 0;
   1950 
   1951 };
   1952 #ifdef __CRT_UUID_DECL
   1953 __CRT_UUID_DECL(IPersistStream, 0x00000109, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
   1954 #endif
   1955 #else
   1956 typedef struct IPersistStreamVtbl {
   1957     BEGIN_INTERFACE
   1958 
   1959     /*** IUnknown methods ***/
   1960     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   1961         IPersistStream* This,
   1962         REFIID riid,
   1963         void **ppvObject);
   1964 
   1965     ULONG (STDMETHODCALLTYPE *AddRef)(
   1966         IPersistStream* This);
   1967 
   1968     ULONG (STDMETHODCALLTYPE *Release)(
   1969         IPersistStream* This);
   1970 
   1971     /*** IPersist methods ***/
   1972     HRESULT (STDMETHODCALLTYPE *GetClassID)(
   1973         IPersistStream* This,
   1974         CLSID *pClassID);
   1975 
   1976     /*** IPersistStream methods ***/
   1977     HRESULT (STDMETHODCALLTYPE *IsDirty)(
   1978         IPersistStream* This);
   1979 
   1980     HRESULT (STDMETHODCALLTYPE *Load)(
   1981         IPersistStream* This,
   1982         IStream *pStm);
   1983 
   1984     HRESULT (STDMETHODCALLTYPE *Save)(
   1985         IPersistStream* This,
   1986         IStream *pStm,
   1987         WINBOOL fClearDirty);
   1988 
   1989     HRESULT (STDMETHODCALLTYPE *GetSizeMax)(
   1990         IPersistStream* This,
   1991         ULARGE_INTEGER *pcbSize);
   1992 
   1993     END_INTERFACE
   1994 } IPersistStreamVtbl;
   1995 interface IPersistStream {
   1996     CONST_VTBL IPersistStreamVtbl* lpVtbl;
   1997 };
   1998 
   1999 #ifdef COBJMACROS
   2000 #ifndef WIDL_C_INLINE_WRAPPERS
   2001 /*** IUnknown methods ***/
   2002 #define IPersistStream_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   2003 #define IPersistStream_AddRef(This) (This)->lpVtbl->AddRef(This)
   2004 #define IPersistStream_Release(This) (This)->lpVtbl->Release(This)
   2005 /*** IPersist methods ***/
   2006 #define IPersistStream_GetClassID(This,pClassID) (This)->lpVtbl->GetClassID(This,pClassID)
   2007 /*** IPersistStream methods ***/
   2008 #define IPersistStream_IsDirty(This) (This)->lpVtbl->IsDirty(This)
   2009 #define IPersistStream_Load(This,pStm) (This)->lpVtbl->Load(This,pStm)
   2010 #define IPersistStream_Save(This,pStm,fClearDirty) (This)->lpVtbl->Save(This,pStm,fClearDirty)
   2011 #define IPersistStream_GetSizeMax(This,pcbSize) (This)->lpVtbl->GetSizeMax(This,pcbSize)
   2012 #else
   2013 /*** IUnknown methods ***/
   2014 static FORCEINLINE HRESULT IPersistStream_QueryInterface(IPersistStream* This,REFIID riid,void **ppvObject) {
   2015     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   2016 }
   2017 static FORCEINLINE ULONG IPersistStream_AddRef(IPersistStream* This) {
   2018     return This->lpVtbl->AddRef(This);
   2019 }
   2020 static FORCEINLINE ULONG IPersistStream_Release(IPersistStream* This) {
   2021     return This->lpVtbl->Release(This);
   2022 }
   2023 /*** IPersist methods ***/
   2024 static FORCEINLINE HRESULT IPersistStream_GetClassID(IPersistStream* This,CLSID *pClassID) {
   2025     return This->lpVtbl->GetClassID(This,pClassID);
   2026 }
   2027 /*** IPersistStream methods ***/
   2028 static FORCEINLINE HRESULT IPersistStream_IsDirty(IPersistStream* This) {
   2029     return This->lpVtbl->IsDirty(This);
   2030 }
   2031 static FORCEINLINE HRESULT IPersistStream_Load(IPersistStream* This,IStream *pStm) {
   2032     return This->lpVtbl->Load(This,pStm);
   2033 }
   2034 static FORCEINLINE HRESULT IPersistStream_Save(IPersistStream* This,IStream *pStm,WINBOOL fClearDirty) {
   2035     return This->lpVtbl->Save(This,pStm,fClearDirty);
   2036 }
   2037 static FORCEINLINE HRESULT IPersistStream_GetSizeMax(IPersistStream* This,ULARGE_INTEGER *pcbSize) {
   2038     return This->lpVtbl->GetSizeMax(This,pcbSize);
   2039 }
   2040 #endif
   2041 #endif
   2042 
   2043 #endif
   2044 
   2045 HRESULT STDMETHODCALLTYPE IPersistStream_IsDirty_Proxy(
   2046     IPersistStream* This);
   2047 void __RPC_STUB IPersistStream_IsDirty_Stub(
   2048     IRpcStubBuffer* This,
   2049     IRpcChannelBuffer* pRpcChannelBuffer,
   2050     PRPC_MESSAGE pRpcMessage,
   2051     DWORD* pdwStubPhase);
   2052 HRESULT STDMETHODCALLTYPE IPersistStream_Load_Proxy(
   2053     IPersistStream* This,
   2054     IStream *pStm);
   2055 void __RPC_STUB IPersistStream_Load_Stub(
   2056     IRpcStubBuffer* This,
   2057     IRpcChannelBuffer* pRpcChannelBuffer,
   2058     PRPC_MESSAGE pRpcMessage,
   2059     DWORD* pdwStubPhase);
   2060 HRESULT STDMETHODCALLTYPE IPersistStream_Save_Proxy(
   2061     IPersistStream* This,
   2062     IStream *pStm,
   2063     WINBOOL fClearDirty);
   2064 void __RPC_STUB IPersistStream_Save_Stub(
   2065     IRpcStubBuffer* This,
   2066     IRpcChannelBuffer* pRpcChannelBuffer,
   2067     PRPC_MESSAGE pRpcMessage,
   2068     DWORD* pdwStubPhase);
   2069 HRESULT STDMETHODCALLTYPE IPersistStream_GetSizeMax_Proxy(
   2070     IPersistStream* This,
   2071     ULARGE_INTEGER *pcbSize);
   2072 void __RPC_STUB IPersistStream_GetSizeMax_Stub(
   2073     IRpcStubBuffer* This,
   2074     IRpcChannelBuffer* pRpcChannelBuffer,
   2075     PRPC_MESSAGE pRpcMessage,
   2076     DWORD* pdwStubPhase);
   2077 
   2078 #endif  /* __IPersistStream_INTERFACE_DEFINED__ */
   2079 
   2080 /*****************************************************************************
   2081  * IMoniker interface
   2082  */
   2083 #ifndef __IMoniker_INTERFACE_DEFINED__
   2084 #define __IMoniker_INTERFACE_DEFINED__
   2085 
   2086 typedef IMoniker *LPMONIKER;
   2087 typedef enum tagMKSYS {
   2088     MKSYS_NONE = 0,
   2089     MKSYS_GENERICCOMPOSITE = 1,
   2090     MKSYS_FILEMONIKER = 2,
   2091     MKSYS_ANTIMONIKER = 3,
   2092     MKSYS_ITEMMONIKER = 4,
   2093     MKSYS_POINTERMONIKER = 5,
   2094     MKSYS_CLASSMONIKER = 7,
   2095     MKSYS_OBJREFMONIKER = 8,
   2096     MKSYS_SESSIONMONIKER = 9,
   2097     MKSYS_LUAMONIKER = 10
   2098 } MKSYS;
   2099 typedef enum tagMKREDUCE {
   2100     MKRREDUCE_ONE = 3 << 16,
   2101     MKRREDUCE_TOUSER = 2 << 16,
   2102     MKRREDUCE_THROUGHUSER = 1 << 16,
   2103     MKRREDUCE_ALL = 0
   2104 } MKRREDUCE;
   2105 DEFINE_GUID(IID_IMoniker, 0x0000000f, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
   2106 #if defined(__cplusplus) && !defined(CINTERFACE)
   2107 MIDL_INTERFACE("0000000f-0000-0000-c000-000000000046")
   2108 IMoniker : public IPersistStream
   2109 {
   2110     virtual HRESULT STDMETHODCALLTYPE BindToObject(
   2111         IBindCtx *pbc,
   2112         IMoniker *pmkToLeft,
   2113         REFIID riidResult,
   2114         void **ppvResult) = 0;
   2115 
   2116     virtual HRESULT STDMETHODCALLTYPE BindToStorage(
   2117         IBindCtx *pbc,
   2118         IMoniker *pmkToLeft,
   2119         REFIID riid,
   2120         void **ppvObj) = 0;
   2121 
   2122     virtual HRESULT STDMETHODCALLTYPE Reduce(
   2123         IBindCtx *pbc,
   2124         DWORD dwReduceHowFar,
   2125         IMoniker **ppmkToLeft,
   2126         IMoniker **ppmkReduced) = 0;
   2127 
   2128     virtual HRESULT STDMETHODCALLTYPE ComposeWith(
   2129         IMoniker *pmkRight,
   2130         WINBOOL fOnlyIfNotGeneric,
   2131         IMoniker **ppmkComposite) = 0;
   2132 
   2133     virtual HRESULT STDMETHODCALLTYPE Enum(
   2134         WINBOOL fForward,
   2135         IEnumMoniker **ppenumMoniker) = 0;
   2136 
   2137     virtual HRESULT STDMETHODCALLTYPE IsEqual(
   2138         IMoniker *pmkOtherMoniker) = 0;
   2139 
   2140     virtual HRESULT STDMETHODCALLTYPE Hash(
   2141         DWORD *pdwHash) = 0;
   2142 
   2143     virtual HRESULT STDMETHODCALLTYPE IsRunning(
   2144         IBindCtx *pbc,
   2145         IMoniker *pmkToLeft,
   2146         IMoniker *pmkNewlyRunning) = 0;
   2147 
   2148     virtual HRESULT STDMETHODCALLTYPE GetTimeOfLastChange(
   2149         IBindCtx *pbc,
   2150         IMoniker *pmkToLeft,
   2151         FILETIME *pFileTime) = 0;
   2152 
   2153     virtual HRESULT STDMETHODCALLTYPE Inverse(
   2154         IMoniker **ppmk) = 0;
   2155 
   2156     virtual HRESULT STDMETHODCALLTYPE CommonPrefixWith(
   2157         IMoniker *pmkOther,
   2158         IMoniker **ppmkPrefix) = 0;
   2159 
   2160     virtual HRESULT STDMETHODCALLTYPE RelativePathTo(
   2161         IMoniker *pmkOther,
   2162         IMoniker **ppmkRelPath) = 0;
   2163 
   2164     virtual HRESULT STDMETHODCALLTYPE GetDisplayName(
   2165         IBindCtx *pbc,
   2166         IMoniker *pmkToLeft,
   2167         LPOLESTR *ppszDisplayName) = 0;
   2168 
   2169     virtual HRESULT STDMETHODCALLTYPE ParseDisplayName(
   2170         IBindCtx *pbc,
   2171         IMoniker *pmkToLeft,
   2172         LPOLESTR pszDisplayName,
   2173         ULONG *pchEaten,
   2174         IMoniker **ppmkOut) = 0;
   2175 
   2176     virtual HRESULT STDMETHODCALLTYPE IsSystemMoniker(
   2177         DWORD *pdwMksys) = 0;
   2178 
   2179 };
   2180 #ifdef __CRT_UUID_DECL
   2181 __CRT_UUID_DECL(IMoniker, 0x0000000f, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
   2182 #endif
   2183 #else
   2184 typedef struct IMonikerVtbl {
   2185     BEGIN_INTERFACE
   2186 
   2187     /*** IUnknown methods ***/
   2188     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   2189         IMoniker* This,
   2190         REFIID riid,
   2191         void **ppvObject);
   2192 
   2193     ULONG (STDMETHODCALLTYPE *AddRef)(
   2194         IMoniker* This);
   2195 
   2196     ULONG (STDMETHODCALLTYPE *Release)(
   2197         IMoniker* This);
   2198 
   2199     /*** IPersist methods ***/
   2200     HRESULT (STDMETHODCALLTYPE *GetClassID)(
   2201         IMoniker* This,
   2202         CLSID *pClassID);
   2203 
   2204     /*** IPersistStream methods ***/
   2205     HRESULT (STDMETHODCALLTYPE *IsDirty)(
   2206         IMoniker* This);
   2207 
   2208     HRESULT (STDMETHODCALLTYPE *Load)(
   2209         IMoniker* This,
   2210         IStream *pStm);
   2211 
   2212     HRESULT (STDMETHODCALLTYPE *Save)(
   2213         IMoniker* This,
   2214         IStream *pStm,
   2215         WINBOOL fClearDirty);
   2216 
   2217     HRESULT (STDMETHODCALLTYPE *GetSizeMax)(
   2218         IMoniker* This,
   2219         ULARGE_INTEGER *pcbSize);
   2220 
   2221     /*** IMoniker methods ***/
   2222     HRESULT (STDMETHODCALLTYPE *BindToObject)(
   2223         IMoniker* This,
   2224         IBindCtx *pbc,
   2225         IMoniker *pmkToLeft,
   2226         REFIID riidResult,
   2227         void **ppvResult);
   2228 
   2229     HRESULT (STDMETHODCALLTYPE *BindToStorage)(
   2230         IMoniker* This,
   2231         IBindCtx *pbc,
   2232         IMoniker *pmkToLeft,
   2233         REFIID riid,
   2234         void **ppvObj);
   2235 
   2236     HRESULT (STDMETHODCALLTYPE *Reduce)(
   2237         IMoniker* This,
   2238         IBindCtx *pbc,
   2239         DWORD dwReduceHowFar,
   2240         IMoniker **ppmkToLeft,
   2241         IMoniker **ppmkReduced);
   2242 
   2243     HRESULT (STDMETHODCALLTYPE *ComposeWith)(
   2244         IMoniker* This,
   2245         IMoniker *pmkRight,
   2246         WINBOOL fOnlyIfNotGeneric,
   2247         IMoniker **ppmkComposite);
   2248 
   2249     HRESULT (STDMETHODCALLTYPE *Enum)(
   2250         IMoniker* This,
   2251         WINBOOL fForward,
   2252         IEnumMoniker **ppenumMoniker);
   2253 
   2254     HRESULT (STDMETHODCALLTYPE *IsEqual)(
   2255         IMoniker* This,
   2256         IMoniker *pmkOtherMoniker);
   2257 
   2258     HRESULT (STDMETHODCALLTYPE *Hash)(
   2259         IMoniker* This,
   2260         DWORD *pdwHash);
   2261 
   2262     HRESULT (STDMETHODCALLTYPE *IsRunning)(
   2263         IMoniker* This,
   2264         IBindCtx *pbc,
   2265         IMoniker *pmkToLeft,
   2266         IMoniker *pmkNewlyRunning);
   2267 
   2268     HRESULT (STDMETHODCALLTYPE *GetTimeOfLastChange)(
   2269         IMoniker* This,
   2270         IBindCtx *pbc,
   2271         IMoniker *pmkToLeft,
   2272         FILETIME *pFileTime);
   2273 
   2274     HRESULT (STDMETHODCALLTYPE *Inverse)(
   2275         IMoniker* This,
   2276         IMoniker **ppmk);
   2277 
   2278     HRESULT (STDMETHODCALLTYPE *CommonPrefixWith)(
   2279         IMoniker* This,
   2280         IMoniker *pmkOther,
   2281         IMoniker **ppmkPrefix);
   2282 
   2283     HRESULT (STDMETHODCALLTYPE *RelativePathTo)(
   2284         IMoniker* This,
   2285         IMoniker *pmkOther,
   2286         IMoniker **ppmkRelPath);
   2287 
   2288     HRESULT (STDMETHODCALLTYPE *GetDisplayName)(
   2289         IMoniker* This,
   2290         IBindCtx *pbc,
   2291         IMoniker *pmkToLeft,
   2292         LPOLESTR *ppszDisplayName);
   2293 
   2294     HRESULT (STDMETHODCALLTYPE *ParseDisplayName)(
   2295         IMoniker* This,
   2296         IBindCtx *pbc,
   2297         IMoniker *pmkToLeft,
   2298         LPOLESTR pszDisplayName,
   2299         ULONG *pchEaten,
   2300         IMoniker **ppmkOut);
   2301 
   2302     HRESULT (STDMETHODCALLTYPE *IsSystemMoniker)(
   2303         IMoniker* This,
   2304         DWORD *pdwMksys);
   2305 
   2306     END_INTERFACE
   2307 } IMonikerVtbl;
   2308 interface IMoniker {
   2309     CONST_VTBL IMonikerVtbl* lpVtbl;
   2310 };
   2311 
   2312 #ifdef COBJMACROS
   2313 #ifndef WIDL_C_INLINE_WRAPPERS
   2314 /*** IUnknown methods ***/
   2315 #define IMoniker_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   2316 #define IMoniker_AddRef(This) (This)->lpVtbl->AddRef(This)
   2317 #define IMoniker_Release(This) (This)->lpVtbl->Release(This)
   2318 /*** IPersist methods ***/
   2319 #define IMoniker_GetClassID(This,pClassID) (This)->lpVtbl->GetClassID(This,pClassID)
   2320 /*** IPersistStream methods ***/
   2321 #define IMoniker_IsDirty(This) (This)->lpVtbl->IsDirty(This)
   2322 #define IMoniker_Load(This,pStm) (This)->lpVtbl->Load(This,pStm)
   2323 #define IMoniker_Save(This,pStm,fClearDirty) (This)->lpVtbl->Save(This,pStm,fClearDirty)
   2324 #define IMoniker_GetSizeMax(This,pcbSize) (This)->lpVtbl->GetSizeMax(This,pcbSize)
   2325 /*** IMoniker methods ***/
   2326 #define IMoniker_BindToObject(This,pbc,pmkToLeft,riidResult,ppvResult) (This)->lpVtbl->BindToObject(This,pbc,pmkToLeft,riidResult,ppvResult)
   2327 #define IMoniker_BindToStorage(This,pbc,pmkToLeft,riid,ppvObj) (This)->lpVtbl->BindToStorage(This,pbc,pmkToLeft,riid,ppvObj)
   2328 #define IMoniker_Reduce(This,pbc,dwReduceHowFar,ppmkToLeft,ppmkReduced) (This)->lpVtbl->Reduce(This,pbc,dwReduceHowFar,ppmkToLeft,ppmkReduced)
   2329 #define IMoniker_ComposeWith(This,pmkRight,fOnlyIfNotGeneric,ppmkComposite) (This)->lpVtbl->ComposeWith(This,pmkRight,fOnlyIfNotGeneric,ppmkComposite)
   2330 #define IMoniker_Enum(This,fForward,ppenumMoniker) (This)->lpVtbl->Enum(This,fForward,ppenumMoniker)
   2331 #define IMoniker_IsEqual(This,pmkOtherMoniker) (This)->lpVtbl->IsEqual(This,pmkOtherMoniker)
   2332 #define IMoniker_Hash(This,pdwHash) (This)->lpVtbl->Hash(This,pdwHash)
   2333 #define IMoniker_IsRunning(This,pbc,pmkToLeft,pmkNewlyRunning) (This)->lpVtbl->IsRunning(This,pbc,pmkToLeft,pmkNewlyRunning)
   2334 #define IMoniker_GetTimeOfLastChange(This,pbc,pmkToLeft,pFileTime) (This)->lpVtbl->GetTimeOfLastChange(This,pbc,pmkToLeft,pFileTime)
   2335 #define IMoniker_Inverse(This,ppmk) (This)->lpVtbl->Inverse(This,ppmk)
   2336 #define IMoniker_CommonPrefixWith(This,pmkOther,ppmkPrefix) (This)->lpVtbl->CommonPrefixWith(This,pmkOther,ppmkPrefix)
   2337 #define IMoniker_RelativePathTo(This,pmkOther,ppmkRelPath) (This)->lpVtbl->RelativePathTo(This,pmkOther,ppmkRelPath)
   2338 #define IMoniker_GetDisplayName(This,pbc,pmkToLeft,ppszDisplayName) (This)->lpVtbl->GetDisplayName(This,pbc,pmkToLeft,ppszDisplayName)
   2339 #define IMoniker_ParseDisplayName(This,pbc,pmkToLeft,pszDisplayName,pchEaten,ppmkOut) (This)->lpVtbl->ParseDisplayName(This,pbc,pmkToLeft,pszDisplayName,pchEaten,ppmkOut)
   2340 #define IMoniker_IsSystemMoniker(This,pdwMksys) (This)->lpVtbl->IsSystemMoniker(This,pdwMksys)
   2341 #else
   2342 /*** IUnknown methods ***/
   2343 static FORCEINLINE HRESULT IMoniker_QueryInterface(IMoniker* This,REFIID riid,void **ppvObject) {
   2344     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   2345 }
   2346 static FORCEINLINE ULONG IMoniker_AddRef(IMoniker* This) {
   2347     return This->lpVtbl->AddRef(This);
   2348 }
   2349 static FORCEINLINE ULONG IMoniker_Release(IMoniker* This) {
   2350     return This->lpVtbl->Release(This);
   2351 }
   2352 /*** IPersist methods ***/
   2353 static FORCEINLINE HRESULT IMoniker_GetClassID(IMoniker* This,CLSID *pClassID) {
   2354     return This->lpVtbl->GetClassID(This,pClassID);
   2355 }
   2356 /*** IPersistStream methods ***/
   2357 static FORCEINLINE HRESULT IMoniker_IsDirty(IMoniker* This) {
   2358     return This->lpVtbl->IsDirty(This);
   2359 }
   2360 static FORCEINLINE HRESULT IMoniker_Load(IMoniker* This,IStream *pStm) {
   2361     return This->lpVtbl->Load(This,pStm);
   2362 }
   2363 static FORCEINLINE HRESULT IMoniker_Save(IMoniker* This,IStream *pStm,WINBOOL fClearDirty) {
   2364     return This->lpVtbl->Save(This,pStm,fClearDirty);
   2365 }
   2366 static FORCEINLINE HRESULT IMoniker_GetSizeMax(IMoniker* This,ULARGE_INTEGER *pcbSize) {
   2367     return This->lpVtbl->GetSizeMax(This,pcbSize);
   2368 }
   2369 /*** IMoniker methods ***/
   2370 static FORCEINLINE HRESULT IMoniker_BindToObject(IMoniker* This,IBindCtx *pbc,IMoniker *pmkToLeft,REFIID riidResult,void **ppvResult) {
   2371     return This->lpVtbl->BindToObject(This,pbc,pmkToLeft,riidResult,ppvResult);
   2372 }
   2373 static FORCEINLINE HRESULT IMoniker_BindToStorage(IMoniker* This,IBindCtx *pbc,IMoniker *pmkToLeft,REFIID riid,void **ppvObj) {
   2374     return This->lpVtbl->BindToStorage(This,pbc,pmkToLeft,riid,ppvObj);
   2375 }
   2376 static FORCEINLINE HRESULT IMoniker_Reduce(IMoniker* This,IBindCtx *pbc,DWORD dwReduceHowFar,IMoniker **ppmkToLeft,IMoniker **ppmkReduced) {
   2377     return This->lpVtbl->Reduce(This,pbc,dwReduceHowFar,ppmkToLeft,ppmkReduced);
   2378 }
   2379 static FORCEINLINE HRESULT IMoniker_ComposeWith(IMoniker* This,IMoniker *pmkRight,WINBOOL fOnlyIfNotGeneric,IMoniker **ppmkComposite) {
   2380     return This->lpVtbl->ComposeWith(This,pmkRight,fOnlyIfNotGeneric,ppmkComposite);
   2381 }
   2382 static FORCEINLINE HRESULT IMoniker_Enum(IMoniker* This,WINBOOL fForward,IEnumMoniker **ppenumMoniker) {
   2383     return This->lpVtbl->Enum(This,fForward,ppenumMoniker);
   2384 }
   2385 static FORCEINLINE HRESULT IMoniker_IsEqual(IMoniker* This,IMoniker *pmkOtherMoniker) {
   2386     return This->lpVtbl->IsEqual(This,pmkOtherMoniker);
   2387 }
   2388 static FORCEINLINE HRESULT IMoniker_Hash(IMoniker* This,DWORD *pdwHash) {
   2389     return This->lpVtbl->Hash(This,pdwHash);
   2390 }
   2391 static FORCEINLINE HRESULT IMoniker_IsRunning(IMoniker* This,IBindCtx *pbc,IMoniker *pmkToLeft,IMoniker *pmkNewlyRunning) {
   2392     return This->lpVtbl->IsRunning(This,pbc,pmkToLeft,pmkNewlyRunning);
   2393 }
   2394 static FORCEINLINE HRESULT IMoniker_GetTimeOfLastChange(IMoniker* This,IBindCtx *pbc,IMoniker *pmkToLeft,FILETIME *pFileTime) {
   2395     return This->lpVtbl->GetTimeOfLastChange(This,pbc,pmkToLeft,pFileTime);
   2396 }
   2397 static FORCEINLINE HRESULT IMoniker_Inverse(IMoniker* This,IMoniker **ppmk) {
   2398     return This->lpVtbl->Inverse(This,ppmk);
   2399 }
   2400 static FORCEINLINE HRESULT IMoniker_CommonPrefixWith(IMoniker* This,IMoniker *pmkOther,IMoniker **ppmkPrefix) {
   2401     return This->lpVtbl->CommonPrefixWith(This,pmkOther,ppmkPrefix);
   2402 }
   2403 static FORCEINLINE HRESULT IMoniker_RelativePathTo(IMoniker* This,IMoniker *pmkOther,IMoniker **ppmkRelPath) {
   2404     return This->lpVtbl->RelativePathTo(This,pmkOther,ppmkRelPath);
   2405 }
   2406 static FORCEINLINE HRESULT IMoniker_GetDisplayName(IMoniker* This,IBindCtx *pbc,IMoniker *pmkToLeft,LPOLESTR *ppszDisplayName) {
   2407     return This->lpVtbl->GetDisplayName(This,pbc,pmkToLeft,ppszDisplayName);
   2408 }
   2409 static FORCEINLINE HRESULT IMoniker_ParseDisplayName(IMoniker* This,IBindCtx *pbc,IMoniker *pmkToLeft,LPOLESTR pszDisplayName,ULONG *pchEaten,IMoniker **ppmkOut) {
   2410     return This->lpVtbl->ParseDisplayName(This,pbc,pmkToLeft,pszDisplayName,pchEaten,ppmkOut);
   2411 }
   2412 static FORCEINLINE HRESULT IMoniker_IsSystemMoniker(IMoniker* This,DWORD *pdwMksys) {
   2413     return This->lpVtbl->IsSystemMoniker(This,pdwMksys);
   2414 }
   2415 #endif
   2416 #endif
   2417 
   2418 #endif
   2419 
   2420 HRESULT STDMETHODCALLTYPE IMoniker_RemoteBindToObject_Proxy(
   2421     IMoniker* This,
   2422     IBindCtx *pbc,
   2423     IMoniker *pmkToLeft,
   2424     REFIID riidResult,
   2425     IUnknown **ppvResult);
   2426 void __RPC_STUB IMoniker_RemoteBindToObject_Stub(
   2427     IRpcStubBuffer* This,
   2428     IRpcChannelBuffer* pRpcChannelBuffer,
   2429     PRPC_MESSAGE pRpcMessage,
   2430     DWORD* pdwStubPhase);
   2431 HRESULT STDMETHODCALLTYPE IMoniker_RemoteBindToStorage_Proxy(
   2432     IMoniker* This,
   2433     IBindCtx *pbc,
   2434     IMoniker *pmkToLeft,
   2435     REFIID riid,
   2436     IUnknown **ppvObj);
   2437 void __RPC_STUB IMoniker_RemoteBindToStorage_Stub(
   2438     IRpcStubBuffer* This,
   2439     IRpcChannelBuffer* pRpcChannelBuffer,
   2440     PRPC_MESSAGE pRpcMessage,
   2441     DWORD* pdwStubPhase);
   2442 HRESULT STDMETHODCALLTYPE IMoniker_Reduce_Proxy(
   2443     IMoniker* This,
   2444     IBindCtx *pbc,
   2445     DWORD dwReduceHowFar,
   2446     IMoniker **ppmkToLeft,
   2447     IMoniker **ppmkReduced);
   2448 void __RPC_STUB IMoniker_Reduce_Stub(
   2449     IRpcStubBuffer* This,
   2450     IRpcChannelBuffer* pRpcChannelBuffer,
   2451     PRPC_MESSAGE pRpcMessage,
   2452     DWORD* pdwStubPhase);
   2453 HRESULT STDMETHODCALLTYPE IMoniker_ComposeWith_Proxy(
   2454     IMoniker* This,
   2455     IMoniker *pmkRight,
   2456     WINBOOL fOnlyIfNotGeneric,
   2457     IMoniker **ppmkComposite);
   2458 void __RPC_STUB IMoniker_ComposeWith_Stub(
   2459     IRpcStubBuffer* This,
   2460     IRpcChannelBuffer* pRpcChannelBuffer,
   2461     PRPC_MESSAGE pRpcMessage,
   2462     DWORD* pdwStubPhase);
   2463 HRESULT STDMETHODCALLTYPE IMoniker_Enum_Proxy(
   2464     IMoniker* This,
   2465     WINBOOL fForward,
   2466     IEnumMoniker **ppenumMoniker);
   2467 void __RPC_STUB IMoniker_Enum_Stub(
   2468     IRpcStubBuffer* This,
   2469     IRpcChannelBuffer* pRpcChannelBuffer,
   2470     PRPC_MESSAGE pRpcMessage,
   2471     DWORD* pdwStubPhase);
   2472 HRESULT STDMETHODCALLTYPE IMoniker_IsEqual_Proxy(
   2473     IMoniker* This,
   2474     IMoniker *pmkOtherMoniker);
   2475 void __RPC_STUB IMoniker_IsEqual_Stub(
   2476     IRpcStubBuffer* This,
   2477     IRpcChannelBuffer* pRpcChannelBuffer,
   2478     PRPC_MESSAGE pRpcMessage,
   2479     DWORD* pdwStubPhase);
   2480 HRESULT STDMETHODCALLTYPE IMoniker_Hash_Proxy(
   2481     IMoniker* This,
   2482     DWORD *pdwHash);
   2483 void __RPC_STUB IMoniker_Hash_Stub(
   2484     IRpcStubBuffer* This,
   2485     IRpcChannelBuffer* pRpcChannelBuffer,
   2486     PRPC_MESSAGE pRpcMessage,
   2487     DWORD* pdwStubPhase);
   2488 HRESULT STDMETHODCALLTYPE IMoniker_IsRunning_Proxy(
   2489     IMoniker* This,
   2490     IBindCtx *pbc,
   2491     IMoniker *pmkToLeft,
   2492     IMoniker *pmkNewlyRunning);
   2493 void __RPC_STUB IMoniker_IsRunning_Stub(
   2494     IRpcStubBuffer* This,
   2495     IRpcChannelBuffer* pRpcChannelBuffer,
   2496     PRPC_MESSAGE pRpcMessage,
   2497     DWORD* pdwStubPhase);
   2498 HRESULT STDMETHODCALLTYPE IMoniker_GetTimeOfLastChange_Proxy(
   2499     IMoniker* This,
   2500     IBindCtx *pbc,
   2501     IMoniker *pmkToLeft,
   2502     FILETIME *pFileTime);
   2503 void __RPC_STUB IMoniker_GetTimeOfLastChange_Stub(
   2504     IRpcStubBuffer* This,
   2505     IRpcChannelBuffer* pRpcChannelBuffer,
   2506     PRPC_MESSAGE pRpcMessage,
   2507     DWORD* pdwStubPhase);
   2508 HRESULT STDMETHODCALLTYPE IMoniker_Inverse_Proxy(
   2509     IMoniker* This,
   2510     IMoniker **ppmk);
   2511 void __RPC_STUB IMoniker_Inverse_Stub(
   2512     IRpcStubBuffer* This,
   2513     IRpcChannelBuffer* pRpcChannelBuffer,
   2514     PRPC_MESSAGE pRpcMessage,
   2515     DWORD* pdwStubPhase);
   2516 HRESULT STDMETHODCALLTYPE IMoniker_CommonPrefixWith_Proxy(
   2517     IMoniker* This,
   2518     IMoniker *pmkOther,
   2519     IMoniker **ppmkPrefix);
   2520 void __RPC_STUB IMoniker_CommonPrefixWith_Stub(
   2521     IRpcStubBuffer* This,
   2522     IRpcChannelBuffer* pRpcChannelBuffer,
   2523     PRPC_MESSAGE pRpcMessage,
   2524     DWORD* pdwStubPhase);
   2525 HRESULT STDMETHODCALLTYPE IMoniker_RelativePathTo_Proxy(
   2526     IMoniker* This,
   2527     IMoniker *pmkOther,
   2528     IMoniker **ppmkRelPath);
   2529 void __RPC_STUB IMoniker_RelativePathTo_Stub(
   2530     IRpcStubBuffer* This,
   2531     IRpcChannelBuffer* pRpcChannelBuffer,
   2532     PRPC_MESSAGE pRpcMessage,
   2533     DWORD* pdwStubPhase);
   2534 HRESULT STDMETHODCALLTYPE IMoniker_GetDisplayName_Proxy(
   2535     IMoniker* This,
   2536     IBindCtx *pbc,
   2537     IMoniker *pmkToLeft,
   2538     LPOLESTR *ppszDisplayName);
   2539 void __RPC_STUB IMoniker_GetDisplayName_Stub(
   2540     IRpcStubBuffer* This,
   2541     IRpcChannelBuffer* pRpcChannelBuffer,
   2542     PRPC_MESSAGE pRpcMessage,
   2543     DWORD* pdwStubPhase);
   2544 HRESULT STDMETHODCALLTYPE IMoniker_ParseDisplayName_Proxy(
   2545     IMoniker* This,
   2546     IBindCtx *pbc,
   2547     IMoniker *pmkToLeft,
   2548     LPOLESTR pszDisplayName,
   2549     ULONG *pchEaten,
   2550     IMoniker **ppmkOut);
   2551 void __RPC_STUB IMoniker_ParseDisplayName_Stub(
   2552     IRpcStubBuffer* This,
   2553     IRpcChannelBuffer* pRpcChannelBuffer,
   2554     PRPC_MESSAGE pRpcMessage,
   2555     DWORD* pdwStubPhase);
   2556 HRESULT STDMETHODCALLTYPE IMoniker_IsSystemMoniker_Proxy(
   2557     IMoniker* This,
   2558     DWORD *pdwMksys);
   2559 void __RPC_STUB IMoniker_IsSystemMoniker_Stub(
   2560     IRpcStubBuffer* This,
   2561     IRpcChannelBuffer* pRpcChannelBuffer,
   2562     PRPC_MESSAGE pRpcMessage,
   2563     DWORD* pdwStubPhase);
   2564 HRESULT CALLBACK IMoniker_BindToObject_Proxy(
   2565     IMoniker* This,
   2566     IBindCtx *pbc,
   2567     IMoniker *pmkToLeft,
   2568     REFIID riidResult,
   2569     void **ppvResult);
   2570 HRESULT __RPC_STUB IMoniker_BindToObject_Stub(
   2571     IMoniker* This,
   2572     IBindCtx *pbc,
   2573     IMoniker *pmkToLeft,
   2574     REFIID riidResult,
   2575     IUnknown **ppvResult);
   2576 HRESULT CALLBACK IMoniker_BindToStorage_Proxy(
   2577     IMoniker* This,
   2578     IBindCtx *pbc,
   2579     IMoniker *pmkToLeft,
   2580     REFIID riid,
   2581     void **ppvObj);
   2582 HRESULT __RPC_STUB IMoniker_BindToStorage_Stub(
   2583     IMoniker* This,
   2584     IBindCtx *pbc,
   2585     IMoniker *pmkToLeft,
   2586     REFIID riid,
   2587     IUnknown **ppvObj);
   2588 
   2589 #endif  /* __IMoniker_INTERFACE_DEFINED__ */
   2590 
   2591 #ifndef __IROTData_INTERFACE_DEFINED__
   2592 #define __IROTData_INTERFACE_DEFINED__
   2593   EXTERN_C const IID IID_IROTData;
   2594 #if defined(__cplusplus) && !defined(CINTERFACE)
   2595   struct IROTData : public IUnknown {
   2596   public:
   2597     virtual HRESULT WINAPI GetComparisonData(byte *pbData,ULONG cbMax,ULONG *pcbData) = 0;
   2598   };
   2599 #else
   2600   typedef struct IROTDataVtbl {
   2601     BEGIN_INTERFACE
   2602       HRESULT (WINAPI *QueryInterface)(IROTData *This,REFIID riid,void **ppvObject);
   2603       ULONG (WINAPI *AddRef)(IROTData *This);
   2604       ULONG (WINAPI *Release)(IROTData *This);
   2605       HRESULT (WINAPI *GetComparisonData)(IROTData *This,byte *pbData,ULONG cbMax,ULONG *pcbData);
   2606     END_INTERFACE
   2607   } IROTDataVtbl;
   2608   struct IROTData {
   2609     CONST_VTBL struct IROTDataVtbl *lpVtbl;
   2610   };
   2611 #ifdef COBJMACROS
   2612 #define IROTData_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   2613 #define IROTData_AddRef(This) (This)->lpVtbl->AddRef(This)
   2614 #define IROTData_Release(This) (This)->lpVtbl->Release(This)
   2615 #define IROTData_GetComparisonData(This,pbData,cbMax,pcbData) (This)->lpVtbl->GetComparisonData(This,pbData,cbMax,pcbData)
   2616 #endif
   2617 #endif
   2618   HRESULT WINAPI IROTData_GetComparisonData_Proxy(IROTData *This,byte *pbData,ULONG cbMax,ULONG *pcbData);
   2619   void __RPC_STUB IROTData_GetComparisonData_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2620 #endif
   2621 /*****************************************************************************
   2622  * IEnumString interface
   2623  */
   2624 #ifndef __IEnumString_INTERFACE_DEFINED__
   2625 #define __IEnumString_INTERFACE_DEFINED__
   2626 
   2627 typedef IEnumString *LPENUMSTRING;
   2628 DEFINE_GUID(IID_IEnumString, 0x00000101, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
   2629 #if defined(__cplusplus) && !defined(CINTERFACE)
   2630 MIDL_INTERFACE("00000101-0000-0000-c000-000000000046")
   2631 IEnumString : public IUnknown
   2632 {
   2633     virtual HRESULT STDMETHODCALLTYPE Next(
   2634         ULONG celt,
   2635         LPOLESTR *rgelt,
   2636         ULONG *pceltFetched) = 0;
   2637 
   2638     virtual HRESULT STDMETHODCALLTYPE Skip(
   2639         ULONG celt) = 0;
   2640 
   2641     virtual HRESULT STDMETHODCALLTYPE Reset(
   2642         ) = 0;
   2643 
   2644     virtual HRESULT STDMETHODCALLTYPE Clone(
   2645         IEnumString **ppenum) = 0;
   2646 
   2647 };
   2648 #ifdef __CRT_UUID_DECL
   2649 __CRT_UUID_DECL(IEnumString, 0x00000101, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
   2650 #endif
   2651 #else
   2652 typedef struct IEnumStringVtbl {
   2653     BEGIN_INTERFACE
   2654 
   2655     /*** IUnknown methods ***/
   2656     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   2657         IEnumString* This,
   2658         REFIID riid,
   2659         void **ppvObject);
   2660 
   2661     ULONG (STDMETHODCALLTYPE *AddRef)(
   2662         IEnumString* This);
   2663 
   2664     ULONG (STDMETHODCALLTYPE *Release)(
   2665         IEnumString* This);
   2666 
   2667     /*** IEnumString methods ***/
   2668     HRESULT (STDMETHODCALLTYPE *Next)(
   2669         IEnumString* This,
   2670         ULONG celt,
   2671         LPOLESTR *rgelt,
   2672         ULONG *pceltFetched);
   2673 
   2674     HRESULT (STDMETHODCALLTYPE *Skip)(
   2675         IEnumString* This,
   2676         ULONG celt);
   2677 
   2678     HRESULT (STDMETHODCALLTYPE *Reset)(
   2679         IEnumString* This);
   2680 
   2681     HRESULT (STDMETHODCALLTYPE *Clone)(
   2682         IEnumString* This,
   2683         IEnumString **ppenum);
   2684 
   2685     END_INTERFACE
   2686 } IEnumStringVtbl;
   2687 interface IEnumString {
   2688     CONST_VTBL IEnumStringVtbl* lpVtbl;
   2689 };
   2690 
   2691 #ifdef COBJMACROS
   2692 #ifndef WIDL_C_INLINE_WRAPPERS
   2693 /*** IUnknown methods ***/
   2694 #define IEnumString_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   2695 #define IEnumString_AddRef(This) (This)->lpVtbl->AddRef(This)
   2696 #define IEnumString_Release(This) (This)->lpVtbl->Release(This)
   2697 /*** IEnumString methods ***/
   2698 #define IEnumString_Next(This,celt,rgelt,pceltFetched) (This)->lpVtbl->Next(This,celt,rgelt,pceltFetched)
   2699 #define IEnumString_Skip(This,celt) (This)->lpVtbl->Skip(This,celt)
   2700 #define IEnumString_Reset(This) (This)->lpVtbl->Reset(This)
   2701 #define IEnumString_Clone(This,ppenum) (This)->lpVtbl->Clone(This,ppenum)
   2702 #else
   2703 /*** IUnknown methods ***/
   2704 static FORCEINLINE HRESULT IEnumString_QueryInterface(IEnumString* This,REFIID riid,void **ppvObject) {
   2705     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   2706 }
   2707 static FORCEINLINE ULONG IEnumString_AddRef(IEnumString* This) {
   2708     return This->lpVtbl->AddRef(This);
   2709 }
   2710 static FORCEINLINE ULONG IEnumString_Release(IEnumString* This) {
   2711     return This->lpVtbl->Release(This);
   2712 }
   2713 /*** IEnumString methods ***/
   2714 static FORCEINLINE HRESULT IEnumString_Next(IEnumString* This,ULONG celt,LPOLESTR *rgelt,ULONG *pceltFetched) {
   2715     return This->lpVtbl->Next(This,celt,rgelt,pceltFetched);
   2716 }
   2717 static FORCEINLINE HRESULT IEnumString_Skip(IEnumString* This,ULONG celt) {
   2718     return This->lpVtbl->Skip(This,celt);
   2719 }
   2720 static FORCEINLINE HRESULT IEnumString_Reset(IEnumString* This) {
   2721     return This->lpVtbl->Reset(This);
   2722 }
   2723 static FORCEINLINE HRESULT IEnumString_Clone(IEnumString* This,IEnumString **ppenum) {
   2724     return This->lpVtbl->Clone(This,ppenum);
   2725 }
   2726 #endif
   2727 #endif
   2728 
   2729 #endif
   2730 
   2731 HRESULT STDMETHODCALLTYPE IEnumString_RemoteNext_Proxy(
   2732     IEnumString* This,
   2733     ULONG celt,
   2734     LPOLESTR *rgelt,
   2735     ULONG *pceltFetched);
   2736 void __RPC_STUB IEnumString_RemoteNext_Stub(
   2737     IRpcStubBuffer* This,
   2738     IRpcChannelBuffer* pRpcChannelBuffer,
   2739     PRPC_MESSAGE pRpcMessage,
   2740     DWORD* pdwStubPhase);
   2741 HRESULT STDMETHODCALLTYPE IEnumString_Skip_Proxy(
   2742     IEnumString* This,
   2743     ULONG celt);
   2744 void __RPC_STUB IEnumString_Skip_Stub(
   2745     IRpcStubBuffer* This,
   2746     IRpcChannelBuffer* pRpcChannelBuffer,
   2747     PRPC_MESSAGE pRpcMessage,
   2748     DWORD* pdwStubPhase);
   2749 HRESULT STDMETHODCALLTYPE IEnumString_Reset_Proxy(
   2750     IEnumString* This);
   2751 void __RPC_STUB IEnumString_Reset_Stub(
   2752     IRpcStubBuffer* This,
   2753     IRpcChannelBuffer* pRpcChannelBuffer,
   2754     PRPC_MESSAGE pRpcMessage,
   2755     DWORD* pdwStubPhase);
   2756 HRESULT STDMETHODCALLTYPE IEnumString_Clone_Proxy(
   2757     IEnumString* This,
   2758     IEnumString **ppenum);
   2759 void __RPC_STUB IEnumString_Clone_Stub(
   2760     IRpcStubBuffer* This,
   2761     IRpcChannelBuffer* pRpcChannelBuffer,
   2762     PRPC_MESSAGE pRpcMessage,
   2763     DWORD* pdwStubPhase);
   2764 HRESULT CALLBACK IEnumString_Next_Proxy(
   2765     IEnumString* This,
   2766     ULONG celt,
   2767     LPOLESTR *rgelt,
   2768     ULONG *pceltFetched);
   2769 HRESULT __RPC_STUB IEnumString_Next_Stub(
   2770     IEnumString* This,
   2771     ULONG celt,
   2772     LPOLESTR *rgelt,
   2773     ULONG *pceltFetched);
   2774 
   2775 #endif  /* __IEnumString_INTERFACE_DEFINED__ */
   2776 
   2777 /*****************************************************************************
   2778  * ISequentialStream interface
   2779  */
   2780 #ifndef __ISequentialStream_INTERFACE_DEFINED__
   2781 #define __ISequentialStream_INTERFACE_DEFINED__
   2782 
   2783 DEFINE_GUID(IID_ISequentialStream, 0x0c733a30, 0x2a1c, 0x11ce, 0xad,0xe5, 0x00,0xaa,0x00,0x44,0x77,0x3d);
   2784 #if defined(__cplusplus) && !defined(CINTERFACE)
   2785 MIDL_INTERFACE("0c733a30-2a1c-11ce-ade5-00aa0044773d")
   2786 ISequentialStream : public IUnknown
   2787 {
   2788     virtual HRESULT STDMETHODCALLTYPE Read(
   2789         void *pv,
   2790         ULONG cb,
   2791         ULONG *pcbRead) = 0;
   2792 
   2793     virtual HRESULT STDMETHODCALLTYPE Write(
   2794         const void *pv,
   2795         ULONG cb,
   2796         ULONG *pcbWritten) = 0;
   2797 
   2798 };
   2799 #ifdef __CRT_UUID_DECL
   2800 __CRT_UUID_DECL(ISequentialStream, 0x0c733a30, 0x2a1c, 0x11ce, 0xad,0xe5, 0x00,0xaa,0x00,0x44,0x77,0x3d)
   2801 #endif
   2802 #else
   2803 typedef struct ISequentialStreamVtbl {
   2804     BEGIN_INTERFACE
   2805 
   2806     /*** IUnknown methods ***/
   2807     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   2808         ISequentialStream* This,
   2809         REFIID riid,
   2810         void **ppvObject);
   2811 
   2812     ULONG (STDMETHODCALLTYPE *AddRef)(
   2813         ISequentialStream* This);
   2814 
   2815     ULONG (STDMETHODCALLTYPE *Release)(
   2816         ISequentialStream* This);
   2817 
   2818     /*** ISequentialStream methods ***/
   2819     HRESULT (STDMETHODCALLTYPE *Read)(
   2820         ISequentialStream* This,
   2821         void *pv,
   2822         ULONG cb,
   2823         ULONG *pcbRead);
   2824 
   2825     HRESULT (STDMETHODCALLTYPE *Write)(
   2826         ISequentialStream* This,
   2827         const void *pv,
   2828         ULONG cb,
   2829         ULONG *pcbWritten);
   2830 
   2831     END_INTERFACE
   2832 } ISequentialStreamVtbl;
   2833 interface ISequentialStream {
   2834     CONST_VTBL ISequentialStreamVtbl* lpVtbl;
   2835 };
   2836 
   2837 #ifdef COBJMACROS
   2838 #ifndef WIDL_C_INLINE_WRAPPERS
   2839 /*** IUnknown methods ***/
   2840 #define ISequentialStream_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   2841 #define ISequentialStream_AddRef(This) (This)->lpVtbl->AddRef(This)
   2842 #define ISequentialStream_Release(This) (This)->lpVtbl->Release(This)
   2843 /*** ISequentialStream methods ***/
   2844 #define ISequentialStream_Read(This,pv,cb,pcbRead) (This)->lpVtbl->Read(This,pv,cb,pcbRead)
   2845 #define ISequentialStream_Write(This,pv,cb,pcbWritten) (This)->lpVtbl->Write(This,pv,cb,pcbWritten)
   2846 #else
   2847 /*** IUnknown methods ***/
   2848 static FORCEINLINE HRESULT ISequentialStream_QueryInterface(ISequentialStream* This,REFIID riid,void **ppvObject) {
   2849     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   2850 }
   2851 static FORCEINLINE ULONG ISequentialStream_AddRef(ISequentialStream* This) {
   2852     return This->lpVtbl->AddRef(This);
   2853 }
   2854 static FORCEINLINE ULONG ISequentialStream_Release(ISequentialStream* This) {
   2855     return This->lpVtbl->Release(This);
   2856 }
   2857 /*** ISequentialStream methods ***/
   2858 static FORCEINLINE HRESULT ISequentialStream_Read(ISequentialStream* This,void *pv,ULONG cb,ULONG *pcbRead) {
   2859     return This->lpVtbl->Read(This,pv,cb,pcbRead);
   2860 }
   2861 static FORCEINLINE HRESULT ISequentialStream_Write(ISequentialStream* This,const void *pv,ULONG cb,ULONG *pcbWritten) {
   2862     return This->lpVtbl->Write(This,pv,cb,pcbWritten);
   2863 }
   2864 #endif
   2865 #endif
   2866 
   2867 #endif
   2868 
   2869 HRESULT STDMETHODCALLTYPE ISequentialStream_RemoteRead_Proxy(
   2870     ISequentialStream* This,
   2871     byte *pv,
   2872     ULONG cb,
   2873     ULONG *pcbRead);
   2874 void __RPC_STUB ISequentialStream_RemoteRead_Stub(
   2875     IRpcStubBuffer* This,
   2876     IRpcChannelBuffer* pRpcChannelBuffer,
   2877     PRPC_MESSAGE pRpcMessage,
   2878     DWORD* pdwStubPhase);
   2879 HRESULT STDMETHODCALLTYPE ISequentialStream_RemoteWrite_Proxy(
   2880     ISequentialStream* This,
   2881     const byte *pv,
   2882     ULONG cb,
   2883     ULONG *pcbWritten);
   2884 void __RPC_STUB ISequentialStream_RemoteWrite_Stub(
   2885     IRpcStubBuffer* This,
   2886     IRpcChannelBuffer* pRpcChannelBuffer,
   2887     PRPC_MESSAGE pRpcMessage,
   2888     DWORD* pdwStubPhase);
   2889 HRESULT CALLBACK ISequentialStream_Read_Proxy(
   2890     ISequentialStream* This,
   2891     void *pv,
   2892     ULONG cb,
   2893     ULONG *pcbRead);
   2894 HRESULT __RPC_STUB ISequentialStream_Read_Stub(
   2895     ISequentialStream* This,
   2896     byte *pv,
   2897     ULONG cb,
   2898     ULONG *pcbRead);
   2899 HRESULT CALLBACK ISequentialStream_Write_Proxy(
   2900     ISequentialStream* This,
   2901     const void *pv,
   2902     ULONG cb,
   2903     ULONG *pcbWritten);
   2904 HRESULT __RPC_STUB ISequentialStream_Write_Stub(
   2905     ISequentialStream* This,
   2906     const byte *pv,
   2907     ULONG cb,
   2908     ULONG *pcbWritten);
   2909 
   2910 #endif  /* __ISequentialStream_INTERFACE_DEFINED__ */
   2911 
   2912 /*****************************************************************************
   2913  * IStream interface
   2914  */
   2915 #ifndef __IStream_INTERFACE_DEFINED__
   2916 #define __IStream_INTERFACE_DEFINED__
   2917 
   2918 typedef IStream *LPSTREAM;
   2919 typedef struct tagSTATSTG {
   2920     LPOLESTR pwcsName;
   2921     DWORD type;
   2922     ULARGE_INTEGER cbSize;
   2923     FILETIME mtime;
   2924     FILETIME ctime;
   2925     FILETIME atime;
   2926     DWORD grfMode;
   2927     DWORD grfLocksSupported;
   2928     CLSID clsid;
   2929     DWORD grfStateBits;
   2930     DWORD reserved;
   2931 } STATSTG;
   2932 typedef enum tagSTGTY {
   2933     STGTY_STORAGE = 1,
   2934     STGTY_STREAM = 2,
   2935     STGTY_LOCKBYTES = 3,
   2936     STGTY_PROPERTY = 4
   2937 } STGTY;
   2938 typedef enum tagSTREAM_SEEK {
   2939     STREAM_SEEK_SET = 0,
   2940     STREAM_SEEK_CUR = 1,
   2941     STREAM_SEEK_END = 2
   2942 } STREAM_SEEK;
   2943 typedef enum tagLOCKTYPE {
   2944     LOCK_WRITE = 1,
   2945     LOCK_EXCLUSIVE = 2,
   2946     LOCK_ONLYONCE = 4
   2947 } LOCKTYPE;
   2948 DEFINE_GUID(IID_IStream, 0x0000000c, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
   2949 #if defined(__cplusplus) && !defined(CINTERFACE)
   2950 MIDL_INTERFACE("0000000c-0000-0000-c000-000000000046")
   2951 IStream : public ISequentialStream
   2952 {
   2953     virtual HRESULT STDMETHODCALLTYPE Seek(
   2954         LARGE_INTEGER dlibMove,
   2955         DWORD dwOrigin,
   2956         ULARGE_INTEGER *plibNewPosition) = 0;
   2957 
   2958     virtual HRESULT STDMETHODCALLTYPE SetSize(
   2959         ULARGE_INTEGER libNewSize) = 0;
   2960 
   2961     virtual HRESULT STDMETHODCALLTYPE CopyTo(
   2962         IStream *pstm,
   2963         ULARGE_INTEGER cb,
   2964         ULARGE_INTEGER *pcbRead,
   2965         ULARGE_INTEGER *pcbWritten) = 0;
   2966 
   2967     virtual HRESULT STDMETHODCALLTYPE Commit(
   2968         DWORD grfCommitFlags) = 0;
   2969 
   2970     virtual HRESULT STDMETHODCALLTYPE Revert(
   2971         ) = 0;
   2972 
   2973     virtual HRESULT STDMETHODCALLTYPE LockRegion(
   2974         ULARGE_INTEGER libOffset,
   2975         ULARGE_INTEGER cb,
   2976         DWORD dwLockType) = 0;
   2977 
   2978     virtual HRESULT STDMETHODCALLTYPE UnlockRegion(
   2979         ULARGE_INTEGER libOffset,
   2980         ULARGE_INTEGER cb,
   2981         DWORD dwLockType) = 0;
   2982 
   2983     virtual HRESULT STDMETHODCALLTYPE Stat(
   2984         STATSTG *pstatstg,
   2985         DWORD grfStatFlag) = 0;
   2986 
   2987     virtual HRESULT STDMETHODCALLTYPE Clone(
   2988         IStream **ppstm) = 0;
   2989 
   2990 };
   2991 #ifdef __CRT_UUID_DECL
   2992 __CRT_UUID_DECL(IStream, 0x0000000c, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
   2993 #endif
   2994 #else
   2995 typedef struct IStreamVtbl {
   2996     BEGIN_INTERFACE
   2997 
   2998     /*** IUnknown methods ***/
   2999     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   3000         IStream* This,
   3001         REFIID riid,
   3002         void **ppvObject);
   3003 
   3004     ULONG (STDMETHODCALLTYPE *AddRef)(
   3005         IStream* This);
   3006 
   3007     ULONG (STDMETHODCALLTYPE *Release)(
   3008         IStream* This);
   3009 
   3010     /*** ISequentialStream methods ***/
   3011     HRESULT (STDMETHODCALLTYPE *Read)(
   3012         IStream* This,
   3013         void *pv,
   3014         ULONG cb,
   3015         ULONG *pcbRead);
   3016 
   3017     HRESULT (STDMETHODCALLTYPE *Write)(
   3018         IStream* This,
   3019         const void *pv,
   3020         ULONG cb,
   3021         ULONG *pcbWritten);
   3022 
   3023     /*** IStream methods ***/
   3024     HRESULT (STDMETHODCALLTYPE *Seek)(
   3025         IStream* This,
   3026         LARGE_INTEGER dlibMove,
   3027         DWORD dwOrigin,
   3028         ULARGE_INTEGER *plibNewPosition);
   3029 
   3030     HRESULT (STDMETHODCALLTYPE *SetSize)(
   3031         IStream* This,
   3032         ULARGE_INTEGER libNewSize);
   3033 
   3034     HRESULT (STDMETHODCALLTYPE *CopyTo)(
   3035         IStream* This,
   3036         IStream *pstm,
   3037         ULARGE_INTEGER cb,
   3038         ULARGE_INTEGER *pcbRead,
   3039         ULARGE_INTEGER *pcbWritten);
   3040 
   3041     HRESULT (STDMETHODCALLTYPE *Commit)(
   3042         IStream* This,
   3043         DWORD grfCommitFlags);
   3044 
   3045     HRESULT (STDMETHODCALLTYPE *Revert)(
   3046         IStream* This);
   3047 
   3048     HRESULT (STDMETHODCALLTYPE *LockRegion)(
   3049         IStream* This,
   3050         ULARGE_INTEGER libOffset,
   3051         ULARGE_INTEGER cb,
   3052         DWORD dwLockType);
   3053 
   3054     HRESULT (STDMETHODCALLTYPE *UnlockRegion)(
   3055         IStream* This,
   3056         ULARGE_INTEGER libOffset,
   3057         ULARGE_INTEGER cb,
   3058         DWORD dwLockType);
   3059 
   3060     HRESULT (STDMETHODCALLTYPE *Stat)(
   3061         IStream* This,
   3062         STATSTG *pstatstg,
   3063         DWORD grfStatFlag);
   3064 
   3065     HRESULT (STDMETHODCALLTYPE *Clone)(
   3066         IStream* This,
   3067         IStream **ppstm);
   3068 
   3069     END_INTERFACE
   3070 } IStreamVtbl;
   3071 interface IStream {
   3072     CONST_VTBL IStreamVtbl* lpVtbl;
   3073 };
   3074 
   3075 #ifdef COBJMACROS
   3076 #ifndef WIDL_C_INLINE_WRAPPERS
   3077 /*** IUnknown methods ***/
   3078 #define IStream_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   3079 #define IStream_AddRef(This) (This)->lpVtbl->AddRef(This)
   3080 #define IStream_Release(This) (This)->lpVtbl->Release(This)
   3081 /*** ISequentialStream methods ***/
   3082 #define IStream_Read(This,pv,cb,pcbRead) (This)->lpVtbl->Read(This,pv,cb,pcbRead)
   3083 #define IStream_Write(This,pv,cb,pcbWritten) (This)->lpVtbl->Write(This,pv,cb,pcbWritten)
   3084 /*** IStream methods ***/
   3085 #define IStream_Seek(This,dlibMove,dwOrigin,plibNewPosition) (This)->lpVtbl->Seek(This,dlibMove,dwOrigin,plibNewPosition)
   3086 #define IStream_SetSize(This,libNewSize) (This)->lpVtbl->SetSize(This,libNewSize)
   3087 #define IStream_CopyTo(This,pstm,cb,pcbRead,pcbWritten) (This)->lpVtbl->CopyTo(This,pstm,cb,pcbRead,pcbWritten)
   3088 #define IStream_Commit(This,grfCommitFlags) (This)->lpVtbl->Commit(This,grfCommitFlags)
   3089 #define IStream_Revert(This) (This)->lpVtbl->Revert(This)
   3090 #define IStream_LockRegion(This,libOffset,cb,dwLockType) (This)->lpVtbl->LockRegion(This,libOffset,cb,dwLockType)
   3091 #define IStream_UnlockRegion(This,libOffset,cb,dwLockType) (This)->lpVtbl->UnlockRegion(This,libOffset,cb,dwLockType)
   3092 #define IStream_Stat(This,pstatstg,grfStatFlag) (This)->lpVtbl->Stat(This,pstatstg,grfStatFlag)
   3093 #define IStream_Clone(This,ppstm) (This)->lpVtbl->Clone(This,ppstm)
   3094 #else
   3095 /*** IUnknown methods ***/
   3096 static FORCEINLINE HRESULT IStream_QueryInterface(IStream* This,REFIID riid,void **ppvObject) {
   3097     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   3098 }
   3099 static FORCEINLINE ULONG IStream_AddRef(IStream* This) {
   3100     return This->lpVtbl->AddRef(This);
   3101 }
   3102 static FORCEINLINE ULONG IStream_Release(IStream* This) {
   3103     return This->lpVtbl->Release(This);
   3104 }
   3105 /*** ISequentialStream methods ***/
   3106 static FORCEINLINE HRESULT IStream_Read(IStream* This,void *pv,ULONG cb,ULONG *pcbRead) {
   3107     return This->lpVtbl->Read(This,pv,cb,pcbRead);
   3108 }
   3109 static FORCEINLINE HRESULT IStream_Write(IStream* This,const void *pv,ULONG cb,ULONG *pcbWritten) {
   3110     return This->lpVtbl->Write(This,pv,cb,pcbWritten);
   3111 }
   3112 /*** IStream methods ***/
   3113 static FORCEINLINE HRESULT IStream_Seek(IStream* This,LARGE_INTEGER dlibMove,DWORD dwOrigin,ULARGE_INTEGER *plibNewPosition) {
   3114     return This->lpVtbl->Seek(This,dlibMove,dwOrigin,plibNewPosition);
   3115 }
   3116 static FORCEINLINE HRESULT IStream_SetSize(IStream* This,ULARGE_INTEGER libNewSize) {
   3117     return This->lpVtbl->SetSize(This,libNewSize);
   3118 }
   3119 static FORCEINLINE HRESULT IStream_CopyTo(IStream* This,IStream *pstm,ULARGE_INTEGER cb,ULARGE_INTEGER *pcbRead,ULARGE_INTEGER *pcbWritten) {
   3120     return This->lpVtbl->CopyTo(This,pstm,cb,pcbRead,pcbWritten);
   3121 }
   3122 static FORCEINLINE HRESULT IStream_Commit(IStream* This,DWORD grfCommitFlags) {
   3123     return This->lpVtbl->Commit(This,grfCommitFlags);
   3124 }
   3125 static FORCEINLINE HRESULT IStream_Revert(IStream* This) {
   3126     return This->lpVtbl->Revert(This);
   3127 }
   3128 static FORCEINLINE HRESULT IStream_LockRegion(IStream* This,ULARGE_INTEGER libOffset,ULARGE_INTEGER cb,DWORD dwLockType) {
   3129     return This->lpVtbl->LockRegion(This,libOffset,cb,dwLockType);
   3130 }
   3131 static FORCEINLINE HRESULT IStream_UnlockRegion(IStream* This,ULARGE_INTEGER libOffset,ULARGE_INTEGER cb,DWORD dwLockType) {
   3132     return This->lpVtbl->UnlockRegion(This,libOffset,cb,dwLockType);
   3133 }
   3134 static FORCEINLINE HRESULT IStream_Stat(IStream* This,STATSTG *pstatstg,DWORD grfStatFlag) {
   3135     return This->lpVtbl->Stat(This,pstatstg,grfStatFlag);
   3136 }
   3137 static FORCEINLINE HRESULT IStream_Clone(IStream* This,IStream **ppstm) {
   3138     return This->lpVtbl->Clone(This,ppstm);
   3139 }
   3140 #endif
   3141 #endif
   3142 
   3143 #endif
   3144 
   3145 HRESULT STDMETHODCALLTYPE IStream_RemoteSeek_Proxy(
   3146     IStream* This,
   3147     LARGE_INTEGER dlibMove,
   3148     DWORD dwOrigin,
   3149     ULARGE_INTEGER *plibNewPosition);
   3150 void __RPC_STUB IStream_RemoteSeek_Stub(
   3151     IRpcStubBuffer* This,
   3152     IRpcChannelBuffer* pRpcChannelBuffer,
   3153     PRPC_MESSAGE pRpcMessage,
   3154     DWORD* pdwStubPhase);
   3155 HRESULT STDMETHODCALLTYPE IStream_SetSize_Proxy(
   3156     IStream* This,
   3157     ULARGE_INTEGER libNewSize);
   3158 void __RPC_STUB IStream_SetSize_Stub(
   3159     IRpcStubBuffer* This,
   3160     IRpcChannelBuffer* pRpcChannelBuffer,
   3161     PRPC_MESSAGE pRpcMessage,
   3162     DWORD* pdwStubPhase);
   3163 HRESULT STDMETHODCALLTYPE IStream_RemoteCopyTo_Proxy(
   3164     IStream* This,
   3165     IStream *pstm,
   3166     ULARGE_INTEGER cb,
   3167     ULARGE_INTEGER *pcbRead,
   3168     ULARGE_INTEGER *pcbWritten);
   3169 void __RPC_STUB IStream_RemoteCopyTo_Stub(
   3170     IRpcStubBuffer* This,
   3171     IRpcChannelBuffer* pRpcChannelBuffer,
   3172     PRPC_MESSAGE pRpcMessage,
   3173     DWORD* pdwStubPhase);
   3174 HRESULT STDMETHODCALLTYPE IStream_Commit_Proxy(
   3175     IStream* This,
   3176     DWORD grfCommitFlags);
   3177 void __RPC_STUB IStream_Commit_Stub(
   3178     IRpcStubBuffer* This,
   3179     IRpcChannelBuffer* pRpcChannelBuffer,
   3180     PRPC_MESSAGE pRpcMessage,
   3181     DWORD* pdwStubPhase);
   3182 HRESULT STDMETHODCALLTYPE IStream_Revert_Proxy(
   3183     IStream* This);
   3184 void __RPC_STUB IStream_Revert_Stub(
   3185     IRpcStubBuffer* This,
   3186     IRpcChannelBuffer* pRpcChannelBuffer,
   3187     PRPC_MESSAGE pRpcMessage,
   3188     DWORD* pdwStubPhase);
   3189 HRESULT STDMETHODCALLTYPE IStream_LockRegion_Proxy(
   3190     IStream* This,
   3191     ULARGE_INTEGER libOffset,
   3192     ULARGE_INTEGER cb,
   3193     DWORD dwLockType);
   3194 void __RPC_STUB IStream_LockRegion_Stub(
   3195     IRpcStubBuffer* This,
   3196     IRpcChannelBuffer* pRpcChannelBuffer,
   3197     PRPC_MESSAGE pRpcMessage,
   3198     DWORD* pdwStubPhase);
   3199 HRESULT STDMETHODCALLTYPE IStream_UnlockRegion_Proxy(
   3200     IStream* This,
   3201     ULARGE_INTEGER libOffset,
   3202     ULARGE_INTEGER cb,
   3203     DWORD dwLockType);
   3204 void __RPC_STUB IStream_UnlockRegion_Stub(
   3205     IRpcStubBuffer* This,
   3206     IRpcChannelBuffer* pRpcChannelBuffer,
   3207     PRPC_MESSAGE pRpcMessage,
   3208     DWORD* pdwStubPhase);
   3209 HRESULT STDMETHODCALLTYPE IStream_Stat_Proxy(
   3210     IStream* This,
   3211     STATSTG *pstatstg,
   3212     DWORD grfStatFlag);
   3213 void __RPC_STUB IStream_Stat_Stub(
   3214     IRpcStubBuffer* This,
   3215     IRpcChannelBuffer* pRpcChannelBuffer,
   3216     PRPC_MESSAGE pRpcMessage,
   3217     DWORD* pdwStubPhase);
   3218 HRESULT STDMETHODCALLTYPE IStream_Clone_Proxy(
   3219     IStream* This,
   3220     IStream **ppstm);
   3221 void __RPC_STUB IStream_Clone_Stub(
   3222     IRpcStubBuffer* This,
   3223     IRpcChannelBuffer* pRpcChannelBuffer,
   3224     PRPC_MESSAGE pRpcMessage,
   3225     DWORD* pdwStubPhase);
   3226 HRESULT CALLBACK IStream_Seek_Proxy(
   3227     IStream* This,
   3228     LARGE_INTEGER dlibMove,
   3229     DWORD dwOrigin,
   3230     ULARGE_INTEGER *plibNewPosition);
   3231 HRESULT __RPC_STUB IStream_Seek_Stub(
   3232     IStream* This,
   3233     LARGE_INTEGER dlibMove,
   3234     DWORD dwOrigin,
   3235     ULARGE_INTEGER *plibNewPosition);
   3236 HRESULT CALLBACK IStream_CopyTo_Proxy(
   3237     IStream* This,
   3238     IStream *pstm,
   3239     ULARGE_INTEGER cb,
   3240     ULARGE_INTEGER *pcbRead,
   3241     ULARGE_INTEGER *pcbWritten);
   3242 HRESULT __RPC_STUB IStream_CopyTo_Stub(
   3243     IStream* This,
   3244     IStream *pstm,
   3245     ULARGE_INTEGER cb,
   3246     ULARGE_INTEGER *pcbRead,
   3247     ULARGE_INTEGER *pcbWritten);
   3248 
   3249 #endif  /* __IStream_INTERFACE_DEFINED__ */
   3250 
   3251 /*****************************************************************************
   3252  * IEnumSTATSTG interface
   3253  */
   3254 #ifndef __IEnumSTATSTG_INTERFACE_DEFINED__
   3255 #define __IEnumSTATSTG_INTERFACE_DEFINED__
   3256 
   3257 typedef IEnumSTATSTG *LPENUMSTATSTG;
   3258 DEFINE_GUID(IID_IEnumSTATSTG, 0x0000000d, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
   3259 #if defined(__cplusplus) && !defined(CINTERFACE)
   3260 MIDL_INTERFACE("0000000d-0000-0000-c000-000000000046")
   3261 IEnumSTATSTG : public IUnknown
   3262 {
   3263     virtual HRESULT STDMETHODCALLTYPE Next(
   3264         ULONG celt,
   3265         STATSTG *rgelt,
   3266         ULONG *pceltFetched) = 0;
   3267 
   3268     virtual HRESULT STDMETHODCALLTYPE Skip(
   3269         ULONG celt) = 0;
   3270 
   3271     virtual HRESULT STDMETHODCALLTYPE Reset(
   3272         ) = 0;
   3273 
   3274     virtual HRESULT STDMETHODCALLTYPE Clone(
   3275         IEnumSTATSTG **ppenum) = 0;
   3276 
   3277 };
   3278 #ifdef __CRT_UUID_DECL
   3279 __CRT_UUID_DECL(IEnumSTATSTG, 0x0000000d, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
   3280 #endif
   3281 #else
   3282 typedef struct IEnumSTATSTGVtbl {
   3283     BEGIN_INTERFACE
   3284 
   3285     /*** IUnknown methods ***/
   3286     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   3287         IEnumSTATSTG* This,
   3288         REFIID riid,
   3289         void **ppvObject);
   3290 
   3291     ULONG (STDMETHODCALLTYPE *AddRef)(
   3292         IEnumSTATSTG* This);
   3293 
   3294     ULONG (STDMETHODCALLTYPE *Release)(
   3295         IEnumSTATSTG* This);
   3296 
   3297     /*** IEnumSTATSTG methods ***/
   3298     HRESULT (STDMETHODCALLTYPE *Next)(
   3299         IEnumSTATSTG* This,
   3300         ULONG celt,
   3301         STATSTG *rgelt,
   3302         ULONG *pceltFetched);
   3303 
   3304     HRESULT (STDMETHODCALLTYPE *Skip)(
   3305         IEnumSTATSTG* This,
   3306         ULONG celt);
   3307 
   3308     HRESULT (STDMETHODCALLTYPE *Reset)(
   3309         IEnumSTATSTG* This);
   3310 
   3311     HRESULT (STDMETHODCALLTYPE *Clone)(
   3312         IEnumSTATSTG* This,
   3313         IEnumSTATSTG **ppenum);
   3314 
   3315     END_INTERFACE
   3316 } IEnumSTATSTGVtbl;
   3317 interface IEnumSTATSTG {
   3318     CONST_VTBL IEnumSTATSTGVtbl* lpVtbl;
   3319 };
   3320 
   3321 #ifdef COBJMACROS
   3322 #ifndef WIDL_C_INLINE_WRAPPERS
   3323 /*** IUnknown methods ***/
   3324 #define IEnumSTATSTG_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   3325 #define IEnumSTATSTG_AddRef(This) (This)->lpVtbl->AddRef(This)
   3326 #define IEnumSTATSTG_Release(This) (This)->lpVtbl->Release(This)
   3327 /*** IEnumSTATSTG methods ***/
   3328 #define IEnumSTATSTG_Next(This,celt,rgelt,pceltFetched) (This)->lpVtbl->Next(This,celt,rgelt,pceltFetched)
   3329 #define IEnumSTATSTG_Skip(This,celt) (This)->lpVtbl->Skip(This,celt)
   3330 #define IEnumSTATSTG_Reset(This) (This)->lpVtbl->Reset(This)
   3331 #define IEnumSTATSTG_Clone(This,ppenum) (This)->lpVtbl->Clone(This,ppenum)
   3332 #else
   3333 /*** IUnknown methods ***/
   3334 static FORCEINLINE HRESULT IEnumSTATSTG_QueryInterface(IEnumSTATSTG* This,REFIID riid,void **ppvObject) {
   3335     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   3336 }
   3337 static FORCEINLINE ULONG IEnumSTATSTG_AddRef(IEnumSTATSTG* This) {
   3338     return This->lpVtbl->AddRef(This);
   3339 }
   3340 static FORCEINLINE ULONG IEnumSTATSTG_Release(IEnumSTATSTG* This) {
   3341     return This->lpVtbl->Release(This);
   3342 }
   3343 /*** IEnumSTATSTG methods ***/
   3344 static FORCEINLINE HRESULT IEnumSTATSTG_Next(IEnumSTATSTG* This,ULONG celt,STATSTG *rgelt,ULONG *pceltFetched) {
   3345     return This->lpVtbl->Next(This,celt,rgelt,pceltFetched);
   3346 }
   3347 static FORCEINLINE HRESULT IEnumSTATSTG_Skip(IEnumSTATSTG* This,ULONG celt) {
   3348     return This->lpVtbl->Skip(This,celt);
   3349 }
   3350 static FORCEINLINE HRESULT IEnumSTATSTG_Reset(IEnumSTATSTG* This) {
   3351     return This->lpVtbl->Reset(This);
   3352 }
   3353 static FORCEINLINE HRESULT IEnumSTATSTG_Clone(IEnumSTATSTG* This,IEnumSTATSTG **ppenum) {
   3354     return This->lpVtbl->Clone(This,ppenum);
   3355 }
   3356 #endif
   3357 #endif
   3358 
   3359 #endif
   3360 
   3361 HRESULT STDMETHODCALLTYPE IEnumSTATSTG_RemoteNext_Proxy(
   3362     IEnumSTATSTG* This,
   3363     ULONG celt,
   3364     STATSTG *rgelt,
   3365     ULONG *pceltFetched);
   3366 void __RPC_STUB IEnumSTATSTG_RemoteNext_Stub(
   3367     IRpcStubBuffer* This,
   3368     IRpcChannelBuffer* pRpcChannelBuffer,
   3369     PRPC_MESSAGE pRpcMessage,
   3370     DWORD* pdwStubPhase);
   3371 HRESULT STDMETHODCALLTYPE IEnumSTATSTG_Skip_Proxy(
   3372     IEnumSTATSTG* This,
   3373     ULONG celt);
   3374 void __RPC_STUB IEnumSTATSTG_Skip_Stub(
   3375     IRpcStubBuffer* This,
   3376     IRpcChannelBuffer* pRpcChannelBuffer,
   3377     PRPC_MESSAGE pRpcMessage,
   3378     DWORD* pdwStubPhase);
   3379 HRESULT STDMETHODCALLTYPE IEnumSTATSTG_Reset_Proxy(
   3380     IEnumSTATSTG* This);
   3381 void __RPC_STUB IEnumSTATSTG_Reset_Stub(
   3382     IRpcStubBuffer* This,
   3383     IRpcChannelBuffer* pRpcChannelBuffer,
   3384     PRPC_MESSAGE pRpcMessage,
   3385     DWORD* pdwStubPhase);
   3386 HRESULT STDMETHODCALLTYPE IEnumSTATSTG_Clone_Proxy(
   3387     IEnumSTATSTG* This,
   3388     IEnumSTATSTG **ppenum);
   3389 void __RPC_STUB IEnumSTATSTG_Clone_Stub(
   3390     IRpcStubBuffer* This,
   3391     IRpcChannelBuffer* pRpcChannelBuffer,
   3392     PRPC_MESSAGE pRpcMessage,
   3393     DWORD* pdwStubPhase);
   3394 HRESULT CALLBACK IEnumSTATSTG_Next_Proxy(
   3395     IEnumSTATSTG* This,
   3396     ULONG celt,
   3397     STATSTG *rgelt,
   3398     ULONG *pceltFetched);
   3399 HRESULT __RPC_STUB IEnumSTATSTG_Next_Stub(
   3400     IEnumSTATSTG* This,
   3401     ULONG celt,
   3402     STATSTG *rgelt,
   3403     ULONG *pceltFetched);
   3404 
   3405 #endif  /* __IEnumSTATSTG_INTERFACE_DEFINED__ */
   3406 
   3407 /*****************************************************************************
   3408  * IStorage interface
   3409  */
   3410 #ifndef __IStorage_INTERFACE_DEFINED__
   3411 #define __IStorage_INTERFACE_DEFINED__
   3412 
   3413 typedef IStorage *LPSTORAGE;
   3414 typedef struct tagRemSNB {
   3415     ULONG ulCntStr;
   3416     ULONG ulCntChar;
   3417     OLECHAR rgString[1];
   3418 } RemSNB;
   3419 typedef RemSNB *wireSNB;
   3420 typedef OLECHAR **SNB;
   3421 DEFINE_GUID(IID_IStorage, 0x0000000b, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
   3422 #if defined(__cplusplus) && !defined(CINTERFACE)
   3423 MIDL_INTERFACE("0000000b-0000-0000-c000-000000000046")
   3424 IStorage : public IUnknown
   3425 {
   3426     virtual HRESULT STDMETHODCALLTYPE CreateStream(
   3427         LPCOLESTR pwcsName,
   3428         DWORD grfMode,
   3429         DWORD reserved1,
   3430         DWORD reserved2,
   3431         IStream **ppstm) = 0;
   3432 
   3433     virtual HRESULT STDMETHODCALLTYPE OpenStream(
   3434         LPCOLESTR pwcsName,
   3435         void *reserved1,
   3436         DWORD grfMode,
   3437         DWORD reserved2,
   3438         IStream **ppstm) = 0;
   3439 
   3440     virtual HRESULT STDMETHODCALLTYPE CreateStorage(
   3441         LPCOLESTR pwcsName,
   3442         DWORD grfMode,
   3443         DWORD dwStgFmt,
   3444         DWORD reserved2,
   3445         IStorage **ppstg) = 0;
   3446 
   3447     virtual HRESULT STDMETHODCALLTYPE OpenStorage(
   3448         LPCOLESTR pwcsName,
   3449         IStorage *pstgPriority,
   3450         DWORD grfMode,
   3451         SNB snbExclude,
   3452         DWORD reserved,
   3453         IStorage **ppstg) = 0;
   3454 
   3455     virtual HRESULT STDMETHODCALLTYPE CopyTo(
   3456         DWORD ciidExclude,
   3457         const IID *rgiidExclude,
   3458         SNB snbExclude,
   3459         IStorage *pstgDest) = 0;
   3460 
   3461     virtual HRESULT STDMETHODCALLTYPE MoveElementTo(
   3462         LPCOLESTR pwcsName,
   3463         IStorage *pstgDest,
   3464         LPCOLESTR pwcsNewName,
   3465         DWORD grfFlags) = 0;
   3466 
   3467     virtual HRESULT STDMETHODCALLTYPE Commit(
   3468         DWORD grfCommitFlags) = 0;
   3469 
   3470     virtual HRESULT STDMETHODCALLTYPE Revert(
   3471         ) = 0;
   3472 
   3473     virtual HRESULT STDMETHODCALLTYPE EnumElements(
   3474         DWORD reserved1,
   3475         void *reserved2,
   3476         DWORD reserved3,
   3477         IEnumSTATSTG **ppenum) = 0;
   3478 
   3479     virtual HRESULT STDMETHODCALLTYPE DestroyElement(
   3480         LPCOLESTR pwcsName) = 0;
   3481 
   3482     virtual HRESULT STDMETHODCALLTYPE RenameElement(
   3483         LPCOLESTR pwcsOldName,
   3484         LPCOLESTR pwcsNewName) = 0;
   3485 
   3486     virtual HRESULT STDMETHODCALLTYPE SetElementTimes(
   3487         LPCOLESTR pwcsName,
   3488         const FILETIME *pctime,
   3489         const FILETIME *patime,
   3490         const FILETIME *pmtime) = 0;
   3491 
   3492     virtual HRESULT STDMETHODCALLTYPE SetClass(
   3493         REFCLSID clsid) = 0;
   3494 
   3495     virtual HRESULT STDMETHODCALLTYPE SetStateBits(
   3496         DWORD grfStateBits,
   3497         DWORD grfMask) = 0;
   3498 
   3499     virtual HRESULT STDMETHODCALLTYPE Stat(
   3500         STATSTG *pstatstg,
   3501         DWORD grfStatFlag) = 0;
   3502 
   3503 };
   3504 #ifdef __CRT_UUID_DECL
   3505 __CRT_UUID_DECL(IStorage, 0x0000000b, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
   3506 #endif
   3507 #else
   3508 typedef struct IStorageVtbl {
   3509     BEGIN_INTERFACE
   3510 
   3511     /*** IUnknown methods ***/
   3512     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   3513         IStorage* This,
   3514         REFIID riid,
   3515         void **ppvObject);
   3516 
   3517     ULONG (STDMETHODCALLTYPE *AddRef)(
   3518         IStorage* This);
   3519 
   3520     ULONG (STDMETHODCALLTYPE *Release)(
   3521         IStorage* This);
   3522 
   3523     /*** IStorage methods ***/
   3524     HRESULT (STDMETHODCALLTYPE *CreateStream)(
   3525         IStorage* This,
   3526         LPCOLESTR pwcsName,
   3527         DWORD grfMode,
   3528         DWORD reserved1,
   3529         DWORD reserved2,
   3530         IStream **ppstm);
   3531 
   3532     HRESULT (STDMETHODCALLTYPE *OpenStream)(
   3533         IStorage* This,
   3534         LPCOLESTR pwcsName,
   3535         void *reserved1,
   3536         DWORD grfMode,
   3537         DWORD reserved2,
   3538         IStream **ppstm);
   3539 
   3540     HRESULT (STDMETHODCALLTYPE *CreateStorage)(
   3541         IStorage* This,
   3542         LPCOLESTR pwcsName,
   3543         DWORD grfMode,
   3544         DWORD dwStgFmt,
   3545         DWORD reserved2,
   3546         IStorage **ppstg);
   3547 
   3548     HRESULT (STDMETHODCALLTYPE *OpenStorage)(
   3549         IStorage* This,
   3550         LPCOLESTR pwcsName,
   3551         IStorage *pstgPriority,
   3552         DWORD grfMode,
   3553         SNB snbExclude,
   3554         DWORD reserved,
   3555         IStorage **ppstg);
   3556 
   3557     HRESULT (STDMETHODCALLTYPE *CopyTo)(
   3558         IStorage* This,
   3559         DWORD ciidExclude,
   3560         const IID *rgiidExclude,
   3561         SNB snbExclude,
   3562         IStorage *pstgDest);
   3563 
   3564     HRESULT (STDMETHODCALLTYPE *MoveElementTo)(
   3565         IStorage* This,
   3566         LPCOLESTR pwcsName,
   3567         IStorage *pstgDest,
   3568         LPCOLESTR pwcsNewName,
   3569         DWORD grfFlags);
   3570 
   3571     HRESULT (STDMETHODCALLTYPE *Commit)(
   3572         IStorage* This,
   3573         DWORD grfCommitFlags);
   3574 
   3575     HRESULT (STDMETHODCALLTYPE *Revert)(
   3576         IStorage* This);
   3577 
   3578     HRESULT (STDMETHODCALLTYPE *EnumElements)(
   3579         IStorage* This,
   3580         DWORD reserved1,
   3581         void *reserved2,
   3582         DWORD reserved3,
   3583         IEnumSTATSTG **ppenum);
   3584 
   3585     HRESULT (STDMETHODCALLTYPE *DestroyElement)(
   3586         IStorage* This,
   3587         LPCOLESTR pwcsName);
   3588 
   3589     HRESULT (STDMETHODCALLTYPE *RenameElement)(
   3590         IStorage* This,
   3591         LPCOLESTR pwcsOldName,
   3592         LPCOLESTR pwcsNewName);
   3593 
   3594     HRESULT (STDMETHODCALLTYPE *SetElementTimes)(
   3595         IStorage* This,
   3596         LPCOLESTR pwcsName,
   3597         const FILETIME *pctime,
   3598         const FILETIME *patime,
   3599         const FILETIME *pmtime);
   3600 
   3601     HRESULT (STDMETHODCALLTYPE *SetClass)(
   3602         IStorage* This,
   3603         REFCLSID clsid);
   3604 
   3605     HRESULT (STDMETHODCALLTYPE *SetStateBits)(
   3606         IStorage* This,
   3607         DWORD grfStateBits,
   3608         DWORD grfMask);
   3609 
   3610     HRESULT (STDMETHODCALLTYPE *Stat)(
   3611         IStorage* This,
   3612         STATSTG *pstatstg,
   3613         DWORD grfStatFlag);
   3614 
   3615     END_INTERFACE
   3616 } IStorageVtbl;
   3617 interface IStorage {
   3618     CONST_VTBL IStorageVtbl* lpVtbl;
   3619 };
   3620 
   3621 #ifdef COBJMACROS
   3622 #ifndef WIDL_C_INLINE_WRAPPERS
   3623 /*** IUnknown methods ***/
   3624 #define IStorage_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   3625 #define IStorage_AddRef(This) (This)->lpVtbl->AddRef(This)
   3626 #define IStorage_Release(This) (This)->lpVtbl->Release(This)
   3627 /*** IStorage methods ***/
   3628 #define IStorage_CreateStream(This,pwcsName,grfMode,reserved1,reserved2,ppstm) (This)->lpVtbl->CreateStream(This,pwcsName,grfMode,reserved1,reserved2,ppstm)
   3629 #define IStorage_OpenStream(This,pwcsName,reserved1,grfMode,reserved2,ppstm) (This)->lpVtbl->OpenStream(This,pwcsName,reserved1,grfMode,reserved2,ppstm)
   3630 #define IStorage_CreateStorage(This,pwcsName,grfMode,dwStgFmt,reserved2,ppstg) (This)->lpVtbl->CreateStorage(This,pwcsName,grfMode,dwStgFmt,reserved2,ppstg)
   3631 #define IStorage_OpenStorage(This,pwcsName,pstgPriority,grfMode,snbExclude,reserved,ppstg) (This)->lpVtbl->OpenStorage(This,pwcsName,pstgPriority,grfMode,snbExclude,reserved,ppstg)
   3632 #define IStorage_CopyTo(This,ciidExclude,rgiidExclude,snbExclude,pstgDest) (This)->lpVtbl->CopyTo(This,ciidExclude,rgiidExclude,snbExclude,pstgDest)
   3633 #define IStorage_MoveElementTo(This,pwcsName,pstgDest,pwcsNewName,grfFlags) (This)->lpVtbl->MoveElementTo(This,pwcsName,pstgDest,pwcsNewName,grfFlags)
   3634 #define IStorage_Commit(This,grfCommitFlags) (This)->lpVtbl->Commit(This,grfCommitFlags)
   3635 #define IStorage_Revert(This) (This)->lpVtbl->Revert(This)
   3636 #define IStorage_EnumElements(This,reserved1,reserved2,reserved3,ppenum) (This)->lpVtbl->EnumElements(This,reserved1,reserved2,reserved3,ppenum)
   3637 #define IStorage_DestroyElement(This,pwcsName) (This)->lpVtbl->DestroyElement(This,pwcsName)
   3638 #define IStorage_RenameElement(This,pwcsOldName,pwcsNewName) (This)->lpVtbl->RenameElement(This,pwcsOldName,pwcsNewName)
   3639 #define IStorage_SetElementTimes(This,pwcsName,pctime,patime,pmtime) (This)->lpVtbl->SetElementTimes(This,pwcsName,pctime,patime,pmtime)
   3640 #define IStorage_SetClass(This,clsid) (This)->lpVtbl->SetClass(This,clsid)
   3641 #define IStorage_SetStateBits(This,grfStateBits,grfMask) (This)->lpVtbl->SetStateBits(This,grfStateBits,grfMask)
   3642 #define IStorage_Stat(This,pstatstg,grfStatFlag) (This)->lpVtbl->Stat(This,pstatstg,grfStatFlag)
   3643 #else
   3644 /*** IUnknown methods ***/
   3645 static FORCEINLINE HRESULT IStorage_QueryInterface(IStorage* This,REFIID riid,void **ppvObject) {
   3646     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   3647 }
   3648 static FORCEINLINE ULONG IStorage_AddRef(IStorage* This) {
   3649     return This->lpVtbl->AddRef(This);
   3650 }
   3651 static FORCEINLINE ULONG IStorage_Release(IStorage* This) {
   3652     return This->lpVtbl->Release(This);
   3653 }
   3654 /*** IStorage methods ***/
   3655 static FORCEINLINE HRESULT IStorage_CreateStream(IStorage* This,LPCOLESTR pwcsName,DWORD grfMode,DWORD reserved1,DWORD reserved2,IStream **ppstm) {
   3656     return This->lpVtbl->CreateStream(This,pwcsName,grfMode,reserved1,reserved2,ppstm);
   3657 }
   3658 static FORCEINLINE HRESULT IStorage_OpenStream(IStorage* This,LPCOLESTR pwcsName,void *reserved1,DWORD grfMode,DWORD reserved2,IStream **ppstm) {
   3659     return This->lpVtbl->OpenStream(This,pwcsName,reserved1,grfMode,reserved2,ppstm);
   3660 }
   3661 static FORCEINLINE HRESULT IStorage_CreateStorage(IStorage* This,LPCOLESTR pwcsName,DWORD grfMode,DWORD dwStgFmt,DWORD reserved2,IStorage **ppstg) {
   3662     return This->lpVtbl->CreateStorage(This,pwcsName,grfMode,dwStgFmt,reserved2,ppstg);
   3663 }
   3664 static FORCEINLINE HRESULT IStorage_OpenStorage(IStorage* This,LPCOLESTR pwcsName,IStorage *pstgPriority,DWORD grfMode,SNB snbExclude,DWORD reserved,IStorage **ppstg) {
   3665     return This->lpVtbl->OpenStorage(This,pwcsName,pstgPriority,grfMode,snbExclude,reserved,ppstg);
   3666 }
   3667 static FORCEINLINE HRESULT IStorage_CopyTo(IStorage* This,DWORD ciidExclude,const IID *rgiidExclude,SNB snbExclude,IStorage *pstgDest) {
   3668     return This->lpVtbl->CopyTo(This,ciidExclude,rgiidExclude,snbExclude,pstgDest);
   3669 }
   3670 static FORCEINLINE HRESULT IStorage_MoveElementTo(IStorage* This,LPCOLESTR pwcsName,IStorage *pstgDest,LPCOLESTR pwcsNewName,DWORD grfFlags) {
   3671     return This->lpVtbl->MoveElementTo(This,pwcsName,pstgDest,pwcsNewName,grfFlags);
   3672 }
   3673 static FORCEINLINE HRESULT IStorage_Commit(IStorage* This,DWORD grfCommitFlags) {
   3674     return This->lpVtbl->Commit(This,grfCommitFlags);
   3675 }
   3676 static FORCEINLINE HRESULT IStorage_Revert(IStorage* This) {
   3677     return This->lpVtbl->Revert(This);
   3678 }
   3679 static FORCEINLINE HRESULT IStorage_EnumElements(IStorage* This,DWORD reserved1,void *reserved2,DWORD reserved3,IEnumSTATSTG **ppenum) {
   3680     return This->lpVtbl->EnumElements(This,reserved1,reserved2,reserved3,ppenum);
   3681 }
   3682 static FORCEINLINE HRESULT IStorage_DestroyElement(IStorage* This,LPCOLESTR pwcsName) {
   3683     return This->lpVtbl->DestroyElement(This,pwcsName);
   3684 }
   3685 static FORCEINLINE HRESULT IStorage_RenameElement(IStorage* This,LPCOLESTR pwcsOldName,LPCOLESTR pwcsNewName) {
   3686     return This->lpVtbl->RenameElement(This,pwcsOldName,pwcsNewName);
   3687 }
   3688 static FORCEINLINE HRESULT IStorage_SetElementTimes(IStorage* This,LPCOLESTR pwcsName,const FILETIME *pctime,const FILETIME *patime,const FILETIME *pmtime) {
   3689     return This->lpVtbl->SetElementTimes(This,pwcsName,pctime,patime,pmtime);
   3690 }
   3691 static FORCEINLINE HRESULT IStorage_SetClass(IStorage* This,REFCLSID clsid) {
   3692     return This->lpVtbl->SetClass(This,clsid);
   3693 }
   3694 static FORCEINLINE HRESULT IStorage_SetStateBits(IStorage* This,DWORD grfStateBits,DWORD grfMask) {
   3695     return This->lpVtbl->SetStateBits(This,grfStateBits,grfMask);
   3696 }
   3697 static FORCEINLINE HRESULT IStorage_Stat(IStorage* This,STATSTG *pstatstg,DWORD grfStatFlag) {
   3698     return This->lpVtbl->Stat(This,pstatstg,grfStatFlag);
   3699 }
   3700 #endif
   3701 #endif
   3702 
   3703 #endif
   3704 
   3705 HRESULT STDMETHODCALLTYPE IStorage_CreateStream_Proxy(
   3706     IStorage* This,
   3707     LPCOLESTR pwcsName,
   3708     DWORD grfMode,
   3709     DWORD reserved1,
   3710     DWORD reserved2,
   3711     IStream **ppstm);
   3712 void __RPC_STUB IStorage_CreateStream_Stub(
   3713     IRpcStubBuffer* This,
   3714     IRpcChannelBuffer* pRpcChannelBuffer,
   3715     PRPC_MESSAGE pRpcMessage,
   3716     DWORD* pdwStubPhase);
   3717 HRESULT STDMETHODCALLTYPE IStorage_RemoteOpenStream_Proxy(
   3718     IStorage* This,
   3719     LPCOLESTR pwcsName,
   3720     ULONG cbReserved1,
   3721     byte *reserved1,
   3722     DWORD grfMode,
   3723     DWORD reserved2,
   3724     IStream **ppstm);
   3725 void __RPC_STUB IStorage_RemoteOpenStream_Stub(
   3726     IRpcStubBuffer* This,
   3727     IRpcChannelBuffer* pRpcChannelBuffer,
   3728     PRPC_MESSAGE pRpcMessage,
   3729     DWORD* pdwStubPhase);
   3730 HRESULT STDMETHODCALLTYPE IStorage_CreateStorage_Proxy(
   3731     IStorage* This,
   3732     LPCOLESTR pwcsName,
   3733     DWORD grfMode,
   3734     DWORD dwStgFmt,
   3735     DWORD reserved2,
   3736     IStorage **ppstg);
   3737 void __RPC_STUB IStorage_CreateStorage_Stub(
   3738     IRpcStubBuffer* This,
   3739     IRpcChannelBuffer* pRpcChannelBuffer,
   3740     PRPC_MESSAGE pRpcMessage,
   3741     DWORD* pdwStubPhase);
   3742 HRESULT STDMETHODCALLTYPE IStorage_OpenStorage_Proxy(
   3743     IStorage* This,
   3744     LPCOLESTR pwcsName,
   3745     IStorage *pstgPriority,
   3746     DWORD grfMode,
   3747     SNB snbExclude,
   3748     DWORD reserved,
   3749     IStorage **ppstg);
   3750 void __RPC_STUB IStorage_OpenStorage_Stub(
   3751     IRpcStubBuffer* This,
   3752     IRpcChannelBuffer* pRpcChannelBuffer,
   3753     PRPC_MESSAGE pRpcMessage,
   3754     DWORD* pdwStubPhase);
   3755 HRESULT STDMETHODCALLTYPE IStorage_CopyTo_Proxy(
   3756     IStorage* This,
   3757     DWORD ciidExclude,
   3758     const IID *rgiidExclude,
   3759     SNB snbExclude,
   3760     IStorage *pstgDest);
   3761 void __RPC_STUB IStorage_CopyTo_Stub(
   3762     IRpcStubBuffer* This,
   3763     IRpcChannelBuffer* pRpcChannelBuffer,
   3764     PRPC_MESSAGE pRpcMessage,
   3765     DWORD* pdwStubPhase);
   3766 HRESULT STDMETHODCALLTYPE IStorage_MoveElementTo_Proxy(
   3767     IStorage* This,
   3768     LPCOLESTR pwcsName,
   3769     IStorage *pstgDest,
   3770     LPCOLESTR pwcsNewName,
   3771     DWORD grfFlags);
   3772 void __RPC_STUB IStorage_MoveElementTo_Stub(
   3773     IRpcStubBuffer* This,
   3774     IRpcChannelBuffer* pRpcChannelBuffer,
   3775     PRPC_MESSAGE pRpcMessage,
   3776     DWORD* pdwStubPhase);
   3777 HRESULT STDMETHODCALLTYPE IStorage_Commit_Proxy(
   3778     IStorage* This,
   3779     DWORD grfCommitFlags);
   3780 void __RPC_STUB IStorage_Commit_Stub(
   3781     IRpcStubBuffer* This,
   3782     IRpcChannelBuffer* pRpcChannelBuffer,
   3783     PRPC_MESSAGE pRpcMessage,
   3784     DWORD* pdwStubPhase);
   3785 HRESULT STDMETHODCALLTYPE IStorage_Revert_Proxy(
   3786     IStorage* This);
   3787 void __RPC_STUB IStorage_Revert_Stub(
   3788     IRpcStubBuffer* This,
   3789     IRpcChannelBuffer* pRpcChannelBuffer,
   3790     PRPC_MESSAGE pRpcMessage,
   3791     DWORD* pdwStubPhase);
   3792 HRESULT STDMETHODCALLTYPE IStorage_RemoteEnumElements_Proxy(
   3793     IStorage* This,
   3794     DWORD reserved1,
   3795     ULONG cbReserved2,
   3796     byte *reserved2,
   3797     DWORD reserved3,
   3798     IEnumSTATSTG **ppenum);
   3799 void __RPC_STUB IStorage_RemoteEnumElements_Stub(
   3800     IRpcStubBuffer* This,
   3801     IRpcChannelBuffer* pRpcChannelBuffer,
   3802     PRPC_MESSAGE pRpcMessage,
   3803     DWORD* pdwStubPhase);
   3804 HRESULT STDMETHODCALLTYPE IStorage_DestroyElement_Proxy(
   3805     IStorage* This,
   3806     LPCOLESTR pwcsName);
   3807 void __RPC_STUB IStorage_DestroyElement_Stub(
   3808     IRpcStubBuffer* This,
   3809     IRpcChannelBuffer* pRpcChannelBuffer,
   3810     PRPC_MESSAGE pRpcMessage,
   3811     DWORD* pdwStubPhase);
   3812 HRESULT STDMETHODCALLTYPE IStorage_RenameElement_Proxy(
   3813     IStorage* This,
   3814     LPCOLESTR pwcsOldName,
   3815     LPCOLESTR pwcsNewName);
   3816 void __RPC_STUB IStorage_RenameElement_Stub(
   3817     IRpcStubBuffer* This,
   3818     IRpcChannelBuffer* pRpcChannelBuffer,
   3819     PRPC_MESSAGE pRpcMessage,
   3820     DWORD* pdwStubPhase);
   3821 HRESULT STDMETHODCALLTYPE IStorage_SetElementTimes_Proxy(
   3822     IStorage* This,
   3823     LPCOLESTR pwcsName,
   3824     const FILETIME *pctime,
   3825     const FILETIME *patime,
   3826     const FILETIME *pmtime);
   3827 void __RPC_STUB IStorage_SetElementTimes_Stub(
   3828     IRpcStubBuffer* This,
   3829     IRpcChannelBuffer* pRpcChannelBuffer,
   3830     PRPC_MESSAGE pRpcMessage,
   3831     DWORD* pdwStubPhase);
   3832 HRESULT STDMETHODCALLTYPE IStorage_SetClass_Proxy(
   3833     IStorage* This,
   3834     REFCLSID clsid);
   3835 void __RPC_STUB IStorage_SetClass_Stub(
   3836     IRpcStubBuffer* This,
   3837     IRpcChannelBuffer* pRpcChannelBuffer,
   3838     PRPC_MESSAGE pRpcMessage,
   3839     DWORD* pdwStubPhase);
   3840 HRESULT STDMETHODCALLTYPE IStorage_SetStateBits_Proxy(
   3841     IStorage* This,
   3842     DWORD grfStateBits,
   3843     DWORD grfMask);
   3844 void __RPC_STUB IStorage_SetStateBits_Stub(
   3845     IRpcStubBuffer* This,
   3846     IRpcChannelBuffer* pRpcChannelBuffer,
   3847     PRPC_MESSAGE pRpcMessage,
   3848     DWORD* pdwStubPhase);
   3849 HRESULT STDMETHODCALLTYPE IStorage_Stat_Proxy(
   3850     IStorage* This,
   3851     STATSTG *pstatstg,
   3852     DWORD grfStatFlag);
   3853 void __RPC_STUB IStorage_Stat_Stub(
   3854     IRpcStubBuffer* This,
   3855     IRpcChannelBuffer* pRpcChannelBuffer,
   3856     PRPC_MESSAGE pRpcMessage,
   3857     DWORD* pdwStubPhase);
   3858 HRESULT CALLBACK IStorage_OpenStream_Proxy(
   3859     IStorage* This,
   3860     LPCOLESTR pwcsName,
   3861     void *reserved1,
   3862     DWORD grfMode,
   3863     DWORD reserved2,
   3864     IStream **ppstm);
   3865 HRESULT __RPC_STUB IStorage_OpenStream_Stub(
   3866     IStorage* This,
   3867     LPCOLESTR pwcsName,
   3868     ULONG cbReserved1,
   3869     byte *reserved1,
   3870     DWORD grfMode,
   3871     DWORD reserved2,
   3872     IStream **ppstm);
   3873 HRESULT CALLBACK IStorage_EnumElements_Proxy(
   3874     IStorage* This,
   3875     DWORD reserved1,
   3876     void *reserved2,
   3877     DWORD reserved3,
   3878     IEnumSTATSTG **ppenum);
   3879 HRESULT __RPC_STUB IStorage_EnumElements_Stub(
   3880     IStorage* This,
   3881     DWORD reserved1,
   3882     ULONG cbReserved2,
   3883     byte *reserved2,
   3884     DWORD reserved3,
   3885     IEnumSTATSTG **ppenum);
   3886 
   3887 #endif  /* __IStorage_INTERFACE_DEFINED__ */
   3888 
   3889 #ifndef __IPersistFile_INTERFACE_DEFINED__
   3890 #define __IPersistFile_INTERFACE_DEFINED__
   3891   typedef IPersistFile *LPPERSISTFILE;
   3892 
   3893   EXTERN_C const IID IID_IPersistFile;
   3894 #if defined(__cplusplus) && !defined(CINTERFACE)
   3895   struct IPersistFile : public IPersist {
   3896   public:
   3897     virtual HRESULT WINAPI IsDirty(void) = 0;
   3898     virtual HRESULT WINAPI Load(LPCOLESTR pszFileName,DWORD dwMode) = 0;
   3899     virtual HRESULT WINAPI Save(LPCOLESTR pszFileName,WINBOOL fRemember) = 0;
   3900     virtual HRESULT WINAPI SaveCompleted(LPCOLESTR pszFileName) = 0;
   3901     virtual HRESULT WINAPI GetCurFile(LPOLESTR *ppszFileName) = 0;
   3902   };
   3903 #else
   3904   typedef struct IPersistFileVtbl {
   3905     BEGIN_INTERFACE
   3906       HRESULT (WINAPI *QueryInterface)(IPersistFile *This,REFIID riid,void **ppvObject);
   3907       ULONG (WINAPI *AddRef)(IPersistFile *This);
   3908       ULONG (WINAPI *Release)(IPersistFile *This);
   3909       HRESULT (WINAPI *GetClassID)(IPersistFile *This,CLSID *pClassID);
   3910       HRESULT (WINAPI *IsDirty)(IPersistFile *This);
   3911       HRESULT (WINAPI *Load)(IPersistFile *This,LPCOLESTR pszFileName,DWORD dwMode);
   3912       HRESULT (WINAPI *Save)(IPersistFile *This,LPCOLESTR pszFileName,WINBOOL fRemember);
   3913       HRESULT (WINAPI *SaveCompleted)(IPersistFile *This,LPCOLESTR pszFileName);
   3914       HRESULT (WINAPI *GetCurFile)(IPersistFile *This,LPOLESTR *ppszFileName);
   3915     END_INTERFACE
   3916   } IPersistFileVtbl;
   3917   struct IPersistFile {
   3918     CONST_VTBL struct IPersistFileVtbl *lpVtbl;
   3919   };
   3920 #ifdef COBJMACROS
   3921 #define IPersistFile_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   3922 #define IPersistFile_AddRef(This) (This)->lpVtbl->AddRef(This)
   3923 #define IPersistFile_Release(This) (This)->lpVtbl->Release(This)
   3924 #define IPersistFile_GetClassID(This,pClassID) (This)->lpVtbl->GetClassID(This,pClassID)
   3925 #define IPersistFile_IsDirty(This) (This)->lpVtbl->IsDirty(This)
   3926 #define IPersistFile_Load(This,pszFileName,dwMode) (This)->lpVtbl->Load(This,pszFileName,dwMode)
   3927 #define IPersistFile_Save(This,pszFileName,fRemember) (This)->lpVtbl->Save(This,pszFileName,fRemember)
   3928 #define IPersistFile_SaveCompleted(This,pszFileName) (This)->lpVtbl->SaveCompleted(This,pszFileName)
   3929 #define IPersistFile_GetCurFile(This,ppszFileName) (This)->lpVtbl->GetCurFile(This,ppszFileName)
   3930 #endif
   3931 #endif
   3932   HRESULT WINAPI IPersistFile_IsDirty_Proxy(IPersistFile *This);
   3933   void __RPC_STUB IPersistFile_IsDirty_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3934   HRESULT WINAPI IPersistFile_Load_Proxy(IPersistFile *This,LPCOLESTR pszFileName,DWORD dwMode);
   3935   void __RPC_STUB IPersistFile_Load_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3936   HRESULT WINAPI IPersistFile_Save_Proxy(IPersistFile *This,LPCOLESTR pszFileName,WINBOOL fRemember);
   3937   void __RPC_STUB IPersistFile_Save_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3938   HRESULT WINAPI IPersistFile_SaveCompleted_Proxy(IPersistFile *This,LPCOLESTR pszFileName);
   3939   void __RPC_STUB IPersistFile_SaveCompleted_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3940   HRESULT WINAPI IPersistFile_GetCurFile_Proxy(IPersistFile *This,LPOLESTR *ppszFileName);
   3941   void __RPC_STUB IPersistFile_GetCurFile_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3942 #endif
   3943 
   3944 #ifndef __IPersistStorage_INTERFACE_DEFINED__
   3945 #define __IPersistStorage_INTERFACE_DEFINED__
   3946   typedef IPersistStorage *LPPERSISTSTORAGE;
   3947 
   3948   EXTERN_C const IID IID_IPersistStorage;
   3949 #if defined(__cplusplus) && !defined(CINTERFACE)
   3950   struct IPersistStorage : public IPersist {
   3951   public:
   3952     virtual HRESULT WINAPI IsDirty(void) = 0;
   3953     virtual HRESULT WINAPI InitNew(IStorage *pStg) = 0;
   3954     virtual HRESULT WINAPI Load(IStorage *pStg) = 0;
   3955     virtual HRESULT WINAPI Save(IStorage *pStgSave,WINBOOL fSameAsLoad) = 0;
   3956     virtual HRESULT WINAPI SaveCompleted(IStorage *pStgNew) = 0;
   3957     virtual HRESULT WINAPI HandsOffStorage(void) = 0;
   3958   };
   3959 #else
   3960   typedef struct IPersistStorageVtbl {
   3961     BEGIN_INTERFACE
   3962       HRESULT (WINAPI *QueryInterface)(IPersistStorage *This,REFIID riid,void **ppvObject);
   3963       ULONG (WINAPI *AddRef)(IPersistStorage *This);
   3964       ULONG (WINAPI *Release)(IPersistStorage *This);
   3965       HRESULT (WINAPI *GetClassID)(IPersistStorage *This,CLSID *pClassID);
   3966       HRESULT (WINAPI *IsDirty)(IPersistStorage *This);
   3967       HRESULT (WINAPI *InitNew)(IPersistStorage *This,IStorage *pStg);
   3968       HRESULT (WINAPI *Load)(IPersistStorage *This,IStorage *pStg);
   3969       HRESULT (WINAPI *Save)(IPersistStorage *This,IStorage *pStgSave,WINBOOL fSameAsLoad);
   3970       HRESULT (WINAPI *SaveCompleted)(IPersistStorage *This,IStorage *pStgNew);
   3971       HRESULT (WINAPI *HandsOffStorage)(IPersistStorage *This);
   3972     END_INTERFACE
   3973   } IPersistStorageVtbl;
   3974   struct IPersistStorage {
   3975     CONST_VTBL struct IPersistStorageVtbl *lpVtbl;
   3976   };
   3977 #ifdef COBJMACROS
   3978 #define IPersistStorage_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   3979 #define IPersistStorage_AddRef(This) (This)->lpVtbl->AddRef(This)
   3980 #define IPersistStorage_Release(This) (This)->lpVtbl->Release(This)
   3981 #define IPersistStorage_GetClassID(This,pClassID) (This)->lpVtbl->GetClassID(This,pClassID)
   3982 #define IPersistStorage_IsDirty(This) (This)->lpVtbl->IsDirty(This)
   3983 #define IPersistStorage_InitNew(This,pStg) (This)->lpVtbl->InitNew(This,pStg)
   3984 #define IPersistStorage_Load(This,pStg) (This)->lpVtbl->Load(This,pStg)
   3985 #define IPersistStorage_Save(This,pStgSave,fSameAsLoad) (This)->lpVtbl->Save(This,pStgSave,fSameAsLoad)
   3986 #define IPersistStorage_SaveCompleted(This,pStgNew) (This)->lpVtbl->SaveCompleted(This,pStgNew)
   3987 #define IPersistStorage_HandsOffStorage(This) (This)->lpVtbl->HandsOffStorage(This)
   3988 #endif
   3989 #endif
   3990   HRESULT WINAPI IPersistStorage_IsDirty_Proxy(IPersistStorage *This);
   3991   void __RPC_STUB IPersistStorage_IsDirty_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3992   HRESULT WINAPI IPersistStorage_InitNew_Proxy(IPersistStorage *This,IStorage *pStg);
   3993   void __RPC_STUB IPersistStorage_InitNew_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3994   HRESULT WINAPI IPersistStorage_Load_Proxy(IPersistStorage *This,IStorage *pStg);
   3995   void __RPC_STUB IPersistStorage_Load_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3996   HRESULT WINAPI IPersistStorage_Save_Proxy(IPersistStorage *This,IStorage *pStgSave,WINBOOL fSameAsLoad);
   3997   void __RPC_STUB IPersistStorage_Save_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3998   HRESULT WINAPI IPersistStorage_SaveCompleted_Proxy(IPersistStorage *This,IStorage *pStgNew);
   3999   void __RPC_STUB IPersistStorage_SaveCompleted_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4000   HRESULT WINAPI IPersistStorage_HandsOffStorage_Proxy(IPersistStorage *This);
   4001   void __RPC_STUB IPersistStorage_HandsOffStorage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4002 #endif
   4003 
   4004 #ifndef __ILockBytes_INTERFACE_DEFINED__
   4005 #define __ILockBytes_INTERFACE_DEFINED__
   4006   typedef ILockBytes *LPLOCKBYTES;
   4007 
   4008   EXTERN_C const IID IID_ILockBytes;
   4009 #if defined(__cplusplus) && !defined(CINTERFACE)
   4010   struct ILockBytes : public IUnknown {
   4011   public:
   4012     virtual HRESULT WINAPI ReadAt(ULARGE_INTEGER ulOffset,void *pv,ULONG cb,ULONG *pcbRead) = 0;
   4013     virtual HRESULT WINAPI WriteAt(ULARGE_INTEGER ulOffset,const void *pv,ULONG cb,ULONG *pcbWritten) = 0;
   4014     virtual HRESULT WINAPI Flush(void) = 0;
   4015     virtual HRESULT WINAPI SetSize(ULARGE_INTEGER cb) = 0;
   4016     virtual HRESULT WINAPI LockRegion(ULARGE_INTEGER libOffset,ULARGE_INTEGER cb,DWORD dwLockType) = 0;
   4017     virtual HRESULT WINAPI UnlockRegion(ULARGE_INTEGER libOffset,ULARGE_INTEGER cb,DWORD dwLockType) = 0;
   4018     virtual HRESULT WINAPI Stat(STATSTG *pstatstg,DWORD grfStatFlag) = 0;
   4019   };
   4020 #else
   4021   typedef struct ILockBytesVtbl {
   4022     BEGIN_INTERFACE
   4023       HRESULT (WINAPI *QueryInterface)(ILockBytes *This,REFIID riid,void **ppvObject);
   4024       ULONG (WINAPI *AddRef)(ILockBytes *This);
   4025       ULONG (WINAPI *Release)(ILockBytes *This);
   4026       HRESULT (WINAPI *ReadAt)(ILockBytes *This,ULARGE_INTEGER ulOffset,void *pv,ULONG cb,ULONG *pcbRead);
   4027       HRESULT (WINAPI *WriteAt)(ILockBytes *This,ULARGE_INTEGER ulOffset,const void *pv,ULONG cb,ULONG *pcbWritten);
   4028       HRESULT (WINAPI *Flush)(ILockBytes *This);
   4029       HRESULT (WINAPI *SetSize)(ILockBytes *This,ULARGE_INTEGER cb);
   4030       HRESULT (WINAPI *LockRegion)(ILockBytes *This,ULARGE_INTEGER libOffset,ULARGE_INTEGER cb,DWORD dwLockType);
   4031       HRESULT (WINAPI *UnlockRegion)(ILockBytes *This,ULARGE_INTEGER libOffset,ULARGE_INTEGER cb,DWORD dwLockType);
   4032       HRESULT (WINAPI *Stat)(ILockBytes *This,STATSTG *pstatstg,DWORD grfStatFlag);
   4033     END_INTERFACE
   4034   } ILockBytesVtbl;
   4035   struct ILockBytes {
   4036     CONST_VTBL struct ILockBytesVtbl *lpVtbl;
   4037   };
   4038 #ifdef COBJMACROS
   4039 #define ILockBytes_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   4040 #define ILockBytes_AddRef(This) (This)->lpVtbl->AddRef(This)
   4041 #define ILockBytes_Release(This) (This)->lpVtbl->Release(This)
   4042 #define ILockBytes_ReadAt(This,ulOffset,pv,cb,pcbRead) (This)->lpVtbl->ReadAt(This,ulOffset,pv,cb,pcbRead)
   4043 #define ILockBytes_WriteAt(This,ulOffset,pv,cb,pcbWritten) (This)->lpVtbl->WriteAt(This,ulOffset,pv,cb,pcbWritten)
   4044 #define ILockBytes_Flush(This) (This)->lpVtbl->Flush(This)
   4045 #define ILockBytes_SetSize(This,cb) (This)->lpVtbl->SetSize(This,cb)
   4046 #define ILockBytes_LockRegion(This,libOffset,cb,dwLockType) (This)->lpVtbl->LockRegion(This,libOffset,cb,dwLockType)
   4047 #define ILockBytes_UnlockRegion(This,libOffset,cb,dwLockType) (This)->lpVtbl->UnlockRegion(This,libOffset,cb,dwLockType)
   4048 #define ILockBytes_Stat(This,pstatstg,grfStatFlag) (This)->lpVtbl->Stat(This,pstatstg,grfStatFlag)
   4049 #endif
   4050 #endif
   4051   HRESULT WINAPI ILockBytes_RemoteReadAt_Proxy(ILockBytes *This,ULARGE_INTEGER ulOffset,byte *pv,ULONG cb,ULONG *pcbRead);
   4052   void __RPC_STUB ILockBytes_RemoteReadAt_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4053   HRESULT WINAPI ILockBytes_RemoteWriteAt_Proxy(ILockBytes *This,ULARGE_INTEGER ulOffset,const byte *pv,ULONG cb,ULONG *pcbWritten);
   4054   void __RPC_STUB ILockBytes_RemoteWriteAt_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4055   HRESULT WINAPI ILockBytes_Flush_Proxy(ILockBytes *This);
   4056   void __RPC_STUB ILockBytes_Flush_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4057   HRESULT WINAPI ILockBytes_SetSize_Proxy(ILockBytes *This,ULARGE_INTEGER cb);
   4058   void __RPC_STUB ILockBytes_SetSize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4059   HRESULT WINAPI ILockBytes_LockRegion_Proxy(ILockBytes *This,ULARGE_INTEGER libOffset,ULARGE_INTEGER cb,DWORD dwLockType);
   4060   void __RPC_STUB ILockBytes_LockRegion_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4061   HRESULT WINAPI ILockBytes_UnlockRegion_Proxy(ILockBytes *This,ULARGE_INTEGER libOffset,ULARGE_INTEGER cb,DWORD dwLockType);
   4062   void __RPC_STUB ILockBytes_UnlockRegion_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4063   HRESULT WINAPI ILockBytes_Stat_Proxy(ILockBytes *This,STATSTG *pstatstg,DWORD grfStatFlag);
   4064   void __RPC_STUB ILockBytes_Stat_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4065 #endif
   4066 /*****************************************************************************
   4067  * IEnumFORMATETC interface
   4068  */
   4069 #ifndef __IEnumFORMATETC_INTERFACE_DEFINED__
   4070 #define __IEnumFORMATETC_INTERFACE_DEFINED__
   4071 
   4072 typedef IEnumFORMATETC *LPENUMFORMATETC;
   4073 typedef struct tagDVTARGETDEVICE {
   4074     DWORD tdSize;
   4075     WORD tdDriverNameOffset;
   4076     WORD tdDeviceNameOffset;
   4077     WORD tdPortNameOffset;
   4078     WORD tdExtDevmodeOffset;
   4079     BYTE tdData[1];
   4080 } DVTARGETDEVICE;
   4081 typedef CLIPFORMAT *LPCLIPFORMAT;
   4082 typedef struct tagFORMATETC {
   4083     CLIPFORMAT cfFormat;
   4084     DVTARGETDEVICE *ptd;
   4085     DWORD dwAspect;
   4086     LONG lindex;
   4087     DWORD tymed;
   4088 } FORMATETC;
   4089 typedef struct tagFORMATETC *LPFORMATETC;
   4090 DEFINE_GUID(IID_IEnumFORMATETC, 0x00000103, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
   4091 #if defined(__cplusplus) && !defined(CINTERFACE)
   4092 MIDL_INTERFACE("00000103-0000-0000-c000-000000000046")
   4093 IEnumFORMATETC : public IUnknown
   4094 {
   4095     virtual HRESULT STDMETHODCALLTYPE Next(
   4096         ULONG celt,
   4097         FORMATETC *rgelt,
   4098         ULONG *pceltFetched) = 0;
   4099 
   4100     virtual HRESULT STDMETHODCALLTYPE Skip(
   4101         ULONG celt) = 0;
   4102 
   4103     virtual HRESULT STDMETHODCALLTYPE Reset(
   4104         ) = 0;
   4105 
   4106     virtual HRESULT STDMETHODCALLTYPE Clone(
   4107         IEnumFORMATETC **ppenum) = 0;
   4108 
   4109 };
   4110 #ifdef __CRT_UUID_DECL
   4111 __CRT_UUID_DECL(IEnumFORMATETC, 0x00000103, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
   4112 #endif
   4113 #else
   4114 typedef struct IEnumFORMATETCVtbl {
   4115     BEGIN_INTERFACE
   4116 
   4117     /*** IUnknown methods ***/
   4118     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   4119         IEnumFORMATETC* This,
   4120         REFIID riid,
   4121         void **ppvObject);
   4122 
   4123     ULONG (STDMETHODCALLTYPE *AddRef)(
   4124         IEnumFORMATETC* This);
   4125 
   4126     ULONG (STDMETHODCALLTYPE *Release)(
   4127         IEnumFORMATETC* This);
   4128 
   4129     /*** IEnumFORMATETC methods ***/
   4130     HRESULT (STDMETHODCALLTYPE *Next)(
   4131         IEnumFORMATETC* This,
   4132         ULONG celt,
   4133         FORMATETC *rgelt,
   4134         ULONG *pceltFetched);
   4135 
   4136     HRESULT (STDMETHODCALLTYPE *Skip)(
   4137         IEnumFORMATETC* This,
   4138         ULONG celt);
   4139 
   4140     HRESULT (STDMETHODCALLTYPE *Reset)(
   4141         IEnumFORMATETC* This);
   4142 
   4143     HRESULT (STDMETHODCALLTYPE *Clone)(
   4144         IEnumFORMATETC* This,
   4145         IEnumFORMATETC **ppenum);
   4146 
   4147     END_INTERFACE
   4148 } IEnumFORMATETCVtbl;
   4149 interface IEnumFORMATETC {
   4150     CONST_VTBL IEnumFORMATETCVtbl* lpVtbl;
   4151 };
   4152 
   4153 #ifdef COBJMACROS
   4154 #ifndef WIDL_C_INLINE_WRAPPERS
   4155 /*** IUnknown methods ***/
   4156 #define IEnumFORMATETC_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   4157 #define IEnumFORMATETC_AddRef(This) (This)->lpVtbl->AddRef(This)
   4158 #define IEnumFORMATETC_Release(This) (This)->lpVtbl->Release(This)
   4159 /*** IEnumFORMATETC methods ***/
   4160 #define IEnumFORMATETC_Next(This,celt,rgelt,pceltFetched) (This)->lpVtbl->Next(This,celt,rgelt,pceltFetched)
   4161 #define IEnumFORMATETC_Skip(This,celt) (This)->lpVtbl->Skip(This,celt)
   4162 #define IEnumFORMATETC_Reset(This) (This)->lpVtbl->Reset(This)
   4163 #define IEnumFORMATETC_Clone(This,ppenum) (This)->lpVtbl->Clone(This,ppenum)
   4164 #else
   4165 /*** IUnknown methods ***/
   4166 static FORCEINLINE HRESULT IEnumFORMATETC_QueryInterface(IEnumFORMATETC* This,REFIID riid,void **ppvObject) {
   4167     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   4168 }
   4169 static FORCEINLINE ULONG IEnumFORMATETC_AddRef(IEnumFORMATETC* This) {
   4170     return This->lpVtbl->AddRef(This);
   4171 }
   4172 static FORCEINLINE ULONG IEnumFORMATETC_Release(IEnumFORMATETC* This) {
   4173     return This->lpVtbl->Release(This);
   4174 }
   4175 /*** IEnumFORMATETC methods ***/
   4176 static FORCEINLINE HRESULT IEnumFORMATETC_Next(IEnumFORMATETC* This,ULONG celt,FORMATETC *rgelt,ULONG *pceltFetched) {
   4177     return This->lpVtbl->Next(This,celt,rgelt,pceltFetched);
   4178 }
   4179 static FORCEINLINE HRESULT IEnumFORMATETC_Skip(IEnumFORMATETC* This,ULONG celt) {
   4180     return This->lpVtbl->Skip(This,celt);
   4181 }
   4182 static FORCEINLINE HRESULT IEnumFORMATETC_Reset(IEnumFORMATETC* This) {
   4183     return This->lpVtbl->Reset(This);
   4184 }
   4185 static FORCEINLINE HRESULT IEnumFORMATETC_Clone(IEnumFORMATETC* This,IEnumFORMATETC **ppenum) {
   4186     return This->lpVtbl->Clone(This,ppenum);
   4187 }
   4188 #endif
   4189 #endif
   4190 
   4191 #endif
   4192 
   4193 HRESULT STDMETHODCALLTYPE IEnumFORMATETC_RemoteNext_Proxy(
   4194     IEnumFORMATETC* This,
   4195     ULONG celt,
   4196     FORMATETC *rgelt,
   4197     ULONG *pceltFetched);
   4198 void __RPC_STUB IEnumFORMATETC_RemoteNext_Stub(
   4199     IRpcStubBuffer* This,
   4200     IRpcChannelBuffer* pRpcChannelBuffer,
   4201     PRPC_MESSAGE pRpcMessage,
   4202     DWORD* pdwStubPhase);
   4203 HRESULT STDMETHODCALLTYPE IEnumFORMATETC_Skip_Proxy(
   4204     IEnumFORMATETC* This,
   4205     ULONG celt);
   4206 void __RPC_STUB IEnumFORMATETC_Skip_Stub(
   4207     IRpcStubBuffer* This,
   4208     IRpcChannelBuffer* pRpcChannelBuffer,
   4209     PRPC_MESSAGE pRpcMessage,
   4210     DWORD* pdwStubPhase);
   4211 HRESULT STDMETHODCALLTYPE IEnumFORMATETC_Reset_Proxy(
   4212     IEnumFORMATETC* This);
   4213 void __RPC_STUB IEnumFORMATETC_Reset_Stub(
   4214     IRpcStubBuffer* This,
   4215     IRpcChannelBuffer* pRpcChannelBuffer,
   4216     PRPC_MESSAGE pRpcMessage,
   4217     DWORD* pdwStubPhase);
   4218 HRESULT STDMETHODCALLTYPE IEnumFORMATETC_Clone_Proxy(
   4219     IEnumFORMATETC* This,
   4220     IEnumFORMATETC **ppenum);
   4221 void __RPC_STUB IEnumFORMATETC_Clone_Stub(
   4222     IRpcStubBuffer* This,
   4223     IRpcChannelBuffer* pRpcChannelBuffer,
   4224     PRPC_MESSAGE pRpcMessage,
   4225     DWORD* pdwStubPhase);
   4226 HRESULT CALLBACK IEnumFORMATETC_Next_Proxy(
   4227     IEnumFORMATETC* This,
   4228     ULONG celt,
   4229     FORMATETC *rgelt,
   4230     ULONG *pceltFetched);
   4231 HRESULT __RPC_STUB IEnumFORMATETC_Next_Stub(
   4232     IEnumFORMATETC* This,
   4233     ULONG celt,
   4234     FORMATETC *rgelt,
   4235     ULONG *pceltFetched);
   4236 
   4237 #endif  /* __IEnumFORMATETC_INTERFACE_DEFINED__ */
   4238 
   4239 /*****************************************************************************
   4240  * IEnumSTATDATA interface
   4241  */
   4242 #ifndef __IEnumSTATDATA_INTERFACE_DEFINED__
   4243 #define __IEnumSTATDATA_INTERFACE_DEFINED__
   4244 
   4245 typedef IEnumSTATDATA *LPENUMSTATDATA;
   4246 typedef enum tagADVF {
   4247     ADVF_NODATA = 1,
   4248     ADVF_PRIMEFIRST = 2,
   4249     ADVF_ONLYONCE = 4,
   4250     ADVF_DATAONSTOP = 64,
   4251     ADVFCACHE_NOHANDLER = 8,
   4252     ADVFCACHE_FORCEBUILTIN = 16,
   4253     ADVFCACHE_ONSAVE = 32
   4254 } ADVF;
   4255 typedef struct tagSTATDATA {
   4256     FORMATETC formatetc;
   4257     DWORD advf;
   4258     IAdviseSink *pAdvSink;
   4259     DWORD dwConnection;
   4260 } STATDATA;
   4261 typedef STATDATA *LPSTATDATA;
   4262 DEFINE_GUID(IID_IEnumSTATDATA, 0x00000105, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
   4263 #if defined(__cplusplus) && !defined(CINTERFACE)
   4264 MIDL_INTERFACE("00000105-0000-0000-c000-000000000046")
   4265 IEnumSTATDATA : public IUnknown
   4266 {
   4267     virtual HRESULT STDMETHODCALLTYPE Next(
   4268         ULONG celt,
   4269         STATDATA *rgelt,
   4270         ULONG *pceltFetched) = 0;
   4271 
   4272     virtual HRESULT STDMETHODCALLTYPE Skip(
   4273         ULONG celt) = 0;
   4274 
   4275     virtual HRESULT STDMETHODCALLTYPE Reset(
   4276         ) = 0;
   4277 
   4278     virtual HRESULT STDMETHODCALLTYPE Clone(
   4279         IEnumSTATDATA **ppenum) = 0;
   4280 
   4281 };
   4282 #ifdef __CRT_UUID_DECL
   4283 __CRT_UUID_DECL(IEnumSTATDATA, 0x00000105, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
   4284 #endif
   4285 #else
   4286 typedef struct IEnumSTATDATAVtbl {
   4287     BEGIN_INTERFACE
   4288 
   4289     /*** IUnknown methods ***/
   4290     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   4291         IEnumSTATDATA* This,
   4292         REFIID riid,
   4293         void **ppvObject);
   4294 
   4295     ULONG (STDMETHODCALLTYPE *AddRef)(
   4296         IEnumSTATDATA* This);
   4297 
   4298     ULONG (STDMETHODCALLTYPE *Release)(
   4299         IEnumSTATDATA* This);
   4300 
   4301     /*** IEnumSTATDATA methods ***/
   4302     HRESULT (STDMETHODCALLTYPE *Next)(
   4303         IEnumSTATDATA* This,
   4304         ULONG celt,
   4305         STATDATA *rgelt,
   4306         ULONG *pceltFetched);
   4307 
   4308     HRESULT (STDMETHODCALLTYPE *Skip)(
   4309         IEnumSTATDATA* This,
   4310         ULONG celt);
   4311 
   4312     HRESULT (STDMETHODCALLTYPE *Reset)(
   4313         IEnumSTATDATA* This);
   4314 
   4315     HRESULT (STDMETHODCALLTYPE *Clone)(
   4316         IEnumSTATDATA* This,
   4317         IEnumSTATDATA **ppenum);
   4318 
   4319     END_INTERFACE
   4320 } IEnumSTATDATAVtbl;
   4321 interface IEnumSTATDATA {
   4322     CONST_VTBL IEnumSTATDATAVtbl* lpVtbl;
   4323 };
   4324 
   4325 #ifdef COBJMACROS
   4326 #ifndef WIDL_C_INLINE_WRAPPERS
   4327 /*** IUnknown methods ***/
   4328 #define IEnumSTATDATA_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   4329 #define IEnumSTATDATA_AddRef(This) (This)->lpVtbl->AddRef(This)
   4330 #define IEnumSTATDATA_Release(This) (This)->lpVtbl->Release(This)
   4331 /*** IEnumSTATDATA methods ***/
   4332 #define IEnumSTATDATA_Next(This,celt,rgelt,pceltFetched) (This)->lpVtbl->Next(This,celt,rgelt,pceltFetched)
   4333 #define IEnumSTATDATA_Skip(This,celt) (This)->lpVtbl->Skip(This,celt)
   4334 #define IEnumSTATDATA_Reset(This) (This)->lpVtbl->Reset(This)
   4335 #define IEnumSTATDATA_Clone(This,ppenum) (This)->lpVtbl->Clone(This,ppenum)
   4336 #else
   4337 /*** IUnknown methods ***/
   4338 static FORCEINLINE HRESULT IEnumSTATDATA_QueryInterface(IEnumSTATDATA* This,REFIID riid,void **ppvObject) {
   4339     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   4340 }
   4341 static FORCEINLINE ULONG IEnumSTATDATA_AddRef(IEnumSTATDATA* This) {
   4342     return This->lpVtbl->AddRef(This);
   4343 }
   4344 static FORCEINLINE ULONG IEnumSTATDATA_Release(IEnumSTATDATA* This) {
   4345     return This->lpVtbl->Release(This);
   4346 }
   4347 /*** IEnumSTATDATA methods ***/
   4348 static FORCEINLINE HRESULT IEnumSTATDATA_Next(IEnumSTATDATA* This,ULONG celt,STATDATA *rgelt,ULONG *pceltFetched) {
   4349     return This->lpVtbl->Next(This,celt,rgelt,pceltFetched);
   4350 }
   4351 static FORCEINLINE HRESULT IEnumSTATDATA_Skip(IEnumSTATDATA* This,ULONG celt) {
   4352     return This->lpVtbl->Skip(This,celt);
   4353 }
   4354 static FORCEINLINE HRESULT IEnumSTATDATA_Reset(IEnumSTATDATA* This) {
   4355     return This->lpVtbl->Reset(This);
   4356 }
   4357 static FORCEINLINE HRESULT IEnumSTATDATA_Clone(IEnumSTATDATA* This,IEnumSTATDATA **ppenum) {
   4358     return This->lpVtbl->Clone(This,ppenum);
   4359 }
   4360 #endif
   4361 #endif
   4362 
   4363 #endif
   4364 
   4365 HRESULT STDMETHODCALLTYPE IEnumSTATDATA_RemoteNext_Proxy(
   4366     IEnumSTATDATA* This,
   4367     ULONG celt,
   4368     STATDATA *rgelt,
   4369     ULONG *pceltFetched);
   4370 void __RPC_STUB IEnumSTATDATA_RemoteNext_Stub(
   4371     IRpcStubBuffer* This,
   4372     IRpcChannelBuffer* pRpcChannelBuffer,
   4373     PRPC_MESSAGE pRpcMessage,
   4374     DWORD* pdwStubPhase);
   4375 HRESULT STDMETHODCALLTYPE IEnumSTATDATA_Skip_Proxy(
   4376     IEnumSTATDATA* This,
   4377     ULONG celt);
   4378 void __RPC_STUB IEnumSTATDATA_Skip_Stub(
   4379     IRpcStubBuffer* This,
   4380     IRpcChannelBuffer* pRpcChannelBuffer,
   4381     PRPC_MESSAGE pRpcMessage,
   4382     DWORD* pdwStubPhase);
   4383 HRESULT STDMETHODCALLTYPE IEnumSTATDATA_Reset_Proxy(
   4384     IEnumSTATDATA* This);
   4385 void __RPC_STUB IEnumSTATDATA_Reset_Stub(
   4386     IRpcStubBuffer* This,
   4387     IRpcChannelBuffer* pRpcChannelBuffer,
   4388     PRPC_MESSAGE pRpcMessage,
   4389     DWORD* pdwStubPhase);
   4390 HRESULT STDMETHODCALLTYPE IEnumSTATDATA_Clone_Proxy(
   4391     IEnumSTATDATA* This,
   4392     IEnumSTATDATA **ppenum);
   4393 void __RPC_STUB IEnumSTATDATA_Clone_Stub(
   4394     IRpcStubBuffer* This,
   4395     IRpcChannelBuffer* pRpcChannelBuffer,
   4396     PRPC_MESSAGE pRpcMessage,
   4397     DWORD* pdwStubPhase);
   4398 HRESULT CALLBACK IEnumSTATDATA_Next_Proxy(
   4399     IEnumSTATDATA* This,
   4400     ULONG celt,
   4401     STATDATA *rgelt,
   4402     ULONG *pceltFetched);
   4403 HRESULT __RPC_STUB IEnumSTATDATA_Next_Stub(
   4404     IEnumSTATDATA* This,
   4405     ULONG celt,
   4406     STATDATA *rgelt,
   4407     ULONG *pceltFetched);
   4408 
   4409 #endif  /* __IEnumSTATDATA_INTERFACE_DEFINED__ */
   4410 
   4411 #ifndef __IRootStorage_INTERFACE_DEFINED__
   4412 #define __IRootStorage_INTERFACE_DEFINED__
   4413   typedef IRootStorage *LPROOTSTORAGE;
   4414 
   4415   EXTERN_C const IID IID_IRootStorage;
   4416 #if defined(__cplusplus) && !defined(CINTERFACE)
   4417   struct IRootStorage : public IUnknown {
   4418   public:
   4419     virtual HRESULT WINAPI SwitchToFile(LPOLESTR pszFile) = 0;
   4420   };
   4421 #else
   4422   typedef struct IRootStorageVtbl {
   4423     BEGIN_INTERFACE
   4424       HRESULT (WINAPI *QueryInterface)(IRootStorage *This,REFIID riid,void **ppvObject);
   4425       ULONG (WINAPI *AddRef)(IRootStorage *This);
   4426       ULONG (WINAPI *Release)(IRootStorage *This);
   4427       HRESULT (WINAPI *SwitchToFile)(IRootStorage *This,LPOLESTR pszFile);
   4428     END_INTERFACE
   4429   } IRootStorageVtbl;
   4430   struct IRootStorage {
   4431     CONST_VTBL struct IRootStorageVtbl *lpVtbl;
   4432   };
   4433 #ifdef COBJMACROS
   4434 #define IRootStorage_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   4435 #define IRootStorage_AddRef(This) (This)->lpVtbl->AddRef(This)
   4436 #define IRootStorage_Release(This) (This)->lpVtbl->Release(This)
   4437 #define IRootStorage_SwitchToFile(This,pszFile) (This)->lpVtbl->SwitchToFile(This,pszFile)
   4438 #endif
   4439 #endif
   4440   HRESULT WINAPI IRootStorage_SwitchToFile_Proxy(IRootStorage *This,LPOLESTR pszFile);
   4441   void __RPC_STUB IRootStorage_SwitchToFile_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4442 #endif
   4443 /*****************************************************************************
   4444  * IAdviseSink interface
   4445  */
   4446 #ifndef __IAdviseSink_INTERFACE_DEFINED__
   4447 #define __IAdviseSink_INTERFACE_DEFINED__
   4448 
   4449 typedef IAdviseSink *LPADVISESINK;
   4450 typedef enum tagTYMED {
   4451     TYMED_HGLOBAL = 1,
   4452     TYMED_FILE = 2,
   4453     TYMED_ISTREAM = 4,
   4454     TYMED_ISTORAGE = 8,
   4455     TYMED_GDI = 16,
   4456     TYMED_MFPICT = 32,
   4457     TYMED_ENHMF = 64,
   4458     TYMED_NULL = 0
   4459 } TYMED;
   4460 typedef struct tagRemSTGMEDIUM {
   4461     DWORD tymed;
   4462     DWORD dwHandleType;
   4463     ULONG pData;
   4464     ULONG pUnkForRelease;
   4465     ULONG cbData;
   4466     byte data[1];
   4467 } RemSTGMEDIUM;
   4468 #if 0
   4469 typedef struct tagSTGMEDIUM {
   4470     DWORD tymed;
   4471     union {
   4472         HBITMAP hBitmap;
   4473         HMETAFILEPICT hMetaFilePict;
   4474         HENHMETAFILE hEnhMetaFile;
   4475         HGLOBAL hGlobal;
   4476         LPOLESTR lpszFileName;
   4477         IStream *pstm;
   4478         IStorage *pstg;
   4479     } DUMMYUNIONNAME;
   4480     IUnknown *pUnkForRelease;
   4481 } uSTGMEDIUM;
   4482 #else
   4483   typedef struct tagSTGMEDIUM {
   4484     DWORD tymed;
   4485     __C89_NAMELESS union {
   4486       HBITMAP hBitmap;
   4487       HMETAFILEPICT hMetaFilePict;
   4488       HENHMETAFILE hEnhMetaFile;
   4489       HGLOBAL hGlobal;
   4490       LPOLESTR lpszFileName;
   4491       IStream *pstm;
   4492       IStorage *pstg;
   4493     } DUMMYUNIONNAME;
   4494     IUnknown *pUnkForRelease;
   4495   } uSTGMEDIUM;
   4496 #endif
   4497 typedef struct _GDI_OBJECT {
   4498     DWORD ObjectType;
   4499     union {
   4500         wireHBITMAP hBitmap;
   4501         wireHPALETTE hPalette;
   4502         wireHGLOBAL hGeneric;
   4503     } u;
   4504 } GDI_OBJECT;
   4505 #if 0
   4506 typedef struct _userSTGMEDIUM {
   4507     struct _STGMEDIUM_UNION {
   4508         DWORD tymed;
   4509         union {
   4510             wireHMETAFILEPICT hMetaFilePict;
   4511             wireHENHMETAFILE hHEnhMetaFile;
   4512             GDI_OBJECT *hGdiHandle;
   4513             wireHGLOBAL hGlobal;
   4514             LPOLESTR lpszFileName;
   4515             BYTE_BLOB *pstm;
   4516             BYTE_BLOB *pstg;
   4517         } u;
   4518     } DUMMYUNIONNAME;
   4519     IUnknown *pUnkForRelease;
   4520 } userSTGMEDIUM;
   4521 #else
   4522 typedef struct _userSTGMEDIUM {
   4523     __C89_NAMELESS struct _STGMEDIUM_UNION {
   4524         DWORD tymed;
   4525         union {
   4526             wireHMETAFILEPICT hMetaFilePict;
   4527             wireHENHMETAFILE hHEnhMetaFile;
   4528             GDI_OBJECT *hGdiHandle;
   4529             wireHGLOBAL hGlobal;
   4530             LPOLESTR lpszFileName;
   4531             BYTE_BLOB *pstm;
   4532             BYTE_BLOB *pstg;
   4533         } u;
   4534     } DUMMYUNIONNAME;
   4535     IUnknown *pUnkForRelease;
   4536 } userSTGMEDIUM;
   4537 #endif
   4538 typedef userSTGMEDIUM *wireSTGMEDIUM;
   4539 typedef uSTGMEDIUM STGMEDIUM;
   4540 typedef userSTGMEDIUM *wireASYNC_STGMEDIUM;
   4541 typedef STGMEDIUM ASYNC_STGMEDIUM;
   4542 typedef STGMEDIUM *LPSTGMEDIUM;
   4543 typedef struct _userFLAG_STGMEDIUM {
   4544     LONG ContextFlags;
   4545     LONG fPassOwnership;
   4546     userSTGMEDIUM Stgmed;
   4547 } userFLAG_STGMEDIUM;
   4548 typedef userFLAG_STGMEDIUM *wireFLAG_STGMEDIUM;
   4549 typedef struct _FLAG_STGMEDIUM {
   4550     LONG ContextFlags;
   4551     LONG fPassOwnership;
   4552     STGMEDIUM Stgmed;
   4553 } FLAG_STGMEDIUM;
   4554 DEFINE_GUID(IID_IAdviseSink, 0x0000010f, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
   4555 #if defined(__cplusplus) && !defined(CINTERFACE)
   4556 MIDL_INTERFACE("0000010f-0000-0000-c000-000000000046")
   4557 IAdviseSink : public IUnknown
   4558 {
   4559     virtual void STDMETHODCALLTYPE OnDataChange(
   4560         FORMATETC *pFormatetc,
   4561         STGMEDIUM *pStgmed) = 0;
   4562 
   4563     virtual void STDMETHODCALLTYPE OnViewChange(
   4564         DWORD dwAspect,
   4565         LONG lindex) = 0;
   4566 
   4567     virtual void STDMETHODCALLTYPE OnRename(
   4568         IMoniker *pmk) = 0;
   4569 
   4570     virtual void STDMETHODCALLTYPE OnSave(
   4571         ) = 0;
   4572 
   4573     virtual void STDMETHODCALLTYPE OnClose(
   4574         ) = 0;
   4575 
   4576 };
   4577 #ifdef __CRT_UUID_DECL
   4578 __CRT_UUID_DECL(IAdviseSink, 0x0000010f, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
   4579 #endif
   4580 #else
   4581 typedef struct IAdviseSinkVtbl {
   4582     BEGIN_INTERFACE
   4583 
   4584     /*** IUnknown methods ***/
   4585     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   4586         IAdviseSink* This,
   4587         REFIID riid,
   4588         void **ppvObject);
   4589 
   4590     ULONG (STDMETHODCALLTYPE *AddRef)(
   4591         IAdviseSink* This);
   4592 
   4593     ULONG (STDMETHODCALLTYPE *Release)(
   4594         IAdviseSink* This);
   4595 
   4596     /*** IAdviseSink methods ***/
   4597     void (STDMETHODCALLTYPE *OnDataChange)(
   4598         IAdviseSink* This,
   4599         FORMATETC *pFormatetc,
   4600         STGMEDIUM *pStgmed);
   4601 
   4602     void (STDMETHODCALLTYPE *OnViewChange)(
   4603         IAdviseSink* This,
   4604         DWORD dwAspect,
   4605         LONG lindex);
   4606 
   4607     void (STDMETHODCALLTYPE *OnRename)(
   4608         IAdviseSink* This,
   4609         IMoniker *pmk);
   4610 
   4611     void (STDMETHODCALLTYPE *OnSave)(
   4612         IAdviseSink* This);
   4613 
   4614     void (STDMETHODCALLTYPE *OnClose)(
   4615         IAdviseSink* This);
   4616 
   4617     END_INTERFACE
   4618 } IAdviseSinkVtbl;
   4619 interface IAdviseSink {
   4620     CONST_VTBL IAdviseSinkVtbl* lpVtbl;
   4621 };
   4622 
   4623 #ifdef COBJMACROS
   4624 #ifndef WIDL_C_INLINE_WRAPPERS
   4625 /*** IUnknown methods ***/
   4626 #define IAdviseSink_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   4627 #define IAdviseSink_AddRef(This) (This)->lpVtbl->AddRef(This)
   4628 #define IAdviseSink_Release(This) (This)->lpVtbl->Release(This)
   4629 /*** IAdviseSink methods ***/
   4630 #define IAdviseSink_OnDataChange(This,pFormatetc,pStgmed) (This)->lpVtbl->OnDataChange(This,pFormatetc,pStgmed)
   4631 #define IAdviseSink_OnViewChange(This,dwAspect,lindex) (This)->lpVtbl->OnViewChange(This,dwAspect,lindex)
   4632 #define IAdviseSink_OnRename(This,pmk) (This)->lpVtbl->OnRename(This,pmk)
   4633 #define IAdviseSink_OnSave(This) (This)->lpVtbl->OnSave(This)
   4634 #define IAdviseSink_OnClose(This) (This)->lpVtbl->OnClose(This)
   4635 #else
   4636 /*** IUnknown methods ***/
   4637 static FORCEINLINE HRESULT IAdviseSink_QueryInterface(IAdviseSink* This,REFIID riid,void **ppvObject) {
   4638     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   4639 }
   4640 static FORCEINLINE ULONG IAdviseSink_AddRef(IAdviseSink* This) {
   4641     return This->lpVtbl->AddRef(This);
   4642 }
   4643 static FORCEINLINE ULONG IAdviseSink_Release(IAdviseSink* This) {
   4644     return This->lpVtbl->Release(This);
   4645 }
   4646 /*** IAdviseSink methods ***/
   4647 static FORCEINLINE void IAdviseSink_OnDataChange(IAdviseSink* This,FORMATETC *pFormatetc,STGMEDIUM *pStgmed) {
   4648     This->lpVtbl->OnDataChange(This,pFormatetc,pStgmed);
   4649 }
   4650 static FORCEINLINE void IAdviseSink_OnViewChange(IAdviseSink* This,DWORD dwAspect,LONG lindex) {
   4651     This->lpVtbl->OnViewChange(This,dwAspect,lindex);
   4652 }
   4653 static FORCEINLINE void IAdviseSink_OnRename(IAdviseSink* This,IMoniker *pmk) {
   4654     This->lpVtbl->OnRename(This,pmk);
   4655 }
   4656 static FORCEINLINE void IAdviseSink_OnSave(IAdviseSink* This) {
   4657     This->lpVtbl->OnSave(This);
   4658 }
   4659 static FORCEINLINE void IAdviseSink_OnClose(IAdviseSink* This) {
   4660     This->lpVtbl->OnClose(This);
   4661 }
   4662 #endif
   4663 #endif
   4664 
   4665 #endif
   4666 
   4667 HRESULT STDMETHODCALLTYPE IAdviseSink_RemoteOnDataChange_Proxy(
   4668     IAdviseSink* This,
   4669     FORMATETC *pFormatetc,
   4670     ASYNC_STGMEDIUM *pStgmed);
   4671 void __RPC_STUB IAdviseSink_RemoteOnDataChange_Stub(
   4672     IRpcStubBuffer* This,
   4673     IRpcChannelBuffer* pRpcChannelBuffer,
   4674     PRPC_MESSAGE pRpcMessage,
   4675     DWORD* pdwStubPhase);
   4676 HRESULT STDMETHODCALLTYPE IAdviseSink_RemoteOnViewChange_Proxy(
   4677     IAdviseSink* This,
   4678     DWORD dwAspect,
   4679     LONG lindex);
   4680 void __RPC_STUB IAdviseSink_RemoteOnViewChange_Stub(
   4681     IRpcStubBuffer* This,
   4682     IRpcChannelBuffer* pRpcChannelBuffer,
   4683     PRPC_MESSAGE pRpcMessage,
   4684     DWORD* pdwStubPhase);
   4685 HRESULT STDMETHODCALLTYPE IAdviseSink_RemoteOnRename_Proxy(
   4686     IAdviseSink* This,
   4687     IMoniker *pmk);
   4688 void __RPC_STUB IAdviseSink_RemoteOnRename_Stub(
   4689     IRpcStubBuffer* This,
   4690     IRpcChannelBuffer* pRpcChannelBuffer,
   4691     PRPC_MESSAGE pRpcMessage,
   4692     DWORD* pdwStubPhase);
   4693 HRESULT STDMETHODCALLTYPE IAdviseSink_RemoteOnSave_Proxy(
   4694     IAdviseSink* This);
   4695 void __RPC_STUB IAdviseSink_RemoteOnSave_Stub(
   4696     IRpcStubBuffer* This,
   4697     IRpcChannelBuffer* pRpcChannelBuffer,
   4698     PRPC_MESSAGE pRpcMessage,
   4699     DWORD* pdwStubPhase);
   4700 HRESULT STDMETHODCALLTYPE IAdviseSink_RemoteOnClose_Proxy(
   4701     IAdviseSink* This);
   4702 void __RPC_STUB IAdviseSink_RemoteOnClose_Stub(
   4703     IRpcStubBuffer* This,
   4704     IRpcChannelBuffer* pRpcChannelBuffer,
   4705     PRPC_MESSAGE pRpcMessage,
   4706     DWORD* pdwStubPhase);
   4707 void CALLBACK IAdviseSink_OnDataChange_Proxy(
   4708     IAdviseSink* This,
   4709     FORMATETC *pFormatetc,
   4710     STGMEDIUM *pStgmed);
   4711 HRESULT __RPC_STUB IAdviseSink_OnDataChange_Stub(
   4712     IAdviseSink* This,
   4713     FORMATETC *pFormatetc,
   4714     ASYNC_STGMEDIUM *pStgmed);
   4715 void CALLBACK IAdviseSink_OnViewChange_Proxy(
   4716     IAdviseSink* This,
   4717     DWORD dwAspect,
   4718     LONG lindex);
   4719 HRESULT __RPC_STUB IAdviseSink_OnViewChange_Stub(
   4720     IAdviseSink* This,
   4721     DWORD dwAspect,
   4722     LONG lindex);
   4723 void CALLBACK IAdviseSink_OnRename_Proxy(
   4724     IAdviseSink* This,
   4725     IMoniker *pmk);
   4726 HRESULT __RPC_STUB IAdviseSink_OnRename_Stub(
   4727     IAdviseSink* This,
   4728     IMoniker *pmk);
   4729 void CALLBACK IAdviseSink_OnSave_Proxy(
   4730     IAdviseSink* This);
   4731 HRESULT __RPC_STUB IAdviseSink_OnSave_Stub(
   4732     IAdviseSink* This);
   4733 void CALLBACK IAdviseSink_OnClose_Proxy(
   4734     IAdviseSink* This);
   4735 HRESULT __RPC_STUB IAdviseSink_OnClose_Stub(
   4736     IAdviseSink* This);
   4737 
   4738 #endif  /* __IAdviseSink_INTERFACE_DEFINED__ */
   4739 
   4740 #ifndef __AsyncIAdviseSink_INTERFACE_DEFINED__
   4741 #define __AsyncIAdviseSink_INTERFACE_DEFINED__
   4742   EXTERN_C const IID IID_AsyncIAdviseSink;
   4743 #if defined(__cplusplus) && !defined(CINTERFACE)
   4744   struct AsyncIAdviseSink : public IUnknown {
   4745   public:
   4746     virtual void WINAPI Begin_OnDataChange(FORMATETC *pFormatetc,STGMEDIUM *pStgmed) = 0;
   4747     virtual void WINAPI Finish_OnDataChange(void) = 0;
   4748     virtual void WINAPI Begin_OnViewChange(DWORD dwAspect,LONG lindex) = 0;
   4749     virtual void WINAPI Finish_OnViewChange(void) = 0;
   4750     virtual void WINAPI Begin_OnRename(IMoniker *pmk) = 0;
   4751     virtual void WINAPI Finish_OnRename(void) = 0;
   4752     virtual void WINAPI Begin_OnSave(void) = 0;
   4753     virtual void WINAPI Finish_OnSave(void) = 0;
   4754     virtual void WINAPI Begin_OnClose(void) = 0;
   4755     virtual void WINAPI Finish_OnClose(void) = 0;
   4756   };
   4757 #else
   4758   typedef struct AsyncIAdviseSinkVtbl {
   4759     BEGIN_INTERFACE
   4760       HRESULT (WINAPI *QueryInterface)(AsyncIAdviseSink *This,REFIID riid,void **ppvObject);
   4761       ULONG (WINAPI *AddRef)(AsyncIAdviseSink *This);
   4762       ULONG (WINAPI *Release)(AsyncIAdviseSink *This);
   4763       void (WINAPI *Begin_OnDataChange)(AsyncIAdviseSink *This,FORMATETC *pFormatetc,STGMEDIUM *pStgmed);
   4764       void (WINAPI *Finish_OnDataChange)(AsyncIAdviseSink *This);
   4765       void (WINAPI *Begin_OnViewChange)(AsyncIAdviseSink *This,DWORD dwAspect,LONG lindex);
   4766       void (WINAPI *Finish_OnViewChange)(AsyncIAdviseSink *This);
   4767       void (WINAPI *Begin_OnRename)(AsyncIAdviseSink *This,IMoniker *pmk);
   4768       void (WINAPI *Finish_OnRename)(AsyncIAdviseSink *This);
   4769       void (WINAPI *Begin_OnSave)(AsyncIAdviseSink *This);
   4770       void (WINAPI *Finish_OnSave)(AsyncIAdviseSink *This);
   4771       void (WINAPI *Begin_OnClose)(AsyncIAdviseSink *This);
   4772       void (WINAPI *Finish_OnClose)(AsyncIAdviseSink *This);
   4773     END_INTERFACE
   4774   } AsyncIAdviseSinkVtbl;
   4775   struct AsyncIAdviseSink {
   4776     CONST_VTBL struct AsyncIAdviseSinkVtbl *lpVtbl;
   4777   };
   4778 #ifdef COBJMACROS
   4779 #define AsyncIAdviseSink_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   4780 #define AsyncIAdviseSink_AddRef(This) (This)->lpVtbl->AddRef(This)
   4781 #define AsyncIAdviseSink_Release(This) (This)->lpVtbl->Release(This)
   4782 #define AsyncIAdviseSink_Begin_OnDataChange(This,pFormatetc,pStgmed) (This)->lpVtbl->Begin_OnDataChange(This,pFormatetc,pStgmed)
   4783 #define AsyncIAdviseSink_Finish_OnDataChange(This) (This)->lpVtbl->Finish_OnDataChange(This)
   4784 #define AsyncIAdviseSink_Begin_OnViewChange(This,dwAspect,lindex) (This)->lpVtbl->Begin_OnViewChange(This,dwAspect,lindex)
   4785 #define AsyncIAdviseSink_Finish_OnViewChange(This) (This)->lpVtbl->Finish_OnViewChange(This)
   4786 #define AsyncIAdviseSink_Begin_OnRename(This,pmk) (This)->lpVtbl->Begin_OnRename(This,pmk)
   4787 #define AsyncIAdviseSink_Finish_OnRename(This) (This)->lpVtbl->Finish_OnRename(This)
   4788 #define AsyncIAdviseSink_Begin_OnSave(This) (This)->lpVtbl->Begin_OnSave(This)
   4789 #define AsyncIAdviseSink_Finish_OnSave(This) (This)->lpVtbl->Finish_OnSave(This)
   4790 #define AsyncIAdviseSink_Begin_OnClose(This) (This)->lpVtbl->Begin_OnClose(This)
   4791 #define AsyncIAdviseSink_Finish_OnClose(This) (This)->lpVtbl->Finish_OnClose(This)
   4792 #endif
   4793 #endif
   4794   HRESULT WINAPI AsyncIAdviseSink_Begin_RemoteOnDataChange_Proxy(AsyncIAdviseSink *This,FORMATETC *pFormatetc,ASYNC_STGMEDIUM *pStgmed);
   4795   void __RPC_STUB AsyncIAdviseSink_Begin_RemoteOnDataChange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4796   HRESULT WINAPI AsyncIAdviseSink_Finish_RemoteOnDataChange_Proxy(AsyncIAdviseSink *This);
   4797   void __RPC_STUB AsyncIAdviseSink_Finish_RemoteOnDataChange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4798   HRESULT WINAPI AsyncIAdviseSink_Begin_RemoteOnViewChange_Proxy(AsyncIAdviseSink *This,DWORD dwAspect,LONG lindex);
   4799   void __RPC_STUB AsyncIAdviseSink_Begin_RemoteOnViewChange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4800   HRESULT WINAPI AsyncIAdviseSink_Finish_RemoteOnViewChange_Proxy(AsyncIAdviseSink *This);
   4801   void __RPC_STUB AsyncIAdviseSink_Finish_RemoteOnViewChange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4802   HRESULT WINAPI AsyncIAdviseSink_Begin_RemoteOnRename_Proxy(AsyncIAdviseSink *This,IMoniker *pmk);
   4803   void __RPC_STUB AsyncIAdviseSink_Begin_RemoteOnRename_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4804   HRESULT WINAPI AsyncIAdviseSink_Finish_RemoteOnRename_Proxy(AsyncIAdviseSink *This);
   4805   void __RPC_STUB AsyncIAdviseSink_Finish_RemoteOnRename_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4806   HRESULT WINAPI AsyncIAdviseSink_Begin_RemoteOnSave_Proxy(AsyncIAdviseSink *This);
   4807   void __RPC_STUB AsyncIAdviseSink_Begin_RemoteOnSave_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4808   HRESULT WINAPI AsyncIAdviseSink_Finish_RemoteOnSave_Proxy(AsyncIAdviseSink *This);
   4809   void __RPC_STUB AsyncIAdviseSink_Finish_RemoteOnSave_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4810   HRESULT WINAPI AsyncIAdviseSink_Begin_RemoteOnClose_Proxy(AsyncIAdviseSink *This);
   4811   void __RPC_STUB AsyncIAdviseSink_Begin_RemoteOnClose_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4812   HRESULT WINAPI AsyncIAdviseSink_Finish_RemoteOnClose_Proxy(AsyncIAdviseSink *This);
   4813   void __RPC_STUB AsyncIAdviseSink_Finish_RemoteOnClose_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4814 #endif
   4815 
   4816 #ifndef __IAdviseSink2_INTERFACE_DEFINED__
   4817 #define __IAdviseSink2_INTERFACE_DEFINED__
   4818   typedef IAdviseSink2 *LPADVISESINK2;
   4819 
   4820   EXTERN_C const IID IID_IAdviseSink2;
   4821 #if defined(__cplusplus) && !defined(CINTERFACE)
   4822   struct IAdviseSink2 : public IAdviseSink {
   4823   public:
   4824     virtual void WINAPI OnLinkSrcChange(IMoniker *pmk) = 0;
   4825   };
   4826 #else
   4827   typedef struct IAdviseSink2Vtbl {
   4828     BEGIN_INTERFACE
   4829       HRESULT (WINAPI *QueryInterface)(IAdviseSink2 *This,REFIID riid,void **ppvObject);
   4830       ULONG (WINAPI *AddRef)(IAdviseSink2 *This);
   4831       ULONG (WINAPI *Release)(IAdviseSink2 *This);
   4832       void (WINAPI *OnDataChange)(IAdviseSink2 *This,FORMATETC *pFormatetc,STGMEDIUM *pStgmed);
   4833       void (WINAPI *OnViewChange)(IAdviseSink2 *This,DWORD dwAspect,LONG lindex);
   4834       void (WINAPI *OnRename)(IAdviseSink2 *This,IMoniker *pmk);
   4835       void (WINAPI *OnSave)(IAdviseSink2 *This);
   4836       void (WINAPI *OnClose)(IAdviseSink2 *This);
   4837       void (WINAPI *OnLinkSrcChange)(IAdviseSink2 *This,IMoniker *pmk);
   4838     END_INTERFACE
   4839   } IAdviseSink2Vtbl;
   4840   struct IAdviseSink2 {
   4841     CONST_VTBL struct IAdviseSink2Vtbl *lpVtbl;
   4842   };
   4843 #ifdef COBJMACROS
   4844 #define IAdviseSink2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   4845 #define IAdviseSink2_AddRef(This) (This)->lpVtbl->AddRef(This)
   4846 #define IAdviseSink2_Release(This) (This)->lpVtbl->Release(This)
   4847 #define IAdviseSink2_OnDataChange(This,pFormatetc,pStgmed) (This)->lpVtbl->OnDataChange(This,pFormatetc,pStgmed)
   4848 #define IAdviseSink2_OnViewChange(This,dwAspect,lindex) (This)->lpVtbl->OnViewChange(This,dwAspect,lindex)
   4849 #define IAdviseSink2_OnRename(This,pmk) (This)->lpVtbl->OnRename(This,pmk)
   4850 #define IAdviseSink2_OnSave(This) (This)->lpVtbl->OnSave(This)
   4851 #define IAdviseSink2_OnClose(This) (This)->lpVtbl->OnClose(This)
   4852 #define IAdviseSink2_OnLinkSrcChange(This,pmk) (This)->lpVtbl->OnLinkSrcChange(This,pmk)
   4853 #endif
   4854 #endif
   4855   HRESULT WINAPI IAdviseSink2_RemoteOnLinkSrcChange_Proxy(IAdviseSink2 *This,IMoniker *pmk);
   4856   void __RPC_STUB IAdviseSink2_RemoteOnLinkSrcChange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4857 #endif
   4858 
   4859 #ifndef __AsyncIAdviseSink2_INTERFACE_DEFINED__
   4860 #define __AsyncIAdviseSink2_INTERFACE_DEFINED__
   4861   EXTERN_C const IID IID_AsyncIAdviseSink2;
   4862 #if defined(__cplusplus) && !defined(CINTERFACE)
   4863   struct AsyncIAdviseSink2 : public AsyncIAdviseSink {
   4864   public:
   4865     virtual void WINAPI Begin_OnLinkSrcChange(IMoniker *pmk) = 0;
   4866     virtual void WINAPI Finish_OnLinkSrcChange(void) = 0;
   4867   };
   4868 #else
   4869   typedef struct AsyncIAdviseSink2Vtbl {
   4870     BEGIN_INTERFACE
   4871       HRESULT (WINAPI *QueryInterface)(AsyncIAdviseSink2 *This,REFIID riid,void **ppvObject);
   4872       ULONG (WINAPI *AddRef)(AsyncIAdviseSink2 *This);
   4873       ULONG (WINAPI *Release)(AsyncIAdviseSink2 *This);
   4874       void (WINAPI *Begin_OnDataChange)(AsyncIAdviseSink2 *This,FORMATETC *pFormatetc,STGMEDIUM *pStgmed);
   4875       void (WINAPI *Finish_OnDataChange)(AsyncIAdviseSink2 *This);
   4876       void (WINAPI *Begin_OnViewChange)(AsyncIAdviseSink2 *This,DWORD dwAspect,LONG lindex);
   4877       void (WINAPI *Finish_OnViewChange)(AsyncIAdviseSink2 *This);
   4878       void (WINAPI *Begin_OnRename)(AsyncIAdviseSink2 *This,IMoniker *pmk);
   4879       void (WINAPI *Finish_OnRename)(AsyncIAdviseSink2 *This);
   4880       void (WINAPI *Begin_OnSave)(AsyncIAdviseSink2 *This);
   4881       void (WINAPI *Finish_OnSave)(AsyncIAdviseSink2 *This);
   4882       void (WINAPI *Begin_OnClose)(AsyncIAdviseSink2 *This);
   4883       void (WINAPI *Finish_OnClose)(AsyncIAdviseSink2 *This);
   4884       void (WINAPI *Begin_OnLinkSrcChange)(AsyncIAdviseSink2 *This,IMoniker *pmk);
   4885       void (WINAPI *Finish_OnLinkSrcChange)(AsyncIAdviseSink2 *This);
   4886     END_INTERFACE
   4887   } AsyncIAdviseSink2Vtbl;
   4888   struct AsyncIAdviseSink2 {
   4889     CONST_VTBL struct AsyncIAdviseSink2Vtbl *lpVtbl;
   4890   };
   4891 #ifdef COBJMACROS
   4892 #define AsyncIAdviseSink2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   4893 #define AsyncIAdviseSink2_AddRef(This) (This)->lpVtbl->AddRef(This)
   4894 #define AsyncIAdviseSink2_Release(This) (This)->lpVtbl->Release(This)
   4895 #define AsyncIAdviseSink2_Begin_OnDataChange(This,pFormatetc,pStgmed) (This)->lpVtbl->Begin_OnDataChange(This,pFormatetc,pStgmed)
   4896 #define AsyncIAdviseSink2_Finish_OnDataChange(This) (This)->lpVtbl->Finish_OnDataChange(This)
   4897 #define AsyncIAdviseSink2_Begin_OnViewChange(This,dwAspect,lindex) (This)->lpVtbl->Begin_OnViewChange(This,dwAspect,lindex)
   4898 #define AsyncIAdviseSink2_Finish_OnViewChange(This) (This)->lpVtbl->Finish_OnViewChange(This)
   4899 #define AsyncIAdviseSink2_Begin_OnRename(This,pmk) (This)->lpVtbl->Begin_OnRename(This,pmk)
   4900 #define AsyncIAdviseSink2_Finish_OnRename(This) (This)->lpVtbl->Finish_OnRename(This)
   4901 #define AsyncIAdviseSink2_Begin_OnSave(This) (This)->lpVtbl->Begin_OnSave(This)
   4902 #define AsyncIAdviseSink2_Finish_OnSave(This) (This)->lpVtbl->Finish_OnSave(This)
   4903 #define AsyncIAdviseSink2_Begin_OnClose(This) (This)->lpVtbl->Begin_OnClose(This)
   4904 #define AsyncIAdviseSink2_Finish_OnClose(This) (This)->lpVtbl->Finish_OnClose(This)
   4905 #define AsyncIAdviseSink2_Begin_OnLinkSrcChange(This,pmk) (This)->lpVtbl->Begin_OnLinkSrcChange(This,pmk)
   4906 #define AsyncIAdviseSink2_Finish_OnLinkSrcChange(This) (This)->lpVtbl->Finish_OnLinkSrcChange(This)
   4907 #endif
   4908 #endif
   4909   HRESULT WINAPI AsyncIAdviseSink2_Begin_RemoteOnLinkSrcChange_Proxy(AsyncIAdviseSink2 *This,IMoniker *pmk);
   4910   void __RPC_STUB AsyncIAdviseSink2_Begin_RemoteOnLinkSrcChange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4911   HRESULT WINAPI AsyncIAdviseSink2_Finish_RemoteOnLinkSrcChange_Proxy(AsyncIAdviseSink2 *This);
   4912   void __RPC_STUB AsyncIAdviseSink2_Finish_RemoteOnLinkSrcChange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4913 #endif
   4914 /*****************************************************************************
   4915  * IDataObject interface
   4916  */
   4917 #ifndef __IDataObject_INTERFACE_DEFINED__
   4918 #define __IDataObject_INTERFACE_DEFINED__
   4919 
   4920 typedef IDataObject *LPDATAOBJECT;
   4921 typedef enum tagDATADIR {
   4922     DATADIR_GET = 1,
   4923     DATADIR_SET = 2
   4924 } DATADIR;
   4925 DEFINE_GUID(IID_IDataObject, 0x0000010e, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
   4926 #if defined(__cplusplus) && !defined(CINTERFACE)
   4927 MIDL_INTERFACE("0000010e-0000-0000-c000-000000000046")
   4928 IDataObject : public IUnknown
   4929 {
   4930     virtual HRESULT STDMETHODCALLTYPE GetData(
   4931         FORMATETC *pformatetcIn,
   4932         STGMEDIUM *pmedium) = 0;
   4933 
   4934     virtual HRESULT STDMETHODCALLTYPE GetDataHere(
   4935         FORMATETC *pformatetc,
   4936         STGMEDIUM *pmedium) = 0;
   4937 
   4938     virtual HRESULT STDMETHODCALLTYPE QueryGetData(
   4939         FORMATETC *pformatetc) = 0;
   4940 
   4941     virtual HRESULT STDMETHODCALLTYPE GetCanonicalFormatEtc(
   4942         FORMATETC *pformatectIn,
   4943         FORMATETC *pformatetcOut) = 0;
   4944 
   4945     virtual HRESULT STDMETHODCALLTYPE SetData(
   4946         FORMATETC *pformatetc,
   4947         STGMEDIUM *pmedium,
   4948         WINBOOL fRelease) = 0;
   4949 
   4950     virtual HRESULT STDMETHODCALLTYPE EnumFormatEtc(
   4951         DWORD dwDirection,
   4952         IEnumFORMATETC **ppenumFormatEtc) = 0;
   4953 
   4954     virtual HRESULT STDMETHODCALLTYPE DAdvise(
   4955         FORMATETC *pformatetc,
   4956         DWORD advf,
   4957         IAdviseSink *pAdvSink,
   4958         DWORD *pdwConnection) = 0;
   4959 
   4960     virtual HRESULT STDMETHODCALLTYPE DUnadvise(
   4961         DWORD dwConnection) = 0;
   4962 
   4963     virtual HRESULT STDMETHODCALLTYPE EnumDAdvise(
   4964         IEnumSTATDATA **ppenumAdvise) = 0;
   4965 
   4966 };
   4967 #ifdef __CRT_UUID_DECL
   4968 __CRT_UUID_DECL(IDataObject, 0x0000010e, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
   4969 #endif
   4970 #else
   4971 typedef struct IDataObjectVtbl {
   4972     BEGIN_INTERFACE
   4973 
   4974     /*** IUnknown methods ***/
   4975     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   4976         IDataObject* This,
   4977         REFIID riid,
   4978         void **ppvObject);
   4979 
   4980     ULONG (STDMETHODCALLTYPE *AddRef)(
   4981         IDataObject* This);
   4982 
   4983     ULONG (STDMETHODCALLTYPE *Release)(
   4984         IDataObject* This);
   4985 
   4986     /*** IDataObject methods ***/
   4987     HRESULT (STDMETHODCALLTYPE *GetData)(
   4988         IDataObject* This,
   4989         FORMATETC *pformatetcIn,
   4990         STGMEDIUM *pmedium);
   4991 
   4992     HRESULT (STDMETHODCALLTYPE *GetDataHere)(
   4993         IDataObject* This,
   4994         FORMATETC *pformatetc,
   4995         STGMEDIUM *pmedium);
   4996 
   4997     HRESULT (STDMETHODCALLTYPE *QueryGetData)(
   4998         IDataObject* This,
   4999         FORMATETC *pformatetc);
   5000 
   5001     HRESULT (STDMETHODCALLTYPE *GetCanonicalFormatEtc)(
   5002         IDataObject* This,
   5003         FORMATETC *pformatectIn,
   5004         FORMATETC *pformatetcOut);
   5005 
   5006     HRESULT (STDMETHODCALLTYPE *SetData)(
   5007         IDataObject* This,
   5008         FORMATETC *pformatetc,
   5009         STGMEDIUM *pmedium,
   5010         WINBOOL fRelease);
   5011 
   5012     HRESULT (STDMETHODCALLTYPE *EnumFormatEtc)(
   5013         IDataObject* This,
   5014         DWORD dwDirection,
   5015         IEnumFORMATETC **ppenumFormatEtc);
   5016 
   5017     HRESULT (STDMETHODCALLTYPE *DAdvise)(
   5018         IDataObject* This,
   5019         FORMATETC *pformatetc,
   5020         DWORD advf,
   5021         IAdviseSink *pAdvSink,
   5022         DWORD *pdwConnection);
   5023 
   5024     HRESULT (STDMETHODCALLTYPE *DUnadvise)(
   5025         IDataObject* This,
   5026         DWORD dwConnection);
   5027 
   5028     HRESULT (STDMETHODCALLTYPE *EnumDAdvise)(
   5029         IDataObject* This,
   5030         IEnumSTATDATA **ppenumAdvise);
   5031 
   5032     END_INTERFACE
   5033 } IDataObjectVtbl;
   5034 interface IDataObject {
   5035     CONST_VTBL IDataObjectVtbl* lpVtbl;
   5036 };
   5037 
   5038 #ifdef COBJMACROS
   5039 #ifndef WIDL_C_INLINE_WRAPPERS
   5040 /*** IUnknown methods ***/
   5041 #define IDataObject_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   5042 #define IDataObject_AddRef(This) (This)->lpVtbl->AddRef(This)
   5043 #define IDataObject_Release(This) (This)->lpVtbl->Release(This)
   5044 /*** IDataObject methods ***/
   5045 #define IDataObject_GetData(This,pformatetcIn,pmedium) (This)->lpVtbl->GetData(This,pformatetcIn,pmedium)
   5046 #define IDataObject_GetDataHere(This,pformatetc,pmedium) (This)->lpVtbl->GetDataHere(This,pformatetc,pmedium)
   5047 #define IDataObject_QueryGetData(This,pformatetc) (This)->lpVtbl->QueryGetData(This,pformatetc)
   5048 #define IDataObject_GetCanonicalFormatEtc(This,pformatectIn,pformatetcOut) (This)->lpVtbl->GetCanonicalFormatEtc(This,pformatectIn,pformatetcOut)
   5049 #define IDataObject_SetData(This,pformatetc,pmedium,fRelease) (This)->lpVtbl->SetData(This,pformatetc,pmedium,fRelease)
   5050 #define IDataObject_EnumFormatEtc(This,dwDirection,ppenumFormatEtc) (This)->lpVtbl->EnumFormatEtc(This,dwDirection,ppenumFormatEtc)
   5051 #define IDataObject_DAdvise(This,pformatetc,advf,pAdvSink,pdwConnection) (This)->lpVtbl->DAdvise(This,pformatetc,advf,pAdvSink,pdwConnection)
   5052 #define IDataObject_DUnadvise(This,dwConnection) (This)->lpVtbl->DUnadvise(This,dwConnection)
   5053 #define IDataObject_EnumDAdvise(This,ppenumAdvise) (This)->lpVtbl->EnumDAdvise(This,ppenumAdvise)
   5054 #else
   5055 /*** IUnknown methods ***/
   5056 static FORCEINLINE HRESULT IDataObject_QueryInterface(IDataObject* This,REFIID riid,void **ppvObject) {
   5057     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   5058 }
   5059 static FORCEINLINE ULONG IDataObject_AddRef(IDataObject* This) {
   5060     return This->lpVtbl->AddRef(This);
   5061 }
   5062 static FORCEINLINE ULONG IDataObject_Release(IDataObject* This) {
   5063     return This->lpVtbl->Release(This);
   5064 }
   5065 /*** IDataObject methods ***/
   5066 static FORCEINLINE HRESULT IDataObject_GetData(IDataObject* This,FORMATETC *pformatetcIn,STGMEDIUM *pmedium) {
   5067     return This->lpVtbl->GetData(This,pformatetcIn,pmedium);
   5068 }
   5069 static FORCEINLINE HRESULT IDataObject_GetDataHere(IDataObject* This,FORMATETC *pformatetc,STGMEDIUM *pmedium) {
   5070     return This->lpVtbl->GetDataHere(This,pformatetc,pmedium);
   5071 }
   5072 static FORCEINLINE HRESULT IDataObject_QueryGetData(IDataObject* This,FORMATETC *pformatetc) {
   5073     return This->lpVtbl->QueryGetData(This,pformatetc);
   5074 }
   5075 static FORCEINLINE HRESULT IDataObject_GetCanonicalFormatEtc(IDataObject* This,FORMATETC *pformatectIn,FORMATETC *pformatetcOut) {
   5076     return This->lpVtbl->GetCanonicalFormatEtc(This,pformatectIn,pformatetcOut);
   5077 }
   5078 static FORCEINLINE HRESULT IDataObject_SetData(IDataObject* This,FORMATETC *pformatetc,STGMEDIUM *pmedium,WINBOOL fRelease) {
   5079     return This->lpVtbl->SetData(This,pformatetc,pmedium,fRelease);
   5080 }
   5081 static FORCEINLINE HRESULT IDataObject_EnumFormatEtc(IDataObject* This,DWORD dwDirection,IEnumFORMATETC **ppenumFormatEtc) {
   5082     return This->lpVtbl->EnumFormatEtc(This,dwDirection,ppenumFormatEtc);
   5083 }
   5084 static FORCEINLINE HRESULT IDataObject_DAdvise(IDataObject* This,FORMATETC *pformatetc,DWORD advf,IAdviseSink *pAdvSink,DWORD *pdwConnection) {
   5085     return This->lpVtbl->DAdvise(This,pformatetc,advf,pAdvSink,pdwConnection);
   5086 }
   5087 static FORCEINLINE HRESULT IDataObject_DUnadvise(IDataObject* This,DWORD dwConnection) {
   5088     return This->lpVtbl->DUnadvise(This,dwConnection);
   5089 }
   5090 static FORCEINLINE HRESULT IDataObject_EnumDAdvise(IDataObject* This,IEnumSTATDATA **ppenumAdvise) {
   5091     return This->lpVtbl->EnumDAdvise(This,ppenumAdvise);
   5092 }
   5093 #endif
   5094 #endif
   5095 
   5096 #endif
   5097 
   5098 HRESULT STDMETHODCALLTYPE IDataObject_RemoteGetData_Proxy(
   5099     IDataObject* This,
   5100     FORMATETC *pformatetcIn,
   5101     STGMEDIUM *pRemoteMedium);
   5102 void __RPC_STUB IDataObject_RemoteGetData_Stub(
   5103     IRpcStubBuffer* This,
   5104     IRpcChannelBuffer* pRpcChannelBuffer,
   5105     PRPC_MESSAGE pRpcMessage,
   5106     DWORD* pdwStubPhase);
   5107 HRESULT STDMETHODCALLTYPE IDataObject_RemoteGetDataHere_Proxy(
   5108     IDataObject* This,
   5109     FORMATETC *pformatetc,
   5110     STGMEDIUM *pRemoteMedium);
   5111 void __RPC_STUB IDataObject_RemoteGetDataHere_Stub(
   5112     IRpcStubBuffer* This,
   5113     IRpcChannelBuffer* pRpcChannelBuffer,
   5114     PRPC_MESSAGE pRpcMessage,
   5115     DWORD* pdwStubPhase);
   5116 HRESULT STDMETHODCALLTYPE IDataObject_QueryGetData_Proxy(
   5117     IDataObject* This,
   5118     FORMATETC *pformatetc);
   5119 void __RPC_STUB IDataObject_QueryGetData_Stub(
   5120     IRpcStubBuffer* This,
   5121     IRpcChannelBuffer* pRpcChannelBuffer,
   5122     PRPC_MESSAGE pRpcMessage,
   5123     DWORD* pdwStubPhase);
   5124 HRESULT STDMETHODCALLTYPE IDataObject_GetCanonicalFormatEtc_Proxy(
   5125     IDataObject* This,
   5126     FORMATETC *pformatectIn,
   5127     FORMATETC *pformatetcOut);
   5128 void __RPC_STUB IDataObject_GetCanonicalFormatEtc_Stub(
   5129     IRpcStubBuffer* This,
   5130     IRpcChannelBuffer* pRpcChannelBuffer,
   5131     PRPC_MESSAGE pRpcMessage,
   5132     DWORD* pdwStubPhase);
   5133 HRESULT STDMETHODCALLTYPE IDataObject_RemoteSetData_Proxy(
   5134     IDataObject* This,
   5135     FORMATETC *pformatetc,
   5136     FLAG_STGMEDIUM *pmedium,
   5137     WINBOOL fRelease);
   5138 void __RPC_STUB IDataObject_RemoteSetData_Stub(
   5139     IRpcStubBuffer* This,
   5140     IRpcChannelBuffer* pRpcChannelBuffer,
   5141     PRPC_MESSAGE pRpcMessage,
   5142     DWORD* pdwStubPhase);
   5143 HRESULT STDMETHODCALLTYPE IDataObject_EnumFormatEtc_Proxy(
   5144     IDataObject* This,
   5145     DWORD dwDirection,
   5146     IEnumFORMATETC **ppenumFormatEtc);
   5147 void __RPC_STUB IDataObject_EnumFormatEtc_Stub(
   5148     IRpcStubBuffer* This,
   5149     IRpcChannelBuffer* pRpcChannelBuffer,
   5150     PRPC_MESSAGE pRpcMessage,
   5151     DWORD* pdwStubPhase);
   5152 HRESULT STDMETHODCALLTYPE IDataObject_DAdvise_Proxy(
   5153     IDataObject* This,
   5154     FORMATETC *pformatetc,
   5155     DWORD advf,
   5156     IAdviseSink *pAdvSink,
   5157     DWORD *pdwConnection);
   5158 void __RPC_STUB IDataObject_DAdvise_Stub(
   5159     IRpcStubBuffer* This,
   5160     IRpcChannelBuffer* pRpcChannelBuffer,
   5161     PRPC_MESSAGE pRpcMessage,
   5162     DWORD* pdwStubPhase);
   5163 HRESULT STDMETHODCALLTYPE IDataObject_DUnadvise_Proxy(
   5164     IDataObject* This,
   5165     DWORD dwConnection);
   5166 void __RPC_STUB IDataObject_DUnadvise_Stub(
   5167     IRpcStubBuffer* This,
   5168     IRpcChannelBuffer* pRpcChannelBuffer,
   5169     PRPC_MESSAGE pRpcMessage,
   5170     DWORD* pdwStubPhase);
   5171 HRESULT STDMETHODCALLTYPE IDataObject_EnumDAdvise_Proxy(
   5172     IDataObject* This,
   5173     IEnumSTATDATA **ppenumAdvise);
   5174 void __RPC_STUB IDataObject_EnumDAdvise_Stub(
   5175     IRpcStubBuffer* This,
   5176     IRpcChannelBuffer* pRpcChannelBuffer,
   5177     PRPC_MESSAGE pRpcMessage,
   5178     DWORD* pdwStubPhase);
   5179 HRESULT CALLBACK IDataObject_GetData_Proxy(
   5180     IDataObject* This,
   5181     FORMATETC *pformatetcIn,
   5182     STGMEDIUM *pmedium);
   5183 HRESULT __RPC_STUB IDataObject_GetData_Stub(
   5184     IDataObject* This,
   5185     FORMATETC *pformatetcIn,
   5186     STGMEDIUM *pRemoteMedium);
   5187 HRESULT CALLBACK IDataObject_GetDataHere_Proxy(
   5188     IDataObject* This,
   5189     FORMATETC *pformatetc,
   5190     STGMEDIUM *pmedium);
   5191 HRESULT __RPC_STUB IDataObject_GetDataHere_Stub(
   5192     IDataObject* This,
   5193     FORMATETC *pformatetc,
   5194     STGMEDIUM *pRemoteMedium);
   5195 HRESULT CALLBACK IDataObject_SetData_Proxy(
   5196     IDataObject* This,
   5197     FORMATETC *pformatetc,
   5198     STGMEDIUM *pmedium,
   5199     WINBOOL fRelease);
   5200 HRESULT __RPC_STUB IDataObject_SetData_Stub(
   5201     IDataObject* This,
   5202     FORMATETC *pformatetc,
   5203     FLAG_STGMEDIUM *pmedium,
   5204     WINBOOL fRelease);
   5205 
   5206 #endif  /* __IDataObject_INTERFACE_DEFINED__ */
   5207 
   5208 #ifndef __IDataAdviseHolder_INTERFACE_DEFINED__
   5209 #define __IDataAdviseHolder_INTERFACE_DEFINED__
   5210   typedef IDataAdviseHolder *LPDATAADVISEHOLDER;
   5211   EXTERN_C const IID IID_IDataAdviseHolder;
   5212 #if defined(__cplusplus) && !defined(CINTERFACE)
   5213   struct IDataAdviseHolder : public IUnknown {
   5214   public:
   5215     virtual HRESULT WINAPI Advise(IDataObject *pDataObject,FORMATETC *pFetc,DWORD advf,IAdviseSink *pAdvise,DWORD *pdwConnection) = 0;
   5216     virtual HRESULT WINAPI Unadvise(DWORD dwConnection) = 0;
   5217     virtual HRESULT WINAPI EnumAdvise(IEnumSTATDATA **ppenumAdvise) = 0;
   5218     virtual HRESULT WINAPI SendOnDataChange(IDataObject *pDataObject,DWORD dwReserved,DWORD advf) = 0;
   5219   };
   5220 #else
   5221   typedef struct IDataAdviseHolderVtbl {
   5222     BEGIN_INTERFACE
   5223       HRESULT (WINAPI *QueryInterface)(IDataAdviseHolder *This,REFIID riid,void **ppvObject);
   5224       ULONG (WINAPI *AddRef)(IDataAdviseHolder *This);
   5225       ULONG (WINAPI *Release)(IDataAdviseHolder *This);
   5226       HRESULT (WINAPI *Advise)(IDataAdviseHolder *This,IDataObject *pDataObject,FORMATETC *pFetc,DWORD advf,IAdviseSink *pAdvise,DWORD *pdwConnection);
   5227       HRESULT (WINAPI *Unadvise)(IDataAdviseHolder *This,DWORD dwConnection);
   5228       HRESULT (WINAPI *EnumAdvise)(IDataAdviseHolder *This,IEnumSTATDATA **ppenumAdvise);
   5229       HRESULT (WINAPI *SendOnDataChange)(IDataAdviseHolder *This,IDataObject *pDataObject,DWORD dwReserved,DWORD advf);
   5230     END_INTERFACE
   5231   } IDataAdviseHolderVtbl;
   5232   struct IDataAdviseHolder {
   5233     CONST_VTBL struct IDataAdviseHolderVtbl *lpVtbl;
   5234   };
   5235 #ifdef COBJMACROS
   5236 #define IDataAdviseHolder_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   5237 #define IDataAdviseHolder_AddRef(This) (This)->lpVtbl->AddRef(This)
   5238 #define IDataAdviseHolder_Release(This) (This)->lpVtbl->Release(This)
   5239 #define IDataAdviseHolder_Advise(This,pDataObject,pFetc,advf,pAdvise,pdwConnection) (This)->lpVtbl->Advise(This,pDataObject,pFetc,advf,pAdvise,pdwConnection)
   5240 #define IDataAdviseHolder_Unadvise(This,dwConnection) (This)->lpVtbl->Unadvise(This,dwConnection)
   5241 #define IDataAdviseHolder_EnumAdvise(This,ppenumAdvise) (This)->lpVtbl->EnumAdvise(This,ppenumAdvise)
   5242 #define IDataAdviseHolder_SendOnDataChange(This,pDataObject,dwReserved,advf) (This)->lpVtbl->SendOnDataChange(This,pDataObject,dwReserved,advf)
   5243 #endif
   5244 #endif
   5245   HRESULT WINAPI IDataAdviseHolder_Advise_Proxy(IDataAdviseHolder *This,IDataObject *pDataObject,FORMATETC *pFetc,DWORD advf,IAdviseSink *pAdvise,DWORD *pdwConnection);
   5246   void __RPC_STUB IDataAdviseHolder_Advise_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   5247   HRESULT WINAPI IDataAdviseHolder_Unadvise_Proxy(IDataAdviseHolder *This,DWORD dwConnection);
   5248   void __RPC_STUB IDataAdviseHolder_Unadvise_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   5249   HRESULT WINAPI IDataAdviseHolder_EnumAdvise_Proxy(IDataAdviseHolder *This,IEnumSTATDATA **ppenumAdvise);
   5250   void __RPC_STUB IDataAdviseHolder_EnumAdvise_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   5251   HRESULT WINAPI IDataAdviseHolder_SendOnDataChange_Proxy(IDataAdviseHolder *This,IDataObject *pDataObject,DWORD dwReserved,DWORD advf);
   5252   void __RPC_STUB IDataAdviseHolder_SendOnDataChange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   5253 #endif
   5254 
   5255 #ifndef __IMessageFilter_INTERFACE_DEFINED__
   5256 #define __IMessageFilter_INTERFACE_DEFINED__
   5257   typedef IMessageFilter *LPMESSAGEFILTER;
   5258 
   5259   typedef enum tagCALLTYPE {
   5260     CALLTYPE_TOPLEVEL = 1,CALLTYPE_NESTED = 2,CALLTYPE_ASYNC = 3,CALLTYPE_TOPLEVEL_CALLPENDING = 4,CALLTYPE_ASYNC_CALLPENDING = 5
   5261   } CALLTYPE;
   5262 
   5263   typedef enum tagSERVERCALL {
   5264     SERVERCALL_ISHANDLED = 0,SERVERCALL_REJECTED = 1,SERVERCALL_RETRYLATER = 2
   5265   } SERVERCALL;
   5266 
   5267   typedef enum tagPENDINGTYPE {
   5268     PENDINGTYPE_TOPLEVEL = 1,PENDINGTYPE_NESTED = 2
   5269   } PENDINGTYPE;
   5270 
   5271   typedef enum tagPENDINGMSG {
   5272     PENDINGMSG_CANCELCALL = 0,PENDINGMSG_WAITNOPROCESS = 1,PENDINGMSG_WAITDEFPROCESS = 2
   5273   } PENDINGMSG;
   5274 
   5275   typedef struct tagINTERFACEINFO {
   5276     IUnknown *pUnk;
   5277     IID iid;
   5278     WORD wMethod;
   5279   } INTERFACEINFO;
   5280 
   5281   typedef struct tagINTERFACEINFO *LPINTERFACEINFO;
   5282 
   5283   EXTERN_C const IID IID_IMessageFilter;
   5284 #if defined(__cplusplus) && !defined(CINTERFACE)
   5285   struct IMessageFilter : public IUnknown {
   5286   public:
   5287     virtual DWORD WINAPI HandleInComingCall(DWORD dwCallType,HTASK htaskCaller,DWORD dwTickCount,LPINTERFACEINFO lpInterfaceInfo) = 0;
   5288     virtual DWORD WINAPI RetryRejectedCall(HTASK htaskCallee,DWORD dwTickCount,DWORD dwRejectType) = 0;
   5289     virtual DWORD WINAPI MessagePending(HTASK htaskCallee,DWORD dwTickCount,DWORD dwPendingType) = 0;
   5290   };
   5291 #else
   5292   typedef struct IMessageFilterVtbl {
   5293     BEGIN_INTERFACE
   5294       HRESULT (WINAPI *QueryInterface)(IMessageFilter *This,REFIID riid,void **ppvObject);
   5295       ULONG (WINAPI *AddRef)(IMessageFilter *This);
   5296       ULONG (WINAPI *Release)(IMessageFilter *This);
   5297       DWORD (WINAPI *HandleInComingCall)(IMessageFilter *This,DWORD dwCallType,HTASK htaskCaller,DWORD dwTickCount,LPINTERFACEINFO lpInterfaceInfo);
   5298       DWORD (WINAPI *RetryRejectedCall)(IMessageFilter *This,HTASK htaskCallee,DWORD dwTickCount,DWORD dwRejectType);
   5299       DWORD (WINAPI *MessagePending)(IMessageFilter *This,HTASK htaskCallee,DWORD dwTickCount,DWORD dwPendingType);
   5300     END_INTERFACE
   5301   } IMessageFilterVtbl;
   5302   struct IMessageFilter {
   5303     CONST_VTBL struct IMessageFilterVtbl *lpVtbl;
   5304   };
   5305 #ifdef COBJMACROS
   5306 #define IMessageFilter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   5307 #define IMessageFilter_AddRef(This) (This)->lpVtbl->AddRef(This)
   5308 #define IMessageFilter_Release(This) (This)->lpVtbl->Release(This)
   5309 #define IMessageFilter_HandleInComingCall(This,dwCallType,htaskCaller,dwTickCount,lpInterfaceInfo) (This)->lpVtbl->HandleInComingCall(This,dwCallType,htaskCaller,dwTickCount,lpInterfaceInfo)
   5310 #define IMessageFilter_RetryRejectedCall(This,htaskCallee,dwTickCount,dwRejectType) (This)->lpVtbl->RetryRejectedCall(This,htaskCallee,dwTickCount,dwRejectType)
   5311 #define IMessageFilter_MessagePending(This,htaskCallee,dwTickCount,dwPendingType) (This)->lpVtbl->MessagePending(This,htaskCallee,dwTickCount,dwPendingType)
   5312 #endif
   5313 #endif
   5314   DWORD WINAPI IMessageFilter_HandleInComingCall_Proxy(IMessageFilter *This,DWORD dwCallType,HTASK htaskCaller,DWORD dwTickCount,LPINTERFACEINFO lpInterfaceInfo);
   5315   void __RPC_STUB IMessageFilter_HandleInComingCall_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   5316   DWORD WINAPI IMessageFilter_RetryRejectedCall_Proxy(IMessageFilter *This,HTASK htaskCallee,DWORD dwTickCount,DWORD dwRejectType);
   5317   void __RPC_STUB IMessageFilter_RetryRejectedCall_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   5318   DWORD WINAPI IMessageFilter_MessagePending_Proxy(IMessageFilter *This,HTASK htaskCallee,DWORD dwTickCount,DWORD dwPendingType);
   5319   void __RPC_STUB IMessageFilter_MessagePending_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   5320 #endif
   5321 
   5322 #ifndef __IRpcChannelBuffer_INTERFACE_DEFINED__
   5323 #define __IRpcChannelBuffer_INTERFACE_DEFINED__
   5324   typedef ULONG RPCOLEDATAREP;
   5325 
   5326   typedef struct tagRPCOLEMESSAGE {
   5327     void *reserved1;
   5328     RPCOLEDATAREP dataRepresentation;
   5329     void *Buffer;
   5330     ULONG cbBuffer;
   5331     ULONG iMethod;
   5332     void *reserved2[5 ];
   5333     ULONG rpcFlags;
   5334   } RPCOLEMESSAGE;
   5335 
   5336   typedef RPCOLEMESSAGE *PRPCOLEMESSAGE;
   5337 
   5338   EXTERN_C const IID IID_IRpcChannelBuffer;
   5339 #if defined(__cplusplus) && !defined(CINTERFACE)
   5340   struct IRpcChannelBuffer : public IUnknown {
   5341   public:
   5342     virtual HRESULT WINAPI GetBuffer(RPCOLEMESSAGE *pMessage,REFIID riid) = 0;
   5343     virtual HRESULT WINAPI SendReceive(RPCOLEMESSAGE *pMessage,ULONG *pStatus) = 0;
   5344     virtual HRESULT WINAPI FreeBuffer(RPCOLEMESSAGE *pMessage) = 0;
   5345     virtual HRESULT WINAPI GetDestCtx(DWORD *pdwDestContext,void **ppvDestContext) = 0;
   5346     virtual HRESULT WINAPI IsConnected(void) = 0;
   5347   };
   5348 #else
   5349   typedef struct IRpcChannelBufferVtbl {
   5350     BEGIN_INTERFACE
   5351       HRESULT (WINAPI *QueryInterface)(IRpcChannelBuffer *This,REFIID riid,void **ppvObject);
   5352       ULONG (WINAPI *AddRef)(IRpcChannelBuffer *This);
   5353       ULONG (WINAPI *Release)(IRpcChannelBuffer *This);
   5354       HRESULT (WINAPI *GetBuffer)(IRpcChannelBuffer *This,RPCOLEMESSAGE *pMessage,REFIID riid);
   5355       HRESULT (WINAPI *SendReceive)(IRpcChannelBuffer *This,RPCOLEMESSAGE *pMessage,ULONG *pStatus);
   5356       HRESULT (WINAPI *FreeBuffer)(IRpcChannelBuffer *This,RPCOLEMESSAGE *pMessage);
   5357       HRESULT (WINAPI *GetDestCtx)(IRpcChannelBuffer *This,DWORD *pdwDestContext,void **ppvDestContext);
   5358       HRESULT (WINAPI *IsConnected)(IRpcChannelBuffer *This);
   5359     END_INTERFACE
   5360   } IRpcChannelBufferVtbl;
   5361   struct IRpcChannelBuffer {
   5362     CONST_VTBL struct IRpcChannelBufferVtbl *lpVtbl;
   5363   };
   5364 #ifdef COBJMACROS
   5365 #define IRpcChannelBuffer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   5366 #define IRpcChannelBuffer_AddRef(This) (This)->lpVtbl->AddRef(This)
   5367 #define IRpcChannelBuffer_Release(This) (This)->lpVtbl->Release(This)
   5368 #define IRpcChannelBuffer_GetBuffer(This,pMessage,riid) (This)->lpVtbl->GetBuffer(This,pMessage,riid)
   5369 #define IRpcChannelBuffer_SendReceive(This,pMessage,pStatus) (This)->lpVtbl->SendReceive(This,pMessage,pStatus)
   5370 #define IRpcChannelBuffer_FreeBuffer(This,pMessage) (This)->lpVtbl->FreeBuffer(This,pMessage)
   5371 #define IRpcChannelBuffer_GetDestCtx(This,pdwDestContext,ppvDestContext) (This)->lpVtbl->GetDestCtx(This,pdwDestContext,ppvDestContext)
   5372 #define IRpcChannelBuffer_IsConnected(This) (This)->lpVtbl->IsConnected(This)
   5373 #endif
   5374 #endif
   5375   HRESULT WINAPI IRpcChannelBuffer_GetBuffer_Proxy(IRpcChannelBuffer *This,RPCOLEMESSAGE *pMessage,REFIID riid);
   5376   void __RPC_STUB IRpcChannelBuffer_GetBuffer_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   5377   HRESULT WINAPI IRpcChannelBuffer_SendReceive_Proxy(IRpcChannelBuffer *This,RPCOLEMESSAGE *pMessage,ULONG *pStatus);
   5378   void __RPC_STUB IRpcChannelBuffer_SendReceive_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   5379   HRESULT WINAPI IRpcChannelBuffer_FreeBuffer_Proxy(IRpcChannelBuffer *This,RPCOLEMESSAGE *pMessage);
   5380   void __RPC_STUB IRpcChannelBuffer_FreeBuffer_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   5381   HRESULT WINAPI IRpcChannelBuffer_GetDestCtx_Proxy(IRpcChannelBuffer *This,DWORD *pdwDestContext,void **ppvDestContext);
   5382   void __RPC_STUB IRpcChannelBuffer_GetDestCtx_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   5383   HRESULT WINAPI IRpcChannelBuffer_IsConnected_Proxy(IRpcChannelBuffer *This);
   5384   void __RPC_STUB IRpcChannelBuffer_IsConnected_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   5385 #endif
   5386 
   5387 #ifndef __IRpcChannelBuffer2_INTERFACE_DEFINED__
   5388 #define __IRpcChannelBuffer2_INTERFACE_DEFINED__
   5389   EXTERN_C const IID IID_IRpcChannelBuffer2;
   5390 #if defined(__cplusplus) && !defined(CINTERFACE)
   5391   struct IRpcChannelBuffer2 : public IRpcChannelBuffer {
   5392   public:
   5393     virtual HRESULT WINAPI GetProtocolVersion(DWORD *pdwVersion) = 0;
   5394   };
   5395 #else
   5396   typedef struct IRpcChannelBuffer2Vtbl {
   5397     BEGIN_INTERFACE
   5398       HRESULT (WINAPI *QueryInterface)(IRpcChannelBuffer2 *This,REFIID riid,void **ppvObject);
   5399       ULONG (WINAPI *AddRef)(IRpcChannelBuffer2 *This);
   5400       ULONG (WINAPI *Release)(IRpcChannelBuffer2 *This);
   5401       HRESULT (WINAPI *GetBuffer)(IRpcChannelBuffer2 *This,RPCOLEMESSAGE *pMessage,REFIID riid);
   5402       HRESULT (WINAPI *SendReceive)(IRpcChannelBuffer2 *This,RPCOLEMESSAGE *pMessage,ULONG *pStatus);
   5403       HRESULT (WINAPI *FreeBuffer)(IRpcChannelBuffer2 *This,RPCOLEMESSAGE *pMessage);
   5404       HRESULT (WINAPI *GetDestCtx)(IRpcChannelBuffer2 *This,DWORD *pdwDestContext,void **ppvDestContext);
   5405       HRESULT (WINAPI *IsConnected)(IRpcChannelBuffer2 *This);
   5406       HRESULT (WINAPI *GetProtocolVersion)(IRpcChannelBuffer2 *This,DWORD *pdwVersion);
   5407     END_INTERFACE
   5408   } IRpcChannelBuffer2Vtbl;
   5409   struct IRpcChannelBuffer2 {
   5410     CONST_VTBL struct IRpcChannelBuffer2Vtbl *lpVtbl;
   5411   };
   5412 #ifdef COBJMACROS
   5413 #define IRpcChannelBuffer2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   5414 #define IRpcChannelBuffer2_AddRef(This) (This)->lpVtbl->AddRef(This)
   5415 #define IRpcChannelBuffer2_Release(This) (This)->lpVtbl->Release(This)
   5416 #define IRpcChannelBuffer2_GetBuffer(This,pMessage,riid) (This)->lpVtbl->GetBuffer(This,pMessage,riid)
   5417 #define IRpcChannelBuffer2_SendReceive(This,pMessage,pStatus) (This)->lpVtbl->SendReceive(This,pMessage,pStatus)
   5418 #define IRpcChannelBuffer2_FreeBuffer(This,pMessage) (This)->lpVtbl->FreeBuffer(This,pMessage)
   5419 #define IRpcChannelBuffer2_GetDestCtx(This,pdwDestContext,ppvDestContext) (This)->lpVtbl->GetDestCtx(This,pdwDestContext,ppvDestContext)
   5420 #define IRpcChannelBuffer2_IsConnected(This) (This)->lpVtbl->IsConnected(This)
   5421 #define IRpcChannelBuffer2_GetProtocolVersion(This,pdwVersion) (This)->lpVtbl->GetProtocolVersion(This,pdwVersion)
   5422 #endif
   5423 #endif
   5424   HRESULT WINAPI IRpcChannelBuffer2_GetProtocolVersion_Proxy(IRpcChannelBuffer2 *This,DWORD *pdwVersion);
   5425   void __RPC_STUB IRpcChannelBuffer2_GetProtocolVersion_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   5426 #endif
   5427 
   5428 #ifndef __IAsyncRpcChannelBuffer_INTERFACE_DEFINED__
   5429 #define __IAsyncRpcChannelBuffer_INTERFACE_DEFINED__
   5430   EXTERN_C const IID IID_IAsyncRpcChannelBuffer;
   5431 #if defined(__cplusplus) && !defined(CINTERFACE)
   5432   struct IAsyncRpcChannelBuffer : public IRpcChannelBuffer2 {
   5433   public:
   5434     virtual HRESULT WINAPI Send(RPCOLEMESSAGE *pMsg,ISynchronize *pSync,ULONG *pulStatus) = 0;
   5435     virtual HRESULT WINAPI Receive(RPCOLEMESSAGE *pMsg,ULONG *pulStatus) = 0;
   5436     virtual HRESULT WINAPI GetDestCtxEx(RPCOLEMESSAGE *pMsg,DWORD *pdwDestContext,void **ppvDestContext) = 0;
   5437   };
   5438 #else
   5439   typedef struct IAsyncRpcChannelBufferVtbl {
   5440     BEGIN_INTERFACE
   5441       HRESULT (WINAPI *QueryInterface)(IAsyncRpcChannelBuffer *This,REFIID riid,void **ppvObject);
   5442       ULONG (WINAPI *AddRef)(IAsyncRpcChannelBuffer *This);
   5443       ULONG (WINAPI *Release)(IAsyncRpcChannelBuffer *This);
   5444       HRESULT (WINAPI *GetBuffer)(IAsyncRpcChannelBuffer *This,RPCOLEMESSAGE *pMessage,REFIID riid);
   5445       HRESULT (WINAPI *SendReceive)(IAsyncRpcChannelBuffer *This,RPCOLEMESSAGE *pMessage,ULONG *pStatus);
   5446       HRESULT (WINAPI *FreeBuffer)(IAsyncRpcChannelBuffer *This,RPCOLEMESSAGE *pMessage);
   5447       HRESULT (WINAPI *GetDestCtx)(IAsyncRpcChannelBuffer *This,DWORD *pdwDestContext,void **ppvDestContext);
   5448       HRESULT (WINAPI *IsConnected)(IAsyncRpcChannelBuffer *This);
   5449       HRESULT (WINAPI *GetProtocolVersion)(IAsyncRpcChannelBuffer *This,DWORD *pdwVersion);
   5450       HRESULT (WINAPI *Send)(IAsyncRpcChannelBuffer *This,RPCOLEMESSAGE *pMsg,ISynchronize *pSync,ULONG *pulStatus);
   5451       HRESULT (WINAPI *Receive)(IAsyncRpcChannelBuffer *This,RPCOLEMESSAGE *pMsg,ULONG *pulStatus);
   5452       HRESULT (WINAPI *GetDestCtxEx)(IAsyncRpcChannelBuffer *This,RPCOLEMESSAGE *pMsg,DWORD *pdwDestContext,void **ppvDestContext);
   5453     END_INTERFACE
   5454   } IAsyncRpcChannelBufferVtbl;
   5455   struct IAsyncRpcChannelBuffer {
   5456     CONST_VTBL struct IAsyncRpcChannelBufferVtbl *lpVtbl;
   5457   };
   5458 #ifdef COBJMACROS
   5459 #define IAsyncRpcChannelBuffer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   5460 #define IAsyncRpcChannelBuffer_AddRef(This) (This)->lpVtbl->AddRef(This)
   5461 #define IAsyncRpcChannelBuffer_Release(This) (This)->lpVtbl->Release(This)
   5462 #define IAsyncRpcChannelBuffer_GetBuffer(This,pMessage,riid) (This)->lpVtbl->GetBuffer(This,pMessage,riid)
   5463 #define IAsyncRpcChannelBuffer_SendReceive(This,pMessage,pStatus) (This)->lpVtbl->SendReceive(This,pMessage,pStatus)
   5464 #define IAsyncRpcChannelBuffer_FreeBuffer(This,pMessage) (This)->lpVtbl->FreeBuffer(This,pMessage)
   5465 #define IAsyncRpcChannelBuffer_GetDestCtx(This,pdwDestContext,ppvDestContext) (This)->lpVtbl->GetDestCtx(This,pdwDestContext,ppvDestContext)
   5466 #define IAsyncRpcChannelBuffer_IsConnected(This) (This)->lpVtbl->IsConnected(This)
   5467 #define IAsyncRpcChannelBuffer_GetProtocolVersion(This,pdwVersion) (This)->lpVtbl->GetProtocolVersion(This,pdwVersion)
   5468 #define IAsyncRpcChannelBuffer_Send(This,pMsg,pSync,pulStatus) (This)->lpVtbl->Send(This,pMsg,pSync,pulStatus)
   5469 #define IAsyncRpcChannelBuffer_Receive(This,pMsg,pulStatus) (This)->lpVtbl->Receive(This,pMsg,pulStatus)
   5470 #define IAsyncRpcChannelBuffer_GetDestCtxEx(This,pMsg,pdwDestContext,ppvDestContext) (This)->lpVtbl->GetDestCtxEx(This,pMsg,pdwDestContext,ppvDestContext)
   5471 #endif
   5472 #endif
   5473   HRESULT WINAPI IAsyncRpcChannelBuffer_Send_Proxy(IAsyncRpcChannelBuffer *This,RPCOLEMESSAGE *pMsg,ISynchronize *pSync,ULONG *pulStatus);
   5474   void __RPC_STUB IAsyncRpcChannelBuffer_Send_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   5475   HRESULT WINAPI IAsyncRpcChannelBuffer_Receive_Proxy(IAsyncRpcChannelBuffer *This,RPCOLEMESSAGE *pMsg,ULONG *pulStatus);
   5476   void __RPC_STUB IAsyncRpcChannelBuffer_Receive_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   5477   HRESULT WINAPI IAsyncRpcChannelBuffer_GetDestCtxEx_Proxy(IAsyncRpcChannelBuffer *This,RPCOLEMESSAGE *pMsg,DWORD *pdwDestContext,void **ppvDestContext);
   5478   void __RPC_STUB IAsyncRpcChannelBuffer_GetDestCtxEx_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   5479 #endif
   5480 
   5481 #ifndef __IRpcChannelBuffer3_INTERFACE_DEFINED__
   5482 #define __IRpcChannelBuffer3_INTERFACE_DEFINED__
   5483   EXTERN_C const IID IID_IRpcChannelBuffer3;
   5484 #if defined(__cplusplus) && !defined(CINTERFACE)
   5485   struct IRpcChannelBuffer3 : public IRpcChannelBuffer2 {
   5486   public:
   5487     virtual HRESULT WINAPI Send(RPCOLEMESSAGE *pMsg,ULONG *pulStatus) = 0;
   5488     virtual HRESULT WINAPI Receive(RPCOLEMESSAGE *pMsg,ULONG ulSize,ULONG *pulStatus) = 0;
   5489     virtual HRESULT WINAPI Cancel(RPCOLEMESSAGE *pMsg) = 0;
   5490     virtual HRESULT WINAPI GetCallContext(RPCOLEMESSAGE *pMsg,REFIID riid,void **pInterface) = 0;
   5491     virtual HRESULT WINAPI GetDestCtxEx(RPCOLEMESSAGE *pMsg,DWORD *pdwDestContext,void **ppvDestContext) = 0;
   5492     virtual HRESULT WINAPI GetState(RPCOLEMESSAGE *pMsg,DWORD *pState) = 0;
   5493     virtual HRESULT WINAPI RegisterAsync(RPCOLEMESSAGE *pMsg,IAsyncManager *pAsyncMgr) = 0;
   5494   };
   5495 #else
   5496   typedef struct IRpcChannelBuffer3Vtbl {
   5497     BEGIN_INTERFACE
   5498       HRESULT (WINAPI *QueryInterface)(IRpcChannelBuffer3 *This,REFIID riid,void **ppvObject);
   5499       ULONG (WINAPI *AddRef)(IRpcChannelBuffer3 *This);
   5500       ULONG (WINAPI *Release)(IRpcChannelBuffer3 *This);
   5501       HRESULT (WINAPI *GetBuffer)(IRpcChannelBuffer3 *This,RPCOLEMESSAGE *pMessage,REFIID riid);
   5502       HRESULT (WINAPI *SendReceive)(IRpcChannelBuffer3 *This,RPCOLEMESSAGE *pMessage,ULONG *pStatus);
   5503       HRESULT (WINAPI *FreeBuffer)(IRpcChannelBuffer3 *This,RPCOLEMESSAGE *pMessage);
   5504       HRESULT (WINAPI *GetDestCtx)(IRpcChannelBuffer3 *This,DWORD *pdwDestContext,void **ppvDestContext);
   5505       HRESULT (WINAPI *IsConnected)(IRpcChannelBuffer3 *This);
   5506       HRESULT (WINAPI *GetProtocolVersion)(IRpcChannelBuffer3 *This,DWORD *pdwVersion);
   5507       HRESULT (WINAPI *Send)(IRpcChannelBuffer3 *This,RPCOLEMESSAGE *pMsg,ULONG *pulStatus);
   5508       HRESULT (WINAPI *Receive)(IRpcChannelBuffer3 *This,RPCOLEMESSAGE *pMsg,ULONG ulSize,ULONG *pulStatus);
   5509       HRESULT (WINAPI *Cancel)(IRpcChannelBuffer3 *This,RPCOLEMESSAGE *pMsg);
   5510       HRESULT (WINAPI *GetCallContext)(IRpcChannelBuffer3 *This,RPCOLEMESSAGE *pMsg,REFIID riid,void **pInterface);
   5511       HRESULT (WINAPI *GetDestCtxEx)(IRpcChannelBuffer3 *This,RPCOLEMESSAGE *pMsg,DWORD *pdwDestContext,void **ppvDestContext);
   5512       HRESULT (WINAPI *GetState)(IRpcChannelBuffer3 *This,RPCOLEMESSAGE *pMsg,DWORD *pState);
   5513       HRESULT (WINAPI *RegisterAsync)(IRpcChannelBuffer3 *This,RPCOLEMESSAGE *pMsg,IAsyncManager *pAsyncMgr);
   5514     END_INTERFACE
   5515   } IRpcChannelBuffer3Vtbl;
   5516   struct IRpcChannelBuffer3 {
   5517     CONST_VTBL struct IRpcChannelBuffer3Vtbl *lpVtbl;
   5518   };
   5519 #ifdef COBJMACROS
   5520 #define IRpcChannelBuffer3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   5521 #define IRpcChannelBuffer3_AddRef(This) (This)->lpVtbl->AddRef(This)
   5522 #define IRpcChannelBuffer3_Release(This) (This)->lpVtbl->Release(This)
   5523 #define IRpcChannelBuffer3_GetBuffer(This,pMessage,riid) (This)->lpVtbl->GetBuffer(This,pMessage,riid)
   5524 #define IRpcChannelBuffer3_SendReceive(This,pMessage,pStatus) (This)->lpVtbl->SendReceive(This,pMessage,pStatus)
   5525 #define IRpcChannelBuffer3_FreeBuffer(This,pMessage) (This)->lpVtbl->FreeBuffer(This,pMessage)
   5526 #define IRpcChannelBuffer3_GetDestCtx(This,pdwDestContext,ppvDestContext) (This)->lpVtbl->GetDestCtx(This,pdwDestContext,ppvDestContext)
   5527 #define IRpcChannelBuffer3_IsConnected(This) (This)->lpVtbl->IsConnected(This)
   5528 #define IRpcChannelBuffer3_GetProtocolVersion(This,pdwVersion) (This)->lpVtbl->GetProtocolVersion(This,pdwVersion)
   5529 #define IRpcChannelBuffer3_Send(This,pMsg,pulStatus) (This)->lpVtbl->Send(This,pMsg,pulStatus)
   5530 #define IRpcChannelBuffer3_Receive(This,pMsg,ulSize,pulStatus) (This)->lpVtbl->Receive(This,pMsg,ulSize,pulStatus)
   5531 #define IRpcChannelBuffer3_Cancel(This,pMsg) (This)->lpVtbl->Cancel(This,pMsg)
   5532 #define IRpcChannelBuffer3_GetCallContext(This,pMsg,riid,pInterface) (This)->lpVtbl->GetCallContext(This,pMsg,riid,pInterface)
   5533 #define IRpcChannelBuffer3_GetDestCtxEx(This,pMsg,pdwDestContext,ppvDestContext) (This)->lpVtbl->GetDestCtxEx(This,pMsg,pdwDestContext,ppvDestContext)
   5534 #define IRpcChannelBuffer3_GetState(This,pMsg,pState) (This)->lpVtbl->GetState(This,pMsg,pState)
   5535 #define IRpcChannelBuffer3_RegisterAsync(This,pMsg,pAsyncMgr) (This)->lpVtbl->RegisterAsync(This,pMsg,pAsyncMgr)
   5536 #endif
   5537 #endif
   5538   HRESULT WINAPI IRpcChannelBuffer3_Send_Proxy(IRpcChannelBuffer3 *This,RPCOLEMESSAGE *pMsg,ULONG *pulStatus);
   5539   void __RPC_STUB IRpcChannelBuffer3_Send_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   5540   HRESULT WINAPI IRpcChannelBuffer3_Receive_Proxy(IRpcChannelBuffer3 *This,RPCOLEMESSAGE *pMsg,ULONG ulSize,ULONG *pulStatus);
   5541   void __RPC_STUB IRpcChannelBuffer3_Receive_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   5542   HRESULT WINAPI IRpcChannelBuffer3_Cancel_Proxy(IRpcChannelBuffer3 *This,RPCOLEMESSAGE *pMsg);
   5543   void __RPC_STUB IRpcChannelBuffer3_Cancel_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   5544   HRESULT WINAPI IRpcChannelBuffer3_GetCallContext_Proxy(IRpcChannelBuffer3 *This,RPCOLEMESSAGE *pMsg,REFIID riid,void **pInterface);
   5545   void __RPC_STUB IRpcChannelBuffer3_GetCallContext_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   5546   HRESULT WINAPI IRpcChannelBuffer3_GetDestCtxEx_Proxy(IRpcChannelBuffer3 *This,RPCOLEMESSAGE *pMsg,DWORD *pdwDestContext,void **ppvDestContext);
   5547   void __RPC_STUB IRpcChannelBuffer3_GetDestCtxEx_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   5548   HRESULT WINAPI IRpcChannelBuffer3_GetState_Proxy(IRpcChannelBuffer3 *This,RPCOLEMESSAGE *pMsg,DWORD *pState);
   5549   void __RPC_STUB IRpcChannelBuffer3_GetState_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   5550   HRESULT WINAPI IRpcChannelBuffer3_RegisterAsync_Proxy(IRpcChannelBuffer3 *This,RPCOLEMESSAGE *pMsg,IAsyncManager *pAsyncMgr);
   5551   void __RPC_STUB IRpcChannelBuffer3_RegisterAsync_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   5552 #endif
   5553 
   5554 #ifndef __IRpcSyntaxNegotiate_INTERFACE_DEFINED__
   5555 #define __IRpcSyntaxNegotiate_INTERFACE_DEFINED__
   5556   EXTERN_C const IID IID_IRpcSyntaxNegotiate;
   5557 #if defined(__cplusplus) && !defined(CINTERFACE)
   5558   struct IRpcSyntaxNegotiate : public IUnknown {
   5559   public:
   5560     virtual HRESULT WINAPI NegotiateSyntax(RPCOLEMESSAGE *pMsg) = 0;
   5561   };
   5562 #else
   5563   typedef struct IRpcSyntaxNegotiateVtbl {
   5564     BEGIN_INTERFACE
   5565       HRESULT (WINAPI *QueryInterface)(IRpcSyntaxNegotiate *This,REFIID riid,void **ppvObject);
   5566       ULONG (WINAPI *AddRef)(IRpcSyntaxNegotiate *This);
   5567       ULONG (WINAPI *Release)(IRpcSyntaxNegotiate *This);
   5568       HRESULT (WINAPI *NegotiateSyntax)(IRpcSyntaxNegotiate *This,RPCOLEMESSAGE *pMsg);
   5569     END_INTERFACE
   5570   } IRpcSyntaxNegotiateVtbl;
   5571   struct IRpcSyntaxNegotiate {
   5572     CONST_VTBL struct IRpcSyntaxNegotiateVtbl *lpVtbl;
   5573   };
   5574 #ifdef COBJMACROS
   5575 #define IRpcSyntaxNegotiate_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   5576 #define IRpcSyntaxNegotiate_AddRef(This) (This)->lpVtbl->AddRef(This)
   5577 #define IRpcSyntaxNegotiate_Release(This) (This)->lpVtbl->Release(This)
   5578 #define IRpcSyntaxNegotiate_NegotiateSyntax(This,pMsg) (This)->lpVtbl->NegotiateSyntax(This,pMsg)
   5579 #endif
   5580 #endif
   5581   HRESULT WINAPI IRpcSyntaxNegotiate_NegotiateSyntax_Proxy(IRpcSyntaxNegotiate *This,RPCOLEMESSAGE *pMsg);
   5582   void __RPC_STUB IRpcSyntaxNegotiate_NegotiateSyntax_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   5583 #endif
   5584 
   5585 #ifndef __IRpcProxyBuffer_INTERFACE_DEFINED__
   5586 #define __IRpcProxyBuffer_INTERFACE_DEFINED__
   5587   EXTERN_C const IID IID_IRpcProxyBuffer;
   5588 #if defined(__cplusplus) && !defined(CINTERFACE)
   5589   struct IRpcProxyBuffer : public IUnknown {
   5590   public:
   5591     virtual HRESULT WINAPI Connect(IRpcChannelBuffer *pRpcChannelBuffer) = 0;
   5592     virtual void WINAPI Disconnect(void) = 0;
   5593   };
   5594 #else
   5595   typedef struct IRpcProxyBufferVtbl {
   5596     BEGIN_INTERFACE
   5597       HRESULT (WINAPI *QueryInterface)(IRpcProxyBuffer *This,REFIID riid,void **ppvObject);
   5598       ULONG (WINAPI *AddRef)(IRpcProxyBuffer *This);
   5599       ULONG (WINAPI *Release)(IRpcProxyBuffer *This);
   5600       HRESULT (WINAPI *Connect)(IRpcProxyBuffer *This,IRpcChannelBuffer *pRpcChannelBuffer);
   5601       void (WINAPI *Disconnect)(IRpcProxyBuffer *This);
   5602     END_INTERFACE
   5603   } IRpcProxyBufferVtbl;
   5604   struct IRpcProxyBuffer {
   5605     CONST_VTBL struct IRpcProxyBufferVtbl *lpVtbl;
   5606   };
   5607 #ifdef COBJMACROS
   5608 #define IRpcProxyBuffer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   5609 #define IRpcProxyBuffer_AddRef(This) (This)->lpVtbl->AddRef(This)
   5610 #define IRpcProxyBuffer_Release(This) (This)->lpVtbl->Release(This)
   5611 #define IRpcProxyBuffer_Connect(This,pRpcChannelBuffer) (This)->lpVtbl->Connect(This,pRpcChannelBuffer)
   5612 #define IRpcProxyBuffer_Disconnect(This) (This)->lpVtbl->Disconnect(This)
   5613 #endif
   5614 #endif
   5615   HRESULT WINAPI IRpcProxyBuffer_Connect_Proxy(IRpcProxyBuffer *This,IRpcChannelBuffer *pRpcChannelBuffer);
   5616   void __RPC_STUB IRpcProxyBuffer_Connect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   5617   void WINAPI IRpcProxyBuffer_Disconnect_Proxy(IRpcProxyBuffer *This);
   5618   void __RPC_STUB IRpcProxyBuffer_Disconnect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   5619 #endif
   5620 
   5621 #ifndef __IRpcStubBuffer_INTERFACE_DEFINED__
   5622 #define __IRpcStubBuffer_INTERFACE_DEFINED__
   5623   EXTERN_C const IID IID_IRpcStubBuffer;
   5624 #if defined(__cplusplus) && !defined(CINTERFACE)
   5625   struct IRpcStubBuffer : public IUnknown {
   5626   public:
   5627     virtual HRESULT WINAPI Connect(IUnknown *pUnkServer) = 0;
   5628     virtual void WINAPI Disconnect(void) = 0;
   5629     virtual HRESULT WINAPI Invoke(RPCOLEMESSAGE *_prpcmsg,IRpcChannelBuffer *_pRpcChannelBuffer) = 0;
   5630     virtual IRpcStubBuffer *WINAPI IsIIDSupported(REFIID riid) = 0;
   5631     virtual ULONG WINAPI CountRefs(void) = 0;
   5632     virtual HRESULT WINAPI DebugServerQueryInterface(void **ppv) = 0;
   5633     virtual void WINAPI DebugServerRelease(void *pv) = 0;
   5634   };
   5635 #else
   5636   typedef struct IRpcStubBufferVtbl {
   5637     BEGIN_INTERFACE
   5638       HRESULT (WINAPI *QueryInterface)(IRpcStubBuffer *This,REFIID riid,void **ppvObject);
   5639       ULONG (WINAPI *AddRef)(IRpcStubBuffer *This);
   5640       ULONG (WINAPI *Release)(IRpcStubBuffer *This);
   5641       HRESULT (WINAPI *Connect)(IRpcStubBuffer *This,IUnknown *pUnkServer);
   5642       void (WINAPI *Disconnect)(IRpcStubBuffer *This);
   5643       HRESULT (WINAPI *Invoke)(IRpcStubBuffer *This,RPCOLEMESSAGE *_prpcmsg,IRpcChannelBuffer *_pRpcChannelBuffer);
   5644       IRpcStubBuffer *(WINAPI *IsIIDSupported)(IRpcStubBuffer *This,REFIID riid);
   5645       ULONG (WINAPI *CountRefs)(IRpcStubBuffer *This);
   5646       HRESULT (WINAPI *DebugServerQueryInterface)(IRpcStubBuffer *This,void **ppv);
   5647       void (WINAPI *DebugServerRelease)(IRpcStubBuffer *This,void *pv);
   5648     END_INTERFACE
   5649   } IRpcStubBufferVtbl;
   5650   struct IRpcStubBuffer {
   5651     CONST_VTBL struct IRpcStubBufferVtbl *lpVtbl;
   5652   };
   5653 #ifdef COBJMACROS
   5654 #define IRpcStubBuffer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   5655 #define IRpcStubBuffer_AddRef(This) (This)->lpVtbl->AddRef(This)
   5656 #define IRpcStubBuffer_Release(This) (This)->lpVtbl->Release(This)
   5657 #define IRpcStubBuffer_Connect(This,pUnkServer) (This)->lpVtbl->Connect(This,pUnkServer)
   5658 #define IRpcStubBuffer_Disconnect(This) (This)->lpVtbl->Disconnect(This)
   5659 #define IRpcStubBuffer_Invoke(This,_prpcmsg,_pRpcChannelBuffer) (This)->lpVtbl->Invoke(This,_prpcmsg,_pRpcChannelBuffer)
   5660 #define IRpcStubBuffer_IsIIDSupported(This,riid) (This)->lpVtbl->IsIIDSupported(This,riid)
   5661 #define IRpcStubBuffer_CountRefs(This) (This)->lpVtbl->CountRefs(This)
   5662 #define IRpcStubBuffer_DebugServerQueryInterface(This,ppv) (This)->lpVtbl->DebugServerQueryInterface(This,ppv)
   5663 #define IRpcStubBuffer_DebugServerRelease(This,pv) (This)->lpVtbl->DebugServerRelease(This,pv)
   5664 #endif
   5665 #endif
   5666   HRESULT WINAPI IRpcStubBuffer_Connect_Proxy(IRpcStubBuffer *This,IUnknown *pUnkServer);
   5667   void __RPC_STUB IRpcStubBuffer_Connect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   5668   void WINAPI IRpcStubBuffer_Disconnect_Proxy(IRpcStubBuffer *This);
   5669   void __RPC_STUB IRpcStubBuffer_Disconnect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   5670   HRESULT WINAPI IRpcStubBuffer_Invoke_Proxy(IRpcStubBuffer *This,RPCOLEMESSAGE *_prpcmsg,IRpcChannelBuffer *_pRpcChannelBuffer);
   5671   void __RPC_STUB IRpcStubBuffer_Invoke_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   5672   IRpcStubBuffer *WINAPI IRpcStubBuffer_IsIIDSupported_Proxy(IRpcStubBuffer *This,REFIID riid);
   5673   void __RPC_STUB IRpcStubBuffer_IsIIDSupported_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   5674   ULONG WINAPI IRpcStubBuffer_CountRefs_Proxy(IRpcStubBuffer *This);
   5675   void __RPC_STUB IRpcStubBuffer_CountRefs_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   5676   HRESULT WINAPI IRpcStubBuffer_DebugServerQueryInterface_Proxy(IRpcStubBuffer *This,void **ppv);
   5677   void __RPC_STUB IRpcStubBuffer_DebugServerQueryInterface_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   5678   void WINAPI IRpcStubBuffer_DebugServerRelease_Proxy(IRpcStubBuffer *This,void *pv);
   5679   void __RPC_STUB IRpcStubBuffer_DebugServerRelease_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   5680 #endif
   5681 
   5682 #ifndef __IPSFactoryBuffer_INTERFACE_DEFINED__
   5683 #define __IPSFactoryBuffer_INTERFACE_DEFINED__
   5684   EXTERN_C const IID IID_IPSFactoryBuffer;
   5685 #if defined(__cplusplus) && !defined(CINTERFACE)
   5686   struct IPSFactoryBuffer : public IUnknown {
   5687   public:
   5688     virtual HRESULT WINAPI CreateProxy(IUnknown *pUnkOuter,REFIID riid,IRpcProxyBuffer **ppProxy,void **ppv) = 0;
   5689     virtual HRESULT WINAPI CreateStub(REFIID riid,IUnknown *pUnkServer,IRpcStubBuffer **ppStub) = 0;
   5690   };
   5691 #else
   5692   typedef struct IPSFactoryBufferVtbl {
   5693     BEGIN_INTERFACE
   5694       HRESULT (WINAPI *QueryInterface)(IPSFactoryBuffer *This,REFIID riid,void **ppvObject);
   5695       ULONG (WINAPI *AddRef)(IPSFactoryBuffer *This);
   5696       ULONG (WINAPI *Release)(IPSFactoryBuffer *This);
   5697       HRESULT (WINAPI *CreateProxy)(IPSFactoryBuffer *This,IUnknown *pUnkOuter,REFIID riid,IRpcProxyBuffer **ppProxy,void **ppv);
   5698       HRESULT (WINAPI *CreateStub)(IPSFactoryBuffer *This,REFIID riid,IUnknown *pUnkServer,IRpcStubBuffer **ppStub);
   5699     END_INTERFACE
   5700   } IPSFactoryBufferVtbl;
   5701   struct IPSFactoryBuffer {
   5702     CONST_VTBL struct IPSFactoryBufferVtbl *lpVtbl;
   5703   };
   5704 #ifdef COBJMACROS
   5705 #define IPSFactoryBuffer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   5706 #define IPSFactoryBuffer_AddRef(This) (This)->lpVtbl->AddRef(This)
   5707 #define IPSFactoryBuffer_Release(This) (This)->lpVtbl->Release(This)
   5708 #define IPSFactoryBuffer_CreateProxy(This,pUnkOuter,riid,ppProxy,ppv) (This)->lpVtbl->CreateProxy(This,pUnkOuter,riid,ppProxy,ppv)
   5709 #define IPSFactoryBuffer_CreateStub(This,riid,pUnkServer,ppStub) (This)->lpVtbl->CreateStub(This,riid,pUnkServer,ppStub)
   5710 #endif
   5711 #endif
   5712   HRESULT WINAPI IPSFactoryBuffer_CreateProxy_Proxy(IPSFactoryBuffer *This,IUnknown *pUnkOuter,REFIID riid,IRpcProxyBuffer **ppProxy,void **ppv);
   5713   void __RPC_STUB IPSFactoryBuffer_CreateProxy_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   5714   HRESULT WINAPI IPSFactoryBuffer_CreateStub_Proxy(IPSFactoryBuffer *This,REFIID riid,IUnknown *pUnkServer,IRpcStubBuffer **ppStub);
   5715   void __RPC_STUB IPSFactoryBuffer_CreateStub_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   5716 #endif
   5717 
   5718   typedef struct SChannelHookCallInfo {
   5719     IID iid;
   5720     DWORD cbSize;
   5721     GUID uCausality;
   5722     DWORD dwServerPid;
   5723     DWORD iMethod;
   5724     void *pObject;
   5725   } SChannelHookCallInfo;
   5726 
   5727   extern RPC_IF_HANDLE __MIDL_itf_objidl_0050_v0_0_c_ifspec;
   5728   extern RPC_IF_HANDLE __MIDL_itf_objidl_0050_v0_0_s_ifspec;
   5729 
   5730 #ifndef __IChannelHook_INTERFACE_DEFINED__
   5731 #define __IChannelHook_INTERFACE_DEFINED__
   5732   EXTERN_C const IID IID_IChannelHook;
   5733 #if defined(__cplusplus) && !defined(CINTERFACE)
   5734   struct IChannelHook : public IUnknown {
   5735   public:
   5736     virtual void WINAPI ClientGetSize(REFGUID uExtent,REFIID riid,ULONG *pDataSize) = 0;
   5737     virtual void WINAPI ClientFillBuffer(REFGUID uExtent,REFIID riid,ULONG *pDataSize,void *pDataBuffer) = 0;
   5738     virtual void WINAPI ClientNotify(REFGUID uExtent,REFIID riid,ULONG cbDataSize,void *pDataBuffer,DWORD lDataRep,HRESULT hrFault) = 0;
   5739     virtual void WINAPI ServerNotify(REFGUID uExtent,REFIID riid,ULONG cbDataSize,void *pDataBuffer,DWORD lDataRep) = 0;
   5740     virtual void WINAPI ServerGetSize(REFGUID uExtent,REFIID riid,HRESULT hrFault,ULONG *pDataSize) = 0;
   5741     virtual void WINAPI ServerFillBuffer(REFGUID uExtent,REFIID riid,ULONG *pDataSize,void *pDataBuffer,HRESULT hrFault) = 0;
   5742   };
   5743 #else
   5744   typedef struct IChannelHookVtbl {
   5745     BEGIN_INTERFACE
   5746       HRESULT (WINAPI *QueryInterface)(IChannelHook *This,REFIID riid,void **ppvObject);
   5747       ULONG (WINAPI *AddRef)(IChannelHook *This);
   5748       ULONG (WINAPI *Release)(IChannelHook *This);
   5749       void (WINAPI *ClientGetSize)(IChannelHook *This,REFGUID uExtent,REFIID riid,ULONG *pDataSize);
   5750       void (WINAPI *ClientFillBuffer)(IChannelHook *This,REFGUID uExtent,REFIID riid,ULONG *pDataSize,void *pDataBuffer);
   5751       void (WINAPI *ClientNotify)(IChannelHook *This,REFGUID uExtent,REFIID riid,ULONG cbDataSize,void *pDataBuffer,DWORD lDataRep,HRESULT hrFault);
   5752       void (WINAPI *ServerNotify)(IChannelHook *This,REFGUID uExtent,REFIID riid,ULONG cbDataSize,void *pDataBuffer,DWORD lDataRep);
   5753       void (WINAPI *ServerGetSize)(IChannelHook *This,REFGUID uExtent,REFIID riid,HRESULT hrFault,ULONG *pDataSize);
   5754       void (WINAPI *ServerFillBuffer)(IChannelHook *This,REFGUID uExtent,REFIID riid,ULONG *pDataSize,void *pDataBuffer,HRESULT hrFault);
   5755     END_INTERFACE
   5756   } IChannelHookVtbl;
   5757   struct IChannelHook {
   5758     CONST_VTBL struct IChannelHookVtbl *lpVtbl;
   5759   };
   5760 #ifdef COBJMACROS
   5761 #define IChannelHook_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   5762 #define IChannelHook_AddRef(This) (This)->lpVtbl->AddRef(This)
   5763 #define IChannelHook_Release(This) (This)->lpVtbl->Release(This)
   5764 #define IChannelHook_ClientGetSize(This,uExtent,riid,pDataSize) (This)->lpVtbl->ClientGetSize(This,uExtent,riid,pDataSize)
   5765 #define IChannelHook_ClientFillBuffer(This,uExtent,riid,pDataSize,pDataBuffer) (This)->lpVtbl->ClientFillBuffer(This,uExtent,riid,pDataSize,pDataBuffer)
   5766 #define IChannelHook_ClientNotify(This,uExtent,riid,cbDataSize,pDataBuffer,lDataRep,hrFault) (This)->lpVtbl->ClientNotify(This,uExtent,riid,cbDataSize,pDataBuffer,lDataRep,hrFault)
   5767 #define IChannelHook_ServerNotify(This,uExtent,riid,cbDataSize,pDataBuffer,lDataRep) (This)->lpVtbl->ServerNotify(This,uExtent,riid,cbDataSize,pDataBuffer,lDataRep)
   5768 #define IChannelHook_ServerGetSize(This,uExtent,riid,hrFault,pDataSize) (This)->lpVtbl->ServerGetSize(This,uExtent,riid,hrFault,pDataSize)
   5769 #define IChannelHook_ServerFillBuffer(This,uExtent,riid,pDataSize,pDataBuffer,hrFault) (This)->lpVtbl->ServerFillBuffer(This,uExtent,riid,pDataSize,pDataBuffer,hrFault)
   5770 #endif
   5771 #endif
   5772   void WINAPI IChannelHook_ClientGetSize_Proxy(IChannelHook *This,REFGUID uExtent,REFIID riid,ULONG *pDataSize);
   5773   void __RPC_STUB IChannelHook_ClientGetSize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   5774   void WINAPI IChannelHook_ClientFillBuffer_Proxy(IChannelHook *This,REFGUID uExtent,REFIID riid,ULONG *pDataSize,void *pDataBuffer);
   5775   void __RPC_STUB IChannelHook_ClientFillBuffer_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   5776   void WINAPI IChannelHook_ClientNotify_Proxy(IChannelHook *This,REFGUID uExtent,REFIID riid,ULONG cbDataSize,void *pDataBuffer,DWORD lDataRep,HRESULT hrFault);
   5777   void __RPC_STUB IChannelHook_ClientNotify_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   5778   void WINAPI IChannelHook_ServerNotify_Proxy(IChannelHook *This,REFGUID uExtent,REFIID riid,ULONG cbDataSize,void *pDataBuffer,DWORD lDataRep);
   5779   void __RPC_STUB IChannelHook_ServerNotify_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   5780   void WINAPI IChannelHook_ServerGetSize_Proxy(IChannelHook *This,REFGUID uExtent,REFIID riid,HRESULT hrFault,ULONG *pDataSize);
   5781   void __RPC_STUB IChannelHook_ServerGetSize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   5782   void WINAPI IChannelHook_ServerFillBuffer_Proxy(IChannelHook *This,REFGUID uExtent,REFIID riid,ULONG *pDataSize,void *pDataBuffer,HRESULT hrFault);
   5783   void __RPC_STUB IChannelHook_ServerFillBuffer_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   5784 #endif
   5785 
   5786   extern const FMTID FMTID_SummaryInformation;
   5787   extern const FMTID FMTID_DocSummaryInformation;
   5788   extern const FMTID FMTID_UserDefinedProperties;
   5789   extern const FMTID FMTID_DiscardableInformation;
   5790   extern const FMTID FMTID_ImageSummaryInformation;
   5791   extern const FMTID FMTID_AudioSummaryInformation;
   5792   extern const FMTID FMTID_VideoSummaryInformation;
   5793   extern const FMTID FMTID_MediaFileSummaryInformation;
   5794   extern RPC_IF_HANDLE __MIDL_itf_objidl_0051_v0_0_c_ifspec;
   5795   extern RPC_IF_HANDLE __MIDL_itf_objidl_0051_v0_0_s_ifspec;
   5796 #ifndef __IClientSecurity_INTERFACE_DEFINED__
   5797 #define __IClientSecurity_INTERFACE_DEFINED__
   5798   typedef struct tagSOLE_AUTHENTICATION_SERVICE {
   5799     DWORD dwAuthnSvc;
   5800     DWORD dwAuthzSvc;
   5801     OLECHAR *pPrincipalName;
   5802     HRESULT hr;
   5803   } SOLE_AUTHENTICATION_SERVICE;
   5804 
   5805   typedef SOLE_AUTHENTICATION_SERVICE *PSOLE_AUTHENTICATION_SERVICE;
   5806 
   5807   typedef enum tagEOLE_AUTHENTICATION_CAPABILITIES {
   5808     EOAC_NONE = 0,EOAC_MUTUAL_AUTH = 0x1,EOAC_STATIC_CLOAKING = 0x20,EOAC_DYNAMIC_CLOAKING = 0x40,EOAC_ANY_AUTHORITY = 0x80,EOAC_MAKE_FULLSIC = 0x100,
   5809     EOAC_DEFAULT = 0x800,EOAC_SECURE_REFS = 0x2,EOAC_ACCESS_CONTROL = 0x4,EOAC_APPID = 0x8,EOAC_DYNAMIC = 0x10,EOAC_REQUIRE_FULLSIC = 0x200,
   5810     EOAC_AUTO_IMPERSONATE = 0x400,EOAC_NO_CUSTOM_MARSHAL = 0x2000,EOAC_DISABLE_AAA = 0x1000
   5811   } EOLE_AUTHENTICATION_CAPABILITIES;
   5812 
   5813 #define COLE_DEFAULT_PRINCIPAL ((OLECHAR *)-1)
   5814 #define COLE_DEFAULT_AUTHINFO ((void *)-1)
   5815 
   5816   typedef struct tagSOLE_AUTHENTICATION_INFO {
   5817     DWORD dwAuthnSvc;
   5818     DWORD dwAuthzSvc;
   5819     void *pAuthInfo;
   5820   } SOLE_AUTHENTICATION_INFO;
   5821 
   5822   typedef struct tagSOLE_AUTHENTICATION_INFO *PSOLE_AUTHENTICATION_INFO;
   5823 
   5824   typedef struct tagSOLE_AUTHENTICATION_LIST {
   5825     DWORD cAuthInfo;
   5826     SOLE_AUTHENTICATION_INFO *aAuthInfo;
   5827   } SOLE_AUTHENTICATION_LIST;
   5828 
   5829   typedef struct tagSOLE_AUTHENTICATION_LIST *PSOLE_AUTHENTICATION_LIST;
   5830 
   5831   EXTERN_C const IID IID_IClientSecurity;
   5832 #if defined(__cplusplus) && !defined(CINTERFACE)
   5833   struct IClientSecurity : public IUnknown {
   5834   public:
   5835     virtual HRESULT WINAPI QueryBlanket(IUnknown *pProxy,DWORD *pAuthnSvc,DWORD *pAuthzSvc,OLECHAR **pServerPrincName,DWORD *pAuthnLevel,DWORD *pImpLevel,void **pAuthInfo,DWORD *pCapabilites) = 0;
   5836     virtual HRESULT WINAPI SetBlanket(IUnknown *pProxy,DWORD dwAuthnSvc,DWORD dwAuthzSvc,OLECHAR *pServerPrincName,DWORD dwAuthnLevel,DWORD dwImpLevel,void *pAuthInfo,DWORD dwCapabilities) = 0;
   5837     virtual HRESULT WINAPI CopyProxy(IUnknown *pProxy,IUnknown **ppCopy) = 0;
   5838   };
   5839 #else
   5840   typedef struct IClientSecurityVtbl {
   5841     BEGIN_INTERFACE
   5842       HRESULT (WINAPI *QueryInterface)(IClientSecurity *This,REFIID riid,void **ppvObject);
   5843       ULONG (WINAPI *AddRef)(IClientSecurity *This);
   5844       ULONG (WINAPI *Release)(IClientSecurity *This);
   5845       HRESULT (WINAPI *QueryBlanket)(IClientSecurity *This,IUnknown *pProxy,DWORD *pAuthnSvc,DWORD *pAuthzSvc,OLECHAR **pServerPrincName,DWORD *pAuthnLevel,DWORD *pImpLevel,void **pAuthInfo,DWORD *pCapabilites);
   5846       HRESULT (WINAPI *SetBlanket)(IClientSecurity *This,IUnknown *pProxy,DWORD dwAuthnSvc,DWORD dwAuthzSvc,OLECHAR *pServerPrincName,DWORD dwAuthnLevel,DWORD dwImpLevel,void *pAuthInfo,DWORD dwCapabilities);
   5847       HRESULT (WINAPI *CopyProxy)(IClientSecurity *This,IUnknown *pProxy,IUnknown **ppCopy);
   5848     END_INTERFACE
   5849   } IClientSecurityVtbl;
   5850   struct IClientSecurity {
   5851     CONST_VTBL struct IClientSecurityVtbl *lpVtbl;
   5852   };
   5853 #ifdef COBJMACROS
   5854 #define IClientSecurity_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   5855 #define IClientSecurity_AddRef(This) (This)->lpVtbl->AddRef(This)
   5856 #define IClientSecurity_Release(This) (This)->lpVtbl->Release(This)
   5857 #define IClientSecurity_QueryBlanket(This,pProxy,pAuthnSvc,pAuthzSvc,pServerPrincName,pAuthnLevel,pImpLevel,pAuthInfo,pCapabilites) (This)->lpVtbl->QueryBlanket(This,pProxy,pAuthnSvc,pAuthzSvc,pServerPrincName,pAuthnLevel,pImpLevel,pAuthInfo,pCapabilites)
   5858 #define IClientSecurity_SetBlanket(This,pProxy,dwAuthnSvc,dwAuthzSvc,pServerPrincName,dwAuthnLevel,dwImpLevel,pAuthInfo,dwCapabilities) (This)->lpVtbl->SetBlanket(This,pProxy,dwAuthnSvc,dwAuthzSvc,pServerPrincName,dwAuthnLevel,dwImpLevel,pAuthInfo,dwCapabilities)
   5859 #define IClientSecurity_CopyProxy(This,pProxy,ppCopy) (This)->lpVtbl->CopyProxy(This,pProxy,ppCopy)
   5860 #endif
   5861 #endif
   5862   HRESULT WINAPI IClientSecurity_QueryBlanket_Proxy(IClientSecurity *This,IUnknown *pProxy,DWORD *pAuthnSvc,DWORD *pAuthzSvc,OLECHAR **pServerPrincName,DWORD *pAuthnLevel,DWORD *pImpLevel,void **pAuthInfo,DWORD *pCapabilites);
   5863   void __RPC_STUB IClientSecurity_QueryBlanket_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   5864   HRESULT WINAPI IClientSecurity_SetBlanket_Proxy(IClientSecurity *This,IUnknown *pProxy,DWORD dwAuthnSvc,DWORD dwAuthzSvc,OLECHAR *pServerPrincName,DWORD dwAuthnLevel,DWORD dwImpLevel,void *pAuthInfo,DWORD dwCapabilities);
   5865   void __RPC_STUB IClientSecurity_SetBlanket_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   5866   HRESULT WINAPI IClientSecurity_CopyProxy_Proxy(IClientSecurity *This,IUnknown *pProxy,IUnknown **ppCopy);
   5867   void __RPC_STUB IClientSecurity_CopyProxy_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   5868 #endif
   5869 
   5870 #ifndef __IServerSecurity_INTERFACE_DEFINED__
   5871 #define __IServerSecurity_INTERFACE_DEFINED__
   5872   EXTERN_C const IID IID_IServerSecurity;
   5873 #if defined(__cplusplus) && !defined(CINTERFACE)
   5874   struct IServerSecurity : public IUnknown {
   5875   public:
   5876     virtual HRESULT WINAPI QueryBlanket(DWORD *pAuthnSvc,DWORD *pAuthzSvc,OLECHAR **pServerPrincName,DWORD *pAuthnLevel,DWORD *pImpLevel,void **pPrivs,DWORD *pCapabilities) = 0;
   5877     virtual HRESULT WINAPI ImpersonateClient(void) = 0;
   5878     virtual HRESULT WINAPI RevertToSelf(void) = 0;
   5879     virtual WINBOOL WINAPI IsImpersonating(void) = 0;
   5880   };
   5881 #else
   5882   typedef struct IServerSecurityVtbl {
   5883     BEGIN_INTERFACE
   5884       HRESULT (WINAPI *QueryInterface)(IServerSecurity *This,REFIID riid,void **ppvObject);
   5885       ULONG (WINAPI *AddRef)(IServerSecurity *This);
   5886       ULONG (WINAPI *Release)(IServerSecurity *This);
   5887       HRESULT (WINAPI *QueryBlanket)(IServerSecurity *This,DWORD *pAuthnSvc,DWORD *pAuthzSvc,OLECHAR **pServerPrincName,DWORD *pAuthnLevel,DWORD *pImpLevel,void **pPrivs,DWORD *pCapabilities);
   5888       HRESULT (WINAPI *ImpersonateClient)(IServerSecurity *This);
   5889       HRESULT (WINAPI *RevertToSelf)(IServerSecurity *This);
   5890       WINBOOL (WINAPI *IsImpersonating)(IServerSecurity *This);
   5891     END_INTERFACE
   5892   } IServerSecurityVtbl;
   5893   struct IServerSecurity {
   5894     CONST_VTBL struct IServerSecurityVtbl *lpVtbl;
   5895   };
   5896 #ifdef COBJMACROS
   5897 #define IServerSecurity_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   5898 #define IServerSecurity_AddRef(This) (This)->lpVtbl->AddRef(This)
   5899 #define IServerSecurity_Release(This) (This)->lpVtbl->Release(This)
   5900 #define IServerSecurity_QueryBlanket(This,pAuthnSvc,pAuthzSvc,pServerPrincName,pAuthnLevel,pImpLevel,pPrivs,pCapabilities) (This)->lpVtbl->QueryBlanket(This,pAuthnSvc,pAuthzSvc,pServerPrincName,pAuthnLevel,pImpLevel,pPrivs,pCapabilities)
   5901 #define IServerSecurity_ImpersonateClient(This) (This)->lpVtbl->ImpersonateClient(This)
   5902 #define IServerSecurity_RevertToSelf(This) (This)->lpVtbl->RevertToSelf(This)
   5903 #define IServerSecurity_IsImpersonating(This) (This)->lpVtbl->IsImpersonating(This)
   5904 #endif
   5905 #endif
   5906   HRESULT WINAPI IServerSecurity_QueryBlanket_Proxy(IServerSecurity *This,DWORD *pAuthnSvc,DWORD *pAuthzSvc,OLECHAR **pServerPrincName,DWORD *pAuthnLevel,DWORD *pImpLevel,void **pPrivs,DWORD *pCapabilities);
   5907   void __RPC_STUB IServerSecurity_QueryBlanket_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   5908   HRESULT WINAPI IServerSecurity_ImpersonateClient_Proxy(IServerSecurity *This);
   5909   void __RPC_STUB IServerSecurity_ImpersonateClient_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   5910   HRESULT WINAPI IServerSecurity_RevertToSelf_Proxy(IServerSecurity *This);
   5911   void __RPC_STUB IServerSecurity_RevertToSelf_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   5912   WINBOOL WINAPI IServerSecurity_IsImpersonating_Proxy(IServerSecurity *This);
   5913   void __RPC_STUB IServerSecurity_IsImpersonating_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   5914 #endif
   5915 
   5916 #ifndef __IClassActivator_INTERFACE_DEFINED__
   5917 #define __IClassActivator_INTERFACE_DEFINED__
   5918   EXTERN_C const IID IID_IClassActivator;
   5919 #if defined(__cplusplus) && !defined(CINTERFACE)
   5920   struct IClassActivator : public IUnknown {
   5921   public:
   5922     virtual HRESULT WINAPI GetClassObject(REFCLSID rclsid,DWORD dwClassContext,LCID locale,REFIID riid,void **ppv) = 0;
   5923   };
   5924 #else
   5925   typedef struct IClassActivatorVtbl {
   5926     BEGIN_INTERFACE
   5927       HRESULT (WINAPI *QueryInterface)(IClassActivator *This,REFIID riid,void **ppvObject);
   5928       ULONG (WINAPI *AddRef)(IClassActivator *This);
   5929       ULONG (WINAPI *Release)(IClassActivator *This);
   5930       HRESULT (WINAPI *GetClassObject)(IClassActivator *This,REFCLSID rclsid,DWORD dwClassContext,LCID locale,REFIID riid,void **ppv);
   5931     END_INTERFACE
   5932   } IClassActivatorVtbl;
   5933   struct IClassActivator {
   5934     CONST_VTBL struct IClassActivatorVtbl *lpVtbl;
   5935   };
   5936 #ifdef COBJMACROS
   5937 #define IClassActivator_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   5938 #define IClassActivator_AddRef(This) (This)->lpVtbl->AddRef(This)
   5939 #define IClassActivator_Release(This) (This)->lpVtbl->Release(This)
   5940 #define IClassActivator_GetClassObject(This,rclsid,dwClassContext,locale,riid,ppv) (This)->lpVtbl->GetClassObject(This,rclsid,dwClassContext,locale,riid,ppv)
   5941 #endif
   5942 #endif
   5943   HRESULT WINAPI IClassActivator_GetClassObject_Proxy(IClassActivator *This,REFCLSID rclsid,DWORD dwClassContext,LCID locale,REFIID riid,void **ppv);
   5944   void __RPC_STUB IClassActivator_GetClassObject_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   5945 #endif
   5946 
   5947 #ifndef __IRpcOptions_INTERFACE_DEFINED__
   5948 #define __IRpcOptions_INTERFACE_DEFINED__
   5949   EXTERN_C const IID IID_IRpcOptions;
   5950 #if defined(__cplusplus) && !defined(CINTERFACE)
   5951   struct IRpcOptions : public IUnknown {
   5952   public:
   5953     virtual HRESULT WINAPI Set(IUnknown *pPrx,DWORD dwProperty,ULONG_PTR dwValue) = 0;
   5954     virtual HRESULT WINAPI Query(IUnknown *pPrx,DWORD dwProperty,ULONG_PTR *pdwValue) = 0;
   5955   };
   5956 #else
   5957   typedef struct IRpcOptionsVtbl {
   5958     BEGIN_INTERFACE
   5959       HRESULT (WINAPI *QueryInterface)(IRpcOptions *This,REFIID riid,void **ppvObject);
   5960       ULONG (WINAPI *AddRef)(IRpcOptions *This);
   5961       ULONG (WINAPI *Release)(IRpcOptions *This);
   5962       HRESULT (WINAPI *Set)(IRpcOptions *This,IUnknown *pPrx,DWORD dwProperty,ULONG_PTR dwValue);
   5963       HRESULT (WINAPI *Query)(IRpcOptions *This,IUnknown *pPrx,DWORD dwProperty,ULONG_PTR *pdwValue);
   5964     END_INTERFACE
   5965   } IRpcOptionsVtbl;
   5966   struct IRpcOptions {
   5967     CONST_VTBL struct IRpcOptionsVtbl *lpVtbl;
   5968   };
   5969 #ifdef COBJMACROS
   5970 #define IRpcOptions_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   5971 #define IRpcOptions_AddRef(This) (This)->lpVtbl->AddRef(This)
   5972 #define IRpcOptions_Release(This) (This)->lpVtbl->Release(This)
   5973 #define IRpcOptions_Set(This,pPrx,dwProperty,dwValue) (This)->lpVtbl->Set(This,pPrx,dwProperty,dwValue)
   5974 #define IRpcOptions_Query(This,pPrx,dwProperty,pdwValue) (This)->lpVtbl->Query(This,pPrx,dwProperty,pdwValue)
   5975 #endif
   5976 #endif
   5977   HRESULT WINAPI IRpcOptions_Set_Proxy(IRpcOptions *This,IUnknown *pPrx,DWORD dwProperty,ULONG_PTR dwValue);
   5978   void __RPC_STUB IRpcOptions_Set_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   5979   HRESULT WINAPI IRpcOptions_Query_Proxy(IRpcOptions *This,IUnknown *pPrx,DWORD dwProperty,ULONG_PTR *pdwValue);
   5980   void __RPC_STUB IRpcOptions_Query_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   5981 #endif
   5982 
   5983   enum __MIDL___MIDL_itf_objidl_0055_0001 {
   5984     COMBND_RPCTIMEOUT = 0x1,COMBND_SERVER_LOCALITY = 0x2
   5985   };
   5986 
   5987   enum __MIDL___MIDL_itf_objidl_0055_0002 {
   5988     SERVER_LOCALITY_PROCESS_LOCAL = 0,SERVER_LOCALITY_MACHINE_LOCAL = 1,SERVER_LOCALITY_REMOTE = 2
   5989   };
   5990   extern RPC_IF_HANDLE __MIDL_itf_objidl_0055_v0_0_c_ifspec;
   5991   extern RPC_IF_HANDLE __MIDL_itf_objidl_0055_v0_0_s_ifspec;
   5992 
   5993 #ifndef __IFillLockBytes_INTERFACE_DEFINED__
   5994 #define __IFillLockBytes_INTERFACE_DEFINED__
   5995   EXTERN_C const IID IID_IFillLockBytes;
   5996 #if defined(__cplusplus) && !defined(CINTERFACE)
   5997   struct IFillLockBytes : public IUnknown {
   5998   public:
   5999     virtual HRESULT WINAPI FillAppend(const void *pv,ULONG cb,ULONG *pcbWritten) = 0;
   6000     virtual HRESULT WINAPI FillAt(ULARGE_INTEGER ulOffset,const void *pv,ULONG cb,ULONG *pcbWritten) = 0;
   6001     virtual HRESULT WINAPI SetFillSize(ULARGE_INTEGER ulSize) = 0;
   6002     virtual HRESULT WINAPI Terminate(WINBOOL bCanceled) = 0;
   6003   };
   6004 #else
   6005   typedef struct IFillLockBytesVtbl {
   6006     BEGIN_INTERFACE
   6007       HRESULT (WINAPI *QueryInterface)(IFillLockBytes *This,REFIID riid,void **ppvObject);
   6008       ULONG (WINAPI *AddRef)(IFillLockBytes *This);
   6009       ULONG (WINAPI *Release)(IFillLockBytes *This);
   6010       HRESULT (WINAPI *FillAppend)(IFillLockBytes *This,const void *pv,ULONG cb,ULONG *pcbWritten);
   6011       HRESULT (WINAPI *FillAt)(IFillLockBytes *This,ULARGE_INTEGER ulOffset,const void *pv,ULONG cb,ULONG *pcbWritten);
   6012       HRESULT (WINAPI *SetFillSize)(IFillLockBytes *This,ULARGE_INTEGER ulSize);
   6013       HRESULT (WINAPI *Terminate)(IFillLockBytes *This,WINBOOL bCanceled);
   6014     END_INTERFACE
   6015   } IFillLockBytesVtbl;
   6016   struct IFillLockBytes {
   6017     CONST_VTBL struct IFillLockBytesVtbl *lpVtbl;
   6018   };
   6019 #ifdef COBJMACROS
   6020 #define IFillLockBytes_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   6021 #define IFillLockBytes_AddRef(This) (This)->lpVtbl->AddRef(This)
   6022 #define IFillLockBytes_Release(This) (This)->lpVtbl->Release(This)
   6023 #define IFillLockBytes_FillAppend(This,pv,cb,pcbWritten) (This)->lpVtbl->FillAppend(This,pv,cb,pcbWritten)
   6024 #define IFillLockBytes_FillAt(This,ulOffset,pv,cb,pcbWritten) (This)->lpVtbl->FillAt(This,ulOffset,pv,cb,pcbWritten)
   6025 #define IFillLockBytes_SetFillSize(This,ulSize) (This)->lpVtbl->SetFillSize(This,ulSize)
   6026 #define IFillLockBytes_Terminate(This,bCanceled) (This)->lpVtbl->Terminate(This,bCanceled)
   6027 #endif
   6028 #endif
   6029   HRESULT WINAPI IFillLockBytes_RemoteFillAppend_Proxy(IFillLockBytes *This,const byte *pv,ULONG cb,ULONG *pcbWritten);
   6030   void __RPC_STUB IFillLockBytes_RemoteFillAppend_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   6031   HRESULT WINAPI IFillLockBytes_RemoteFillAt_Proxy(IFillLockBytes *This,ULARGE_INTEGER ulOffset,const byte *pv,ULONG cb,ULONG *pcbWritten);
   6032   void __RPC_STUB IFillLockBytes_RemoteFillAt_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   6033   HRESULT WINAPI IFillLockBytes_SetFillSize_Proxy(IFillLockBytes *This,ULARGE_INTEGER ulSize);
   6034   void __RPC_STUB IFillLockBytes_SetFillSize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   6035   HRESULT WINAPI IFillLockBytes_Terminate_Proxy(IFillLockBytes *This,WINBOOL bCanceled);
   6036   void __RPC_STUB IFillLockBytes_Terminate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   6037 #endif
   6038 
   6039 #ifndef __IProgressNotify_INTERFACE_DEFINED__
   6040 #define __IProgressNotify_INTERFACE_DEFINED__
   6041   EXTERN_C const IID IID_IProgressNotify;
   6042 #if defined(__cplusplus) && !defined(CINTERFACE)
   6043   struct IProgressNotify : public IUnknown {
   6044   public:
   6045     virtual HRESULT WINAPI OnProgress(DWORD dwProgressCurrent,DWORD dwProgressMaximum,WINBOOL fAccurate,WINBOOL fOwner) = 0;
   6046   };
   6047 #else
   6048   typedef struct IProgressNotifyVtbl {
   6049     BEGIN_INTERFACE
   6050       HRESULT (WINAPI *QueryInterface)(IProgressNotify *This,REFIID riid,void **ppvObject);
   6051       ULONG (WINAPI *AddRef)(IProgressNotify *This);
   6052       ULONG (WINAPI *Release)(IProgressNotify *This);
   6053       HRESULT (WINAPI *OnProgress)(IProgressNotify *This,DWORD dwProgressCurrent,DWORD dwProgressMaximum,WINBOOL fAccurate,WINBOOL fOwner);
   6054     END_INTERFACE
   6055   } IProgressNotifyVtbl;
   6056   struct IProgressNotify {
   6057     CONST_VTBL struct IProgressNotifyVtbl *lpVtbl;
   6058   };
   6059 #ifdef COBJMACROS
   6060 #define IProgressNotify_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   6061 #define IProgressNotify_AddRef(This) (This)->lpVtbl->AddRef(This)
   6062 #define IProgressNotify_Release(This) (This)->lpVtbl->Release(This)
   6063 #define IProgressNotify_OnProgress(This,dwProgressCurrent,dwProgressMaximum,fAccurate,fOwner) (This)->lpVtbl->OnProgress(This,dwProgressCurrent,dwProgressMaximum,fAccurate,fOwner)
   6064 #endif
   6065 #endif
   6066   HRESULT WINAPI IProgressNotify_OnProgress_Proxy(IProgressNotify *This,DWORD dwProgressCurrent,DWORD dwProgressMaximum,WINBOOL fAccurate,WINBOOL fOwner);
   6067   void __RPC_STUB IProgressNotify_OnProgress_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   6068 #endif
   6069 
   6070 #ifndef __ILayoutStorage_INTERFACE_DEFINED__
   6071 #define __ILayoutStorage_INTERFACE_DEFINED__
   6072   typedef struct tagStorageLayout {
   6073     DWORD LayoutType;
   6074     OLECHAR *pwcsElementName;
   6075     LARGE_INTEGER cOffset;
   6076     LARGE_INTEGER cBytes;
   6077   } StorageLayout;
   6078 
   6079   EXTERN_C const IID IID_ILayoutStorage;
   6080 #if defined(__cplusplus) && !defined(CINTERFACE)
   6081   struct ILayoutStorage : public IUnknown {
   6082   public:
   6083     virtual HRESULT WINAPI LayoutScript(StorageLayout *pStorageLayout,DWORD nEntries,DWORD glfInterleavedFlag) = 0;
   6084     virtual HRESULT WINAPI BeginMonitor(void) = 0;
   6085     virtual HRESULT WINAPI EndMonitor(void) = 0;
   6086     virtual HRESULT WINAPI ReLayoutDocfile(OLECHAR *pwcsNewDfName) = 0;
   6087     virtual HRESULT WINAPI ReLayoutDocfileOnILockBytes(ILockBytes *pILockBytes) = 0;
   6088   };
   6089 #else
   6090   typedef struct ILayoutStorageVtbl {
   6091     BEGIN_INTERFACE
   6092       HRESULT (WINAPI *QueryInterface)(ILayoutStorage *This,REFIID riid,void **ppvObject);
   6093       ULONG (WINAPI *AddRef)(ILayoutStorage *This);
   6094       ULONG (WINAPI *Release)(ILayoutStorage *This);
   6095       HRESULT (WINAPI *LayoutScript)(ILayoutStorage *This,StorageLayout *pStorageLayout,DWORD nEntries,DWORD glfInterleavedFlag);
   6096       HRESULT (WINAPI *BeginMonitor)(ILayoutStorage *This);
   6097       HRESULT (WINAPI *EndMonitor)(ILayoutStorage *This);
   6098       HRESULT (WINAPI *ReLayoutDocfile)(ILayoutStorage *This,OLECHAR *pwcsNewDfName);
   6099       HRESULT (WINAPI *ReLayoutDocfileOnILockBytes)(ILayoutStorage *This,ILockBytes *pILockBytes);
   6100     END_INTERFACE
   6101   } ILayoutStorageVtbl;
   6102   struct ILayoutStorage {
   6103     CONST_VTBL struct ILayoutStorageVtbl *lpVtbl;
   6104   };
   6105 #ifdef COBJMACROS
   6106 #define ILayoutStorage_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   6107 #define ILayoutStorage_AddRef(This) (This)->lpVtbl->AddRef(This)
   6108 #define ILayoutStorage_Release(This) (This)->lpVtbl->Release(This)
   6109 #define ILayoutStorage_LayoutScript(This,pStorageLayout,nEntries,glfInterleavedFlag) (This)->lpVtbl->LayoutScript(This,pStorageLayout,nEntries,glfInterleavedFlag)
   6110 #define ILayoutStorage_BeginMonitor(This) (This)->lpVtbl->BeginMonitor(This)
   6111 #define ILayoutStorage_EndMonitor(This) (This)->lpVtbl->EndMonitor(This)
   6112 #define ILayoutStorage_ReLayoutDocfile(This,pwcsNewDfName) (This)->lpVtbl->ReLayoutDocfile(This,pwcsNewDfName)
   6113 #define ILayoutStorage_ReLayoutDocfileOnILockBytes(This,pILockBytes) (This)->lpVtbl->ReLayoutDocfileOnILockBytes(This,pILockBytes)
   6114 #endif
   6115 #endif
   6116   HRESULT WINAPI ILayoutStorage_LayoutScript_Proxy(ILayoutStorage *This,StorageLayout *pStorageLayout,DWORD nEntries,DWORD glfInterleavedFlag);
   6117   void __RPC_STUB ILayoutStorage_LayoutScript_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   6118   HRESULT WINAPI ILayoutStorage_BeginMonitor_Proxy(ILayoutStorage *This);
   6119   void __RPC_STUB ILayoutStorage_BeginMonitor_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   6120   HRESULT WINAPI ILayoutStorage_EndMonitor_Proxy(ILayoutStorage *This);
   6121   void __RPC_STUB ILayoutStorage_EndMonitor_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   6122   HRESULT WINAPI ILayoutStorage_ReLayoutDocfile_Proxy(ILayoutStorage *This,OLECHAR *pwcsNewDfName);
   6123   void __RPC_STUB ILayoutStorage_ReLayoutDocfile_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   6124   HRESULT WINAPI ILayoutStorage_ReLayoutDocfileOnILockBytes_Proxy(ILayoutStorage *This,ILockBytes *pILockBytes);
   6125   void __RPC_STUB ILayoutStorage_ReLayoutDocfileOnILockBytes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   6126 #endif
   6127 
   6128 #ifndef __IBlockingLock_INTERFACE_DEFINED__
   6129 #define __IBlockingLock_INTERFACE_DEFINED__
   6130   EXTERN_C const IID IID_IBlockingLock;
   6131 #if defined(__cplusplus) && !defined(CINTERFACE)
   6132   struct IBlockingLock : public IUnknown {
   6133   public:
   6134     virtual HRESULT WINAPI Lock(DWORD dwTimeout) = 0;
   6135     virtual HRESULT WINAPI Unlock(void) = 0;
   6136   };
   6137 #else
   6138   typedef struct IBlockingLockVtbl {
   6139     BEGIN_INTERFACE
   6140       HRESULT (WINAPI *QueryInterface)(IBlockingLock *This,REFIID riid,void **ppvObject);
   6141       ULONG (WINAPI *AddRef)(IBlockingLock *This);
   6142       ULONG (WINAPI *Release)(IBlockingLock *This);
   6143       HRESULT (WINAPI *Lock)(IBlockingLock *This,DWORD dwTimeout);
   6144       HRESULT (WINAPI *Unlock)(IBlockingLock *This);
   6145     END_INTERFACE
   6146   } IBlockingLockVtbl;
   6147   struct IBlockingLock {
   6148     CONST_VTBL struct IBlockingLockVtbl *lpVtbl;
   6149   };
   6150 #ifdef COBJMACROS
   6151 #define IBlockingLock_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   6152 #define IBlockingLock_AddRef(This) (This)->lpVtbl->AddRef(This)
   6153 #define IBlockingLock_Release(This) (This)->lpVtbl->Release(This)
   6154 #define IBlockingLock_Lock(This,dwTimeout) (This)->lpVtbl->Lock(This,dwTimeout)
   6155 #define IBlockingLock_Unlock(This) (This)->lpVtbl->Unlock(This)
   6156 #endif
   6157 #endif
   6158   HRESULT WINAPI IBlockingLock_Lock_Proxy(IBlockingLock *This,DWORD dwTimeout);
   6159   void __RPC_STUB IBlockingLock_Lock_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   6160   HRESULT WINAPI IBlockingLock_Unlock_Proxy(IBlockingLock *This);
   6161   void __RPC_STUB IBlockingLock_Unlock_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   6162 #endif
   6163 
   6164 #ifndef __ITimeAndNoticeControl_INTERFACE_DEFINED__
   6165 #define __ITimeAndNoticeControl_INTERFACE_DEFINED__
   6166   EXTERN_C const IID IID_ITimeAndNoticeControl;
   6167 #if defined(__cplusplus) && !defined(CINTERFACE)
   6168   struct ITimeAndNoticeControl : public IUnknown {
   6169   public:
   6170     virtual HRESULT WINAPI SuppressChanges(DWORD res1,DWORD res2) = 0;
   6171   };
   6172 #else
   6173   typedef struct ITimeAndNoticeControlVtbl {
   6174     BEGIN_INTERFACE
   6175       HRESULT (WINAPI *QueryInterface)(ITimeAndNoticeControl *This,REFIID riid,void **ppvObject);
   6176       ULONG (WINAPI *AddRef)(ITimeAndNoticeControl *This);
   6177       ULONG (WINAPI *Release)(ITimeAndNoticeControl *This);
   6178       HRESULT (WINAPI *SuppressChanges)(ITimeAndNoticeControl *This,DWORD res1,DWORD res2);
   6179     END_INTERFACE
   6180   } ITimeAndNoticeControlVtbl;
   6181   struct ITimeAndNoticeControl {
   6182     CONST_VTBL struct ITimeAndNoticeControlVtbl *lpVtbl;
   6183   };
   6184 #ifdef COBJMACROS
   6185 #define ITimeAndNoticeControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   6186 #define ITimeAndNoticeControl_AddRef(This) (This)->lpVtbl->AddRef(This)
   6187 #define ITimeAndNoticeControl_Release(This) (This)->lpVtbl->Release(This)
   6188 #define ITimeAndNoticeControl_SuppressChanges(This,res1,res2) (This)->lpVtbl->SuppressChanges(This,res1,res2)
   6189 #endif
   6190 #endif
   6191   HRESULT WINAPI ITimeAndNoticeControl_SuppressChanges_Proxy(ITimeAndNoticeControl *This,DWORD res1,DWORD res2);
   6192   void __RPC_STUB ITimeAndNoticeControl_SuppressChanges_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   6193 #endif
   6194 
   6195 #ifndef __IOplockStorage_INTERFACE_DEFINED__
   6196 #define __IOplockStorage_INTERFACE_DEFINED__
   6197   EXTERN_C const IID IID_IOplockStorage;
   6198 #if defined(__cplusplus) && !defined(CINTERFACE)
   6199   struct IOplockStorage : public IUnknown {
   6200   public:
   6201     virtual HRESULT WINAPI CreateStorageEx(LPCWSTR pwcsName,DWORD grfMode,DWORD stgfmt,DWORD grfAttrs,REFIID riid,void **ppstgOpen) = 0;
   6202     virtual HRESULT WINAPI OpenStorageEx(LPCWSTR pwcsName,DWORD grfMode,DWORD stgfmt,DWORD grfAttrs,REFIID riid,void **ppstgOpen) = 0;
   6203   };
   6204 #else
   6205   typedef struct IOplockStorageVtbl {
   6206     BEGIN_INTERFACE
   6207       HRESULT (WINAPI *QueryInterface)(IOplockStorage *This,REFIID riid,void **ppvObject);
   6208       ULONG (WINAPI *AddRef)(IOplockStorage *This);
   6209       ULONG (WINAPI *Release)(IOplockStorage *This);
   6210       HRESULT (WINAPI *CreateStorageEx)(IOplockStorage *This,LPCWSTR pwcsName,DWORD grfMode,DWORD stgfmt,DWORD grfAttrs,REFIID riid,void **ppstgOpen);
   6211       HRESULT (WINAPI *OpenStorageEx)(IOplockStorage *This,LPCWSTR pwcsName,DWORD grfMode,DWORD stgfmt,DWORD grfAttrs,REFIID riid,void **ppstgOpen);
   6212     END_INTERFACE
   6213   } IOplockStorageVtbl;
   6214   struct IOplockStorage {
   6215     CONST_VTBL struct IOplockStorageVtbl *lpVtbl;
   6216   };
   6217 #ifdef COBJMACROS
   6218 #define IOplockStorage_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   6219 #define IOplockStorage_AddRef(This) (This)->lpVtbl->AddRef(This)
   6220 #define IOplockStorage_Release(This) (This)->lpVtbl->Release(This)
   6221 #define IOplockStorage_CreateStorageEx(This,pwcsName,grfMode,stgfmt,grfAttrs,riid,ppstgOpen) (This)->lpVtbl->CreateStorageEx(This,pwcsName,grfMode,stgfmt,grfAttrs,riid,ppstgOpen)
   6222 #define IOplockStorage_OpenStorageEx(This,pwcsName,grfMode,stgfmt,grfAttrs,riid,ppstgOpen) (This)->lpVtbl->OpenStorageEx(This,pwcsName,grfMode,stgfmt,grfAttrs,riid,ppstgOpen)
   6223 #endif
   6224 #endif
   6225   HRESULT WINAPI IOplockStorage_CreateStorageEx_Proxy(IOplockStorage *This,LPCWSTR pwcsName,DWORD grfMode,DWORD stgfmt,DWORD grfAttrs,REFIID riid,void **ppstgOpen);
   6226   void __RPC_STUB IOplockStorage_CreateStorageEx_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   6227   HRESULT WINAPI IOplockStorage_OpenStorageEx_Proxy(IOplockStorage *This,LPCWSTR pwcsName,DWORD grfMode,DWORD stgfmt,DWORD grfAttrs,REFIID riid,void **ppstgOpen);
   6228   void __RPC_STUB IOplockStorage_OpenStorageEx_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   6229 #endif
   6230 
   6231 #ifndef __ISurrogate_INTERFACE_DEFINED__
   6232 #define __ISurrogate_INTERFACE_DEFINED__
   6233   typedef ISurrogate *LPSURROGATE;
   6234 
   6235   EXTERN_C const IID IID_ISurrogate;
   6236 #if defined(__cplusplus) && !defined(CINTERFACE)
   6237   struct ISurrogate : public IUnknown {
   6238   public:
   6239     virtual HRESULT WINAPI LoadDllServer(REFCLSID Clsid) = 0;
   6240     virtual HRESULT WINAPI FreeSurrogate(void) = 0;
   6241   };
   6242 #else
   6243   typedef struct ISurrogateVtbl {
   6244     BEGIN_INTERFACE
   6245       HRESULT (WINAPI *QueryInterface)(ISurrogate *This,REFIID riid,void **ppvObject);
   6246       ULONG (WINAPI *AddRef)(ISurrogate *This);
   6247       ULONG (WINAPI *Release)(ISurrogate *This);
   6248       HRESULT (WINAPI *LoadDllServer)(ISurrogate *This,REFCLSID Clsid);
   6249       HRESULT (WINAPI *FreeSurrogate)(ISurrogate *This);
   6250     END_INTERFACE
   6251   } ISurrogateVtbl;
   6252   struct ISurrogate {
   6253     CONST_VTBL struct ISurrogateVtbl *lpVtbl;
   6254   };
   6255 #ifdef COBJMACROS
   6256 #define ISurrogate_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   6257 #define ISurrogate_AddRef(This) (This)->lpVtbl->AddRef(This)
   6258 #define ISurrogate_Release(This) (This)->lpVtbl->Release(This)
   6259 #define ISurrogate_LoadDllServer(This,Clsid) (This)->lpVtbl->LoadDllServer(This,Clsid)
   6260 #define ISurrogate_FreeSurrogate(This) (This)->lpVtbl->FreeSurrogate(This)
   6261 #endif
   6262 #endif
   6263   HRESULT WINAPI ISurrogate_LoadDllServer_Proxy(ISurrogate *This,REFCLSID Clsid);
   6264   void __RPC_STUB ISurrogate_LoadDllServer_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   6265   HRESULT WINAPI ISurrogate_FreeSurrogate_Proxy(ISurrogate *This);
   6266   void __RPC_STUB ISurrogate_FreeSurrogate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   6267 #endif
   6268 
   6269 #ifndef __IGlobalInterfaceTable_INTERFACE_DEFINED__
   6270 #define __IGlobalInterfaceTable_INTERFACE_DEFINED__
   6271   typedef IGlobalInterfaceTable *LPGLOBALINTERFACETABLE;
   6272 
   6273   EXTERN_C const IID IID_IGlobalInterfaceTable;
   6274 #if defined(__cplusplus) && !defined(CINTERFACE)
   6275   struct IGlobalInterfaceTable : public IUnknown {
   6276   public:
   6277     virtual HRESULT WINAPI RegisterInterfaceInGlobal(IUnknown *pUnk,REFIID riid,DWORD *pdwCookie) = 0;
   6278     virtual HRESULT WINAPI RevokeInterfaceFromGlobal(DWORD dwCookie) = 0;
   6279     virtual HRESULT WINAPI GetInterfaceFromGlobal(DWORD dwCookie,REFIID riid,void **ppv) = 0;
   6280   };
   6281 #else
   6282   typedef struct IGlobalInterfaceTableVtbl {
   6283     BEGIN_INTERFACE
   6284       HRESULT (WINAPI *QueryInterface)(IGlobalInterfaceTable *This,REFIID riid,void **ppvObject);
   6285       ULONG (WINAPI *AddRef)(IGlobalInterfaceTable *This);
   6286       ULONG (WINAPI *Release)(IGlobalInterfaceTable *This);
   6287       HRESULT (WINAPI *RegisterInterfaceInGlobal)(IGlobalInterfaceTable *This,IUnknown *pUnk,REFIID riid,DWORD *pdwCookie);
   6288       HRESULT (WINAPI *RevokeInterfaceFromGlobal)(IGlobalInterfaceTable *This,DWORD dwCookie);
   6289       HRESULT (WINAPI *GetInterfaceFromGlobal)(IGlobalInterfaceTable *This,DWORD dwCookie,REFIID riid,void **ppv);
   6290     END_INTERFACE
   6291   } IGlobalInterfaceTableVtbl;
   6292   struct IGlobalInterfaceTable {
   6293     CONST_VTBL struct IGlobalInterfaceTableVtbl *lpVtbl;
   6294   };
   6295 #ifdef COBJMACROS
   6296 #define IGlobalInterfaceTable_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   6297 #define IGlobalInterfaceTable_AddRef(This) (This)->lpVtbl->AddRef(This)
   6298 #define IGlobalInterfaceTable_Release(This) (This)->lpVtbl->Release(This)
   6299 #define IGlobalInterfaceTable_RegisterInterfaceInGlobal(This,pUnk,riid,pdwCookie) (This)->lpVtbl->RegisterInterfaceInGlobal(This,pUnk,riid,pdwCookie)
   6300 #define IGlobalInterfaceTable_RevokeInterfaceFromGlobal(This,dwCookie) (This)->lpVtbl->RevokeInterfaceFromGlobal(This,dwCookie)
   6301 #define IGlobalInterfaceTable_GetInterfaceFromGlobal(This,dwCookie,riid,ppv) (This)->lpVtbl->GetInterfaceFromGlobal(This,dwCookie,riid,ppv)
   6302 #endif
   6303 #endif
   6304   HRESULT WINAPI IGlobalInterfaceTable_RegisterInterfaceInGlobal_Proxy(IGlobalInterfaceTable *This,IUnknown *pUnk,REFIID riid,DWORD *pdwCookie);
   6305   void __RPC_STUB IGlobalInterfaceTable_RegisterInterfaceInGlobal_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   6306   HRESULT WINAPI IGlobalInterfaceTable_RevokeInterfaceFromGlobal_Proxy(IGlobalInterfaceTable *This,DWORD dwCookie);
   6307   void __RPC_STUB IGlobalInterfaceTable_RevokeInterfaceFromGlobal_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   6308   HRESULT WINAPI IGlobalInterfaceTable_GetInterfaceFromGlobal_Proxy(IGlobalInterfaceTable *This,DWORD dwCookie,REFIID riid,void **ppv);
   6309   void __RPC_STUB IGlobalInterfaceTable_GetInterfaceFromGlobal_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   6310 #endif
   6311 
   6312 #ifndef __IDirectWriterLock_INTERFACE_DEFINED__
   6313 #define __IDirectWriterLock_INTERFACE_DEFINED__
   6314   EXTERN_C const IID IID_IDirectWriterLock;
   6315 #if defined(__cplusplus) && !defined(CINTERFACE)
   6316   struct IDirectWriterLock : public IUnknown {
   6317   public:
   6318     virtual HRESULT WINAPI WaitForWriteAccess(DWORD dwTimeout) = 0;
   6319     virtual HRESULT WINAPI ReleaseWriteAccess(void) = 0;
   6320     virtual HRESULT WINAPI HaveWriteAccess(void) = 0;
   6321   };
   6322 #else
   6323   typedef struct IDirectWriterLockVtbl {
   6324     BEGIN_INTERFACE
   6325       HRESULT (WINAPI *QueryInterface)(IDirectWriterLock *This,REFIID riid,void **ppvObject);
   6326       ULONG (WINAPI *AddRef)(IDirectWriterLock *This);
   6327       ULONG (WINAPI *Release)(IDirectWriterLock *This);
   6328       HRESULT (WINAPI *WaitForWriteAccess)(IDirectWriterLock *This,DWORD dwTimeout);
   6329       HRESULT (WINAPI *ReleaseWriteAccess)(IDirectWriterLock *This);
   6330       HRESULT (WINAPI *HaveWriteAccess)(IDirectWriterLock *This);
   6331     END_INTERFACE
   6332   } IDirectWriterLockVtbl;
   6333   struct IDirectWriterLock {
   6334     CONST_VTBL struct IDirectWriterLockVtbl *lpVtbl;
   6335   };
   6336 #ifdef COBJMACROS
   6337 #define IDirectWriterLock_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   6338 #define IDirectWriterLock_AddRef(This) (This)->lpVtbl->AddRef(This)
   6339 #define IDirectWriterLock_Release(This) (This)->lpVtbl->Release(This)
   6340 #define IDirectWriterLock_WaitForWriteAccess(This,dwTimeout) (This)->lpVtbl->WaitForWriteAccess(This,dwTimeout)
   6341 #define IDirectWriterLock_ReleaseWriteAccess(This) (This)->lpVtbl->ReleaseWriteAccess(This)
   6342 #define IDirectWriterLock_HaveWriteAccess(This) (This)->lpVtbl->HaveWriteAccess(This)
   6343 #endif
   6344 #endif
   6345   HRESULT WINAPI IDirectWriterLock_WaitForWriteAccess_Proxy(IDirectWriterLock *This,DWORD dwTimeout);
   6346   void __RPC_STUB IDirectWriterLock_WaitForWriteAccess_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   6347   HRESULT WINAPI IDirectWriterLock_ReleaseWriteAccess_Proxy(IDirectWriterLock *This);
   6348   void __RPC_STUB IDirectWriterLock_ReleaseWriteAccess_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   6349   HRESULT WINAPI IDirectWriterLock_HaveWriteAccess_Proxy(IDirectWriterLock *This);
   6350   void __RPC_STUB IDirectWriterLock_HaveWriteAccess_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   6351 #endif
   6352 
   6353 #ifndef __ISynchronize_INTERFACE_DEFINED__
   6354 #define __ISynchronize_INTERFACE_DEFINED__
   6355   EXTERN_C const IID IID_ISynchronize;
   6356 #if defined(__cplusplus) && !defined(CINTERFACE)
   6357   struct ISynchronize : public IUnknown {
   6358   public:
   6359     virtual HRESULT WINAPI Wait(DWORD dwFlags,DWORD dwMilliseconds) = 0;
   6360     virtual HRESULT WINAPI Signal(void) = 0;
   6361     virtual HRESULT WINAPI Reset(void) = 0;
   6362   };
   6363 #else
   6364   typedef struct ISynchronizeVtbl {
   6365     BEGIN_INTERFACE
   6366       HRESULT (WINAPI *QueryInterface)(ISynchronize *This,REFIID riid,void **ppvObject);
   6367       ULONG (WINAPI *AddRef)(ISynchronize *This);
   6368       ULONG (WINAPI *Release)(ISynchronize *This);
   6369       HRESULT (WINAPI *Wait)(ISynchronize *This,DWORD dwFlags,DWORD dwMilliseconds);
   6370       HRESULT (WINAPI *Signal)(ISynchronize *This);
   6371       HRESULT (WINAPI *Reset)(ISynchronize *This);
   6372     END_INTERFACE
   6373   } ISynchronizeVtbl;
   6374   struct ISynchronize {
   6375     CONST_VTBL struct ISynchronizeVtbl *lpVtbl;
   6376   };
   6377 #ifdef COBJMACROS
   6378 #define ISynchronize_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   6379 #define ISynchronize_AddRef(This) (This)->lpVtbl->AddRef(This)
   6380 #define ISynchronize_Release(This) (This)->lpVtbl->Release(This)
   6381 #define ISynchronize_Wait(This,dwFlags,dwMilliseconds) (This)->lpVtbl->Wait(This,dwFlags,dwMilliseconds)
   6382 #define ISynchronize_Signal(This) (This)->lpVtbl->Signal(This)
   6383 #define ISynchronize_Reset(This) (This)->lpVtbl->Reset(This)
   6384 #endif
   6385 #endif
   6386   HRESULT WINAPI ISynchronize_Wait_Proxy(ISynchronize *This,DWORD dwFlags,DWORD dwMilliseconds);
   6387   void __RPC_STUB ISynchronize_Wait_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   6388   HRESULT WINAPI ISynchronize_Signal_Proxy(ISynchronize *This);
   6389   void __RPC_STUB ISynchronize_Signal_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   6390   HRESULT WINAPI ISynchronize_Reset_Proxy(ISynchronize *This);
   6391   void __RPC_STUB ISynchronize_Reset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   6392 #endif
   6393 
   6394 #ifndef __ISynchronizeHandle_INTERFACE_DEFINED__
   6395 #define __ISynchronizeHandle_INTERFACE_DEFINED__
   6396   EXTERN_C const IID IID_ISynchronizeHandle;
   6397 #if defined(__cplusplus) && !defined(CINTERFACE)
   6398   struct ISynchronizeHandle : public IUnknown {
   6399   public:
   6400     virtual HRESULT WINAPI GetHandle(HANDLE *ph) = 0;
   6401   };
   6402 #else
   6403   typedef struct ISynchronizeHandleVtbl {
   6404     BEGIN_INTERFACE
   6405       HRESULT (WINAPI *QueryInterface)(ISynchronizeHandle *This,REFIID riid,void **ppvObject);
   6406       ULONG (WINAPI *AddRef)(ISynchronizeHandle *This);
   6407       ULONG (WINAPI *Release)(ISynchronizeHandle *This);
   6408       HRESULT (WINAPI *GetHandle)(ISynchronizeHandle *This,HANDLE *ph);
   6409     END_INTERFACE
   6410   } ISynchronizeHandleVtbl;
   6411   struct ISynchronizeHandle {
   6412     CONST_VTBL struct ISynchronizeHandleVtbl *lpVtbl;
   6413   };
   6414 #ifdef COBJMACROS
   6415 #define ISynchronizeHandle_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   6416 #define ISynchronizeHandle_AddRef(This) (This)->lpVtbl->AddRef(This)
   6417 #define ISynchronizeHandle_Release(This) (This)->lpVtbl->Release(This)
   6418 #define ISynchronizeHandle_GetHandle(This,ph) (This)->lpVtbl->GetHandle(This,ph)
   6419 #endif
   6420 #endif
   6421   HRESULT WINAPI ISynchronizeHandle_GetHandle_Proxy(ISynchronizeHandle *This,HANDLE *ph);
   6422   void __RPC_STUB ISynchronizeHandle_GetHandle_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   6423 #endif
   6424 
   6425 #ifndef __ISynchronizeEvent_INTERFACE_DEFINED__
   6426 #define __ISynchronizeEvent_INTERFACE_DEFINED__
   6427   EXTERN_C const IID IID_ISynchronizeEvent;
   6428 #if defined(__cplusplus) && !defined(CINTERFACE)
   6429   struct ISynchronizeEvent : public ISynchronizeHandle {
   6430   public:
   6431     virtual HRESULT WINAPI SetEventHandle(HANDLE *ph) = 0;
   6432   };
   6433 #else
   6434   typedef struct ISynchronizeEventVtbl {
   6435     BEGIN_INTERFACE
   6436       HRESULT (WINAPI *QueryInterface)(ISynchronizeEvent *This,REFIID riid,void **ppvObject);
   6437       ULONG (WINAPI *AddRef)(ISynchronizeEvent *This);
   6438       ULONG (WINAPI *Release)(ISynchronizeEvent *This);
   6439       HRESULT (WINAPI *GetHandle)(ISynchronizeEvent *This,HANDLE *ph);
   6440       HRESULT (WINAPI *SetEventHandle)(ISynchronizeEvent *This,HANDLE *ph);
   6441     END_INTERFACE
   6442   } ISynchronizeEventVtbl;
   6443   struct ISynchronizeEvent {
   6444     CONST_VTBL struct ISynchronizeEventVtbl *lpVtbl;
   6445   };
   6446 #ifdef COBJMACROS
   6447 #define ISynchronizeEvent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   6448 #define ISynchronizeEvent_AddRef(This) (This)->lpVtbl->AddRef(This)
   6449 #define ISynchronizeEvent_Release(This) (This)->lpVtbl->Release(This)
   6450 #define ISynchronizeEvent_GetHandle(This,ph) (This)->lpVtbl->GetHandle(This,ph)
   6451 #define ISynchronizeEvent_SetEventHandle(This,ph) (This)->lpVtbl->SetEventHandle(This,ph)
   6452 #endif
   6453 #endif
   6454   HRESULT WINAPI ISynchronizeEvent_SetEventHandle_Proxy(ISynchronizeEvent *This,HANDLE *ph);
   6455   void __RPC_STUB ISynchronizeEvent_SetEventHandle_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   6456 #endif
   6457 
   6458 #ifndef __ISynchronizeContainer_INTERFACE_DEFINED__
   6459 #define __ISynchronizeContainer_INTERFACE_DEFINED__
   6460   EXTERN_C const IID IID_ISynchronizeContainer;
   6461 #if defined(__cplusplus) && !defined(CINTERFACE)
   6462   struct ISynchronizeContainer : public IUnknown {
   6463   public:
   6464     virtual HRESULT WINAPI AddSynchronize(ISynchronize *pSync) = 0;
   6465     virtual HRESULT WINAPI WaitMultiple(DWORD dwFlags,DWORD dwTimeOut,ISynchronize **ppSync) = 0;
   6466   };
   6467 #else
   6468   typedef struct ISynchronizeContainerVtbl {
   6469     BEGIN_INTERFACE
   6470       HRESULT (WINAPI *QueryInterface)(ISynchronizeContainer *This,REFIID riid,void **ppvObject);
   6471       ULONG (WINAPI *AddRef)(ISynchronizeContainer *This);
   6472       ULONG (WINAPI *Release)(ISynchronizeContainer *This);
   6473       HRESULT (WINAPI *AddSynchronize)(ISynchronizeContainer *This,ISynchronize *pSync);
   6474       HRESULT (WINAPI *WaitMultiple)(ISynchronizeContainer *This,DWORD dwFlags,DWORD dwTimeOut,ISynchronize **ppSync);
   6475     END_INTERFACE
   6476   } ISynchronizeContainerVtbl;
   6477   struct ISynchronizeContainer {
   6478     CONST_VTBL struct ISynchronizeContainerVtbl *lpVtbl;
   6479   };
   6480 #ifdef COBJMACROS
   6481 #define ISynchronizeContainer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   6482 #define ISynchronizeContainer_AddRef(This) (This)->lpVtbl->AddRef(This)
   6483 #define ISynchronizeContainer_Release(This) (This)->lpVtbl->Release(This)
   6484 #define ISynchronizeContainer_AddSynchronize(This,pSync) (This)->lpVtbl->AddSynchronize(This,pSync)
   6485 #define ISynchronizeContainer_WaitMultiple(This,dwFlags,dwTimeOut,ppSync) (This)->lpVtbl->WaitMultiple(This,dwFlags,dwTimeOut,ppSync)
   6486 #endif
   6487 #endif
   6488   HRESULT WINAPI ISynchronizeContainer_AddSynchronize_Proxy(ISynchronizeContainer *This,ISynchronize *pSync);
   6489   void __RPC_STUB ISynchronizeContainer_AddSynchronize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   6490   HRESULT WINAPI ISynchronizeContainer_WaitMultiple_Proxy(ISynchronizeContainer *This,DWORD dwFlags,DWORD dwTimeOut,ISynchronize **ppSync);
   6491   void __RPC_STUB ISynchronizeContainer_WaitMultiple_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   6492 #endif
   6493 
   6494 #ifndef __ISynchronizeMutex_INTERFACE_DEFINED__
   6495 #define __ISynchronizeMutex_INTERFACE_DEFINED__
   6496   EXTERN_C const IID IID_ISynchronizeMutex;
   6497 #if defined(__cplusplus) && !defined(CINTERFACE)
   6498   struct ISynchronizeMutex : public ISynchronize {
   6499   public:
   6500     virtual HRESULT WINAPI ReleaseMutex(void) = 0;
   6501   };
   6502 #else
   6503   typedef struct ISynchronizeMutexVtbl {
   6504     BEGIN_INTERFACE
   6505       HRESULT (WINAPI *QueryInterface)(ISynchronizeMutex *This,REFIID riid,void **ppvObject);
   6506       ULONG (WINAPI *AddRef)(ISynchronizeMutex *This);
   6507       ULONG (WINAPI *Release)(ISynchronizeMutex *This);
   6508       HRESULT (WINAPI *Wait)(ISynchronizeMutex *This,DWORD dwFlags,DWORD dwMilliseconds);
   6509       HRESULT (WINAPI *Signal)(ISynchronizeMutex *This);
   6510       HRESULT (WINAPI *Reset)(ISynchronizeMutex *This);
   6511       HRESULT (WINAPI *ReleaseMutex)(ISynchronizeMutex *This);
   6512     END_INTERFACE
   6513   } ISynchronizeMutexVtbl;
   6514   struct ISynchronizeMutex {
   6515     CONST_VTBL struct ISynchronizeMutexVtbl *lpVtbl;
   6516   };
   6517 #ifdef COBJMACROS
   6518 #define ISynchronizeMutex_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   6519 #define ISynchronizeMutex_AddRef(This) (This)->lpVtbl->AddRef(This)
   6520 #define ISynchronizeMutex_Release(This) (This)->lpVtbl->Release(This)
   6521 #define ISynchronizeMutex_Wait(This,dwFlags,dwMilliseconds) (This)->lpVtbl->Wait(This,dwFlags,dwMilliseconds)
   6522 #define ISynchronizeMutex_Signal(This) (This)->lpVtbl->Signal(This)
   6523 #define ISynchronizeMutex_Reset(This) (This)->lpVtbl->Reset(This)
   6524 #define ISynchronizeMutex_ReleaseMutex(This) (This)->lpVtbl->ReleaseMutex(This)
   6525 #endif
   6526 #endif
   6527   HRESULT WINAPI ISynchronizeMutex_ReleaseMutex_Proxy(ISynchronizeMutex *This);
   6528   void __RPC_STUB ISynchronizeMutex_ReleaseMutex_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   6529 #endif
   6530 
   6531 #ifndef __ICancelMethodCalls_INTERFACE_DEFINED__
   6532 #define __ICancelMethodCalls_INTERFACE_DEFINED__
   6533   typedef ICancelMethodCalls *LPCANCELMETHODCALLS;
   6534 
   6535   EXTERN_C const IID IID_ICancelMethodCalls;
   6536 #if defined(__cplusplus) && !defined(CINTERFACE)
   6537   struct ICancelMethodCalls : public IUnknown {
   6538   public:
   6539     virtual HRESULT WINAPI Cancel(ULONG ulSeconds) = 0;
   6540     virtual HRESULT WINAPI TestCancel(void) = 0;
   6541   };
   6542 #else
   6543   typedef struct ICancelMethodCallsVtbl {
   6544     BEGIN_INTERFACE
   6545       HRESULT (WINAPI *QueryInterface)(ICancelMethodCalls *This,REFIID riid,void **ppvObject);
   6546       ULONG (WINAPI *AddRef)(ICancelMethodCalls *This);
   6547       ULONG (WINAPI *Release)(ICancelMethodCalls *This);
   6548       HRESULT (WINAPI *Cancel)(ICancelMethodCalls *This,ULONG ulSeconds);
   6549       HRESULT (WINAPI *TestCancel)(ICancelMethodCalls *This);
   6550     END_INTERFACE
   6551   } ICancelMethodCallsVtbl;
   6552   struct ICancelMethodCalls {
   6553     CONST_VTBL struct ICancelMethodCallsVtbl *lpVtbl;
   6554   };
   6555 #ifdef COBJMACROS
   6556 #define ICancelMethodCalls_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   6557 #define ICancelMethodCalls_AddRef(This) (This)->lpVtbl->AddRef(This)
   6558 #define ICancelMethodCalls_Release(This) (This)->lpVtbl->Release(This)
   6559 #define ICancelMethodCalls_Cancel(This,ulSeconds) (This)->lpVtbl->Cancel(This,ulSeconds)
   6560 #define ICancelMethodCalls_TestCancel(This) (This)->lpVtbl->TestCancel(This)
   6561 #endif
   6562 #endif
   6563   HRESULT WINAPI ICancelMethodCalls_Cancel_Proxy(ICancelMethodCalls *This,ULONG ulSeconds);
   6564   void __RPC_STUB ICancelMethodCalls_Cancel_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   6565   HRESULT WINAPI ICancelMethodCalls_TestCancel_Proxy(ICancelMethodCalls *This);
   6566   void __RPC_STUB ICancelMethodCalls_TestCancel_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   6567 #endif
   6568 
   6569 #ifndef __IAsyncManager_INTERFACE_DEFINED__
   6570 #define __IAsyncManager_INTERFACE_DEFINED__
   6571   typedef enum tagDCOM_CALL_STATE {
   6572     DCOM_NONE = 0,DCOM_CALL_COMPLETE = 0x1,DCOM_CALL_CANCELED = 0x2
   6573   } DCOM_CALL_STATE;
   6574 
   6575   EXTERN_C const IID IID_IAsyncManager;
   6576 #if defined(__cplusplus) && !defined(CINTERFACE)
   6577   struct IAsyncManager : public IUnknown {
   6578   public:
   6579     virtual HRESULT WINAPI CompleteCall(HRESULT Result) = 0;
   6580     virtual HRESULT WINAPI GetCallContext(REFIID riid,void **pInterface) = 0;
   6581     virtual HRESULT WINAPI GetState(ULONG *pulStateFlags) = 0;
   6582   };
   6583 #else
   6584   typedef struct IAsyncManagerVtbl {
   6585     BEGIN_INTERFACE
   6586       HRESULT (WINAPI *QueryInterface)(IAsyncManager *This,REFIID riid,void **ppvObject);
   6587       ULONG (WINAPI *AddRef)(IAsyncManager *This);
   6588       ULONG (WINAPI *Release)(IAsyncManager *This);
   6589       HRESULT (WINAPI *CompleteCall)(IAsyncManager *This,HRESULT Result);
   6590       HRESULT (WINAPI *GetCallContext)(IAsyncManager *This,REFIID riid,void **pInterface);
   6591       HRESULT (WINAPI *GetState)(IAsyncManager *This,ULONG *pulStateFlags);
   6592     END_INTERFACE
   6593   } IAsyncManagerVtbl;
   6594   struct IAsyncManager {
   6595     CONST_VTBL struct IAsyncManagerVtbl *lpVtbl;
   6596   };
   6597 #ifdef COBJMACROS
   6598 #define IAsyncManager_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   6599 #define IAsyncManager_AddRef(This) (This)->lpVtbl->AddRef(This)
   6600 #define IAsyncManager_Release(This) (This)->lpVtbl->Release(This)
   6601 #define IAsyncManager_CompleteCall(This,Result) (This)->lpVtbl->CompleteCall(This,Result)
   6602 #define IAsyncManager_GetCallContext(This,riid,pInterface) (This)->lpVtbl->GetCallContext(This,riid,pInterface)
   6603 #define IAsyncManager_GetState(This,pulStateFlags) (This)->lpVtbl->GetState(This,pulStateFlags)
   6604 #endif
   6605 #endif
   6606   HRESULT WINAPI IAsyncManager_CompleteCall_Proxy(IAsyncManager *This,HRESULT Result);
   6607   void __RPC_STUB IAsyncManager_CompleteCall_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   6608   HRESULT WINAPI IAsyncManager_GetCallContext_Proxy(IAsyncManager *This,REFIID riid,void **pInterface);
   6609   void __RPC_STUB IAsyncManager_GetCallContext_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   6610   HRESULT WINAPI IAsyncManager_GetState_Proxy(IAsyncManager *This,ULONG *pulStateFlags);
   6611   void __RPC_STUB IAsyncManager_GetState_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   6612 #endif
   6613 
   6614 #ifndef __ICallFactory_INTERFACE_DEFINED__
   6615 #define __ICallFactory_INTERFACE_DEFINED__
   6616   EXTERN_C const IID IID_ICallFactory;
   6617 #if defined(__cplusplus) && !defined(CINTERFACE)
   6618   struct ICallFactory : public IUnknown {
   6619   public:
   6620     virtual HRESULT WINAPI CreateCall(REFIID riid,IUnknown *pCtrlUnk,REFIID riid2,IUnknown **ppv) = 0;
   6621   };
   6622 #else
   6623   typedef struct ICallFactoryVtbl {
   6624     BEGIN_INTERFACE
   6625       HRESULT (WINAPI *QueryInterface)(ICallFactory *This,REFIID riid,void **ppvObject);
   6626       ULONG (WINAPI *AddRef)(ICallFactory *This);
   6627       ULONG (WINAPI *Release)(ICallFactory *This);
   6628       HRESULT (WINAPI *CreateCall)(ICallFactory *This,REFIID riid,IUnknown *pCtrlUnk,REFIID riid2,IUnknown **ppv);
   6629     END_INTERFACE
   6630   } ICallFactoryVtbl;
   6631   struct ICallFactory {
   6632     CONST_VTBL struct ICallFactoryVtbl *lpVtbl;
   6633   };
   6634 #ifdef COBJMACROS
   6635 #define ICallFactory_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   6636 #define ICallFactory_AddRef(This) (This)->lpVtbl->AddRef(This)
   6637 #define ICallFactory_Release(This) (This)->lpVtbl->Release(This)
   6638 #define ICallFactory_CreateCall(This,riid,pCtrlUnk,riid2,ppv) (This)->lpVtbl->CreateCall(This,riid,pCtrlUnk,riid2,ppv)
   6639 #endif
   6640 #endif
   6641   HRESULT WINAPI ICallFactory_CreateCall_Proxy(ICallFactory *This,REFIID riid,IUnknown *pCtrlUnk,REFIID riid2,IUnknown **ppv);
   6642   void __RPC_STUB ICallFactory_CreateCall_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   6643 #endif
   6644 
   6645 #ifndef __IRpcHelper_INTERFACE_DEFINED__
   6646 #define __IRpcHelper_INTERFACE_DEFINED__
   6647   EXTERN_C const IID IID_IRpcHelper;
   6648 #if defined(__cplusplus) && !defined(CINTERFACE)
   6649   struct IRpcHelper : public IUnknown {
   6650   public:
   6651     virtual HRESULT WINAPI GetDCOMProtocolVersion(DWORD *pComVersion) = 0;
   6652     virtual HRESULT WINAPI GetIIDFromOBJREF(void *pObjRef,IID **piid) = 0;
   6653   };
   6654 #else
   6655   typedef struct IRpcHelperVtbl {
   6656     BEGIN_INTERFACE
   6657       HRESULT (WINAPI *QueryInterface)(IRpcHelper *This,REFIID riid,void **ppvObject);
   6658       ULONG (WINAPI *AddRef)(IRpcHelper *This);
   6659       ULONG (WINAPI *Release)(IRpcHelper *This);
   6660       HRESULT (WINAPI *GetDCOMProtocolVersion)(IRpcHelper *This,DWORD *pComVersion);
   6661       HRESULT (WINAPI *GetIIDFromOBJREF)(IRpcHelper *This,void *pObjRef,IID **piid);
   6662     END_INTERFACE
   6663   } IRpcHelperVtbl;
   6664   struct IRpcHelper {
   6665     CONST_VTBL struct IRpcHelperVtbl *lpVtbl;
   6666   };
   6667 #ifdef COBJMACROS
   6668 #define IRpcHelper_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   6669 #define IRpcHelper_AddRef(This) (This)->lpVtbl->AddRef(This)
   6670 #define IRpcHelper_Release(This) (This)->lpVtbl->Release(This)
   6671 #define IRpcHelper_GetDCOMProtocolVersion(This,pComVersion) (This)->lpVtbl->GetDCOMProtocolVersion(This,pComVersion)
   6672 #define IRpcHelper_GetIIDFromOBJREF(This,pObjRef,piid) (This)->lpVtbl->GetIIDFromOBJREF(This,pObjRef,piid)
   6673 #endif
   6674 #endif
   6675   HRESULT WINAPI IRpcHelper_GetDCOMProtocolVersion_Proxy(IRpcHelper *This,DWORD *pComVersion);
   6676   void __RPC_STUB IRpcHelper_GetDCOMProtocolVersion_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   6677   HRESULT WINAPI IRpcHelper_GetIIDFromOBJREF_Proxy(IRpcHelper *This,void *pObjRef,IID **piid);
   6678   void __RPC_STUB IRpcHelper_GetIIDFromOBJREF_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   6679 #endif
   6680 
   6681 #ifndef __IReleaseMarshalBuffers_INTERFACE_DEFINED__
   6682 #define __IReleaseMarshalBuffers_INTERFACE_DEFINED__
   6683   EXTERN_C const IID IID_IReleaseMarshalBuffers;
   6684 #if defined(__cplusplus) && !defined(CINTERFACE)
   6685   struct IReleaseMarshalBuffers : public IUnknown {
   6686   public:
   6687     virtual HRESULT WINAPI ReleaseMarshalBuffer(RPCOLEMESSAGE *pMsg,DWORD dwFlags,IUnknown *pChnl) = 0;
   6688   };
   6689 #else
   6690   typedef struct IReleaseMarshalBuffersVtbl {
   6691     BEGIN_INTERFACE
   6692       HRESULT (WINAPI *QueryInterface)(IReleaseMarshalBuffers *This,REFIID riid,void **ppvObject);
   6693       ULONG (WINAPI *AddRef)(IReleaseMarshalBuffers *This);
   6694       ULONG (WINAPI *Release)(IReleaseMarshalBuffers *This);
   6695       HRESULT (WINAPI *ReleaseMarshalBuffer)(IReleaseMarshalBuffers *This,RPCOLEMESSAGE *pMsg,DWORD dwFlags,IUnknown *pChnl);
   6696     END_INTERFACE
   6697   } IReleaseMarshalBuffersVtbl;
   6698   struct IReleaseMarshalBuffers {
   6699     CONST_VTBL struct IReleaseMarshalBuffersVtbl *lpVtbl;
   6700   };
   6701 #ifdef COBJMACROS
   6702 #define IReleaseMarshalBuffers_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   6703 #define IReleaseMarshalBuffers_AddRef(This) (This)->lpVtbl->AddRef(This)
   6704 #define IReleaseMarshalBuffers_Release(This) (This)->lpVtbl->Release(This)
   6705 #define IReleaseMarshalBuffers_ReleaseMarshalBuffer(This,pMsg,dwFlags,pChnl) (This)->lpVtbl->ReleaseMarshalBuffer(This,pMsg,dwFlags,pChnl)
   6706 #endif
   6707 #endif
   6708   HRESULT WINAPI IReleaseMarshalBuffers_ReleaseMarshalBuffer_Proxy(IReleaseMarshalBuffers *This,RPCOLEMESSAGE *pMsg,DWORD dwFlags,IUnknown *pChnl);
   6709   void __RPC_STUB IReleaseMarshalBuffers_ReleaseMarshalBuffer_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   6710 #endif
   6711 
   6712 #ifndef __IWaitMultiple_INTERFACE_DEFINED__
   6713 #define __IWaitMultiple_INTERFACE_DEFINED__
   6714   EXTERN_C const IID IID_IWaitMultiple;
   6715 #if defined(__cplusplus) && !defined(CINTERFACE)
   6716   struct IWaitMultiple : public IUnknown {
   6717   public:
   6718     virtual HRESULT WINAPI WaitMultiple(DWORD timeout,ISynchronize **pSync) = 0;
   6719     virtual HRESULT WINAPI AddSynchronize(ISynchronize *pSync) = 0;
   6720   };
   6721 #else
   6722   typedef struct IWaitMultipleVtbl {
   6723     BEGIN_INTERFACE
   6724       HRESULT (WINAPI *QueryInterface)(IWaitMultiple *This,REFIID riid,void **ppvObject);
   6725       ULONG (WINAPI *AddRef)(IWaitMultiple *This);
   6726       ULONG (WINAPI *Release)(IWaitMultiple *This);
   6727       HRESULT (WINAPI *WaitMultiple)(IWaitMultiple *This,DWORD timeout,ISynchronize **pSync);
   6728       HRESULT (WINAPI *AddSynchronize)(IWaitMultiple *This,ISynchronize *pSync);
   6729     END_INTERFACE
   6730   } IWaitMultipleVtbl;
   6731   struct IWaitMultiple {
   6732     CONST_VTBL struct IWaitMultipleVtbl *lpVtbl;
   6733   };
   6734 #ifdef COBJMACROS
   6735 #define IWaitMultiple_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   6736 #define IWaitMultiple_AddRef(This) (This)->lpVtbl->AddRef(This)
   6737 #define IWaitMultiple_Release(This) (This)->lpVtbl->Release(This)
   6738 #define IWaitMultiple_WaitMultiple(This,timeout,pSync) (This)->lpVtbl->WaitMultiple(This,timeout,pSync)
   6739 #define IWaitMultiple_AddSynchronize(This,pSync) (This)->lpVtbl->AddSynchronize(This,pSync)
   6740 #endif
   6741 #endif
   6742   HRESULT WINAPI IWaitMultiple_WaitMultiple_Proxy(IWaitMultiple *This,DWORD timeout,ISynchronize **pSync);
   6743   void __RPC_STUB IWaitMultiple_WaitMultiple_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   6744   HRESULT WINAPI IWaitMultiple_AddSynchronize_Proxy(IWaitMultiple *This,ISynchronize *pSync);
   6745   void __RPC_STUB IWaitMultiple_AddSynchronize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   6746 #endif
   6747 
   6748 #ifndef __IUrlMon_INTERFACE_DEFINED__
   6749 #define __IUrlMon_INTERFACE_DEFINED__
   6750   EXTERN_C const IID IID_IUrlMon;
   6751 #if defined(__cplusplus) && !defined(CINTERFACE)
   6752   struct IUrlMon : public IUnknown {
   6753   public:
   6754     virtual HRESULT WINAPI AsyncGetClassBits(REFCLSID rclsid,LPCWSTR pszTYPE,LPCWSTR pszExt,DWORD dwFileVersionMS,DWORD dwFileVersionLS,LPCWSTR pszCodeBase,IBindCtx *pbc,DWORD dwClassContext,REFIID riid,DWORD flags) = 0;
   6755   };
   6756 #else
   6757   typedef struct IUrlMonVtbl {
   6758     BEGIN_INTERFACE
   6759       HRESULT (WINAPI *QueryInterface)(IUrlMon *This,REFIID riid,void **ppvObject);
   6760       ULONG (WINAPI *AddRef)(IUrlMon *This);
   6761       ULONG (WINAPI *Release)(IUrlMon *This);
   6762       HRESULT (WINAPI *AsyncGetClassBits)(IUrlMon *This,REFCLSID rclsid,LPCWSTR pszTYPE,LPCWSTR pszExt,DWORD dwFileVersionMS,DWORD dwFileVersionLS,LPCWSTR pszCodeBase,IBindCtx *pbc,DWORD dwClassContext,REFIID riid,DWORD flags);
   6763     END_INTERFACE
   6764   } IUrlMonVtbl;
   6765   struct IUrlMon {
   6766     CONST_VTBL struct IUrlMonVtbl *lpVtbl;
   6767   };
   6768 #ifdef COBJMACROS
   6769 #define IUrlMon_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   6770 #define IUrlMon_AddRef(This) (This)->lpVtbl->AddRef(This)
   6771 #define IUrlMon_Release(This) (This)->lpVtbl->Release(This)
   6772 #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)
   6773 #endif
   6774 #endif
   6775   HRESULT WINAPI IUrlMon_AsyncGetClassBits_Proxy(IUrlMon *This,REFCLSID rclsid,LPCWSTR pszTYPE,LPCWSTR pszExt,DWORD dwFileVersionMS,DWORD dwFileVersionLS,LPCWSTR pszCodeBase,IBindCtx *pbc,DWORD dwClassContext,REFIID riid,DWORD flags);
   6776   void __RPC_STUB IUrlMon_AsyncGetClassBits_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   6777 #endif
   6778 
   6779 #ifndef __IForegroundTransfer_INTERFACE_DEFINED__
   6780 #define __IForegroundTransfer_INTERFACE_DEFINED__
   6781   EXTERN_C const IID IID_IForegroundTransfer;
   6782 #if defined(__cplusplus) && !defined(CINTERFACE)
   6783   struct IForegroundTransfer : public IUnknown {
   6784   public:
   6785     virtual HRESULT WINAPI AllowForegroundTransfer(void *lpvReserved) = 0;
   6786   };
   6787 #else
   6788   typedef struct IForegroundTransferVtbl {
   6789     BEGIN_INTERFACE
   6790       HRESULT (WINAPI *QueryInterface)(IForegroundTransfer *This,REFIID riid,void **ppvObject);
   6791       ULONG (WINAPI *AddRef)(IForegroundTransfer *This);
   6792       ULONG (WINAPI *Release)(IForegroundTransfer *This);
   6793       HRESULT (WINAPI *AllowForegroundTransfer)(IForegroundTransfer *This,void *lpvReserved);
   6794     END_INTERFACE
   6795   } IForegroundTransferVtbl;
   6796   struct IForegroundTransfer {
   6797     CONST_VTBL struct IForegroundTransferVtbl *lpVtbl;
   6798   };
   6799 #ifdef COBJMACROS
   6800 #define IForegroundTransfer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   6801 #define IForegroundTransfer_AddRef(This) (This)->lpVtbl->AddRef(This)
   6802 #define IForegroundTransfer_Release(This) (This)->lpVtbl->Release(This)
   6803 #define IForegroundTransfer_AllowForegroundTransfer(This,lpvReserved) (This)->lpVtbl->AllowForegroundTransfer(This,lpvReserved)
   6804 #endif
   6805 #endif
   6806   HRESULT WINAPI IForegroundTransfer_AllowForegroundTransfer_Proxy(IForegroundTransfer *This,void *lpvReserved);
   6807   void __RPC_STUB IForegroundTransfer_AllowForegroundTransfer_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   6808 #endif
   6809 
   6810 #ifndef __IAddrTrackingControl_INTERFACE_DEFINED__
   6811 #define __IAddrTrackingControl_INTERFACE_DEFINED__
   6812   typedef IAddrTrackingControl *LPADDRTRACKINGCONTROL;
   6813 
   6814   EXTERN_C const IID IID_IAddrTrackingControl;
   6815 #if defined(__cplusplus) && !defined(CINTERFACE)
   6816   struct IAddrTrackingControl : public IUnknown {
   6817   public:
   6818     virtual HRESULT WINAPI EnableCOMDynamicAddrTracking(void) = 0;
   6819     virtual HRESULT WINAPI DisableCOMDynamicAddrTracking(void) = 0;
   6820   };
   6821 #else
   6822   typedef struct IAddrTrackingControlVtbl {
   6823     BEGIN_INTERFACE
   6824       HRESULT (WINAPI *QueryInterface)(IAddrTrackingControl *This,REFIID riid,void **ppvObject);
   6825       ULONG (WINAPI *AddRef)(IAddrTrackingControl *This);
   6826       ULONG (WINAPI *Release)(IAddrTrackingControl *This);
   6827       HRESULT (WINAPI *EnableCOMDynamicAddrTracking)(IAddrTrackingControl *This);
   6828       HRESULT (WINAPI *DisableCOMDynamicAddrTracking)(IAddrTrackingControl *This);
   6829     END_INTERFACE
   6830   } IAddrTrackingControlVtbl;
   6831   struct IAddrTrackingControl {
   6832     CONST_VTBL struct IAddrTrackingControlVtbl *lpVtbl;
   6833   };
   6834 #ifdef COBJMACROS
   6835 #define IAddrTrackingControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   6836 #define IAddrTrackingControl_AddRef(This) (This)->lpVtbl->AddRef(This)
   6837 #define IAddrTrackingControl_Release(This) (This)->lpVtbl->Release(This)
   6838 #define IAddrTrackingControl_EnableCOMDynamicAddrTracking(This) (This)->lpVtbl->EnableCOMDynamicAddrTracking(This)
   6839 #define IAddrTrackingControl_DisableCOMDynamicAddrTracking(This) (This)->lpVtbl->DisableCOMDynamicAddrTracking(This)
   6840 #endif
   6841 #endif
   6842   HRESULT WINAPI IAddrTrackingControl_EnableCOMDynamicAddrTracking_Proxy(IAddrTrackingControl *This);
   6843   void __RPC_STUB IAddrTrackingControl_EnableCOMDynamicAddrTracking_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   6844   HRESULT WINAPI IAddrTrackingControl_DisableCOMDynamicAddrTracking_Proxy(IAddrTrackingControl *This);
   6845   void __RPC_STUB IAddrTrackingControl_DisableCOMDynamicAddrTracking_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   6846 #endif
   6847 
   6848 #ifndef __IAddrExclusionControl_INTERFACE_DEFINED__
   6849 #define __IAddrExclusionControl_INTERFACE_DEFINED__
   6850   typedef IAddrExclusionControl *LPADDREXCLUSIONCONTROL;
   6851 
   6852   EXTERN_C const IID IID_IAddrExclusionControl;
   6853 #if defined(__cplusplus) && !defined(CINTERFACE)
   6854   struct IAddrExclusionControl : public IUnknown {
   6855   public:
   6856     virtual HRESULT WINAPI GetCurrentAddrExclusionList(REFIID riid,void **ppEnumerator) = 0;
   6857     virtual HRESULT WINAPI UpdateAddrExclusionList(IUnknown *pEnumerator) = 0;
   6858   };
   6859 #else
   6860   typedef struct IAddrExclusionControlVtbl {
   6861     BEGIN_INTERFACE
   6862       HRESULT (WINAPI *QueryInterface)(IAddrExclusionControl *This,REFIID riid,void **ppvObject);
   6863       ULONG (WINAPI *AddRef)(IAddrExclusionControl *This);
   6864       ULONG (WINAPI *Release)(IAddrExclusionControl *This);
   6865       HRESULT (WINAPI *GetCurrentAddrExclusionList)(IAddrExclusionControl *This,REFIID riid,void **ppEnumerator);
   6866       HRESULT (WINAPI *UpdateAddrExclusionList)(IAddrExclusionControl *This,IUnknown *pEnumerator);
   6867     END_INTERFACE
   6868   } IAddrExclusionControlVtbl;
   6869   struct IAddrExclusionControl {
   6870     CONST_VTBL struct IAddrExclusionControlVtbl *lpVtbl;
   6871   };
   6872 #ifdef COBJMACROS
   6873 #define IAddrExclusionControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   6874 #define IAddrExclusionControl_AddRef(This) (This)->lpVtbl->AddRef(This)
   6875 #define IAddrExclusionControl_Release(This) (This)->lpVtbl->Release(This)
   6876 #define IAddrExclusionControl_GetCurrentAddrExclusionList(This,riid,ppEnumerator) (This)->lpVtbl->GetCurrentAddrExclusionList(This,riid,ppEnumerator)
   6877 #define IAddrExclusionControl_UpdateAddrExclusionList(This,pEnumerator) (This)->lpVtbl->UpdateAddrExclusionList(This,pEnumerator)
   6878 #endif
   6879 #endif
   6880   HRESULT WINAPI IAddrExclusionControl_GetCurrentAddrExclusionList_Proxy(IAddrExclusionControl *This,REFIID riid,void **ppEnumerator);
   6881   void __RPC_STUB IAddrExclusionControl_GetCurrentAddrExclusionList_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   6882   HRESULT WINAPI IAddrExclusionControl_UpdateAddrExclusionList_Proxy(IAddrExclusionControl *This,IUnknown *pEnumerator);
   6883   void __RPC_STUB IAddrExclusionControl_UpdateAddrExclusionList_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   6884 #endif
   6885 
   6886 #ifndef __IPipeByte_INTERFACE_DEFINED__
   6887 #define __IPipeByte_INTERFACE_DEFINED__
   6888   EXTERN_C const IID IID_IPipeByte;
   6889 #if defined(__cplusplus) && !defined(CINTERFACE)
   6890   struct IPipeByte : public IUnknown {
   6891   public:
   6892     virtual HRESULT WINAPI Pull(BYTE *buf,ULONG cRequest,ULONG *pcReturned) = 0;
   6893     virtual HRESULT WINAPI Push(BYTE *buf,ULONG cSent) = 0;
   6894   };
   6895 #else
   6896   typedef struct IPipeByteVtbl {
   6897     BEGIN_INTERFACE
   6898       HRESULT (WINAPI *QueryInterface)(IPipeByte *This,REFIID riid,void **ppvObject);
   6899       ULONG (WINAPI *AddRef)(IPipeByte *This);
   6900       ULONG (WINAPI *Release)(IPipeByte *This);
   6901       HRESULT (WINAPI *Pull)(IPipeByte *This,BYTE *buf,ULONG cRequest,ULONG *pcReturned);
   6902       HRESULT (WINAPI *Push)(IPipeByte *This,BYTE *buf,ULONG cSent);
   6903     END_INTERFACE
   6904   } IPipeByteVtbl;
   6905   struct IPipeByte {
   6906     CONST_VTBL struct IPipeByteVtbl *lpVtbl;
   6907   };
   6908 #ifdef COBJMACROS
   6909 #define IPipeByte_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   6910 #define IPipeByte_AddRef(This) (This)->lpVtbl->AddRef(This)
   6911 #define IPipeByte_Release(This) (This)->lpVtbl->Release(This)
   6912 #define IPipeByte_Pull(This,buf,cRequest,pcReturned) (This)->lpVtbl->Pull(This,buf,cRequest,pcReturned)
   6913 #define IPipeByte_Push(This,buf,cSent) (This)->lpVtbl->Push(This,buf,cSent)
   6914 #endif
   6915 #endif
   6916   HRESULT WINAPI IPipeByte_Pull_Proxy(IPipeByte *This,BYTE *buf,ULONG cRequest,ULONG *pcReturned);
   6917   void __RPC_STUB IPipeByte_Pull_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   6918   HRESULT WINAPI IPipeByte_Push_Proxy(IPipeByte *This,BYTE *buf,ULONG cSent);
   6919   void __RPC_STUB IPipeByte_Push_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   6920 #endif
   6921 
   6922 #ifndef __AsyncIPipeByte_INTERFACE_DEFINED__
   6923 #define __AsyncIPipeByte_INTERFACE_DEFINED__
   6924   EXTERN_C const IID IID_AsyncIPipeByte;
   6925 #if defined(__cplusplus) && !defined(CINTERFACE)
   6926   struct AsyncIPipeByte : public IUnknown {
   6927   public:
   6928     virtual HRESULT WINAPI Begin_Pull(ULONG cRequest) = 0;
   6929     virtual HRESULT WINAPI Finish_Pull(BYTE *buf,ULONG *pcReturned) = 0;
   6930     virtual HRESULT WINAPI Begin_Push(BYTE *buf,ULONG cSent) = 0;
   6931     virtual HRESULT WINAPI Finish_Push(void) = 0;
   6932   };
   6933 #else
   6934   typedef struct AsyncIPipeByteVtbl {
   6935     BEGIN_INTERFACE
   6936       HRESULT (WINAPI *QueryInterface)(AsyncIPipeByte *This,REFIID riid,void **ppvObject);
   6937       ULONG (WINAPI *AddRef)(AsyncIPipeByte *This);
   6938       ULONG (WINAPI *Release)(AsyncIPipeByte *This);
   6939       HRESULT (WINAPI *Begin_Pull)(AsyncIPipeByte *This,ULONG cRequest);
   6940       HRESULT (WINAPI *Finish_Pull)(AsyncIPipeByte *This,BYTE *buf,ULONG *pcReturned);
   6941       HRESULT (WINAPI *Begin_Push)(AsyncIPipeByte *This,BYTE *buf,ULONG cSent);
   6942       HRESULT (WINAPI *Finish_Push)(AsyncIPipeByte *This);
   6943     END_INTERFACE
   6944   } AsyncIPipeByteVtbl;
   6945   struct AsyncIPipeByte {
   6946     CONST_VTBL struct AsyncIPipeByteVtbl *lpVtbl;
   6947   };
   6948 #ifdef COBJMACROS
   6949 #define AsyncIPipeByte_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   6950 #define AsyncIPipeByte_AddRef(This) (This)->lpVtbl->AddRef(This)
   6951 #define AsyncIPipeByte_Release(This) (This)->lpVtbl->Release(This)
   6952 #define AsyncIPipeByte_Begin_Pull(This,cRequest) (This)->lpVtbl->Begin_Pull(This,cRequest)
   6953 #define AsyncIPipeByte_Finish_Pull(This,buf,pcReturned) (This)->lpVtbl->Finish_Pull(This,buf,pcReturned)
   6954 #define AsyncIPipeByte_Begin_Push(This,buf,cSent) (This)->lpVtbl->Begin_Push(This,buf,cSent)
   6955 #define AsyncIPipeByte_Finish_Push(This) (This)->lpVtbl->Finish_Push(This)
   6956 #endif
   6957 #endif
   6958   HRESULT WINAPI AsyncIPipeByte_Begin_Pull_Proxy(AsyncIPipeByte *This,ULONG cRequest);
   6959   void __RPC_STUB AsyncIPipeByte_Begin_Pull_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   6960   HRESULT WINAPI AsyncIPipeByte_Finish_Pull_Proxy(AsyncIPipeByte *This,BYTE *buf,ULONG *pcReturned);
   6961   void __RPC_STUB AsyncIPipeByte_Finish_Pull_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   6962   HRESULT WINAPI AsyncIPipeByte_Begin_Push_Proxy(AsyncIPipeByte *This,BYTE *buf,ULONG cSent);
   6963   void __RPC_STUB AsyncIPipeByte_Begin_Push_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   6964   HRESULT WINAPI AsyncIPipeByte_Finish_Push_Proxy(AsyncIPipeByte *This);
   6965   void __RPC_STUB AsyncIPipeByte_Finish_Push_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   6966 #endif
   6967 
   6968 #ifndef __IPipeLong_INTERFACE_DEFINED__
   6969 #define __IPipeLong_INTERFACE_DEFINED__
   6970   EXTERN_C const IID IID_IPipeLong;
   6971 #if defined(__cplusplus) && !defined(CINTERFACE)
   6972   struct IPipeLong : public IUnknown {
   6973   public:
   6974     virtual HRESULT WINAPI Pull(LONG *buf,ULONG cRequest,ULONG *pcReturned) = 0;
   6975     virtual HRESULT WINAPI Push(LONG *buf,ULONG cSent) = 0;
   6976   };
   6977 #else
   6978   typedef struct IPipeLongVtbl {
   6979     BEGIN_INTERFACE
   6980       HRESULT (WINAPI *QueryInterface)(IPipeLong *This,REFIID riid,void **ppvObject);
   6981       ULONG (WINAPI *AddRef)(IPipeLong *This);
   6982       ULONG (WINAPI *Release)(IPipeLong *This);
   6983       HRESULT (WINAPI *Pull)(IPipeLong *This,LONG *buf,ULONG cRequest,ULONG *pcReturned);
   6984       HRESULT (WINAPI *Push)(IPipeLong *This,LONG *buf,ULONG cSent);
   6985     END_INTERFACE
   6986   } IPipeLongVtbl;
   6987   struct IPipeLong {
   6988     CONST_VTBL struct IPipeLongVtbl *lpVtbl;
   6989   };
   6990 #ifdef COBJMACROS
   6991 #define IPipeLong_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   6992 #define IPipeLong_AddRef(This) (This)->lpVtbl->AddRef(This)
   6993 #define IPipeLong_Release(This) (This)->lpVtbl->Release(This)
   6994 #define IPipeLong_Pull(This,buf,cRequest,pcReturned) (This)->lpVtbl->Pull(This,buf,cRequest,pcReturned)
   6995 #define IPipeLong_Push(This,buf,cSent) (This)->lpVtbl->Push(This,buf,cSent)
   6996 #endif
   6997 #endif
   6998   HRESULT WINAPI IPipeLong_Pull_Proxy(IPipeLong *This,LONG *buf,ULONG cRequest,ULONG *pcReturned);
   6999   void __RPC_STUB IPipeLong_Pull_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7000   HRESULT WINAPI IPipeLong_Push_Proxy(IPipeLong *This,LONG *buf,ULONG cSent);
   7001   void __RPC_STUB IPipeLong_Push_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7002 #endif
   7003 
   7004 #ifndef __AsyncIPipeLong_INTERFACE_DEFINED__
   7005 #define __AsyncIPipeLong_INTERFACE_DEFINED__
   7006   EXTERN_C const IID IID_AsyncIPipeLong;
   7007 #if defined(__cplusplus) && !defined(CINTERFACE)
   7008   struct AsyncIPipeLong : public IUnknown {
   7009   public:
   7010     virtual HRESULT WINAPI Begin_Pull(ULONG cRequest) = 0;
   7011     virtual HRESULT WINAPI Finish_Pull(LONG *buf,ULONG *pcReturned) = 0;
   7012     virtual HRESULT WINAPI Begin_Push(LONG *buf,ULONG cSent) = 0;
   7013     virtual HRESULT WINAPI Finish_Push(void) = 0;
   7014   };
   7015 #else
   7016   typedef struct AsyncIPipeLongVtbl {
   7017     BEGIN_INTERFACE
   7018       HRESULT (WINAPI *QueryInterface)(AsyncIPipeLong *This,REFIID riid,void **ppvObject);
   7019       ULONG (WINAPI *AddRef)(AsyncIPipeLong *This);
   7020       ULONG (WINAPI *Release)(AsyncIPipeLong *This);
   7021       HRESULT (WINAPI *Begin_Pull)(AsyncIPipeLong *This,ULONG cRequest);
   7022       HRESULT (WINAPI *Finish_Pull)(AsyncIPipeLong *This,LONG *buf,ULONG *pcReturned);
   7023       HRESULT (WINAPI *Begin_Push)(AsyncIPipeLong *This,LONG *buf,ULONG cSent);
   7024       HRESULT (WINAPI *Finish_Push)(AsyncIPipeLong *This);
   7025     END_INTERFACE
   7026   } AsyncIPipeLongVtbl;
   7027   struct AsyncIPipeLong {
   7028     CONST_VTBL struct AsyncIPipeLongVtbl *lpVtbl;
   7029   };
   7030 #ifdef COBJMACROS
   7031 #define AsyncIPipeLong_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   7032 #define AsyncIPipeLong_AddRef(This) (This)->lpVtbl->AddRef(This)
   7033 #define AsyncIPipeLong_Release(This) (This)->lpVtbl->Release(This)
   7034 #define AsyncIPipeLong_Begin_Pull(This,cRequest) (This)->lpVtbl->Begin_Pull(This,cRequest)
   7035 #define AsyncIPipeLong_Finish_Pull(This,buf,pcReturned) (This)->lpVtbl->Finish_Pull(This,buf,pcReturned)
   7036 #define AsyncIPipeLong_Begin_Push(This,buf,cSent) (This)->lpVtbl->Begin_Push(This,buf,cSent)
   7037 #define AsyncIPipeLong_Finish_Push(This) (This)->lpVtbl->Finish_Push(This)
   7038 #endif
   7039 #endif
   7040   HRESULT WINAPI AsyncIPipeLong_Begin_Pull_Proxy(AsyncIPipeLong *This,ULONG cRequest);
   7041   void __RPC_STUB AsyncIPipeLong_Begin_Pull_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7042   HRESULT WINAPI AsyncIPipeLong_Finish_Pull_Proxy(AsyncIPipeLong *This,LONG *buf,ULONG *pcReturned);
   7043   void __RPC_STUB AsyncIPipeLong_Finish_Pull_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7044   HRESULT WINAPI AsyncIPipeLong_Begin_Push_Proxy(AsyncIPipeLong *This,LONG *buf,ULONG cSent);
   7045   void __RPC_STUB AsyncIPipeLong_Begin_Push_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7046   HRESULT WINAPI AsyncIPipeLong_Finish_Push_Proxy(AsyncIPipeLong *This);
   7047   void __RPC_STUB AsyncIPipeLong_Finish_Push_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7048 #endif
   7049 
   7050 #ifndef __IPipeDouble_INTERFACE_DEFINED__
   7051 #define __IPipeDouble_INTERFACE_DEFINED__
   7052   EXTERN_C const IID IID_IPipeDouble;
   7053 #if defined(__cplusplus) && !defined(CINTERFACE)
   7054   struct IPipeDouble : public IUnknown {
   7055   public:
   7056     virtual HRESULT WINAPI Pull(DOUBLE *buf,ULONG cRequest,ULONG *pcReturned) = 0;
   7057     virtual HRESULT WINAPI Push(DOUBLE *buf,ULONG cSent) = 0;
   7058   };
   7059 #else
   7060   typedef struct IPipeDoubleVtbl {
   7061     BEGIN_INTERFACE
   7062       HRESULT (WINAPI *QueryInterface)(IPipeDouble *This,REFIID riid,void **ppvObject);
   7063       ULONG (WINAPI *AddRef)(IPipeDouble *This);
   7064       ULONG (WINAPI *Release)(IPipeDouble *This);
   7065       HRESULT (WINAPI *Pull)(IPipeDouble *This,DOUBLE *buf,ULONG cRequest,ULONG *pcReturned);
   7066       HRESULT (WINAPI *Push)(IPipeDouble *This,DOUBLE *buf,ULONG cSent);
   7067     END_INTERFACE
   7068   } IPipeDoubleVtbl;
   7069   struct IPipeDouble {
   7070     CONST_VTBL struct IPipeDoubleVtbl *lpVtbl;
   7071   };
   7072 #ifdef COBJMACROS
   7073 #define IPipeDouble_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   7074 #define IPipeDouble_AddRef(This) (This)->lpVtbl->AddRef(This)
   7075 #define IPipeDouble_Release(This) (This)->lpVtbl->Release(This)
   7076 #define IPipeDouble_Pull(This,buf,cRequest,pcReturned) (This)->lpVtbl->Pull(This,buf,cRequest,pcReturned)
   7077 #define IPipeDouble_Push(This,buf,cSent) (This)->lpVtbl->Push(This,buf,cSent)
   7078 #endif
   7079 #endif
   7080   HRESULT WINAPI IPipeDouble_Pull_Proxy(IPipeDouble *This,DOUBLE *buf,ULONG cRequest,ULONG *pcReturned);
   7081   void __RPC_STUB IPipeDouble_Pull_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7082   HRESULT WINAPI IPipeDouble_Push_Proxy(IPipeDouble *This,DOUBLE *buf,ULONG cSent);
   7083   void __RPC_STUB IPipeDouble_Push_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7084 #endif
   7085 
   7086 #ifndef __AsyncIPipeDouble_INTERFACE_DEFINED__
   7087 #define __AsyncIPipeDouble_INTERFACE_DEFINED__
   7088   EXTERN_C const IID IID_AsyncIPipeDouble;
   7089 #if defined(__cplusplus) && !defined(CINTERFACE)
   7090   struct AsyncIPipeDouble : public IUnknown {
   7091   public:
   7092     virtual HRESULT WINAPI Begin_Pull(ULONG cRequest) = 0;
   7093     virtual HRESULT WINAPI Finish_Pull(DOUBLE *buf,ULONG *pcReturned) = 0;
   7094     virtual HRESULT WINAPI Begin_Push(DOUBLE *buf,ULONG cSent) = 0;
   7095     virtual HRESULT WINAPI Finish_Push(void) = 0;
   7096   };
   7097 #else
   7098   typedef struct AsyncIPipeDoubleVtbl {
   7099     BEGIN_INTERFACE
   7100       HRESULT (WINAPI *QueryInterface)(AsyncIPipeDouble *This,REFIID riid,void **ppvObject);
   7101       ULONG (WINAPI *AddRef)(AsyncIPipeDouble *This);
   7102       ULONG (WINAPI *Release)(AsyncIPipeDouble *This);
   7103       HRESULT (WINAPI *Begin_Pull)(AsyncIPipeDouble *This,ULONG cRequest);
   7104       HRESULT (WINAPI *Finish_Pull)(AsyncIPipeDouble *This,DOUBLE *buf,ULONG *pcReturned);
   7105       HRESULT (WINAPI *Begin_Push)(AsyncIPipeDouble *This,DOUBLE *buf,ULONG cSent);
   7106       HRESULT (WINAPI *Finish_Push)(AsyncIPipeDouble *This);
   7107     END_INTERFACE
   7108   } AsyncIPipeDoubleVtbl;
   7109   struct AsyncIPipeDouble {
   7110     CONST_VTBL struct AsyncIPipeDoubleVtbl *lpVtbl;
   7111   };
   7112 #ifdef COBJMACROS
   7113 #define AsyncIPipeDouble_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   7114 #define AsyncIPipeDouble_AddRef(This) (This)->lpVtbl->AddRef(This)
   7115 #define AsyncIPipeDouble_Release(This) (This)->lpVtbl->Release(This)
   7116 #define AsyncIPipeDouble_Begin_Pull(This,cRequest) (This)->lpVtbl->Begin_Pull(This,cRequest)
   7117 #define AsyncIPipeDouble_Finish_Pull(This,buf,pcReturned) (This)->lpVtbl->Finish_Pull(This,buf,pcReturned)
   7118 #define AsyncIPipeDouble_Begin_Push(This,buf,cSent) (This)->lpVtbl->Begin_Push(This,buf,cSent)
   7119 #define AsyncIPipeDouble_Finish_Push(This) (This)->lpVtbl->Finish_Push(This)
   7120 #endif
   7121 #endif
   7122   HRESULT WINAPI AsyncIPipeDouble_Begin_Pull_Proxy(AsyncIPipeDouble *This,ULONG cRequest);
   7123   void __RPC_STUB AsyncIPipeDouble_Begin_Pull_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7124   HRESULT WINAPI AsyncIPipeDouble_Finish_Pull_Proxy(AsyncIPipeDouble *This,DOUBLE *buf,ULONG *pcReturned);
   7125   void __RPC_STUB AsyncIPipeDouble_Finish_Pull_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7126   HRESULT WINAPI AsyncIPipeDouble_Begin_Push_Proxy(AsyncIPipeDouble *This,DOUBLE *buf,ULONG cSent);
   7127   void __RPC_STUB AsyncIPipeDouble_Begin_Push_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7128   HRESULT WINAPI AsyncIPipeDouble_Finish_Push_Proxy(AsyncIPipeDouble *This);
   7129   void __RPC_STUB AsyncIPipeDouble_Finish_Push_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7130 #endif
   7131 
   7132 #ifndef __IThumbnailExtractor_INTERFACE_DEFINED__
   7133 #define __IThumbnailExtractor_INTERFACE_DEFINED__
   7134   EXTERN_C const IID IID_IThumbnailExtractor;
   7135 #if defined(__cplusplus) && !defined(CINTERFACE)
   7136   struct IThumbnailExtractor : public IUnknown {
   7137   public:
   7138     virtual HRESULT WINAPI ExtractThumbnail(IStorage *pStg,ULONG ulLength,ULONG ulHeight,ULONG *pulOutputLength,ULONG *pulOutputHeight,HBITMAP *phOutputBitmap) = 0;
   7139     virtual HRESULT WINAPI OnFileUpdated(IStorage *pStg) = 0;
   7140   };
   7141 #else
   7142   typedef struct IThumbnailExtractorVtbl {
   7143     BEGIN_INTERFACE
   7144       HRESULT (WINAPI *QueryInterface)(IThumbnailExtractor *This,REFIID riid,void **ppvObject);
   7145       ULONG (WINAPI *AddRef)(IThumbnailExtractor *This);
   7146       ULONG (WINAPI *Release)(IThumbnailExtractor *This);
   7147       HRESULT (WINAPI *ExtractThumbnail)(IThumbnailExtractor *This,IStorage *pStg,ULONG ulLength,ULONG ulHeight,ULONG *pulOutputLength,ULONG *pulOutputHeight,HBITMAP *phOutputBitmap);
   7148       HRESULT (WINAPI *OnFileUpdated)(IThumbnailExtractor *This,IStorage *pStg);
   7149     END_INTERFACE
   7150   } IThumbnailExtractorVtbl;
   7151   struct IThumbnailExtractor {
   7152     CONST_VTBL struct IThumbnailExtractorVtbl *lpVtbl;
   7153   };
   7154 #ifdef COBJMACROS
   7155 #define IThumbnailExtractor_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   7156 #define IThumbnailExtractor_AddRef(This) (This)->lpVtbl->AddRef(This)
   7157 #define IThumbnailExtractor_Release(This) (This)->lpVtbl->Release(This)
   7158 #define IThumbnailExtractor_ExtractThumbnail(This,pStg,ulLength,ulHeight,pulOutputLength,pulOutputHeight,phOutputBitmap) (This)->lpVtbl->ExtractThumbnail(This,pStg,ulLength,ulHeight,pulOutputLength,pulOutputHeight,phOutputBitmap)
   7159 #define IThumbnailExtractor_OnFileUpdated(This,pStg) (This)->lpVtbl->OnFileUpdated(This,pStg)
   7160 #endif
   7161 #endif
   7162   HRESULT WINAPI IThumbnailExtractor_ExtractThumbnail_Proxy(IThumbnailExtractor *This,IStorage *pStg,ULONG ulLength,ULONG ulHeight,ULONG *pulOutputLength,ULONG *pulOutputHeight,HBITMAP *phOutputBitmap);
   7163   void __RPC_STUB IThumbnailExtractor_ExtractThumbnail_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7164   HRESULT WINAPI IThumbnailExtractor_OnFileUpdated_Proxy(IThumbnailExtractor *This,IStorage *pStg);
   7165   void __RPC_STUB IThumbnailExtractor_OnFileUpdated_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7166 #endif
   7167 
   7168 #ifndef __IDummyHICONIncluder_INTERFACE_DEFINED__
   7169 #define __IDummyHICONIncluder_INTERFACE_DEFINED__
   7170   EXTERN_C const IID IID_IDummyHICONIncluder;
   7171 #if defined(__cplusplus) && !defined(CINTERFACE)
   7172   struct IDummyHICONIncluder : public IUnknown {
   7173   public:
   7174     virtual HRESULT WINAPI Dummy(HICON h1,HDC h2) = 0;
   7175   };
   7176 #else
   7177   typedef struct IDummyHICONIncluderVtbl {
   7178     BEGIN_INTERFACE
   7179       HRESULT (WINAPI *QueryInterface)(IDummyHICONIncluder *This,REFIID riid,void **ppvObject);
   7180       ULONG (WINAPI *AddRef)(IDummyHICONIncluder *This);
   7181       ULONG (WINAPI *Release)(IDummyHICONIncluder *This);
   7182       HRESULT (WINAPI *Dummy)(IDummyHICONIncluder *This,HICON h1,HDC h2);
   7183     END_INTERFACE
   7184   } IDummyHICONIncluderVtbl;
   7185   struct IDummyHICONIncluder {
   7186     CONST_VTBL struct IDummyHICONIncluderVtbl *lpVtbl;
   7187   };
   7188 #ifdef COBJMACROS
   7189 #define IDummyHICONIncluder_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   7190 #define IDummyHICONIncluder_AddRef(This) (This)->lpVtbl->AddRef(This)
   7191 #define IDummyHICONIncluder_Release(This) (This)->lpVtbl->Release(This)
   7192 #define IDummyHICONIncluder_Dummy(This,h1,h2) (This)->lpVtbl->Dummy(This,h1,h2)
   7193 #endif
   7194 #endif
   7195   HRESULT WINAPI IDummyHICONIncluder_Dummy_Proxy(IDummyHICONIncluder *This,HICON h1,HDC h2);
   7196   void __RPC_STUB IDummyHICONIncluder_Dummy_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7197 #endif
   7198 
   7199 #if defined USE_COM_CONTEXT_DEF || defined BUILDTYPE_COMSVCS
   7200   typedef DWORD CPFLAGS;
   7201 
   7202   typedef struct tagContextProperty {
   7203     GUID policyId;
   7204     CPFLAGS flags;
   7205     IUnknown *pUnk;
   7206   } ContextProperty;
   7207 
   7208   extern RPC_IF_HANDLE __MIDL_itf_objidl_0084_v0_0_c_ifspec;
   7209   extern RPC_IF_HANDLE __MIDL_itf_objidl_0084_v0_0_s_ifspec;
   7210 
   7211 #ifndef __IEnumContextProps_INTERFACE_DEFINED__
   7212 #define __IEnumContextProps_INTERFACE_DEFINED__
   7213   typedef IEnumContextProps *LPENUMCONTEXTPROPS;
   7214 
   7215   EXTERN_C const IID IID_IEnumContextProps;
   7216 #if defined(__cplusplus) && !defined(CINTERFACE)
   7217   struct IEnumContextProps : public IUnknown {
   7218   public:
   7219     virtual HRESULT WINAPI Next(ULONG celt,ContextProperty *pContextProperties,ULONG *pceltFetched) = 0;
   7220     virtual HRESULT WINAPI Skip(ULONG celt) = 0;
   7221     virtual HRESULT WINAPI Reset(void) = 0;
   7222     virtual HRESULT WINAPI Clone(IEnumContextProps **ppEnumContextProps) = 0;
   7223     virtual HRESULT WINAPI Count(ULONG *pcelt) = 0;
   7224   };
   7225 #else
   7226   typedef struct IEnumContextPropsVtbl {
   7227     BEGIN_INTERFACE
   7228       HRESULT (WINAPI *QueryInterface)(IEnumContextProps *This,REFIID riid,void **ppvObject);
   7229       ULONG (WINAPI *AddRef)(IEnumContextProps *This);
   7230       ULONG (WINAPI *Release)(IEnumContextProps *This);
   7231       HRESULT (WINAPI *Next)(IEnumContextProps *This,ULONG celt,ContextProperty *pContextProperties,ULONG *pceltFetched);
   7232       HRESULT (WINAPI *Skip)(IEnumContextProps *This,ULONG celt);
   7233       HRESULT (WINAPI *Reset)(IEnumContextProps *This);
   7234       HRESULT (WINAPI *Clone)(IEnumContextProps *This,IEnumContextProps **ppEnumContextProps);
   7235       HRESULT (WINAPI *Count)(IEnumContextProps *This,ULONG *pcelt);
   7236     END_INTERFACE
   7237   } IEnumContextPropsVtbl;
   7238   struct IEnumContextProps {
   7239     CONST_VTBL struct IEnumContextPropsVtbl *lpVtbl;
   7240   };
   7241 #ifdef COBJMACROS
   7242 #define IEnumContextProps_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   7243 #define IEnumContextProps_AddRef(This) (This)->lpVtbl->AddRef(This)
   7244 #define IEnumContextProps_Release(This) (This)->lpVtbl->Release(This)
   7245 #define IEnumContextProps_Next(This,celt,pContextProperties,pceltFetched) (This)->lpVtbl->Next(This,celt,pContextProperties,pceltFetched)
   7246 #define IEnumContextProps_Skip(This,celt) (This)->lpVtbl->Skip(This,celt)
   7247 #define IEnumContextProps_Reset(This) (This)->lpVtbl->Reset(This)
   7248 #define IEnumContextProps_Clone(This,ppEnumContextProps) (This)->lpVtbl->Clone(This,ppEnumContextProps)
   7249 #define IEnumContextProps_Count(This,pcelt) (This)->lpVtbl->Count(This,pcelt)
   7250 #endif
   7251 #endif
   7252   HRESULT WINAPI IEnumContextProps_Next_Proxy(IEnumContextProps *This,ULONG celt,ContextProperty *pContextProperties,ULONG *pceltFetched);
   7253   void __RPC_STUB IEnumContextProps_Next_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7254   HRESULT WINAPI IEnumContextProps_Skip_Proxy(IEnumContextProps *This,ULONG celt);
   7255   void __RPC_STUB IEnumContextProps_Skip_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7256   HRESULT WINAPI IEnumContextProps_Reset_Proxy(IEnumContextProps *This);
   7257   void __RPC_STUB IEnumContextProps_Reset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7258   HRESULT WINAPI IEnumContextProps_Clone_Proxy(IEnumContextProps *This,IEnumContextProps **ppEnumContextProps);
   7259   void __RPC_STUB IEnumContextProps_Clone_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7260   HRESULT WINAPI IEnumContextProps_Count_Proxy(IEnumContextProps *This,ULONG *pcelt);
   7261   void __RPC_STUB IEnumContextProps_Count_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7262 #endif
   7263 
   7264 #ifndef __IContext_INTERFACE_DEFINED__
   7265 #define __IContext_INTERFACE_DEFINED__
   7266   EXTERN_C const IID IID_IContext;
   7267 #if defined(__cplusplus) && !defined(CINTERFACE)
   7268   struct IContext : public IUnknown {
   7269   public:
   7270     virtual HRESULT WINAPI SetProperty(REFGUID rpolicyId,CPFLAGS flags,IUnknown *pUnk) = 0;
   7271     virtual HRESULT WINAPI RemoveProperty(REFGUID rPolicyId) = 0;
   7272     virtual HRESULT WINAPI GetProperty(REFGUID rGuid,CPFLAGS *pFlags,IUnknown **ppUnk) = 0;
   7273     virtual HRESULT WINAPI EnumContextProps(IEnumContextProps **ppEnumContextProps) = 0;
   7274   };
   7275 #else
   7276   typedef struct IContextVtbl {
   7277     BEGIN_INTERFACE
   7278       HRESULT (WINAPI *QueryInterface)(IContext *This,REFIID riid,void **ppvObject);
   7279       ULONG (WINAPI *AddRef)(IContext *This);
   7280       ULONG (WINAPI *Release)(IContext *This);
   7281       HRESULT (WINAPI *SetProperty)(IContext *This,REFGUID rpolicyId,CPFLAGS flags,IUnknown *pUnk);
   7282       HRESULT (WINAPI *RemoveProperty)(IContext *This,REFGUID rPolicyId);
   7283       HRESULT (WINAPI *GetProperty)(IContext *This,REFGUID rGuid,CPFLAGS *pFlags,IUnknown **ppUnk);
   7284       HRESULT (WINAPI *EnumContextProps)(IContext *This,IEnumContextProps **ppEnumContextProps);
   7285     END_INTERFACE
   7286   } IContextVtbl;
   7287   struct IContext {
   7288     CONST_VTBL struct IContextVtbl *lpVtbl;
   7289   };
   7290 #ifdef COBJMACROS
   7291 #define IContext_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   7292 #define IContext_AddRef(This) (This)->lpVtbl->AddRef(This)
   7293 #define IContext_Release(This) (This)->lpVtbl->Release(This)
   7294 #define IContext_SetProperty(This,rpolicyId,flags,pUnk) (This)->lpVtbl->SetProperty(This,rpolicyId,flags,pUnk)
   7295 #define IContext_RemoveProperty(This,rPolicyId) (This)->lpVtbl->RemoveProperty(This,rPolicyId)
   7296 #define IContext_GetProperty(This,rGuid,pFlags,ppUnk) (This)->lpVtbl->GetProperty(This,rGuid,pFlags,ppUnk)
   7297 #define IContext_EnumContextProps(This,ppEnumContextProps) (This)->lpVtbl->EnumContextProps(This,ppEnumContextProps)
   7298 #endif
   7299 #endif
   7300   HRESULT WINAPI IContext_SetProperty_Proxy(IContext *This,REFGUID rpolicyId,CPFLAGS flags,IUnknown *pUnk);
   7301   void __RPC_STUB IContext_SetProperty_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7302   HRESULT WINAPI IContext_RemoveProperty_Proxy(IContext *This,REFGUID rPolicyId);
   7303   void __RPC_STUB IContext_RemoveProperty_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7304   HRESULT WINAPI IContext_GetProperty_Proxy(IContext *This,REFGUID rGuid,CPFLAGS *pFlags,IUnknown **ppUnk);
   7305   void __RPC_STUB IContext_GetProperty_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7306   HRESULT WINAPI IContext_EnumContextProps_Proxy(IContext *This,IEnumContextProps **ppEnumContextProps);
   7307   void __RPC_STUB IContext_EnumContextProps_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7308 #endif
   7309 
   7310 #ifndef BUILDTYPE_COMSVCS
   7311   extern RPC_IF_HANDLE __MIDL_itf_objidl_0086_v0_0_c_ifspec;
   7312   extern RPC_IF_HANDLE __MIDL_itf_objidl_0086_v0_0_s_ifspec;
   7313 
   7314 #ifndef __IObjContext_INTERFACE_DEFINED__
   7315 #define __IObjContext_INTERFACE_DEFINED__
   7316   EXTERN_C const IID IID_IObjContext;
   7317 #if defined(__cplusplus) && !defined(CINTERFACE)
   7318   struct IObjContext : public IContext {
   7319   public:
   7320     virtual void WINAPI Reserved1(void) = 0;
   7321     virtual void WINAPI Reserved2(void) = 0;
   7322     virtual void WINAPI Reserved3(void) = 0;
   7323     virtual void WINAPI Reserved4(void) = 0;
   7324     virtual void WINAPI Reserved5(void) = 0;
   7325     virtual void WINAPI Reserved6(void) = 0;
   7326     virtual void WINAPI Reserved7(void) = 0;
   7327   };
   7328 #else
   7329   typedef struct IObjContextVtbl {
   7330     BEGIN_INTERFACE
   7331       HRESULT (WINAPI *QueryInterface)(IObjContext *This,REFIID riid,void **ppvObject);
   7332       ULONG (WINAPI *AddRef)(IObjContext *This);
   7333       ULONG (WINAPI *Release)(IObjContext *This);
   7334       HRESULT (WINAPI *SetProperty)(IObjContext *This,REFGUID rpolicyId,CPFLAGS flags,IUnknown *pUnk);
   7335       HRESULT (WINAPI *RemoveProperty)(IObjContext *This,REFGUID rPolicyId);
   7336       HRESULT (WINAPI *GetProperty)(IObjContext *This,REFGUID rGuid,CPFLAGS *pFlags,IUnknown **ppUnk);
   7337       HRESULT (WINAPI *EnumContextProps)(IObjContext *This,IEnumContextProps **ppEnumContextProps);
   7338       void (WINAPI *Reserved1)(IObjContext *This);
   7339       void (WINAPI *Reserved2)(IObjContext *This);
   7340       void (WINAPI *Reserved3)(IObjContext *This);
   7341       void (WINAPI *Reserved4)(IObjContext *This);
   7342       void (WINAPI *Reserved5)(IObjContext *This);
   7343       void (WINAPI *Reserved6)(IObjContext *This);
   7344       void (WINAPI *Reserved7)(IObjContext *This);
   7345     END_INTERFACE
   7346   } IObjContextVtbl;
   7347   struct IObjContext {
   7348     CONST_VTBL struct IObjContextVtbl *lpVtbl;
   7349   };
   7350 #ifdef COBJMACROS
   7351 #define IObjContext_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   7352 #define IObjContext_AddRef(This) (This)->lpVtbl->AddRef(This)
   7353 #define IObjContext_Release(This) (This)->lpVtbl->Release(This)
   7354 #define IObjContext_SetProperty(This,rpolicyId,flags,pUnk) (This)->lpVtbl->SetProperty(This,rpolicyId,flags,pUnk)
   7355 #define IObjContext_RemoveProperty(This,rPolicyId) (This)->lpVtbl->RemoveProperty(This,rPolicyId)
   7356 #define IObjContext_GetProperty(This,rGuid,pFlags,ppUnk) (This)->lpVtbl->GetProperty(This,rGuid,pFlags,ppUnk)
   7357 #define IObjContext_EnumContextProps(This,ppEnumContextProps) (This)->lpVtbl->EnumContextProps(This,ppEnumContextProps)
   7358 #define IObjContext_Reserved1(This) (This)->lpVtbl->Reserved1(This)
   7359 #define IObjContext_Reserved2(This) (This)->lpVtbl->Reserved2(This)
   7360 #define IObjContext_Reserved3(This) (This)->lpVtbl->Reserved3(This)
   7361 #define IObjContext_Reserved4(This) (This)->lpVtbl->Reserved4(This)
   7362 #define IObjContext_Reserved5(This) (This)->lpVtbl->Reserved5(This)
   7363 #define IObjContext_Reserved6(This) (This)->lpVtbl->Reserved6(This)
   7364 #define IObjContext_Reserved7(This) (This)->lpVtbl->Reserved7(This)
   7365 #endif
   7366 #endif
   7367   void WINAPI IObjContext_Reserved1_Proxy(IObjContext *This);
   7368   void __RPC_STUB IObjContext_Reserved1_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7369   void WINAPI IObjContext_Reserved2_Proxy(IObjContext *This);
   7370   void __RPC_STUB IObjContext_Reserved2_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7371   void WINAPI IObjContext_Reserved3_Proxy(IObjContext *This);
   7372   void __RPC_STUB IObjContext_Reserved3_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7373   void WINAPI IObjContext_Reserved4_Proxy(IObjContext *This);
   7374   void __RPC_STUB IObjContext_Reserved4_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7375   void WINAPI IObjContext_Reserved5_Proxy(IObjContext *This);
   7376   void __RPC_STUB IObjContext_Reserved5_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7377   void WINAPI IObjContext_Reserved6_Proxy(IObjContext *This);
   7378   void __RPC_STUB IObjContext_Reserved6_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7379   void WINAPI IObjContext_Reserved7_Proxy(IObjContext *This);
   7380   void __RPC_STUB IObjContext_Reserved7_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7381 #endif
   7382 #endif
   7383 #endif
   7384   typedef enum tagApplicationType {
   7385     ServerApplication = 0,LibraryApplication = ServerApplication + 1
   7386   } ApplicationType;
   7387 
   7388   typedef enum tagShutdownType {
   7389     IdleShutdown = 0,ForcedShutdown = IdleShutdown + 1
   7390   } ShutdownType;
   7391 
   7392   extern RPC_IF_HANDLE __MIDL_itf_objidl_0087_v0_0_c_ifspec;
   7393   extern RPC_IF_HANDLE __MIDL_itf_objidl_0087_v0_0_s_ifspec;
   7394 
   7395 #ifndef __IProcessLock_INTERFACE_DEFINED__
   7396 #define __IProcessLock_INTERFACE_DEFINED__
   7397   EXTERN_C const IID IID_IProcessLock;
   7398 #if defined(__cplusplus) && !defined(CINTERFACE)
   7399   struct IProcessLock : public IUnknown {
   7400   public:
   7401     virtual ULONG WINAPI AddRefOnProcess(void) = 0;
   7402     virtual ULONG WINAPI ReleaseRefOnProcess(void) = 0;
   7403   };
   7404 #else
   7405   typedef struct IProcessLockVtbl {
   7406     BEGIN_INTERFACE
   7407       HRESULT (WINAPI *QueryInterface)(IProcessLock *This,REFIID riid,void **ppvObject);
   7408       ULONG (WINAPI *AddRef)(IProcessLock *This);
   7409       ULONG (WINAPI *Release)(IProcessLock *This);
   7410       ULONG (WINAPI *AddRefOnProcess)(IProcessLock *This);
   7411       ULONG (WINAPI *ReleaseRefOnProcess)(IProcessLock *This);
   7412     END_INTERFACE
   7413   } IProcessLockVtbl;
   7414   struct IProcessLock {
   7415     CONST_VTBL struct IProcessLockVtbl *lpVtbl;
   7416   };
   7417 #ifdef COBJMACROS
   7418 #define IProcessLock_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   7419 #define IProcessLock_AddRef(This) (This)->lpVtbl->AddRef(This)
   7420 #define IProcessLock_Release(This) (This)->lpVtbl->Release(This)
   7421 #define IProcessLock_AddRefOnProcess(This) (This)->lpVtbl->AddRefOnProcess(This)
   7422 #define IProcessLock_ReleaseRefOnProcess(This) (This)->lpVtbl->ReleaseRefOnProcess(This)
   7423 #endif
   7424 #endif
   7425   ULONG WINAPI IProcessLock_AddRefOnProcess_Proxy(IProcessLock *This);
   7426   void __RPC_STUB IProcessLock_AddRefOnProcess_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7427   ULONG WINAPI IProcessLock_ReleaseRefOnProcess_Proxy(IProcessLock *This);
   7428   void __RPC_STUB IProcessLock_ReleaseRefOnProcess_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7429 #endif
   7430 
   7431 #ifndef __ISurrogateService_INTERFACE_DEFINED__
   7432 #define __ISurrogateService_INTERFACE_DEFINED__
   7433   EXTERN_C const IID IID_ISurrogateService;
   7434 #if defined(__cplusplus) && !defined(CINTERFACE)
   7435   struct ISurrogateService : public IUnknown {
   7436   public:
   7437     virtual HRESULT WINAPI Init(REFGUID rguidProcessID,IProcessLock *pProcessLock,WINBOOL *pfApplicationAware) = 0;
   7438     virtual HRESULT WINAPI ApplicationLaunch(REFGUID rguidApplID,ApplicationType appType) = 0;
   7439     virtual HRESULT WINAPI ApplicationFree(REFGUID rguidApplID) = 0;
   7440     virtual HRESULT WINAPI CatalogRefresh(ULONG ulReserved) = 0;
   7441     virtual HRESULT WINAPI ProcessShutdown(ShutdownType shutdownType) = 0;
   7442   };
   7443 #else
   7444   typedef struct ISurrogateServiceVtbl {
   7445     BEGIN_INTERFACE
   7446       HRESULT (WINAPI *QueryInterface)(ISurrogateService *This,REFIID riid,void **ppvObject);
   7447       ULONG (WINAPI *AddRef)(ISurrogateService *This);
   7448       ULONG (WINAPI *Release)(ISurrogateService *This);
   7449       HRESULT (WINAPI *Init)(ISurrogateService *This,REFGUID rguidProcessID,IProcessLock *pProcessLock,WINBOOL *pfApplicationAware);
   7450       HRESULT (WINAPI *ApplicationLaunch)(ISurrogateService *This,REFGUID rguidApplID,ApplicationType appType);
   7451       HRESULT (WINAPI *ApplicationFree)(ISurrogateService *This,REFGUID rguidApplID);
   7452       HRESULT (WINAPI *CatalogRefresh)(ISurrogateService *This,ULONG ulReserved);
   7453       HRESULT (WINAPI *ProcessShutdown)(ISurrogateService *This,ShutdownType shutdownType);
   7454     END_INTERFACE
   7455   } ISurrogateServiceVtbl;
   7456   struct ISurrogateService {
   7457     CONST_VTBL struct ISurrogateServiceVtbl *lpVtbl;
   7458   };
   7459 #ifdef COBJMACROS
   7460 #define ISurrogateService_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   7461 #define ISurrogateService_AddRef(This) (This)->lpVtbl->AddRef(This)
   7462 #define ISurrogateService_Release(This) (This)->lpVtbl->Release(This)
   7463 #define ISurrogateService_Init(This,rguidProcessID,pProcessLock,pfApplicationAware) (This)->lpVtbl->Init(This,rguidProcessID,pProcessLock,pfApplicationAware)
   7464 #define ISurrogateService_ApplicationLaunch(This,rguidApplID,appType) (This)->lpVtbl->ApplicationLaunch(This,rguidApplID,appType)
   7465 #define ISurrogateService_ApplicationFree(This,rguidApplID) (This)->lpVtbl->ApplicationFree(This,rguidApplID)
   7466 #define ISurrogateService_CatalogRefresh(This,ulReserved) (This)->lpVtbl->CatalogRefresh(This,ulReserved)
   7467 #define ISurrogateService_ProcessShutdown(This,shutdownType) (This)->lpVtbl->ProcessShutdown(This,shutdownType)
   7468 #endif
   7469 #endif
   7470   HRESULT WINAPI ISurrogateService_Init_Proxy(ISurrogateService *This,REFGUID rguidProcessID,IProcessLock *pProcessLock,WINBOOL *pfApplicationAware);
   7471   void __RPC_STUB ISurrogateService_Init_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7472   HRESULT WINAPI ISurrogateService_ApplicationLaunch_Proxy(ISurrogateService *This,REFGUID rguidApplID,ApplicationType appType);
   7473   void __RPC_STUB ISurrogateService_ApplicationLaunch_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7474   HRESULT WINAPI ISurrogateService_ApplicationFree_Proxy(ISurrogateService *This,REFGUID rguidApplID);
   7475   void __RPC_STUB ISurrogateService_ApplicationFree_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7476   HRESULT WINAPI ISurrogateService_CatalogRefresh_Proxy(ISurrogateService *This,ULONG ulReserved);
   7477   void __RPC_STUB ISurrogateService_CatalogRefresh_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7478   HRESULT WINAPI ISurrogateService_ProcessShutdown_Proxy(ISurrogateService *This,ShutdownType shutdownType);
   7479   void __RPC_STUB ISurrogateService_ProcessShutdown_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7480 #endif
   7481 
   7482   typedef enum _APTTYPE {
   7483     APTTYPE_CURRENT = -1,APTTYPE_STA = 0,APTTYPE_MTA = 1,APTTYPE_NA = 2,APTTYPE_MAINSTA = 3
   7484   } APTTYPE;
   7485 
   7486   typedef enum _THDTYPE {
   7487     THDTYPE_BLOCKMESSAGES = 0,THDTYPE_PROCESSMESSAGES = 1
   7488   } THDTYPE;
   7489 
   7490   typedef DWORD APARTMENTID;
   7491 
   7492   extern RPC_IF_HANDLE __MIDL_itf_objidl_0089_v0_0_c_ifspec;
   7493   extern RPC_IF_HANDLE __MIDL_itf_objidl_0089_v0_0_s_ifspec;
   7494 
   7495 #ifndef __IComThreadingInfo_INTERFACE_DEFINED__
   7496 #define __IComThreadingInfo_INTERFACE_DEFINED__
   7497   EXTERN_C const IID IID_IComThreadingInfo;
   7498 #if defined(__cplusplus) && !defined(CINTERFACE)
   7499   struct IComThreadingInfo : public IUnknown {
   7500   public:
   7501     virtual HRESULT WINAPI GetCurrentApartmentType(APTTYPE *pAptType) = 0;
   7502     virtual HRESULT WINAPI GetCurrentThreadType(THDTYPE *pThreadType) = 0;
   7503     virtual HRESULT WINAPI GetCurrentLogicalThreadId(GUID *pguidLogicalThreadId) = 0;
   7504     virtual HRESULT WINAPI SetCurrentLogicalThreadId(REFGUID rguid) = 0;
   7505   };
   7506 #else
   7507   typedef struct IComThreadingInfoVtbl {
   7508     BEGIN_INTERFACE
   7509       HRESULT (WINAPI *QueryInterface)(IComThreadingInfo *This,REFIID riid,void **ppvObject);
   7510       ULONG (WINAPI *AddRef)(IComThreadingInfo *This);
   7511       ULONG (WINAPI *Release)(IComThreadingInfo *This);
   7512       HRESULT (WINAPI *GetCurrentApartmentType)(IComThreadingInfo *This,APTTYPE *pAptType);
   7513       HRESULT (WINAPI *GetCurrentThreadType)(IComThreadingInfo *This,THDTYPE *pThreadType);
   7514       HRESULT (WINAPI *GetCurrentLogicalThreadId)(IComThreadingInfo *This,GUID *pguidLogicalThreadId);
   7515       HRESULT (WINAPI *SetCurrentLogicalThreadId)(IComThreadingInfo *This,REFGUID rguid);
   7516     END_INTERFACE
   7517   } IComThreadingInfoVtbl;
   7518   struct IComThreadingInfo {
   7519     CONST_VTBL struct IComThreadingInfoVtbl *lpVtbl;
   7520   };
   7521 #ifdef COBJMACROS
   7522 #define IComThreadingInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   7523 #define IComThreadingInfo_AddRef(This) (This)->lpVtbl->AddRef(This)
   7524 #define IComThreadingInfo_Release(This) (This)->lpVtbl->Release(This)
   7525 #define IComThreadingInfo_GetCurrentApartmentType(This,pAptType) (This)->lpVtbl->GetCurrentApartmentType(This,pAptType)
   7526 #define IComThreadingInfo_GetCurrentThreadType(This,pThreadType) (This)->lpVtbl->GetCurrentThreadType(This,pThreadType)
   7527 #define IComThreadingInfo_GetCurrentLogicalThreadId(This,pguidLogicalThreadId) (This)->lpVtbl->GetCurrentLogicalThreadId(This,pguidLogicalThreadId)
   7528 #define IComThreadingInfo_SetCurrentLogicalThreadId(This,rguid) (This)->lpVtbl->SetCurrentLogicalThreadId(This,rguid)
   7529 #endif
   7530 #endif
   7531   HRESULT WINAPI IComThreadingInfo_GetCurrentApartmentType_Proxy(IComThreadingInfo *This,APTTYPE *pAptType);
   7532   void __RPC_STUB IComThreadingInfo_GetCurrentApartmentType_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7533   HRESULT WINAPI IComThreadingInfo_GetCurrentThreadType_Proxy(IComThreadingInfo *This,THDTYPE *pThreadType);
   7534   void __RPC_STUB IComThreadingInfo_GetCurrentThreadType_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7535   HRESULT WINAPI IComThreadingInfo_GetCurrentLogicalThreadId_Proxy(IComThreadingInfo *This,GUID *pguidLogicalThreadId);
   7536   void __RPC_STUB IComThreadingInfo_GetCurrentLogicalThreadId_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7537   HRESULT WINAPI IComThreadingInfo_SetCurrentLogicalThreadId_Proxy(IComThreadingInfo *This,REFGUID rguid);
   7538   void __RPC_STUB IComThreadingInfo_SetCurrentLogicalThreadId_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7539 #endif
   7540 
   7541 #ifndef __IProcessInitControl_INTERFACE_DEFINED__
   7542 #define __IProcessInitControl_INTERFACE_DEFINED__
   7543   EXTERN_C const IID IID_IProcessInitControl;
   7544 #if defined(__cplusplus) && !defined(CINTERFACE)
   7545   struct IProcessInitControl : public IUnknown {
   7546   public:
   7547     virtual HRESULT WINAPI ResetInitializerTimeout(DWORD dwSecondsRemaining) = 0;
   7548   };
   7549 #else
   7550   typedef struct IProcessInitControlVtbl {
   7551     BEGIN_INTERFACE
   7552       HRESULT (WINAPI *QueryInterface)(IProcessInitControl *This,REFIID riid,void **ppvObject);
   7553       ULONG (WINAPI *AddRef)(IProcessInitControl *This);
   7554       ULONG (WINAPI *Release)(IProcessInitControl *This);
   7555       HRESULT (WINAPI *ResetInitializerTimeout)(IProcessInitControl *This,DWORD dwSecondsRemaining);
   7556     END_INTERFACE
   7557   } IProcessInitControlVtbl;
   7558   struct IProcessInitControl {
   7559     CONST_VTBL struct IProcessInitControlVtbl *lpVtbl;
   7560   };
   7561 #ifdef COBJMACROS
   7562 #define IProcessInitControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   7563 #define IProcessInitControl_AddRef(This) (This)->lpVtbl->AddRef(This)
   7564 #define IProcessInitControl_Release(This) (This)->lpVtbl->Release(This)
   7565 #define IProcessInitControl_ResetInitializerTimeout(This,dwSecondsRemaining) (This)->lpVtbl->ResetInitializerTimeout(This,dwSecondsRemaining)
   7566 #endif
   7567 #endif
   7568   HRESULT WINAPI IProcessInitControl_ResetInitializerTimeout_Proxy(IProcessInitControl *This,DWORD dwSecondsRemaining);
   7569   void __RPC_STUB IProcessInitControl_ResetInitializerTimeout_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7570 #endif
   7571 
   7572   extern RPC_IF_HANDLE __MIDL_itf_objidl_0091_v0_0_c_ifspec;
   7573   extern RPC_IF_HANDLE __MIDL_itf_objidl_0091_v0_0_s_ifspec;
   7574 
   7575 #ifndef __IInitializeSpy_INTERFACE_DEFINED__
   7576 #define __IInitializeSpy_INTERFACE_DEFINED__
   7577   typedef IInitializeSpy *LPINITIALIZESPY;
   7578 
   7579   EXTERN_C const IID IID_IInitializeSpy;
   7580 #if defined(__cplusplus) && !defined(CINTERFACE)
   7581   struct IInitializeSpy : public IUnknown {
   7582   public:
   7583     virtual HRESULT WINAPI PreInitialize(DWORD dwCoInit,DWORD dwCurThreadAptRefs) = 0;
   7584     virtual HRESULT WINAPI PostInitialize(HRESULT hrCoInit,DWORD dwCoInit,DWORD dwNewThreadAptRefs) = 0;
   7585     virtual HRESULT WINAPI PreUninitialize(DWORD dwCurThreadAptRefs) = 0;
   7586     virtual HRESULT WINAPI PostUninitialize(DWORD dwNewThreadAptRefs) = 0;
   7587   };
   7588 #else
   7589   typedef struct IInitializeSpyVtbl {
   7590     BEGIN_INTERFACE
   7591       HRESULT (WINAPI *QueryInterface)(IInitializeSpy *This,REFIID riid,void **ppvObject);
   7592       ULONG (WINAPI *AddRef)(IInitializeSpy *This);
   7593       ULONG (WINAPI *Release)(IInitializeSpy *This);
   7594       HRESULT (WINAPI *PreInitialize)(IInitializeSpy *This,DWORD dwCoInit,DWORD dwCurThreadAptRefs);
   7595       HRESULT (WINAPI *PostInitialize)(IInitializeSpy *This,HRESULT hrCoInit,DWORD dwCoInit,DWORD dwNewThreadAptRefs);
   7596       HRESULT (WINAPI *PreUninitialize)(IInitializeSpy *This,DWORD dwCurThreadAptRefs);
   7597       HRESULT (WINAPI *PostUninitialize)(IInitializeSpy *This,DWORD dwNewThreadAptRefs);
   7598     END_INTERFACE
   7599   } IInitializeSpyVtbl;
   7600   struct IInitializeSpy {
   7601     CONST_VTBL struct IInitializeSpyVtbl *lpVtbl;
   7602   };
   7603 #ifdef COBJMACROS
   7604 #define IInitializeSpy_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   7605 #define IInitializeSpy_AddRef(This) (This)->lpVtbl->AddRef(This)
   7606 #define IInitializeSpy_Release(This) (This)->lpVtbl->Release(This)
   7607 #define IInitializeSpy_PreInitialize(This,dwCoInit,dwCurThreadAptRefs) (This)->lpVtbl->PreInitialize(This,dwCoInit,dwCurThreadAptRefs)
   7608 #define IInitializeSpy_PostInitialize(This,hrCoInit,dwCoInit,dwNewThreadAptRefs) (This)->lpVtbl->PostInitialize(This,hrCoInit,dwCoInit,dwNewThreadAptRefs)
   7609 #define IInitializeSpy_PreUninitialize(This,dwCurThreadAptRefs) (This)->lpVtbl->PreUninitialize(This,dwCurThreadAptRefs)
   7610 #define IInitializeSpy_PostUninitialize(This,dwNewThreadAptRefs) (This)->lpVtbl->PostUninitialize(This,dwNewThreadAptRefs)
   7611 #endif
   7612 #endif
   7613   HRESULT WINAPI IInitializeSpy_PreInitialize_Proxy(IInitializeSpy *This,DWORD dwCoInit,DWORD dwCurThreadAptRefs);
   7614   void __RPC_STUB IInitializeSpy_PreInitialize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7615   HRESULT WINAPI IInitializeSpy_PostInitialize_Proxy(IInitializeSpy *This,HRESULT hrCoInit,DWORD dwCoInit,DWORD dwNewThreadAptRefs);
   7616   void __RPC_STUB IInitializeSpy_PostInitialize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7617   HRESULT WINAPI IInitializeSpy_PreUninitialize_Proxy(IInitializeSpy *This,DWORD dwCurThreadAptRefs);
   7618   void __RPC_STUB IInitializeSpy_PreUninitialize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7619   HRESULT WINAPI IInitializeSpy_PostUninitialize_Proxy(IInitializeSpy *This,DWORD dwNewThreadAptRefs);
   7620   void __RPC_STUB IInitializeSpy_PostUninitialize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   7621 #endif
   7622 
   7623   extern RPC_IF_HANDLE __MIDL_itf_objidl_0092_v0_0_c_ifspec;
   7624   extern RPC_IF_HANDLE __MIDL_itf_objidl_0092_v0_0_s_ifspec;
   7625 
   7626   ULONG __RPC_API CLIPFORMAT_UserSize(ULONG *,ULONG,CLIPFORMAT *);
   7627   unsigned char *__RPC_API CLIPFORMAT_UserMarshal(ULONG *,unsigned char *,CLIPFORMAT *);
   7628   unsigned char *__RPC_API CLIPFORMAT_UserUnmarshal(ULONG *,unsigned char *,CLIPFORMAT *);
   7629   void __RPC_API CLIPFORMAT_UserFree(ULONG *,CLIPFORMAT *);
   7630   ULONG __RPC_API HBITMAP_UserSize(ULONG *,ULONG,HBITMAP *);
   7631   unsigned char *__RPC_API HBITMAP_UserMarshal(ULONG *,unsigned char *,HBITMAP *);
   7632   unsigned char *__RPC_API HBITMAP_UserUnmarshal(ULONG *,unsigned char *,HBITMAP *);
   7633   void __RPC_API HBITMAP_UserFree(ULONG *,HBITMAP *);
   7634   ULONG __RPC_API HDC_UserSize(ULONG *,ULONG,HDC *);
   7635   unsigned char *__RPC_API HDC_UserMarshal(ULONG *,unsigned char *,HDC *);
   7636   unsigned char *__RPC_API HDC_UserUnmarshal(ULONG *,unsigned char *,HDC *);
   7637   void __RPC_API HDC_UserFree(ULONG *,HDC *);
   7638   ULONG __RPC_API HICON_UserSize(ULONG *,ULONG,HICON *);
   7639   unsigned char *__RPC_API HICON_UserMarshal(ULONG *,unsigned char *,HICON *);
   7640   unsigned char *__RPC_API HICON_UserUnmarshal(ULONG *,unsigned char *,HICON *);
   7641   void __RPC_API HICON_UserFree(ULONG *,HICON *);
   7642 
   7643   HRESULT WINAPI IEnumUnknown_Next_Proxy(IEnumUnknown *This,ULONG celt,IUnknown **rgelt,ULONG *pceltFetched);
   7644   HRESULT WINAPI IEnumUnknown_Next_Stub(IEnumUnknown *This,ULONG celt,IUnknown **rgelt,ULONG *pceltFetched);
   7645   HRESULT WINAPI IBindCtx_SetBindOptions_Proxy(IBindCtx *This,BIND_OPTS *pbindopts);
   7646   HRESULT WINAPI IBindCtx_SetBindOptions_Stub(IBindCtx *This,BIND_OPTS2 *pbindopts);
   7647   HRESULT WINAPI IBindCtx_GetBindOptions_Proxy(IBindCtx *This,BIND_OPTS *pbindopts);
   7648   HRESULT WINAPI IBindCtx_GetBindOptions_Stub(IBindCtx *This,BIND_OPTS2 *pbindopts);
   7649   HRESULT WINAPI IEnumMoniker_Next_Proxy(IEnumMoniker *This,ULONG celt,IMoniker **rgelt,ULONG *pceltFetched);
   7650   HRESULT WINAPI IEnumMoniker_Next_Stub(IEnumMoniker *This,ULONG celt,IMoniker **rgelt,ULONG *pceltFetched);
   7651   WINBOOL WINAPI IRunnableObject_IsRunning_Proxy(IRunnableObject *This);
   7652   HRESULT WINAPI IRunnableObject_IsRunning_Stub(IRunnableObject *This);
   7653   HRESULT WINAPI IEnumString_Next_Proxy(IEnumString *This,ULONG celt,LPOLESTR *rgelt,ULONG *pceltFetched);
   7654   HRESULT WINAPI IEnumString_Next_Stub(IEnumString *This,ULONG celt,LPOLESTR *rgelt,ULONG *pceltFetched);
   7655   HRESULT WINAPI ILockBytes_ReadAt_Proxy(ILockBytes *This,ULARGE_INTEGER ulOffset,void *pv,ULONG cb,ULONG *pcbRead);
   7656   HRESULT WINAPI ILockBytes_ReadAt_Stub(ILockBytes *This,ULARGE_INTEGER ulOffset,byte *pv,ULONG cb,ULONG *pcbRead);
   7657   HRESULT WINAPI ILockBytes_WriteAt_Proxy(ILockBytes *This,ULARGE_INTEGER ulOffset,const void *pv,ULONG cb,ULONG *pcbWritten);
   7658   HRESULT WINAPI ILockBytes_WriteAt_Stub(ILockBytes *This,ULARGE_INTEGER ulOffset,const byte *pv,ULONG cb,ULONG *pcbWritten);
   7659   void WINAPI IAdviseSink2_OnLinkSrcChange_Proxy(IAdviseSink2 *This,IMoniker *pmk);
   7660   HRESULT WINAPI IAdviseSink2_OnLinkSrcChange_Stub(IAdviseSink2 *This,IMoniker *pmk);
   7661   HRESULT WINAPI IFillLockBytes_FillAppend_Proxy(IFillLockBytes *This,const void *pv,ULONG cb,ULONG *pcbWritten);
   7662   HRESULT WINAPI IFillLockBytes_FillAppend_Stub(IFillLockBytes *This,const byte *pv,ULONG cb,ULONG *pcbWritten);
   7663   HRESULT WINAPI IFillLockBytes_FillAt_Proxy(IFillLockBytes *This,ULARGE_INTEGER ulOffset,const void *pv,ULONG cb,ULONG *pcbWritten);
   7664   HRESULT WINAPI IFillLockBytes_FillAt_Stub(IFillLockBytes *This,ULARGE_INTEGER ulOffset,const byte *pv,ULONG cb,ULONG *pcbWritten);
   7665   void WINAPI AsyncIAdviseSink_Begin_OnDataChange_Proxy(AsyncIAdviseSink *This,FORMATETC *pFormatetc,STGMEDIUM *pStgmed);
   7666   HRESULT WINAPI AsyncIAdviseSink_Begin_OnDataChange_Stub(AsyncIAdviseSink *This,FORMATETC *pFormatetc,ASYNC_STGMEDIUM *pStgmed);
   7667   void WINAPI AsyncIAdviseSink_Finish_OnDataChange_Proxy(AsyncIAdviseSink *This);
   7668   HRESULT WINAPI AsyncIAdviseSink_Finish_OnDataChange_Stub(AsyncIAdviseSink *This);
   7669   void WINAPI AsyncIAdviseSink_Begin_OnViewChange_Proxy(AsyncIAdviseSink *This,DWORD dwAspect,LONG lindex);
   7670   HRESULT WINAPI AsyncIAdviseSink_Begin_OnViewChange_Stub(AsyncIAdviseSink *This,DWORD dwAspect,LONG lindex);
   7671   void WINAPI AsyncIAdviseSink_Finish_OnViewChange_Proxy(AsyncIAdviseSink *This);
   7672   HRESULT WINAPI AsyncIAdviseSink_Finish_OnViewChange_Stub(AsyncIAdviseSink *This);
   7673   void WINAPI AsyncIAdviseSink_Begin_OnRename_Proxy(AsyncIAdviseSink *This,IMoniker *pmk);
   7674   HRESULT WINAPI AsyncIAdviseSink_Begin_OnRename_Stub(AsyncIAdviseSink *This,IMoniker *pmk);
   7675   void WINAPI AsyncIAdviseSink_Finish_OnRename_Proxy(AsyncIAdviseSink *This);
   7676   HRESULT WINAPI AsyncIAdviseSink_Finish_OnRename_Stub(AsyncIAdviseSink *This);
   7677   void WINAPI AsyncIAdviseSink_Begin_OnSave_Proxy(AsyncIAdviseSink *This);
   7678   HRESULT WINAPI AsyncIAdviseSink_Begin_OnSave_Stub(AsyncIAdviseSink *This);
   7679   void WINAPI AsyncIAdviseSink_Finish_OnSave_Proxy(AsyncIAdviseSink *This);
   7680   HRESULT WINAPI AsyncIAdviseSink_Finish_OnSave_Stub(AsyncIAdviseSink *This);
   7681   void WINAPI AsyncIAdviseSink_Begin_OnClose_Proxy(AsyncIAdviseSink *This);
   7682   HRESULT WINAPI AsyncIAdviseSink_Begin_OnClose_Stub(AsyncIAdviseSink *This);
   7683   void WINAPI AsyncIAdviseSink_Finish_OnClose_Proxy(AsyncIAdviseSink *This);
   7684   HRESULT WINAPI AsyncIAdviseSink_Finish_OnClose_Stub(AsyncIAdviseSink *This);
   7685   void WINAPI AsyncIAdviseSink2_Begin_OnLinkSrcChange_Proxy(AsyncIAdviseSink2 *This,IMoniker *pmk);
   7686   HRESULT WINAPI AsyncIAdviseSink2_Begin_OnLinkSrcChange_Stub(AsyncIAdviseSink2 *This,IMoniker *pmk);
   7687   void WINAPI AsyncIAdviseSink2_Finish_OnLinkSrcChange_Proxy(AsyncIAdviseSink2 *This);
   7688   HRESULT WINAPI AsyncIAdviseSink2_Finish_OnLinkSrcChange_Stub(AsyncIAdviseSink2 *This);
   7689 
   7690 #if (_WIN32_WINNT >= 0x0601)
   7691 typedef enum _APTTYPEQUALIFIER {
   7692   APTTYPEQUALIFIER_NONE                 = 0,
   7693   APTTYPEQUALIFIER_IMPLICIT_MTA         = 1,
   7694   APTTYPEQUALIFIER_NA_ON_MTA            = 2,
   7695   APTTYPEQUALIFIER_NA_ON_STA            = 3,
   7696   APTTYPEQUALIFIER_NA_ON_IMPLICIT_MTA   = 4,
   7697   APTTYPEQUALIFIER_NA_ON_MAINSTA        = 5
   7698 } APTTYPEQUALIFIER;
   7699 #endif /*(_WIN32_WINNT >= 0x0601)*/
   7700 /* Begin additional prototypes for all interfaces */
   7701 
   7702 ULONG           __RPC_USER SNB_UserSize     (ULONG *, ULONG, SNB *);
   7703 unsigned char * __RPC_USER SNB_UserMarshal  (ULONG *, unsigned char *, SNB *);
   7704 unsigned char * __RPC_USER SNB_UserUnmarshal(ULONG *, unsigned char *, SNB *);
   7705 void            __RPC_USER SNB_UserFree     (ULONG *, SNB *);
   7706 ULONG           __RPC_USER CLIPFORMAT_UserSize     (ULONG *, ULONG, CLIPFORMAT *);
   7707 unsigned char * __RPC_USER CLIPFORMAT_UserMarshal  (ULONG *, unsigned char *, CLIPFORMAT *);
   7708 unsigned char * __RPC_USER CLIPFORMAT_UserUnmarshal(ULONG *, unsigned char *, CLIPFORMAT *);
   7709 void            __RPC_USER CLIPFORMAT_UserFree     (ULONG *, CLIPFORMAT *);
   7710 ULONG           __RPC_USER STGMEDIUM_UserSize     (ULONG *, ULONG, STGMEDIUM *);
   7711 unsigned char * __RPC_USER STGMEDIUM_UserMarshal  (ULONG *, unsigned char *, STGMEDIUM *);
   7712 unsigned char * __RPC_USER STGMEDIUM_UserUnmarshal(ULONG *, unsigned char *, STGMEDIUM *);
   7713 void            __RPC_USER STGMEDIUM_UserFree     (ULONG *, STGMEDIUM *);
   7714 ULONG           __RPC_USER ASYNC_STGMEDIUM_UserSize     (ULONG *, ULONG, ASYNC_STGMEDIUM *);
   7715 unsigned char * __RPC_USER ASYNC_STGMEDIUM_UserMarshal  (ULONG *, unsigned char *, ASYNC_STGMEDIUM *);
   7716 unsigned char * __RPC_USER ASYNC_STGMEDIUM_UserUnmarshal(ULONG *, unsigned char *, ASYNC_STGMEDIUM *);
   7717 void            __RPC_USER ASYNC_STGMEDIUM_UserFree     (ULONG *, ASYNC_STGMEDIUM *);
   7718 ULONG           __RPC_USER FLAG_STGMEDIUM_UserSize     (ULONG *, ULONG, FLAG_STGMEDIUM *);
   7719 unsigned char * __RPC_USER FLAG_STGMEDIUM_UserMarshal  (ULONG *, unsigned char *, FLAG_STGMEDIUM *);
   7720 unsigned char * __RPC_USER FLAG_STGMEDIUM_UserUnmarshal(ULONG *, unsigned char *, FLAG_STGMEDIUM *);
   7721 void            __RPC_USER FLAG_STGMEDIUM_UserFree     (ULONG *, FLAG_STGMEDIUM *);
   7722 
   7723 /* End additional prototypes */
   7724 
   7725 #ifdef __cplusplus
   7726 }
   7727 #endif
   7728 
   7729 #endif /* __objidl_h__ */
   7730