home *** CD-ROM | disk | FTP | other *** search
/ The Net: Ultimate Internet Guide / WWLCD1.ISO / pc / directx2 / sdk / samples / watinc / objbase.h < prev    next >
Encoding:
C/C++ Source or Header  |  1995-11-06  |  251.4 KB  |  9,143 lines

  1. //+---------------------------------------------------------------------------
  2. //
  3. //  Microsoft Windows
  4. //  Copyright (C) Microsoft Corporation, 1992 - 1993.
  5. //
  6. //  File:       objbase.h
  7. //
  8. //  Contents:   Component object model defintions.
  9. //
  10. //  History:    02-7-94   terryru           Created.
  11. //
  12. //----------------------------------------------------------------------------
  13.  
  14. //
  15. // TerryRu
  16. // Include rpc.h, and rpcndr.h to define basic midl types, like byte, and boolean.
  17. // Try to rework it so that we don't need to include all of rpc when DCOM is not needed.
  18. //
  19.  
  20. #include <rpc.h>
  21. #include <rpcndr.h>
  22.  
  23. #if !defined( _OBJBASE_H_ )
  24. #define _OBJBASE_H_
  25.  
  26. // Set packing to 8 for ISV, and Chicago support (terryru)
  27. #include "pshpack8.h"
  28.  
  29. // Component Object Model defines, and macros
  30.  
  31. #ifdef __cplusplus
  32.     #define EXTERN_C    extern "C"
  33. #else
  34.     #define EXTERN_C    extern
  35. #endif
  36.  
  37. #ifdef WIN32
  38.  
  39. // Win32 doesn't support __export
  40.  
  41. #define STDMETHODCALLTYPE       __stdcall
  42. #define STDMETHODVCALLTYPE      __cdecl
  43.  
  44. #define STDAPICALLTYPE          __stdcall
  45. #define STDAPIVCALLTYPE         __cdecl
  46.  
  47. #else
  48.  
  49. #define STDMETHODCALLTYPE       __export __stdcall
  50. #define STDMETHODVCALLTYPE      __export __cdecl
  51.  
  52. #define STDAPICALLTYPE          __export __stdcall
  53. #define STDAPIVCALLTYPE         __export __cdecl
  54.  
  55. #endif
  56.  
  57.  
  58. #define STDAPI                  EXTERN_C HRESULT STDAPICALLTYPE
  59. #define STDAPI_(type)           EXTERN_C type STDAPICALLTYPE
  60.  
  61. #define STDMETHODIMP            HRESULT STDMETHODCALLTYPE
  62. #define STDMETHODIMP_(type)     type STDMETHODCALLTYPE
  63.  
  64. // The 'V' versions allow Variable Argument lists.
  65.  
  66. #define STDAPIV                 EXTERN_C HRESULT STDAPIVCALLTYPE
  67. #define STDAPIV_(type)          EXTERN_C type STDAPIVCALLTYPE
  68.  
  69. #define STDMETHODIMPV           HRESULT STDMETHODVCALLTYPE
  70. #define STDMETHODIMPV_(type)    type STDMETHODVCALLTYPE
  71.  
  72. #ifdef _OLE32_
  73. #define WINOLEAPI        STDAPI
  74. #define WINOLEAPI_(type) STDAPI_(type)
  75. #else
  76. #define WINOLEAPI        EXTERN_C DECLSPEC_IMPORT HRESULT STDAPICALLTYPE
  77. #define WINOLEAPI_(type) EXTERN_C DECLSPEC_IMPORT type STDAPICALLTYPE
  78. #endif
  79.  
  80. /****** Interface Declaration ***********************************************/
  81.  
  82. /*
  83.  *      These are macros for declaring interfaces.  They exist so that
  84.  *      a single definition of the interface is simulataneously a proper
  85.  *      declaration of the interface structures (C++ abstract classes)
  86.  *      for both C and C++.
  87.  *
  88.  *      DECLARE_INTERFACE(iface) is used to declare an interface that does
  89.  *      not derive from a base interface.
  90.  *      DECLARE_INTERFACE_(iface, baseiface) is used to declare an interface
  91.  *      that does derive from a base interface.
  92.  *
  93.  *      By default if the source file has a .c extension the C version of
  94.  *      the interface declaratations will be expanded; if it has a .cpp
  95.  *      extension the C++ version will be expanded. if you want to force
  96.  *      the C version expansion even though the source file has a .cpp
  97.  *      extension, then define the macro "CINTERFACE".
  98.  *      eg.     cl -DCINTERFACE file.cpp
  99.  *
  100.  *      Example Interface declaration:
  101.  *
  102.  *          #undef  INTERFACE
  103.  *          #define INTERFACE   IClassFactory
  104.  *
  105.  *          DECLARE_INTERFACE_(IClassFactory, IUnknown)
  106.  *          {
  107.  *              // *** IUnknown methods ***
  108.  *              STDMETHOD(QueryInterface) (THIS_
  109.  *                                        REFIID riid,
  110.  *                                        LPVOID FAR* ppvObj) PURE;
  111.  *              STDMETHOD_(ULONG,AddRef) (THIS) PURE;
  112.  *              STDMETHOD_(ULONG,Release) (THIS) PURE;
  113.  *
  114.  *              // *** IClassFactory methods ***
  115.  *              STDMETHOD(CreateInstance) (THIS_
  116.  *                                        LPUNKNOWN pUnkOuter,
  117.  *                                        REFIID riid,
  118.  *                                        LPVOID FAR* ppvObject) PURE;
  119.  *          };
  120.  *
  121.  *      Example C++ expansion:
  122.  *
  123.  *          struct FAR IClassFactory : public IUnknown
  124.  *          {
  125.  *              virtual HRESULT STDMETHODCALLTYPE QueryInterface(
  126.  *                                                  IID FAR& riid,
  127.  *                                                  LPVOID FAR* ppvObj) = 0;
  128.  *              virtual HRESULT STDMETHODCALLTYPE AddRef(void) = 0;
  129.  *              virtual HRESULT STDMETHODCALLTYPE Release(void) = 0;
  130.  *              virtual HRESULT STDMETHODCALLTYPE CreateInstance(
  131.  *                                              LPUNKNOWN pUnkOuter,
  132.  *                                              IID FAR& riid,
  133.  *                                              LPVOID FAR* ppvObject) = 0;
  134.  *          };
  135.  *
  136.  *          NOTE: Our documentation says '#define interface class' but we use
  137.  *          'struct' instead of 'class' to keep a lot of 'public:' lines
  138.  *          out of the interfaces.  The 'FAR' forces the 'this' pointers to
  139.  *          be far, which is what we need.
  140.  *
  141.  *      Example C expansion:
  142.  *
  143.  *          typedef struct IClassFactory
  144.  *          {
  145.  *              const struct IClassFactoryVtbl FAR* lpVtbl;
  146.  *          } IClassFactory;
  147.  *
  148.  *          typedef struct IClassFactoryVtbl IClassFactoryVtbl;
  149.  *
  150.  *          struct IClassFactoryVtbl
  151.  *          {
  152.  *              HRESULT (STDMETHODCALLTYPE * QueryInterface) (
  153.  *                                                  IClassFactory FAR* This,
  154.  *                                                  IID FAR* riid,
  155.  *                                                  LPVOID FAR* ppvObj) ;
  156.  *              HRESULT (STDMETHODCALLTYPE * AddRef) (IClassFactory FAR* This) ;
  157.  *              HRESULT (STDMETHODCALLTYPE * Release) (IClassFactory FAR* This) ;
  158.  *              HRESULT (STDMETHODCALLTYPE * CreateInstance) (
  159.  *                                                  IClassFactory FAR* This,
  160.  *                                                  LPUNKNOWN pUnkOuter,
  161.  *                                                  IID FAR* riid,
  162.  *                                                  LPVOID FAR* ppvObject);
  163.  *              HRESULT (STDMETHODCALLTYPE * LockServer) (
  164.  *                                                  IClassFactory FAR* This,
  165.  *                                                  BOOL fLock);
  166.  *          };
  167.  */
  168.  
  169.  
  170. #if defined(__cplusplus) && !defined(CINTERFACE)
  171. //#define interface               struct FAR
  172. #define interface struct
  173. #define STDMETHOD(method)       virtual HRESULT STDMETHODCALLTYPE method
  174. #define STDMETHOD_(type,method) virtual type STDMETHODCALLTYPE method
  175. #define PURE                    = 0
  176. #define THIS_
  177. #define THIS                    void
  178. #define DECLARE_INTERFACE(iface)    interface iface
  179. #define DECLARE_INTERFACE_(iface, baseiface)    interface iface : public baseiface
  180.  
  181.  
  182.  
  183. #else
  184.  
  185. #define interface               struct
  186.  
  187. #define STDMETHOD(method)       HRESULT (STDMETHODCALLTYPE * method)
  188. #define STDMETHOD_(type,method) type (STDMETHODCALLTYPE * method)
  189.  
  190.  
  191.  
  192.  
  193. #define PURE
  194. #define THIS_                   INTERFACE FAR* This,
  195. #define THIS                    INTERFACE FAR* This
  196. #ifdef CONST_VTABLE
  197. #define CONST_VTBL const
  198. #define DECLARE_INTERFACE(iface)    typedef interface iface { \
  199.                     const struct iface##Vtbl FAR* lpVtbl; \
  200.                 } iface; \
  201.                 typedef const struct iface##Vtbl iface##Vtbl; \
  202.                 const struct iface##Vtbl
  203. #else
  204. #define CONST_VTBL
  205. #define DECLARE_INTERFACE(iface)    typedef interface iface { \
  206.                     struct iface##Vtbl FAR* lpVtbl; \
  207.                 } iface; \
  208.                 typedef struct iface##Vtbl iface##Vtbl; \
  209.                 struct iface##Vtbl
  210. #endif
  211. #define DECLARE_INTERFACE_(iface, baseiface)    DECLARE_INTERFACE(iface)
  212.  
  213. #endif
  214.  
  215.  
  216.  
  217.  
  218. /****** Additional basic types **********************************************/
  219.  
  220.  
  221. #ifndef FARSTRUCT
  222. #ifdef __cplusplus
  223. #define FARSTRUCT   FAR
  224. #else
  225. #define FARSTRUCT
  226. #endif  // __cplusplus
  227. #endif  // FARSTRUCT
  228.  
  229.  
  230.  
  231. #ifndef HUGEP
  232. #ifdef WIN32
  233. #define HUGEP
  234. #else
  235. #define HUGEP __huge
  236. #endif // WIN32
  237. #endif // HUGEP
  238.  
  239.  
  240. #include <stdlib.h>
  241.  
  242. #define LISet32(li, v) ((li).HighPart = (v) < 0 ? -1 : 0, (li).LowPart = (v))
  243.  
  244. #define ULISet32(li, v) ((li).HighPart = 0, (li).LowPart = (v))
  245.  
  246.  
  247.  
  248.  
  249.  
  250.  
  251. #define CLSCTX_ALL              (CLSCTX_INPROC_SERVER| \
  252.                  CLSCTX_INPROC_HANDLER| \
  253.                  CLSCTX_LOCAL_SERVER)
  254.  
  255. #define CLSCTX_INPROC           (CLSCTX_INPROC_SERVER|CLSCTX_INPROC_HANDLER)
  256.  
  257. #define CLSCTX_SERVER           (CLSCTX_INPROC_SERVER|CLSCTX_LOCAL_SERVER)
  258.  
  259.  
  260. // class registration flags; passed to CoRegisterClassObject
  261. typedef enum tagREGCLS
  262. {
  263.     REGCLS_SINGLEUSE = 0,       // class object only generates one instance
  264.     REGCLS_MULTIPLEUSE = 1,     // same class object genereates multiple inst.
  265.                 // and local automatically goes into inproc tbl.
  266.     REGCLS_MULTI_SEPARATE = 2   // multiple use, but separate control over each
  267.                 // context.
  268. } REGCLS;
  269.  
  270. // interface marshaling definitions
  271. #define MARSHALINTERFACE_MIN 500 // minimum number of bytes for interface marshl
  272.  
  273.  
  274. //
  275. // Common typedefs for paramaters used in Storage API's, gleamed from storage.h
  276. // Also contains Storage error codes, which should be moved into the storage
  277. // idl files.
  278. //
  279.  
  280.  
  281. #define CWCSTORAGENAME 32
  282.  
  283. /* Storage instantiation modes */
  284. #define STGM_DIRECT             0x00000000L
  285. #define STGM_TRANSACTED         0x00010000L
  286.  
  287. #define STGM_READ               0x00000000L
  288. #define STGM_WRITE              0x00000001L
  289. #define STGM_READWRITE          0x00000002L
  290.  
  291. #define STGM_SHARE_DENY_NONE    0x00000040L
  292. #define STGM_SHARE_DENY_READ    0x00000030L
  293. #define STGM_SHARE_DENY_WRITE   0x00000020L
  294. #define STGM_SHARE_EXCLUSIVE    0x00000010L
  295.  
  296. #define STGM_PRIORITY           0x00040000L
  297. #define STGM_DELETEONRELEASE    0x04000000L
  298.  
  299. #define STGM_CREATE             0x00001000L
  300. #define STGM_CONVERT            0x00020000L
  301. #define STGM_FAILIFTHERE        0x00000000L
  302.  
  303.  
  304. #ifndef __wtypes_h__
  305. #define __wtypes_h__
  306.  
  307. #ifdef __cplusplus
  308. extern "C"{
  309. #endif 
  310.  
  311. /* Forward Declarations */ 
  312.  
  313. void __RPC_FAR * __RPC_USER MIDL_user_allocate(size_t);
  314. void __RPC_USER MIDL_user_free( void __RPC_FAR * ); 
  315.  
  316. #ifndef __IWinTypes_INTERFACE_DEFINED__
  317. #define __IWinTypes_INTERFACE_DEFINED__
  318.  
  319. /****************************************
  320.  * Generated header for interface: IWinTypes
  321.  * at Mon Aug 29 14:02:57 1994
  322.  * using MIDL 2.00.71
  323.  ****************************************/
  324. /* [auto_handle][unique][version][uuid] */ 
  325.  
  326.  
  327.             /* size is 8 */
  328. typedef struct  tagRemHGLOBAL
  329.     {
  330.     long fNullHGlobal;
  331.     unsigned long cbData;
  332.     /* [size_is] */ byte data[ 1 ];
  333.     }   RemHGLOBAL;
  334.  
  335.             /* size is 16 */
  336. typedef struct  tagRemHMETAFILEPICT
  337.     {
  338.     long mm;
  339.     long xExt;
  340.     long yExt;
  341.     unsigned long cbData;
  342.     /* [size_is] */ byte data[ 1 ];
  343.     }   RemHMETAFILEPICT;
  344.  
  345.             /* size is 4 */
  346. typedef /* [transmit] */ void __RPC_FAR *HMETAFILEPICT;
  347.  
  348.             /* size is 4 */
  349. typedef struct  tagRemHENHMETAFILE
  350.     {
  351.     unsigned long cbData;
  352.     /* [size_is] */ byte data[ 1 ];
  353.     }   RemHENHMETAFILE;
  354.  
  355.             /* size is 4 */
  356. typedef struct  tagRemHBITMAP
  357.     {
  358.     unsigned long cbData;
  359.     /* [size_is] */ byte data[ 1 ];
  360.     }   RemHBITMAP;
  361.  
  362.             /* size is 4 */
  363. typedef struct  tagRemHPALETTE
  364.     {
  365.     unsigned long cbData;
  366.     /* [size_is] */ byte data[ 1 ];
  367.     }   RemHPALETTE;
  368.  
  369.             /* size is 4 */
  370. typedef struct  tagRemBRUSH
  371.     {
  372.     unsigned long cbData;
  373.     /* [size_is] */ byte data[ 1 ];
  374.     }   RemHBRUSH;
  375.  
  376. #ifndef WIN32           // The following code is for Win16 only
  377. #ifndef WINAPI          // If not included with 3.1 headers... 
  378. #define FAR             _far
  379. #define PASCAL          _pascal
  380. #define CDECL           _cdecl
  381. #define VOID            void
  382. #define WINAPI      FAR PASCAL
  383. #define CALLBACK    FAR PASCAL
  384. #ifndef FALSE
  385. #define FALSE 0
  386. #define TRUE 1
  387. #endif // !FALSE
  388. #ifndef _BYTE_DEFINED
  389. #define _BYTE_DEFINED
  390.             /* size is 1 */
  391. typedef unsigned char BYTE;
  392.  
  393. #endif // !_BYTE_DEFINED
  394. #ifndef _WORD_DEFINED
  395. #define _WORD_DEFINED
  396.             /* size is 2 */
  397. typedef unsigned short WORD;
  398.  
  399. #endif // !_WORD_DEFINED
  400.             /* size is 4 */
  401. typedef /* [transmit] */ unsigned int UINT;
  402.  
  403.             /* size is 4 */
  404. typedef /* [transmit] */ int INT;
  405.  
  406.             /* size is 4 */
  407. typedef long BOOL;
  408.  
  409. #ifndef _LONG_DEFINED
  410. #define _LONG_DEFINED
  411.             /* size is 4 */
  412. typedef long LONG;
  413.  
  414. #endif // !_LONG_DEFINED
  415. #ifndef _WPARAM_DEFINED
  416. #define _WPARAM_DEFINED
  417.             /* size is 4 */
  418. typedef UINT WPARAM;
  419.  
  420. #endif // _WPARAM_DEFINED
  421. #ifndef _DWORD_DEFINED
  422. #define _DWORD_DEFINED
  423.             /* size is 4 */
  424. typedef unsigned long DWORD;
  425.  
  426. #endif // !_DWORD_DEFINED
  427. #ifndef _LPARAM_DEFINED
  428. #define _LPARAM_DEFINED
  429.             /* size is 4 */
  430. typedef LONG LPARAM;
  431.  
  432. #endif // !_LPARAM_DEFINED
  433. #ifndef _LRESULT_DEFINED
  434. #define _LRESULT_DEFINED
  435.             /* size is 4 */
  436. typedef LONG LRESULT;
  437.  
  438. #endif // !_LRESULT_DEFINED
  439.             /* size is 4 */
  440. typedef /* [transmit] */ void __RPC_FAR *HANDLE;
  441.  
  442.             /* size is 4 */
  443. typedef /* [transmit] */ void __RPC_FAR *HMODULE;
  444.  
  445.             /* size is 4 */
  446. typedef /* [transmit] */ void __RPC_FAR *HINSTANCE;
  447.  
  448.             /* size is 4 */
  449. typedef /* [transmit] */ void __RPC_FAR *HICON;
  450.  
  451.             /* size is 4 */
  452. typedef /* [transmit] */ void __RPC_FAR *HFONT;
  453.  
  454.             /* size is 4 */
  455. typedef /* [transmit] */ void __RPC_FAR *HGLOBAL;
  456.  
  457.             /* size is 4 */
  458. typedef HGLOBAL HLOCAL;
  459.  
  460.             /* size is 4 */
  461. typedef /* [transmit] */ void __RPC_FAR *HBITMAP;
  462.  
  463.             /* size is 4 */
  464. typedef /* [transmit] */ void __RPC_FAR *HPALETTE;
  465.  
  466.             /* size is 4 */
  467. typedef /* [transmit] */ void __RPC_FAR *HBRUSH;
  468.  
  469.             /* size is 4 */
  470. typedef /* [transmit] */ void __RPC_FAR *HENHMETAFILE;
  471.  
  472.             /* size is 4 */
  473. typedef /* [transmit] */ void __RPC_FAR *HDC;
  474.  
  475.             /* size is 4 */
  476. typedef /* [transmit] */ void __RPC_FAR *HRGN;
  477.  
  478.             /* size is 4 */
  479. typedef /* [transmit] */ void __RPC_FAR *HWND;
  480.  
  481.             /* size is 4 */
  482. typedef /* [transmit] */ void __RPC_FAR *HMENU;
  483.  
  484.             /* size is 4 */
  485. typedef /* [transmit] */ void __RPC_FAR *HACCEL;
  486.  
  487.             /* size is 4 */
  488. typedef /* [transmit] */ void __RPC_FAR *HTASK;
  489.  
  490.             /* size is 4 */
  491. typedef /* [transmit] */ void __RPC_FAR *HKEY;
  492.  
  493.             /* size is 4 */
  494. typedef /* [transmit] */ void __RPC_FAR *HDESK;
  495.  
  496.             /* size is 4 */
  497. typedef /* [transmit] */ void __RPC_FAR *HMF;
  498.  
  499.             /* size is 4 */
  500. typedef /* [transmit] */ void __RPC_FAR *HEMF;
  501.  
  502.             /* size is 4 */
  503. typedef /* [transmit] */ void __RPC_FAR *HMETAFILE;
  504.  
  505.             /* size is 4 */
  506. typedef /* [transmit] */ void __RPC_FAR *HPEN;
  507.  
  508.             /* size is 4 */
  509. typedef /* [transmit] */ void __RPC_FAR *HRSRC;
  510.  
  511.             /* size is 4 */
  512. typedef /* [transmit] */ void __RPC_FAR *HSTR;
  513.  
  514.             /* size is 4 */
  515. typedef /* [transmit] */ void __RPC_FAR *HWINSTA;
  516.  
  517.             /* size is 4 */
  518. typedef /* [transmit] */ void __RPC_FAR *HKL;
  519.  
  520.             /* size is 4 */
  521. typedef /* [transmit] */ void __RPC_FAR *HGDIOBJ;
  522.  
  523.             /* size is 4 */
  524. typedef HANDLE HDWP;
  525.  
  526. #ifndef _HFILE_DEFINED
  527. #define _HFILE_DEFINED
  528.             /* size is 4 */
  529. typedef INT HFILE;
  530.  
  531. #endif // !_HFILE_DEFINED
  532. #ifndef _HCURSOR_DEFINED
  533. #define _HCURSOR_DEFINED
  534.             /* size is 4 */
  535. typedef HICON HCURSOR;
  536.  
  537. #endif // !_HCURSOR_DEFINED
  538. #ifndef _LPWORD_DEFINED
  539. #define _LPWORD_DEFINED
  540.             /* size is 4 */
  541. typedef WORD __RPC_FAR *LPWORD;
  542.  
  543. #endif // !_LPWORD_DEFINED
  544. #ifndef _LPDWORD_DEFINED
  545. #define _LPDWORD_DEFINED
  546.             /* size is 4 */
  547. typedef DWORD __RPC_FAR *LPDWORD;
  548.  
  549. #endif // !_LPDWORD_DEFINED
  550.             /* size is 4 */
  551. typedef /* [string] */ char __RPC_FAR *LPSTR;
  552.  
  553.             /* size is 4 */
  554. typedef /* [string] */ const char __RPC_FAR *LPCSTR;
  555.  
  556. #ifndef _WCHAR_DEFINED
  557. #define _WCHAR_DEFINED
  558.             /* size is 2 */
  559. typedef wchar_t WCHAR;
  560.  
  561.             /* size is 2 */
  562. typedef WCHAR TCHAR;
  563.  
  564. #endif // !_WCHAR_DEFINED
  565.             /* size is 4 */
  566. typedef /* [string] */ WCHAR __RPC_FAR *LPWSTR;
  567.  
  568.             /* size is 4 */
  569. typedef /* [string] */ TCHAR __RPC_FAR *LPTSTR;
  570.  
  571.             /* size is 4 */
  572. typedef /* [string] */ const WCHAR __RPC_FAR *LPCWSTR;
  573.  
  574.             /* size is 4 */
  575. typedef /* [string] */ const TCHAR __RPC_FAR *LPCTSTR;
  576.  
  577.             /* size is 4 */
  578. typedef struct  tagPALETTEENTRY
  579.     {
  580.     BYTE peRed;
  581.     BYTE peGreen;
  582.     BYTE peBlue;
  583.     BYTE peFlags;
  584.     }   PALETTEENTRY;
  585.  
  586.             /* size is 4 */
  587. typedef struct tagPALETTEENTRY __RPC_FAR *PPALETTEENTRY;
  588.  
  589.             /* size is 4 */
  590. typedef struct tagPALETTEENTRY __RPC_FAR *LPPALETTEENTRY;
  591.  
  592. #if 0
  593.             /* size is 4 */
  594. typedef struct  tagLOGPALETTE
  595.     {
  596.     WORD palVersion;
  597.     WORD palNumEntries;
  598.     /* [size_is] */ PALETTEENTRY palPalEntry[ 1 ];
  599.     }   LOGPALETTE;
  600.  
  601.             /* size is 4 */
  602. typedef struct tagLOGPALETTE __RPC_FAR *PLOGPALETTE;
  603.  
  604.             /* size is 4 */
  605. typedef struct tagLOGPALETTE __RPC_FAR *LPLOGPALETTE;
  606.  
  607. #else
  608. typedef struct tagLOGPALETTE {
  609.     WORD        palVersion;
  610.     WORD        palNumEntries;
  611.     PALETTEENTRY        palPalEntry[1];
  612. } LOGPALETTE, *PLOGPALETTE, *LPLOGPALETTE;
  613. #endif
  614. #ifndef _COLORREF_DEFINED
  615. #define _COLORREF_DEFINED
  616.             /* size is 4 */
  617. typedef DWORD COLORREF;
  618.  
  619. #endif // !_COLORREF_DEFINED
  620. #ifndef _LPCOLORREF_DEFINED
  621. #define _LPCOLORREF_DEFINED
  622.             /* size is 4 */
  623. typedef DWORD __RPC_FAR *LPCOLORREF;
  624.  
  625. #endif // !_LPCOLORREF_DEFINED
  626.             /* size is 4 */
  627. typedef HANDLE __RPC_FAR *LPHANDLE;
  628.  
  629.             /* size is 16 */
  630. typedef struct  _RECTL
  631.     {
  632.     LONG left;
  633.     LONG top;
  634.     LONG right;
  635.     LONG bottom;
  636.     }   RECTL;
  637.  
  638.             /* size is 4 */
  639. typedef struct _RECTL __RPC_FAR *PRECTL;
  640.  
  641.             /* size is 4 */
  642. typedef struct _RECTL __RPC_FAR *LPRECTL;
  643.  
  644.             /* size is 8 */
  645. typedef struct  tagPOINT
  646.     {
  647.     LONG x;
  648.     LONG y;
  649.     }   POINT;
  650.  
  651.             /* size is 4 */
  652. typedef struct tagPOINT __RPC_FAR *PPOINT;
  653.  
  654.             /* size is 4 */
  655. typedef struct tagPOINT __RPC_FAR *LPPOINT;
  656.  
  657.             /* size is 8 */
  658. typedef struct  _POINTL
  659.     {
  660.     LONG x;
  661.     LONG y;
  662.     }   POINTL;
  663.  
  664.             /* size is 4 */
  665. typedef struct _POINTL __RPC_FAR *PPOINTL;
  666.  
  667. #ifndef WIN16
  668.             /* size is 8 */
  669. typedef struct  tagSIZE
  670.     {
  671.     LONG cx;
  672.     LONG cy;
  673.     }   SIZE;
  674.  
  675.             /* size is 4 */
  676. typedef struct tagSIZE __RPC_FAR *PSIZE;
  677.  
  678.             /* size is 4 */
  679. typedef struct tagSIZE __RPC_FAR *LPSIZE;
  680.  
  681. #else // WIN16
  682. typedef struct tagSIZE
  683. {
  684.     INT cx;
  685.     INT cy;
  686. } SIZE, *PSIZE, *LPSIZE;
  687. #endif // WIN16
  688.             /* size is 28 */
  689. typedef struct  tagMSG
  690.     {
  691.     HWND hwnd;
  692.     UINT message;
  693.     WPARAM wParam;
  694.     LPARAM lParam;
  695.     DWORD time;
  696.     POINT pt;
  697.     }   MSG;
  698.  
  699.             /* size is 4 */
  700. typedef struct tagMSG __RPC_FAR *PMSG;
  701.  
  702.             /* size is 4 */
  703. typedef struct tagMSG __RPC_FAR *NPMSG;
  704.  
  705.             /* size is 4 */
  706. typedef struct tagMSG __RPC_FAR *LPMSG;
  707.  
  708.             /* size is 8 */
  709. typedef struct  tagSIZEL
  710.     {
  711.     LONG cx;
  712.     LONG cy;
  713.     }   SIZEL;
  714.  
  715.             /* size is 4 */
  716. typedef struct tagSIZEL __RPC_FAR *PSIZEL;
  717.  
  718.             /* size is 4 */
  719. typedef struct tagSIZEL __RPC_FAR *LPSIZEL;
  720.  
  721. #endif  //WINAPI
  722. #endif  //!WIN32
  723. #if defined(WIN32) && !defined(OLE2ANSI)
  724.             /* size is 2 */
  725. typedef WCHAR OLECHAR;
  726.  
  727.             /* size is 4 */
  728. typedef /* [string] */ OLECHAR __RPC_FAR *LPOLESTR;
  729.  
  730.             /* size is 4 */
  731. typedef /* [string] */ const OLECHAR __RPC_FAR *LPCOLESTR;
  732.  
  733. #define OLESTR(str) L##str
  734. #else
  735. typedef char      OLECHAR;
  736. typedef LPSTR     LPOLESTR;
  737. typedef LPCSTR    LPCOLESTR;
  738. #define OLESTR(str) str
  739. #endif
  740.             /* size is 4 */
  741. typedef const RECTL __RPC_FAR *LPCRECTL;
  742.  
  743. #ifndef _WINDEF_
  744.             /* size is 4 */
  745. typedef void __RPC_FAR *PVOID;
  746.  
  747.             /* size is 4 */
  748. typedef void __RPC_FAR *LPVOID;
  749.  
  750.             /* size is 16 */
  751. typedef struct  tagRECT
  752.     {
  753.     LONG left;
  754.     LONG top;
  755.     LONG right;
  756.     LONG bottom;
  757.     }   RECT;
  758.  
  759.             /* size is 4 */
  760. typedef struct tagRECT __RPC_FAR *PRECT;
  761.  
  762.             /* size is 4 */
  763. typedef struct tagRECT __RPC_FAR *LPRECT;
  764.  
  765. #endif  //_WINDEF_
  766.             /* size is 1 */
  767. typedef unsigned char UCHAR;
  768.  
  769.             /* size is 2 */
  770. typedef short SHORT;
  771.  
  772.             /* size is 2 */
  773. typedef unsigned short USHORT;
  774.  
  775.             /* size is 4 */
  776. typedef DWORD ULONG;
  777.  
  778. #if 0
  779.             /* size is 8 */
  780. typedef hyper LONGLONG;
  781.  
  782.             /* size is 8 */
  783. typedef unsigned hyper ULONGLONG;
  784.  
  785.             /* size is 4 */
  786. typedef LONGLONG __RPC_FAR *PLONGLONG;
  787.  
  788.             /* size is 4 */
  789. typedef ULONGLONG __RPC_FAR *PULONGLONG;
  790.  
  791.             /* size is 8 */
  792. typedef struct  _LARGE_INTEGER
  793.     {
  794.     LONGLONG QuadPart;
  795.     }   LARGE_INTEGER;
  796.  
  797.             /* size is 4 */
  798. typedef LARGE_INTEGER __RPC_FAR *PLARGE_INTEGER;
  799.  
  800.             /* size is 8 */
  801. typedef struct  _ULARGE_INTEGER
  802.     {
  803.     ULONGLONG QuadPart;
  804.     }   ULARGE_INTEGER;
  805.  
  806. #endif // 
  807. #ifndef _WINBASE_
  808. #ifndef _FILETIME_
  809. #define _FILETIME_
  810.             /* size is 8 */
  811. typedef struct  _FILETIME
  812.     {
  813.     DWORD dwLowDateTime;
  814.     DWORD dwHighDateTime;
  815.     }   FILETIME;
  816.  
  817.             /* size is 4 */
  818. typedef struct _FILETIME __RPC_FAR *PFILETIME;
  819.  
  820.             /* size is 4 */
  821. typedef struct _FILETIME __RPC_FAR *LPFILETIME;
  822.  
  823. #endif // !_FILETIME
  824. #ifndef _SYSTEMTIME_
  825. #define _SYSTEMTIME_
  826.             /* size is 16 */
  827. typedef struct  _SYSTEMTIME
  828.     {
  829.     WORD wYear;
  830.     WORD wMonth;
  831.     WORD wDayOfWeek;
  832.     WORD wDay;
  833.     WORD wHour;
  834.     WORD wMinute;
  835.     WORD wSecond;
  836.     WORD wMilliseconds;
  837.     }   SYSTEMTIME;
  838.  
  839.             /* size is 4 */
  840. typedef struct _SYSTEMTIME __RPC_FAR *PSYSTEMTIME;
  841.  
  842.             /* size is 4 */
  843. typedef struct _SYSTEMTIME __RPC_FAR *LPSYSTEMTIME;
  844.  
  845. #endif // !_SYSTEMTIME
  846. #ifndef _SECURITY_ATTRIBUTES_
  847. #define _SECURITY_ATTRIBUTES_
  848.             /* size is 12 */
  849. typedef struct  _SECURITY_ATTRIBUTES
  850.     {
  851.     DWORD nLength;
  852.     /* [size_is] */ LPVOID lpSecurityDescriptor;
  853.     BOOL bInheritHandle;
  854.     }   SECURITY_ATTRIBUTES;
  855.  
  856.             /* size is 4 */
  857. typedef struct _SECURITY_ATTRIBUTES __RPC_FAR *PSECURITY_ATTRIBUTES;
  858.  
  859.             /* size is 4 */
  860. typedef struct _SECURITY_ATTRIBUTES __RPC_FAR *LPSECURITY_ATTRIBUTES;
  861.  
  862. #endif // !_SECURITY_ATTRIBUTES_
  863. #ifndef SECURITY_DESCRIPTOR_REVISION
  864.             /* size is 2 */
  865. typedef USHORT SECURITY_DESCRIPTOR_CONTROL;
  866.  
  867.             /* size is 4 */
  868. typedef USHORT __RPC_FAR *PSECURITY_DESCRIPTOR_CONTROL;
  869.  
  870.             /* size is 4 */
  871. typedef PVOID PSID;
  872.  
  873.             /* size is 8 */
  874. typedef struct  _ACL
  875.     {
  876.     UCHAR AclRevision;
  877.     UCHAR Sbz1;
  878.     USHORT AclSize;
  879.     USHORT AceCount;
  880.     USHORT Sbz2;
  881.     }   ACL;
  882.  
  883.             /* size is 4 */
  884. typedef ACL __RPC_FAR *PACL;
  885.  
  886.             /* size is 20 */
  887. typedef struct  _SECURITY_DESCRIPTOR
  888.     {
  889.     UCHAR Revision;
  890.     UCHAR Sbz1;
  891.     SECURITY_DESCRIPTOR_CONTROL Control;
  892.     PSID Owner;
  893.     PSID Group;
  894.     PACL Sacl;
  895.     PACL Dacl;
  896.     }   SECURITY_DESCRIPTOR;
  897.  
  898.             /* size is 4 */
  899. typedef struct _SECURITY_DESCRIPTOR __RPC_FAR *PISECURITY_DESCRIPTOR;
  900.  
  901. #endif // !SECURITY_DESCRIPTOR_REVISION
  902. #endif //_WINBASE_
  903.             /* size is 4 */
  904. typedef LONG SCODE;
  905.  
  906.             /* size is 4 */
  907. typedef LONG HRESULT;
  908.  
  909.             /* size is 4 */
  910. typedef SCODE __RPC_FAR *PSCODE;
  911.  
  912. #ifndef GUID_DEFINED
  913. #define GUID_DEFINED
  914.             /* size is 16 */
  915. typedef struct  _GUID
  916.     {
  917.     DWORD Data1;
  918.     WORD Data2;
  919.     WORD Data3;
  920.     BYTE Data4[ 8 ];
  921.     }   GUID;
  922.  
  923. #endif // !GUID_DEFINED
  924. #if !defined( __LPGUID_DEFINED__ )
  925. #define __LPGUID_DEFINED__
  926.             /* size is 4 */
  927. typedef GUID __RPC_FAR *LPGUID;
  928.  
  929. #endif // !__LPGUID_DEFINED__
  930. #ifndef __OBJECTID_DEFINED
  931. #define __OBJECTID_DEFINED
  932. #define _OBJECTID_DEFINED
  933.             /* size is 20 */
  934. typedef struct  _OBJECTID
  935.     {
  936.     GUID Lineage;
  937.     unsigned long Uniquifier;
  938.     }   OBJECTID;
  939.  
  940. #endif // !_OBJECTID_DEFINED
  941. #if !defined( __IID_DEFINED__ )
  942. #define __IID_DEFINED__
  943.             /* size is 16 */
  944. typedef GUID IID;
  945.  
  946.             /* size is 4 */
  947. typedef IID __RPC_FAR *LPIID;
  948.  
  949. #define IID_NULL            GUID_NULL
  950. #define IsEqualIID(riid1, riid2) IsEqualGUID(riid1, riid2)
  951.             /* size is 16 */
  952. typedef GUID CLSID;
  953.  
  954.             /* size is 4 */
  955. typedef CLSID __RPC_FAR *LPCLSID;
  956.  
  957. #define CLSID_NULL          GUID_NULL
  958. #define IsEqualCLSID(rclsid1, rclsid2) IsEqualGUID(rclsid1, rclsid2)
  959. #if 0
  960.             /* size is 4 */
  961. typedef GUID __RPC_FAR *REFGUID;
  962.  
  963.             /* size is 4 */
  964. typedef IID __RPC_FAR *REFIID;
  965.  
  966.             /* size is 4 */
  967. typedef CLSID __RPC_FAR *REFCLSID;
  968.  
  969. #endif // 0
  970. #if defined(__cplusplus)
  971. #ifndef _REFGUID_DEFINED
  972. #define _REFGUID_DEFINED
  973. #define REFGUID             const GUID &
  974. #endif // !_REFGUID_DEFINED
  975. #ifndef _REFIID_DEFINED
  976. #define _REFIID_DEFINED
  977. #define REFIID              const IID &
  978. #endif // !_REFIID_DEFINED
  979. #ifndef _REFCLSID_DEFINED
  980. #define _REFCLSID_DEFINED
  981. #define REFCLSID            const CLSID &
  982. #endif // !_REFCLSID_DEFINED
  983. #else // !__cplusplus
  984. #ifndef _REFGUID_DEFINED
  985. #define _REFGUID_DEFINED
  986. #define REFGUID             const GUID * const
  987. #endif // !_REFGUID_DEFINED
  988. #ifndef _REFIID_DEFINED
  989. #define _REFIID_DEFINED
  990. #define REFIID              const IID * const
  991. #endif // !_REFIID_DEFINED
  992. #ifndef _REFCLSID_DEFINED
  993. #define _REFCLSID_DEFINED
  994. #define REFCLSID            const CLSID * const
  995. #endif // !_REFCLSID_DEFINED
  996. #endif // !__cplusplus
  997. #endif // !__IID_DEFINED__
  998.             /* size is 2 */
  999. typedef 
  1000. enum tagMEMCTX
  1001.     {   MEMCTX_TASK     = 1,
  1002.     MEMCTX_SHARED   = 2,
  1003.     MEMCTX_MACSYSTEM        = 3,
  1004.     MEMCTX_UNKNOWN  = -1,
  1005.     MEMCTX_SAME     = -2
  1006.     }   MEMCTX;
  1007.  
  1008. #ifndef _ROTFLAGS_DEFINED
  1009. #define _ROTFLAGS_DEFINED
  1010. #define ROTFLAGS_REGISTRATIONKEEPSALIVE 1
  1011. #endif // !_ROTFLAGS_DEFINED
  1012.             /* size is 2 */
  1013. typedef 
  1014. enum tagCLSCTX
  1015.     {   CLSCTX_INPROC_SERVER    = 1,
  1016.     CLSCTX_INPROC_HANDLER   = 2,
  1017.     CLSCTX_LOCAL_SERVER     = 4,
  1018.     CLSCTX_INPROC_SERVER16  = 8
  1019.     }   CLSCTX;
  1020.  
  1021.             /* size is 2 */
  1022. typedef 
  1023. enum tagMSHLFLAGS
  1024.     {   MSHLFLAGS_NORMAL        = 0,
  1025.     MSHLFLAGS_TABLESTRONG   = 1,
  1026.     MSHLFLAGS_TABLEWEAK     = 2
  1027.     }   MSHLFLAGS;
  1028.  
  1029.             /* size is 2 */
  1030. typedef 
  1031. enum tagMSHCTX
  1032.     {   MSHCTX_LOCAL    = 0,
  1033.     MSHCTX_NOSHAREDMEM      = 1,
  1034.     MSHCTX_DIFFERENTMACHINE = 2
  1035.     }   MSHCTX;
  1036.  
  1037.             /* size is 2 */
  1038. typedef 
  1039. enum tagDVASPECT
  1040.     {   DVASPECT_CONTENT        = 1,
  1041.     DVASPECT_THUMBNAIL      = 2,
  1042.     DVASPECT_ICON   = 4,
  1043.     DVASPECT_DOCPRINT       = 8
  1044.     }   DVASPECT;
  1045.  
  1046.             /* size is 2 */
  1047. typedef 
  1048. enum tagSTGC
  1049.     {   STGC_DEFAULT    = 0,
  1050.     STGC_OVERWRITE  = 1,
  1051.     STGC_ONLYIFCURRENT      = 2,
  1052.     STGC_DANGEROUSLYCOMMITMERELYTODISKCACHE = 4
  1053.     }   STGC;
  1054.  
  1055.             /* size is 2 */
  1056. typedef 
  1057. enum tagSTGMOVE
  1058.     {   STGMOVE_MOVE    = 0,
  1059.     STGMOVE_COPY    = 1
  1060.     }   STGMOVE;
  1061.  
  1062.             /* size is 2 */
  1063. typedef 
  1064. enum tagSTATFLAG
  1065.     {   STATFLAG_DEFAULT        = 0,
  1066.     STATFLAG_NONAME = 1
  1067.     }   STATFLAG;
  1068.  
  1069.             /* size is 4 */
  1070. typedef /* [context_handle] */ void __RPC_FAR *HCONTEXT;
  1071.  
  1072. #ifndef _LCID_DEFINED
  1073. #define _LCID_DEFINED
  1074.             /* size is 4 */
  1075. typedef DWORD LCID;
  1076.  
  1077. #endif // !_LCID_DEFINED
  1078.             /* size is 4 */
  1079. typedef const RECT __RPC_FAR *LPCRECT;
  1080.  
  1081. void __RPC_API HGLOBAL_to_xmit (HGLOBAL __RPC_FAR *, RemHGLOBAL __RPC_FAR * __RPC_FAR *);
  1082. void __RPC_API HGLOBAL_from_xmit (RemHGLOBAL __RPC_FAR *, HGLOBAL __RPC_FAR *);
  1083. void __RPC_API HGLOBAL_free_inst (HGLOBAL __RPC_FAR *);
  1084. void __RPC_API HGLOBAL_free_xmit (RemHGLOBAL __RPC_FAR *);
  1085. void __RPC_API HBITMAP_to_xmit (HBITMAP __RPC_FAR *, RemHBITMAP __RPC_FAR * __RPC_FAR *);
  1086. void __RPC_API HBITMAP_from_xmit (RemHBITMAP __RPC_FAR *, HBITMAP __RPC_FAR *);
  1087. void __RPC_API HBITMAP_free_inst (HBITMAP __RPC_FAR *);
  1088. void __RPC_API HBITMAP_free_xmit (RemHBITMAP __RPC_FAR *);
  1089. void __RPC_API HPALETTE_to_xmit (HPALETTE __RPC_FAR *, RemHPALETTE __RPC_FAR * __RPC_FAR *);
  1090. void __RPC_API HPALETTE_from_xmit (RemHPALETTE __RPC_FAR *, HPALETTE __RPC_FAR *);
  1091. void __RPC_API HPALETTE_free_inst (HPALETTE __RPC_FAR *);
  1092. void __RPC_API HPALETTE_free_xmit (RemHPALETTE __RPC_FAR *);
  1093. void __RPC_API HBRUSH_to_xmit (HBRUSH __RPC_FAR *, RemHBRUSH __RPC_FAR * __RPC_FAR *);
  1094. void __RPC_API HBRUSH_from_xmit (RemHBRUSH __RPC_FAR *, HBRUSH __RPC_FAR *);
  1095. void __RPC_API HBRUSH_free_inst (HBRUSH __RPC_FAR *);
  1096. void __RPC_API HBRUSH_free_xmit (RemHBRUSH __RPC_FAR *);
  1097. void __RPC_API HMETAFILEPICT_to_xmit (HMETAFILEPICT __RPC_FAR *, RemHMETAFILEPICT __RPC_FAR * __RPC_FAR *);
  1098. void __RPC_API HMETAFILEPICT_from_xmit (RemHMETAFILEPICT __RPC_FAR *, HMETAFILEPICT __RPC_FAR *);
  1099. void __RPC_API HMETAFILEPICT_free_inst (HMETAFILEPICT __RPC_FAR *);
  1100. void __RPC_API HMETAFILEPICT_free_xmit (RemHMETAFILEPICT __RPC_FAR *);
  1101. void __RPC_API HENHMETAFILE_to_xmit (HENHMETAFILE __RPC_FAR *, RemHENHMETAFILE __RPC_FAR * __RPC_FAR *);
  1102. void __RPC_API HENHMETAFILE_from_xmit (RemHENHMETAFILE __RPC_FAR *, HENHMETAFILE __RPC_FAR *);
  1103. void __RPC_API HENHMETAFILE_free_inst (HENHMETAFILE __RPC_FAR *);
  1104. void __RPC_API HENHMETAFILE_free_xmit (RemHENHMETAFILE __RPC_FAR *);
  1105.  
  1106.  
  1107. extern RPC_IF_HANDLE IWinTypes_v0_1_c_ifspec;
  1108. extern RPC_IF_HANDLE IWinTypes_v0_1_s_ifspec;
  1109. #endif /* __IWinTypes_INTERFACE_DEFINED__ */
  1110.  
  1111. /* Additional Prototypes for ALL interfaces */
  1112.  
  1113. /* end of Additional Prototypes */
  1114.  
  1115. #ifdef __cplusplus
  1116. }
  1117. #endif
  1118.  
  1119. #endif
  1120.  
  1121. #ifndef __unknwn_h__
  1122. #define __unknwn_h__
  1123.  
  1124. #ifdef __cplusplus
  1125. extern "C"{
  1126. #endif 
  1127.  
  1128. /* Forward Declarations */ 
  1129.  
  1130. void __RPC_FAR * __RPC_USER MIDL_user_allocate(size_t);
  1131. void __RPC_USER MIDL_user_free( void __RPC_FAR * ); 
  1132.  
  1133. /****************************************
  1134.  * Generated header for interface: __MIDL__intf_0000
  1135.  * at Fri Sep 02 18:12:10 1994
  1136.  * using MIDL 2.00.71
  1137.  ****************************************/
  1138. /* [auto_handle][local] */ 
  1139.  
  1140.  
  1141. // dummy file redirecting to com.idl/com.h
  1142.  
  1143.  
  1144. extern RPC_IF_HANDLE __MIDL__intf_0000_v0_0_c_ifspec;
  1145. extern RPC_IF_HANDLE __MIDL__intf_0000_v0_0_s_ifspec;
  1146.  
  1147. /* Additional Prototypes for ALL interfaces */
  1148.  
  1149. /* end of Additional Prototypes */
  1150.  
  1151. #ifdef __cplusplus
  1152. }
  1153. #endif
  1154.  
  1155. #endif
  1156.  
  1157. // Forward declarations for typedefs in this file
  1158.  
  1159. #ifndef __com_h__
  1160. #define __com_h__
  1161.  
  1162. #ifdef __cplusplus
  1163. extern "C"{
  1164. #endif 
  1165.  
  1166. /* Forward Declarations */ 
  1167.  
  1168. #ifndef __IUnknown_FWD_DEFINED__
  1169. #define __IUnknown_FWD_DEFINED__
  1170. typedef interface IUnknown IUnknown;
  1171. #endif  /* __IUnknown_FWD_DEFINED__ */
  1172.  
  1173.  
  1174. #ifndef __IClassFactory_FWD_DEFINED__
  1175. #define __IClassFactory_FWD_DEFINED__
  1176. typedef interface IClassFactory IClassFactory;
  1177. #endif  /* __IClassFactory_FWD_DEFINED__ */
  1178.  
  1179.  
  1180. #ifndef __IMarshal_FWD_DEFINED__
  1181. #define __IMarshal_FWD_DEFINED__
  1182. typedef interface IMarshal IMarshal;
  1183. #endif  /* __IMarshal_FWD_DEFINED__ */
  1184.  
  1185.  
  1186. #ifndef __IMalloc_FWD_DEFINED__
  1187. #define __IMalloc_FWD_DEFINED__
  1188. typedef interface IMalloc IMalloc;
  1189. #endif  /* __IMalloc_FWD_DEFINED__ */
  1190.  
  1191.  
  1192. #ifndef __IStdMarshalInfo_FWD_DEFINED__
  1193. #define __IStdMarshalInfo_FWD_DEFINED__
  1194. typedef interface IStdMarshalInfo IStdMarshalInfo;
  1195. #endif  /* __IStdMarshalInfo_FWD_DEFINED__ */
  1196.  
  1197.  
  1198. #ifndef __IExternalConnection_FWD_DEFINED__
  1199. #define __IExternalConnection_FWD_DEFINED__
  1200. typedef interface IExternalConnection IExternalConnection;
  1201. #endif  /* __IExternalConnection_FWD_DEFINED__ */
  1202.  
  1203.  
  1204. #ifndef __IWeakRef_FWD_DEFINED__
  1205. #define __IWeakRef_FWD_DEFINED__
  1206. typedef interface IWeakRef IWeakRef;
  1207. #endif  /* __IWeakRef_FWD_DEFINED__ */
  1208.  
  1209.  
  1210. #ifndef __IEnumUnknown_FWD_DEFINED__
  1211. #define __IEnumUnknown_FWD_DEFINED__
  1212. typedef interface IEnumUnknown IEnumUnknown;
  1213. #endif  /* __IEnumUnknown_FWD_DEFINED__ */
  1214.  
  1215.  
  1216. #ifndef __IBindCtx_FWD_DEFINED__
  1217. #define __IBindCtx_FWD_DEFINED__
  1218. typedef interface IBindCtx IBindCtx;
  1219. #endif  /* __IBindCtx_FWD_DEFINED__ */
  1220.  
  1221.  
  1222. #ifndef __IParseDisplayName_FWD_DEFINED__
  1223. #define __IParseDisplayName_FWD_DEFINED__
  1224. typedef interface IParseDisplayName IParseDisplayName;
  1225. #endif  /* __IParseDisplayName_FWD_DEFINED__ */
  1226.  
  1227.  
  1228. #ifndef __IEnumMoniker_FWD_DEFINED__
  1229. #define __IEnumMoniker_FWD_DEFINED__
  1230. typedef interface IEnumMoniker IEnumMoniker;
  1231. #endif  /* __IEnumMoniker_FWD_DEFINED__ */
  1232.  
  1233.  
  1234. #ifndef __IRunnableObject_FWD_DEFINED__
  1235. #define __IRunnableObject_FWD_DEFINED__
  1236. typedef interface IRunnableObject IRunnableObject;
  1237. #endif  /* __IRunnableObject_FWD_DEFINED__ */
  1238.  
  1239.  
  1240. #ifndef __IRunningObjectTable_FWD_DEFINED__
  1241. #define __IRunningObjectTable_FWD_DEFINED__
  1242. typedef interface IRunningObjectTable IRunningObjectTable;
  1243. #endif  /* __IRunningObjectTable_FWD_DEFINED__ */
  1244.  
  1245.  
  1246. #ifndef __IPersist_FWD_DEFINED__
  1247. #define __IPersist_FWD_DEFINED__
  1248. typedef interface IPersist IPersist;
  1249. #endif  /* __IPersist_FWD_DEFINED__ */
  1250.  
  1251.  
  1252. #ifndef __IPersistStream_FWD_DEFINED__
  1253. #define __IPersistStream_FWD_DEFINED__
  1254. typedef interface IPersistStream IPersistStream;
  1255. #endif  /* __IPersistStream_FWD_DEFINED__ */
  1256.  
  1257.  
  1258. #ifndef __IMoniker_FWD_DEFINED__
  1259. #define __IMoniker_FWD_DEFINED__
  1260. typedef interface IMoniker IMoniker;
  1261. #endif  /* __IMoniker_FWD_DEFINED__ */
  1262.  
  1263.  
  1264. #ifndef __IEnumString_FWD_DEFINED__
  1265. #define __IEnumString_FWD_DEFINED__
  1266. typedef interface IEnumString IEnumString;
  1267. #endif  /* __IEnumString_FWD_DEFINED__ */
  1268.  
  1269.  
  1270. #ifndef __IStream_FWD_DEFINED__
  1271. #define __IStream_FWD_DEFINED__
  1272. typedef interface IStream IStream;
  1273. #endif  /* __IStream_FWD_DEFINED__ */
  1274.  
  1275.  
  1276. #ifndef __IEnumSTATSTG_FWD_DEFINED__
  1277. #define __IEnumSTATSTG_FWD_DEFINED__
  1278. typedef interface IEnumSTATSTG IEnumSTATSTG;
  1279. #endif  /* __IEnumSTATSTG_FWD_DEFINED__ */
  1280.  
  1281.  
  1282. #ifndef __IStorage_FWD_DEFINED__
  1283. #define __IStorage_FWD_DEFINED__
  1284. typedef interface IStorage IStorage;
  1285. #endif  /* __IStorage_FWD_DEFINED__ */
  1286.  
  1287.  
  1288. #ifndef __IPersistFile_FWD_DEFINED__
  1289. #define __IPersistFile_FWD_DEFINED__
  1290. typedef interface IPersistFile IPersistFile;
  1291. #endif  /* __IPersistFile_FWD_DEFINED__ */
  1292.  
  1293.  
  1294. #ifndef __IPersistStorage_FWD_DEFINED__
  1295. #define __IPersistStorage_FWD_DEFINED__
  1296. typedef interface IPersistStorage IPersistStorage;
  1297. #endif  /* __IPersistStorage_FWD_DEFINED__ */
  1298.  
  1299.  
  1300. #ifndef __ILockBytes_FWD_DEFINED__
  1301. #define __ILockBytes_FWD_DEFINED__
  1302. typedef interface ILockBytes ILockBytes;
  1303. #endif  /* __ILockBytes_FWD_DEFINED__ */
  1304.  
  1305.  
  1306. #ifndef __IEnumFORMATETC_FWD_DEFINED__
  1307. #define __IEnumFORMATETC_FWD_DEFINED__
  1308. typedef interface IEnumFORMATETC IEnumFORMATETC;
  1309. #endif  /* __IEnumFORMATETC_FWD_DEFINED__ */
  1310.  
  1311.  
  1312. #ifndef __IEnumSTATDATA_FWD_DEFINED__
  1313. #define __IEnumSTATDATA_FWD_DEFINED__
  1314. typedef interface IEnumSTATDATA IEnumSTATDATA;
  1315. #endif  /* __IEnumSTATDATA_FWD_DEFINED__ */
  1316.  
  1317.  
  1318. #ifndef __IRootStorage_FWD_DEFINED__
  1319. #define __IRootStorage_FWD_DEFINED__
  1320. typedef interface IRootStorage IRootStorage;
  1321. #endif  /* __IRootStorage_FWD_DEFINED__ */
  1322.  
  1323.  
  1324. #ifndef __IAdviseSink_FWD_DEFINED__
  1325. #define __IAdviseSink_FWD_DEFINED__
  1326. typedef interface IAdviseSink IAdviseSink;
  1327. #endif  /* __IAdviseSink_FWD_DEFINED__ */
  1328.  
  1329.  
  1330. #ifndef __IAdviseSink2_FWD_DEFINED__
  1331. #define __IAdviseSink2_FWD_DEFINED__
  1332. typedef interface IAdviseSink2 IAdviseSink2;
  1333. #endif  /* __IAdviseSink2_FWD_DEFINED__ */
  1334.  
  1335.  
  1336. #ifndef __IDataObject_FWD_DEFINED__
  1337. #define __IDataObject_FWD_DEFINED__
  1338. typedef interface IDataObject IDataObject;
  1339. #endif  /* __IDataObject_FWD_DEFINED__ */
  1340.  
  1341.  
  1342. #ifndef __IDataAdviseHolder_FWD_DEFINED__
  1343. #define __IDataAdviseHolder_FWD_DEFINED__
  1344. typedef interface IDataAdviseHolder IDataAdviseHolder;
  1345. #endif  /* __IDataAdviseHolder_FWD_DEFINED__ */
  1346.  
  1347.  
  1348. #ifndef __IMessageFilter_FWD_DEFINED__
  1349. #define __IMessageFilter_FWD_DEFINED__
  1350. typedef interface IMessageFilter IMessageFilter;
  1351. #endif  /* __IMessageFilter_FWD_DEFINED__ */
  1352.  
  1353.  
  1354. #ifndef __IRpcChannelBuffer_FWD_DEFINED__
  1355. #define __IRpcChannelBuffer_FWD_DEFINED__
  1356. typedef interface IRpcChannelBuffer IRpcChannelBuffer;
  1357. #endif  /* __IRpcChannelBuffer_FWD_DEFINED__ */
  1358.  
  1359.  
  1360. #ifndef __IRpcProxyBuffer_FWD_DEFINED__
  1361. #define __IRpcProxyBuffer_FWD_DEFINED__
  1362. typedef interface IRpcProxyBuffer IRpcProxyBuffer;
  1363. #endif  /* __IRpcProxyBuffer_FWD_DEFINED__ */
  1364.  
  1365.  
  1366. #ifndef __IRpcStubBuffer_FWD_DEFINED__
  1367. #define __IRpcStubBuffer_FWD_DEFINED__
  1368. typedef interface IRpcStubBuffer IRpcStubBuffer;
  1369. #endif  /* __IRpcStubBuffer_FWD_DEFINED__ */
  1370.  
  1371.  
  1372. #ifndef __IPSFactoryBuffer_FWD_DEFINED__
  1373. #define __IPSFactoryBuffer_FWD_DEFINED__
  1374. typedef interface IPSFactoryBuffer IPSFactoryBuffer;
  1375. #endif  /* __IPSFactoryBuffer_FWD_DEFINED__ */
  1376.  
  1377.  
  1378. void __RPC_FAR * __RPC_USER MIDL_user_allocate(size_t);
  1379. void __RPC_USER MIDL_user_free( void __RPC_FAR * ); 
  1380.  
  1381. /****************************************
  1382.  * Generated header for interface: __MIDL__intf_0000
  1383.  * at Fri Sep 02 18:12:06 1994
  1384.  * using MIDL 2.00.71
  1385.  ****************************************/
  1386. /* [auto_handle][local] */ 
  1387.  
  1388.  
  1389.             /* size is 0 */
  1390.  
  1391.             /* size is 0 */
  1392.  
  1393.             /* size is 0 */
  1394.  
  1395.             /* size is 0 */
  1396.  
  1397.             /* size is 0 */
  1398.  
  1399.             /* size is 0 */
  1400.  
  1401.             /* size is 0 */
  1402.  
  1403.             /* size is 0 */
  1404.  
  1405.             /* size is 0 */
  1406.  
  1407.             /* size is 0 */
  1408.  
  1409.  
  1410.  
  1411. extern RPC_IF_HANDLE __MIDL__intf_0000_v0_0_c_ifspec;
  1412. extern RPC_IF_HANDLE __MIDL__intf_0000_v0_0_s_ifspec;
  1413.  
  1414. #ifndef __IUnknown_INTERFACE_DEFINED__
  1415. #define __IUnknown_INTERFACE_DEFINED__
  1416.  
  1417. /****************************************
  1418.  * Generated header for interface: IUnknown
  1419.  * at Fri Sep 02 18:12:06 1994
  1420.  * using MIDL 2.00.71
  1421.  ****************************************/
  1422. /* [unique][uuid][object][local] */ 
  1423.  
  1424.  
  1425.             /* size is 4 */
  1426. typedef /* [unique] */ IUnknown __RPC_FAR *LPUNKNOWN;
  1427.  
  1428.  
  1429. EXTERN_C const IID IID_IUnknown;
  1430.  
  1431. #if defined(__cplusplus) && !defined(CINTERFACE)
  1432.     
  1433.     interface IUnknown
  1434.     {
  1435.     public:
  1436.     virtual HRESULT __stdcall QueryInterface( 
  1437.         /* [in] */ REFIID riid,
  1438.         /* [out] */ void __RPC_FAR *__RPC_FAR *ppvObject) = 0;
  1439.     
  1440.     virtual ULONG __stdcall AddRef( void) = 0;
  1441.     
  1442.     virtual ULONG __stdcall Release( void) = 0;
  1443.     
  1444.     };
  1445.     
  1446. #else   /* C style interface */
  1447.     
  1448.     typedef struct IUnknownVtbl
  1449.     {
  1450.     
  1451.     HRESULT ( __stdcall __RPC_FAR *QueryInterface )( 
  1452.         IUnknown __RPC_FAR * This,
  1453.         /* [in] */ REFIID riid,
  1454.         /* [out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  1455.     
  1456.     ULONG ( __stdcall __RPC_FAR *AddRef )( 
  1457.         IUnknown __RPC_FAR * This);
  1458.     
  1459.     ULONG ( __stdcall __RPC_FAR *Release )( 
  1460.         IUnknown __RPC_FAR * This);
  1461.     
  1462.     } IUnknownVtbl;
  1463.     
  1464.     interface IUnknown
  1465.     {
  1466.     CONST_VTBL struct IUnknownVtbl __RPC_FAR *lpVtbl;
  1467.     };
  1468.     
  1469.     
  1470.  
  1471. #ifdef COBJMACROS
  1472.  
  1473.  
  1474. #define IUnknown_QueryInterface(This,riid,ppvObject)    \
  1475.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1476.  
  1477. #define IUnknown_AddRef(This)   \
  1478.     (This)->lpVtbl -> AddRef(This)
  1479.  
  1480. #define IUnknown_Release(This)  \
  1481.     (This)->lpVtbl -> Release(This)
  1482.  
  1483. #endif /* COBJMACROS */
  1484.  
  1485.  
  1486. #endif  /* C style interface */
  1487.  
  1488.  
  1489.  
  1490. HRESULT __stdcall IUnknown_QueryInterface_Proxy( 
  1491.     IUnknown __RPC_FAR * This,
  1492.     /* [in] */ REFIID riid,
  1493.     /* [out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  1494.  
  1495.  
  1496. void __RPC_STUB IUnknown_QueryInterface_Stub(
  1497.     IRpcStubBuffer *This,
  1498.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1499.     PRPC_MESSAGE _pRpcMessage,
  1500.     DWORD *_pdwStubPhase);
  1501.  
  1502.  
  1503. ULONG __stdcall IUnknown_AddRef_Proxy( 
  1504.     IUnknown __RPC_FAR * This);
  1505.  
  1506.  
  1507. void __RPC_STUB IUnknown_AddRef_Stub(
  1508.     IRpcStubBuffer *This,
  1509.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1510.     PRPC_MESSAGE _pRpcMessage,
  1511.     DWORD *_pdwStubPhase);
  1512.  
  1513.  
  1514. ULONG __stdcall IUnknown_Release_Proxy( 
  1515.     IUnknown __RPC_FAR * This);
  1516.  
  1517.  
  1518. void __RPC_STUB IUnknown_Release_Stub(
  1519.     IRpcStubBuffer *This,
  1520.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1521.     PRPC_MESSAGE _pRpcMessage,
  1522.     DWORD *_pdwStubPhase);
  1523.  
  1524.  
  1525.  
  1526. #endif  /* __IUnknown_INTERFACE_DEFINED__ */
  1527.  
  1528.  
  1529. #ifndef __IClassFactory_INTERFACE_DEFINED__
  1530. #define __IClassFactory_INTERFACE_DEFINED__
  1531.  
  1532. /****************************************
  1533.  * Generated header for interface: IClassFactory
  1534.  * at Fri Sep 02 18:12:06 1994
  1535.  * using MIDL 2.00.71
  1536.  ****************************************/
  1537. /* [unique][uuid][object] */ 
  1538.  
  1539.  
  1540.             /* size is 4 */
  1541. typedef /* [unique] */ IClassFactory __RPC_FAR *LPCLASSFACTORY;
  1542.  
  1543.  
  1544. EXTERN_C const IID IID_IClassFactory;
  1545.  
  1546. #if defined(__cplusplus) && !defined(CINTERFACE)
  1547.     
  1548.     interface IClassFactory : public IUnknown
  1549.     {
  1550.     public:
  1551.     virtual /* [local] */ HRESULT __stdcall CreateInstance( 
  1552.         /* [unique][in] */ IUnknown __RPC_FAR *pUnkOuter,
  1553.         /* [in] */ REFIID riid,
  1554.         /* [out] */ void __RPC_FAR *__RPC_FAR *ppvObject) = 0;
  1555.     
  1556.     virtual HRESULT __stdcall LockServer( 
  1557.         /* [in] */ BOOL fLock) = 0;
  1558.     
  1559.     };
  1560.     
  1561. #else   /* C style interface */
  1562.     
  1563.     typedef struct IClassFactoryVtbl
  1564.     {
  1565.     
  1566.     HRESULT ( __stdcall __RPC_FAR *QueryInterface )( 
  1567.         IClassFactory __RPC_FAR * This,
  1568.         /* [in] */ REFIID riid,
  1569.         /* [out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  1570.     
  1571.     ULONG ( __stdcall __RPC_FAR *AddRef )( 
  1572.         IClassFactory __RPC_FAR * This);
  1573.     
  1574.     ULONG ( __stdcall __RPC_FAR *Release )( 
  1575.         IClassFactory __RPC_FAR * This);
  1576.     
  1577.     /* [local] */ HRESULT ( __stdcall __RPC_FAR *CreateInstance )( 
  1578.         IClassFactory __RPC_FAR * This,
  1579.         /* [unique][in] */ IUnknown __RPC_FAR *pUnkOuter,
  1580.         /* [in] */ REFIID riid,
  1581.         /* [out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  1582.     
  1583.     HRESULT ( __stdcall __RPC_FAR *LockServer )( 
  1584.         IClassFactory __RPC_FAR * This,
  1585.         /* [in] */ BOOL fLock);
  1586.     
  1587.     } IClassFactoryVtbl;
  1588.     
  1589.     interface IClassFactory
  1590.     {
  1591.     CONST_VTBL struct IClassFactoryVtbl __RPC_FAR *lpVtbl;
  1592.     };
  1593.     
  1594.     
  1595.  
  1596. #ifdef COBJMACROS
  1597.  
  1598.  
  1599. #define IClassFactory_QueryInterface(This,riid,ppvObject)       \
  1600.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1601.  
  1602. #define IClassFactory_AddRef(This)      \
  1603.     (This)->lpVtbl -> AddRef(This)
  1604.  
  1605. #define IClassFactory_Release(This)     \
  1606.     (This)->lpVtbl -> Release(This)
  1607.  
  1608.  
  1609. #define IClassFactory_CreateInstance(This,pUnkOuter,riid,ppvObject)     \
  1610.     (This)->lpVtbl -> CreateInstance(This,pUnkOuter,riid,ppvObject)
  1611.  
  1612. #define IClassFactory_LockServer(This,fLock)    \
  1613.     (This)->lpVtbl -> LockServer(This,fLock)
  1614.  
  1615. #endif /* COBJMACROS */
  1616.  
  1617.  
  1618. #endif  /* C style interface */
  1619.  
  1620.  
  1621.  
  1622. /* [call_as] */ HRESULT __stdcall IClassFactory_RemoteCreateInstance_Proxy( 
  1623.     IClassFactory __RPC_FAR * This,
  1624.     /* [in] */ REFIID riid,
  1625.     /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppvObject);
  1626.  
  1627.  
  1628. void __RPC_STUB IClassFactory_RemoteCreateInstance_Stub(
  1629.     IRpcStubBuffer *This,
  1630.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1631.     PRPC_MESSAGE _pRpcMessage,
  1632.     DWORD *_pdwStubPhase);
  1633.  
  1634.  
  1635. HRESULT __stdcall IClassFactory_LockServer_Proxy( 
  1636.     IClassFactory __RPC_FAR * This,
  1637.     /* [in] */ BOOL fLock);
  1638.  
  1639.  
  1640. void __RPC_STUB IClassFactory_LockServer_Stub(
  1641.     IRpcStubBuffer *This,
  1642.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1643.     PRPC_MESSAGE _pRpcMessage,
  1644.     DWORD *_pdwStubPhase);
  1645.  
  1646.  
  1647.  
  1648. #endif  /* __IClassFactory_INTERFACE_DEFINED__ */
  1649.  
  1650.  
  1651. #ifndef __IMarshal_INTERFACE_DEFINED__
  1652. #define __IMarshal_INTERFACE_DEFINED__
  1653.  
  1654. /****************************************
  1655.  * Generated header for interface: IMarshal
  1656.  * at Fri Sep 02 18:12:06 1994
  1657.  * using MIDL 2.00.71
  1658.  ****************************************/
  1659. /* [uuid][object][local] */ 
  1660.  
  1661.  
  1662.             /* size is 4 */
  1663. typedef /* [unique] */ IMarshal __RPC_FAR *LPMARSHAL;
  1664.  
  1665.  
  1666. EXTERN_C const IID IID_IMarshal;
  1667.  
  1668. #if defined(__cplusplus) && !defined(CINTERFACE)
  1669.     
  1670.     interface IMarshal : public IUnknown
  1671.     {
  1672.     public:
  1673.     virtual HRESULT __stdcall GetUnmarshalClass( 
  1674.         /* [in] */ REFIID riid,
  1675.         /* [unique][in] */ void __RPC_FAR *pv,
  1676.         /* [in] */ DWORD dwDestContext,
  1677.         /* [unique][in] */ void __RPC_FAR *pvDestContext,
  1678.         /* [in] */ DWORD mshlflags,
  1679.         /* [out] */ CLSID __RPC_FAR *pCid) = 0;
  1680.     
  1681.     virtual HRESULT __stdcall GetMarshalSizeMax( 
  1682.         /* [in] */ REFIID riid,
  1683.         /* [unique][in] */ void __RPC_FAR *pv,
  1684.         /* [in] */ DWORD dwDestContext,
  1685.         /* [unique][in] */ void __RPC_FAR *pvDestContext,
  1686.         /* [in] */ DWORD mshlflags,
  1687.         /* [out] */ DWORD __RPC_FAR *pSize) = 0;
  1688.     
  1689.     virtual HRESULT __stdcall MarshalInterface( 
  1690.         /* [unique][in] */ IStream __RPC_FAR *pStm,
  1691.         /* [in] */ REFIID riid,
  1692.         /* [unique][in] */ void __RPC_FAR *pv,
  1693.         /* [in] */ DWORD dwDestContext,
  1694.         /* [unique][in] */ void __RPC_FAR *pvDestContext,
  1695.         /* [in] */ DWORD mshlflags) = 0;
  1696.     
  1697.     virtual HRESULT __stdcall UnmarshalInterface( 
  1698.         /* [unique][in] */ IStream __RPC_FAR *pStm,
  1699.         /* [in] */ REFIID riid,
  1700.         /* [out] */ void __RPC_FAR *__RPC_FAR *ppv) = 0;
  1701.     
  1702.     virtual HRESULT __stdcall ReleaseMarshalData( 
  1703.         /* [unique][in] */ IStream __RPC_FAR *pStm) = 0;
  1704.     
  1705.     virtual HRESULT __stdcall DisconnectObject( 
  1706.         /* [in] */ DWORD dwReserved) = 0;
  1707.     
  1708.     };
  1709.     
  1710. #else   /* C style interface */
  1711.     
  1712.     typedef struct IMarshalVtbl
  1713.     {
  1714.     
  1715.     HRESULT ( __stdcall __RPC_FAR *QueryInterface )( 
  1716.         IMarshal __RPC_FAR * This,
  1717.         /* [in] */ REFIID riid,
  1718.         /* [out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  1719.     
  1720.     ULONG ( __stdcall __RPC_FAR *AddRef )( 
  1721.         IMarshal __RPC_FAR * This);
  1722.     
  1723.     ULONG ( __stdcall __RPC_FAR *Release )( 
  1724.         IMarshal __RPC_FAR * This);
  1725.     
  1726.     HRESULT ( __stdcall __RPC_FAR *GetUnmarshalClass )( 
  1727.         IMarshal __RPC_FAR * This,
  1728.         /* [in] */ REFIID riid,
  1729.         /* [unique][in] */ void __RPC_FAR *pv,
  1730.         /* [in] */ DWORD dwDestContext,
  1731.         /* [unique][in] */ void __RPC_FAR *pvDestContext,
  1732.         /* [in] */ DWORD mshlflags,
  1733.         /* [out] */ CLSID __RPC_FAR *pCid);
  1734.     
  1735.     HRESULT ( __stdcall __RPC_FAR *GetMarshalSizeMax )( 
  1736.         IMarshal __RPC_FAR * This,
  1737.         /* [in] */ REFIID riid,
  1738.         /* [unique][in] */ void __RPC_FAR *pv,
  1739.         /* [in] */ DWORD dwDestContext,
  1740.         /* [unique][in] */ void __RPC_FAR *pvDestContext,
  1741.         /* [in] */ DWORD mshlflags,
  1742.         /* [out] */ DWORD __RPC_FAR *pSize);
  1743.     
  1744.     HRESULT ( __stdcall __RPC_FAR *MarshalInterface )( 
  1745.         IMarshal __RPC_FAR * This,
  1746.         /* [unique][in] */ IStream __RPC_FAR *pStm,
  1747.         /* [in] */ REFIID riid,
  1748.         /* [unique][in] */ void __RPC_FAR *pv,
  1749.         /* [in] */ DWORD dwDestContext,
  1750.         /* [unique][in] */ void __RPC_FAR *pvDestContext,
  1751.         /* [in] */ DWORD mshlflags);
  1752.     
  1753.     HRESULT ( __stdcall __RPC_FAR *UnmarshalInterface )( 
  1754.         IMarshal __RPC_FAR * This,
  1755.         /* [unique][in] */ IStream __RPC_FAR *pStm,
  1756.         /* [in] */ REFIID riid,
  1757.         /* [out] */ void __RPC_FAR *__RPC_FAR *ppv);
  1758.     
  1759.     HRESULT ( __stdcall __RPC_FAR *ReleaseMarshalData )( 
  1760.         IMarshal __RPC_FAR * This,
  1761.         /* [unique][in] */ IStream __RPC_FAR *pStm);
  1762.     
  1763.     HRESULT ( __stdcall __RPC_FAR *DisconnectObject )( 
  1764.         IMarshal __RPC_FAR * This,
  1765.         /* [in] */ DWORD dwReserved);
  1766.     
  1767.     } IMarshalVtbl;
  1768.     
  1769.     interface IMarshal
  1770.     {
  1771.     CONST_VTBL struct IMarshalVtbl __RPC_FAR *lpVtbl;
  1772.     };
  1773.     
  1774.     
  1775.  
  1776. #ifdef COBJMACROS
  1777.  
  1778.  
  1779. #define IMarshal_QueryInterface(This,riid,ppvObject)    \
  1780.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1781.  
  1782. #define IMarshal_AddRef(This)   \
  1783.     (This)->lpVtbl -> AddRef(This)
  1784.  
  1785. #define IMarshal_Release(This)  \
  1786.     (This)->lpVtbl -> Release(This)
  1787.  
  1788.  
  1789. #define IMarshal_GetUnmarshalClass(This,riid,pv,dwDestContext,pvDestContext,mshlflags,pCid)     \
  1790.     (This)->lpVtbl -> GetUnmarshalClass(This,riid,pv,dwDestContext,pvDestContext,mshlflags,pCid)
  1791.  
  1792. #define IMarshal_GetMarshalSizeMax(This,riid,pv,dwDestContext,pvDestContext,mshlflags,pSize)    \
  1793.     (This)->lpVtbl -> GetMarshalSizeMax(This,riid,pv,dwDestContext,pvDestContext,mshlflags,pSize)
  1794.  
  1795. #define IMarshal_MarshalInterface(This,pStm,riid,pv,dwDestContext,pvDestContext,mshlflags)      \
  1796.     (This)->lpVtbl -> MarshalInterface(This,pStm,riid,pv,dwDestContext,pvDestContext,mshlflags)
  1797.  
  1798. #define IMarshal_UnmarshalInterface(This,pStm,riid,ppv) \
  1799.     (This)->lpVtbl -> UnmarshalInterface(This,pStm,riid,ppv)
  1800.  
  1801. #define IMarshal_ReleaseMarshalData(This,pStm)  \
  1802.     (This)->lpVtbl -> ReleaseMarshalData(This,pStm)
  1803.  
  1804. #define IMarshal_DisconnectObject(This,dwReserved)      \
  1805.     (This)->lpVtbl -> DisconnectObject(This,dwReserved)
  1806.  
  1807. #endif /* COBJMACROS */
  1808.  
  1809.  
  1810. #endif  /* C style interface */
  1811.  
  1812.  
  1813.  
  1814. HRESULT __stdcall IMarshal_GetUnmarshalClass_Proxy( 
  1815.     IMarshal __RPC_FAR * This,
  1816.     /* [in] */ REFIID riid,
  1817.     /* [unique][in] */ void __RPC_FAR *pv,
  1818.     /* [in] */ DWORD dwDestContext,
  1819.     /* [unique][in] */ void __RPC_FAR *pvDestContext,
  1820.     /* [in] */ DWORD mshlflags,
  1821.     /* [out] */ CLSID __RPC_FAR *pCid);
  1822.  
  1823.  
  1824. void __RPC_STUB IMarshal_GetUnmarshalClass_Stub(
  1825.     IRpcStubBuffer *This,
  1826.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1827.     PRPC_MESSAGE _pRpcMessage,
  1828.     DWORD *_pdwStubPhase);
  1829.  
  1830.  
  1831. HRESULT __stdcall IMarshal_GetMarshalSizeMax_Proxy( 
  1832.     IMarshal __RPC_FAR * This,
  1833.     /* [in] */ REFIID riid,
  1834.     /* [unique][in] */ void __RPC_FAR *pv,
  1835.     /* [in] */ DWORD dwDestContext,
  1836.     /* [unique][in] */ void __RPC_FAR *pvDestContext,
  1837.     /* [in] */ DWORD mshlflags,
  1838.     /* [out] */ DWORD __RPC_FAR *pSize);
  1839.  
  1840.  
  1841. void __RPC_STUB IMarshal_GetMarshalSizeMax_Stub(
  1842.     IRpcStubBuffer *This,
  1843.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1844.     PRPC_MESSAGE _pRpcMessage,
  1845.     DWORD *_pdwStubPhase);
  1846.  
  1847.  
  1848. HRESULT __stdcall IMarshal_MarshalInterface_Proxy( 
  1849.     IMarshal __RPC_FAR * This,
  1850.     /* [unique][in] */ IStream __RPC_FAR *pStm,
  1851.     /* [in] */ REFIID riid,
  1852.     /* [unique][in] */ void __RPC_FAR *pv,
  1853.     /* [in] */ DWORD dwDestContext,
  1854.     /* [unique][in] */ void __RPC_FAR *pvDestContext,
  1855.     /* [in] */ DWORD mshlflags);
  1856.  
  1857.  
  1858. void __RPC_STUB IMarshal_MarshalInterface_Stub(
  1859.     IRpcStubBuffer *This,
  1860.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1861.     PRPC_MESSAGE _pRpcMessage,
  1862.     DWORD *_pdwStubPhase);
  1863.  
  1864.  
  1865. HRESULT __stdcall IMarshal_UnmarshalInterface_Proxy( 
  1866.     IMarshal __RPC_FAR * This,
  1867.     /* [unique][in] */ IStream __RPC_FAR *pStm,
  1868.     /* [in] */ REFIID riid,
  1869.     /* [out] */ void __RPC_FAR *__RPC_FAR *ppv);
  1870.  
  1871.  
  1872. void __RPC_STUB IMarshal_UnmarshalInterface_Stub(
  1873.     IRpcStubBuffer *This,
  1874.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1875.     PRPC_MESSAGE _pRpcMessage,
  1876.     DWORD *_pdwStubPhase);
  1877.  
  1878.  
  1879. HRESULT __stdcall IMarshal_ReleaseMarshalData_Proxy( 
  1880.     IMarshal __RPC_FAR * This,
  1881.     /* [unique][in] */ IStream __RPC_FAR *pStm);
  1882.  
  1883.  
  1884. void __RPC_STUB IMarshal_ReleaseMarshalData_Stub(
  1885.     IRpcStubBuffer *This,
  1886.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1887.     PRPC_MESSAGE _pRpcMessage,
  1888.     DWORD *_pdwStubPhase);
  1889.  
  1890.  
  1891. HRESULT __stdcall IMarshal_DisconnectObject_Proxy( 
  1892.     IMarshal __RPC_FAR * This,
  1893.     /* [in] */ DWORD dwReserved);
  1894.  
  1895.  
  1896. void __RPC_STUB IMarshal_DisconnectObject_Stub(
  1897.     IRpcStubBuffer *This,
  1898.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1899.     PRPC_MESSAGE _pRpcMessage,
  1900.     DWORD *_pdwStubPhase);
  1901.  
  1902.  
  1903.  
  1904. #endif  /* __IMarshal_INTERFACE_DEFINED__ */
  1905.  
  1906.  
  1907. #ifndef __IMalloc_INTERFACE_DEFINED__
  1908. #define __IMalloc_INTERFACE_DEFINED__
  1909.  
  1910. /****************************************
  1911.  * Generated header for interface: IMalloc
  1912.  * at Fri Sep 02 18:12:06 1994
  1913.  * using MIDL 2.00.71
  1914.  ****************************************/
  1915. /* [uuid][object][local] */ 
  1916.  
  1917.  
  1918.             /* size is 4 */
  1919. typedef /* [unique] */ IMalloc __RPC_FAR *LPMALLOC;
  1920.  
  1921.  
  1922. EXTERN_C const IID IID_IMalloc;
  1923.  
  1924. #if defined(__cplusplus) && !defined(CINTERFACE)
  1925.     
  1926.     interface IMalloc : public IUnknown
  1927.     {
  1928.     public:
  1929.     virtual void __RPC_FAR *__stdcall Alloc( 
  1930.         /* [in] */ ULONG cb) = 0;
  1931.     
  1932.     virtual void __RPC_FAR *__stdcall Realloc( 
  1933.         /* [in] */ void __RPC_FAR *pv,
  1934.         /* [in] */ ULONG cb) = 0;
  1935.     
  1936.     virtual void __stdcall Free( 
  1937.         /* [in] */ void __RPC_FAR *pv) = 0;
  1938.     
  1939.     virtual ULONG __stdcall GetSize( 
  1940.         /* [in] */ void __RPC_FAR *pv) = 0;
  1941.     
  1942.     virtual int __stdcall DidAlloc( 
  1943.         void __RPC_FAR *pv) = 0;
  1944.     
  1945.     virtual void __stdcall HeapMinimize( void) = 0;
  1946.     
  1947.     };
  1948.     
  1949. #else   /* C style interface */
  1950.     
  1951.     typedef struct IMallocVtbl
  1952.     {
  1953.     
  1954.     HRESULT ( __stdcall __RPC_FAR *QueryInterface )( 
  1955.         IMalloc __RPC_FAR * This,
  1956.         /* [in] */ REFIID riid,
  1957.         /* [out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  1958.     
  1959.     ULONG ( __stdcall __RPC_FAR *AddRef )( 
  1960.         IMalloc __RPC_FAR * This);
  1961.     
  1962.     ULONG ( __stdcall __RPC_FAR *Release )( 
  1963.         IMalloc __RPC_FAR * This);
  1964.     
  1965.     void __RPC_FAR *( __stdcall __RPC_FAR *Alloc )( 
  1966.         IMalloc __RPC_FAR * This,
  1967.         /* [in] */ ULONG cb);
  1968.     
  1969.     void __RPC_FAR *( __stdcall __RPC_FAR *Realloc )( 
  1970.         IMalloc __RPC_FAR * This,
  1971.         /* [in] */ void __RPC_FAR *pv,
  1972.         /* [in] */ ULONG cb);
  1973.     
  1974.     void ( __stdcall __RPC_FAR *Free )( 
  1975.         IMalloc __RPC_FAR * This,
  1976.         /* [in] */ void __RPC_FAR *pv);
  1977.     
  1978.     ULONG ( __stdcall __RPC_FAR *GetSize )( 
  1979.         IMalloc __RPC_FAR * This,
  1980.         /* [in] */ void __RPC_FAR *pv);
  1981.     
  1982.     int ( __stdcall __RPC_FAR *DidAlloc )( 
  1983.         IMalloc __RPC_FAR * This,
  1984.         void __RPC_FAR *pv);
  1985.     
  1986.     void ( __stdcall __RPC_FAR *HeapMinimize )( 
  1987.         IMalloc __RPC_FAR * This);
  1988.     
  1989.     } IMallocVtbl;
  1990.     
  1991.     interface IMalloc
  1992.     {
  1993.     CONST_VTBL struct IMallocVtbl __RPC_FAR *lpVtbl;
  1994.     };
  1995.     
  1996.     
  1997.  
  1998. #ifdef COBJMACROS
  1999.  
  2000.  
  2001. #define IMalloc_QueryInterface(This,riid,ppvObject)     \
  2002.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2003.  
  2004. #define IMalloc_AddRef(This)    \
  2005.     (This)->lpVtbl -> AddRef(This)
  2006.  
  2007. #define IMalloc_Release(This)   \
  2008.     (This)->lpVtbl -> Release(This)
  2009.  
  2010.  
  2011. #define IMalloc_Alloc(This,cb)  \
  2012.     (This)->lpVtbl -> Alloc(This,cb)
  2013.  
  2014. #define IMalloc_Realloc(This,pv,cb)     \
  2015.     (This)->lpVtbl -> Realloc(This,pv,cb)
  2016.  
  2017. #define IMalloc_Free(This,pv)   \
  2018.     (This)->lpVtbl -> Free(This,pv)
  2019.  
  2020. #define IMalloc_GetSize(This,pv)        \
  2021.     (This)->lpVtbl -> GetSize(This,pv)
  2022.  
  2023. #define IMalloc_DidAlloc(This,pv)       \
  2024.     (This)->lpVtbl -> DidAlloc(This,pv)
  2025.  
  2026. #define IMalloc_HeapMinimize(This)      \
  2027.     (This)->lpVtbl -> HeapMinimize(This)
  2028.  
  2029. #endif /* COBJMACROS */
  2030.  
  2031.  
  2032. #endif  /* C style interface */
  2033.  
  2034.  
  2035.  
  2036. void __RPC_FAR *__stdcall IMalloc_Alloc_Proxy( 
  2037.     IMalloc __RPC_FAR * This,
  2038.     /* [in] */ ULONG cb);
  2039.  
  2040.  
  2041. void __RPC_STUB IMalloc_Alloc_Stub(
  2042.     IRpcStubBuffer *This,
  2043.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2044.     PRPC_MESSAGE _pRpcMessage,
  2045.     DWORD *_pdwStubPhase);
  2046.  
  2047.  
  2048. void __RPC_FAR *__stdcall IMalloc_Realloc_Proxy( 
  2049.     IMalloc __RPC_FAR * This,
  2050.     /* [in] */ void __RPC_FAR *pv,
  2051.     /* [in] */ ULONG cb);
  2052.  
  2053.  
  2054. void __RPC_STUB IMalloc_Realloc_Stub(
  2055.     IRpcStubBuffer *This,
  2056.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2057.     PRPC_MESSAGE _pRpcMessage,
  2058.     DWORD *_pdwStubPhase);
  2059.  
  2060.  
  2061. void __stdcall IMalloc_Free_Proxy( 
  2062.     IMalloc __RPC_FAR * This,
  2063.     /* [in] */ void __RPC_FAR *pv);
  2064.  
  2065.  
  2066. void __RPC_STUB IMalloc_Free_Stub(
  2067.     IRpcStubBuffer *This,
  2068.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2069.     PRPC_MESSAGE _pRpcMessage,
  2070.     DWORD *_pdwStubPhase);
  2071.  
  2072.  
  2073. ULONG __stdcall IMalloc_GetSize_Proxy( 
  2074.     IMalloc __RPC_FAR * This,
  2075.     /* [in] */ void __RPC_FAR *pv);
  2076.  
  2077.  
  2078. void __RPC_STUB IMalloc_GetSize_Stub(
  2079.     IRpcStubBuffer *This,
  2080.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2081.     PRPC_MESSAGE _pRpcMessage,
  2082.     DWORD *_pdwStubPhase);
  2083.  
  2084.  
  2085. int __stdcall IMalloc_DidAlloc_Proxy( 
  2086.     IMalloc __RPC_FAR * This,
  2087.     void __RPC_FAR *pv);
  2088.  
  2089.  
  2090. void __RPC_STUB IMalloc_DidAlloc_Stub(
  2091.     IRpcStubBuffer *This,
  2092.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2093.     PRPC_MESSAGE _pRpcMessage,
  2094.     DWORD *_pdwStubPhase);
  2095.  
  2096.  
  2097. void __stdcall IMalloc_HeapMinimize_Proxy( 
  2098.     IMalloc __RPC_FAR * This);
  2099.  
  2100.  
  2101. void __RPC_STUB IMalloc_HeapMinimize_Stub(
  2102.     IRpcStubBuffer *This,
  2103.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2104.     PRPC_MESSAGE _pRpcMessage,
  2105.     DWORD *_pdwStubPhase);
  2106.  
  2107.  
  2108.  
  2109. #endif  /* __IMalloc_INTERFACE_DEFINED__ */
  2110.  
  2111.  
  2112. #ifndef __IStdMarshalInfo_INTERFACE_DEFINED__
  2113. #define __IStdMarshalInfo_INTERFACE_DEFINED__
  2114.  
  2115. /****************************************
  2116.  * Generated header for interface: IStdMarshalInfo
  2117.  * at Fri Sep 02 18:12:06 1994
  2118.  * using MIDL 2.00.71
  2119.  ****************************************/
  2120. /* [uuid][object][local] */ 
  2121.  
  2122.  
  2123.             /* size is 4 */
  2124. typedef /* [unique] */ IStdMarshalInfo __RPC_FAR *LPSTDMARSHALINFO;
  2125.  
  2126.  
  2127. EXTERN_C const IID IID_IStdMarshalInfo;
  2128.  
  2129. #if defined(__cplusplus) && !defined(CINTERFACE)
  2130.     
  2131.     interface IStdMarshalInfo : public IUnknown
  2132.     {
  2133.     public:
  2134.     virtual HRESULT __stdcall GetClassForHandler( 
  2135.         /* [in] */ DWORD dwDestContext,
  2136.         /* [unique][in] */ void __RPC_FAR *pvDestContext,
  2137.         /* [out] */ CLSID __RPC_FAR *pClsid) = 0;
  2138.     
  2139.     };
  2140.     
  2141. #else   /* C style interface */
  2142.     
  2143.     typedef struct IStdMarshalInfoVtbl
  2144.     {
  2145.     
  2146.     HRESULT ( __stdcall __RPC_FAR *QueryInterface )( 
  2147.         IStdMarshalInfo __RPC_FAR * This,
  2148.         /* [in] */ REFIID riid,
  2149.         /* [out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  2150.     
  2151.     ULONG ( __stdcall __RPC_FAR *AddRef )( 
  2152.         IStdMarshalInfo __RPC_FAR * This);
  2153.     
  2154.     ULONG ( __stdcall __RPC_FAR *Release )( 
  2155.         IStdMarshalInfo __RPC_FAR * This);
  2156.     
  2157.     HRESULT ( __stdcall __RPC_FAR *GetClassForHandler )( 
  2158.         IStdMarshalInfo __RPC_FAR * This,
  2159.         /* [in] */ DWORD dwDestContext,
  2160.         /* [unique][in] */ void __RPC_FAR *pvDestContext,
  2161.         /* [out] */ CLSID __RPC_FAR *pClsid);
  2162.     
  2163.     } IStdMarshalInfoVtbl;
  2164.     
  2165.     interface IStdMarshalInfo
  2166.     {
  2167.     CONST_VTBL struct IStdMarshalInfoVtbl __RPC_FAR *lpVtbl;
  2168.     };
  2169.     
  2170.     
  2171.  
  2172. #ifdef COBJMACROS
  2173.  
  2174.  
  2175. #define IStdMarshalInfo_QueryInterface(This,riid,ppvObject)     \
  2176.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2177.  
  2178. #define IStdMarshalInfo_AddRef(This)    \
  2179.     (This)->lpVtbl -> AddRef(This)
  2180.  
  2181. #define IStdMarshalInfo_Release(This)   \
  2182.     (This)->lpVtbl -> Release(This)
  2183.  
  2184.  
  2185. #define IStdMarshalInfo_GetClassForHandler(This,dwDestContext,pvDestContext,pClsid)     \
  2186.     (This)->lpVtbl -> GetClassForHandler(This,dwDestContext,pvDestContext,pClsid)
  2187.  
  2188. #endif /* COBJMACROS */
  2189.  
  2190.  
  2191. #endif  /* C style interface */
  2192.  
  2193.  
  2194.  
  2195. HRESULT __stdcall IStdMarshalInfo_GetClassForHandler_Proxy( 
  2196.     IStdMarshalInfo __RPC_FAR * This,
  2197.     /* [in] */ DWORD dwDestContext,
  2198.     /* [unique][in] */ void __RPC_FAR *pvDestContext,
  2199.     /* [out] */ CLSID __RPC_FAR *pClsid);
  2200.  
  2201.  
  2202. void __RPC_STUB IStdMarshalInfo_GetClassForHandler_Stub(
  2203.     IRpcStubBuffer *This,
  2204.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2205.     PRPC_MESSAGE _pRpcMessage,
  2206.     DWORD *_pdwStubPhase);
  2207.  
  2208.  
  2209.  
  2210. #endif  /* __IStdMarshalInfo_INTERFACE_DEFINED__ */
  2211.  
  2212.  
  2213. #ifndef __IExternalConnection_INTERFACE_DEFINED__
  2214. #define __IExternalConnection_INTERFACE_DEFINED__
  2215.  
  2216. /****************************************
  2217.  * Generated header for interface: IExternalConnection
  2218.  * at Fri Sep 02 18:12:06 1994
  2219.  * using MIDL 2.00.71
  2220.  ****************************************/
  2221. /* [uuid][local][object] */ 
  2222.  
  2223.  
  2224.             /* size is 4 */
  2225. typedef /* [unique] */ IExternalConnection __RPC_FAR *LPEXTERNALCONNECTION;
  2226.  
  2227.             /* size is 2 */
  2228. typedef 
  2229. enum tagEXTCONN
  2230.     {   EXTCONN_STRONG  = 0x1,
  2231.     EXTCONN_WEAK    = 0x2,
  2232.     EXTCONN_CALLABLE        = 0x4
  2233.     }   EXTCONN;
  2234.  
  2235.  
  2236. EXTERN_C const IID IID_IExternalConnection;
  2237.  
  2238. #if defined(__cplusplus) && !defined(CINTERFACE)
  2239.     
  2240.     interface IExternalConnection : public IUnknown
  2241.     {
  2242.     public:
  2243.     virtual DWORD __stdcall AddConnection( 
  2244.         /* [in] */ DWORD extconn,
  2245.         /* [in] */ DWORD reserved) = 0;
  2246.     
  2247.     virtual DWORD __stdcall ReleaseConnection( 
  2248.         /* [in] */ DWORD extconn,
  2249.         /* [in] */ DWORD reserved,
  2250.         /* [in] */ BOOL fLastReleaseCloses) = 0;
  2251.     
  2252.     };
  2253.     
  2254. #else   /* C style interface */
  2255.     
  2256.     typedef struct IExternalConnectionVtbl
  2257.     {
  2258.     
  2259.     HRESULT ( __stdcall __RPC_FAR *QueryInterface )( 
  2260.         IExternalConnection __RPC_FAR * This,
  2261.         /* [in] */ REFIID riid,
  2262.         /* [out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  2263.     
  2264.     ULONG ( __stdcall __RPC_FAR *AddRef )( 
  2265.         IExternalConnection __RPC_FAR * This);
  2266.     
  2267.     ULONG ( __stdcall __RPC_FAR *Release )( 
  2268.         IExternalConnection __RPC_FAR * This);
  2269.     
  2270.     DWORD ( __stdcall __RPC_FAR *AddConnection )( 
  2271.         IExternalConnection __RPC_FAR * This,
  2272.         /* [in] */ DWORD extconn,
  2273.         /* [in] */ DWORD reserved);
  2274.     
  2275.     DWORD ( __stdcall __RPC_FAR *ReleaseConnection )( 
  2276.         IExternalConnection __RPC_FAR * This,
  2277.         /* [in] */ DWORD extconn,
  2278.         /* [in] */ DWORD reserved,
  2279.         /* [in] */ BOOL fLastReleaseCloses);
  2280.     
  2281.     } IExternalConnectionVtbl;
  2282.     
  2283.     interface IExternalConnection
  2284.     {
  2285.     CONST_VTBL struct IExternalConnectionVtbl __RPC_FAR *lpVtbl;
  2286.     };
  2287.     
  2288.     
  2289.  
  2290. #ifdef COBJMACROS
  2291.  
  2292.  
  2293. #define IExternalConnection_QueryInterface(This,riid,ppvObject) \
  2294.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2295.  
  2296. #define IExternalConnection_AddRef(This)        \
  2297.     (This)->lpVtbl -> AddRef(This)
  2298.  
  2299. #define IExternalConnection_Release(This)       \
  2300.     (This)->lpVtbl -> Release(This)
  2301.  
  2302.  
  2303. #define IExternalConnection_AddConnection(This,extconn,reserved)        \
  2304.     (This)->lpVtbl -> AddConnection(This,extconn,reserved)
  2305.  
  2306. #define IExternalConnection_ReleaseConnection(This,extconn,reserved,fLastReleaseCloses) \
  2307.     (This)->lpVtbl -> ReleaseConnection(This,extconn,reserved,fLastReleaseCloses)
  2308.  
  2309. #endif /* COBJMACROS */
  2310.  
  2311.  
  2312. #endif  /* C style interface */
  2313.  
  2314.  
  2315.  
  2316. DWORD __stdcall IExternalConnection_AddConnection_Proxy( 
  2317.     IExternalConnection __RPC_FAR * This,
  2318.     /* [in] */ DWORD extconn,
  2319.     /* [in] */ DWORD reserved);
  2320.  
  2321.  
  2322. void __RPC_STUB IExternalConnection_AddConnection_Stub(
  2323.     IRpcStubBuffer *This,
  2324.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2325.     PRPC_MESSAGE _pRpcMessage,
  2326.     DWORD *_pdwStubPhase);
  2327.  
  2328.  
  2329. DWORD __stdcall IExternalConnection_ReleaseConnection_Proxy( 
  2330.     IExternalConnection __RPC_FAR * This,
  2331.     /* [in] */ DWORD extconn,
  2332.     /* [in] */ DWORD reserved,
  2333.     /* [in] */ BOOL fLastReleaseCloses);
  2334.  
  2335.  
  2336. void __RPC_STUB IExternalConnection_ReleaseConnection_Stub(
  2337.     IRpcStubBuffer *This,
  2338.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2339.     PRPC_MESSAGE _pRpcMessage,
  2340.     DWORD *_pdwStubPhase);
  2341.  
  2342.  
  2343.  
  2344. #endif  /* __IExternalConnection_INTERFACE_DEFINED__ */
  2345.  
  2346.  
  2347. #ifndef __IWeakRef_INTERFACE_DEFINED__
  2348. #define __IWeakRef_INTERFACE_DEFINED__
  2349.  
  2350. /****************************************
  2351.  * Generated header for interface: IWeakRef
  2352.  * at Fri Sep 02 18:12:06 1994
  2353.  * using MIDL 2.00.71
  2354.  ****************************************/
  2355. /* [uuid][local][object] */ 
  2356.  
  2357.  
  2358.             /* size is 4 */
  2359. typedef /* [unique] */ IWeakRef __RPC_FAR *LPWEAKREF;
  2360.  
  2361.  
  2362. EXTERN_C const IID IID_IWeakRef;
  2363.  
  2364. #if defined(__cplusplus) && !defined(CINTERFACE)
  2365.     
  2366.     interface IWeakRef : public IUnknown
  2367.     {
  2368.     public:
  2369.     virtual ULONG __stdcall ChangeWeakCount( 
  2370.         /* [in] */ LONG delta) = 0;
  2371.     
  2372.     virtual ULONG __stdcall ReleaseKeepAlive( 
  2373.         /* [in] */ IUnknown __RPC_FAR *pUnkReleased,
  2374.         /* [in] */ DWORD reserved) = 0;
  2375.     
  2376.     };
  2377.     
  2378. #else   /* C style interface */
  2379.     
  2380.     typedef struct IWeakRefVtbl
  2381.     {
  2382.     
  2383.     HRESULT ( __stdcall __RPC_FAR *QueryInterface )( 
  2384.         IWeakRef __RPC_FAR * This,
  2385.         /* [in] */ REFIID riid,
  2386.         /* [out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  2387.     
  2388.     ULONG ( __stdcall __RPC_FAR *AddRef )( 
  2389.         IWeakRef __RPC_FAR * This);
  2390.     
  2391.     ULONG ( __stdcall __RPC_FAR *Release )( 
  2392.         IWeakRef __RPC_FAR * This);
  2393.     
  2394.     ULONG ( __stdcall __RPC_FAR *ChangeWeakCount )( 
  2395.         IWeakRef __RPC_FAR * This,
  2396.         /* [in] */ LONG delta);
  2397.     
  2398.     ULONG ( __stdcall __RPC_FAR *ReleaseKeepAlive )( 
  2399.         IWeakRef __RPC_FAR * This,
  2400.         /* [in] */ IUnknown __RPC_FAR *pUnkReleased,
  2401.         /* [in] */ DWORD reserved);
  2402.     
  2403.     } IWeakRefVtbl;
  2404.     
  2405.     interface IWeakRef
  2406.     {
  2407.     CONST_VTBL struct IWeakRefVtbl __RPC_FAR *lpVtbl;
  2408.     };
  2409.     
  2410.     
  2411.  
  2412. #ifdef COBJMACROS
  2413.  
  2414.  
  2415. #define IWeakRef_QueryInterface(This,riid,ppvObject)    \
  2416.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2417.  
  2418. #define IWeakRef_AddRef(This)   \
  2419.     (This)->lpVtbl -> AddRef(This)
  2420.  
  2421. #define IWeakRef_Release(This)  \
  2422.     (This)->lpVtbl -> Release(This)
  2423.  
  2424.  
  2425. #define IWeakRef_ChangeWeakCount(This,delta)    \
  2426.     (This)->lpVtbl -> ChangeWeakCount(This,delta)
  2427.  
  2428. #define IWeakRef_ReleaseKeepAlive(This,pUnkReleased,reserved)   \
  2429.     (This)->lpVtbl -> ReleaseKeepAlive(This,pUnkReleased,reserved)
  2430.  
  2431. #endif /* COBJMACROS */
  2432.  
  2433.  
  2434. #endif  /* C style interface */
  2435.  
  2436.  
  2437.  
  2438. ULONG __stdcall IWeakRef_ChangeWeakCount_Proxy( 
  2439.     IWeakRef __RPC_FAR * This,
  2440.     /* [in] */ LONG delta);
  2441.  
  2442.  
  2443. void __RPC_STUB IWeakRef_ChangeWeakCount_Stub(
  2444.     IRpcStubBuffer *This,
  2445.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2446.     PRPC_MESSAGE _pRpcMessage,
  2447.     DWORD *_pdwStubPhase);
  2448.  
  2449.  
  2450. ULONG __stdcall IWeakRef_ReleaseKeepAlive_Proxy( 
  2451.     IWeakRef __RPC_FAR * This,
  2452.     /* [in] */ IUnknown __RPC_FAR *pUnkReleased,
  2453.     /* [in] */ DWORD reserved);
  2454.  
  2455.  
  2456. void __RPC_STUB IWeakRef_ReleaseKeepAlive_Stub(
  2457.     IRpcStubBuffer *This,
  2458.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2459.     PRPC_MESSAGE _pRpcMessage,
  2460.     DWORD *_pdwStubPhase);
  2461.  
  2462.  
  2463.  
  2464. #endif  /* __IWeakRef_INTERFACE_DEFINED__ */
  2465.  
  2466.  
  2467. #ifndef __IEnumUnknown_INTERFACE_DEFINED__
  2468. #define __IEnumUnknown_INTERFACE_DEFINED__
  2469.  
  2470. /****************************************
  2471.  * Generated header for interface: IEnumUnknown
  2472.  * at Fri Sep 02 18:12:06 1994
  2473.  * using MIDL 2.00.71
  2474.  ****************************************/
  2475. /* [unique][uuid][object] */ 
  2476.  
  2477.  
  2478.             /* size is 4 */
  2479. typedef /* [unique] */ IEnumUnknown __RPC_FAR *LPENUMUNKNOWN;
  2480.  
  2481.  
  2482. EXTERN_C const IID IID_IEnumUnknown;
  2483.  
  2484. #if defined(__cplusplus) && !defined(CINTERFACE)
  2485.     
  2486.     interface IEnumUnknown : public IUnknown
  2487.     {
  2488.     public:
  2489.     virtual /* [local] */ HRESULT __stdcall Next( 
  2490.         /* [in] */ ULONG celt,
  2491.         /* [out] */ IUnknown __RPC_FAR *__RPC_FAR *rgelt,
  2492.         /* [out] */ ULONG __RPC_FAR *pceltFetched) = 0;
  2493.     
  2494.     virtual HRESULT __stdcall Skip( 
  2495.         /* [in] */ ULONG celt) = 0;
  2496.     
  2497.     virtual HRESULT __stdcall Reset( void) = 0;
  2498.     
  2499.     virtual HRESULT __stdcall Clone( 
  2500.         /* [out] */ IEnumUnknown __RPC_FAR *__RPC_FAR *ppenum) = 0;
  2501.     
  2502.     };
  2503.     
  2504. #else   /* C style interface */
  2505.     
  2506.     typedef struct IEnumUnknownVtbl
  2507.     {
  2508.     
  2509.     HRESULT ( __stdcall __RPC_FAR *QueryInterface )( 
  2510.         IEnumUnknown __RPC_FAR * This,
  2511.         /* [in] */ REFIID riid,
  2512.         /* [out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  2513.     
  2514.     ULONG ( __stdcall __RPC_FAR *AddRef )( 
  2515.         IEnumUnknown __RPC_FAR * This);
  2516.     
  2517.     ULONG ( __stdcall __RPC_FAR *Release )( 
  2518.         IEnumUnknown __RPC_FAR * This);
  2519.     
  2520.     /* [local] */ HRESULT ( __stdcall __RPC_FAR *Next )( 
  2521.         IEnumUnknown __RPC_FAR * This,
  2522.         /* [in] */ ULONG celt,
  2523.         /* [out] */ IUnknown __RPC_FAR *__RPC_FAR *rgelt,
  2524.         /* [out] */ ULONG __RPC_FAR *pceltFetched);
  2525.     
  2526.     HRESULT ( __stdcall __RPC_FAR *Skip )( 
  2527.         IEnumUnknown __RPC_FAR * This,
  2528.         /* [in] */ ULONG celt);
  2529.     
  2530.     HRESULT ( __stdcall __RPC_FAR *Reset )( 
  2531.         IEnumUnknown __RPC_FAR * This);
  2532.     
  2533.     HRESULT ( __stdcall __RPC_FAR *Clone )( 
  2534.         IEnumUnknown __RPC_FAR * This,
  2535.         /* [out] */ IEnumUnknown __RPC_FAR *__RPC_FAR *ppenum);
  2536.     
  2537.     } IEnumUnknownVtbl;
  2538.     
  2539.     interface IEnumUnknown
  2540.     {
  2541.     CONST_VTBL struct IEnumUnknownVtbl __RPC_FAR *lpVtbl;
  2542.     };
  2543.     
  2544.     
  2545.  
  2546. #ifdef COBJMACROS
  2547.  
  2548.  
  2549. #define IEnumUnknown_QueryInterface(This,riid,ppvObject)        \
  2550.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2551.  
  2552. #define IEnumUnknown_AddRef(This)       \
  2553.     (This)->lpVtbl -> AddRef(This)
  2554.  
  2555. #define IEnumUnknown_Release(This)      \
  2556.     (This)->lpVtbl -> Release(This)
  2557.  
  2558.  
  2559. #define IEnumUnknown_Next(This,celt,rgelt,pceltFetched) \
  2560.     (This)->lpVtbl -> Next(This,celt,rgelt,pceltFetched)
  2561.  
  2562. #define IEnumUnknown_Skip(This,celt)    \
  2563.     (This)->lpVtbl -> Skip(This,celt)
  2564.  
  2565. #define IEnumUnknown_Reset(This)        \
  2566.     (This)->lpVtbl -> Reset(This)
  2567.  
  2568. #define IEnumUnknown_Clone(This,ppenum) \
  2569.     (This)->lpVtbl -> Clone(This,ppenum)
  2570.  
  2571. #endif /* COBJMACROS */
  2572.  
  2573.  
  2574. #endif  /* C style interface */
  2575.  
  2576.  
  2577.  
  2578. /* [call_as] */ HRESULT __stdcall IEnumUnknown_RemoteNext_Proxy( 
  2579.     IEnumUnknown __RPC_FAR * This,
  2580.     /* [in] */ ULONG celt,
  2581.     /* [length_is][size_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *rgelt,
  2582.     /* [out] */ ULONG __RPC_FAR *pceltFetched);
  2583.  
  2584.  
  2585. void __RPC_STUB IEnumUnknown_RemoteNext_Stub(
  2586.     IRpcStubBuffer *This,
  2587.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2588.     PRPC_MESSAGE _pRpcMessage,
  2589.     DWORD *_pdwStubPhase);
  2590.  
  2591.  
  2592. HRESULT __stdcall IEnumUnknown_Skip_Proxy( 
  2593.     IEnumUnknown __RPC_FAR * This,
  2594.     /* [in] */ ULONG celt);
  2595.  
  2596.  
  2597. void __RPC_STUB IEnumUnknown_Skip_Stub(
  2598.     IRpcStubBuffer *This,
  2599.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2600.     PRPC_MESSAGE _pRpcMessage,
  2601.     DWORD *_pdwStubPhase);
  2602.  
  2603.  
  2604. HRESULT __stdcall IEnumUnknown_Reset_Proxy( 
  2605.     IEnumUnknown __RPC_FAR * This);
  2606.  
  2607.  
  2608. void __RPC_STUB IEnumUnknown_Reset_Stub(
  2609.     IRpcStubBuffer *This,
  2610.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2611.     PRPC_MESSAGE _pRpcMessage,
  2612.     DWORD *_pdwStubPhase);
  2613.  
  2614.  
  2615. HRESULT __stdcall IEnumUnknown_Clone_Proxy( 
  2616.     IEnumUnknown __RPC_FAR * This,
  2617.     /* [out] */ IEnumUnknown __RPC_FAR *__RPC_FAR *ppenum);
  2618.  
  2619.  
  2620. void __RPC_STUB IEnumUnknown_Clone_Stub(
  2621.     IRpcStubBuffer *This,
  2622.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2623.     PRPC_MESSAGE _pRpcMessage,
  2624.     DWORD *_pdwStubPhase);
  2625.  
  2626.  
  2627.  
  2628. #endif  /* __IEnumUnknown_INTERFACE_DEFINED__ */
  2629.  
  2630.  
  2631. #ifndef __IBindCtx_INTERFACE_DEFINED__
  2632. #define __IBindCtx_INTERFACE_DEFINED__
  2633.  
  2634. /****************************************
  2635.  * Generated header for interface: IBindCtx
  2636.  * at Fri Sep 02 18:12:06 1994
  2637.  * using MIDL 2.00.71
  2638.  ****************************************/
  2639. /* [unique][uuid][object] */ 
  2640.  
  2641.  
  2642.             /* size is 4 */
  2643. typedef /* [unique] */ IBindCtx __RPC_FAR *LPBC;
  2644.  
  2645.             /* size is 4 */
  2646. typedef /* [unique] */ IBindCtx __RPC_FAR *LPBINDCTX;
  2647.  
  2648.             /* size is 16 */
  2649. typedef struct  tagBIND_OPTS
  2650.     {
  2651.     DWORD cbStruct;
  2652.     DWORD grfFlags;
  2653.     DWORD grfMode;
  2654.     DWORD dwTickCountDeadline;
  2655.     }   BIND_OPTS;
  2656.  
  2657.             /* size is 4 */
  2658. typedef struct tagBIND_OPTS __RPC_FAR *LPBIND_OPTS;
  2659.  
  2660.             /* size is 2 */
  2661. typedef 
  2662. enum tagBIND_FLAGS
  2663.     {   BIND_MAYBOTHERUSER      = 1,
  2664.     BIND_JUSTTESTEXISTENCE  = 2
  2665.     }   BIND_FLAGS;
  2666.  
  2667.  
  2668. EXTERN_C const IID IID_IBindCtx;
  2669.  
  2670. #if defined(__cplusplus) && !defined(CINTERFACE)
  2671.     
  2672.     interface IBindCtx : public IUnknown
  2673.     {
  2674.     public:
  2675.     virtual HRESULT __stdcall RegisterObjectBound( 
  2676.         /* [unique][in] */ IUnknown __RPC_FAR *punk) = 0;
  2677.     
  2678.     virtual HRESULT __stdcall RevokeObjectBound( 
  2679.         /* [unique][in] */ IUnknown __RPC_FAR *punk) = 0;
  2680.     
  2681.     virtual HRESULT __stdcall ReleaseBoundObjects( void) = 0;
  2682.     
  2683.     virtual HRESULT __stdcall SetBindOptions( 
  2684.         /* [in] */ BIND_OPTS __RPC_FAR *pbindopts) = 0;
  2685.     
  2686.     virtual HRESULT __stdcall GetBindOptions( 
  2687.         /* [out][in] */ BIND_OPTS __RPC_FAR *pbindopts) = 0;
  2688.     
  2689.     virtual HRESULT __stdcall GetRunningObjectTable( 
  2690.         /* [out] */ IRunningObjectTable __RPC_FAR *__RPC_FAR *pprot) = 0;
  2691.     
  2692.     virtual HRESULT __stdcall RegisterObjectParam( 
  2693.         /* [in] */ LPOLESTR pszKey,
  2694.         /* [unique][in] */ IUnknown __RPC_FAR *punk) = 0;
  2695.     
  2696.     virtual HRESULT __stdcall GetObjectParam( 
  2697.         /* [in] */ LPOLESTR pszKey,
  2698.         /* [out] */ IUnknown __RPC_FAR *__RPC_FAR *ppunk) = 0;
  2699.     
  2700.     virtual HRESULT __stdcall EnumObjectParam( 
  2701.         /* [out] */ IEnumString __RPC_FAR *__RPC_FAR *ppenum) = 0;
  2702.     
  2703.     virtual HRESULT __stdcall RevokeObjectParam( 
  2704.         /* [in] */ LPOLESTR pszKey) = 0;
  2705.     
  2706.     };
  2707.     
  2708. #else   /* C style interface */
  2709.     
  2710.     typedef struct IBindCtxVtbl
  2711.     {
  2712.     
  2713.     HRESULT ( __stdcall __RPC_FAR *QueryInterface )( 
  2714.         IBindCtx __RPC_FAR * This,
  2715.         /* [in] */ REFIID riid,
  2716.         /* [out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  2717.     
  2718.     ULONG ( __stdcall __RPC_FAR *AddRef )( 
  2719.         IBindCtx __RPC_FAR * This);
  2720.     
  2721.     ULONG ( __stdcall __RPC_FAR *Release )( 
  2722.         IBindCtx __RPC_FAR * This);
  2723.     
  2724.     HRESULT ( __stdcall __RPC_FAR *RegisterObjectBound )( 
  2725.         IBindCtx __RPC_FAR * This,
  2726.         /* [unique][in] */ IUnknown __RPC_FAR *punk);
  2727.     
  2728.     HRESULT ( __stdcall __RPC_FAR *RevokeObjectBound )( 
  2729.         IBindCtx __RPC_FAR * This,
  2730.         /* [unique][in] */ IUnknown __RPC_FAR *punk);
  2731.     
  2732.     HRESULT ( __stdcall __RPC_FAR *ReleaseBoundObjects )( 
  2733.         IBindCtx __RPC_FAR * This);
  2734.     
  2735.     HRESULT ( __stdcall __RPC_FAR *SetBindOptions )( 
  2736.         IBindCtx __RPC_FAR * This,
  2737.         /* [in] */ BIND_OPTS __RPC_FAR *pbindopts);
  2738.     
  2739.     HRESULT ( __stdcall __RPC_FAR *GetBindOptions )( 
  2740.         IBindCtx __RPC_FAR * This,
  2741.         /* [out][in] */ BIND_OPTS __RPC_FAR *pbindopts);
  2742.     
  2743.     HRESULT ( __stdcall __RPC_FAR *GetRunningObjectTable )( 
  2744.         IBindCtx __RPC_FAR * This,
  2745.         /* [out] */ IRunningObjectTable __RPC_FAR *__RPC_FAR *pprot);
  2746.     
  2747.     HRESULT ( __stdcall __RPC_FAR *RegisterObjectParam )( 
  2748.         IBindCtx __RPC_FAR * This,
  2749.         /* [in] */ LPOLESTR pszKey,
  2750.         /* [unique][in] */ IUnknown __RPC_FAR *punk);
  2751.     
  2752.     HRESULT ( __stdcall __RPC_FAR *GetObjectParam )( 
  2753.         IBindCtx __RPC_FAR * This,
  2754.         /* [in] */ LPOLESTR pszKey,
  2755.         /* [out] */ IUnknown __RPC_FAR *__RPC_FAR *ppunk);
  2756.     
  2757.     HRESULT ( __stdcall __RPC_FAR *EnumObjectParam )( 
  2758.         IBindCtx __RPC_FAR * This,
  2759.         /* [out] */ IEnumString __RPC_FAR *__RPC_FAR *ppenum);
  2760.     
  2761.     HRESULT ( __stdcall __RPC_FAR *RevokeObjectParam )( 
  2762.         IBindCtx __RPC_FAR * This,
  2763.         /* [in] */ LPOLESTR pszKey);
  2764.     
  2765.     } IBindCtxVtbl;
  2766.     
  2767.     interface IBindCtx
  2768.     {
  2769.     CONST_VTBL struct IBindCtxVtbl __RPC_FAR *lpVtbl;
  2770.     };
  2771.     
  2772.     
  2773.  
  2774. #ifdef COBJMACROS
  2775.  
  2776.  
  2777. #define IBindCtx_QueryInterface(This,riid,ppvObject)    \
  2778.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2779.  
  2780. #define IBindCtx_AddRef(This)   \
  2781.     (This)->lpVtbl -> AddRef(This)
  2782.  
  2783. #define IBindCtx_Release(This)  \
  2784.     (This)->lpVtbl -> Release(This)
  2785.  
  2786.  
  2787. #define IBindCtx_RegisterObjectBound(This,punk) \
  2788.     (This)->lpVtbl -> RegisterObjectBound(This,punk)
  2789.  
  2790. #define IBindCtx_RevokeObjectBound(This,punk)   \
  2791.     (This)->lpVtbl -> RevokeObjectBound(This,punk)
  2792.  
  2793. #define IBindCtx_ReleaseBoundObjects(This)      \
  2794.     (This)->lpVtbl -> ReleaseBoundObjects(This)
  2795.  
  2796. #define IBindCtx_SetBindOptions(This,pbindopts) \
  2797.     (This)->lpVtbl -> SetBindOptions(This,pbindopts)
  2798.  
  2799. #define IBindCtx_GetBindOptions(This,pbindopts) \
  2800.     (This)->lpVtbl -> GetBindOptions(This,pbindopts)
  2801.  
  2802. #define IBindCtx_GetRunningObjectTable(This,pprot)      \
  2803.     (This)->lpVtbl -> GetRunningObjectTable(This,pprot)
  2804.  
  2805. #define IBindCtx_RegisterObjectParam(This,pszKey,punk)  \
  2806.     (This)->lpVtbl -> RegisterObjectParam(This,pszKey,punk)
  2807.  
  2808. #define IBindCtx_GetObjectParam(This,pszKey,ppunk)      \
  2809.     (This)->lpVtbl -> GetObjectParam(This,pszKey,ppunk)
  2810.  
  2811. #define IBindCtx_EnumObjectParam(This,ppenum)   \
  2812.     (This)->lpVtbl -> EnumObjectParam(This,ppenum)
  2813.  
  2814. #define IBindCtx_RevokeObjectParam(This,pszKey) \
  2815.     (This)->lpVtbl -> RevokeObjectParam(This,pszKey)
  2816.  
  2817. #endif /* COBJMACROS */
  2818.  
  2819.  
  2820. #endif  /* C style interface */
  2821.  
  2822.  
  2823.  
  2824. HRESULT __stdcall IBindCtx_RegisterObjectBound_Proxy( 
  2825.     IBindCtx __RPC_FAR * This,
  2826.     /* [unique][in] */ IUnknown __RPC_FAR *punk);
  2827.  
  2828.  
  2829. void __RPC_STUB IBindCtx_RegisterObjectBound_Stub(
  2830.     IRpcStubBuffer *This,
  2831.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2832.     PRPC_MESSAGE _pRpcMessage,
  2833.     DWORD *_pdwStubPhase);
  2834.  
  2835.  
  2836. HRESULT __stdcall IBindCtx_RevokeObjectBound_Proxy( 
  2837.     IBindCtx __RPC_FAR * This,
  2838.     /* [unique][in] */ IUnknown __RPC_FAR *punk);
  2839.  
  2840.  
  2841. void __RPC_STUB IBindCtx_RevokeObjectBound_Stub(
  2842.     IRpcStubBuffer *This,
  2843.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2844.     PRPC_MESSAGE _pRpcMessage,
  2845.     DWORD *_pdwStubPhase);
  2846.  
  2847.  
  2848. HRESULT __stdcall IBindCtx_ReleaseBoundObjects_Proxy( 
  2849.     IBindCtx __RPC_FAR * This);
  2850.  
  2851.  
  2852. void __RPC_STUB IBindCtx_ReleaseBoundObjects_Stub(
  2853.     IRpcStubBuffer *This,
  2854.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2855.     PRPC_MESSAGE _pRpcMessage,
  2856.     DWORD *_pdwStubPhase);
  2857.  
  2858.  
  2859. HRESULT __stdcall IBindCtx_SetBindOptions_Proxy( 
  2860.     IBindCtx __RPC_FAR * This,
  2861.     /* [in] */ BIND_OPTS __RPC_FAR *pbindopts);
  2862.  
  2863.  
  2864. void __RPC_STUB IBindCtx_SetBindOptions_Stub(
  2865.     IRpcStubBuffer *This,
  2866.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2867.     PRPC_MESSAGE _pRpcMessage,
  2868.     DWORD *_pdwStubPhase);
  2869.  
  2870.  
  2871. HRESULT __stdcall IBindCtx_GetBindOptions_Proxy( 
  2872.     IBindCtx __RPC_FAR * This,
  2873.     /* [out][in] */ BIND_OPTS __RPC_FAR *pbindopts);
  2874.  
  2875.  
  2876. void __RPC_STUB IBindCtx_GetBindOptions_Stub(
  2877.     IRpcStubBuffer *This,
  2878.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2879.     PRPC_MESSAGE _pRpcMessage,
  2880.     DWORD *_pdwStubPhase);
  2881.  
  2882.  
  2883. HRESULT __stdcall IBindCtx_GetRunningObjectTable_Proxy( 
  2884.     IBindCtx __RPC_FAR * This,
  2885.     /* [out] */ IRunningObjectTable __RPC_FAR *__RPC_FAR *pprot);
  2886.  
  2887.  
  2888. void __RPC_STUB IBindCtx_GetRunningObjectTable_Stub(
  2889.     IRpcStubBuffer *This,
  2890.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2891.     PRPC_MESSAGE _pRpcMessage,
  2892.     DWORD *_pdwStubPhase);
  2893.  
  2894.  
  2895. HRESULT __stdcall IBindCtx_RegisterObjectParam_Proxy( 
  2896.     IBindCtx __RPC_FAR * This,
  2897.     /* [in] */ LPOLESTR pszKey,
  2898.     /* [unique][in] */ IUnknown __RPC_FAR *punk);
  2899.  
  2900.  
  2901. void __RPC_STUB IBindCtx_RegisterObjectParam_Stub(
  2902.     IRpcStubBuffer *This,
  2903.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2904.     PRPC_MESSAGE _pRpcMessage,
  2905.     DWORD *_pdwStubPhase);
  2906.  
  2907.  
  2908. HRESULT __stdcall IBindCtx_GetObjectParam_Proxy( 
  2909.     IBindCtx __RPC_FAR * This,
  2910.     /* [in] */ LPOLESTR pszKey,
  2911.     /* [out] */ IUnknown __RPC_FAR *__RPC_FAR *ppunk);
  2912.  
  2913.  
  2914. void __RPC_STUB IBindCtx_GetObjectParam_Stub(
  2915.     IRpcStubBuffer *This,
  2916.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2917.     PRPC_MESSAGE _pRpcMessage,
  2918.     DWORD *_pdwStubPhase);
  2919.  
  2920.  
  2921. HRESULT __stdcall IBindCtx_EnumObjectParam_Proxy( 
  2922.     IBindCtx __RPC_FAR * This,
  2923.     /* [out] */ IEnumString __RPC_FAR *__RPC_FAR *ppenum);
  2924.  
  2925.  
  2926. void __RPC_STUB IBindCtx_EnumObjectParam_Stub(
  2927.     IRpcStubBuffer *This,
  2928.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2929.     PRPC_MESSAGE _pRpcMessage,
  2930.     DWORD *_pdwStubPhase);
  2931.  
  2932.  
  2933. HRESULT __stdcall IBindCtx_RevokeObjectParam_Proxy( 
  2934.     IBindCtx __RPC_FAR * This,
  2935.     /* [in] */ LPOLESTR pszKey);
  2936.  
  2937.  
  2938. void __RPC_STUB IBindCtx_RevokeObjectParam_Stub(
  2939.     IRpcStubBuffer *This,
  2940.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2941.     PRPC_MESSAGE _pRpcMessage,
  2942.     DWORD *_pdwStubPhase);
  2943.  
  2944.  
  2945.  
  2946. #endif  /* __IBindCtx_INTERFACE_DEFINED__ */
  2947.  
  2948.  
  2949. #ifndef __IParseDisplayName_INTERFACE_DEFINED__
  2950. #define __IParseDisplayName_INTERFACE_DEFINED__
  2951.  
  2952. /****************************************
  2953.  * Generated header for interface: IParseDisplayName
  2954.  * at Fri Sep 02 18:12:06 1994
  2955.  * using MIDL 2.00.71
  2956.  ****************************************/
  2957. /* [unique][uuid][object] */ 
  2958.  
  2959.  
  2960.             /* size is 4 */
  2961. typedef /* [unique] */ IParseDisplayName __RPC_FAR *LPPARSEDISPLAYNAME;
  2962.  
  2963.  
  2964. EXTERN_C const IID IID_IParseDisplayName;
  2965.  
  2966. #if defined(__cplusplus) && !defined(CINTERFACE)
  2967.     
  2968.     interface IParseDisplayName : public IUnknown
  2969.     {
  2970.     public:
  2971.     virtual HRESULT __stdcall ParseDisplayName( 
  2972.         /* [unique][in] */ IBindCtx __RPC_FAR *pbc,
  2973.         /* [in] */ LPOLESTR pszDisplayName,
  2974.         /* [out] */ ULONG __RPC_FAR *pchEaten,
  2975.         /* [out] */ IMoniker __RPC_FAR *__RPC_FAR *ppmkOut) = 0;
  2976.     
  2977.     };
  2978.     
  2979. #else   /* C style interface */
  2980.     
  2981.     typedef struct IParseDisplayNameVtbl
  2982.     {
  2983.     
  2984.     HRESULT ( __stdcall __RPC_FAR *QueryInterface )( 
  2985.         IParseDisplayName __RPC_FAR * This,
  2986.         /* [in] */ REFIID riid,
  2987.         /* [out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  2988.     
  2989.     ULONG ( __stdcall __RPC_FAR *AddRef )( 
  2990.         IParseDisplayName __RPC_FAR * This);
  2991.     
  2992.     ULONG ( __stdcall __RPC_FAR *Release )( 
  2993.         IParseDisplayName __RPC_FAR * This);
  2994.     
  2995.     HRESULT ( __stdcall __RPC_FAR *ParseDisplayName )( 
  2996.         IParseDisplayName __RPC_FAR * This,
  2997.         /* [unique][in] */ IBindCtx __RPC_FAR *pbc,
  2998.         /* [in] */ LPOLESTR pszDisplayName,
  2999.         /* [out] */ ULONG __RPC_FAR *pchEaten,
  3000.         /* [out] */ IMoniker __RPC_FAR *__RPC_FAR *ppmkOut);
  3001.     
  3002.     } IParseDisplayNameVtbl;
  3003.     
  3004.     interface IParseDisplayName
  3005.     {
  3006.     CONST_VTBL struct IParseDisplayNameVtbl __RPC_FAR *lpVtbl;
  3007.     };
  3008.     
  3009.     
  3010.  
  3011. #ifdef COBJMACROS
  3012.  
  3013.  
  3014. #define IParseDisplayName_QueryInterface(This,riid,ppvObject)   \
  3015.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3016.  
  3017. #define IParseDisplayName_AddRef(This)  \
  3018.     (This)->lpVtbl -> AddRef(This)
  3019.  
  3020. #define IParseDisplayName_Release(This) \
  3021.     (This)->lpVtbl -> Release(This)
  3022.  
  3023.  
  3024. #define IParseDisplayName_ParseDisplayName(This,pbc,pszDisplayName,pchEaten,ppmkOut)    \
  3025.     (This)->lpVtbl -> ParseDisplayName(This,pbc,pszDisplayName,pchEaten,ppmkOut)
  3026.  
  3027. #endif /* COBJMACROS */
  3028.  
  3029.  
  3030. #endif  /* C style interface */
  3031.  
  3032.  
  3033.  
  3034. HRESULT __stdcall IParseDisplayName_ParseDisplayName_Proxy( 
  3035.     IParseDisplayName __RPC_FAR * This,
  3036.     /* [unique][in] */ IBindCtx __RPC_FAR *pbc,
  3037.     /* [in] */ LPOLESTR pszDisplayName,
  3038.     /* [out] */ ULONG __RPC_FAR *pchEaten,
  3039.     /* [out] */ IMoniker __RPC_FAR *__RPC_FAR *ppmkOut);
  3040.  
  3041.  
  3042. void __RPC_STUB IParseDisplayName_ParseDisplayName_Stub(
  3043.     IRpcStubBuffer *This,
  3044.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3045.     PRPC_MESSAGE _pRpcMessage,
  3046.     DWORD *_pdwStubPhase);
  3047.  
  3048.  
  3049.  
  3050. #endif  /* __IParseDisplayName_INTERFACE_DEFINED__ */
  3051.  
  3052.  
  3053. #ifndef __IEnumMoniker_INTERFACE_DEFINED__
  3054. #define __IEnumMoniker_INTERFACE_DEFINED__
  3055.  
  3056. /****************************************
  3057.  * Generated header for interface: IEnumMoniker
  3058.  * at Fri Sep 02 18:12:06 1994
  3059.  * using MIDL 2.00.71
  3060.  ****************************************/
  3061. /* [unique][uuid][object] */ 
  3062.  
  3063.  
  3064.             /* size is 4 */
  3065. typedef /* [unique] */ IEnumMoniker __RPC_FAR *LPENUMMONIKER;
  3066.  
  3067.  
  3068. EXTERN_C const IID IID_IEnumMoniker;
  3069.  
  3070. #if defined(__cplusplus) && !defined(CINTERFACE)
  3071.     
  3072.     interface IEnumMoniker : public IUnknown
  3073.     {
  3074.     public:
  3075.     virtual /* [local] */ HRESULT __stdcall Next( 
  3076.         /* [in] */ ULONG celt,
  3077.         /* [out] */ IMoniker __RPC_FAR *__RPC_FAR *rgelt,
  3078.         /* [out] */ ULONG __RPC_FAR *pceltFetched) = 0;
  3079.     
  3080.     virtual HRESULT __stdcall Skip( 
  3081.         /* [in] */ ULONG celt) = 0;
  3082.     
  3083.     virtual HRESULT __stdcall Reset( void) = 0;
  3084.     
  3085.     virtual HRESULT __stdcall Clone( 
  3086.         /* [out] */ IEnumMoniker __RPC_FAR *__RPC_FAR *ppenum) = 0;
  3087.     
  3088.     };
  3089.     
  3090. #else   /* C style interface */
  3091.     
  3092.     typedef struct IEnumMonikerVtbl
  3093.     {
  3094.     
  3095.     HRESULT ( __stdcall __RPC_FAR *QueryInterface )( 
  3096.         IEnumMoniker __RPC_FAR * This,
  3097.         /* [in] */ REFIID riid,
  3098.         /* [out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  3099.     
  3100.     ULONG ( __stdcall __RPC_FAR *AddRef )( 
  3101.         IEnumMoniker __RPC_FAR * This);
  3102.     
  3103.     ULONG ( __stdcall __RPC_FAR *Release )( 
  3104.         IEnumMoniker __RPC_FAR * This);
  3105.     
  3106.     /* [local] */ HRESULT ( __stdcall __RPC_FAR *Next )( 
  3107.         IEnumMoniker __RPC_FAR * This,
  3108.         /* [in] */ ULONG celt,
  3109.         /* [out] */ IMoniker __RPC_FAR *__RPC_FAR *rgelt,
  3110.         /* [out] */ ULONG __RPC_FAR *pceltFetched);
  3111.     
  3112.     HRESULT ( __stdcall __RPC_FAR *Skip )( 
  3113.         IEnumMoniker __RPC_FAR * This,
  3114.         /* [in] */ ULONG celt);
  3115.     
  3116.     HRESULT ( __stdcall __RPC_FAR *Reset )( 
  3117.         IEnumMoniker __RPC_FAR * This);
  3118.     
  3119.     HRESULT ( __stdcall __RPC_FAR *Clone )( 
  3120.         IEnumMoniker __RPC_FAR * This,
  3121.         /* [out] */ IEnumMoniker __RPC_FAR *__RPC_FAR *ppenum);
  3122.     
  3123.     } IEnumMonikerVtbl;
  3124.     
  3125.     interface IEnumMoniker
  3126.     {
  3127.     CONST_VTBL struct IEnumMonikerVtbl __RPC_FAR *lpVtbl;
  3128.     };
  3129.     
  3130.     
  3131.  
  3132. #ifdef COBJMACROS
  3133.  
  3134.  
  3135. #define IEnumMoniker_QueryInterface(This,riid,ppvObject)        \
  3136.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3137.  
  3138. #define IEnumMoniker_AddRef(This)       \
  3139.     (This)->lpVtbl -> AddRef(This)
  3140.  
  3141. #define IEnumMoniker_Release(This)      \
  3142.     (This)->lpVtbl -> Release(This)
  3143.  
  3144.  
  3145. #define IEnumMoniker_Next(This,celt,rgelt,pceltFetched) \
  3146.     (This)->lpVtbl -> Next(This,celt,rgelt,pceltFetched)
  3147.  
  3148. #define IEnumMoniker_Skip(This,celt)    \
  3149.     (This)->lpVtbl -> Skip(This,celt)
  3150.  
  3151. #define IEnumMoniker_Reset(This)        \
  3152.     (This)->lpVtbl -> Reset(This)
  3153.  
  3154. #define IEnumMoniker_Clone(This,ppenum) \
  3155.     (This)->lpVtbl -> Clone(This,ppenum)
  3156.  
  3157. #endif /* COBJMACROS */
  3158.  
  3159.  
  3160. #endif  /* C style interface */
  3161.  
  3162.  
  3163.  
  3164. /* [call_as] */ HRESULT __stdcall IEnumMoniker_RemoteNext_Proxy( 
  3165.     IEnumMoniker __RPC_FAR * This,
  3166.     /* [in] */ ULONG celt,
  3167.     /* [length_is][size_is][out] */ IMoniker __RPC_FAR *__RPC_FAR *rgelt,
  3168.     /* [out] */ ULONG __RPC_FAR *pceltFetched);
  3169.  
  3170.  
  3171. void __RPC_STUB IEnumMoniker_RemoteNext_Stub(
  3172.     IRpcStubBuffer *This,
  3173.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3174.     PRPC_MESSAGE _pRpcMessage,
  3175.     DWORD *_pdwStubPhase);
  3176.  
  3177.  
  3178. HRESULT __stdcall IEnumMoniker_Skip_Proxy( 
  3179.     IEnumMoniker __RPC_FAR * This,
  3180.     /* [in] */ ULONG celt);
  3181.  
  3182.  
  3183. void __RPC_STUB IEnumMoniker_Skip_Stub(
  3184.     IRpcStubBuffer *This,
  3185.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3186.     PRPC_MESSAGE _pRpcMessage,
  3187.     DWORD *_pdwStubPhase);
  3188.  
  3189.  
  3190. HRESULT __stdcall IEnumMoniker_Reset_Proxy( 
  3191.     IEnumMoniker __RPC_FAR * This);
  3192.  
  3193.  
  3194. void __RPC_STUB IEnumMoniker_Reset_Stub(
  3195.     IRpcStubBuffer *This,
  3196.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3197.     PRPC_MESSAGE _pRpcMessage,
  3198.     DWORD *_pdwStubPhase);
  3199.  
  3200.  
  3201. HRESULT __stdcall IEnumMoniker_Clone_Proxy( 
  3202.     IEnumMoniker __RPC_FAR * This,
  3203.     /* [out] */ IEnumMoniker __RPC_FAR *__RPC_FAR *ppenum);
  3204.  
  3205.  
  3206. void __RPC_STUB IEnumMoniker_Clone_Stub(
  3207.     IRpcStubBuffer *This,
  3208.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3209.     PRPC_MESSAGE _pRpcMessage,
  3210.     DWORD *_pdwStubPhase);
  3211.  
  3212.  
  3213.  
  3214. #endif  /* __IEnumMoniker_INTERFACE_DEFINED__ */
  3215.  
  3216.  
  3217. #ifndef __IRunnableObject_INTERFACE_DEFINED__
  3218. #define __IRunnableObject_INTERFACE_DEFINED__
  3219.  
  3220. /****************************************
  3221.  * Generated header for interface: IRunnableObject
  3222.  * at Fri Sep 02 18:12:06 1994
  3223.  * using MIDL 2.00.71
  3224.  ****************************************/
  3225. /* [uuid][object][local] */ 
  3226.  
  3227.  
  3228.             /* size is 4 */
  3229. typedef /* [unique] */ IRunnableObject __RPC_FAR *LPRUNNABLEOBJECT;
  3230.  
  3231.  
  3232. EXTERN_C const IID IID_IRunnableObject;
  3233.  
  3234. #if defined(__cplusplus) && !defined(CINTERFACE)
  3235.     
  3236.     interface IRunnableObject : public IUnknown
  3237.     {
  3238.     public:
  3239.     virtual HRESULT __stdcall GetRunningClass( 
  3240.         /* [out] */ LPCLSID lpClsid) = 0;
  3241.     
  3242.     virtual HRESULT __stdcall Run( 
  3243.         /* [in] */ LPBINDCTX pbc) = 0;
  3244.     
  3245.     virtual BOOL __stdcall IsRunning( void) = 0;
  3246.     
  3247.     virtual HRESULT __stdcall LockRunning( 
  3248.         /* [in] */ BOOL fLock,
  3249.         /* [in] */ BOOL fLastUnlockCloses) = 0;
  3250.     
  3251.     virtual HRESULT __stdcall SetContainedObject( 
  3252.         /* [in] */ BOOL fContained) = 0;
  3253.     
  3254.     };
  3255.     
  3256. #else   /* C style interface */
  3257.     
  3258.     typedef struct IRunnableObjectVtbl
  3259.     {
  3260.     
  3261.     HRESULT ( __stdcall __RPC_FAR *QueryInterface )( 
  3262.         IRunnableObject __RPC_FAR * This,
  3263.         /* [in] */ REFIID riid,
  3264.         /* [out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  3265.     
  3266.     ULONG ( __stdcall __RPC_FAR *AddRef )( 
  3267.         IRunnableObject __RPC_FAR * This);
  3268.     
  3269.     ULONG ( __stdcall __RPC_FAR *Release )( 
  3270.         IRunnableObject __RPC_FAR * This);
  3271.     
  3272.     HRESULT ( __stdcall __RPC_FAR *GetRunningClass )( 
  3273.         IRunnableObject __RPC_FAR * This,
  3274.         /* [out] */ LPCLSID lpClsid);
  3275.     
  3276.     HRESULT ( __stdcall __RPC_FAR *Run )( 
  3277.         IRunnableObject __RPC_FAR * This,
  3278.         /* [in] */ LPBINDCTX pbc);
  3279.     
  3280.     BOOL ( __stdcall __RPC_FAR *IsRunning )( 
  3281.         IRunnableObject __RPC_FAR * This);
  3282.     
  3283.     HRESULT ( __stdcall __RPC_FAR *LockRunning )( 
  3284.         IRunnableObject __RPC_FAR * This,
  3285.         /* [in] */ BOOL fLock,
  3286.         /* [in] */ BOOL fLastUnlockCloses);
  3287.     
  3288.     HRESULT ( __stdcall __RPC_FAR *SetContainedObject )( 
  3289.         IRunnableObject __RPC_FAR * This,
  3290.         /* [in] */ BOOL fContained);
  3291.     
  3292.     } IRunnableObjectVtbl;
  3293.     
  3294.     interface IRunnableObject
  3295.     {
  3296.     CONST_VTBL struct IRunnableObjectVtbl __RPC_FAR *lpVtbl;
  3297.     };
  3298.     
  3299.     
  3300.  
  3301. #ifdef COBJMACROS
  3302.  
  3303.  
  3304. #define IRunnableObject_QueryInterface(This,riid,ppvObject)     \
  3305.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3306.  
  3307. #define IRunnableObject_AddRef(This)    \
  3308.     (This)->lpVtbl -> AddRef(This)
  3309.  
  3310. #define IRunnableObject_Release(This)   \
  3311.     (This)->lpVtbl -> Release(This)
  3312.  
  3313.  
  3314. #define IRunnableObject_GetRunningClass(This,lpClsid)   \
  3315.     (This)->lpVtbl -> GetRunningClass(This,lpClsid)
  3316.  
  3317. #define IRunnableObject_Run(This,pbc)   \
  3318.     (This)->lpVtbl -> Run(This,pbc)
  3319.  
  3320. #define IRunnableObject_IsRunning(This) \
  3321.     (This)->lpVtbl -> IsRunning(This)
  3322.  
  3323. #define IRunnableObject_LockRunning(This,fLock,fLastUnlockCloses)       \
  3324.     (This)->lpVtbl -> LockRunning(This,fLock,fLastUnlockCloses)
  3325.  
  3326. #define IRunnableObject_SetContainedObject(This,fContained)     \
  3327.     (This)->lpVtbl -> SetContainedObject(This,fContained)
  3328.  
  3329. #endif /* COBJMACROS */
  3330.  
  3331.  
  3332. #endif  /* C style interface */
  3333.  
  3334.  
  3335.  
  3336. HRESULT __stdcall IRunnableObject_GetRunningClass_Proxy( 
  3337.     IRunnableObject __RPC_FAR * This,
  3338.     /* [out] */ LPCLSID lpClsid);
  3339.  
  3340.  
  3341. void __RPC_STUB IRunnableObject_GetRunningClass_Stub(
  3342.     IRpcStubBuffer *This,
  3343.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3344.     PRPC_MESSAGE _pRpcMessage,
  3345.     DWORD *_pdwStubPhase);
  3346.  
  3347.  
  3348. HRESULT __stdcall IRunnableObject_Run_Proxy( 
  3349.     IRunnableObject __RPC_FAR * This,
  3350.     /* [in] */ LPBINDCTX pbc);
  3351.  
  3352.  
  3353. void __RPC_STUB IRunnableObject_Run_Stub(
  3354.     IRpcStubBuffer *This,
  3355.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3356.     PRPC_MESSAGE _pRpcMessage,
  3357.     DWORD *_pdwStubPhase);
  3358.  
  3359.  
  3360. BOOL __stdcall IRunnableObject_IsRunning_Proxy( 
  3361.     IRunnableObject __RPC_FAR * This);
  3362.  
  3363.  
  3364. void __RPC_STUB IRunnableObject_IsRunning_Stub(
  3365.     IRpcStubBuffer *This,
  3366.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3367.     PRPC_MESSAGE _pRpcMessage,
  3368.     DWORD *_pdwStubPhase);
  3369.  
  3370.  
  3371. HRESULT __stdcall IRunnableObject_LockRunning_Proxy( 
  3372.     IRunnableObject __RPC_FAR * This,
  3373.     /* [in] */ BOOL fLock,
  3374.     /* [in] */ BOOL fLastUnlockCloses);
  3375.  
  3376.  
  3377. void __RPC_STUB IRunnableObject_LockRunning_Stub(
  3378.     IRpcStubBuffer *This,
  3379.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3380.     PRPC_MESSAGE _pRpcMessage,
  3381.     DWORD *_pdwStubPhase);
  3382.  
  3383.  
  3384. HRESULT __stdcall IRunnableObject_SetContainedObject_Proxy( 
  3385.     IRunnableObject __RPC_FAR * This,
  3386.     /* [in] */ BOOL fContained);
  3387.  
  3388.  
  3389. void __RPC_STUB IRunnableObject_SetContainedObject_Stub(
  3390.     IRpcStubBuffer *This,
  3391.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3392.     PRPC_MESSAGE _pRpcMessage,
  3393.     DWORD *_pdwStubPhase);
  3394.  
  3395.  
  3396.  
  3397. #endif  /* __IRunnableObject_INTERFACE_DEFINED__ */
  3398.  
  3399.  
  3400. #ifndef __IRunningObjectTable_INTERFACE_DEFINED__
  3401. #define __IRunningObjectTable_INTERFACE_DEFINED__
  3402.  
  3403. /****************************************
  3404.  * Generated header for interface: IRunningObjectTable
  3405.  * at Fri Sep 02 18:12:06 1994
  3406.  * using MIDL 2.00.71
  3407.  ****************************************/
  3408. /* [uuid][object] */ 
  3409.  
  3410.  
  3411.             /* size is 4 */
  3412. typedef /* [unique] */ IRunningObjectTable __RPC_FAR *LPRUNNINGOBJECTTABLE;
  3413.  
  3414.  
  3415. EXTERN_C const IID IID_IRunningObjectTable;
  3416.  
  3417. #if defined(__cplusplus) && !defined(CINTERFACE)
  3418.     
  3419.     interface IRunningObjectTable : public IUnknown
  3420.     {
  3421.     public:
  3422.     virtual HRESULT __stdcall Register( 
  3423.         /* [in] */ DWORD grfFlags,
  3424.         /* [unique][in] */ IUnknown __RPC_FAR *punkObject,
  3425.         /* [unique][in] */ IMoniker __RPC_FAR *pmkObjectName,
  3426.         /* [out] */ DWORD __RPC_FAR *pdwRegister) = 0;
  3427.     
  3428.     virtual HRESULT __stdcall Revoke( 
  3429.         /* [in] */ DWORD dwRegister) = 0;
  3430.     
  3431.     virtual HRESULT __stdcall IsRunning( 
  3432.         /* [unique][in] */ IMoniker __RPC_FAR *pmkObjectName) = 0;
  3433.     
  3434.     virtual HRESULT __stdcall GetObject( 
  3435.         /* [unique][in] */ IMoniker __RPC_FAR *pmkObjectName,
  3436.         /* [out] */ IUnknown __RPC_FAR *__RPC_FAR *ppunkObject) = 0;
  3437.     
  3438.     virtual HRESULT __stdcall NoteChangeTime( 
  3439.         /* [in] */ DWORD dwRegister,
  3440.         /* [in] */ FILETIME __RPC_FAR *pfiletime) = 0;
  3441.     
  3442.     virtual HRESULT __stdcall GetTimeOfLastChange( 
  3443.         /* [unique][in] */ IMoniker __RPC_FAR *pmkObjectName,
  3444.         /* [out] */ FILETIME __RPC_FAR *pfiletime) = 0;
  3445.     
  3446.     virtual HRESULT __stdcall EnumRunning( 
  3447.         /* [out] */ IEnumMoniker __RPC_FAR *__RPC_FAR *ppenumMoniker) = 0;
  3448.     
  3449.     };
  3450.     
  3451. #else   /* C style interface */
  3452.     
  3453.     typedef struct IRunningObjectTableVtbl
  3454.     {
  3455.     
  3456.     HRESULT ( __stdcall __RPC_FAR *QueryInterface )( 
  3457.         IRunningObjectTable __RPC_FAR * This,
  3458.         /* [in] */ REFIID riid,
  3459.         /* [out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  3460.     
  3461.     ULONG ( __stdcall __RPC_FAR *AddRef )( 
  3462.         IRunningObjectTable __RPC_FAR * This);
  3463.     
  3464.     ULONG ( __stdcall __RPC_FAR *Release )( 
  3465.         IRunningObjectTable __RPC_FAR * This);
  3466.     
  3467.     HRESULT ( __stdcall __RPC_FAR *Register )( 
  3468.         IRunningObjectTable __RPC_FAR * This,
  3469.         /* [in] */ DWORD grfFlags,
  3470.         /* [unique][in] */ IUnknown __RPC_FAR *punkObject,
  3471.         /* [unique][in] */ IMoniker __RPC_FAR *pmkObjectName,
  3472.         /* [out] */ DWORD __RPC_FAR *pdwRegister);
  3473.     
  3474.     HRESULT ( __stdcall __RPC_FAR *Revoke )( 
  3475.         IRunningObjectTable __RPC_FAR * This,
  3476.         /* [in] */ DWORD dwRegister);
  3477.     
  3478.     HRESULT ( __stdcall __RPC_FAR *IsRunning )( 
  3479.         IRunningObjectTable __RPC_FAR * This,
  3480.         /* [unique][in] */ IMoniker __RPC_FAR *pmkObjectName);
  3481.     
  3482.     HRESULT ( __stdcall __RPC_FAR *GetObject )( 
  3483.         IRunningObjectTable __RPC_FAR * This,
  3484.         /* [unique][in] */ IMoniker __RPC_FAR *pmkObjectName,
  3485.         /* [out] */ IUnknown __RPC_FAR *__RPC_FAR *ppunkObject);
  3486.     
  3487.     HRESULT ( __stdcall __RPC_FAR *NoteChangeTime )( 
  3488.         IRunningObjectTable __RPC_FAR * This,
  3489.         /* [in] */ DWORD dwRegister,
  3490.         /* [in] */ FILETIME __RPC_FAR *pfiletime);
  3491.     
  3492.     HRESULT ( __stdcall __RPC_FAR *GetTimeOfLastChange )( 
  3493.         IRunningObjectTable __RPC_FAR * This,
  3494.         /* [unique][in] */ IMoniker __RPC_FAR *pmkObjectName,
  3495.         /* [out] */ FILETIME __RPC_FAR *pfiletime);
  3496.     
  3497.     HRESULT ( __stdcall __RPC_FAR *EnumRunning )( 
  3498.         IRunningObjectTable __RPC_FAR * This,
  3499.         /* [out] */ IEnumMoniker __RPC_FAR *__RPC_FAR *ppenumMoniker);
  3500.     
  3501.     } IRunningObjectTableVtbl;
  3502.     
  3503.     interface IRunningObjectTable
  3504.     {
  3505.     CONST_VTBL struct IRunningObjectTableVtbl __RPC_FAR *lpVtbl;
  3506.     };
  3507.     
  3508.     
  3509.  
  3510. #ifdef COBJMACROS
  3511.  
  3512.  
  3513. #define IRunningObjectTable_QueryInterface(This,riid,ppvObject) \
  3514.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3515.  
  3516. #define IRunningObjectTable_AddRef(This)        \
  3517.     (This)->lpVtbl -> AddRef(This)
  3518.  
  3519. #define IRunningObjectTable_Release(This)       \
  3520.     (This)->lpVtbl -> Release(This)
  3521.  
  3522.  
  3523. #define IRunningObjectTable_Register(This,grfFlags,punkObject,pmkObjectName,pdwRegister)        \
  3524.     (This)->lpVtbl -> Register(This,grfFlags,punkObject,pmkObjectName,pdwRegister)
  3525.  
  3526. #define IRunningObjectTable_Revoke(This,dwRegister)     \
  3527.     (This)->lpVtbl -> Revoke(This,dwRegister)
  3528.  
  3529. #define IRunningObjectTable_IsRunning(This,pmkObjectName)       \
  3530.     (This)->lpVtbl -> IsRunning(This,pmkObjectName)
  3531.  
  3532. #define IRunningObjectTable_GetObject(This,pmkObjectName,ppunkObject)   \
  3533.     (This)->lpVtbl -> GetObject(This,pmkObjectName,ppunkObject)
  3534.  
  3535. #define IRunningObjectTable_NoteChangeTime(This,dwRegister,pfiletime)   \
  3536.     (This)->lpVtbl -> NoteChangeTime(This,dwRegister,pfiletime)
  3537.  
  3538. #define IRunningObjectTable_GetTimeOfLastChange(This,pmkObjectName,pfiletime)   \
  3539.     (This)->lpVtbl -> GetTimeOfLastChange(This,pmkObjectName,pfiletime)
  3540.  
  3541. #define IRunningObjectTable_EnumRunning(This,ppenumMoniker)     \
  3542.     (This)->lpVtbl -> EnumRunning(This,ppenumMoniker)
  3543.  
  3544. #endif /* COBJMACROS */
  3545.  
  3546.  
  3547. #endif  /* C style interface */
  3548.  
  3549.  
  3550.  
  3551. HRESULT __stdcall IRunningObjectTable_Register_Proxy( 
  3552.     IRunningObjectTable __RPC_FAR * This,
  3553.     /* [in] */ DWORD grfFlags,
  3554.     /* [unique][in] */ IUnknown __RPC_FAR *punkObject,
  3555.     /* [unique][in] */ IMoniker __RPC_FAR *pmkObjectName,
  3556.     /* [out] */ DWORD __RPC_FAR *pdwRegister);
  3557.  
  3558.  
  3559. void __RPC_STUB IRunningObjectTable_Register_Stub(
  3560.     IRpcStubBuffer *This,
  3561.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3562.     PRPC_MESSAGE _pRpcMessage,
  3563.     DWORD *_pdwStubPhase);
  3564.  
  3565.  
  3566. HRESULT __stdcall IRunningObjectTable_Revoke_Proxy( 
  3567.     IRunningObjectTable __RPC_FAR * This,
  3568.     /* [in] */ DWORD dwRegister);
  3569.  
  3570.  
  3571. void __RPC_STUB IRunningObjectTable_Revoke_Stub(
  3572.     IRpcStubBuffer *This,
  3573.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3574.     PRPC_MESSAGE _pRpcMessage,
  3575.     DWORD *_pdwStubPhase);
  3576.  
  3577.  
  3578. HRESULT __stdcall IRunningObjectTable_IsRunning_Proxy( 
  3579.     IRunningObjectTable __RPC_FAR * This,
  3580.     /* [unique][in] */ IMoniker __RPC_FAR *pmkObjectName);
  3581.  
  3582.  
  3583. void __RPC_STUB IRunningObjectTable_IsRunning_Stub(
  3584.     IRpcStubBuffer *This,
  3585.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3586.     PRPC_MESSAGE _pRpcMessage,
  3587.     DWORD *_pdwStubPhase);
  3588.  
  3589.  
  3590. HRESULT __stdcall IRunningObjectTable_GetObject_Proxy( 
  3591.     IRunningObjectTable __RPC_FAR * This,
  3592.     /* [unique][in] */ IMoniker __RPC_FAR *pmkObjectName,
  3593.     /* [out] */ IUnknown __RPC_FAR *__RPC_FAR *ppunkObject);
  3594.  
  3595.  
  3596. void __RPC_STUB IRunningObjectTable_GetObject_Stub(
  3597.     IRpcStubBuffer *This,
  3598.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3599.     PRPC_MESSAGE _pRpcMessage,
  3600.     DWORD *_pdwStubPhase);
  3601.  
  3602.  
  3603. HRESULT __stdcall IRunningObjectTable_NoteChangeTime_Proxy( 
  3604.     IRunningObjectTable __RPC_FAR * This,
  3605.     /* [in] */ DWORD dwRegister,
  3606.     /* [in] */ FILETIME __RPC_FAR *pfiletime);
  3607.  
  3608.  
  3609. void __RPC_STUB IRunningObjectTable_NoteChangeTime_Stub(
  3610.     IRpcStubBuffer *This,
  3611.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3612.     PRPC_MESSAGE _pRpcMessage,
  3613.     DWORD *_pdwStubPhase);
  3614.  
  3615.  
  3616. HRESULT __stdcall IRunningObjectTable_GetTimeOfLastChange_Proxy( 
  3617.     IRunningObjectTable __RPC_FAR * This,
  3618.     /* [unique][in] */ IMoniker __RPC_FAR *pmkObjectName,
  3619.     /* [out] */ FILETIME __RPC_FAR *pfiletime);
  3620.  
  3621.  
  3622. void __RPC_STUB IRunningObjectTable_GetTimeOfLastChange_Stub(
  3623.     IRpcStubBuffer *This,
  3624.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3625.     PRPC_MESSAGE _pRpcMessage,
  3626.     DWORD *_pdwStubPhase);
  3627.  
  3628.  
  3629. HRESULT __stdcall IRunningObjectTable_EnumRunning_Proxy( 
  3630.     IRunningObjectTable __RPC_FAR * This,
  3631.     /* [out] */ IEnumMoniker __RPC_FAR *__RPC_FAR *ppenumMoniker);
  3632.  
  3633.  
  3634. void __RPC_STUB IRunningObjectTable_EnumRunning_Stub(
  3635.     IRpcStubBuffer *This,
  3636.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3637.     PRPC_MESSAGE _pRpcMessage,
  3638.     DWORD *_pdwStubPhase);
  3639.  
  3640.  
  3641.  
  3642. #endif  /* __IRunningObjectTable_INTERFACE_DEFINED__ */
  3643.  
  3644.  
  3645. #ifndef __IPersist_INTERFACE_DEFINED__
  3646. #define __IPersist_INTERFACE_DEFINED__
  3647.  
  3648. /****************************************
  3649.  * Generated header for interface: IPersist
  3650.  * at Fri Sep 02 18:12:06 1994
  3651.  * using MIDL 2.00.71
  3652.  ****************************************/
  3653. /* [uuid][object] */ 
  3654.  
  3655.  
  3656.             /* size is 4 */
  3657. typedef /* [unique] */ IPersist __RPC_FAR *LPPERSIST;
  3658.  
  3659.  
  3660. EXTERN_C const IID IID_IPersist;
  3661.  
  3662. #if defined(__cplusplus) && !defined(CINTERFACE)
  3663.     
  3664.     interface IPersist : public IUnknown
  3665.     {
  3666.     public:
  3667.     virtual /* [optimize] */ HRESULT __stdcall GetClassID( 
  3668.         /* [out] */ CLSID __RPC_FAR *pClassID) = 0;
  3669.     
  3670.     };
  3671.     
  3672. #else   /* C style interface */
  3673.     
  3674.     typedef struct IPersistVtbl
  3675.     {
  3676.     
  3677.     HRESULT ( __stdcall __RPC_FAR *QueryInterface )( 
  3678.         IPersist __RPC_FAR * This,
  3679.         /* [in] */ REFIID riid,
  3680.         /* [out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  3681.     
  3682.     ULONG ( __stdcall __RPC_FAR *AddRef )( 
  3683.         IPersist __RPC_FAR * This);
  3684.     
  3685.     ULONG ( __stdcall __RPC_FAR *Release )( 
  3686.         IPersist __RPC_FAR * This);
  3687.     
  3688.     /* [optimize] */ HRESULT ( __stdcall __RPC_FAR *GetClassID )( 
  3689.         IPersist __RPC_FAR * This,
  3690.         /* [out] */ CLSID __RPC_FAR *pClassID);
  3691.     
  3692.     } IPersistVtbl;
  3693.     
  3694.     interface IPersist
  3695.     {
  3696.     CONST_VTBL struct IPersistVtbl __RPC_FAR *lpVtbl;
  3697.     };
  3698.     
  3699.     
  3700.  
  3701. #ifdef COBJMACROS
  3702.  
  3703.  
  3704. #define IPersist_QueryInterface(This,riid,ppvObject)    \
  3705.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3706.  
  3707. #define IPersist_AddRef(This)   \
  3708.     (This)->lpVtbl -> AddRef(This)
  3709.  
  3710. #define IPersist_Release(This)  \
  3711.     (This)->lpVtbl -> Release(This)
  3712.  
  3713.  
  3714. #define IPersist_GetClassID(This,pClassID)      \
  3715.     (This)->lpVtbl -> GetClassID(This,pClassID)
  3716.  
  3717. #endif /* COBJMACROS */
  3718.  
  3719.  
  3720. #endif  /* C style interface */
  3721.  
  3722.  
  3723.  
  3724. /* [optimize] */ HRESULT __stdcall IPersist_GetClassID_Proxy( 
  3725.     IPersist __RPC_FAR * This,
  3726.     /* [out] */ CLSID __RPC_FAR *pClassID);
  3727.  
  3728.  
  3729. void __RPC_STUB IPersist_GetClassID_Stub(
  3730.     IRpcStubBuffer *This,
  3731.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3732.     PRPC_MESSAGE _pRpcMessage,
  3733.     DWORD *_pdwStubPhase);
  3734.  
  3735.  
  3736.  
  3737. #endif  /* __IPersist_INTERFACE_DEFINED__ */
  3738.  
  3739.  
  3740. #ifndef __IPersistStream_INTERFACE_DEFINED__
  3741. #define __IPersistStream_INTERFACE_DEFINED__
  3742.  
  3743. /****************************************
  3744.  * Generated header for interface: IPersistStream
  3745.  * at Fri Sep 02 18:12:06 1994
  3746.  * using MIDL 2.00.71
  3747.  ****************************************/
  3748. /* [unique][uuid][object] */ 
  3749.  
  3750.  
  3751.             /* size is 4 */
  3752. typedef /* [unique] */ IPersistStream __RPC_FAR *LPPERSISTSTREAM;
  3753.  
  3754.  
  3755. EXTERN_C const IID IID_IPersistStream;
  3756.  
  3757. #if defined(__cplusplus) && !defined(CINTERFACE)
  3758.     
  3759.     interface IPersistStream : public IPersist
  3760.     {
  3761.     public:
  3762.     virtual HRESULT __stdcall IsDirty( void) = 0;
  3763.     
  3764.     virtual HRESULT __stdcall Load( 
  3765.         /* [unique][in] */ IStream __RPC_FAR *pStm) = 0;
  3766.     
  3767.     virtual HRESULT __stdcall Save( 
  3768.         /* [unique][in] */ IStream __RPC_FAR *pStm,
  3769.         /* [in] */ BOOL fClearDirty) = 0;
  3770.     
  3771.     virtual HRESULT __stdcall GetSizeMax( 
  3772.         /* [out] */ ULARGE_INTEGER __RPC_FAR *pcbSize) = 0;
  3773.     
  3774.     };
  3775.     
  3776. #else   /* C style interface */
  3777.     
  3778.     typedef struct IPersistStreamVtbl
  3779.     {
  3780.     
  3781.     HRESULT ( __stdcall __RPC_FAR *QueryInterface )( 
  3782.         IPersistStream __RPC_FAR * This,
  3783.         /* [in] */ REFIID riid,
  3784.         /* [out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  3785.     
  3786.     ULONG ( __stdcall __RPC_FAR *AddRef )( 
  3787.         IPersistStream __RPC_FAR * This);
  3788.     
  3789.     ULONG ( __stdcall __RPC_FAR *Release )( 
  3790.         IPersistStream __RPC_FAR * This);
  3791.     
  3792.     /* [optimize] */ HRESULT ( __stdcall __RPC_FAR *GetClassID )( 
  3793.         IPersistStream __RPC_FAR * This,
  3794.         /* [out] */ CLSID __RPC_FAR *pClassID);
  3795.     
  3796.     HRESULT ( __stdcall __RPC_FAR *IsDirty )( 
  3797.         IPersistStream __RPC_FAR * This);
  3798.     
  3799.     HRESULT ( __stdcall __RPC_FAR *Load )( 
  3800.         IPersistStream __RPC_FAR * This,
  3801.         /* [unique][in] */ IStream __RPC_FAR *pStm);
  3802.     
  3803.     HRESULT ( __stdcall __RPC_FAR *Save )( 
  3804.         IPersistStream __RPC_FAR * This,
  3805.         /* [unique][in] */ IStream __RPC_FAR *pStm,
  3806.         /* [in] */ BOOL fClearDirty);
  3807.     
  3808.     HRESULT ( __stdcall __RPC_FAR *GetSizeMax )( 
  3809.         IPersistStream __RPC_FAR * This,
  3810.         /* [out] */ ULARGE_INTEGER __RPC_FAR *pcbSize);
  3811.     
  3812.     } IPersistStreamVtbl;
  3813.     
  3814.     interface IPersistStream
  3815.     {
  3816.     CONST_VTBL struct IPersistStreamVtbl __RPC_FAR *lpVtbl;
  3817.     };
  3818.     
  3819.     
  3820.  
  3821. #ifdef COBJMACROS
  3822.  
  3823.  
  3824. #define IPersistStream_QueryInterface(This,riid,ppvObject)      \
  3825.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3826.  
  3827. #define IPersistStream_AddRef(This)     \
  3828.     (This)->lpVtbl -> AddRef(This)
  3829.  
  3830. #define IPersistStream_Release(This)    \
  3831.     (This)->lpVtbl -> Release(This)
  3832.  
  3833.  
  3834. #define IPersistStream_GetClassID(This,pClassID)        \
  3835.     (This)->lpVtbl -> GetClassID(This,pClassID)
  3836.  
  3837.  
  3838. #define IPersistStream_IsDirty(This)    \
  3839.     (This)->lpVtbl -> IsDirty(This)
  3840.  
  3841. #define IPersistStream_Load(This,pStm)  \
  3842.     (This)->lpVtbl -> Load(This,pStm)
  3843.  
  3844. #define IPersistStream_Save(This,pStm,fClearDirty)      \
  3845.     (This)->lpVtbl -> Save(This,pStm,fClearDirty)
  3846.  
  3847. #define IPersistStream_GetSizeMax(This,pcbSize) \
  3848.     (This)->lpVtbl -> GetSizeMax(This,pcbSize)
  3849.  
  3850. #endif /* COBJMACROS */
  3851.  
  3852.  
  3853. #endif  /* C style interface */
  3854.  
  3855.  
  3856.  
  3857. HRESULT __stdcall IPersistStream_IsDirty_Proxy( 
  3858.     IPersistStream __RPC_FAR * This);
  3859.  
  3860.  
  3861. void __RPC_STUB IPersistStream_IsDirty_Stub(
  3862.     IRpcStubBuffer *This,
  3863.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3864.     PRPC_MESSAGE _pRpcMessage,
  3865.     DWORD *_pdwStubPhase);
  3866.  
  3867.  
  3868. HRESULT __stdcall IPersistStream_Load_Proxy( 
  3869.     IPersistStream __RPC_FAR * This,
  3870.     /* [unique][in] */ IStream __RPC_FAR *pStm);
  3871.  
  3872.  
  3873. void __RPC_STUB IPersistStream_Load_Stub(
  3874.     IRpcStubBuffer *This,
  3875.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3876.     PRPC_MESSAGE _pRpcMessage,
  3877.     DWORD *_pdwStubPhase);
  3878.  
  3879.  
  3880. HRESULT __stdcall IPersistStream_Save_Proxy( 
  3881.     IPersistStream __RPC_FAR * This,
  3882.     /* [unique][in] */ IStream __RPC_FAR *pStm,
  3883.     /* [in] */ BOOL fClearDirty);
  3884.  
  3885.  
  3886. void __RPC_STUB IPersistStream_Save_Stub(
  3887.     IRpcStubBuffer *This,
  3888.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3889.     PRPC_MESSAGE _pRpcMessage,
  3890.     DWORD *_pdwStubPhase);
  3891.  
  3892.  
  3893. HRESULT __stdcall IPersistStream_GetSizeMax_Proxy( 
  3894.     IPersistStream __RPC_FAR * This,
  3895.     /* [out] */ ULARGE_INTEGER __RPC_FAR *pcbSize);
  3896.  
  3897.  
  3898. void __RPC_STUB IPersistStream_GetSizeMax_Stub(
  3899.     IRpcStubBuffer *This,
  3900.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3901.     PRPC_MESSAGE _pRpcMessage,
  3902.     DWORD *_pdwStubPhase);
  3903.  
  3904.  
  3905.  
  3906. #endif  /* __IPersistStream_INTERFACE_DEFINED__ */
  3907.  
  3908.  
  3909. #ifndef __IMoniker_INTERFACE_DEFINED__
  3910. #define __IMoniker_INTERFACE_DEFINED__
  3911.  
  3912. /****************************************
  3913.  * Generated header for interface: IMoniker
  3914.  * at Fri Sep 02 18:12:06 1994
  3915.  * using MIDL 2.00.71
  3916.  ****************************************/
  3917. /* [unique][uuid][object] */ 
  3918.  
  3919.  
  3920.             /* size is 4 */
  3921. typedef /* [unique] */ IMoniker __RPC_FAR *LPMONIKER;
  3922.  
  3923.             /* size is 2 */
  3924. typedef 
  3925. enum tagMKSYS
  3926.     {   MKSYS_NONE      = 0,
  3927.     MKSYS_GENERICCOMPOSITE  = 1,
  3928.     MKSYS_FILEMONIKER       = 2,
  3929.     MKSYS_ANTIMONIKER       = 3,
  3930.     MKSYS_ITEMMONIKER       = 4,
  3931.     MKSYS_POINTERMONIKER    = 5
  3932.     }   MKSYS;
  3933.  
  3934.             /* size is 2 */
  3935. typedef /* [v1_enum] */ 
  3936. enum tagMKREDUCE
  3937.     {   MKRREDUCE_ONE   = 3 << 16,
  3938.     MKRREDUCE_TOUSER        = 2 << 16,
  3939.     MKRREDUCE_THROUGHUSER   = 1 << 16,
  3940.     MKRREDUCE_ALL   = 0
  3941.     }   MKRREDUCE;
  3942.  
  3943.  
  3944. EXTERN_C const IID IID_IMoniker;
  3945.  
  3946. #if defined(__cplusplus) && !defined(CINTERFACE)
  3947.     
  3948.     interface IMoniker : public IPersistStream
  3949.     {
  3950.     public:
  3951.     virtual /* [local] */ HRESULT __stdcall BindToObject( 
  3952.         /* [unique][in] */ IBindCtx __RPC_FAR *pbc,
  3953.         /* [unique][in] */ IMoniker __RPC_FAR *pmkToLeft,
  3954.         /* [in] */ REFIID riidResult,
  3955.         /* [out] */ void __RPC_FAR *__RPC_FAR *ppvResult) = 0;
  3956.     
  3957.     virtual /* [local] */ HRESULT __stdcall BindToStorage( 
  3958.         /* [unique][in] */ IBindCtx __RPC_FAR *pbc,
  3959.         /* [unique][in] */ IMoniker __RPC_FAR *pmkToLeft,
  3960.         /* [in] */ REFIID riid,
  3961.         /* [out] */ void __RPC_FAR *__RPC_FAR *ppvObj) = 0;
  3962.     
  3963.     virtual HRESULT __stdcall Reduce( 
  3964.         /* [unique][in] */ IBindCtx __RPC_FAR *pbc,
  3965.         /* [in] */ DWORD dwReduceHowFar,
  3966.         /* [unique][out][in] */ IMoniker __RPC_FAR *__RPC_FAR *ppmkToLeft,
  3967.         /* [out] */ IMoniker __RPC_FAR *__RPC_FAR *ppmkReduced) = 0;
  3968.     
  3969.     virtual HRESULT __stdcall ComposeWith( 
  3970.         /* [unique][in] */ IMoniker __RPC_FAR *pmkRight,
  3971.         /* [in] */ BOOL fOnlyIfNotGeneric,
  3972.         /* [out] */ IMoniker __RPC_FAR *__RPC_FAR *ppmkComposite) = 0;
  3973.     
  3974.     virtual HRESULT __stdcall Enum( 
  3975.         /* [in] */ BOOL fForward,
  3976.         /* [out] */ IEnumMoniker __RPC_FAR *__RPC_FAR *ppenumMoniker) = 0;
  3977.     
  3978.     virtual HRESULT __stdcall IsEqual( 
  3979.         /* [unique][in] */ IMoniker __RPC_FAR *pmkOtherMoniker) = 0;
  3980.     
  3981.     virtual HRESULT __stdcall Hash( 
  3982.         /* [out] */ DWORD __RPC_FAR *pdwHash) = 0;
  3983.     
  3984.     virtual HRESULT __stdcall IsRunning( 
  3985.         /* [unique][in] */ IBindCtx __RPC_FAR *pbc,
  3986.         /* [unique][in] */ IMoniker __RPC_FAR *pmkToLeft,
  3987.         /* [unique][in] */ IMoniker __RPC_FAR *pmkNewlyRunning) = 0;
  3988.     
  3989.     virtual HRESULT __stdcall GetTimeOfLastChange( 
  3990.         /* [unique][in] */ IBindCtx __RPC_FAR *pbc,
  3991.         /* [unique][in] */ IMoniker __RPC_FAR *pmkToLeft,
  3992.         /* [out] */ FILETIME __RPC_FAR *pFileTime) = 0;
  3993.     
  3994.     virtual HRESULT __stdcall Inverse( 
  3995.         /* [out] */ IMoniker __RPC_FAR *__RPC_FAR *ppmk) = 0;
  3996.     
  3997.     virtual HRESULT __stdcall CommonPrefixWith( 
  3998.         /* [unique][in] */ IMoniker __RPC_FAR *pmkOther,
  3999.         /* [out] */ IMoniker __RPC_FAR *__RPC_FAR *ppmkPrefix) = 0;
  4000.     
  4001.     virtual HRESULT __stdcall RelativePathTo( 
  4002.         /* [unique][in] */ IMoniker __RPC_FAR *pmkOther,
  4003.         /* [out] */ IMoniker __RPC_FAR *__RPC_FAR *ppmkRelPath) = 0;
  4004.     
  4005.     virtual HRESULT __stdcall GetDisplayName( 
  4006.         /* [unique][in] */ IBindCtx __RPC_FAR *pbc,
  4007.         /* [unique][in] */ IMoniker __RPC_FAR *pmkToLeft,
  4008.         /* [out] */ LPOLESTR __RPC_FAR *ppszDisplayName) = 0;
  4009.     
  4010.     virtual HRESULT __stdcall ParseDisplayName( 
  4011.         /* [unique][in] */ IBindCtx __RPC_FAR *pbc,
  4012.         /* [unique][in] */ IMoniker __RPC_FAR *pmkToLeft,
  4013.         /* [in] */ LPOLESTR pszDisplayName,
  4014.         /* [out] */ ULONG __RPC_FAR *pchEaten,
  4015.         /* [out] */ IMoniker __RPC_FAR *__RPC_FAR *ppmkOut) = 0;
  4016.     
  4017.     virtual HRESULT __stdcall IsSystemMoniker( 
  4018.         /* [out] */ DWORD __RPC_FAR *pdwMksys) = 0;
  4019.     
  4020.     };
  4021.     
  4022. #else   /* C style interface */
  4023.     
  4024.     typedef struct IMonikerVtbl
  4025.     {
  4026.     
  4027.     HRESULT ( __stdcall __RPC_FAR *QueryInterface )( 
  4028.         IMoniker __RPC_FAR * This,
  4029.         /* [in] */ REFIID riid,
  4030.         /* [out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  4031.     
  4032.     ULONG ( __stdcall __RPC_FAR *AddRef )( 
  4033.         IMoniker __RPC_FAR * This);
  4034.     
  4035.     ULONG ( __stdcall __RPC_FAR *Release )( 
  4036.         IMoniker __RPC_FAR * This);
  4037.     
  4038.     /* [optimize] */ HRESULT ( __stdcall __RPC_FAR *GetClassID )( 
  4039.         IMoniker __RPC_FAR * This,
  4040.         /* [out] */ CLSID __RPC_FAR *pClassID);
  4041.     
  4042.     HRESULT ( __stdcall __RPC_FAR *IsDirty )( 
  4043.         IMoniker __RPC_FAR * This);
  4044.     
  4045.     HRESULT ( __stdcall __RPC_FAR *Load )( 
  4046.         IMoniker __RPC_FAR * This,
  4047.         /* [unique][in] */ IStream __RPC_FAR *pStm);
  4048.     
  4049.     HRESULT ( __stdcall __RPC_FAR *Save )( 
  4050.         IMoniker __RPC_FAR * This,
  4051.         /* [unique][in] */ IStream __RPC_FAR *pStm,
  4052.         /* [in] */ BOOL fClearDirty);
  4053.     
  4054.     HRESULT ( __stdcall __RPC_FAR *GetSizeMax )( 
  4055.         IMoniker __RPC_FAR * This,
  4056.         /* [out] */ ULARGE_INTEGER __RPC_FAR *pcbSize);
  4057.     
  4058.     /* [local] */ HRESULT ( __stdcall __RPC_FAR *BindToObject )( 
  4059.         IMoniker __RPC_FAR * This,
  4060.         /* [unique][in] */ IBindCtx __RPC_FAR *pbc,
  4061.         /* [unique][in] */ IMoniker __RPC_FAR *pmkToLeft,
  4062.         /* [in] */ REFIID riidResult,
  4063.         /* [out] */ void __RPC_FAR *__RPC_FAR *ppvResult);
  4064.     
  4065.     /* [local] */ HRESULT ( __stdcall __RPC_FAR *BindToStorage )( 
  4066.         IMoniker __RPC_FAR * This,
  4067.         /* [unique][in] */ IBindCtx __RPC_FAR *pbc,
  4068.         /* [unique][in] */ IMoniker __RPC_FAR *pmkToLeft,
  4069.         /* [in] */ REFIID riid,
  4070.         /* [out] */ void __RPC_FAR *__RPC_FAR *ppvObj);
  4071.     
  4072.     HRESULT ( __stdcall __RPC_FAR *Reduce )( 
  4073.         IMoniker __RPC_FAR * This,
  4074.         /* [unique][in] */ IBindCtx __RPC_FAR *pbc,
  4075.         /* [in] */ DWORD dwReduceHowFar,
  4076.         /* [unique][out][in] */ IMoniker __RPC_FAR *__RPC_FAR *ppmkToLeft,
  4077.         /* [out] */ IMoniker __RPC_FAR *__RPC_FAR *ppmkReduced);
  4078.     
  4079.     HRESULT ( __stdcall __RPC_FAR *ComposeWith )( 
  4080.         IMoniker __RPC_FAR * This,
  4081.         /* [unique][in] */ IMoniker __RPC_FAR *pmkRight,
  4082.         /* [in] */ BOOL fOnlyIfNotGeneric,
  4083.         /* [out] */ IMoniker __RPC_FAR *__RPC_FAR *ppmkComposite);
  4084.     
  4085.     HRESULT ( __stdcall __RPC_FAR *Enum )( 
  4086.         IMoniker __RPC_FAR * This,
  4087.         /* [in] */ BOOL fForward,
  4088.         /* [out] */ IEnumMoniker __RPC_FAR *__RPC_FAR *ppenumMoniker);
  4089.     
  4090.     HRESULT ( __stdcall __RPC_FAR *IsEqual )( 
  4091.         IMoniker __RPC_FAR * This,
  4092.         /* [unique][in] */ IMoniker __RPC_FAR *pmkOtherMoniker);
  4093.     
  4094.     HRESULT ( __stdcall __RPC_FAR *Hash )( 
  4095.         IMoniker __RPC_FAR * This,
  4096.         /* [out] */ DWORD __RPC_FAR *pdwHash);
  4097.     
  4098.     HRESULT ( __stdcall __RPC_FAR *IsRunning )( 
  4099.         IMoniker __RPC_FAR * This,
  4100.         /* [unique][in] */ IBindCtx __RPC_FAR *pbc,
  4101.         /* [unique][in] */ IMoniker __RPC_FAR *pmkToLeft,
  4102.         /* [unique][in] */ IMoniker __RPC_FAR *pmkNewlyRunning);
  4103.     
  4104.     HRESULT ( __stdcall __RPC_FAR *GetTimeOfLastChange )( 
  4105.         IMoniker __RPC_FAR * This,
  4106.         /* [unique][in] */ IBindCtx __RPC_FAR *pbc,
  4107.         /* [unique][in] */ IMoniker __RPC_FAR *pmkToLeft,
  4108.         /* [out] */ FILETIME __RPC_FAR *pFileTime);
  4109.     
  4110.     HRESULT ( __stdcall __RPC_FAR *Inverse )( 
  4111.         IMoniker __RPC_FAR * This,
  4112.         /* [out] */ IMoniker __RPC_FAR *__RPC_FAR *ppmk);
  4113.     
  4114.     HRESULT ( __stdcall __RPC_FAR *CommonPrefixWith )( 
  4115.         IMoniker __RPC_FAR * This,
  4116.         /* [unique][in] */ IMoniker __RPC_FAR *pmkOther,
  4117.         /* [out] */ IMoniker __RPC_FAR *__RPC_FAR *ppmkPrefix);
  4118.     
  4119.     HRESULT ( __stdcall __RPC_FAR *RelativePathTo )( 
  4120.         IMoniker __RPC_FAR * This,
  4121.         /* [unique][in] */ IMoniker __RPC_FAR *pmkOther,
  4122.         /* [out] */ IMoniker __RPC_FAR *__RPC_FAR *ppmkRelPath);
  4123.     
  4124.     HRESULT ( __stdcall __RPC_FAR *GetDisplayName )( 
  4125.         IMoniker __RPC_FAR * This,
  4126.         /* [unique][in] */ IBindCtx __RPC_FAR *pbc,
  4127.         /* [unique][in] */ IMoniker __RPC_FAR *pmkToLeft,
  4128.         /* [out] */ LPOLESTR __RPC_FAR *ppszDisplayName);
  4129.     
  4130.     HRESULT ( __stdcall __RPC_FAR *ParseDisplayName )( 
  4131.         IMoniker __RPC_FAR * This,
  4132.         /* [unique][in] */ IBindCtx __RPC_FAR *pbc,
  4133.         /* [unique][in] */ IMoniker __RPC_FAR *pmkToLeft,
  4134.         /* [in] */ LPOLESTR pszDisplayName,
  4135.         /* [out] */ ULONG __RPC_FAR *pchEaten,
  4136.         /* [out] */ IMoniker __RPC_FAR *__RPC_FAR *ppmkOut);
  4137.     
  4138.     HRESULT ( __stdcall __RPC_FAR *IsSystemMoniker )( 
  4139.         IMoniker __RPC_FAR * This,
  4140.         /* [out] */ DWORD __RPC_FAR *pdwMksys);
  4141.     
  4142.     } IMonikerVtbl;
  4143.     
  4144.     interface IMoniker
  4145.     {
  4146.     CONST_VTBL struct IMonikerVtbl __RPC_FAR *lpVtbl;
  4147.     };
  4148.     
  4149.     
  4150.  
  4151. #ifdef COBJMACROS
  4152.  
  4153.  
  4154. #define IMoniker_QueryInterface(This,riid,ppvObject)    \
  4155.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4156.  
  4157. #define IMoniker_AddRef(This)   \
  4158.     (This)->lpVtbl -> AddRef(This)
  4159.  
  4160. #define IMoniker_Release(This)  \
  4161.     (This)->lpVtbl -> Release(This)
  4162.  
  4163.  
  4164. #define IMoniker_GetClassID(This,pClassID)      \
  4165.     (This)->lpVtbl -> GetClassID(This,pClassID)
  4166.  
  4167.  
  4168. #define IMoniker_IsDirty(This)  \
  4169.     (This)->lpVtbl -> IsDirty(This)
  4170.  
  4171. #define IMoniker_Load(This,pStm)        \
  4172.     (This)->lpVtbl -> Load(This,pStm)
  4173.  
  4174. #define IMoniker_Save(This,pStm,fClearDirty)    \
  4175.     (This)->lpVtbl -> Save(This,pStm,fClearDirty)
  4176.  
  4177. #define IMoniker_GetSizeMax(This,pcbSize)       \
  4178.     (This)->lpVtbl -> GetSizeMax(This,pcbSize)
  4179.  
  4180.  
  4181. #define IMoniker_BindToObject(This,pbc,pmkToLeft,riidResult,ppvResult)  \
  4182.     (This)->lpVtbl -> BindToObject(This,pbc,pmkToLeft,riidResult,ppvResult)
  4183.  
  4184. #define IMoniker_BindToStorage(This,pbc,pmkToLeft,riid,ppvObj)  \
  4185.     (This)->lpVtbl -> BindToStorage(This,pbc,pmkToLeft,riid,ppvObj)
  4186.  
  4187. #define IMoniker_Reduce(This,pbc,dwReduceHowFar,ppmkToLeft,ppmkReduced) \
  4188.     (This)->lpVtbl -> Reduce(This,pbc,dwReduceHowFar,ppmkToLeft,ppmkReduced)
  4189.  
  4190. #define IMoniker_ComposeWith(This,pmkRight,fOnlyIfNotGeneric,ppmkComposite)     \
  4191.     (This)->lpVtbl -> ComposeWith(This,pmkRight,fOnlyIfNotGeneric,ppmkComposite)
  4192.  
  4193. #define IMoniker_Enum(This,fForward,ppenumMoniker)      \
  4194.     (This)->lpVtbl -> Enum(This,fForward,ppenumMoniker)
  4195.  
  4196. #define IMoniker_IsEqual(This,pmkOtherMoniker)  \
  4197.     (This)->lpVtbl -> IsEqual(This,pmkOtherMoniker)
  4198.  
  4199. #define IMoniker_Hash(This,pdwHash)     \
  4200.     (This)->lpVtbl -> Hash(This,pdwHash)
  4201.  
  4202. #define IMoniker_IsRunning(This,pbc,pmkToLeft,pmkNewlyRunning)  \
  4203.     (This)->lpVtbl -> IsRunning(This,pbc,pmkToLeft,pmkNewlyRunning)
  4204.  
  4205. #define IMoniker_GetTimeOfLastChange(This,pbc,pmkToLeft,pFileTime)      \
  4206.     (This)->lpVtbl -> GetTimeOfLastChange(This,pbc,pmkToLeft,pFileTime)
  4207.  
  4208. #define IMoniker_Inverse(This,ppmk)     \
  4209.     (This)->lpVtbl -> Inverse(This,ppmk)
  4210.  
  4211. #define IMoniker_CommonPrefixWith(This,pmkOther,ppmkPrefix)     \
  4212.     (This)->lpVtbl -> CommonPrefixWith(This,pmkOther,ppmkPrefix)
  4213.  
  4214. #define IMoniker_RelativePathTo(This,pmkOther,ppmkRelPath)      \
  4215.     (This)->lpVtbl -> RelativePathTo(This,pmkOther,ppmkRelPath)
  4216.  
  4217. #define IMoniker_GetDisplayName(This,pbc,pmkToLeft,ppszDisplayName)     \
  4218.     (This)->lpVtbl -> GetDisplayName(This,pbc,pmkToLeft,ppszDisplayName)
  4219.  
  4220. #define IMoniker_ParseDisplayName(This,pbc,pmkToLeft,pszDisplayName,pchEaten,ppmkOut)   \
  4221.     (This)->lpVtbl -> ParseDisplayName(This,pbc,pmkToLeft,pszDisplayName,pchEaten,ppmkOut)
  4222.  
  4223. #define IMoniker_IsSystemMoniker(This,pdwMksys) \
  4224.     (This)->lpVtbl -> IsSystemMoniker(This,pdwMksys)
  4225.  
  4226. #endif /* COBJMACROS */
  4227.  
  4228.  
  4229. #endif  /* C style interface */
  4230.  
  4231.  
  4232.  
  4233. /* [call_as] */ HRESULT __stdcall IMoniker_RemoteBindToObject_Proxy( 
  4234.     IMoniker __RPC_FAR * This,
  4235.     /* [unique][in] */ IBindCtx __RPC_FAR *pbc,
  4236.     /* [unique][in] */ IMoniker __RPC_FAR *pmkToLeft,
  4237.     /* [in] */ REFIID riidResult,
  4238.     /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppvResult);
  4239.  
  4240.  
  4241. void __RPC_STUB IMoniker_RemoteBindToObject_Stub(
  4242.     IRpcStubBuffer *This,
  4243.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4244.     PRPC_MESSAGE _pRpcMessage,
  4245.     DWORD *_pdwStubPhase);
  4246.  
  4247.  
  4248. /* [call_as] */ HRESULT __stdcall IMoniker_RemoteBindToStorage_Proxy( 
  4249.     IMoniker __RPC_FAR * This,
  4250.     /* [unique][in] */ IBindCtx __RPC_FAR *pbc,
  4251.     /* [unique][in] */ IMoniker __RPC_FAR *pmkToLeft,
  4252.     /* [in] */ REFIID riid,
  4253.     /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppvObj);
  4254.  
  4255.  
  4256. void __RPC_STUB IMoniker_RemoteBindToStorage_Stub(
  4257.     IRpcStubBuffer *This,
  4258.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4259.     PRPC_MESSAGE _pRpcMessage,
  4260.     DWORD *_pdwStubPhase);
  4261.  
  4262.  
  4263. HRESULT __stdcall IMoniker_Reduce_Proxy( 
  4264.     IMoniker __RPC_FAR * This,
  4265.     /* [unique][in] */ IBindCtx __RPC_FAR *pbc,
  4266.     /* [in] */ DWORD dwReduceHowFar,
  4267.     /* [unique][out][in] */ IMoniker __RPC_FAR *__RPC_FAR *ppmkToLeft,
  4268.     /* [out] */ IMoniker __RPC_FAR *__RPC_FAR *ppmkReduced);
  4269.  
  4270.  
  4271. void __RPC_STUB IMoniker_Reduce_Stub(
  4272.     IRpcStubBuffer *This,
  4273.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4274.     PRPC_MESSAGE _pRpcMessage,
  4275.     DWORD *_pdwStubPhase);
  4276.  
  4277.  
  4278. HRESULT __stdcall IMoniker_ComposeWith_Proxy( 
  4279.     IMoniker __RPC_FAR * This,
  4280.     /* [unique][in] */ IMoniker __RPC_FAR *pmkRight,
  4281.     /* [in] */ BOOL fOnlyIfNotGeneric,
  4282.     /* [out] */ IMoniker __RPC_FAR *__RPC_FAR *ppmkComposite);
  4283.  
  4284.  
  4285. void __RPC_STUB IMoniker_ComposeWith_Stub(
  4286.     IRpcStubBuffer *This,
  4287.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4288.     PRPC_MESSAGE _pRpcMessage,
  4289.     DWORD *_pdwStubPhase);
  4290.  
  4291.  
  4292. HRESULT __stdcall IMoniker_Enum_Proxy( 
  4293.     IMoniker __RPC_FAR * This,
  4294.     /* [in] */ BOOL fForward,
  4295.     /* [out] */ IEnumMoniker __RPC_FAR *__RPC_FAR *ppenumMoniker);
  4296.  
  4297.  
  4298. void __RPC_STUB IMoniker_Enum_Stub(
  4299.     IRpcStubBuffer *This,
  4300.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4301.     PRPC_MESSAGE _pRpcMessage,
  4302.     DWORD *_pdwStubPhase);
  4303.  
  4304.  
  4305. HRESULT __stdcall IMoniker_IsEqual_Proxy( 
  4306.     IMoniker __RPC_FAR * This,
  4307.     /* [unique][in] */ IMoniker __RPC_FAR *pmkOtherMoniker);
  4308.  
  4309.  
  4310. void __RPC_STUB IMoniker_IsEqual_Stub(
  4311.     IRpcStubBuffer *This,
  4312.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4313.     PRPC_MESSAGE _pRpcMessage,
  4314.     DWORD *_pdwStubPhase);
  4315.  
  4316.  
  4317. HRESULT __stdcall IMoniker_Hash_Proxy( 
  4318.     IMoniker __RPC_FAR * This,
  4319.     /* [out] */ DWORD __RPC_FAR *pdwHash);
  4320.  
  4321.  
  4322. void __RPC_STUB IMoniker_Hash_Stub(
  4323.     IRpcStubBuffer *This,
  4324.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4325.     PRPC_MESSAGE _pRpcMessage,
  4326.     DWORD *_pdwStubPhase);
  4327.  
  4328.  
  4329. HRESULT __stdcall IMoniker_IsRunning_Proxy( 
  4330.     IMoniker __RPC_FAR * This,
  4331.     /* [unique][in] */ IBindCtx __RPC_FAR *pbc,
  4332.     /* [unique][in] */ IMoniker __RPC_FAR *pmkToLeft,
  4333.     /* [unique][in] */ IMoniker __RPC_FAR *pmkNewlyRunning);
  4334.  
  4335.  
  4336. void __RPC_STUB IMoniker_IsRunning_Stub(
  4337.     IRpcStubBuffer *This,
  4338.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4339.     PRPC_MESSAGE _pRpcMessage,
  4340.     DWORD *_pdwStubPhase);
  4341.  
  4342.  
  4343. HRESULT __stdcall IMoniker_GetTimeOfLastChange_Proxy( 
  4344.     IMoniker __RPC_FAR * This,
  4345.     /* [unique][in] */ IBindCtx __RPC_FAR *pbc,
  4346.     /* [unique][in] */ IMoniker __RPC_FAR *pmkToLeft,
  4347.     /* [out] */ FILETIME __RPC_FAR *pFileTime);
  4348.  
  4349.  
  4350. void __RPC_STUB IMoniker_GetTimeOfLastChange_Stub(
  4351.     IRpcStubBuffer *This,
  4352.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4353.     PRPC_MESSAGE _pRpcMessage,
  4354.     DWORD *_pdwStubPhase);
  4355.  
  4356.  
  4357. HRESULT __stdcall IMoniker_Inverse_Proxy( 
  4358.     IMoniker __RPC_FAR * This,
  4359.     /* [out] */ IMoniker __RPC_FAR *__RPC_FAR *ppmk);
  4360.  
  4361.  
  4362. void __RPC_STUB IMoniker_Inverse_Stub(
  4363.     IRpcStubBuffer *This,
  4364.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4365.     PRPC_MESSAGE _pRpcMessage,
  4366.     DWORD *_pdwStubPhase);
  4367.  
  4368.  
  4369. HRESULT __stdcall IMoniker_CommonPrefixWith_Proxy( 
  4370.     IMoniker __RPC_FAR * This,
  4371.     /* [unique][in] */ IMoniker __RPC_FAR *pmkOther,
  4372.     /* [out] */ IMoniker __RPC_FAR *__RPC_FAR *ppmkPrefix);
  4373.  
  4374.  
  4375. void __RPC_STUB IMoniker_CommonPrefixWith_Stub(
  4376.     IRpcStubBuffer *This,
  4377.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4378.     PRPC_MESSAGE _pRpcMessage,
  4379.     DWORD *_pdwStubPhase);
  4380.  
  4381.  
  4382. HRESULT __stdcall IMoniker_RelativePathTo_Proxy( 
  4383.     IMoniker __RPC_FAR * This,
  4384.     /* [unique][in] */ IMoniker __RPC_FAR *pmkOther,
  4385.     /* [out] */ IMoniker __RPC_FAR *__RPC_FAR *ppmkRelPath);
  4386.  
  4387.  
  4388. void __RPC_STUB IMoniker_RelativePathTo_Stub(
  4389.     IRpcStubBuffer *This,
  4390.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4391.     PRPC_MESSAGE _pRpcMessage,
  4392.     DWORD *_pdwStubPhase);
  4393.  
  4394.  
  4395. HRESULT __stdcall IMoniker_GetDisplayName_Proxy( 
  4396.     IMoniker __RPC_FAR * This,
  4397.     /* [unique][in] */ IBindCtx __RPC_FAR *pbc,
  4398.     /* [unique][in] */ IMoniker __RPC_FAR *pmkToLeft,
  4399.     /* [out] */ LPOLESTR __RPC_FAR *ppszDisplayName);
  4400.  
  4401.  
  4402. void __RPC_STUB IMoniker_GetDisplayName_Stub(
  4403.     IRpcStubBuffer *This,
  4404.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4405.     PRPC_MESSAGE _pRpcMessage,
  4406.     DWORD *_pdwStubPhase);
  4407.  
  4408.  
  4409. HRESULT __stdcall IMoniker_ParseDisplayName_Proxy( 
  4410.     IMoniker __RPC_FAR * This,
  4411.     /* [unique][in] */ IBindCtx __RPC_FAR *pbc,
  4412.     /* [unique][in] */ IMoniker __RPC_FAR *pmkToLeft,
  4413.     /* [in] */ LPOLESTR pszDisplayName,
  4414.     /* [out] */ ULONG __RPC_FAR *pchEaten,
  4415.     /* [out] */ IMoniker __RPC_FAR *__RPC_FAR *ppmkOut);
  4416.  
  4417.  
  4418. void __RPC_STUB IMoniker_ParseDisplayName_Stub(
  4419.     IRpcStubBuffer *This,
  4420.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4421.     PRPC_MESSAGE _pRpcMessage,
  4422.     DWORD *_pdwStubPhase);
  4423.  
  4424.  
  4425. HRESULT __stdcall IMoniker_IsSystemMoniker_Proxy( 
  4426.     IMoniker __RPC_FAR * This,
  4427.     /* [out] */ DWORD __RPC_FAR *pdwMksys);
  4428.  
  4429.  
  4430. void __RPC_STUB IMoniker_IsSystemMoniker_Stub(
  4431.     IRpcStubBuffer *This,
  4432.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4433.     PRPC_MESSAGE _pRpcMessage,
  4434.     DWORD *_pdwStubPhase);
  4435.  
  4436.  
  4437.  
  4438. #endif  /* __IMoniker_INTERFACE_DEFINED__ */
  4439.  
  4440.  
  4441. #ifndef __IEnumString_INTERFACE_DEFINED__
  4442. #define __IEnumString_INTERFACE_DEFINED__
  4443.  
  4444. /****************************************
  4445.  * Generated header for interface: IEnumString
  4446.  * at Fri Sep 02 18:12:06 1994
  4447.  * using MIDL 2.00.71
  4448.  ****************************************/
  4449. /* [unique][uuid][object] */ 
  4450.  
  4451.  
  4452.             /* size is 4 */
  4453. typedef /* [unique] */ IEnumString __RPC_FAR *LPENUMSTRING;
  4454.  
  4455.  
  4456. EXTERN_C const IID IID_IEnumString;
  4457.  
  4458. #if defined(__cplusplus) && !defined(CINTERFACE)
  4459.     
  4460.     interface IEnumString : public IUnknown
  4461.     {
  4462.     public:
  4463.     virtual /* [local] */ HRESULT __stdcall Next( 
  4464.         /* [in] */ ULONG celt,
  4465.         /* [out] */ LPOLESTR __RPC_FAR *rgelt,
  4466.         /* [out] */ ULONG __RPC_FAR *pceltFetched) = 0;
  4467.     
  4468.     virtual HRESULT __stdcall Skip( 
  4469.         /* [in] */ ULONG celt) = 0;
  4470.     
  4471.     virtual HRESULT __stdcall Reset( void) = 0;
  4472.     
  4473.     virtual HRESULT __stdcall Clone( 
  4474.         /* [out] */ IEnumString __RPC_FAR *__RPC_FAR *ppenum) = 0;
  4475.     
  4476.     };
  4477.     
  4478. #else   /* C style interface */
  4479.     
  4480.     typedef struct IEnumStringVtbl
  4481.     {
  4482.     
  4483.     HRESULT ( __stdcall __RPC_FAR *QueryInterface )( 
  4484.         IEnumString __RPC_FAR * This,
  4485.         /* [in] */ REFIID riid,
  4486.         /* [out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  4487.     
  4488.     ULONG ( __stdcall __RPC_FAR *AddRef )( 
  4489.         IEnumString __RPC_FAR * This);
  4490.     
  4491.     ULONG ( __stdcall __RPC_FAR *Release )( 
  4492.         IEnumString __RPC_FAR * This);
  4493.     
  4494.     /* [local] */ HRESULT ( __stdcall __RPC_FAR *Next )( 
  4495.         IEnumString __RPC_FAR * This,
  4496.         /* [in] */ ULONG celt,
  4497.         /* [out] */ LPOLESTR __RPC_FAR *rgelt,
  4498.         /* [out] */ ULONG __RPC_FAR *pceltFetched);
  4499.     
  4500.     HRESULT ( __stdcall __RPC_FAR *Skip )( 
  4501.         IEnumString __RPC_FAR * This,
  4502.         /* [in] */ ULONG celt);
  4503.     
  4504.     HRESULT ( __stdcall __RPC_FAR *Reset )( 
  4505.         IEnumString __RPC_FAR * This);
  4506.     
  4507.     HRESULT ( __stdcall __RPC_FAR *Clone )( 
  4508.         IEnumString __RPC_FAR * This,
  4509.         /* [out] */ IEnumString __RPC_FAR *__RPC_FAR *ppenum);
  4510.     
  4511.     } IEnumStringVtbl;
  4512.     
  4513.     interface IEnumString
  4514.     {
  4515.     CONST_VTBL struct IEnumStringVtbl __RPC_FAR *lpVtbl;
  4516.     };
  4517.     
  4518.     
  4519.  
  4520. #ifdef COBJMACROS
  4521.  
  4522.  
  4523. #define IEnumString_QueryInterface(This,riid,ppvObject) \
  4524.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4525.  
  4526. #define IEnumString_AddRef(This)        \
  4527.     (This)->lpVtbl -> AddRef(This)
  4528.  
  4529. #define IEnumString_Release(This)       \
  4530.     (This)->lpVtbl -> Release(This)
  4531.  
  4532.  
  4533. #define IEnumString_Next(This,celt,rgelt,pceltFetched)  \
  4534.     (This)->lpVtbl -> Next(This,celt,rgelt,pceltFetched)
  4535.  
  4536. #define IEnumString_Skip(This,celt)     \
  4537.     (This)->lpVtbl -> Skip(This,celt)
  4538.  
  4539. #define IEnumString_Reset(This) \
  4540.     (This)->lpVtbl -> Reset(This)
  4541.  
  4542. #define IEnumString_Clone(This,ppenum)  \
  4543.     (This)->lpVtbl -> Clone(This,ppenum)
  4544.  
  4545. #endif /* COBJMACROS */
  4546.  
  4547.  
  4548. #endif  /* C style interface */
  4549.  
  4550.  
  4551.  
  4552. /* [call_as] */ HRESULT __stdcall IEnumString_RemoteNext_Proxy( 
  4553.     IEnumString __RPC_FAR * This,
  4554.     /* [in] */ ULONG celt,
  4555.     /* [length_is][size_is][out] */ LPOLESTR __RPC_FAR *rgelt,
  4556.     /* [out] */ ULONG __RPC_FAR *pceltFetched);
  4557.  
  4558.  
  4559. void __RPC_STUB IEnumString_RemoteNext_Stub(
  4560.     IRpcStubBuffer *This,
  4561.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4562.     PRPC_MESSAGE _pRpcMessage,
  4563.     DWORD *_pdwStubPhase);
  4564.  
  4565.  
  4566. HRESULT __stdcall IEnumString_Skip_Proxy( 
  4567.     IEnumString __RPC_FAR * This,
  4568.     /* [in] */ ULONG celt);
  4569.  
  4570.  
  4571. void __RPC_STUB IEnumString_Skip_Stub(
  4572.     IRpcStubBuffer *This,
  4573.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4574.     PRPC_MESSAGE _pRpcMessage,
  4575.     DWORD *_pdwStubPhase);
  4576.  
  4577.  
  4578. HRESULT __stdcall IEnumString_Reset_Proxy( 
  4579.     IEnumString __RPC_FAR * This);
  4580.  
  4581.  
  4582. void __RPC_STUB IEnumString_Reset_Stub(
  4583.     IRpcStubBuffer *This,
  4584.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4585.     PRPC_MESSAGE _pRpcMessage,
  4586.     DWORD *_pdwStubPhase);
  4587.  
  4588.  
  4589. HRESULT __stdcall IEnumString_Clone_Proxy( 
  4590.     IEnumString __RPC_FAR * This,
  4591.     /* [out] */ IEnumString __RPC_FAR *__RPC_FAR *ppenum);
  4592.  
  4593.  
  4594. void __RPC_STUB IEnumString_Clone_Stub(
  4595.     IRpcStubBuffer *This,
  4596.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4597.     PRPC_MESSAGE _pRpcMessage,
  4598.     DWORD *_pdwStubPhase);
  4599.  
  4600.  
  4601.  
  4602. #endif  /* __IEnumString_INTERFACE_DEFINED__ */
  4603.  
  4604.  
  4605. #ifndef __IStream_INTERFACE_DEFINED__
  4606. #define __IStream_INTERFACE_DEFINED__
  4607.  
  4608. /****************************************
  4609.  * Generated header for interface: IStream
  4610.  * at Fri Sep 02 18:12:06 1994
  4611.  * using MIDL 2.00.71
  4612.  ****************************************/
  4613. /* [unique][uuid][object] */ 
  4614.  
  4615.  
  4616.             /* size is 4 */
  4617. typedef /* [unique] */ IStream __RPC_FAR *LPSTREAM;
  4618.  
  4619.             /* size is 72 */
  4620. typedef struct  tagSTATSTG
  4621.     {
  4622.     LPOLESTR pwcsName;
  4623.     DWORD type;
  4624.     ULARGE_INTEGER cbSize;
  4625.     FILETIME mtime;
  4626.     FILETIME ctime;
  4627.     FILETIME atime;
  4628.     DWORD grfMode;
  4629.     DWORD grfLocksSupported;
  4630.     CLSID clsid;
  4631.     DWORD grfStateBits;
  4632.     DWORD reserved;
  4633.     }   STATSTG;
  4634.  
  4635.             /* size is 2 */
  4636. typedef 
  4637. enum tagSTGTY
  4638.     {   STGTY_STORAGE   = 1,
  4639.     STGTY_STREAM    = 2,
  4640.     STGTY_LOCKBYTES = 3,
  4641.     STGTY_PROPERTY  = 4
  4642.     }   STGTY;
  4643.  
  4644.             /* size is 2 */
  4645. typedef 
  4646. enum tagSTREAM_SEEK
  4647.     {   STREAM_SEEK_SET = 0,
  4648.     STREAM_SEEK_CUR = 1,
  4649.     STREAM_SEEK_END = 2
  4650.     }   STREAM_SEEK;
  4651.  
  4652.             /* size is 2 */
  4653. typedef 
  4654. enum tagLOCKTYPE
  4655.     {   LOCK_WRITE      = 1,
  4656.     LOCK_EXCLUSIVE  = 2,
  4657.     LOCK_ONLYONCE   = 4
  4658.     }   LOCKTYPE;
  4659.  
  4660.  
  4661. EXTERN_C const IID IID_IStream;
  4662.  
  4663. #if defined(__cplusplus) && !defined(CINTERFACE)
  4664.     
  4665.     interface IStream : public IUnknown
  4666.     {
  4667.     public:
  4668.     virtual /* [local] */ HRESULT __stdcall Read( 
  4669.         /* [out] */ void __RPC_FAR *pv,
  4670.         /* [in] */ ULONG cb,
  4671.         /* [out] */ ULONG __RPC_FAR *pcbRead) = 0;
  4672.     
  4673.     virtual /* [local] */ HRESULT __stdcall Write( 
  4674.         /* [size_is][in] */ const void __RPC_FAR *pv,
  4675.         /* [in] */ ULONG cb,
  4676.         /* [out] */ ULONG __RPC_FAR *pcbWritten) = 0;
  4677.     
  4678.     virtual /* [local] */ HRESULT __stdcall Seek( 
  4679.         /* [in] */ LARGE_INTEGER dlibMove,
  4680.         /* [in] */ DWORD dwOrigin,
  4681.         /* [out] */ ULARGE_INTEGER __RPC_FAR *plibNewPosition) = 0;
  4682.     
  4683.     virtual HRESULT __stdcall SetSize( 
  4684.         /* [in] */ ULARGE_INTEGER libNewSize) = 0;
  4685.     
  4686.     virtual /* [local] */ HRESULT __stdcall CopyTo( 
  4687.         /* [unique][in] */ IStream __RPC_FAR *pstm,
  4688.         /* [in] */ ULARGE_INTEGER cb,
  4689.         /* [out] */ ULARGE_INTEGER __RPC_FAR *pcbRead,
  4690.         /* [out] */ ULARGE_INTEGER __RPC_FAR *pcbWritten) = 0;
  4691.     
  4692.     virtual HRESULT __stdcall Commit( 
  4693.         /* [in] */ DWORD grfCommitFlags) = 0;
  4694.     
  4695.     virtual HRESULT __stdcall Revert( void) = 0;
  4696.     
  4697.     virtual HRESULT __stdcall LockRegion( 
  4698.         /* [in] */ ULARGE_INTEGER libOffset,
  4699.         /* [in] */ ULARGE_INTEGER cb,
  4700.         /* [in] */ DWORD dwLockType) = 0;
  4701.     
  4702.     virtual HRESULT __stdcall UnlockRegion( 
  4703.         /* [in] */ ULARGE_INTEGER libOffset,
  4704.         /* [in] */ ULARGE_INTEGER cb,
  4705.         /* [in] */ DWORD dwLockType) = 0;
  4706.     
  4707.     virtual HRESULT __stdcall Stat( 
  4708.         /* [out] */ STATSTG __RPC_FAR *pstatstg,
  4709.         /* [in] */ DWORD grfStatFlag) = 0;
  4710.     
  4711.     virtual HRESULT __stdcall Clone( 
  4712.         /* [out] */ IStream __RPC_FAR *__RPC_FAR *ppstm) = 0;
  4713.     
  4714.     };
  4715.     
  4716. #else   /* C style interface */
  4717.     
  4718.     typedef struct IStreamVtbl
  4719.     {
  4720.     
  4721.     HRESULT ( __stdcall __RPC_FAR *QueryInterface )( 
  4722.         IStream __RPC_FAR * This,
  4723.         /* [in] */ REFIID riid,
  4724.         /* [out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  4725.     
  4726.     ULONG ( __stdcall __RPC_FAR *AddRef )( 
  4727.         IStream __RPC_FAR * This);
  4728.     
  4729.     ULONG ( __stdcall __RPC_FAR *Release )( 
  4730.         IStream __RPC_FAR * This);
  4731.     
  4732.     /* [local] */ HRESULT ( __stdcall __RPC_FAR *Read )( 
  4733.         IStream __RPC_FAR * This,
  4734.         /* [out] */ void __RPC_FAR *pv,
  4735.         /* [in] */ ULONG cb,
  4736.         /* [out] */ ULONG __RPC_FAR *pcbRead);
  4737.     
  4738.     /* [local] */ HRESULT ( __stdcall __RPC_FAR *Write )( 
  4739.         IStream __RPC_FAR * This,
  4740.         /* [size_is][in] */ const void __RPC_FAR *pv,
  4741.         /* [in] */ ULONG cb,
  4742.         /* [out] */ ULONG __RPC_FAR *pcbWritten);
  4743.     
  4744.     /* [local] */ HRESULT ( __stdcall __RPC_FAR *Seek )( 
  4745.         IStream __RPC_FAR * This,
  4746.         /* [in] */ LARGE_INTEGER dlibMove,
  4747.         /* [in] */ DWORD dwOrigin,
  4748.         /* [out] */ ULARGE_INTEGER __RPC_FAR *plibNewPosition);
  4749.     
  4750.     HRESULT ( __stdcall __RPC_FAR *SetSize )( 
  4751.         IStream __RPC_FAR * This,
  4752.         /* [in] */ ULARGE_INTEGER libNewSize);
  4753.     
  4754.     /* [local] */ HRESULT ( __stdcall __RPC_FAR *CopyTo )( 
  4755.         IStream __RPC_FAR * This,
  4756.         /* [unique][in] */ IStream __RPC_FAR *pstm,
  4757.         /* [in] */ ULARGE_INTEGER cb,
  4758.         /* [out] */ ULARGE_INTEGER __RPC_FAR *pcbRead,
  4759.         /* [out] */ ULARGE_INTEGER __RPC_FAR *pcbWritten);
  4760.     
  4761.     HRESULT ( __stdcall __RPC_FAR *Commit )( 
  4762.         IStream __RPC_FAR * This,
  4763.         /* [in] */ DWORD grfCommitFlags);
  4764.     
  4765.     HRESULT ( __stdcall __RPC_FAR *Revert )( 
  4766.         IStream __RPC_FAR * This);
  4767.     
  4768.     HRESULT ( __stdcall __RPC_FAR *LockRegion )( 
  4769.         IStream __RPC_FAR * This,
  4770.         /* [in] */ ULARGE_INTEGER libOffset,
  4771.         /* [in] */ ULARGE_INTEGER cb,
  4772.         /* [in] */ DWORD dwLockType);
  4773.     
  4774.     HRESULT ( __stdcall __RPC_FAR *UnlockRegion )( 
  4775.         IStream __RPC_FAR * This,
  4776.         /* [in] */ ULARGE_INTEGER libOffset,
  4777.         /* [in] */ ULARGE_INTEGER cb,
  4778.         /* [in] */ DWORD dwLockType);
  4779.     
  4780.     HRESULT ( __stdcall __RPC_FAR *Stat )( 
  4781.         IStream __RPC_FAR * This,
  4782.         /* [out] */ STATSTG __RPC_FAR *pstatstg,
  4783.         /* [in] */ DWORD grfStatFlag);
  4784.     
  4785.     HRESULT ( __stdcall __RPC_FAR *Clone )( 
  4786.         IStream __RPC_FAR * This,
  4787.         /* [out] */ IStream __RPC_FAR *__RPC_FAR *ppstm);
  4788.     
  4789.     } IStreamVtbl;
  4790.     
  4791.     interface IStream
  4792.     {
  4793.     CONST_VTBL struct IStreamVtbl __RPC_FAR *lpVtbl;
  4794.     };
  4795.     
  4796.     
  4797.  
  4798. #ifdef COBJMACROS
  4799.  
  4800.  
  4801. #define IStream_QueryInterface(This,riid,ppvObject)     \
  4802.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4803.  
  4804. #define IStream_AddRef(This)    \
  4805.     (This)->lpVtbl -> AddRef(This)
  4806.  
  4807. #define IStream_Release(This)   \
  4808.     (This)->lpVtbl -> Release(This)
  4809.  
  4810.  
  4811. #define IStream_Read(This,pv,cb,pcbRead)        \
  4812.     (This)->lpVtbl -> Read(This,pv,cb,pcbRead)
  4813.  
  4814. #define IStream_Write(This,pv,cb,pcbWritten)    \
  4815.     (This)->lpVtbl -> Write(This,pv,cb,pcbWritten)
  4816.  
  4817. #define IStream_Seek(This,dlibMove,dwOrigin,plibNewPosition)    \
  4818.     (This)->lpVtbl -> Seek(This,dlibMove,dwOrigin,plibNewPosition)
  4819.  
  4820. #define IStream_SetSize(This,libNewSize)        \
  4821.     (This)->lpVtbl -> SetSize(This,libNewSize)
  4822.  
  4823. #define IStream_CopyTo(This,pstm,cb,pcbRead,pcbWritten) \
  4824.     (This)->lpVtbl -> CopyTo(This,pstm,cb,pcbRead,pcbWritten)
  4825.  
  4826. #define IStream_Commit(This,grfCommitFlags)     \
  4827.     (This)->lpVtbl -> Commit(This,grfCommitFlags)
  4828.  
  4829. #define IStream_Revert(This)    \
  4830.     (This)->lpVtbl -> Revert(This)
  4831.  
  4832. #define IStream_LockRegion(This,libOffset,cb,dwLockType)        \
  4833.     (This)->lpVtbl -> LockRegion(This,libOffset,cb,dwLockType)
  4834.  
  4835. #define IStream_UnlockRegion(This,libOffset,cb,dwLockType)      \
  4836.     (This)->lpVtbl -> UnlockRegion(This,libOffset,cb,dwLockType)
  4837.  
  4838. #define IStream_Stat(This,pstatstg,grfStatFlag) \
  4839.     (This)->lpVtbl -> Stat(This,pstatstg,grfStatFlag)
  4840.  
  4841. #define IStream_Clone(This,ppstm)       \
  4842.     (This)->lpVtbl -> Clone(This,ppstm)
  4843.  
  4844. #endif /* COBJMACROS */
  4845.  
  4846.  
  4847. #endif  /* C style interface */
  4848.  
  4849.  
  4850.  
  4851. /* [call_as] */ HRESULT __stdcall IStream_RemoteRead_Proxy( 
  4852.     IStream __RPC_FAR * This,
  4853.     /* [length_is][size_is][out] */ byte __RPC_FAR *pv,
  4854.     /* [in] */ ULONG cb,
  4855.     /* [out] */ ULONG __RPC_FAR *pcbRead);
  4856.  
  4857.  
  4858. void __RPC_STUB IStream_RemoteRead_Stub(
  4859.     IRpcStubBuffer *This,
  4860.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4861.     PRPC_MESSAGE _pRpcMessage,
  4862.     DWORD *_pdwStubPhase);
  4863.  
  4864.  
  4865. /* [call_as] */ HRESULT __stdcall IStream_RemoteWrite_Proxy( 
  4866.     IStream __RPC_FAR * This,
  4867.     /* [size_is][in] */ const byte __RPC_FAR *pv,
  4868.     /* [in] */ ULONG cb,
  4869.     /* [out] */ ULONG __RPC_FAR *pcbWritten);
  4870.  
  4871.  
  4872. void __RPC_STUB IStream_RemoteWrite_Stub(
  4873.     IRpcStubBuffer *This,
  4874.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4875.     PRPC_MESSAGE _pRpcMessage,
  4876.     DWORD *_pdwStubPhase);
  4877.  
  4878.  
  4879. /* [call_as] */ HRESULT __stdcall IStream_RemoteSeek_Proxy( 
  4880.     IStream __RPC_FAR * This,
  4881.     /* [in] */ LARGE_INTEGER dlibMove,
  4882.     /* [in] */ DWORD dwOrigin,
  4883.     /* [out] */ ULARGE_INTEGER __RPC_FAR *plibNewPosition);
  4884.  
  4885.  
  4886. void __RPC_STUB IStream_RemoteSeek_Stub(
  4887.     IRpcStubBuffer *This,
  4888.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4889.     PRPC_MESSAGE _pRpcMessage,
  4890.     DWORD *_pdwStubPhase);
  4891.  
  4892.  
  4893. HRESULT __stdcall IStream_SetSize_Proxy( 
  4894.     IStream __RPC_FAR * This,
  4895.     /* [in] */ ULARGE_INTEGER libNewSize);
  4896.  
  4897.  
  4898. void __RPC_STUB IStream_SetSize_Stub(
  4899.     IRpcStubBuffer *This,
  4900.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4901.     PRPC_MESSAGE _pRpcMessage,
  4902.     DWORD *_pdwStubPhase);
  4903.  
  4904.  
  4905. /* [call_as] */ HRESULT __stdcall IStream_RemoteCopyTo_Proxy( 
  4906.     IStream __RPC_FAR * This,
  4907.     /* [unique][in] */ IStream __RPC_FAR *pstm,
  4908.     /* [in] */ ULARGE_INTEGER cb,
  4909.     /* [out] */ ULARGE_INTEGER __RPC_FAR *pcbRead,
  4910.     /* [out] */ ULARGE_INTEGER __RPC_FAR *pcbWritten);
  4911.  
  4912.  
  4913. void __RPC_STUB IStream_RemoteCopyTo_Stub(
  4914.     IRpcStubBuffer *This,
  4915.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4916.     PRPC_MESSAGE _pRpcMessage,
  4917.     DWORD *_pdwStubPhase);
  4918.  
  4919.  
  4920. HRESULT __stdcall IStream_Commit_Proxy( 
  4921.     IStream __RPC_FAR * This,
  4922.     /* [in] */ DWORD grfCommitFlags);
  4923.  
  4924.  
  4925. void __RPC_STUB IStream_Commit_Stub(
  4926.     IRpcStubBuffer *This,
  4927.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4928.     PRPC_MESSAGE _pRpcMessage,
  4929.     DWORD *_pdwStubPhase);
  4930.  
  4931.  
  4932. HRESULT __stdcall IStream_Revert_Proxy( 
  4933.     IStream __RPC_FAR * This);
  4934.  
  4935.  
  4936. void __RPC_STUB IStream_Revert_Stub(
  4937.     IRpcStubBuffer *This,
  4938.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4939.     PRPC_MESSAGE _pRpcMessage,
  4940.     DWORD *_pdwStubPhase);
  4941.  
  4942.  
  4943. HRESULT __stdcall IStream_LockRegion_Proxy( 
  4944.     IStream __RPC_FAR * This,
  4945.     /* [in] */ ULARGE_INTEGER libOffset,
  4946.     /* [in] */ ULARGE_INTEGER cb,
  4947.     /* [in] */ DWORD dwLockType);
  4948.  
  4949.  
  4950. void __RPC_STUB IStream_LockRegion_Stub(
  4951.     IRpcStubBuffer *This,
  4952.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4953.     PRPC_MESSAGE _pRpcMessage,
  4954.     DWORD *_pdwStubPhase);
  4955.  
  4956.  
  4957. HRESULT __stdcall IStream_UnlockRegion_Proxy( 
  4958.     IStream __RPC_FAR * This,
  4959.     /* [in] */ ULARGE_INTEGER libOffset,
  4960.     /* [in] */ ULARGE_INTEGER cb,
  4961.     /* [in] */ DWORD dwLockType);
  4962.  
  4963.  
  4964. void __RPC_STUB IStream_UnlockRegion_Stub(
  4965.     IRpcStubBuffer *This,
  4966.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4967.     PRPC_MESSAGE _pRpcMessage,
  4968.     DWORD *_pdwStubPhase);
  4969.  
  4970.  
  4971. HRESULT __stdcall IStream_Stat_Proxy( 
  4972.     IStream __RPC_FAR * This,
  4973.     /* [out] */ STATSTG __RPC_FAR *pstatstg,
  4974.     /* [in] */ DWORD grfStatFlag);
  4975.  
  4976.  
  4977. void __RPC_STUB IStream_Stat_Stub(
  4978.     IRpcStubBuffer *This,
  4979.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4980.     PRPC_MESSAGE _pRpcMessage,
  4981.     DWORD *_pdwStubPhase);
  4982.  
  4983.  
  4984. HRESULT __stdcall IStream_Clone_Proxy( 
  4985.     IStream __RPC_FAR * This,
  4986.     /* [out] */ IStream __RPC_FAR *__RPC_FAR *ppstm);
  4987.  
  4988.  
  4989. void __RPC_STUB IStream_Clone_Stub(
  4990.     IRpcStubBuffer *This,
  4991.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4992.     PRPC_MESSAGE _pRpcMessage,
  4993.     DWORD *_pdwStubPhase);
  4994.  
  4995.  
  4996.  
  4997. #endif  /* __IStream_INTERFACE_DEFINED__ */
  4998.  
  4999.  
  5000. #ifndef __IEnumSTATSTG_INTERFACE_DEFINED__
  5001. #define __IEnumSTATSTG_INTERFACE_DEFINED__
  5002.  
  5003. /****************************************
  5004.  * Generated header for interface: IEnumSTATSTG
  5005.  * at Fri Sep 02 18:12:06 1994
  5006.  * using MIDL 2.00.71
  5007.  ****************************************/
  5008. /* [unique][uuid][object] */ 
  5009.  
  5010.  
  5011.             /* size is 4 */
  5012. typedef /* [unique] */ IEnumSTATSTG __RPC_FAR *LPENUMSTATSTG;
  5013.  
  5014.  
  5015. EXTERN_C const IID IID_IEnumSTATSTG;
  5016.  
  5017. #if defined(__cplusplus) && !defined(CINTERFACE)
  5018.     
  5019.     interface IEnumSTATSTG : public IUnknown
  5020.     {
  5021.     public:
  5022.     virtual /* [local] */ HRESULT __stdcall Next( 
  5023.         /* [in] */ ULONG celt,
  5024.         /* [in] */ STATSTG __RPC_FAR *rgelt,
  5025.         /* [out] */ ULONG __RPC_FAR *pceltFetched) = 0;
  5026.     
  5027.     virtual HRESULT __stdcall Skip( 
  5028.         /* [in] */ ULONG celt) = 0;
  5029.     
  5030.     virtual HRESULT __stdcall Reset( void) = 0;
  5031.     
  5032.     virtual HRESULT __stdcall Clone( 
  5033.         /* [out] */ IEnumSTATSTG __RPC_FAR *__RPC_FAR *ppenum) = 0;
  5034.     
  5035.     };
  5036.     
  5037. #else   /* C style interface */
  5038.     
  5039.     typedef struct IEnumSTATSTGVtbl
  5040.     {
  5041.     
  5042.     HRESULT ( __stdcall __RPC_FAR *QueryInterface )( 
  5043.         IEnumSTATSTG __RPC_FAR * This,
  5044.         /* [in] */ REFIID riid,
  5045.         /* [out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  5046.     
  5047.     ULONG ( __stdcall __RPC_FAR *AddRef )( 
  5048.         IEnumSTATSTG __RPC_FAR * This);
  5049.     
  5050.     ULONG ( __stdcall __RPC_FAR *Release )( 
  5051.         IEnumSTATSTG __RPC_FAR * This);
  5052.     
  5053.     /* [local] */ HRESULT ( __stdcall __RPC_FAR *Next )( 
  5054.         IEnumSTATSTG __RPC_FAR * This,
  5055.         /* [in] */ ULONG celt,
  5056.         /* [in] */ STATSTG __RPC_FAR *rgelt,
  5057.         /* [out] */ ULONG __RPC_FAR *pceltFetched);
  5058.     
  5059.     HRESULT ( __stdcall __RPC_FAR *Skip )( 
  5060.         IEnumSTATSTG __RPC_FAR * This,
  5061.         /* [in] */ ULONG celt);
  5062.     
  5063.     HRESULT ( __stdcall __RPC_FAR *Reset )( 
  5064.         IEnumSTATSTG __RPC_FAR * This);
  5065.     
  5066.     HRESULT ( __stdcall __RPC_FAR *Clone )( 
  5067.         IEnumSTATSTG __RPC_FAR * This,
  5068.         /* [out] */ IEnumSTATSTG __RPC_FAR *__RPC_FAR *ppenum);
  5069.     
  5070.     } IEnumSTATSTGVtbl;
  5071.     
  5072.     interface IEnumSTATSTG
  5073.     {
  5074.     CONST_VTBL struct IEnumSTATSTGVtbl __RPC_FAR *lpVtbl;
  5075.     };
  5076.     
  5077.     
  5078.  
  5079. #ifdef COBJMACROS
  5080.  
  5081.  
  5082. #define IEnumSTATSTG_QueryInterface(This,riid,ppvObject)        \
  5083.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  5084.  
  5085. #define IEnumSTATSTG_AddRef(This)       \
  5086.     (This)->lpVtbl -> AddRef(This)
  5087.  
  5088. #define IEnumSTATSTG_Release(This)      \
  5089.     (This)->lpVtbl -> Release(This)
  5090.  
  5091.  
  5092. #define IEnumSTATSTG_Next(This,celt,rgelt,pceltFetched) \
  5093.     (This)->lpVtbl -> Next(This,celt,rgelt,pceltFetched)
  5094.  
  5095. #define IEnumSTATSTG_Skip(This,celt)    \
  5096.     (This)->lpVtbl -> Skip(This,celt)
  5097.  
  5098. #define IEnumSTATSTG_Reset(This)        \
  5099.     (This)->lpVtbl -> Reset(This)
  5100.  
  5101. #define IEnumSTATSTG_Clone(This,ppenum) \
  5102.     (This)->lpVtbl -> Clone(This,ppenum)
  5103.  
  5104. #endif /* COBJMACROS */
  5105.  
  5106.  
  5107. #endif  /* C style interface */
  5108.  
  5109.  
  5110.  
  5111. /* [call_as] */ HRESULT __stdcall IEnumSTATSTG_RemoteNext_Proxy( 
  5112.     IEnumSTATSTG __RPC_FAR * This,
  5113.     /* [in] */ ULONG celt,
  5114.     /* [length_is][size_is][out] */ STATSTG __RPC_FAR *rgelt,
  5115.     /* [out] */ ULONG __RPC_FAR *pceltFetched);
  5116.  
  5117.  
  5118. void __RPC_STUB IEnumSTATSTG_RemoteNext_Stub(
  5119.     IRpcStubBuffer *This,
  5120.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5121.     PRPC_MESSAGE _pRpcMessage,
  5122.     DWORD *_pdwStubPhase);
  5123.  
  5124.  
  5125. HRESULT __stdcall IEnumSTATSTG_Skip_Proxy( 
  5126.     IEnumSTATSTG __RPC_FAR * This,
  5127.     /* [in] */ ULONG celt);
  5128.  
  5129.  
  5130. void __RPC_STUB IEnumSTATSTG_Skip_Stub(
  5131.     IRpcStubBuffer *This,
  5132.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5133.     PRPC_MESSAGE _pRpcMessage,
  5134.     DWORD *_pdwStubPhase);
  5135.  
  5136.  
  5137. HRESULT __stdcall IEnumSTATSTG_Reset_Proxy( 
  5138.     IEnumSTATSTG __RPC_FAR * This);
  5139.  
  5140.  
  5141. void __RPC_STUB IEnumSTATSTG_Reset_Stub(
  5142.     IRpcStubBuffer *This,
  5143.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5144.     PRPC_MESSAGE _pRpcMessage,
  5145.     DWORD *_pdwStubPhase);
  5146.  
  5147.  
  5148. HRESULT __stdcall IEnumSTATSTG_Clone_Proxy( 
  5149.     IEnumSTATSTG __RPC_FAR * This,
  5150.     /* [out] */ IEnumSTATSTG __RPC_FAR *__RPC_FAR *ppenum);
  5151.  
  5152.  
  5153. void __RPC_STUB IEnumSTATSTG_Clone_Stub(
  5154.     IRpcStubBuffer *This,
  5155.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5156.     PRPC_MESSAGE _pRpcMessage,
  5157.     DWORD *_pdwStubPhase);
  5158.  
  5159.  
  5160.  
  5161. #endif  /* __IEnumSTATSTG_INTERFACE_DEFINED__ */
  5162.  
  5163.  
  5164. #ifndef __IStorage_INTERFACE_DEFINED__
  5165. #define __IStorage_INTERFACE_DEFINED__
  5166.  
  5167. /****************************************
  5168.  * Generated header for interface: IStorage
  5169.  * at Fri Sep 02 18:12:06 1994
  5170.  * using MIDL 2.00.71
  5171.  ****************************************/
  5172. /* [unique][uuid][object] */ 
  5173.  
  5174.  
  5175.             /* size is 4 */
  5176. typedef /* [unique] */ IStorage __RPC_FAR *LPSTORAGE;
  5177.  
  5178.             /* size is 8 */
  5179. typedef struct  tagRemSNB
  5180.     {
  5181.     unsigned long ulCntStr;
  5182.     unsigned long ulCntChar;
  5183.     /* [size_is] */ OLECHAR rgString[ 1 ];
  5184.     }   RemSNB;
  5185.  
  5186.             /* size is 4 */
  5187. typedef /* [transmit] */ OLECHAR __RPC_FAR *__RPC_FAR *SNB;
  5188.  
  5189.  
  5190. EXTERN_C const IID IID_IStorage;
  5191.  
  5192. #if defined(__cplusplus) && !defined(CINTERFACE)
  5193.     
  5194.     interface IStorage : public IUnknown
  5195.     {
  5196.     public:
  5197.     virtual HRESULT __stdcall CreateStream( 
  5198.         /* [string][in] */ const OLECHAR __RPC_FAR *pwcsName,
  5199.         /* [in] */ DWORD grfMode,
  5200.         /* [in] */ DWORD reserved1,
  5201.         /* [in] */ DWORD reserved2,
  5202.         /* [out] */ IStream __RPC_FAR *__RPC_FAR *ppstm) = 0;
  5203.     
  5204.     virtual /* [local] */ HRESULT __stdcall OpenStream( 
  5205.         /* [string][in] */ const OLECHAR __RPC_FAR *pwcsName,
  5206.         /* [unique][in] */ void __RPC_FAR *reserved1,
  5207.         /* [in] */ DWORD grfMode,
  5208.         /* [in] */ DWORD reserved2,
  5209.         /* [out] */ IStream __RPC_FAR *__RPC_FAR *ppstm) = 0;
  5210.     
  5211.     virtual HRESULT __stdcall CreateStorage( 
  5212.         /* [string][in] */ const OLECHAR __RPC_FAR *pwcsName,
  5213.         /* [in] */ DWORD grfMode,
  5214.         /* [in] */ DWORD dwStgFmt,
  5215.         /* [in] */ DWORD reserved2,
  5216.         /* [out] */ IStorage __RPC_FAR *__RPC_FAR *ppstg) = 0;
  5217.     
  5218.     virtual HRESULT __stdcall OpenStorage( 
  5219.         /* [string][unique][in] */ const OLECHAR __RPC_FAR *pwcsName,
  5220.         /* [unique][in] */ IStorage __RPC_FAR *pstgPriority,
  5221.         /* [in] */ DWORD grfMode,
  5222.         /* [unique][in] */ SNB snbExclude,
  5223.         /* [in] */ DWORD reserved,
  5224.         /* [out] */ IStorage __RPC_FAR *__RPC_FAR *ppstg) = 0;
  5225.     
  5226.     virtual HRESULT __stdcall CopyTo( 
  5227.         /* [in] */ DWORD ciidExclude,
  5228.         /* [size_is][unique][in] */ const IID __RPC_FAR *rgiidExclude,
  5229.         /* [unique][in] */ SNB snbExclude,
  5230.         /* [unique][in] */ IStorage __RPC_FAR *pstgDest) = 0;
  5231.     
  5232.     virtual HRESULT __stdcall MoveElementTo( 
  5233.         /* [string][in] */ const OLECHAR __RPC_FAR *pwcsName,
  5234.         /* [unique][in] */ IStorage __RPC_FAR *pstgDest,
  5235.         /* [string][in] */ const OLECHAR __RPC_FAR *pwcsNewName,
  5236.         /* [in] */ DWORD grfFlags) = 0;
  5237.     
  5238.     virtual HRESULT __stdcall Commit( 
  5239.         /* [in] */ DWORD grfCommitFlags) = 0;
  5240.     
  5241.     virtual HRESULT __stdcall Revert( void) = 0;
  5242.     
  5243.     virtual /* [local] */ HRESULT __stdcall EnumElements( 
  5244.         /* [in] */ DWORD reserved1,
  5245.         /* [size_is][unique][in] */ void __RPC_FAR *reserved2,
  5246.         /* [in] */ DWORD reserved3,
  5247.         /* [out] */ IEnumSTATSTG __RPC_FAR *__RPC_FAR *ppenum) = 0;
  5248.     
  5249.     virtual HRESULT __stdcall DestroyElement( 
  5250.         /* [string][in] */ const OLECHAR __RPC_FAR *pwcsName) = 0;
  5251.     
  5252.     virtual HRESULT __stdcall RenameElement( 
  5253.         /* [string][in] */ const OLECHAR __RPC_FAR *pwcsOldName,
  5254.         /* [string][in] */ const OLECHAR __RPC_FAR *pwcsNewName) = 0;
  5255.     
  5256.     virtual HRESULT __stdcall SetElementTimes( 
  5257.         /* [string][in] */ const OLECHAR __RPC_FAR *pwcsName,
  5258.         /* [in] */ const FILETIME __RPC_FAR *pctime,
  5259.         /* [in] */ const FILETIME __RPC_FAR *patime,
  5260.         /* [in] */ const FILETIME __RPC_FAR *pmtime) = 0;
  5261.     
  5262.     virtual HRESULT __stdcall SetClass( 
  5263.         /* [in] */ REFCLSID clsid) = 0;
  5264.     
  5265.     virtual HRESULT __stdcall SetStateBits( 
  5266.         /* [in] */ DWORD grfStateBits,
  5267.         /* [in] */ DWORD grfMask) = 0;
  5268.     
  5269.     virtual HRESULT __stdcall Stat( 
  5270.         /* [out] */ STATSTG __RPC_FAR *pstatstg,
  5271.         /* [in] */ DWORD grfStatFlag) = 0;
  5272.     
  5273.     };
  5274.     
  5275. #else   /* C style interface */
  5276.     
  5277.     typedef struct IStorageVtbl
  5278.     {
  5279.     
  5280.     HRESULT ( __stdcall __RPC_FAR *QueryInterface )( 
  5281.         IStorage __RPC_FAR * This,
  5282.         /* [in] */ REFIID riid,
  5283.         /* [out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  5284.     
  5285.     ULONG ( __stdcall __RPC_FAR *AddRef )( 
  5286.         IStorage __RPC_FAR * This);
  5287.     
  5288.     ULONG ( __stdcall __RPC_FAR *Release )( 
  5289.         IStorage __RPC_FAR * This);
  5290.     
  5291.     HRESULT ( __stdcall __RPC_FAR *CreateStream )( 
  5292.         IStorage __RPC_FAR * This,
  5293.         /* [string][in] */ const OLECHAR __RPC_FAR *pwcsName,
  5294.         /* [in] */ DWORD grfMode,
  5295.         /* [in] */ DWORD reserved1,
  5296.         /* [in] */ DWORD reserved2,
  5297.         /* [out] */ IStream __RPC_FAR *__RPC_FAR *ppstm);
  5298.     
  5299.     /* [local] */ HRESULT ( __stdcall __RPC_FAR *OpenStream )( 
  5300.         IStorage __RPC_FAR * This,
  5301.         /* [string][in] */ const OLECHAR __RPC_FAR *pwcsName,
  5302.         /* [unique][in] */ void __RPC_FAR *reserved1,
  5303.         /* [in] */ DWORD grfMode,
  5304.         /* [in] */ DWORD reserved2,
  5305.         /* [out] */ IStream __RPC_FAR *__RPC_FAR *ppstm);
  5306.     
  5307.     HRESULT ( __stdcall __RPC_FAR *CreateStorage )( 
  5308.         IStorage __RPC_FAR * This,
  5309.         /* [string][in] */ const OLECHAR __RPC_FAR *pwcsName,
  5310.         /* [in] */ DWORD grfMode,
  5311.         /* [in] */ DWORD dwStgFmt,
  5312.         /* [in] */ DWORD reserved2,
  5313.         /* [out] */ IStorage __RPC_FAR *__RPC_FAR *ppstg);
  5314.     
  5315.     HRESULT ( __stdcall __RPC_FAR *OpenStorage )( 
  5316.         IStorage __RPC_FAR * This,
  5317.         /* [string][unique][in] */ const OLECHAR __RPC_FAR *pwcsName,
  5318.         /* [unique][in] */ IStorage __RPC_FAR *pstgPriority,
  5319.         /* [in] */ DWORD grfMode,
  5320.         /* [unique][in] */ SNB snbExclude,
  5321.         /* [in] */ DWORD reserved,
  5322.         /* [out] */ IStorage __RPC_FAR *__RPC_FAR *ppstg);
  5323.     
  5324.     HRESULT ( __stdcall __RPC_FAR *CopyTo )( 
  5325.         IStorage __RPC_FAR * This,
  5326.         /* [in] */ DWORD ciidExclude,
  5327.         /* [size_is][unique][in] */ const IID __RPC_FAR *rgiidExclude,
  5328.         /* [unique][in] */ SNB snbExclude,
  5329.         /* [unique][in] */ IStorage __RPC_FAR *pstgDest);
  5330.     
  5331.     HRESULT ( __stdcall __RPC_FAR *MoveElementTo )( 
  5332.         IStorage __RPC_FAR * This,
  5333.         /* [string][in] */ const OLECHAR __RPC_FAR *pwcsName,
  5334.         /* [unique][in] */ IStorage __RPC_FAR *pstgDest,
  5335.         /* [string][in] */ const OLECHAR __RPC_FAR *pwcsNewName,
  5336.         /* [in] */ DWORD grfFlags);
  5337.     
  5338.     HRESULT ( __stdcall __RPC_FAR *Commit )( 
  5339.         IStorage __RPC_FAR * This,
  5340.         /* [in] */ DWORD grfCommitFlags);
  5341.     
  5342.     HRESULT ( __stdcall __RPC_FAR *Revert )( 
  5343.         IStorage __RPC_FAR * This);
  5344.     
  5345.     /* [local] */ HRESULT ( __stdcall __RPC_FAR *EnumElements )( 
  5346.         IStorage __RPC_FAR * This,
  5347.         /* [in] */ DWORD reserved1,
  5348.         /* [size_is][unique][in] */ void __RPC_FAR *reserved2,
  5349.         /* [in] */ DWORD reserved3,
  5350.         /* [out] */ IEnumSTATSTG __RPC_FAR *__RPC_FAR *ppenum);
  5351.     
  5352.     HRESULT ( __stdcall __RPC_FAR *DestroyElement )( 
  5353.         IStorage __RPC_FAR * This,
  5354.         /* [string][in] */ const OLECHAR __RPC_FAR *pwcsName);
  5355.     
  5356.     HRESULT ( __stdcall __RPC_FAR *RenameElement )( 
  5357.         IStorage __RPC_FAR * This,
  5358.         /* [string][in] */ const OLECHAR __RPC_FAR *pwcsOldName,
  5359.         /* [string][in] */ const OLECHAR __RPC_FAR *pwcsNewName);
  5360.     
  5361.     HRESULT ( __stdcall __RPC_FAR *SetElementTimes )( 
  5362.         IStorage __RPC_FAR * This,
  5363.         /* [string][in] */ const OLECHAR __RPC_FAR *pwcsName,
  5364.         /* [in] */ const FILETIME __RPC_FAR *pctime,
  5365.         /* [in] */ const FILETIME __RPC_FAR *patime,
  5366.         /* [in] */ const FILETIME __RPC_FAR *pmtime);
  5367.     
  5368.     HRESULT ( __stdcall __RPC_FAR *SetClass )( 
  5369.         IStorage __RPC_FAR * This,
  5370.         /* [in] */ REFCLSID clsid);
  5371.     
  5372.     HRESULT ( __stdcall __RPC_FAR *SetStateBits )( 
  5373.         IStorage __RPC_FAR * This,
  5374.         /* [in] */ DWORD grfStateBits,
  5375.         /* [in] */ DWORD grfMask);
  5376.     
  5377.     HRESULT ( __stdcall __RPC_FAR *Stat )( 
  5378.         IStorage __RPC_FAR * This,
  5379.         /* [out] */ STATSTG __RPC_FAR *pstatstg,
  5380.         /* [in] */ DWORD grfStatFlag);
  5381.     
  5382.     } IStorageVtbl;
  5383.     
  5384.     interface IStorage
  5385.     {
  5386.     CONST_VTBL struct IStorageVtbl __RPC_FAR *lpVtbl;
  5387.     };
  5388.     
  5389.     
  5390.  
  5391. #ifdef COBJMACROS
  5392.  
  5393.  
  5394. #define IStorage_QueryInterface(This,riid,ppvObject)    \
  5395.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  5396.  
  5397. #define IStorage_AddRef(This)   \
  5398.     (This)->lpVtbl -> AddRef(This)
  5399.  
  5400. #define IStorage_Release(This)  \
  5401.     (This)->lpVtbl -> Release(This)
  5402.  
  5403.  
  5404. #define IStorage_CreateStream(This,pwcsName,grfMode,reserved1,reserved2,ppstm)  \
  5405.     (This)->lpVtbl -> CreateStream(This,pwcsName,grfMode,reserved1,reserved2,ppstm)
  5406.  
  5407. #define IStorage_OpenStream(This,pwcsName,reserved1,grfMode,reserved2,ppstm)    \
  5408.     (This)->lpVtbl -> OpenStream(This,pwcsName,reserved1,grfMode,reserved2,ppstm)
  5409.  
  5410. #define IStorage_CreateStorage(This,pwcsName,grfMode,dwStgFmt,reserved2,ppstg)  \
  5411.     (This)->lpVtbl -> CreateStorage(This,pwcsName,grfMode,dwStgFmt,reserved2,ppstg)
  5412.  
  5413. #define IStorage_OpenStorage(This,pwcsName,pstgPriority,grfMode,snbExclude,reserved,ppstg)      \
  5414.     (This)->lpVtbl -> OpenStorage(This,pwcsName,pstgPriority,grfMode,snbExclude,reserved,ppstg)
  5415.  
  5416. #define IStorage_CopyTo(This,ciidExclude,rgiidExclude,snbExclude,pstgDest)      \
  5417.     (This)->lpVtbl -> CopyTo(This,ciidExclude,rgiidExclude,snbExclude,pstgDest)
  5418.  
  5419. #define IStorage_MoveElementTo(This,pwcsName,pstgDest,pwcsNewName,grfFlags)     \
  5420.     (This)->lpVtbl -> MoveElementTo(This,pwcsName,pstgDest,pwcsNewName,grfFlags)
  5421.  
  5422. #define IStorage_Commit(This,grfCommitFlags)    \
  5423.     (This)->lpVtbl -> Commit(This,grfCommitFlags)
  5424.  
  5425. #define IStorage_Revert(This)   \
  5426.     (This)->lpVtbl -> Revert(This)
  5427.  
  5428. #define IStorage_EnumElements(This,reserved1,reserved2,reserved3,ppenum)        \
  5429.     (This)->lpVtbl -> EnumElements(This,reserved1,reserved2,reserved3,ppenum)
  5430.  
  5431. #define IStorage_DestroyElement(This,pwcsName)  \
  5432.     (This)->lpVtbl -> DestroyElement(This,pwcsName)
  5433.  
  5434. #define IStorage_RenameElement(This,pwcsOldName,pwcsNewName)    \
  5435.     (This)->lpVtbl -> RenameElement(This,pwcsOldName,pwcsNewName)
  5436.  
  5437. #define IStorage_SetElementTimes(This,pwcsName,pctime,patime,pmtime)    \
  5438.     (This)->lpVtbl -> SetElementTimes(This,pwcsName,pctime,patime,pmtime)
  5439.  
  5440. #define IStorage_SetClass(This,clsid)   \
  5441.     (This)->lpVtbl -> SetClass(This,clsid)
  5442.  
  5443. #define IStorage_SetStateBits(This,grfStateBits,grfMask)        \
  5444.     (This)->lpVtbl -> SetStateBits(This,grfStateBits,grfMask)
  5445.  
  5446. #define IStorage_Stat(This,pstatstg,grfStatFlag)        \
  5447.     (This)->lpVtbl -> Stat(This,pstatstg,grfStatFlag)
  5448.  
  5449. #endif /* COBJMACROS */
  5450.  
  5451.  
  5452. #endif  /* C style interface */
  5453.  
  5454.  
  5455.  
  5456. HRESULT __stdcall IStorage_CreateStream_Proxy( 
  5457.     IStorage __RPC_FAR * This,
  5458.     /* [string][in] */ const OLECHAR __RPC_FAR *pwcsName,
  5459.     /* [in] */ DWORD grfMode,
  5460.     /* [in] */ DWORD reserved1,
  5461.     /* [in] */ DWORD reserved2,
  5462.     /* [out] */ IStream __RPC_FAR *__RPC_FAR *ppstm);
  5463.  
  5464.  
  5465. void __RPC_STUB IStorage_CreateStream_Stub(
  5466.     IRpcStubBuffer *This,
  5467.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5468.     PRPC_MESSAGE _pRpcMessage,
  5469.     DWORD *_pdwStubPhase);
  5470.  
  5471.  
  5472. /* [call_as] */ HRESULT __stdcall IStorage_RemoteOpenStream_Proxy( 
  5473.     IStorage __RPC_FAR * This,
  5474.     /* [string][in] */ const OLECHAR __RPC_FAR *pwcsName,
  5475.     /* [in] */ unsigned long cbReserved1,
  5476.     /* [size_is][unique][in] */ byte __RPC_FAR *reserved1,
  5477.     /* [in] */ DWORD grfMode,
  5478.     /* [in] */ DWORD reserved2,
  5479.     /* [out] */ IStream __RPC_FAR *__RPC_FAR *ppstm);
  5480.  
  5481.  
  5482. void __RPC_STUB IStorage_RemoteOpenStream_Stub(
  5483.     IRpcStubBuffer *This,
  5484.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5485.     PRPC_MESSAGE _pRpcMessage,
  5486.     DWORD *_pdwStubPhase);
  5487.  
  5488.  
  5489. HRESULT __stdcall IStorage_CreateStorage_Proxy( 
  5490.     IStorage __RPC_FAR * This,
  5491.     /* [string][in] */ const OLECHAR __RPC_FAR *pwcsName,
  5492.     /* [in] */ DWORD grfMode,
  5493.     /* [in] */ DWORD dwStgFmt,
  5494.     /* [in] */ DWORD reserved2,
  5495.     /* [out] */ IStorage __RPC_FAR *__RPC_FAR *ppstg);
  5496.  
  5497.  
  5498. void __RPC_STUB IStorage_CreateStorage_Stub(
  5499.     IRpcStubBuffer *This,
  5500.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5501.     PRPC_MESSAGE _pRpcMessage,
  5502.     DWORD *_pdwStubPhase);
  5503.  
  5504.  
  5505. HRESULT __stdcall IStorage_OpenStorage_Proxy( 
  5506.     IStorage __RPC_FAR * This,
  5507.     /* [string][unique][in] */ const OLECHAR __RPC_FAR *pwcsName,
  5508.     /* [unique][in] */ IStorage __RPC_FAR *pstgPriority,
  5509.     /* [in] */ DWORD grfMode,
  5510.     /* [unique][in] */ SNB snbExclude,
  5511.     /* [in] */ DWORD reserved,
  5512.     /* [out] */ IStorage __RPC_FAR *__RPC_FAR *ppstg);
  5513.  
  5514.  
  5515. void __RPC_STUB IStorage_OpenStorage_Stub(
  5516.     IRpcStubBuffer *This,
  5517.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5518.     PRPC_MESSAGE _pRpcMessage,
  5519.     DWORD *_pdwStubPhase);
  5520.  
  5521.  
  5522. HRESULT __stdcall IStorage_CopyTo_Proxy( 
  5523.     IStorage __RPC_FAR * This,
  5524.     /* [in] */ DWORD ciidExclude,
  5525.     /* [size_is][unique][in] */ const IID __RPC_FAR *rgiidExclude,
  5526.     /* [unique][in] */ SNB snbExclude,
  5527.     /* [unique][in] */ IStorage __RPC_FAR *pstgDest);
  5528.  
  5529.  
  5530. void __RPC_STUB IStorage_CopyTo_Stub(
  5531.     IRpcStubBuffer *This,
  5532.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5533.     PRPC_MESSAGE _pRpcMessage,
  5534.     DWORD *_pdwStubPhase);
  5535.  
  5536.  
  5537. HRESULT __stdcall IStorage_MoveElementTo_Proxy( 
  5538.     IStorage __RPC_FAR * This,
  5539.     /* [string][in] */ const OLECHAR __RPC_FAR *pwcsName,
  5540.     /* [unique][in] */ IStorage __RPC_FAR *pstgDest,
  5541.     /* [string][in] */ const OLECHAR __RPC_FAR *pwcsNewName,
  5542.     /* [in] */ DWORD grfFlags);
  5543.  
  5544.  
  5545. void __RPC_STUB IStorage_MoveElementTo_Stub(
  5546.     IRpcStubBuffer *This,
  5547.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5548.     PRPC_MESSAGE _pRpcMessage,
  5549.     DWORD *_pdwStubPhase);
  5550.  
  5551.  
  5552. HRESULT __stdcall IStorage_Commit_Proxy( 
  5553.     IStorage __RPC_FAR * This,
  5554.     /* [in] */ DWORD grfCommitFlags);
  5555.  
  5556.  
  5557. void __RPC_STUB IStorage_Commit_Stub(
  5558.     IRpcStubBuffer *This,
  5559.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5560.     PRPC_MESSAGE _pRpcMessage,
  5561.     DWORD *_pdwStubPhase);
  5562.  
  5563.  
  5564. HRESULT __stdcall IStorage_Revert_Proxy( 
  5565.     IStorage __RPC_FAR * This);
  5566.  
  5567.  
  5568. void __RPC_STUB IStorage_Revert_Stub(
  5569.     IRpcStubBuffer *This,
  5570.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5571.     PRPC_MESSAGE _pRpcMessage,
  5572.     DWORD *_pdwStubPhase);
  5573.  
  5574.  
  5575. /* [call_as] */ HRESULT __stdcall IStorage_RemoteEnumElements_Proxy( 
  5576.     IStorage __RPC_FAR * This,
  5577.     /* [in] */ DWORD reserved1,
  5578.     /* [in] */ unsigned long cbReserved2,
  5579.     /* [size_is][unique][in] */ byte __RPC_FAR *reserved2,
  5580.     /* [in] */ DWORD reserved3,
  5581.     /* [out] */ IEnumSTATSTG __RPC_FAR *__RPC_FAR *ppenum);
  5582.  
  5583.  
  5584. void __RPC_STUB IStorage_RemoteEnumElements_Stub(
  5585.     IRpcStubBuffer *This,
  5586.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5587.     PRPC_MESSAGE _pRpcMessage,
  5588.     DWORD *_pdwStubPhase);
  5589.  
  5590.  
  5591. HRESULT __stdcall IStorage_DestroyElement_Proxy( 
  5592.     IStorage __RPC_FAR * This,
  5593.     /* [string][in] */ const OLECHAR __RPC_FAR *pwcsName);
  5594.  
  5595.  
  5596. void __RPC_STUB IStorage_DestroyElement_Stub(
  5597.     IRpcStubBuffer *This,
  5598.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5599.     PRPC_MESSAGE _pRpcMessage,
  5600.     DWORD *_pdwStubPhase);
  5601.  
  5602.  
  5603. HRESULT __stdcall IStorage_RenameElement_Proxy( 
  5604.     IStorage __RPC_FAR * This,
  5605.     /* [string][in] */ const OLECHAR __RPC_FAR *pwcsOldName,
  5606.     /* [string][in] */ const OLECHAR __RPC_FAR *pwcsNewName);
  5607.  
  5608.  
  5609. void __RPC_STUB IStorage_RenameElement_Stub(
  5610.     IRpcStubBuffer *This,
  5611.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5612.     PRPC_MESSAGE _pRpcMessage,
  5613.     DWORD *_pdwStubPhase);
  5614.  
  5615.  
  5616. HRESULT __stdcall IStorage_SetElementTimes_Proxy( 
  5617.     IStorage __RPC_FAR * This,
  5618.     /* [string][in] */ const OLECHAR __RPC_FAR *pwcsName,
  5619.     /* [in] */ const FILETIME __RPC_FAR *pctime,
  5620.     /* [in] */ const FILETIME __RPC_FAR *patime,
  5621.     /* [in] */ const FILETIME __RPC_FAR *pmtime);
  5622.  
  5623.  
  5624. void __RPC_STUB IStorage_SetElementTimes_Stub(
  5625.     IRpcStubBuffer *This,
  5626.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5627.     PRPC_MESSAGE _pRpcMessage,
  5628.     DWORD *_pdwStubPhase);
  5629.  
  5630.  
  5631. HRESULT __stdcall IStorage_SetClass_Proxy( 
  5632.     IStorage __RPC_FAR * This,
  5633.     /* [in] */ REFCLSID clsid);
  5634.  
  5635.  
  5636. void __RPC_STUB IStorage_SetClass_Stub(
  5637.     IRpcStubBuffer *This,
  5638.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5639.     PRPC_MESSAGE _pRpcMessage,
  5640.     DWORD *_pdwStubPhase);
  5641.  
  5642.  
  5643. HRESULT __stdcall IStorage_SetStateBits_Proxy( 
  5644.     IStorage __RPC_FAR * This,
  5645.     /* [in] */ DWORD grfStateBits,
  5646.     /* [in] */ DWORD grfMask);
  5647.  
  5648.  
  5649. void __RPC_STUB IStorage_SetStateBits_Stub(
  5650.     IRpcStubBuffer *This,
  5651.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5652.     PRPC_MESSAGE _pRpcMessage,
  5653.     DWORD *_pdwStubPhase);
  5654.  
  5655.  
  5656. HRESULT __stdcall IStorage_Stat_Proxy( 
  5657.     IStorage __RPC_FAR * This,
  5658.     /* [out] */ STATSTG __RPC_FAR *pstatstg,
  5659.     /* [in] */ DWORD grfStatFlag);
  5660.  
  5661.  
  5662. void __RPC_STUB IStorage_Stat_Stub(
  5663.     IRpcStubBuffer *This,
  5664.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5665.     PRPC_MESSAGE _pRpcMessage,
  5666.     DWORD *_pdwStubPhase);
  5667.  
  5668.  
  5669.  
  5670. #endif  /* __IStorage_INTERFACE_DEFINED__ */
  5671.  
  5672.  
  5673. #ifndef __IPersistFile_INTERFACE_DEFINED__
  5674. #define __IPersistFile_INTERFACE_DEFINED__
  5675.  
  5676. /****************************************
  5677.  * Generated header for interface: IPersistFile
  5678.  * at Fri Sep 02 18:12:06 1994
  5679.  * using MIDL 2.00.71
  5680.  ****************************************/
  5681. /* [unique][uuid][object] */ 
  5682.  
  5683.  
  5684.             /* size is 4 */
  5685. typedef /* [unique] */ IPersistFile __RPC_FAR *LPPERSISTFILE;
  5686.  
  5687.  
  5688. EXTERN_C const IID IID_IPersistFile;
  5689.  
  5690. #if defined(__cplusplus) && !defined(CINTERFACE)
  5691.     
  5692.     interface IPersistFile : public IPersist
  5693.     {
  5694.     public:
  5695.     virtual HRESULT __stdcall IsDirty( void) = 0;
  5696.     
  5697.     virtual HRESULT __stdcall Load( 
  5698.         /* [in] */ LPCOLESTR pszFileName,
  5699.         /* [in] */ DWORD dwMode) = 0;
  5700.     
  5701.     virtual HRESULT __stdcall Save( 
  5702.         /* [unique][in] */ LPCOLESTR pszFileName,
  5703.         /* [in] */ BOOL fRemember) = 0;
  5704.     
  5705.     virtual HRESULT __stdcall SaveCompleted( 
  5706.         /* [unique][in] */ LPCOLESTR pszFileName) = 0;
  5707.     
  5708.     virtual HRESULT __stdcall GetCurFile( 
  5709.         /* [out] */ LPOLESTR __RPC_FAR *ppszFileName) = 0;
  5710.     
  5711.     };
  5712.     
  5713. #else   /* C style interface */
  5714.     
  5715.     typedef struct IPersistFileVtbl
  5716.     {
  5717.     
  5718.     HRESULT ( __stdcall __RPC_FAR *QueryInterface )( 
  5719.         IPersistFile __RPC_FAR * This,
  5720.         /* [in] */ REFIID riid,
  5721.         /* [out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  5722.     
  5723.     ULONG ( __stdcall __RPC_FAR *AddRef )( 
  5724.         IPersistFile __RPC_FAR * This);
  5725.     
  5726.     ULONG ( __stdcall __RPC_FAR *Release )( 
  5727.         IPersistFile __RPC_FAR * This);
  5728.     
  5729.     /* [optimize] */ HRESULT ( __stdcall __RPC_FAR *GetClassID )( 
  5730.         IPersistFile __RPC_FAR * This,
  5731.         /* [out] */ CLSID __RPC_FAR *pClassID);
  5732.     
  5733.     HRESULT ( __stdcall __RPC_FAR *IsDirty )( 
  5734.         IPersistFile __RPC_FAR * This);
  5735.     
  5736.     HRESULT ( __stdcall __RPC_FAR *Load )( 
  5737.         IPersistFile __RPC_FAR * This,
  5738.         /* [in] */ LPCOLESTR pszFileName,
  5739.         /* [in] */ DWORD dwMode);
  5740.     
  5741.     HRESULT ( __stdcall __RPC_FAR *Save )( 
  5742.         IPersistFile __RPC_FAR * This,
  5743.         /* [unique][in] */ LPCOLESTR pszFileName,
  5744.         /* [in] */ BOOL fRemember);
  5745.     
  5746.     HRESULT ( __stdcall __RPC_FAR *SaveCompleted )( 
  5747.         IPersistFile __RPC_FAR * This,
  5748.         /* [unique][in] */ LPCOLESTR pszFileName);
  5749.     
  5750.     HRESULT ( __stdcall __RPC_FAR *GetCurFile )( 
  5751.         IPersistFile __RPC_FAR * This,
  5752.         /* [out] */ LPOLESTR __RPC_FAR *ppszFileName);
  5753.     
  5754.     } IPersistFileVtbl;
  5755.     
  5756.     interface IPersistFile
  5757.     {
  5758.     CONST_VTBL struct IPersistFileVtbl __RPC_FAR *lpVtbl;
  5759.     };
  5760.     
  5761.     
  5762.  
  5763. #ifdef COBJMACROS
  5764.  
  5765.  
  5766. #define IPersistFile_QueryInterface(This,riid,ppvObject)        \
  5767.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  5768.  
  5769. #define IPersistFile_AddRef(This)       \
  5770.     (This)->lpVtbl -> AddRef(This)
  5771.  
  5772. #define IPersistFile_Release(This)      \
  5773.     (This)->lpVtbl -> Release(This)
  5774.  
  5775.  
  5776. #define IPersistFile_GetClassID(This,pClassID)  \
  5777.     (This)->lpVtbl -> GetClassID(This,pClassID)
  5778.  
  5779.  
  5780. #define IPersistFile_IsDirty(This)      \
  5781.     (This)->lpVtbl -> IsDirty(This)
  5782.  
  5783. #define IPersistFile_Load(This,pszFileName,dwMode)      \
  5784.     (This)->lpVtbl -> Load(This,pszFileName,dwMode)
  5785.  
  5786. #define IPersistFile_Save(This,pszFileName,fRemember)   \
  5787.     (This)->lpVtbl -> Save(This,pszFileName,fRemember)
  5788.  
  5789. #define IPersistFile_SaveCompleted(This,pszFileName)    \
  5790.     (This)->lpVtbl -> SaveCompleted(This,pszFileName)
  5791.  
  5792. #define IPersistFile_GetCurFile(This,ppszFileName)      \
  5793.     (This)->lpVtbl -> GetCurFile(This,ppszFileName)
  5794.  
  5795. #endif /* COBJMACROS */
  5796.  
  5797.  
  5798. #endif  /* C style interface */
  5799.  
  5800.  
  5801.  
  5802. HRESULT __stdcall IPersistFile_IsDirty_Proxy( 
  5803.     IPersistFile __RPC_FAR * This);
  5804.  
  5805.  
  5806. void __RPC_STUB IPersistFile_IsDirty_Stub(
  5807.     IRpcStubBuffer *This,
  5808.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5809.     PRPC_MESSAGE _pRpcMessage,
  5810.     DWORD *_pdwStubPhase);
  5811.  
  5812.  
  5813. HRESULT __stdcall IPersistFile_Load_Proxy( 
  5814.     IPersistFile __RPC_FAR * This,
  5815.     /* [in] */ LPCOLESTR pszFileName,
  5816.     /* [in] */ DWORD dwMode);
  5817.  
  5818.  
  5819. void __RPC_STUB IPersistFile_Load_Stub(
  5820.     IRpcStubBuffer *This,
  5821.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5822.     PRPC_MESSAGE _pRpcMessage,
  5823.     DWORD *_pdwStubPhase);
  5824.  
  5825.  
  5826. HRESULT __stdcall IPersistFile_Save_Proxy( 
  5827.     IPersistFile __RPC_FAR * This,
  5828.     /* [unique][in] */ LPCOLESTR pszFileName,
  5829.     /* [in] */ BOOL fRemember);
  5830.  
  5831.  
  5832. void __RPC_STUB IPersistFile_Save_Stub(
  5833.     IRpcStubBuffer *This,
  5834.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5835.     PRPC_MESSAGE _pRpcMessage,
  5836.     DWORD *_pdwStubPhase);
  5837.  
  5838.  
  5839. HRESULT __stdcall IPersistFile_SaveCompleted_Proxy( 
  5840.     IPersistFile __RPC_FAR * This,
  5841.     /* [unique][in] */ LPCOLESTR pszFileName);
  5842.  
  5843.  
  5844. void __RPC_STUB IPersistFile_SaveCompleted_Stub(
  5845.     IRpcStubBuffer *This,
  5846.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5847.     PRPC_MESSAGE _pRpcMessage,
  5848.     DWORD *_pdwStubPhase);
  5849.  
  5850.  
  5851. HRESULT __stdcall IPersistFile_GetCurFile_Proxy( 
  5852.     IPersistFile __RPC_FAR * This,
  5853.     /* [out] */ LPOLESTR __RPC_FAR *ppszFileName);
  5854.  
  5855.  
  5856. void __RPC_STUB IPersistFile_GetCurFile_Stub(
  5857.     IRpcStubBuffer *This,
  5858.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5859.     PRPC_MESSAGE _pRpcMessage,
  5860.     DWORD *_pdwStubPhase);
  5861.  
  5862.  
  5863.  
  5864. #endif  /* __IPersistFile_INTERFACE_DEFINED__ */
  5865.  
  5866.  
  5867. #ifndef __IPersistStorage_INTERFACE_DEFINED__
  5868. #define __IPersistStorage_INTERFACE_DEFINED__
  5869.  
  5870. /****************************************
  5871.  * Generated header for interface: IPersistStorage
  5872.  * at Fri Sep 02 18:12:06 1994
  5873.  * using MIDL 2.00.71
  5874.  ****************************************/
  5875. /* [unique][uuid][object] */ 
  5876.  
  5877.  
  5878.             /* size is 4 */
  5879. typedef /* [unique] */ IPersistStorage __RPC_FAR *LPPERSISTSTORAGE;
  5880.  
  5881.  
  5882. EXTERN_C const IID IID_IPersistStorage;
  5883.  
  5884. #if defined(__cplusplus) && !defined(CINTERFACE)
  5885.     
  5886.     interface IPersistStorage : public IPersist
  5887.     {
  5888.     public:
  5889.     virtual HRESULT __stdcall IsDirty( void) = 0;
  5890.     
  5891.     virtual HRESULT __stdcall InitNew( 
  5892.         /* [unique][in] */ IStorage __RPC_FAR *pStg) = 0;
  5893.     
  5894.     virtual HRESULT __stdcall Load( 
  5895.         /* [unique][in] */ IStorage __RPC_FAR *pStg) = 0;
  5896.     
  5897.     virtual HRESULT __stdcall Save( 
  5898.         /* [unique][in] */ IStorage __RPC_FAR *pStgSave,
  5899.         /* [in] */ BOOL fSameAsLoad) = 0;
  5900.     
  5901.     virtual HRESULT __stdcall SaveCompleted( 
  5902.         /* [unique][in] */ IStorage __RPC_FAR *pStgNew) = 0;
  5903.     
  5904.     virtual HRESULT __stdcall HandsOffStorage( void) = 0;
  5905.     
  5906.     };
  5907.     
  5908. #else   /* C style interface */
  5909.     
  5910.     typedef struct IPersistStorageVtbl
  5911.     {
  5912.     
  5913.     HRESULT ( __stdcall __RPC_FAR *QueryInterface )( 
  5914.         IPersistStorage __RPC_FAR * This,
  5915.         /* [in] */ REFIID riid,
  5916.         /* [out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  5917.     
  5918.     ULONG ( __stdcall __RPC_FAR *AddRef )( 
  5919.         IPersistStorage __RPC_FAR * This);
  5920.     
  5921.     ULONG ( __stdcall __RPC_FAR *Release )( 
  5922.         IPersistStorage __RPC_FAR * This);
  5923.     
  5924.     /* [optimize] */ HRESULT ( __stdcall __RPC_FAR *GetClassID )( 
  5925.         IPersistStorage __RPC_FAR * This,
  5926.         /* [out] */ CLSID __RPC_FAR *pClassID);
  5927.     
  5928.     HRESULT ( __stdcall __RPC_FAR *IsDirty )( 
  5929.         IPersistStorage __RPC_FAR * This);
  5930.     
  5931.     HRESULT ( __stdcall __RPC_FAR *InitNew )( 
  5932.         IPersistStorage __RPC_FAR * This,
  5933.         /* [unique][in] */ IStorage __RPC_FAR *pStg);
  5934.     
  5935.     HRESULT ( __stdcall __RPC_FAR *Load )( 
  5936.         IPersistStorage __RPC_FAR * This,
  5937.         /* [unique][in] */ IStorage __RPC_FAR *pStg);
  5938.     
  5939.     HRESULT ( __stdcall __RPC_FAR *Save )( 
  5940.         IPersistStorage __RPC_FAR * This,
  5941.         /* [unique][in] */ IStorage __RPC_FAR *pStgSave,
  5942.         /* [in] */ BOOL fSameAsLoad);
  5943.     
  5944.     HRESULT ( __stdcall __RPC_FAR *SaveCompleted )( 
  5945.         IPersistStorage __RPC_FAR * This,
  5946.         /* [unique][in] */ IStorage __RPC_FAR *pStgNew);
  5947.     
  5948.     HRESULT ( __stdcall __RPC_FAR *HandsOffStorage )( 
  5949.         IPersistStorage __RPC_FAR * This);
  5950.     
  5951.     } IPersistStorageVtbl;
  5952.     
  5953.     interface IPersistStorage
  5954.     {
  5955.     CONST_VTBL struct IPersistStorageVtbl __RPC_FAR *lpVtbl;
  5956.     };
  5957.     
  5958.     
  5959.  
  5960. #ifdef COBJMACROS
  5961.  
  5962.  
  5963. #define IPersistStorage_QueryInterface(This,riid,ppvObject)     \
  5964.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  5965.  
  5966. #define IPersistStorage_AddRef(This)    \
  5967.     (This)->lpVtbl -> AddRef(This)
  5968.  
  5969. #define IPersistStorage_Release(This)   \
  5970.     (This)->lpVtbl -> Release(This)
  5971.  
  5972.  
  5973. #define IPersistStorage_GetClassID(This,pClassID)       \
  5974.     (This)->lpVtbl -> GetClassID(This,pClassID)
  5975.  
  5976.  
  5977. #define IPersistStorage_IsDirty(This)   \
  5978.     (This)->lpVtbl -> IsDirty(This)
  5979.  
  5980. #define IPersistStorage_InitNew(This,pStg)      \
  5981.     (This)->lpVtbl -> InitNew(This,pStg)
  5982.  
  5983. #define IPersistStorage_Load(This,pStg) \
  5984.     (This)->lpVtbl -> Load(This,pStg)
  5985.  
  5986. #define IPersistStorage_Save(This,pStgSave,fSameAsLoad) \
  5987.     (This)->lpVtbl -> Save(This,pStgSave,fSameAsLoad)
  5988.  
  5989. #define IPersistStorage_SaveCompleted(This,pStgNew)     \
  5990.     (This)->lpVtbl -> SaveCompleted(This,pStgNew)
  5991.  
  5992. #define IPersistStorage_HandsOffStorage(This)   \
  5993.     (This)->lpVtbl -> HandsOffStorage(This)
  5994.  
  5995. #endif /* COBJMACROS */
  5996.  
  5997.  
  5998. #endif  /* C style interface */
  5999.  
  6000.  
  6001.  
  6002. HRESULT __stdcall IPersistStorage_IsDirty_Proxy( 
  6003.     IPersistStorage __RPC_FAR * This);
  6004.  
  6005.  
  6006. void __RPC_STUB IPersistStorage_IsDirty_Stub(
  6007.     IRpcStubBuffer *This,
  6008.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6009.     PRPC_MESSAGE _pRpcMessage,
  6010.     DWORD *_pdwStubPhase);
  6011.  
  6012.  
  6013. HRESULT __stdcall IPersistStorage_InitNew_Proxy( 
  6014.     IPersistStorage __RPC_FAR * This,
  6015.     /* [unique][in] */ IStorage __RPC_FAR *pStg);
  6016.  
  6017.  
  6018. void __RPC_STUB IPersistStorage_InitNew_Stub(
  6019.     IRpcStubBuffer *This,
  6020.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6021.     PRPC_MESSAGE _pRpcMessage,
  6022.     DWORD *_pdwStubPhase);
  6023.  
  6024.  
  6025. HRESULT __stdcall IPersistStorage_Load_Proxy( 
  6026.     IPersistStorage __RPC_FAR * This,
  6027.     /* [unique][in] */ IStorage __RPC_FAR *pStg);
  6028.  
  6029.  
  6030. void __RPC_STUB IPersistStorage_Load_Stub(
  6031.     IRpcStubBuffer *This,
  6032.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6033.     PRPC_MESSAGE _pRpcMessage,
  6034.     DWORD *_pdwStubPhase);
  6035.  
  6036.  
  6037. HRESULT __stdcall IPersistStorage_Save_Proxy( 
  6038.     IPersistStorage __RPC_FAR * This,
  6039.     /* [unique][in] */ IStorage __RPC_FAR *pStgSave,
  6040.     /* [in] */ BOOL fSameAsLoad);
  6041.  
  6042.  
  6043. void __RPC_STUB IPersistStorage_Save_Stub(
  6044.     IRpcStubBuffer *This,
  6045.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6046.     PRPC_MESSAGE _pRpcMessage,
  6047.     DWORD *_pdwStubPhase);
  6048.  
  6049.  
  6050. HRESULT __stdcall IPersistStorage_SaveCompleted_Proxy( 
  6051.     IPersistStorage __RPC_FAR * This,
  6052.     /* [unique][in] */ IStorage __RPC_FAR *pStgNew);
  6053.  
  6054.  
  6055. void __RPC_STUB IPersistStorage_SaveCompleted_Stub(
  6056.     IRpcStubBuffer *This,
  6057.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6058.     PRPC_MESSAGE _pRpcMessage,
  6059.     DWORD *_pdwStubPhase);
  6060.  
  6061.  
  6062. HRESULT __stdcall IPersistStorage_HandsOffStorage_Proxy( 
  6063.     IPersistStorage __RPC_FAR * This);
  6064.  
  6065.  
  6066. void __RPC_STUB IPersistStorage_HandsOffStorage_Stub(
  6067.     IRpcStubBuffer *This,
  6068.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6069.     PRPC_MESSAGE _pRpcMessage,
  6070.     DWORD *_pdwStubPhase);
  6071.  
  6072.  
  6073.  
  6074. #endif  /* __IPersistStorage_INTERFACE_DEFINED__ */
  6075.  
  6076.  
  6077. #ifndef __ILockBytes_INTERFACE_DEFINED__
  6078. #define __ILockBytes_INTERFACE_DEFINED__
  6079.  
  6080. /****************************************
  6081.  * Generated header for interface: ILockBytes
  6082.  * at Fri Sep 02 18:12:06 1994
  6083.  * using MIDL 2.00.71
  6084.  ****************************************/
  6085. /* [unique][uuid][object] */ 
  6086.  
  6087.  
  6088.             /* size is 4 */
  6089. typedef /* [unique] */ ILockBytes __RPC_FAR *LPLOCKBYTES;
  6090.  
  6091.  
  6092. EXTERN_C const IID IID_ILockBytes;
  6093.  
  6094. #if defined(__cplusplus) && !defined(CINTERFACE)
  6095.     
  6096.     interface ILockBytes : public IUnknown
  6097.     {
  6098.     public:
  6099.     virtual /* [local] */ HRESULT __stdcall ReadAt( 
  6100.         /* [in] */ ULARGE_INTEGER ulOffset,
  6101.         /* [in] */ void __RPC_FAR *pv,
  6102.         /* [in] */ ULONG cb,
  6103.         /* [out] */ ULONG __RPC_FAR *pcbRead) = 0;
  6104.     
  6105.     virtual /* [local] */ HRESULT __stdcall WriteAt( 
  6106.         /* [in] */ ULARGE_INTEGER ulOffset,
  6107.         /* [in] */ const void __RPC_FAR *pv,
  6108.         /* [in] */ ULONG cb,
  6109.         /* [out] */ ULONG __RPC_FAR *pcbWritten) = 0;
  6110.     
  6111.     virtual HRESULT __stdcall Flush( void) = 0;
  6112.     
  6113.     virtual HRESULT __stdcall SetSize( 
  6114.         /* [in] */ ULARGE_INTEGER cb) = 0;
  6115.     
  6116.     virtual HRESULT __stdcall LockRegion( 
  6117.         /* [in] */ ULARGE_INTEGER libOffset,
  6118.         /* [in] */ ULARGE_INTEGER cb,
  6119.         /* [in] */ DWORD dwLockType) = 0;
  6120.     
  6121.     virtual HRESULT __stdcall UnlockRegion( 
  6122.         /* [in] */ ULARGE_INTEGER libOffset,
  6123.         /* [in] */ ULARGE_INTEGER cb,
  6124.         /* [in] */ DWORD dwLockType) = 0;
  6125.     
  6126.     virtual HRESULT __stdcall Stat( 
  6127.         /* [out] */ STATSTG __RPC_FAR *pstatstg,
  6128.         /* [in] */ DWORD grfStatFlag) = 0;
  6129.     
  6130.     };
  6131.     
  6132. #else   /* C style interface */
  6133.     
  6134.     typedef struct ILockBytesVtbl
  6135.     {
  6136.     
  6137.     HRESULT ( __stdcall __RPC_FAR *QueryInterface )( 
  6138.         ILockBytes __RPC_FAR * This,
  6139.         /* [in] */ REFIID riid,
  6140.         /* [out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  6141.     
  6142.     ULONG ( __stdcall __RPC_FAR *AddRef )( 
  6143.         ILockBytes __RPC_FAR * This);
  6144.     
  6145.     ULONG ( __stdcall __RPC_FAR *Release )( 
  6146.         ILockBytes __RPC_FAR * This);
  6147.     
  6148.     /* [local] */ HRESULT ( __stdcall __RPC_FAR *ReadAt )( 
  6149.         ILockBytes __RPC_FAR * This,
  6150.         /* [in] */ ULARGE_INTEGER ulOffset,
  6151.         /* [in] */ void __RPC_FAR *pv,
  6152.         /* [in] */ ULONG cb,
  6153.         /* [out] */ ULONG __RPC_FAR *pcbRead);
  6154.     
  6155.     /* [local] */ HRESULT ( __stdcall __RPC_FAR *WriteAt )( 
  6156.         ILockBytes __RPC_FAR * This,
  6157.         /* [in] */ ULARGE_INTEGER ulOffset,
  6158.         /* [in] */ const void __RPC_FAR *pv,
  6159.         /* [in] */ ULONG cb,
  6160.         /* [out] */ ULONG __RPC_FAR *pcbWritten);
  6161.     
  6162.     HRESULT ( __stdcall __RPC_FAR *Flush )( 
  6163.         ILockBytes __RPC_FAR * This);
  6164.     
  6165.     HRESULT ( __stdcall __RPC_FAR *SetSize )( 
  6166.         ILockBytes __RPC_FAR * This,
  6167.         /* [in] */ ULARGE_INTEGER cb);
  6168.     
  6169.     HRESULT ( __stdcall __RPC_FAR *LockRegion )( 
  6170.         ILockBytes __RPC_FAR * This,
  6171.         /* [in] */ ULARGE_INTEGER libOffset,
  6172.         /* [in] */ ULARGE_INTEGER cb,
  6173.         /* [in] */ DWORD dwLockType);
  6174.     
  6175.     HRESULT ( __stdcall __RPC_FAR *UnlockRegion )( 
  6176.         ILockBytes __RPC_FAR * This,
  6177.         /* [in] */ ULARGE_INTEGER libOffset,
  6178.         /* [in] */ ULARGE_INTEGER cb,
  6179.         /* [in] */ DWORD dwLockType);
  6180.     
  6181.     HRESULT ( __stdcall __RPC_FAR *Stat )( 
  6182.         ILockBytes __RPC_FAR * This,
  6183.         /* [out] */ STATSTG __RPC_FAR *pstatstg,
  6184.         /* [in] */ DWORD grfStatFlag);
  6185.     
  6186.     } ILockBytesVtbl;
  6187.     
  6188.     interface ILockBytes
  6189.     {
  6190.     CONST_VTBL struct ILockBytesVtbl __RPC_FAR *lpVtbl;
  6191.     };
  6192.     
  6193.     
  6194.  
  6195. #ifdef COBJMACROS
  6196.  
  6197.  
  6198. #define ILockBytes_QueryInterface(This,riid,ppvObject)  \
  6199.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  6200.  
  6201. #define ILockBytes_AddRef(This) \
  6202.     (This)->lpVtbl -> AddRef(This)
  6203.  
  6204. #define ILockBytes_Release(This)        \
  6205.     (This)->lpVtbl -> Release(This)
  6206.  
  6207.  
  6208. #define ILockBytes_ReadAt(This,ulOffset,pv,cb,pcbRead)  \
  6209.     (This)->lpVtbl -> ReadAt(This,ulOffset,pv,cb,pcbRead)
  6210.  
  6211. #define ILockBytes_WriteAt(This,ulOffset,pv,cb,pcbWritten)      \
  6212.     (This)->lpVtbl -> WriteAt(This,ulOffset,pv,cb,pcbWritten)
  6213.  
  6214. #define ILockBytes_Flush(This)  \
  6215.     (This)->lpVtbl -> Flush(This)
  6216.  
  6217. #define ILockBytes_SetSize(This,cb)     \
  6218.     (This)->lpVtbl -> SetSize(This,cb)
  6219.  
  6220. #define ILockBytes_LockRegion(This,libOffset,cb,dwLockType)     \
  6221.     (This)->lpVtbl -> LockRegion(This,libOffset,cb,dwLockType)
  6222.  
  6223. #define ILockBytes_UnlockRegion(This,libOffset,cb,dwLockType)   \
  6224.     (This)->lpVtbl -> UnlockRegion(This,libOffset,cb,dwLockType)
  6225.  
  6226. #define ILockBytes_Stat(This,pstatstg,grfStatFlag)      \
  6227.     (This)->lpVtbl -> Stat(This,pstatstg,grfStatFlag)
  6228.  
  6229. #endif /* COBJMACROS */
  6230.  
  6231.  
  6232. #endif  /* C style interface */
  6233.  
  6234.  
  6235.  
  6236. /* [call_as] */ HRESULT __stdcall ILockBytes_RemoteReadAt_Proxy( 
  6237.     ILockBytes __RPC_FAR * This,
  6238.     /* [in] */ ULARGE_INTEGER ulOffset,
  6239.     /* [length_is][size_is][out] */ byte __RPC_FAR *pv,
  6240.     /* [in] */ ULONG cb,
  6241.     /* [out] */ ULONG __RPC_FAR *pcbRead);
  6242.  
  6243.  
  6244. void __RPC_STUB ILockBytes_RemoteReadAt_Stub(
  6245.     IRpcStubBuffer *This,
  6246.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6247.     PRPC_MESSAGE _pRpcMessage,
  6248.     DWORD *_pdwStubPhase);
  6249.  
  6250.  
  6251. /* [call_as] */ HRESULT __stdcall ILockBytes_RemoteWriteAt_Proxy( 
  6252.     ILockBytes __RPC_FAR * This,
  6253.     /* [in] */ ULARGE_INTEGER ulOffset,
  6254.     /* [size_is][in] */ const byte __RPC_FAR *pv,
  6255.     /* [in] */ ULONG cb,
  6256.     /* [out] */ ULONG __RPC_FAR *pcbWritten);
  6257.  
  6258.  
  6259. void __RPC_STUB ILockBytes_RemoteWriteAt_Stub(
  6260.     IRpcStubBuffer *This,
  6261.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6262.     PRPC_MESSAGE _pRpcMessage,
  6263.     DWORD *_pdwStubPhase);
  6264.  
  6265.  
  6266. HRESULT __stdcall ILockBytes_Flush_Proxy( 
  6267.     ILockBytes __RPC_FAR * This);
  6268.  
  6269.  
  6270. void __RPC_STUB ILockBytes_Flush_Stub(
  6271.     IRpcStubBuffer *This,
  6272.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6273.     PRPC_MESSAGE _pRpcMessage,
  6274.     DWORD *_pdwStubPhase);
  6275.  
  6276.  
  6277. HRESULT __stdcall ILockBytes_SetSize_Proxy( 
  6278.     ILockBytes __RPC_FAR * This,
  6279.     /* [in] */ ULARGE_INTEGER cb);
  6280.  
  6281.  
  6282. void __RPC_STUB ILockBytes_SetSize_Stub(
  6283.     IRpcStubBuffer *This,
  6284.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6285.     PRPC_MESSAGE _pRpcMessage,
  6286.     DWORD *_pdwStubPhase);
  6287.  
  6288.  
  6289. HRESULT __stdcall ILockBytes_LockRegion_Proxy( 
  6290.     ILockBytes __RPC_FAR * This,
  6291.     /* [in] */ ULARGE_INTEGER libOffset,
  6292.     /* [in] */ ULARGE_INTEGER cb,
  6293.     /* [in] */ DWORD dwLockType);
  6294.  
  6295.  
  6296. void __RPC_STUB ILockBytes_LockRegion_Stub(
  6297.     IRpcStubBuffer *This,
  6298.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6299.     PRPC_MESSAGE _pRpcMessage,
  6300.     DWORD *_pdwStubPhase);
  6301.  
  6302.  
  6303. HRESULT __stdcall ILockBytes_UnlockRegion_Proxy( 
  6304.     ILockBytes __RPC_FAR * This,
  6305.     /* [in] */ ULARGE_INTEGER libOffset,
  6306.     /* [in] */ ULARGE_INTEGER cb,
  6307.     /* [in] */ DWORD dwLockType);
  6308.  
  6309.  
  6310. void __RPC_STUB ILockBytes_UnlockRegion_Stub(
  6311.     IRpcStubBuffer *This,
  6312.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6313.     PRPC_MESSAGE _pRpcMessage,
  6314.     DWORD *_pdwStubPhase);
  6315.  
  6316.  
  6317. HRESULT __stdcall ILockBytes_Stat_Proxy( 
  6318.     ILockBytes __RPC_FAR * This,
  6319.     /* [out] */ STATSTG __RPC_FAR *pstatstg,
  6320.     /* [in] */ DWORD grfStatFlag);
  6321.  
  6322.  
  6323. void __RPC_STUB ILockBytes_Stat_Stub(
  6324.     IRpcStubBuffer *This,
  6325.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6326.     PRPC_MESSAGE _pRpcMessage,
  6327.     DWORD *_pdwStubPhase);
  6328.  
  6329.  
  6330.  
  6331. #endif  /* __ILockBytes_INTERFACE_DEFINED__ */
  6332.  
  6333.  
  6334. #ifndef __IEnumFORMATETC_INTERFACE_DEFINED__
  6335. #define __IEnumFORMATETC_INTERFACE_DEFINED__
  6336.  
  6337. /****************************************
  6338.  * Generated header for interface: IEnumFORMATETC
  6339.  * at Fri Sep 02 18:12:06 1994
  6340.  * using MIDL 2.00.71
  6341.  ****************************************/
  6342. /* [unique][uuid][object] */ 
  6343.  
  6344.  
  6345.             /* size is 4 */
  6346. typedef /* [unique] */ IEnumFORMATETC __RPC_FAR *LPENUMFORMATETC;
  6347.  
  6348.             /* size is 12 */
  6349. typedef struct  tagDVTARGETDEVICE
  6350.     {
  6351.     DWORD tdSize;
  6352.     WORD tdDriverNameOffset;
  6353.     WORD tdDeviceNameOffset;
  6354.     WORD tdPortNameOffset;
  6355.     WORD tdExtDevmodeOffset;
  6356.     /* [size_is] */ BYTE tdData[ 1 ];
  6357.     }   DVTARGETDEVICE;
  6358.  
  6359.             /* size is 2 */
  6360. typedef WORD CLIPFORMAT;
  6361.  
  6362.             /* size is 4 */
  6363. typedef CLIPFORMAT __RPC_FAR *LPCLIPFORMAT;
  6364.  
  6365.             /* size is 20 */
  6366. typedef struct  tagFORMATETC
  6367.     {
  6368.     CLIPFORMAT cfFormat;
  6369.     /* [unique] */ DVTARGETDEVICE __RPC_FAR *ptd;
  6370.     DWORD dwAspect;
  6371.     LONG lindex;
  6372.     DWORD tymed;
  6373.     }   FORMATETC;
  6374.  
  6375.             /* size is 4 */
  6376. typedef struct tagFORMATETC __RPC_FAR *LPFORMATETC;
  6377.  
  6378.  
  6379. EXTERN_C const IID IID_IEnumFORMATETC;
  6380.  
  6381. #if defined(__cplusplus) && !defined(CINTERFACE)
  6382.     
  6383.     interface IEnumFORMATETC : public IUnknown
  6384.     {
  6385.     public:
  6386.     virtual /* [local] */ HRESULT __stdcall Next( 
  6387.         /* [in] */ ULONG celt,
  6388.         /* [out] */ FORMATETC __RPC_FAR *rgelt,
  6389.         /* [out] */ ULONG __RPC_FAR *pceltFetched) = 0;
  6390.     
  6391.     virtual HRESULT __stdcall Skip( 
  6392.         /* [in] */ ULONG celt) = 0;
  6393.     
  6394.     virtual HRESULT __stdcall Reset( void) = 0;
  6395.     
  6396.     virtual HRESULT __stdcall Clone( 
  6397.         /* [out] */ IEnumFORMATETC __RPC_FAR *__RPC_FAR *ppenum) = 0;
  6398.     
  6399.     };
  6400.     
  6401. #else   /* C style interface */
  6402.     
  6403.     typedef struct IEnumFORMATETCVtbl
  6404.     {
  6405.     
  6406.     HRESULT ( __stdcall __RPC_FAR *QueryInterface )( 
  6407.         IEnumFORMATETC __RPC_FAR * This,
  6408.         /* [in] */ REFIID riid,
  6409.         /* [out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  6410.     
  6411.     ULONG ( __stdcall __RPC_FAR *AddRef )( 
  6412.         IEnumFORMATETC __RPC_FAR * This);
  6413.     
  6414.     ULONG ( __stdcall __RPC_FAR *Release )( 
  6415.         IEnumFORMATETC __RPC_FAR * This);
  6416.     
  6417.     /* [local] */ HRESULT ( __stdcall __RPC_FAR *Next )( 
  6418.         IEnumFORMATETC __RPC_FAR * This,
  6419.         /* [in] */ ULONG celt,
  6420.         /* [out] */ FORMATETC __RPC_FAR *rgelt,
  6421.         /* [out] */ ULONG __RPC_FAR *pceltFetched);
  6422.     
  6423.     HRESULT ( __stdcall __RPC_FAR *Skip )( 
  6424.         IEnumFORMATETC __RPC_FAR * This,
  6425.         /* [in] */ ULONG celt);
  6426.     
  6427.     HRESULT ( __stdcall __RPC_FAR *Reset )( 
  6428.         IEnumFORMATETC __RPC_FAR * This);
  6429.     
  6430.     HRESULT ( __stdcall __RPC_FAR *Clone )( 
  6431.         IEnumFORMATETC __RPC_FAR * This,
  6432.         /* [out] */ IEnumFORMATETC __RPC_FAR *__RPC_FAR *ppenum);
  6433.     
  6434.     } IEnumFORMATETCVtbl;
  6435.     
  6436.     interface IEnumFORMATETC
  6437.     {
  6438.     CONST_VTBL struct IEnumFORMATETCVtbl __RPC_FAR *lpVtbl;
  6439.     };
  6440.     
  6441.     
  6442.  
  6443. #ifdef COBJMACROS
  6444.  
  6445.  
  6446. #define IEnumFORMATETC_QueryInterface(This,riid,ppvObject)      \
  6447.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  6448.  
  6449. #define IEnumFORMATETC_AddRef(This)     \
  6450.     (This)->lpVtbl -> AddRef(This)
  6451.  
  6452. #define IEnumFORMATETC_Release(This)    \
  6453.     (This)->lpVtbl -> Release(This)
  6454.  
  6455.  
  6456. #define IEnumFORMATETC_Next(This,celt,rgelt,pceltFetched)       \
  6457.     (This)->lpVtbl -> Next(This,celt,rgelt,pceltFetched)
  6458.  
  6459. #define IEnumFORMATETC_Skip(This,celt)  \
  6460.     (This)->lpVtbl -> Skip(This,celt)
  6461.  
  6462. #define IEnumFORMATETC_Reset(This)      \
  6463.     (This)->lpVtbl -> Reset(This)
  6464.  
  6465. #define IEnumFORMATETC_Clone(This,ppenum)       \
  6466.     (This)->lpVtbl -> Clone(This,ppenum)
  6467.  
  6468. #endif /* COBJMACROS */
  6469.  
  6470.  
  6471. #endif  /* C style interface */
  6472.  
  6473.  
  6474.  
  6475. /* [call_as] */ HRESULT __stdcall IEnumFORMATETC_RemoteNext_Proxy( 
  6476.     IEnumFORMATETC __RPC_FAR * This,
  6477.     /* [in] */ ULONG celt,
  6478.     /* [length_is][size_is][out] */ FORMATETC __RPC_FAR *rgelt,
  6479.     /* [out] */ ULONG __RPC_FAR *pceltFetched);
  6480.  
  6481.  
  6482. void __RPC_STUB IEnumFORMATETC_RemoteNext_Stub(
  6483.     IRpcStubBuffer *This,
  6484.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6485.     PRPC_MESSAGE _pRpcMessage,
  6486.     DWORD *_pdwStubPhase);
  6487.  
  6488.  
  6489. HRESULT __stdcall IEnumFORMATETC_Skip_Proxy( 
  6490.     IEnumFORMATETC __RPC_FAR * This,
  6491.     /* [in] */ ULONG celt);
  6492.  
  6493.  
  6494. void __RPC_STUB IEnumFORMATETC_Skip_Stub(
  6495.     IRpcStubBuffer *This,
  6496.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6497.     PRPC_MESSAGE _pRpcMessage,
  6498.     DWORD *_pdwStubPhase);
  6499.  
  6500.  
  6501. HRESULT __stdcall IEnumFORMATETC_Reset_Proxy( 
  6502.     IEnumFORMATETC __RPC_FAR * This);
  6503.  
  6504.  
  6505. void __RPC_STUB IEnumFORMATETC_Reset_Stub(
  6506.     IRpcStubBuffer *This,
  6507.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6508.     PRPC_MESSAGE _pRpcMessage,
  6509.     DWORD *_pdwStubPhase);
  6510.  
  6511.  
  6512. HRESULT __stdcall IEnumFORMATETC_Clone_Proxy( 
  6513.     IEnumFORMATETC __RPC_FAR * This,
  6514.     /* [out] */ IEnumFORMATETC __RPC_FAR *__RPC_FAR *ppenum);
  6515.  
  6516.  
  6517. void __RPC_STUB IEnumFORMATETC_Clone_Stub(
  6518.     IRpcStubBuffer *This,
  6519.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6520.     PRPC_MESSAGE _pRpcMessage,
  6521.     DWORD *_pdwStubPhase);
  6522.  
  6523.  
  6524.  
  6525. #endif  /* __IEnumFORMATETC_INTERFACE_DEFINED__ */
  6526.  
  6527.  
  6528. #ifndef __IEnumSTATDATA_INTERFACE_DEFINED__
  6529. #define __IEnumSTATDATA_INTERFACE_DEFINED__
  6530.  
  6531. /****************************************
  6532.  * Generated header for interface: IEnumSTATDATA
  6533.  * at Fri Sep 02 18:12:06 1994
  6534.  * using MIDL 2.00.71
  6535.  ****************************************/
  6536. /* [unique][uuid][object] */ 
  6537.  
  6538.  
  6539.             /* size is 4 */
  6540. typedef /* [unique] */ IEnumSTATDATA __RPC_FAR *LPENUMSTATDATA;
  6541.  
  6542.             /* size is 2 */
  6543. typedef 
  6544. enum tagADVF
  6545.     {   ADVF_NODATA     = 1,
  6546.     ADVF_PRIMEFIRST = 2,
  6547.     ADVF_ONLYONCE   = 4,
  6548.     ADVF_DATAONSTOP = 64,
  6549.     ADVFCACHE_NOHANDLER     = 8,
  6550.     ADVFCACHE_FORCEBUILTIN  = 16,
  6551.     ADVFCACHE_ONSAVE        = 32
  6552.     }   ADVF;
  6553.  
  6554.             /* size is 32 */
  6555. typedef struct  tagSTATDATA
  6556.     {
  6557.     FORMATETC formatetc;
  6558.     DWORD advf;
  6559.     /* [unique] */ IAdviseSink __RPC_FAR *pAdvSink;
  6560.     DWORD dwConnection;
  6561.     }   STATDATA;
  6562.  
  6563.             /* size is 4 */
  6564. typedef STATDATA __RPC_FAR *LPSTATDATA;
  6565.  
  6566.  
  6567. EXTERN_C const IID IID_IEnumSTATDATA;
  6568.  
  6569. #if defined(__cplusplus) && !defined(CINTERFACE)
  6570.     
  6571.     interface IEnumSTATDATA : public IUnknown
  6572.     {
  6573.     public:
  6574.     virtual /* [local] */ HRESULT __stdcall Next( 
  6575.         /* [in] */ ULONG celt,
  6576.         STATDATA __RPC_FAR *rgelt,
  6577.         /* [out] */ ULONG __RPC_FAR *pceltFetched) = 0;
  6578.     
  6579.     virtual HRESULT __stdcall Skip( 
  6580.         /* [in] */ ULONG celt) = 0;
  6581.     
  6582.     virtual HRESULT __stdcall Reset( void) = 0;
  6583.     
  6584.     virtual HRESULT __stdcall Clone( 
  6585.         /* [out] */ IEnumSTATDATA __RPC_FAR *__RPC_FAR *ppenum) = 0;
  6586.     
  6587.     };
  6588.     
  6589. #else   /* C style interface */
  6590.     
  6591.     typedef struct IEnumSTATDATAVtbl
  6592.     {
  6593.     
  6594.     HRESULT ( __stdcall __RPC_FAR *QueryInterface )( 
  6595.         IEnumSTATDATA __RPC_FAR * This,
  6596.         /* [in] */ REFIID riid,
  6597.         /* [out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  6598.     
  6599.     ULONG ( __stdcall __RPC_FAR *AddRef )( 
  6600.         IEnumSTATDATA __RPC_FAR * This);
  6601.     
  6602.     ULONG ( __stdcall __RPC_FAR *Release )( 
  6603.         IEnumSTATDATA __RPC_FAR * This);
  6604.     
  6605.     /* [local] */ HRESULT ( __stdcall __RPC_FAR *Next )( 
  6606.         IEnumSTATDATA __RPC_FAR * This,
  6607.         /* [in] */ ULONG celt,
  6608.         STATDATA __RPC_FAR *rgelt,
  6609.         /* [out] */ ULONG __RPC_FAR *pceltFetched);
  6610.     
  6611.     HRESULT ( __stdcall __RPC_FAR *Skip )( 
  6612.         IEnumSTATDATA __RPC_FAR * This,
  6613.         /* [in] */ ULONG celt);
  6614.     
  6615.     HRESULT ( __stdcall __RPC_FAR *Reset )( 
  6616.         IEnumSTATDATA __RPC_FAR * This);
  6617.     
  6618.     HRESULT ( __stdcall __RPC_FAR *Clone )( 
  6619.         IEnumSTATDATA __RPC_FAR * This,
  6620.         /* [out] */ IEnumSTATDATA __RPC_FAR *__RPC_FAR *ppenum);
  6621.     
  6622.     } IEnumSTATDATAVtbl;
  6623.     
  6624.     interface IEnumSTATDATA
  6625.     {
  6626.     CONST_VTBL struct IEnumSTATDATAVtbl __RPC_FAR *lpVtbl;
  6627.     };
  6628.     
  6629.     
  6630.  
  6631. #ifdef COBJMACROS
  6632.  
  6633.  
  6634. #define IEnumSTATDATA_QueryInterface(This,riid,ppvObject)       \
  6635.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  6636.  
  6637. #define IEnumSTATDATA_AddRef(This)      \
  6638.     (This)->lpVtbl -> AddRef(This)
  6639.  
  6640. #define IEnumSTATDATA_Release(This)     \
  6641.     (This)->lpVtbl -> Release(This)
  6642.  
  6643.  
  6644. #define IEnumSTATDATA_Next(This,celt,rgelt,pceltFetched)        \
  6645.     (This)->lpVtbl -> Next(This,celt,rgelt,pceltFetched)
  6646.  
  6647. #define IEnumSTATDATA_Skip(This,celt)   \
  6648.     (This)->lpVtbl -> Skip(This,celt)
  6649.  
  6650. #define IEnumSTATDATA_Reset(This)       \
  6651.     (This)->lpVtbl -> Reset(This)
  6652.  
  6653. #define IEnumSTATDATA_Clone(This,ppenum)        \
  6654.     (This)->lpVtbl -> Clone(This,ppenum)
  6655.  
  6656. #endif /* COBJMACROS */
  6657.  
  6658.  
  6659. #endif  /* C style interface */
  6660.  
  6661.  
  6662.  
  6663. /* [call_as] */ HRESULT __stdcall IEnumSTATDATA_RemoteNext_Proxy( 
  6664.     IEnumSTATDATA __RPC_FAR * This,
  6665.     /* [in] */ ULONG celt,
  6666.     /* [length_is][size_is][out] */ STATDATA __RPC_FAR *rgelt,
  6667.     /* [out] */ ULONG __RPC_FAR *pceltFetched);
  6668.  
  6669.  
  6670. void __RPC_STUB IEnumSTATDATA_RemoteNext_Stub(
  6671.     IRpcStubBuffer *This,
  6672.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6673.     PRPC_MESSAGE _pRpcMessage,
  6674.     DWORD *_pdwStubPhase);
  6675.  
  6676.  
  6677. HRESULT __stdcall IEnumSTATDATA_Skip_Proxy( 
  6678.     IEnumSTATDATA __RPC_FAR * This,
  6679.     /* [in] */ ULONG celt);
  6680.  
  6681.  
  6682. void __RPC_STUB IEnumSTATDATA_Skip_Stub(
  6683.     IRpcStubBuffer *This,
  6684.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6685.     PRPC_MESSAGE _pRpcMessage,
  6686.     DWORD *_pdwStubPhase);
  6687.  
  6688.  
  6689. HRESULT __stdcall IEnumSTATDATA_Reset_Proxy( 
  6690.     IEnumSTATDATA __RPC_FAR * This);
  6691.  
  6692.  
  6693. void __RPC_STUB IEnumSTATDATA_Reset_Stub(
  6694.     IRpcStubBuffer *This,
  6695.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6696.     PRPC_MESSAGE _pRpcMessage,
  6697.     DWORD *_pdwStubPhase);
  6698.  
  6699.  
  6700. HRESULT __stdcall IEnumSTATDATA_Clone_Proxy( 
  6701.     IEnumSTATDATA __RPC_FAR * This,
  6702.     /* [out] */ IEnumSTATDATA __RPC_FAR *__RPC_FAR *ppenum);
  6703.  
  6704.  
  6705. void __RPC_STUB IEnumSTATDATA_Clone_Stub(
  6706.     IRpcStubBuffer *This,
  6707.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6708.     PRPC_MESSAGE _pRpcMessage,
  6709.     DWORD *_pdwStubPhase);
  6710.  
  6711.  
  6712.  
  6713. #endif  /* __IEnumSTATDATA_INTERFACE_DEFINED__ */
  6714.  
  6715.  
  6716. #ifndef __IRootStorage_INTERFACE_DEFINED__
  6717. #define __IRootStorage_INTERFACE_DEFINED__
  6718.  
  6719. /****************************************
  6720.  * Generated header for interface: IRootStorage
  6721.  * at Fri Sep 02 18:12:06 1994
  6722.  * using MIDL 2.00.71
  6723.  ****************************************/
  6724. /* [unique][uuid][object] */ 
  6725.  
  6726.  
  6727.             /* size is 4 */
  6728. typedef /* [unique] */ IRootStorage __RPC_FAR *LPROOTSTORAGE;
  6729.  
  6730.  
  6731. EXTERN_C const IID IID_IRootStorage;
  6732.  
  6733. #if defined(__cplusplus) && !defined(CINTERFACE)
  6734.     
  6735.     interface IRootStorage : public IUnknown
  6736.     {
  6737.     public:
  6738.     virtual HRESULT __stdcall SwitchToFile( 
  6739.         /* [string][in] */ LPOLESTR pszFile) = 0;
  6740.     
  6741.     };
  6742.     
  6743. #else   /* C style interface */
  6744.     
  6745.     typedef struct IRootStorageVtbl
  6746.     {
  6747.     
  6748.     HRESULT ( __stdcall __RPC_FAR *QueryInterface )( 
  6749.         IRootStorage __RPC_FAR * This,
  6750.         /* [in] */ REFIID riid,
  6751.         /* [out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  6752.     
  6753.     ULONG ( __stdcall __RPC_FAR *AddRef )( 
  6754.         IRootStorage __RPC_FAR * This);
  6755.     
  6756.     ULONG ( __stdcall __RPC_FAR *Release )( 
  6757.         IRootStorage __RPC_FAR * This);
  6758.     
  6759.     HRESULT ( __stdcall __RPC_FAR *SwitchToFile )( 
  6760.         IRootStorage __RPC_FAR * This,
  6761.         /* [string][in] */ LPOLESTR pszFile);
  6762.     
  6763.     } IRootStorageVtbl;
  6764.     
  6765.     interface IRootStorage
  6766.     {
  6767.     CONST_VTBL struct IRootStorageVtbl __RPC_FAR *lpVtbl;
  6768.     };
  6769.     
  6770.     
  6771.  
  6772. #ifdef COBJMACROS
  6773.  
  6774.  
  6775. #define IRootStorage_QueryInterface(This,riid,ppvObject)        \
  6776.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  6777.  
  6778. #define IRootStorage_AddRef(This)       \
  6779.     (This)->lpVtbl -> AddRef(This)
  6780.  
  6781. #define IRootStorage_Release(This)      \
  6782.     (This)->lpVtbl -> Release(This)
  6783.  
  6784.  
  6785. #define IRootStorage_SwitchToFile(This,pszFile) \
  6786.     (This)->lpVtbl -> SwitchToFile(This,pszFile)
  6787.  
  6788. #endif /* COBJMACROS */
  6789.  
  6790.  
  6791. #endif  /* C style interface */
  6792.  
  6793.  
  6794.  
  6795. HRESULT __stdcall IRootStorage_SwitchToFile_Proxy( 
  6796.     IRootStorage __RPC_FAR * This,
  6797.     /* [string][in] */ LPOLESTR pszFile);
  6798.  
  6799.  
  6800. void __RPC_STUB IRootStorage_SwitchToFile_Stub(
  6801.     IRpcStubBuffer *This,
  6802.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6803.     PRPC_MESSAGE _pRpcMessage,
  6804.     DWORD *_pdwStubPhase);
  6805.  
  6806.  
  6807.  
  6808. #endif  /* __IRootStorage_INTERFACE_DEFINED__ */
  6809.  
  6810.  
  6811. #ifndef __IAdviseSink_INTERFACE_DEFINED__
  6812. #define __IAdviseSink_INTERFACE_DEFINED__
  6813.  
  6814. /****************************************
  6815.  * Generated header for interface: IAdviseSink
  6816.  * at Fri Sep 02 18:12:06 1994
  6817.  * using MIDL 2.00.71
  6818.  ****************************************/
  6819. /* [unique][uuid][object] */ 
  6820.  
  6821.  
  6822.             /* size is 4 */
  6823. typedef IAdviseSink __RPC_FAR *LPADVISESINK;
  6824.  
  6825.             /* size is 2 */
  6826. typedef /* [v1_enum] */ 
  6827. enum tagTYMED
  6828.     {   TYMED_HGLOBAL   = 1,
  6829.     TYMED_FILE      = 2,
  6830.     TYMED_ISTREAM   = 4,
  6831.     TYMED_ISTORAGE  = 8,
  6832.     TYMED_GDI       = 16,
  6833.     TYMED_MFPICT    = 32,
  6834.     TYMED_ENHMF     = 64,
  6835.     TYMED_NULL      = 0
  6836.     }   TYMED;
  6837.  
  6838. #pragma warning(disable:4200)
  6839.             /* size is 20 */
  6840. typedef struct  tagRemSTGMEDIUM
  6841.     {
  6842.     DWORD tymed;
  6843.     DWORD dwHandleType;
  6844.     unsigned long pData;
  6845.     unsigned long pUnkForRelease;
  6846.     unsigned long cbData;
  6847.     /* [size_is] */ byte data[ 1 ];
  6848.     }   RemSTGMEDIUM;
  6849.  
  6850. #pragma warning(default:4200)
  6851. #ifdef NONAMELESSUNION
  6852. typedef struct tagSTGMEDIUM {
  6853.     DWORD tymed;
  6854.     union {
  6855.     HBITMAP hBitmap;
  6856.     HMETAFILEPICT hMetaFilePict;
  6857.     HENHMETAFILE hEnhMetaFile;
  6858.     HGLOBAL hGlobal;
  6859.     LPOLESTR lpszFileName;
  6860.     IStream *pstm;
  6861.     IStorage *pstg;
  6862.     } u;
  6863.     IUnknown *pUnkForRelease;
  6864. }STGMEDIUM;
  6865. #else
  6866.             /* size is 12 */
  6867. typedef struct  tagSTGMEDIUM
  6868.     {
  6869.     DWORD tymed;
  6870.     /* [switch_is][switch_type] */ union 
  6871.     {
  6872.     /* [case] */ HBITMAP hBitmap;
  6873.     /* [case] */ HMETAFILEPICT hMetaFilePict;
  6874.     /* [case] */ HENHMETAFILE hEnhMetaFile;
  6875.     /* [case] */ HGLOBAL hGlobal;
  6876.     /* [case] */ LPOLESTR lpszFileName;
  6877.     /* [case] */ IStream __RPC_FAR *pstm;
  6878.     /* [case] */ IStorage __RPC_FAR *pstg;
  6879.     /* [default] */  /* Empty union arm */ 
  6880.     }       ;
  6881.     /* [unique] */ IUnknown __RPC_FAR *pUnkForRelease;
  6882.     }   STGMEDIUM;
  6883.  
  6884. #endif /* !NONAMELESSUNION */
  6885.             /* size is 4 */
  6886. typedef STGMEDIUM __RPC_FAR *LPSTGMEDIUM;
  6887.  
  6888.  
  6889. EXTERN_C const IID IID_IAdviseSink;
  6890.  
  6891. #if defined(__cplusplus) && !defined(CINTERFACE)
  6892.     
  6893.     interface IAdviseSink : public IUnknown
  6894.     {
  6895.     public:
  6896.     virtual /* [local] */ void __stdcall OnDataChange( 
  6897.         /* [unique][in] */ FORMATETC __RPC_FAR *pFormatetc,
  6898.         /* [unique][in] */ STGMEDIUM __RPC_FAR *pStgmed) = 0;
  6899.     
  6900.     virtual /* [local] */ void __stdcall OnViewChange( 
  6901.         /* [in] */ DWORD dwAspect,
  6902.         /* [in] */ LONG lindex) = 0;
  6903.     
  6904.     virtual /* [local] */ void __stdcall OnRename( 
  6905.         /* [in] */ IMoniker __RPC_FAR *pmk) = 0;
  6906.     
  6907.     virtual /* [local] */ void __stdcall OnSave( void) = 0;
  6908.     
  6909.     virtual /* [local] */ void __stdcall OnClose( void) = 0;
  6910.     
  6911.     };
  6912.     
  6913. #else   /* C style interface */
  6914.     
  6915.     typedef struct IAdviseSinkVtbl
  6916.     {
  6917.     
  6918.     HRESULT ( __stdcall __RPC_FAR *QueryInterface )( 
  6919.         IAdviseSink __RPC_FAR * This,
  6920.         /* [in] */ REFIID riid,
  6921.         /* [out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  6922.     
  6923.     ULONG ( __stdcall __RPC_FAR *AddRef )( 
  6924.         IAdviseSink __RPC_FAR * This);
  6925.     
  6926.     ULONG ( __stdcall __RPC_FAR *Release )( 
  6927.         IAdviseSink __RPC_FAR * This);
  6928.     
  6929.     /* [local] */ void ( __stdcall __RPC_FAR *OnDataChange )( 
  6930.         IAdviseSink __RPC_FAR * This,
  6931.         /* [unique][in] */ FORMATETC __RPC_FAR *pFormatetc,
  6932.         /* [unique][in] */ STGMEDIUM __RPC_FAR *pStgmed);
  6933.     
  6934.     /* [local] */ void ( __stdcall __RPC_FAR *OnViewChange )( 
  6935.         IAdviseSink __RPC_FAR * This,
  6936.         /* [in] */ DWORD dwAspect,
  6937.         /* [in] */ LONG lindex);
  6938.     
  6939.     /* [local] */ void ( __stdcall __RPC_FAR *OnRename )( 
  6940.         IAdviseSink __RPC_FAR * This,
  6941.         /* [in] */ IMoniker __RPC_FAR *pmk);
  6942.     
  6943.     /* [local] */ void ( __stdcall __RPC_FAR *OnSave )( 
  6944.         IAdviseSink __RPC_FAR * This);
  6945.     
  6946.     /* [local] */ void ( __stdcall __RPC_FAR *OnClose )( 
  6947.         IAdviseSink __RPC_FAR * This);
  6948.     
  6949.     } IAdviseSinkVtbl;
  6950.     
  6951.     interface IAdviseSink
  6952.     {
  6953.     CONST_VTBL struct IAdviseSinkVtbl __RPC_FAR *lpVtbl;
  6954.     };
  6955.     
  6956.     
  6957.  
  6958. #ifdef COBJMACROS
  6959.  
  6960.  
  6961. #define IAdviseSink_QueryInterface(This,riid,ppvObject) \
  6962.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  6963.  
  6964. #define IAdviseSink_AddRef(This)        \
  6965.     (This)->lpVtbl -> AddRef(This)
  6966.  
  6967. #define IAdviseSink_Release(This)       \
  6968.     (This)->lpVtbl -> Release(This)
  6969.  
  6970.  
  6971. #define IAdviseSink_OnDataChange(This,pFormatetc,pStgmed)       \
  6972.     (This)->lpVtbl -> OnDataChange(This,pFormatetc,pStgmed)
  6973.  
  6974. #define IAdviseSink_OnViewChange(This,dwAspect,lindex)  \
  6975.     (This)->lpVtbl -> OnViewChange(This,dwAspect,lindex)
  6976.  
  6977. #define IAdviseSink_OnRename(This,pmk)  \
  6978.     (This)->lpVtbl -> OnRename(This,pmk)
  6979.  
  6980. #define IAdviseSink_OnSave(This)        \
  6981.     (This)->lpVtbl -> OnSave(This)
  6982.  
  6983. #define IAdviseSink_OnClose(This)       \
  6984.     (This)->lpVtbl -> OnClose(This)
  6985.  
  6986. #endif /* COBJMACROS */
  6987.  
  6988.  
  6989. #endif  /* C style interface */
  6990.  
  6991.  
  6992.  
  6993. /* [async][call_as] */ void __stdcall IAdviseSink_RemoteOnDataChange_Proxy( 
  6994.     IAdviseSink __RPC_FAR * This,
  6995.     /* [unique][in] */ FORMATETC __RPC_FAR *pFormatetc,
  6996.     /* [unique][in] */ RemSTGMEDIUM __RPC_FAR *pStgmed);
  6997.  
  6998.  
  6999. void __RPC_STUB IAdviseSink_RemoteOnDataChange_Stub(
  7000.     IRpcStubBuffer *This,
  7001.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7002.     PRPC_MESSAGE _pRpcMessage,
  7003.     DWORD *_pdwStubPhase);
  7004.  
  7005.  
  7006. /* [async][call_as] */ void __stdcall IAdviseSink_RemoteOnViewChange_Proxy( 
  7007.     IAdviseSink __RPC_FAR * This,
  7008.     /* [in] */ DWORD dwAspect,
  7009.     /* [in] */ LONG lindex);
  7010.  
  7011.  
  7012. void __RPC_STUB IAdviseSink_RemoteOnViewChange_Stub(
  7013.     IRpcStubBuffer *This,
  7014.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7015.     PRPC_MESSAGE _pRpcMessage,
  7016.     DWORD *_pdwStubPhase);
  7017.  
  7018.  
  7019. /* [async][call_as] */ void __stdcall IAdviseSink_RemoteOnRename_Proxy( 
  7020.     IAdviseSink __RPC_FAR * This,
  7021.     /* [in] */ IMoniker __RPC_FAR *pmk);
  7022.  
  7023.  
  7024. void __RPC_STUB IAdviseSink_RemoteOnRename_Stub(
  7025.     IRpcStubBuffer *This,
  7026.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7027.     PRPC_MESSAGE _pRpcMessage,
  7028.     DWORD *_pdwStubPhase);
  7029.  
  7030.  
  7031. /* [async][call_as] */ void __stdcall IAdviseSink_RemoteOnSave_Proxy( 
  7032.     IAdviseSink __RPC_FAR * This);
  7033.  
  7034.  
  7035. void __RPC_STUB IAdviseSink_RemoteOnSave_Stub(
  7036.     IRpcStubBuffer *This,
  7037.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7038.     PRPC_MESSAGE _pRpcMessage,
  7039.     DWORD *_pdwStubPhase);
  7040.  
  7041.  
  7042. /* [call_as] */ void __stdcall IAdviseSink_RemoteOnClose_Proxy( 
  7043.     IAdviseSink __RPC_FAR * This);
  7044.  
  7045.  
  7046. void __RPC_STUB IAdviseSink_RemoteOnClose_Stub(
  7047.     IRpcStubBuffer *This,
  7048.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7049.     PRPC_MESSAGE _pRpcMessage,
  7050.     DWORD *_pdwStubPhase);
  7051.  
  7052.  
  7053.  
  7054. #endif  /* __IAdviseSink_INTERFACE_DEFINED__ */
  7055.  
  7056.  
  7057. #ifndef __IAdviseSink2_INTERFACE_DEFINED__
  7058. #define __IAdviseSink2_INTERFACE_DEFINED__
  7059.  
  7060. /****************************************
  7061.  * Generated header for interface: IAdviseSink2
  7062.  * at Fri Sep 02 18:12:06 1994
  7063.  * using MIDL 2.00.71
  7064.  ****************************************/
  7065. /* [unique][uuid][object] */ 
  7066.  
  7067.  
  7068.             /* size is 4 */
  7069. typedef /* [unique] */ IAdviseSink2 __RPC_FAR *LPADVISESINK2;
  7070.  
  7071.  
  7072. EXTERN_C const IID IID_IAdviseSink2;
  7073.  
  7074. #if defined(__cplusplus) && !defined(CINTERFACE)
  7075.     
  7076.     interface IAdviseSink2 : public IAdviseSink
  7077.     {
  7078.     public:
  7079.     virtual /* [local] */ void __stdcall OnLinkSrcChange( 
  7080.         /* [unique][in] */ IMoniker __RPC_FAR *pmk) = 0;
  7081.     
  7082.     };
  7083.     
  7084. #else   /* C style interface */
  7085.     
  7086.     typedef struct IAdviseSink2Vtbl
  7087.     {
  7088.     
  7089.     HRESULT ( __stdcall __RPC_FAR *QueryInterface )( 
  7090.         IAdviseSink2 __RPC_FAR * This,
  7091.         /* [in] */ REFIID riid,
  7092.         /* [out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  7093.     
  7094.     ULONG ( __stdcall __RPC_FAR *AddRef )( 
  7095.         IAdviseSink2 __RPC_FAR * This);
  7096.     
  7097.     ULONG ( __stdcall __RPC_FAR *Release )( 
  7098.         IAdviseSink2 __RPC_FAR * This);
  7099.     
  7100.     /* [local] */ void ( __stdcall __RPC_FAR *OnDataChange )( 
  7101.         IAdviseSink2 __RPC_FAR * This,
  7102.         /* [unique][in] */ FORMATETC __RPC_FAR *pFormatetc,
  7103.         /* [unique][in] */ STGMEDIUM __RPC_FAR *pStgmed);
  7104.     
  7105.     /* [local] */ void ( __stdcall __RPC_FAR *OnViewChange )( 
  7106.         IAdviseSink2 __RPC_FAR * This,
  7107.         /* [in] */ DWORD dwAspect,
  7108.         /* [in] */ LONG lindex);
  7109.     
  7110.     /* [local] */ void ( __stdcall __RPC_FAR *OnRename )( 
  7111.         IAdviseSink2 __RPC_FAR * This,
  7112.         /* [in] */ IMoniker __RPC_FAR *pmk);
  7113.     
  7114.     /* [local] */ void ( __stdcall __RPC_FAR *OnSave )( 
  7115.         IAdviseSink2 __RPC_FAR * This);
  7116.     
  7117.     /* [local] */ void ( __stdcall __RPC_FAR *OnClose )( 
  7118.         IAdviseSink2 __RPC_FAR * This);
  7119.     
  7120.     /* [local] */ void ( __stdcall __RPC_FAR *OnLinkSrcChange )( 
  7121.         IAdviseSink2 __RPC_FAR * This,
  7122.         /* [unique][in] */ IMoniker __RPC_FAR *pmk);
  7123.     
  7124.     } IAdviseSink2Vtbl;
  7125.     
  7126.     interface IAdviseSink2
  7127.     {
  7128.     CONST_VTBL struct IAdviseSink2Vtbl __RPC_FAR *lpVtbl;
  7129.     };
  7130.     
  7131.     
  7132.  
  7133. #ifdef COBJMACROS
  7134.  
  7135.  
  7136. #define IAdviseSink2_QueryInterface(This,riid,ppvObject)        \
  7137.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  7138.  
  7139. #define IAdviseSink2_AddRef(This)       \
  7140.     (This)->lpVtbl -> AddRef(This)
  7141.  
  7142. #define IAdviseSink2_Release(This)      \
  7143.     (This)->lpVtbl -> Release(This)
  7144.  
  7145.  
  7146. #define IAdviseSink2_OnDataChange(This,pFormatetc,pStgmed)      \
  7147.     (This)->lpVtbl -> OnDataChange(This,pFormatetc,pStgmed)
  7148.  
  7149. #define IAdviseSink2_OnViewChange(This,dwAspect,lindex) \
  7150.     (This)->lpVtbl -> OnViewChange(This,dwAspect,lindex)
  7151.  
  7152. #define IAdviseSink2_OnRename(This,pmk) \
  7153.     (This)->lpVtbl -> OnRename(This,pmk)
  7154.  
  7155. #define IAdviseSink2_OnSave(This)       \
  7156.     (This)->lpVtbl -> OnSave(This)
  7157.  
  7158. #define IAdviseSink2_OnClose(This)      \
  7159.     (This)->lpVtbl -> OnClose(This)
  7160.  
  7161.  
  7162. #define IAdviseSink2_OnLinkSrcChange(This,pmk)  \
  7163.     (This)->lpVtbl -> OnLinkSrcChange(This,pmk)
  7164.  
  7165. #endif /* COBJMACROS */
  7166.  
  7167.  
  7168. #endif  /* C style interface */
  7169.  
  7170.  
  7171.  
  7172. /* [async][call_as] */ void __stdcall IAdviseSink2_RemoteOnLinkSrcChange_Proxy( 
  7173.     IAdviseSink2 __RPC_FAR * This,
  7174.     /* [unique][in] */ IMoniker __RPC_FAR *pmk);
  7175.  
  7176.  
  7177. void __RPC_STUB IAdviseSink2_RemoteOnLinkSrcChange_Stub(
  7178.     IRpcStubBuffer *This,
  7179.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7180.     PRPC_MESSAGE _pRpcMessage,
  7181.     DWORD *_pdwStubPhase);
  7182.  
  7183.  
  7184.  
  7185. #endif  /* __IAdviseSink2_INTERFACE_DEFINED__ */
  7186.  
  7187.  
  7188. #ifndef __IDataObject_INTERFACE_DEFINED__
  7189. #define __IDataObject_INTERFACE_DEFINED__
  7190.  
  7191. /****************************************
  7192.  * Generated header for interface: IDataObject
  7193.  * at Fri Sep 02 18:12:06 1994
  7194.  * using MIDL 2.00.71
  7195.  ****************************************/
  7196. /* [unique][uuid][object] */ 
  7197.  
  7198.  
  7199.             /* size is 4 */
  7200. typedef /* [unique] */ IDataObject __RPC_FAR *LPDATAOBJECT;
  7201.  
  7202.             /* size is 2 */
  7203. typedef 
  7204. enum tagDATADIR
  7205.     {   DATADIR_GET     = 1,
  7206.     DATADIR_SET     = 2
  7207.     }   DATADIR;
  7208.  
  7209.  
  7210. EXTERN_C const IID IID_IDataObject;
  7211.  
  7212. #if defined(__cplusplus) && !defined(CINTERFACE)
  7213.     
  7214.     interface IDataObject : public IUnknown
  7215.     {
  7216.     public:
  7217.     virtual /* [local] */ HRESULT __stdcall GetData( 
  7218.         /* [unique][in] */ FORMATETC __RPC_FAR *pformatetcIn,
  7219.         /* [out] */ STGMEDIUM __RPC_FAR *pmedium) = 0;
  7220.     
  7221.     virtual /* [local] */ HRESULT __stdcall GetDataHere( 
  7222.         /* [unique][in] */ FORMATETC __RPC_FAR *pformatetc,
  7223.         /* [out][in] */ STGMEDIUM __RPC_FAR *pmedium) = 0;
  7224.     
  7225.     virtual HRESULT __stdcall QueryGetData( 
  7226.         /* [unique][in] */ FORMATETC __RPC_FAR *pformatetc) = 0;
  7227.     
  7228.     virtual HRESULT __stdcall GetCanonicalFormatEtc( 
  7229.         /* [unique][in] */ FORMATETC __RPC_FAR *pformatectIn,
  7230.         /* [out] */ FORMATETC __RPC_FAR *pformatetcOut) = 0;
  7231.     
  7232.     virtual /* [local] */ HRESULT __stdcall SetData( 
  7233.         /* [unique][in] */ FORMATETC __RPC_FAR *pformatetc,
  7234.         /* [unique][in] */ STGMEDIUM __RPC_FAR *pmedium,
  7235.         /* [in] */ BOOL fRelease) = 0;
  7236.     
  7237.     virtual HRESULT __stdcall EnumFormatEtc( 
  7238.         /* [in] */ DWORD dwDirection,
  7239.         /* [out] */ IEnumFORMATETC __RPC_FAR *__RPC_FAR *ppenumFormatEtc) = 0;
  7240.     
  7241.     virtual HRESULT __stdcall DAdvise( 
  7242.         /* [in] */ FORMATETC __RPC_FAR *pformatetc,
  7243.         /* [in] */ DWORD advf,
  7244.         /* [unique][in] */ IAdviseSink __RPC_FAR *pAdvSink,
  7245.         /* [out] */ DWORD __RPC_FAR *pdwConnection) = 0;
  7246.     
  7247.     virtual HRESULT __stdcall DUnadvise( 
  7248.         /* [in] */ DWORD dwConnection) = 0;
  7249.     
  7250.     virtual HRESULT __stdcall EnumDAdvise( 
  7251.         /* [out] */ IEnumSTATDATA __RPC_FAR *__RPC_FAR *ppenumAdvise) = 0;
  7252.     
  7253.     };
  7254.     
  7255. #else   /* C style interface */
  7256.     
  7257.     typedef struct IDataObjectVtbl
  7258.     {
  7259.     
  7260.     HRESULT ( __stdcall __RPC_FAR *QueryInterface )( 
  7261.         IDataObject __RPC_FAR * This,
  7262.         /* [in] */ REFIID riid,
  7263.         /* [out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  7264.     
  7265.     ULONG ( __stdcall __RPC_FAR *AddRef )( 
  7266.         IDataObject __RPC_FAR * This);
  7267.     
  7268.     ULONG ( __stdcall __RPC_FAR *Release )( 
  7269.         IDataObject __RPC_FAR * This);
  7270.     
  7271.     /* [local] */ HRESULT ( __stdcall __RPC_FAR *GetData )( 
  7272.         IDataObject __RPC_FAR * This,
  7273.         /* [unique][in] */ FORMATETC __RPC_FAR *pformatetcIn,
  7274.         /* [out] */ STGMEDIUM __RPC_FAR *pmedium);
  7275.     
  7276.     /* [local] */ HRESULT ( __stdcall __RPC_FAR *GetDataHere )( 
  7277.         IDataObject __RPC_FAR * This,
  7278.         /* [unique][in] */ FORMATETC __RPC_FAR *pformatetc,
  7279.         /* [out][in] */ STGMEDIUM __RPC_FAR *pmedium);
  7280.     
  7281.     HRESULT ( __stdcall __RPC_FAR *QueryGetData )( 
  7282.         IDataObject __RPC_FAR * This,
  7283.         /* [unique][in] */ FORMATETC __RPC_FAR *pformatetc);
  7284.     
  7285.     HRESULT ( __stdcall __RPC_FAR *GetCanonicalFormatEtc )( 
  7286.         IDataObject __RPC_FAR * This,
  7287.         /* [unique][in] */ FORMATETC __RPC_FAR *pformatectIn,
  7288.         /* [out] */ FORMATETC __RPC_FAR *pformatetcOut);
  7289.     
  7290.     /* [local] */ HRESULT ( __stdcall __RPC_FAR *SetData )( 
  7291.         IDataObject __RPC_FAR * This,
  7292.         /* [unique][in] */ FORMATETC __RPC_FAR *pformatetc,
  7293.         /* [unique][in] */ STGMEDIUM __RPC_FAR *pmedium,
  7294.         /* [in] */ BOOL fRelease);
  7295.     
  7296.     HRESULT ( __stdcall __RPC_FAR *EnumFormatEtc )( 
  7297.         IDataObject __RPC_FAR * This,
  7298.         /* [in] */ DWORD dwDirection,
  7299.         /* [out] */ IEnumFORMATETC __RPC_FAR *__RPC_FAR *ppenumFormatEtc);
  7300.     
  7301.     HRESULT ( __stdcall __RPC_FAR *DAdvise )( 
  7302.         IDataObject __RPC_FAR * This,
  7303.         /* [in] */ FORMATETC __RPC_FAR *pformatetc,
  7304.         /* [in] */ DWORD advf,
  7305.         /* [unique][in] */ IAdviseSink __RPC_FAR *pAdvSink,
  7306.         /* [out] */ DWORD __RPC_FAR *pdwConnection);
  7307.     
  7308.     HRESULT ( __stdcall __RPC_FAR *DUnadvise )( 
  7309.         IDataObject __RPC_FAR * This,
  7310.         /* [in] */ DWORD dwConnection);
  7311.     
  7312.     HRESULT ( __stdcall __RPC_FAR *EnumDAdvise )( 
  7313.         IDataObject __RPC_FAR * This,
  7314.         /* [out] */ IEnumSTATDATA __RPC_FAR *__RPC_FAR *ppenumAdvise);
  7315.     
  7316.     } IDataObjectVtbl;
  7317.     
  7318.     interface IDataObject
  7319.     {
  7320.     CONST_VTBL struct IDataObjectVtbl __RPC_FAR *lpVtbl;
  7321.     };
  7322.     
  7323.     
  7324.  
  7325. #ifdef COBJMACROS
  7326.  
  7327.  
  7328. #define IDataObject_QueryInterface(This,riid,ppvObject) \
  7329.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  7330.  
  7331. #define IDataObject_AddRef(This)        \
  7332.     (This)->lpVtbl -> AddRef(This)
  7333.  
  7334. #define IDataObject_Release(This)       \
  7335.     (This)->lpVtbl -> Release(This)
  7336.  
  7337.  
  7338. #define IDataObject_GetData(This,pformatetcIn,pmedium)  \
  7339.     (This)->lpVtbl -> GetData(This,pformatetcIn,pmedium)
  7340.  
  7341. #define IDataObject_GetDataHere(This,pformatetc,pmedium)        \
  7342.     (This)->lpVtbl -> GetDataHere(This,pformatetc,pmedium)
  7343.  
  7344. #define IDataObject_QueryGetData(This,pformatetc)       \
  7345.     (This)->lpVtbl -> QueryGetData(This,pformatetc)
  7346.  
  7347. #define IDataObject_GetCanonicalFormatEtc(This,pformatectIn,pformatetcOut)      \
  7348.     (This)->lpVtbl -> GetCanonicalFormatEtc(This,pformatectIn,pformatetcOut)
  7349.  
  7350. #define IDataObject_SetData(This,pformatetc,pmedium,fRelease)   \
  7351.     (This)->lpVtbl -> SetData(This,pformatetc,pmedium,fRelease)
  7352.  
  7353. #define IDataObject_EnumFormatEtc(This,dwDirection,ppenumFormatEtc)     \
  7354.     (This)->lpVtbl -> EnumFormatEtc(This,dwDirection,ppenumFormatEtc)
  7355.  
  7356. #define IDataObject_DAdvise(This,pformatetc,advf,pAdvSink,pdwConnection)        \
  7357.     (This)->lpVtbl -> DAdvise(This,pformatetc,advf,pAdvSink,pdwConnection)
  7358.  
  7359. #define IDataObject_DUnadvise(This,dwConnection)        \
  7360.     (This)->lpVtbl -> DUnadvise(This,dwConnection)
  7361.  
  7362. #define IDataObject_EnumDAdvise(This,ppenumAdvise)      \
  7363.     (This)->lpVtbl -> EnumDAdvise(This,ppenumAdvise)
  7364.  
  7365. #endif /* COBJMACROS */
  7366.  
  7367.  
  7368. #endif  /* C style interface */
  7369.  
  7370.  
  7371.  
  7372. /* [call_as] */ HRESULT __stdcall IDataObject_RemoteGetData_Proxy( 
  7373.     IDataObject __RPC_FAR * This,
  7374.     /* [unique][in] */ FORMATETC __RPC_FAR *pformatetcIn,
  7375.     /* [out] */ RemSTGMEDIUM __RPC_FAR *__RPC_FAR *ppRemoteMedium);
  7376.  
  7377.  
  7378. void __RPC_STUB IDataObject_RemoteGetData_Stub(
  7379.     IRpcStubBuffer *This,
  7380.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7381.     PRPC_MESSAGE _pRpcMessage,
  7382.     DWORD *_pdwStubPhase);
  7383.  
  7384.  
  7385. /* [call_as] */ HRESULT __stdcall IDataObject_RemoteGetDataHere_Proxy( 
  7386.     IDataObject __RPC_FAR * This,
  7387.     /* [unique][in] */ FORMATETC __RPC_FAR *pformatetc,
  7388.     /* [out][in] */ RemSTGMEDIUM __RPC_FAR *__RPC_FAR *ppRemoteMedium);
  7389.  
  7390.  
  7391. void __RPC_STUB IDataObject_RemoteGetDataHere_Stub(
  7392.     IRpcStubBuffer *This,
  7393.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7394.     PRPC_MESSAGE _pRpcMessage,
  7395.     DWORD *_pdwStubPhase);
  7396.  
  7397.  
  7398. HRESULT __stdcall IDataObject_QueryGetData_Proxy( 
  7399.     IDataObject __RPC_FAR * This,
  7400.     /* [unique][in] */ FORMATETC __RPC_FAR *pformatetc);
  7401.  
  7402.  
  7403. void __RPC_STUB IDataObject_QueryGetData_Stub(
  7404.     IRpcStubBuffer *This,
  7405.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7406.     PRPC_MESSAGE _pRpcMessage,
  7407.     DWORD *_pdwStubPhase);
  7408.  
  7409.  
  7410. HRESULT __stdcall IDataObject_GetCanonicalFormatEtc_Proxy( 
  7411.     IDataObject __RPC_FAR * This,
  7412.     /* [unique][in] */ FORMATETC __RPC_FAR *pformatectIn,
  7413.     /* [out] */ FORMATETC __RPC_FAR *pformatetcOut);
  7414.  
  7415.  
  7416. void __RPC_STUB IDataObject_GetCanonicalFormatEtc_Stub(
  7417.     IRpcStubBuffer *This,
  7418.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7419.     PRPC_MESSAGE _pRpcMessage,
  7420.     DWORD *_pdwStubPhase);
  7421.  
  7422.  
  7423. /* [call_as] */ HRESULT __stdcall IDataObject_RemoteSetData_Proxy( 
  7424.     IDataObject __RPC_FAR * This,
  7425.     /* [unique][in] */ FORMATETC __RPC_FAR *pformatetc,
  7426.     /* [unique][in] */ RemSTGMEDIUM __RPC_FAR *pmedium,
  7427.     /* [in] */ BOOL fRelease);
  7428.  
  7429.  
  7430. void __RPC_STUB IDataObject_RemoteSetData_Stub(
  7431.     IRpcStubBuffer *This,
  7432.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7433.     PRPC_MESSAGE _pRpcMessage,
  7434.     DWORD *_pdwStubPhase);
  7435.  
  7436.  
  7437. HRESULT __stdcall IDataObject_EnumFormatEtc_Proxy( 
  7438.     IDataObject __RPC_FAR * This,
  7439.     /* [in] */ DWORD dwDirection,
  7440.     /* [out] */ IEnumFORMATETC __RPC_FAR *__RPC_FAR *ppenumFormatEtc);
  7441.  
  7442.  
  7443. void __RPC_STUB IDataObject_EnumFormatEtc_Stub(
  7444.     IRpcStubBuffer *This,
  7445.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7446.     PRPC_MESSAGE _pRpcMessage,
  7447.     DWORD *_pdwStubPhase);
  7448.  
  7449.  
  7450. HRESULT __stdcall IDataObject_DAdvise_Proxy( 
  7451.     IDataObject __RPC_FAR * This,
  7452.     /* [in] */ FORMATETC __RPC_FAR *pformatetc,
  7453.     /* [in] */ DWORD advf,
  7454.     /* [unique][in] */ IAdviseSink __RPC_FAR *pAdvSink,
  7455.     /* [out] */ DWORD __RPC_FAR *pdwConnection);
  7456.  
  7457.  
  7458. void __RPC_STUB IDataObject_DAdvise_Stub(
  7459.     IRpcStubBuffer *This,
  7460.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7461.     PRPC_MESSAGE _pRpcMessage,
  7462.     DWORD *_pdwStubPhase);
  7463.  
  7464.  
  7465. HRESULT __stdcall IDataObject_DUnadvise_Proxy( 
  7466.     IDataObject __RPC_FAR * This,
  7467.     /* [in] */ DWORD dwConnection);
  7468.  
  7469.  
  7470. void __RPC_STUB IDataObject_DUnadvise_Stub(
  7471.     IRpcStubBuffer *This,
  7472.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7473.     PRPC_MESSAGE _pRpcMessage,
  7474.     DWORD *_pdwStubPhase);
  7475.  
  7476.  
  7477. HRESULT __stdcall IDataObject_EnumDAdvise_Proxy( 
  7478.     IDataObject __RPC_FAR * This,
  7479.     /* [out] */ IEnumSTATDATA __RPC_FAR *__RPC_FAR *ppenumAdvise);
  7480.  
  7481.  
  7482. void __RPC_STUB IDataObject_EnumDAdvise_Stub(
  7483.     IRpcStubBuffer *This,
  7484.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7485.     PRPC_MESSAGE _pRpcMessage,
  7486.     DWORD *_pdwStubPhase);
  7487.  
  7488.  
  7489.  
  7490. #endif  /* __IDataObject_INTERFACE_DEFINED__ */
  7491.  
  7492.  
  7493. #ifndef __IDataAdviseHolder_INTERFACE_DEFINED__
  7494. #define __IDataAdviseHolder_INTERFACE_DEFINED__
  7495.  
  7496. /****************************************
  7497.  * Generated header for interface: IDataAdviseHolder
  7498.  * at Fri Sep 02 18:12:06 1994
  7499.  * using MIDL 2.00.71
  7500.  ****************************************/
  7501. /* [uuid][object][local] */ 
  7502.  
  7503.  
  7504.             /* size is 4 */
  7505. typedef /* [unique] */ IDataAdviseHolder __RPC_FAR *LPDATAADVISEHOLDER;
  7506.  
  7507.  
  7508. EXTERN_C const IID IID_IDataAdviseHolder;
  7509.  
  7510. #if defined(__cplusplus) && !defined(CINTERFACE)
  7511.     
  7512.     interface IDataAdviseHolder : public IUnknown
  7513.     {
  7514.     public:
  7515.     virtual HRESULT __stdcall Advise( 
  7516.         /* [unique][in] */ IDataObject __RPC_FAR *pDataObject,
  7517.         /* [unique][in] */ FORMATETC __RPC_FAR *pFetc,
  7518.         /* [in] */ DWORD advf,
  7519.         /* [unique][in] */ IAdviseSink __RPC_FAR *pAdvise,
  7520.         /* [out] */ DWORD __RPC_FAR *pdwConnection) = 0;
  7521.     
  7522.     virtual HRESULT __stdcall Unadvise( 
  7523.         /* [in] */ DWORD dwConnection) = 0;
  7524.     
  7525.     virtual HRESULT __stdcall EnumAdvise( 
  7526.         /* [out] */ IEnumSTATDATA __RPC_FAR *__RPC_FAR *ppenumAdvise) = 0;
  7527.     
  7528.     virtual HRESULT __stdcall SendOnDataChange( 
  7529.         /* [unique][in] */ IDataObject __RPC_FAR *pDataObject,
  7530.         /* [in] */ DWORD dwReserved,
  7531.         /* [in] */ DWORD advf) = 0;
  7532.     
  7533.     };
  7534.     
  7535. #else   /* C style interface */
  7536.     
  7537.     typedef struct IDataAdviseHolderVtbl
  7538.     {
  7539.     
  7540.     HRESULT ( __stdcall __RPC_FAR *QueryInterface )( 
  7541.         IDataAdviseHolder __RPC_FAR * This,
  7542.         /* [in] */ REFIID riid,
  7543.         /* [out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  7544.     
  7545.     ULONG ( __stdcall __RPC_FAR *AddRef )( 
  7546.         IDataAdviseHolder __RPC_FAR * This);
  7547.     
  7548.     ULONG ( __stdcall __RPC_FAR *Release )( 
  7549.         IDataAdviseHolder __RPC_FAR * This);
  7550.     
  7551.     HRESULT ( __stdcall __RPC_FAR *Advise )( 
  7552.         IDataAdviseHolder __RPC_FAR * This,
  7553.         /* [unique][in] */ IDataObject __RPC_FAR *pDataObject,
  7554.         /* [unique][in] */ FORMATETC __RPC_FAR *pFetc,
  7555.         /* [in] */ DWORD advf,
  7556.         /* [unique][in] */ IAdviseSink __RPC_FAR *pAdvise,
  7557.         /* [out] */ DWORD __RPC_FAR *pdwConnection);
  7558.     
  7559.     HRESULT ( __stdcall __RPC_FAR *Unadvise )( 
  7560.         IDataAdviseHolder __RPC_FAR * This,
  7561.         /* [in] */ DWORD dwConnection);
  7562.     
  7563.     HRESULT ( __stdcall __RPC_FAR *EnumAdvise )( 
  7564.         IDataAdviseHolder __RPC_FAR * This,
  7565.         /* [out] */ IEnumSTATDATA __RPC_FAR *__RPC_FAR *ppenumAdvise);
  7566.     
  7567.     HRESULT ( __stdcall __RPC_FAR *SendOnDataChange )( 
  7568.         IDataAdviseHolder __RPC_FAR * This,
  7569.         /* [unique][in] */ IDataObject __RPC_FAR *pDataObject,
  7570.         /* [in] */ DWORD dwReserved,
  7571.         /* [in] */ DWORD advf);
  7572.     
  7573.     } IDataAdviseHolderVtbl;
  7574.     
  7575.     interface IDataAdviseHolder
  7576.     {
  7577.     CONST_VTBL struct IDataAdviseHolderVtbl __RPC_FAR *lpVtbl;
  7578.     };
  7579.     
  7580.     
  7581.  
  7582. #ifdef COBJMACROS
  7583.  
  7584.  
  7585. #define IDataAdviseHolder_QueryInterface(This,riid,ppvObject)   \
  7586.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  7587.  
  7588. #define IDataAdviseHolder_AddRef(This)  \
  7589.     (This)->lpVtbl -> AddRef(This)
  7590.  
  7591. #define IDataAdviseHolder_Release(This) \
  7592.     (This)->lpVtbl -> Release(This)
  7593.  
  7594.  
  7595. #define IDataAdviseHolder_Advise(This,pDataObject,pFetc,advf,pAdvise,pdwConnection)     \
  7596.     (This)->lpVtbl -> Advise(This,pDataObject,pFetc,advf,pAdvise,pdwConnection)
  7597.  
  7598. #define IDataAdviseHolder_Unadvise(This,dwConnection)   \
  7599.     (This)->lpVtbl -> Unadvise(This,dwConnection)
  7600.  
  7601. #define IDataAdviseHolder_EnumAdvise(This,ppenumAdvise) \
  7602.     (This)->lpVtbl -> EnumAdvise(This,ppenumAdvise)
  7603.  
  7604. #define IDataAdviseHolder_SendOnDataChange(This,pDataObject,dwReserved,advf)    \
  7605.     (This)->lpVtbl -> SendOnDataChange(This,pDataObject,dwReserved,advf)
  7606.  
  7607. #endif /* COBJMACROS */
  7608.  
  7609.  
  7610. #endif  /* C style interface */
  7611.  
  7612.  
  7613.  
  7614. HRESULT __stdcall IDataAdviseHolder_Advise_Proxy( 
  7615.     IDataAdviseHolder __RPC_FAR * This,
  7616.     /* [unique][in] */ IDataObject __RPC_FAR *pDataObject,
  7617.     /* [unique][in] */ FORMATETC __RPC_FAR *pFetc,
  7618.     /* [in] */ DWORD advf,
  7619.     /* [unique][in] */ IAdviseSink __RPC_FAR *pAdvise,
  7620.     /* [out] */ DWORD __RPC_FAR *pdwConnection);
  7621.  
  7622.  
  7623. void __RPC_STUB IDataAdviseHolder_Advise_Stub(
  7624.     IRpcStubBuffer *This,
  7625.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7626.     PRPC_MESSAGE _pRpcMessage,
  7627.     DWORD *_pdwStubPhase);
  7628.  
  7629.  
  7630. HRESULT __stdcall IDataAdviseHolder_Unadvise_Proxy( 
  7631.     IDataAdviseHolder __RPC_FAR * This,
  7632.     /* [in] */ DWORD dwConnection);
  7633.  
  7634.  
  7635. void __RPC_STUB IDataAdviseHolder_Unadvise_Stub(
  7636.     IRpcStubBuffer *This,
  7637.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7638.     PRPC_MESSAGE _pRpcMessage,
  7639.     DWORD *_pdwStubPhase);
  7640.  
  7641.  
  7642. HRESULT __stdcall IDataAdviseHolder_EnumAdvise_Proxy( 
  7643.     IDataAdviseHolder __RPC_FAR * This,
  7644.     /* [out] */ IEnumSTATDATA __RPC_FAR *__RPC_FAR *ppenumAdvise);
  7645.  
  7646.  
  7647. void __RPC_STUB IDataAdviseHolder_EnumAdvise_Stub(
  7648.     IRpcStubBuffer *This,
  7649.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7650.     PRPC_MESSAGE _pRpcMessage,
  7651.     DWORD *_pdwStubPhase);
  7652.  
  7653.  
  7654. HRESULT __stdcall IDataAdviseHolder_SendOnDataChange_Proxy( 
  7655.     IDataAdviseHolder __RPC_FAR * This,
  7656.     /* [unique][in] */ IDataObject __RPC_FAR *pDataObject,
  7657.     /* [in] */ DWORD dwReserved,
  7658.     /* [in] */ DWORD advf);
  7659.  
  7660.  
  7661. void __RPC_STUB IDataAdviseHolder_SendOnDataChange_Stub(
  7662.     IRpcStubBuffer *This,
  7663.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7664.     PRPC_MESSAGE _pRpcMessage,
  7665.     DWORD *_pdwStubPhase);
  7666.  
  7667.  
  7668.  
  7669. #endif  /* __IDataAdviseHolder_INTERFACE_DEFINED__ */
  7670.  
  7671.  
  7672. #ifndef __IMessageFilter_INTERFACE_DEFINED__
  7673. #define __IMessageFilter_INTERFACE_DEFINED__
  7674.  
  7675. /****************************************
  7676.  * Generated header for interface: IMessageFilter
  7677.  * at Fri Sep 02 18:12:06 1994
  7678.  * using MIDL 2.00.71
  7679.  ****************************************/
  7680. /* [uuid][object][local] */ 
  7681.  
  7682.  
  7683.             /* size is 4 */
  7684. typedef /* [unique] */ IMessageFilter __RPC_FAR *LPMESSAGEFILTER;
  7685.  
  7686.             /* size is 2 */
  7687. typedef 
  7688. enum tagCALLTYPE
  7689.     {   CALLTYPE_TOPLEVEL       = 1,
  7690.     CALLTYPE_NESTED = 2,
  7691.     CALLTYPE_ASYNC  = 3,
  7692.     CALLTYPE_TOPLEVEL_CALLPENDING   = 4,
  7693.     CALLTYPE_ASYNC_CALLPENDING      = 5
  7694.     }   CALLTYPE;
  7695.  
  7696.             /* size is 2 */
  7697. typedef 
  7698. enum tagSERVERCALL
  7699.     {   SERVERCALL_ISHANDLED    = 0,
  7700.     SERVERCALL_REJECTED     = 1,
  7701.     SERVERCALL_RETRYLATER   = 2
  7702.     }   SERVERCALL;
  7703.  
  7704.             /* size is 2 */
  7705. typedef 
  7706. enum tagPENDINGTYPE
  7707.     {   PENDINGTYPE_TOPLEVEL    = 1,
  7708.     PENDINGTYPE_NESTED      = 2
  7709.     }   PENDINGTYPE;
  7710.  
  7711.             /* size is 2 */
  7712. typedef 
  7713. enum tagPENDINGMSG
  7714.     {   PENDINGMSG_CANCELCALL   = 0,
  7715.     PENDINGMSG_WAITNOPROCESS        = 1,
  7716.     PENDINGMSG_WAITDEFPROCESS       = 2
  7717.     }   PENDINGMSG;
  7718.  
  7719.             /* size is 22 */
  7720. typedef struct  tagINTERFACEINFO
  7721.     {
  7722.     IUnknown __RPC_FAR *pUnk;
  7723.     IID iid;
  7724.     WORD wMethod;
  7725.     }   INTERFACEINFO;
  7726.  
  7727.             /* size is 4 */
  7728. typedef struct tagINTERFACEINFO __RPC_FAR *LPINTERFACEINFO;
  7729.  
  7730.  
  7731. EXTERN_C const IID IID_IMessageFilter;
  7732.  
  7733. #if defined(__cplusplus) && !defined(CINTERFACE)
  7734.     
  7735.     interface IMessageFilter : public IUnknown
  7736.     {
  7737.     public:
  7738.     virtual DWORD __stdcall HandleInComingCall( 
  7739.         /* [in] */ DWORD dwCallType,
  7740.         /* [in] */ HTASK htaskCaller,
  7741.         /* [in] */ DWORD dwTickCount,
  7742.         /* [in] */ LPINTERFACEINFO lpInterfaceInfo) = 0;
  7743.     
  7744.     virtual DWORD __stdcall RetryRejectedCall( 
  7745.         /* [in] */ HTASK htaskCallee,
  7746.         /* [in] */ DWORD dwTickCount,
  7747.         /* [in] */ DWORD dwRejectType) = 0;
  7748.     
  7749.     virtual DWORD __stdcall MessagePending( 
  7750.         /* [in] */ HTASK htaskCallee,
  7751.         /* [in] */ DWORD dwTickCount,
  7752.         /* [in] */ DWORD dwPendingType) = 0;
  7753.     
  7754.     };
  7755.     
  7756. #else   /* C style interface */
  7757.     
  7758.     typedef struct IMessageFilterVtbl
  7759.     {
  7760.     
  7761.     HRESULT ( __stdcall __RPC_FAR *QueryInterface )( 
  7762.         IMessageFilter __RPC_FAR * This,
  7763.         /* [in] */ REFIID riid,
  7764.         /* [out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  7765.     
  7766.     ULONG ( __stdcall __RPC_FAR *AddRef )( 
  7767.         IMessageFilter __RPC_FAR * This);
  7768.     
  7769.     ULONG ( __stdcall __RPC_FAR *Release )( 
  7770.         IMessageFilter __RPC_FAR * This);
  7771.     
  7772.     DWORD ( __stdcall __RPC_FAR *HandleInComingCall )( 
  7773.         IMessageFilter __RPC_FAR * This,
  7774.         /* [in] */ DWORD dwCallType,
  7775.         /* [in] */ HTASK htaskCaller,
  7776.         /* [in] */ DWORD dwTickCount,
  7777.         /* [in] */ LPINTERFACEINFO lpInterfaceInfo);
  7778.     
  7779.     DWORD ( __stdcall __RPC_FAR *RetryRejectedCall )( 
  7780.         IMessageFilter __RPC_FAR * This,
  7781.         /* [in] */ HTASK htaskCallee,
  7782.         /* [in] */ DWORD dwTickCount,
  7783.         /* [in] */ DWORD dwRejectType);
  7784.     
  7785.     DWORD ( __stdcall __RPC_FAR *MessagePending )( 
  7786.         IMessageFilter __RPC_FAR * This,
  7787.         /* [in] */ HTASK htaskCallee,
  7788.         /* [in] */ DWORD dwTickCount,
  7789.         /* [in] */ DWORD dwPendingType);
  7790.     
  7791.     } IMessageFilterVtbl;
  7792.     
  7793.     interface IMessageFilter
  7794.     {
  7795.     CONST_VTBL struct IMessageFilterVtbl __RPC_FAR *lpVtbl;
  7796.     };
  7797.     
  7798.     
  7799.  
  7800. #ifdef COBJMACROS
  7801.  
  7802.  
  7803. #define IMessageFilter_QueryInterface(This,riid,ppvObject)      \
  7804.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  7805.  
  7806. #define IMessageFilter_AddRef(This)     \
  7807.     (This)->lpVtbl -> AddRef(This)
  7808.  
  7809. #define IMessageFilter_Release(This)    \
  7810.     (This)->lpVtbl -> Release(This)
  7811.  
  7812.  
  7813. #define IMessageFilter_HandleInComingCall(This,dwCallType,htaskCaller,dwTickCount,lpInterfaceInfo)      \
  7814.     (This)->lpVtbl -> HandleInComingCall(This,dwCallType,htaskCaller,dwTickCount,lpInterfaceInfo)
  7815.  
  7816. #define IMessageFilter_RetryRejectedCall(This,htaskCallee,dwTickCount,dwRejectType)     \
  7817.     (This)->lpVtbl -> RetryRejectedCall(This,htaskCallee,dwTickCount,dwRejectType)
  7818.  
  7819. #define IMessageFilter_MessagePending(This,htaskCallee,dwTickCount,dwPendingType)       \
  7820.     (This)->lpVtbl -> MessagePending(This,htaskCallee,dwTickCount,dwPendingType)
  7821.  
  7822. #endif /* COBJMACROS */
  7823.  
  7824.  
  7825. #endif  /* C style interface */
  7826.  
  7827.  
  7828.  
  7829. DWORD __stdcall IMessageFilter_HandleInComingCall_Proxy( 
  7830.     IMessageFilter __RPC_FAR * This,
  7831.     /* [in] */ DWORD dwCallType,
  7832.     /* [in] */ HTASK htaskCaller,
  7833.     /* [in] */ DWORD dwTickCount,
  7834.     /* [in] */ LPINTERFACEINFO lpInterfaceInfo);
  7835.  
  7836.  
  7837. void __RPC_STUB IMessageFilter_HandleInComingCall_Stub(
  7838.     IRpcStubBuffer *This,
  7839.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7840.     PRPC_MESSAGE _pRpcMessage,
  7841.     DWORD *_pdwStubPhase);
  7842.  
  7843.  
  7844. DWORD __stdcall IMessageFilter_RetryRejectedCall_Proxy( 
  7845.     IMessageFilter __RPC_FAR * This,
  7846.     /* [in] */ HTASK htaskCallee,
  7847.     /* [in] */ DWORD dwTickCount,
  7848.     /* [in] */ DWORD dwRejectType);
  7849.  
  7850.  
  7851. void __RPC_STUB IMessageFilter_RetryRejectedCall_Stub(
  7852.     IRpcStubBuffer *This,
  7853.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7854.     PRPC_MESSAGE _pRpcMessage,
  7855.     DWORD *_pdwStubPhase);
  7856.  
  7857.  
  7858. DWORD __stdcall IMessageFilter_MessagePending_Proxy( 
  7859.     IMessageFilter __RPC_FAR * This,
  7860.     /* [in] */ HTASK htaskCallee,
  7861.     /* [in] */ DWORD dwTickCount,
  7862.     /* [in] */ DWORD dwPendingType);
  7863.  
  7864.  
  7865. void __RPC_STUB IMessageFilter_MessagePending_Stub(
  7866.     IRpcStubBuffer *This,
  7867.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7868.     PRPC_MESSAGE _pRpcMessage,
  7869.     DWORD *_pdwStubPhase);
  7870.  
  7871.  
  7872.  
  7873. #endif  /* __IMessageFilter_INTERFACE_DEFINED__ */
  7874.  
  7875.  
  7876. #ifndef __IRpcChannelBuffer_INTERFACE_DEFINED__
  7877. #define __IRpcChannelBuffer_INTERFACE_DEFINED__
  7878.  
  7879. /****************************************
  7880.  * Generated header for interface: IRpcChannelBuffer
  7881.  * at Fri Sep 02 18:12:06 1994
  7882.  * using MIDL 2.00.71
  7883.  ****************************************/
  7884. /* [uuid][object][local] */ 
  7885.  
  7886.  
  7887.             /* size is 4 */
  7888. typedef unsigned long RPCOLEDATAREP;
  7889.  
  7890.             /* size is 44 */
  7891. typedef struct  tagRPCOLEMESSAGE
  7892.     {
  7893.     void __RPC_FAR *reserved1;
  7894.     RPCOLEDATAREP dataRepresentation;
  7895.     void __RPC_FAR *Buffer;
  7896.     ULONG cbBuffer;
  7897.     ULONG iMethod;
  7898.     void __RPC_FAR *reserved2[ 5 ];
  7899.     ULONG rpcFlags;
  7900.     }   RPCOLEMESSAGE;
  7901.  
  7902.             /* size is 4 */
  7903. typedef RPCOLEMESSAGE __RPC_FAR *PRPCOLEMESSAGE;
  7904.  
  7905.  
  7906. EXTERN_C const IID IID_IRpcChannelBuffer;
  7907.  
  7908. #if defined(__cplusplus) && !defined(CINTERFACE)
  7909.     
  7910.     interface IRpcChannelBuffer : public IUnknown
  7911.     {
  7912.     public:
  7913.     virtual HRESULT __stdcall GetBuffer( 
  7914.         /* [in] */ RPCOLEMESSAGE __RPC_FAR *pMessage,
  7915.         /* [in] */ REFIID riid) = 0;
  7916.     
  7917.     virtual HRESULT __stdcall SendReceive( 
  7918.         /* [out][in] */ RPCOLEMESSAGE __RPC_FAR *pMessage,
  7919.         /* [out] */ ULONG __RPC_FAR *pStatus) = 0;
  7920.     
  7921.     virtual HRESULT __stdcall FreeBuffer( 
  7922.         /* [in] */ RPCOLEMESSAGE __RPC_FAR *pMessage) = 0;
  7923.     
  7924.     virtual HRESULT __stdcall GetDestCtx( 
  7925.         /* [out] */ DWORD __RPC_FAR *pdwDestContext,
  7926.         /* [out] */ void __RPC_FAR *__RPC_FAR *ppvDestContext) = 0;
  7927.     
  7928.     virtual HRESULT __stdcall IsConnected( void) = 0;
  7929.     
  7930.     };
  7931.     
  7932. #else   /* C style interface */
  7933.     
  7934.     typedef struct IRpcChannelBufferVtbl
  7935.     {
  7936.     
  7937.     HRESULT ( __stdcall __RPC_FAR *QueryInterface )( 
  7938.         IRpcChannelBuffer __RPC_FAR * This,
  7939.         /* [in] */ REFIID riid,
  7940.         /* [out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  7941.     
  7942.     ULONG ( __stdcall __RPC_FAR *AddRef )( 
  7943.         IRpcChannelBuffer __RPC_FAR * This);
  7944.     
  7945.     ULONG ( __stdcall __RPC_FAR *Release )( 
  7946.         IRpcChannelBuffer __RPC_FAR * This);
  7947.     
  7948.     HRESULT ( __stdcall __RPC_FAR *GetBuffer )( 
  7949.         IRpcChannelBuffer __RPC_FAR * This,
  7950.         /* [in] */ RPCOLEMESSAGE __RPC_FAR *pMessage,
  7951.         /* [in] */ REFIID riid);
  7952.     
  7953.     HRESULT ( __stdcall __RPC_FAR *SendReceive )( 
  7954.         IRpcChannelBuffer __RPC_FAR * This,
  7955.         /* [out][in] */ RPCOLEMESSAGE __RPC_FAR *pMessage,
  7956.         /* [out] */ ULONG __RPC_FAR *pStatus);
  7957.     
  7958.     HRESULT ( __stdcall __RPC_FAR *FreeBuffer )( 
  7959.         IRpcChannelBuffer __RPC_FAR * This,
  7960.         /* [in] */ RPCOLEMESSAGE __RPC_FAR *pMessage);
  7961.     
  7962.     HRESULT ( __stdcall __RPC_FAR *GetDestCtx )( 
  7963.         IRpcChannelBuffer __RPC_FAR * This,
  7964.         /* [out] */ DWORD __RPC_FAR *pdwDestContext,
  7965.         /* [out] */ void __RPC_FAR *__RPC_FAR *ppvDestContext);
  7966.     
  7967.     HRESULT ( __stdcall __RPC_FAR *IsConnected )( 
  7968.         IRpcChannelBuffer __RPC_FAR * This);
  7969.     
  7970.     } IRpcChannelBufferVtbl;
  7971.     
  7972.     interface IRpcChannelBuffer
  7973.     {
  7974.     CONST_VTBL struct IRpcChannelBufferVtbl __RPC_FAR *lpVtbl;
  7975.     };
  7976.     
  7977.     
  7978.  
  7979. #ifdef COBJMACROS
  7980.  
  7981.  
  7982. #define IRpcChannelBuffer_QueryInterface(This,riid,ppvObject)   \
  7983.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  7984.  
  7985. #define IRpcChannelBuffer_AddRef(This)  \
  7986.     (This)->lpVtbl -> AddRef(This)
  7987.  
  7988. #define IRpcChannelBuffer_Release(This) \
  7989.     (This)->lpVtbl -> Release(This)
  7990.  
  7991.  
  7992. #define IRpcChannelBuffer_GetBuffer(This,pMessage,riid) \
  7993.     (This)->lpVtbl -> GetBuffer(This,pMessage,riid)
  7994.  
  7995. #define IRpcChannelBuffer_SendReceive(This,pMessage,pStatus)    \
  7996.     (This)->lpVtbl -> SendReceive(This,pMessage,pStatus)
  7997.  
  7998. #define IRpcChannelBuffer_FreeBuffer(This,pMessage)     \
  7999.     (This)->lpVtbl -> FreeBuffer(This,pMessage)
  8000.  
  8001. #define IRpcChannelBuffer_GetDestCtx(This,pdwDestContext,ppvDestContext)        \
  8002.     (This)->lpVtbl -> GetDestCtx(This,pdwDestContext,ppvDestContext)
  8003.  
  8004. #define IRpcChannelBuffer_IsConnected(This)     \
  8005.     (This)->lpVtbl -> IsConnected(This)
  8006.  
  8007. #endif /* COBJMACROS */
  8008.  
  8009.  
  8010. #endif  /* C style interface */
  8011.  
  8012.  
  8013.  
  8014. HRESULT __stdcall IRpcChannelBuffer_GetBuffer_Proxy( 
  8015.     IRpcChannelBuffer __RPC_FAR * This,
  8016.     /* [in] */ RPCOLEMESSAGE __RPC_FAR *pMessage,
  8017.     /* [in] */ REFIID riid);
  8018.  
  8019.  
  8020. void __RPC_STUB IRpcChannelBuffer_GetBuffer_Stub(
  8021.     IRpcStubBuffer *This,
  8022.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8023.     PRPC_MESSAGE _pRpcMessage,
  8024.     DWORD *_pdwStubPhase);
  8025.  
  8026.  
  8027. HRESULT __stdcall IRpcChannelBuffer_SendReceive_Proxy( 
  8028.     IRpcChannelBuffer __RPC_FAR * This,
  8029.     /* [out][in] */ RPCOLEMESSAGE __RPC_FAR *pMessage,
  8030.     /* [out] */ ULONG __RPC_FAR *pStatus);
  8031.  
  8032.  
  8033. void __RPC_STUB IRpcChannelBuffer_SendReceive_Stub(
  8034.     IRpcStubBuffer *This,
  8035.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8036.     PRPC_MESSAGE _pRpcMessage,
  8037.     DWORD *_pdwStubPhase);
  8038.  
  8039.  
  8040. HRESULT __stdcall IRpcChannelBuffer_FreeBuffer_Proxy( 
  8041.     IRpcChannelBuffer __RPC_FAR * This,
  8042.     /* [in] */ RPCOLEMESSAGE __RPC_FAR *pMessage);
  8043.  
  8044.  
  8045. void __RPC_STUB IRpcChannelBuffer_FreeBuffer_Stub(
  8046.     IRpcStubBuffer *This,
  8047.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8048.     PRPC_MESSAGE _pRpcMessage,
  8049.     DWORD *_pdwStubPhase);
  8050.  
  8051.  
  8052. HRESULT __stdcall IRpcChannelBuffer_GetDestCtx_Proxy( 
  8053.     IRpcChannelBuffer __RPC_FAR * This,
  8054.     /* [out] */ DWORD __RPC_FAR *pdwDestContext,
  8055.     /* [out] */ void __RPC_FAR *__RPC_FAR *ppvDestContext);
  8056.  
  8057.  
  8058. void __RPC_STUB IRpcChannelBuffer_GetDestCtx_Stub(
  8059.     IRpcStubBuffer *This,
  8060.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8061.     PRPC_MESSAGE _pRpcMessage,
  8062.     DWORD *_pdwStubPhase);
  8063.  
  8064.  
  8065. HRESULT __stdcall IRpcChannelBuffer_IsConnected_Proxy( 
  8066.     IRpcChannelBuffer __RPC_FAR * This);
  8067.  
  8068.  
  8069. void __RPC_STUB IRpcChannelBuffer_IsConnected_Stub(
  8070.     IRpcStubBuffer *This,
  8071.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8072.     PRPC_MESSAGE _pRpcMessage,
  8073.     DWORD *_pdwStubPhase);
  8074.  
  8075.  
  8076.  
  8077. #endif  /* __IRpcChannelBuffer_INTERFACE_DEFINED__ */
  8078.  
  8079.  
  8080. #ifndef __IRpcProxyBuffer_INTERFACE_DEFINED__
  8081. #define __IRpcProxyBuffer_INTERFACE_DEFINED__
  8082.  
  8083. /****************************************
  8084.  * Generated header for interface: IRpcProxyBuffer
  8085.  * at Fri Sep 02 18:12:06 1994
  8086.  * using MIDL 2.00.71
  8087.  ****************************************/
  8088. /* [uuid][object][local] */ 
  8089.  
  8090.  
  8091.  
  8092. EXTERN_C const IID IID_IRpcProxyBuffer;
  8093.  
  8094. #if defined(__cplusplus) && !defined(CINTERFACE)
  8095.     
  8096.     interface IRpcProxyBuffer : public IUnknown
  8097.     {
  8098.     public:
  8099.     virtual HRESULT __stdcall Connect( 
  8100.         /* [unique][in] */ IRpcChannelBuffer __RPC_FAR *pRpcChannelBuffer) = 0;
  8101.     
  8102.     virtual void __stdcall Disconnect( void) = 0;
  8103.     
  8104.     };
  8105.     
  8106. #else   /* C style interface */
  8107.     
  8108.     typedef struct IRpcProxyBufferVtbl
  8109.     {
  8110.     
  8111.     HRESULT ( __stdcall __RPC_FAR *QueryInterface )( 
  8112.         IRpcProxyBuffer __RPC_FAR * This,
  8113.         /* [in] */ REFIID riid,
  8114.         /* [out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  8115.     
  8116.     ULONG ( __stdcall __RPC_FAR *AddRef )( 
  8117.         IRpcProxyBuffer __RPC_FAR * This);
  8118.     
  8119.     ULONG ( __stdcall __RPC_FAR *Release )( 
  8120.         IRpcProxyBuffer __RPC_FAR * This);
  8121.     
  8122.     HRESULT ( __stdcall __RPC_FAR *Connect )( 
  8123.         IRpcProxyBuffer __RPC_FAR * This,
  8124.         /* [unique][in] */ IRpcChannelBuffer __RPC_FAR *pRpcChannelBuffer);
  8125.     
  8126.     void ( __stdcall __RPC_FAR *Disconnect )( 
  8127.         IRpcProxyBuffer __RPC_FAR * This);
  8128.     
  8129.     } IRpcProxyBufferVtbl;
  8130.     
  8131.     interface IRpcProxyBuffer
  8132.     {
  8133.     CONST_VTBL struct IRpcProxyBufferVtbl __RPC_FAR *lpVtbl;
  8134.     };
  8135.     
  8136.     
  8137.  
  8138. #ifdef COBJMACROS
  8139.  
  8140.  
  8141. #define IRpcProxyBuffer_QueryInterface(This,riid,ppvObject)     \
  8142.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  8143.  
  8144. #define IRpcProxyBuffer_AddRef(This)    \
  8145.     (This)->lpVtbl -> AddRef(This)
  8146.  
  8147. #define IRpcProxyBuffer_Release(This)   \
  8148.     (This)->lpVtbl -> Release(This)
  8149.  
  8150.  
  8151. #define IRpcProxyBuffer_Connect(This,pRpcChannelBuffer) \
  8152.     (This)->lpVtbl -> Connect(This,pRpcChannelBuffer)
  8153.  
  8154. #define IRpcProxyBuffer_Disconnect(This)        \
  8155.     (This)->lpVtbl -> Disconnect(This)
  8156.  
  8157. #endif /* COBJMACROS */
  8158.  
  8159.  
  8160. #endif  /* C style interface */
  8161.  
  8162.  
  8163.  
  8164. HRESULT __stdcall IRpcProxyBuffer_Connect_Proxy( 
  8165.     IRpcProxyBuffer __RPC_FAR * This,
  8166.     /* [unique][in] */ IRpcChannelBuffer __RPC_FAR *pRpcChannelBuffer);
  8167.  
  8168.  
  8169. void __RPC_STUB IRpcProxyBuffer_Connect_Stub(
  8170.     IRpcStubBuffer *This,
  8171.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8172.     PRPC_MESSAGE _pRpcMessage,
  8173.     DWORD *_pdwStubPhase);
  8174.  
  8175.  
  8176. void __stdcall IRpcProxyBuffer_Disconnect_Proxy( 
  8177.     IRpcProxyBuffer __RPC_FAR * This);
  8178.  
  8179.  
  8180. void __RPC_STUB IRpcProxyBuffer_Disconnect_Stub(
  8181.     IRpcStubBuffer *This,
  8182.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8183.     PRPC_MESSAGE _pRpcMessage,
  8184.     DWORD *_pdwStubPhase);
  8185.  
  8186.  
  8187.  
  8188. #endif  /* __IRpcProxyBuffer_INTERFACE_DEFINED__ */
  8189.  
  8190.  
  8191. #ifndef __IRpcStubBuffer_INTERFACE_DEFINED__
  8192. #define __IRpcStubBuffer_INTERFACE_DEFINED__
  8193.  
  8194. /****************************************
  8195.  * Generated header for interface: IRpcStubBuffer
  8196.  * at Fri Sep 02 18:12:06 1994
  8197.  * using MIDL 2.00.71
  8198.  ****************************************/
  8199. /* [uuid][object][local] */ 
  8200.  
  8201.  
  8202.  
  8203. EXTERN_C const IID IID_IRpcStubBuffer;
  8204.  
  8205. #if defined(__cplusplus) && !defined(CINTERFACE)
  8206.     
  8207.     interface IRpcStubBuffer : public IUnknown
  8208.     {
  8209.     public:
  8210.     virtual HRESULT __stdcall Connect( 
  8211.         /* [in] */ IUnknown __RPC_FAR *pUnkServer) = 0;
  8212.     
  8213.     virtual void __stdcall Disconnect( void) = 0;
  8214.     
  8215.     virtual HRESULT __stdcall Invoke( 
  8216.         /* [in] */ RPCOLEMESSAGE __RPC_FAR *_prpcmsg,
  8217.         /* [in] */ IRpcChannelBuffer __RPC_FAR *_pRpcChannelBuffer) = 0;
  8218.     
  8219.     virtual IRpcStubBuffer __RPC_FAR *__stdcall IsIIDSupported( 
  8220.         /* [in] */ REFIID riid) = 0;
  8221.     
  8222.     virtual ULONG __stdcall CountRefs( void) = 0;
  8223.     
  8224.     virtual HRESULT __stdcall DebugServerQueryInterface( 
  8225.         void __RPC_FAR *__RPC_FAR *ppv) = 0;
  8226.     
  8227.     virtual void __stdcall DebugServerRelease( 
  8228.         void __RPC_FAR *pv) = 0;
  8229.     
  8230.     };
  8231.     
  8232. #else   /* C style interface */
  8233.     
  8234.     typedef struct IRpcStubBufferVtbl
  8235.     {
  8236.     
  8237.     HRESULT ( __stdcall __RPC_FAR *QueryInterface )( 
  8238.         IRpcStubBuffer __RPC_FAR * This,
  8239.         /* [in] */ REFIID riid,
  8240.         /* [out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  8241.     
  8242.     ULONG ( __stdcall __RPC_FAR *AddRef )( 
  8243.         IRpcStubBuffer __RPC_FAR * This);
  8244.     
  8245.     ULONG ( __stdcall __RPC_FAR *Release )( 
  8246.         IRpcStubBuffer __RPC_FAR * This);
  8247.     
  8248.     HRESULT ( __stdcall __RPC_FAR *Connect )( 
  8249.         IRpcStubBuffer __RPC_FAR * This,
  8250.         /* [in] */ IUnknown __RPC_FAR *pUnkServer);
  8251.     
  8252.     void ( __stdcall __RPC_FAR *Disconnect )( 
  8253.         IRpcStubBuffer __RPC_FAR * This);
  8254.     
  8255.     HRESULT ( __stdcall __RPC_FAR *Invoke )( 
  8256.         IRpcStubBuffer __RPC_FAR * This,
  8257.         /* [in] */ RPCOLEMESSAGE __RPC_FAR *_prpcmsg,
  8258.         /* [in] */ IRpcChannelBuffer __RPC_FAR *_pRpcChannelBuffer);
  8259.     
  8260.     IRpcStubBuffer __RPC_FAR *( __stdcall __RPC_FAR *IsIIDSupported )( 
  8261.         IRpcStubBuffer __RPC_FAR * This,
  8262.         /* [in] */ REFIID riid);
  8263.     
  8264.     ULONG ( __stdcall __RPC_FAR *CountRefs )( 
  8265.         IRpcStubBuffer __RPC_FAR * This);
  8266.     
  8267.     HRESULT ( __stdcall __RPC_FAR *DebugServerQueryInterface )( 
  8268.         IRpcStubBuffer __RPC_FAR * This,
  8269.         void __RPC_FAR *__RPC_FAR *ppv);
  8270.     
  8271.     void ( __stdcall __RPC_FAR *DebugServerRelease )( 
  8272.         IRpcStubBuffer __RPC_FAR * This,
  8273.         void __RPC_FAR *pv);
  8274.     
  8275.     } IRpcStubBufferVtbl;
  8276.     
  8277.     interface IRpcStubBuffer
  8278.     {
  8279.     CONST_VTBL struct IRpcStubBufferVtbl __RPC_FAR *lpVtbl;
  8280.     };
  8281.     
  8282.     
  8283.  
  8284. #ifdef COBJMACROS
  8285.  
  8286.  
  8287. #define IRpcStubBuffer_QueryInterface(This,riid,ppvObject)      \
  8288.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  8289.  
  8290. #define IRpcStubBuffer_AddRef(This)     \
  8291.     (This)->lpVtbl -> AddRef(This)
  8292.  
  8293. #define IRpcStubBuffer_Release(This)    \
  8294.     (This)->lpVtbl -> Release(This)
  8295.  
  8296.  
  8297. #define IRpcStubBuffer_Connect(This,pUnkServer) \
  8298.     (This)->lpVtbl -> Connect(This,pUnkServer)
  8299.  
  8300. #define IRpcStubBuffer_Disconnect(This) \
  8301.     (This)->lpVtbl -> Disconnect(This)
  8302.  
  8303. #define IRpcStubBuffer_Invoke(This,_prpcmsg,_pRpcChannelBuffer) \
  8304.     (This)->lpVtbl -> Invoke(This,_prpcmsg,_pRpcChannelBuffer)
  8305.  
  8306. #define IRpcStubBuffer_IsIIDSupported(This,riid)        \
  8307.     (This)->lpVtbl -> IsIIDSupported(This,riid)
  8308.  
  8309. #define IRpcStubBuffer_CountRefs(This)  \
  8310.     (This)->lpVtbl -> CountRefs(This)
  8311.  
  8312. #define IRpcStubBuffer_DebugServerQueryInterface(This,ppv)      \
  8313.     (This)->lpVtbl -> DebugServerQueryInterface(This,ppv)
  8314.  
  8315. #define IRpcStubBuffer_DebugServerRelease(This,pv)      \
  8316.     (This)->lpVtbl -> DebugServerRelease(This,pv)
  8317.  
  8318. #endif /* COBJMACROS */
  8319.  
  8320.  
  8321. #endif  /* C style interface */
  8322.  
  8323.  
  8324.  
  8325. HRESULT __stdcall IRpcStubBuffer_Connect_Proxy( 
  8326.     IRpcStubBuffer __RPC_FAR * This,
  8327.     /* [in] */ IUnknown __RPC_FAR *pUnkServer);
  8328.  
  8329.  
  8330. void __RPC_STUB IRpcStubBuffer_Connect_Stub(
  8331.     IRpcStubBuffer *This,
  8332.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8333.     PRPC_MESSAGE _pRpcMessage,
  8334.     DWORD *_pdwStubPhase);
  8335.  
  8336.  
  8337. void __stdcall IRpcStubBuffer_Disconnect_Proxy( 
  8338.     IRpcStubBuffer __RPC_FAR * This);
  8339.  
  8340.  
  8341. void __RPC_STUB IRpcStubBuffer_Disconnect_Stub(
  8342.     IRpcStubBuffer *This,
  8343.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8344.     PRPC_MESSAGE _pRpcMessage,
  8345.     DWORD *_pdwStubPhase);
  8346.  
  8347.  
  8348. HRESULT __stdcall IRpcStubBuffer_Invoke_Proxy( 
  8349.     IRpcStubBuffer __RPC_FAR * This,
  8350.     /* [in] */ RPCOLEMESSAGE __RPC_FAR *_prpcmsg,
  8351.     /* [in] */ IRpcChannelBuffer __RPC_FAR *_pRpcChannelBuffer);
  8352.  
  8353.  
  8354. void __RPC_STUB IRpcStubBuffer_Invoke_Stub(
  8355.     IRpcStubBuffer *This,
  8356.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8357.     PRPC_MESSAGE _pRpcMessage,
  8358.     DWORD *_pdwStubPhase);
  8359.  
  8360.  
  8361. IRpcStubBuffer __RPC_FAR *__stdcall IRpcStubBuffer_IsIIDSupported_Proxy( 
  8362.     IRpcStubBuffer __RPC_FAR * This,
  8363.     /* [in] */ REFIID riid);
  8364.  
  8365.  
  8366. void __RPC_STUB IRpcStubBuffer_IsIIDSupported_Stub(
  8367.     IRpcStubBuffer *This,
  8368.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8369.     PRPC_MESSAGE _pRpcMessage,
  8370.     DWORD *_pdwStubPhase);
  8371.  
  8372.  
  8373. ULONG __stdcall IRpcStubBuffer_CountRefs_Proxy( 
  8374.     IRpcStubBuffer __RPC_FAR * This);
  8375.  
  8376.  
  8377. void __RPC_STUB IRpcStubBuffer_CountRefs_Stub(
  8378.     IRpcStubBuffer *This,
  8379.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8380.     PRPC_MESSAGE _pRpcMessage,
  8381.     DWORD *_pdwStubPhase);
  8382.  
  8383.  
  8384. HRESULT __stdcall IRpcStubBuffer_DebugServerQueryInterface_Proxy( 
  8385.     IRpcStubBuffer __RPC_FAR * This,
  8386.     void __RPC_FAR *__RPC_FAR *ppv);
  8387.  
  8388.  
  8389. void __RPC_STUB IRpcStubBuffer_DebugServerQueryInterface_Stub(
  8390.     IRpcStubBuffer *This,
  8391.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8392.     PRPC_MESSAGE _pRpcMessage,
  8393.     DWORD *_pdwStubPhase);
  8394.  
  8395.  
  8396. void __stdcall IRpcStubBuffer_DebugServerRelease_Proxy( 
  8397.     IRpcStubBuffer __RPC_FAR * This,
  8398.     void __RPC_FAR *pv);
  8399.  
  8400.  
  8401. void __RPC_STUB IRpcStubBuffer_DebugServerRelease_Stub(
  8402.     IRpcStubBuffer *This,
  8403.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8404.     PRPC_MESSAGE _pRpcMessage,
  8405.     DWORD *_pdwStubPhase);
  8406.  
  8407.  
  8408.  
  8409. #endif  /* __IRpcStubBuffer_INTERFACE_DEFINED__ */
  8410.  
  8411.  
  8412. #ifndef __IPSFactoryBuffer_INTERFACE_DEFINED__
  8413. #define __IPSFactoryBuffer_INTERFACE_DEFINED__
  8414.  
  8415. /****************************************
  8416.  * Generated header for interface: IPSFactoryBuffer
  8417.  * at Fri Sep 02 18:12:06 1994
  8418.  * using MIDL 2.00.71
  8419.  ****************************************/
  8420. /* [uuid][object][local] */ 
  8421.  
  8422.  
  8423.  
  8424. EXTERN_C const IID IID_IPSFactoryBuffer;
  8425.  
  8426. #if defined(__cplusplus) && !defined(CINTERFACE)
  8427.     
  8428.     interface IPSFactoryBuffer : public IUnknown
  8429.     {
  8430.     public:
  8431.     virtual HRESULT __stdcall CreateProxy( 
  8432.         /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  8433.         /* [in] */ REFIID riid,
  8434.         /* [out] */ IRpcProxyBuffer __RPC_FAR *__RPC_FAR *ppProxy,
  8435.         /* [out] */ void __RPC_FAR *__RPC_FAR *ppv) = 0;
  8436.     
  8437.     virtual HRESULT __stdcall CreateStub( 
  8438.         /* [in] */ REFIID riid,
  8439.         /* [unique][in] */ IUnknown __RPC_FAR *pUnkServer,
  8440.         /* [out] */ IRpcStubBuffer __RPC_FAR *__RPC_FAR *ppStub) = 0;
  8441.     
  8442.     };
  8443.     
  8444. #else   /* C style interface */
  8445.     
  8446.     typedef struct IPSFactoryBufferVtbl
  8447.     {
  8448.     
  8449.     HRESULT ( __stdcall __RPC_FAR *QueryInterface )( 
  8450.         IPSFactoryBuffer __RPC_FAR * This,
  8451.         /* [in] */ REFIID riid,
  8452.         /* [out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  8453.     
  8454.     ULONG ( __stdcall __RPC_FAR *AddRef )( 
  8455.         IPSFactoryBuffer __RPC_FAR * This);
  8456.     
  8457.     ULONG ( __stdcall __RPC_FAR *Release )( 
  8458.         IPSFactoryBuffer __RPC_FAR * This);
  8459.     
  8460.     HRESULT ( __stdcall __RPC_FAR *CreateProxy )( 
  8461.         IPSFactoryBuffer __RPC_FAR * This,
  8462.         /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  8463.         /* [in] */ REFIID riid,
  8464.         /* [out] */ IRpcProxyBuffer __RPC_FAR *__RPC_FAR *ppProxy,
  8465.         /* [out] */ void __RPC_FAR *__RPC_FAR *ppv);
  8466.     
  8467.     HRESULT ( __stdcall __RPC_FAR *CreateStub )( 
  8468.         IPSFactoryBuffer __RPC_FAR * This,
  8469.         /* [in] */ REFIID riid,
  8470.         /* [unique][in] */ IUnknown __RPC_FAR *pUnkServer,
  8471.         /* [out] */ IRpcStubBuffer __RPC_FAR *__RPC_FAR *ppStub);
  8472.     
  8473.     } IPSFactoryBufferVtbl;
  8474.     
  8475.     interface IPSFactoryBuffer
  8476.     {
  8477.     CONST_VTBL struct IPSFactoryBufferVtbl __RPC_FAR *lpVtbl;
  8478.     };
  8479.     
  8480.     
  8481.  
  8482. #ifdef COBJMACROS
  8483.  
  8484.  
  8485. #define IPSFactoryBuffer_QueryInterface(This,riid,ppvObject)    \
  8486.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  8487.  
  8488. #define IPSFactoryBuffer_AddRef(This)   \
  8489.     (This)->lpVtbl -> AddRef(This)
  8490.  
  8491. #define IPSFactoryBuffer_Release(This)  \
  8492.     (This)->lpVtbl -> Release(This)
  8493.  
  8494.  
  8495. #define IPSFactoryBuffer_CreateProxy(This,pUnkOuter,riid,ppProxy,ppv)   \
  8496.     (This)->lpVtbl -> CreateProxy(This,pUnkOuter,riid,ppProxy,ppv)
  8497.  
  8498. #define IPSFactoryBuffer_CreateStub(This,riid,pUnkServer,ppStub)        \
  8499.     (This)->lpVtbl -> CreateStub(This,riid,pUnkServer,ppStub)
  8500.  
  8501. #endif /* COBJMACROS */
  8502.  
  8503.  
  8504. #endif  /* C style interface */
  8505.  
  8506.  
  8507.  
  8508. HRESULT __stdcall IPSFactoryBuffer_CreateProxy_Proxy( 
  8509.     IPSFactoryBuffer __RPC_FAR * This,
  8510.     /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  8511.     /* [in] */ REFIID riid,
  8512.     /* [out] */ IRpcProxyBuffer __RPC_FAR *__RPC_FAR *ppProxy,
  8513.     /* [out] */ void __RPC_FAR *__RPC_FAR *ppv);
  8514.  
  8515.  
  8516. void __RPC_STUB IPSFactoryBuffer_CreateProxy_Stub(
  8517.     IRpcStubBuffer *This,
  8518.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8519.     PRPC_MESSAGE _pRpcMessage,
  8520.     DWORD *_pdwStubPhase);
  8521.  
  8522.  
  8523. HRESULT __stdcall IPSFactoryBuffer_CreateStub_Proxy( 
  8524.     IPSFactoryBuffer __RPC_FAR * This,
  8525.     /* [in] */ REFIID riid,
  8526.     /* [unique][in] */ IUnknown __RPC_FAR *pUnkServer,
  8527.     /* [out] */ IRpcStubBuffer __RPC_FAR *__RPC_FAR *ppStub);
  8528.  
  8529.  
  8530. void __RPC_STUB IPSFactoryBuffer_CreateStub_Stub(
  8531.     IRpcStubBuffer *This,
  8532.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8533.     PRPC_MESSAGE _pRpcMessage,
  8534.     DWORD *_pdwStubPhase);
  8535.  
  8536.  
  8537.  
  8538. #endif  /* __IPSFactoryBuffer_INTERFACE_DEFINED__ */
  8539.  
  8540.  
  8541. /* Additional Prototypes for ALL interfaces */
  8542.  
  8543.  
  8544. void __RPC_USER SNB_to_xmit( SNB __RPC_FAR *, RemSNB __RPC_FAR * __RPC_FAR * );
  8545. void __RPC_USER SNB_from_xmit( RemSNB __RPC_FAR *, SNB __RPC_FAR * );
  8546. void __RPC_USER SNB_free_inst( SNB __RPC_FAR * );
  8547. void __RPC_USER SNB_free_xmit( RemSNB __RPC_FAR * );
  8548. /* [local] */ HRESULT __stdcall IClassFactory_CreateInstance_Proxy( 
  8549.     IClassFactory __RPC_FAR * This,
  8550.     /* [unique][in] */ IUnknown __RPC_FAR *pUnkOuter,
  8551.     /* [in] */ REFIID riid,
  8552.     /* [out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  8553.  
  8554.  
  8555. /* [call_as] */ HRESULT __stdcall IClassFactory_CreateInstance_Stub( 
  8556.     IClassFactory __RPC_FAR * This,
  8557.     /* [in] */ REFIID riid,
  8558.     /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppvObject);
  8559.  
  8560. /* [local] */ HRESULT __stdcall IEnumUnknown_Next_Proxy( 
  8561.     IEnumUnknown __RPC_FAR * This,
  8562.     /* [in] */ ULONG celt,
  8563.     /* [out] */ IUnknown __RPC_FAR *__RPC_FAR *rgelt,
  8564.     /* [out] */ ULONG __RPC_FAR *pceltFetched);
  8565.  
  8566.  
  8567. /* [call_as] */ HRESULT __stdcall IEnumUnknown_Next_Stub( 
  8568.     IEnumUnknown __RPC_FAR * This,
  8569.     /* [in] */ ULONG celt,
  8570.     /* [length_is][size_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *rgelt,
  8571.     /* [out] */ ULONG __RPC_FAR *pceltFetched);
  8572.  
  8573. /* [local] */ HRESULT __stdcall IEnumMoniker_Next_Proxy( 
  8574.     IEnumMoniker __RPC_FAR * This,
  8575.     /* [in] */ ULONG celt,
  8576.     /* [out] */ IMoniker __RPC_FAR *__RPC_FAR *rgelt,
  8577.     /* [out] */ ULONG __RPC_FAR *pceltFetched);
  8578.  
  8579.  
  8580. /* [call_as] */ HRESULT __stdcall IEnumMoniker_Next_Stub( 
  8581.     IEnumMoniker __RPC_FAR * This,
  8582.     /* [in] */ ULONG celt,
  8583.     /* [length_is][size_is][out] */ IMoniker __RPC_FAR *__RPC_FAR *rgelt,
  8584.     /* [out] */ ULONG __RPC_FAR *pceltFetched);
  8585.  
  8586. /* [local] */ HRESULT __stdcall IMoniker_BindToObject_Proxy( 
  8587.     IMoniker __RPC_FAR * This,
  8588.     /* [unique][in] */ IBindCtx __RPC_FAR *pbc,
  8589.     /* [unique][in] */ IMoniker __RPC_FAR *pmkToLeft,
  8590.     /* [in] */ REFIID riidResult,
  8591.     /* [out] */ void __RPC_FAR *__RPC_FAR *ppvResult);
  8592.  
  8593.  
  8594. /* [call_as] */ HRESULT __stdcall IMoniker_BindToObject_Stub( 
  8595.     IMoniker __RPC_FAR * This,
  8596.     /* [unique][in] */ IBindCtx __RPC_FAR *pbc,
  8597.     /* [unique][in] */ IMoniker __RPC_FAR *pmkToLeft,
  8598.     /* [in] */ REFIID riidResult,
  8599.     /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppvResult);
  8600.  
  8601. /* [local] */ HRESULT __stdcall IMoniker_BindToStorage_Proxy( 
  8602.     IMoniker __RPC_FAR * This,
  8603.     /* [unique][in] */ IBindCtx __RPC_FAR *pbc,
  8604.     /* [unique][in] */ IMoniker __RPC_FAR *pmkToLeft,
  8605.     /* [in] */ REFIID riid,
  8606.     /* [out] */ void __RPC_FAR *__RPC_FAR *ppvObj);
  8607.  
  8608.  
  8609. /* [call_as] */ HRESULT __stdcall IMoniker_BindToStorage_Stub( 
  8610.     IMoniker __RPC_FAR * This,
  8611.     /* [unique][in] */ IBindCtx __RPC_FAR *pbc,
  8612.     /* [unique][in] */ IMoniker __RPC_FAR *pmkToLeft,
  8613.     /* [in] */ REFIID riid,
  8614.     /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppvObj);
  8615.  
  8616. /* [local] */ HRESULT __stdcall IEnumString_Next_Proxy( 
  8617.     IEnumString __RPC_FAR * This,
  8618.     /* [in] */ ULONG celt,
  8619.     /* [out] */ LPOLESTR __RPC_FAR *rgelt,
  8620.     /* [out] */ ULONG __RPC_FAR *pceltFetched);
  8621.  
  8622.  
  8623. /* [call_as] */ HRESULT __stdcall IEnumString_Next_Stub( 
  8624.     IEnumString __RPC_FAR * This,
  8625.     /* [in] */ ULONG celt,
  8626.     /* [length_is][size_is][out] */ LPOLESTR __RPC_FAR *rgelt,
  8627.     /* [out] */ ULONG __RPC_FAR *pceltFetched);
  8628.  
  8629. /* [local] */ HRESULT __stdcall IStream_Read_Proxy( 
  8630.     IStream __RPC_FAR * This,
  8631.     /* [out] */ void __RPC_FAR *pv,
  8632.     /* [in] */ ULONG cb,
  8633.     /* [out] */ ULONG __RPC_FAR *pcbRead);
  8634.  
  8635.  
  8636. /* [call_as] */ HRESULT __stdcall IStream_Read_Stub( 
  8637.     IStream __RPC_FAR * This,
  8638.     /* [length_is][size_is][out] */ byte __RPC_FAR *pv,
  8639.     /* [in] */ ULONG cb,
  8640.     /* [out] */ ULONG __RPC_FAR *pcbRead);
  8641.  
  8642. /* [local] */ HRESULT __stdcall IStream_Write_Proxy( 
  8643.     IStream __RPC_FAR * This,
  8644.     /* [size_is][in] */ const void __RPC_FAR *pv,
  8645.     /* [in] */ ULONG cb,
  8646.     /* [out] */ ULONG __RPC_FAR *pcbWritten);
  8647.  
  8648.  
  8649. /* [call_as] */ HRESULT __stdcall IStream_Write_Stub( 
  8650.     IStream __RPC_FAR * This,
  8651.     /* [size_is][in] */ const byte __RPC_FAR *pv,
  8652.     /* [in] */ ULONG cb,
  8653.     /* [out] */ ULONG __RPC_FAR *pcbWritten);
  8654.  
  8655. /* [local] */ HRESULT __stdcall IStream_Seek_Proxy( 
  8656.     IStream __RPC_FAR * This,
  8657.     /* [in] */ LARGE_INTEGER dlibMove,
  8658.     /* [in] */ DWORD dwOrigin,
  8659.     /* [out] */ ULARGE_INTEGER __RPC_FAR *plibNewPosition);
  8660.  
  8661.  
  8662. /* [call_as] */ HRESULT __stdcall IStream_Seek_Stub( 
  8663.     IStream __RPC_FAR * This,
  8664.     /* [in] */ LARGE_INTEGER dlibMove,
  8665.     /* [in] */ DWORD dwOrigin,
  8666.     /* [out] */ ULARGE_INTEGER __RPC_FAR *plibNewPosition);
  8667.  
  8668. /* [local] */ HRESULT __stdcall IStream_CopyTo_Proxy( 
  8669.     IStream __RPC_FAR * This,
  8670.     /* [unique][in] */ IStream __RPC_FAR *pstm,
  8671.     /* [in] */ ULARGE_INTEGER cb,
  8672.     /* [out] */ ULARGE_INTEGER __RPC_FAR *pcbRead,
  8673.     /* [out] */ ULARGE_INTEGER __RPC_FAR *pcbWritten);
  8674.  
  8675.  
  8676. /* [call_as] */ HRESULT __stdcall IStream_CopyTo_Stub( 
  8677.     IStream __RPC_FAR * This,
  8678.     /* [unique][in] */ IStream __RPC_FAR *pstm,
  8679.     /* [in] */ ULARGE_INTEGER cb,
  8680.     /* [out] */ ULARGE_INTEGER __RPC_FAR *pcbRead,
  8681.     /* [out] */ ULARGE_INTEGER __RPC_FAR *pcbWritten);
  8682.  
  8683. /* [local] */ HRESULT __stdcall IEnumSTATSTG_Next_Proxy( 
  8684.     IEnumSTATSTG __RPC_FAR * This,
  8685.     /* [in] */ ULONG celt,
  8686.     /* [in] */ STATSTG __RPC_FAR *rgelt,
  8687.     /* [out] */ ULONG __RPC_FAR *pceltFetched);
  8688.  
  8689.  
  8690. /* [call_as] */ HRESULT __stdcall IEnumSTATSTG_Next_Stub( 
  8691.     IEnumSTATSTG __RPC_FAR * This,
  8692.     /* [in] */ ULONG celt,
  8693.     /* [length_is][size_is][out] */ STATSTG __RPC_FAR *rgelt,
  8694.     /* [out] */ ULONG __RPC_FAR *pceltFetched);
  8695.  
  8696. /* [local] */ HRESULT __stdcall IStorage_OpenStream_Proxy( 
  8697.     IStorage __RPC_FAR * This,
  8698.     /* [string][in] */ const OLECHAR __RPC_FAR *pwcsName,
  8699.     /* [unique][in] */ void __RPC_FAR *reserved1,
  8700.     /* [in] */ DWORD grfMode,
  8701.     /* [in] */ DWORD reserved2,
  8702.     /* [out] */ IStream __RPC_FAR *__RPC_FAR *ppstm);
  8703.  
  8704.  
  8705. /* [call_as] */ HRESULT __stdcall IStorage_OpenStream_Stub( 
  8706.     IStorage __RPC_FAR * This,
  8707.     /* [string][in] */ const OLECHAR __RPC_FAR *pwcsName,
  8708.     /* [in] */ unsigned long cbReserved1,
  8709.     /* [size_is][unique][in] */ byte __RPC_FAR *reserved1,
  8710.     /* [in] */ DWORD grfMode,
  8711.     /* [in] */ DWORD reserved2,
  8712.     /* [out] */ IStream __RPC_FAR *__RPC_FAR *ppstm);
  8713.  
  8714. /* [local] */ HRESULT __stdcall IStorage_EnumElements_Proxy( 
  8715.     IStorage __RPC_FAR * This,
  8716.     /* [in] */ DWORD reserved1,
  8717.     /* [size_is][unique][in] */ void __RPC_FAR *reserved2,
  8718.     /* [in] */ DWORD reserved3,
  8719.     /* [out] */ IEnumSTATSTG __RPC_FAR *__RPC_FAR *ppenum);
  8720.  
  8721.  
  8722. /* [call_as] */ HRESULT __stdcall IStorage_EnumElements_Stub( 
  8723.     IStorage __RPC_FAR * This,
  8724.     /* [in] */ DWORD reserved1,
  8725.     /* [in] */ unsigned long cbReserved2,
  8726.     /* [size_is][unique][in] */ byte __RPC_FAR *reserved2,
  8727.     /* [in] */ DWORD reserved3,
  8728.     /* [out] */ IEnumSTATSTG __RPC_FAR *__RPC_FAR *ppenum);
  8729.  
  8730. /* [local] */ HRESULT __stdcall ILockBytes_ReadAt_Proxy( 
  8731.     ILockBytes __RPC_FAR * This,
  8732.     /* [in] */ ULARGE_INTEGER ulOffset,
  8733.     /* [in] */ void __RPC_FAR *pv,
  8734.     /* [in] */ ULONG cb,
  8735.     /* [out] */ ULONG __RPC_FAR *pcbRead);
  8736.  
  8737.  
  8738. /* [call_as] */ HRESULT __stdcall ILockBytes_ReadAt_Stub( 
  8739.     ILockBytes __RPC_FAR * This,
  8740.     /* [in] */ ULARGE_INTEGER ulOffset,
  8741.     /* [length_is][size_is][out] */ byte __RPC_FAR *pv,
  8742.     /* [in] */ ULONG cb,
  8743.     /* [out] */ ULONG __RPC_FAR *pcbRead);
  8744.  
  8745. /* [local] */ HRESULT __stdcall ILockBytes_WriteAt_Proxy( 
  8746.     ILockBytes __RPC_FAR * This,
  8747.     /* [in] */ ULARGE_INTEGER ulOffset,
  8748.     /* [in] */ const void __RPC_FAR *pv,
  8749.     /* [in] */ ULONG cb,
  8750.     /* [out] */ ULONG __RPC_FAR *pcbWritten);
  8751.  
  8752.  
  8753. /* [call_as] */ HRESULT __stdcall ILockBytes_WriteAt_Stub( 
  8754.     ILockBytes __RPC_FAR * This,
  8755.     /* [in] */ ULARGE_INTEGER ulOffset,
  8756.     /* [size_is][in] */ const byte __RPC_FAR *pv,
  8757.     /* [in] */ ULONG cb,
  8758.     /* [out] */ ULONG __RPC_FAR *pcbWritten);
  8759.  
  8760. /* [local] */ HRESULT __stdcall IEnumFORMATETC_Next_Proxy( 
  8761.     IEnumFORMATETC __RPC_FAR * This,
  8762.     /* [in] */ ULONG celt,
  8763.     /* [out] */ FORMATETC __RPC_FAR *rgelt,
  8764.     /* [out] */ ULONG __RPC_FAR *pceltFetched);
  8765.  
  8766.  
  8767. /* [call_as] */ HRESULT __stdcall IEnumFORMATETC_Next_Stub( 
  8768.     IEnumFORMATETC __RPC_FAR * This,
  8769.     /* [in] */ ULONG celt,
  8770.     /* [length_is][size_is][out] */ FORMATETC __RPC_FAR *rgelt,
  8771.     /* [out] */ ULONG __RPC_FAR *pceltFetched);
  8772.  
  8773. /* [local] */ HRESULT __stdcall IEnumSTATDATA_Next_Proxy( 
  8774.     IEnumSTATDATA __RPC_FAR * This,
  8775.     /* [in] */ ULONG celt,
  8776.     STATDATA __RPC_FAR *rgelt,
  8777.     /* [out] */ ULONG __RPC_FAR *pceltFetched);
  8778.  
  8779.  
  8780. /* [call_as] */ HRESULT __stdcall IEnumSTATDATA_Next_Stub( 
  8781.     IEnumSTATDATA __RPC_FAR * This,
  8782.     /* [in] */ ULONG celt,
  8783.     /* [length_is][size_is][out] */ STATDATA __RPC_FAR *rgelt,
  8784.     /* [out] */ ULONG __RPC_FAR *pceltFetched);
  8785.  
  8786. /* [local] */ void __stdcall IAdviseSink_OnDataChange_Proxy( 
  8787.     IAdviseSink __RPC_FAR * This,
  8788.     /* [unique][in] */ FORMATETC __RPC_FAR *pFormatetc,
  8789.     /* [unique][in] */ STGMEDIUM __RPC_FAR *pStgmed);
  8790.  
  8791.  
  8792. /* [async][call_as] */ void __stdcall IAdviseSink_OnDataChange_Stub( 
  8793.     IAdviseSink __RPC_FAR * This,
  8794.     /* [unique][in] */ FORMATETC __RPC_FAR *pFormatetc,
  8795.     /* [unique][in] */ RemSTGMEDIUM __RPC_FAR *pStgmed);
  8796.  
  8797. /* [local] */ void __stdcall IAdviseSink_OnViewChange_Proxy( 
  8798.     IAdviseSink __RPC_FAR * This,
  8799.     /* [in] */ DWORD dwAspect,
  8800.     /* [in] */ LONG lindex);
  8801.  
  8802.  
  8803. /* [async][call_as] */ void __stdcall IAdviseSink_OnViewChange_Stub( 
  8804.     IAdviseSink __RPC_FAR * This,
  8805.     /* [in] */ DWORD dwAspect,
  8806.     /* [in] */ LONG lindex);
  8807.  
  8808. /* [local] */ void __stdcall IAdviseSink_OnRename_Proxy( 
  8809.     IAdviseSink __RPC_FAR * This,
  8810.     /* [in] */ IMoniker __RPC_FAR *pmk);
  8811.  
  8812.  
  8813. /* [async][call_as] */ void __stdcall IAdviseSink_OnRename_Stub( 
  8814.     IAdviseSink __RPC_FAR * This,
  8815.     /* [in] */ IMoniker __RPC_FAR *pmk);
  8816.  
  8817. /* [local] */ void __stdcall IAdviseSink_OnSave_Proxy( 
  8818.     IAdviseSink __RPC_FAR * This);
  8819.  
  8820.  
  8821. /* [async][call_as] */ void __stdcall IAdviseSink_OnSave_Stub( 
  8822.     IAdviseSink __RPC_FAR * This);
  8823.  
  8824. /* [local] */ void __stdcall IAdviseSink_OnClose_Proxy( 
  8825.     IAdviseSink __RPC_FAR * This);
  8826.  
  8827.  
  8828. /* [call_as] */ void __stdcall IAdviseSink_OnClose_Stub( 
  8829.     IAdviseSink __RPC_FAR * This);
  8830.  
  8831. /* [local] */ void __stdcall IAdviseSink2_OnLinkSrcChange_Proxy( 
  8832.     IAdviseSink2 __RPC_FAR * This,
  8833.     /* [unique][in] */ IMoniker __RPC_FAR *pmk);
  8834.  
  8835.  
  8836. /* [async][call_as] */ void __stdcall IAdviseSink2_OnLinkSrcChange_Stub( 
  8837.     IAdviseSink2 __RPC_FAR * This,
  8838.     /* [unique][in] */ IMoniker __RPC_FAR *pmk);
  8839.  
  8840. /* [local] */ HRESULT __stdcall IDataObject_GetData_Proxy( 
  8841.     IDataObject __RPC_FAR * This,
  8842.     /* [unique][in] */ FORMATETC __RPC_FAR *pformatetcIn,
  8843.     /* [out] */ STGMEDIUM __RPC_FAR *pmedium);
  8844.  
  8845.  
  8846. /* [call_as] */ HRESULT __stdcall IDataObject_GetData_Stub( 
  8847.     IDataObject __RPC_FAR * This,
  8848.     /* [unique][in] */ FORMATETC __RPC_FAR *pformatetcIn,
  8849.     /* [out] */ RemSTGMEDIUM __RPC_FAR *__RPC_FAR *ppRemoteMedium);
  8850.  
  8851. /* [local] */ HRESULT __stdcall IDataObject_GetDataHere_Proxy( 
  8852.     IDataObject __RPC_FAR * This,
  8853.     /* [unique][in] */ FORMATETC __RPC_FAR *pformatetc,
  8854.     /* [out][in] */ STGMEDIUM __RPC_FAR *pmedium);
  8855.  
  8856.  
  8857. /* [call_as] */ HRESULT __stdcall IDataObject_GetDataHere_Stub( 
  8858.     IDataObject __RPC_FAR * This,
  8859.     /* [unique][in] */ FORMATETC __RPC_FAR *pformatetc,
  8860.     /* [out][in] */ RemSTGMEDIUM __RPC_FAR *__RPC_FAR *ppRemoteMedium);
  8861.  
  8862. /* [local] */ HRESULT __stdcall IDataObject_SetData_Proxy( 
  8863.     IDataObject __RPC_FAR * This,
  8864.     /* [unique][in] */ FORMATETC __RPC_FAR *pformatetc,
  8865.     /* [unique][in] */ STGMEDIUM __RPC_FAR *pmedium,
  8866.     /* [in] */ BOOL fRelease);
  8867.  
  8868.  
  8869. /* [call_as] */ HRESULT __stdcall IDataObject_SetData_Stub( 
  8870.     IDataObject __RPC_FAR * This,
  8871.     /* [unique][in] */ FORMATETC __RPC_FAR *pformatetc,
  8872.     /* [unique][in] */ RemSTGMEDIUM __RPC_FAR *pmedium,
  8873.     /* [in] */ BOOL fRelease);
  8874.  
  8875.  
  8876.  
  8877. /* end of Additional Prototypes */
  8878.  
  8879. #ifdef __cplusplus
  8880. }
  8881. #endif
  8882.  
  8883. #endif
  8884. // macros to define byte pattern for a GUID.
  8885. //      Example: DEFINE_GUID(GUID_XXX, a, b, c, ...);
  8886. //
  8887. // Each dll/exe must initialize the GUIDs once.  This is done in one of
  8888. // two ways.  If you are not using precompiled headers for the file(s) which
  8889. // initializes the GUIDs, define INITGUID before including objbase.h.  This
  8890. // is how OLE builds the initialized versions of the GUIDs which are included
  8891. // in ole2.lib.  The GUIDs in ole2.lib are all defined in the same text
  8892. // segment GUID_TEXT.
  8893. //
  8894. // The alternative (which some versions of the compiler don't handle properly;
  8895. // they wind up with the initialized GUIDs in a data, not a text segment),
  8896. // is to use a precompiled version of objbase.h and then include initguid.h
  8897. // after objbase.h followed by one or more of the guid defintion files.
  8898.  
  8899. #ifndef INITGUID
  8900. #define DEFINE_GUID(name, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8) \
  8901.     EXTERN_C const GUID CDECL FAR name
  8902. #else
  8903.  
  8904. #define DEFINE_GUID(name, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8) \
  8905.     EXTERN_C const GUID CDECL name \
  8906.         = { l, w1, w2, { b1, b2,  b3,  b4,  b5,  b6,  b7,  b8 } }
  8907. #endif // INITGUID
  8908.  
  8909. #define DEFINE_OLEGUID(name, l, w1, w2) \
  8910.     DEFINE_GUID(name, l, w1, w2, 0xC0,0,0,0,0,0,0,0x46)
  8911.  
  8912. #ifdef __cplusplus
  8913. inline BOOL IsEqualGUID(REFGUID rguid1, REFGUID rguid2)
  8914. {
  8915.     return !memcmp(&rguid1, &rguid2, sizeof(GUID));
  8916. }
  8917. #else   //  ! __cplusplus
  8918. #define IsEqualGUID(rguid1, rguid2) (!memcmp(rguid1, rguid2, sizeof(GUID)))
  8919. #endif  //  __cplusplus
  8920.  
  8921. #define IsEqualIID(riid1, riid2) IsEqualGUID(riid1, riid2)
  8922. #define IsEqualCLSID(rclsid1, rclsid2) IsEqualGUID(rclsid1, rclsid2)
  8923.  
  8924. #ifdef __cplusplus
  8925.  
  8926. // because GUID is defined elsewhere in WIN32 land, the operator == and !=
  8927. // are moved outside the class to global scope.
  8928.  
  8929. inline BOOL operator==(const GUID& guidOne, const GUID& guidOther)
  8930. {
  8931. #ifdef WIN32
  8932.     return !memcmp(&guidOne,&guidOther,sizeof(GUID));
  8933. #else
  8934.     return !_fmemcmp(&guidOne,&guidOther,sizeof(GUID)); 
  8935. #endif
  8936. }
  8937.  
  8938. inline BOOL operator!=(const GUID& guidOne, const GUID& guidOther)
  8939. {
  8940.     return !(guidOne == guidOther);
  8941. }
  8942.  
  8943. #endif // __cpluscplus
  8944.  
  8945.  
  8946. #ifndef INITGUID
  8947. #include "cguid.h"
  8948. #endif
  8949.  
  8950.  
  8951.  
  8952. /****** STD Object API Prototypes *****************************************/
  8953.  
  8954. WINOLEAPI_(DWORD) CoBuildVersion( VOID );
  8955.  
  8956. /* init/uninit */
  8957.  
  8958. WINOLEAPI  CoInitialize(LPVOID pvReserved);
  8959. WINOLEAPI_(void)  CoUninitialize(void);
  8960. WINOLEAPI  CoGetMalloc(DWORD dwMemContext, LPMALLOC FAR* ppMalloc);
  8961. WINOLEAPI_(DWORD) CoGetCurrentProcess(void);
  8962. WINOLEAPI  CoCreateStandardMalloc(DWORD memctx, IMalloc FAR* FAR* ppMalloc);
  8963.  
  8964. #if DBG == 1
  8965. WINOLEAPI_(ULONG) DebugCoGetRpcFault( void );
  8966. WINOLEAPI_(void) DebugCoSetRpcFault( ULONG );
  8967. #endif
  8968.  
  8969. /* register/revoke/get class objects */
  8970.  
  8971. WINOLEAPI  CoGetClassObject(REFCLSID rclsid, DWORD dwClsContext, LPVOID pvReserved,
  8972.             REFIID riid, LPVOID FAR* ppv);
  8973. WINOLEAPI  CoRegisterClassObject(REFCLSID rclsid, LPUNKNOWN pUnk,
  8974.             DWORD dwClsContext, DWORD flags, LPDWORD lpdwRegister);
  8975. WINOLEAPI  CoRevokeClassObject(DWORD dwRegister);
  8976.  
  8977.  
  8978. /* marshaling interface pointers */
  8979.  
  8980. WINOLEAPI CoGetMarshalSizeMax(ULONG *pulSize, REFIID riid, LPUNKNOWN pUnk,
  8981.             DWORD dwDestContext, LPVOID pvDestContext, DWORD mshlflags);
  8982. WINOLEAPI CoMarshalInterface(LPSTREAM pStm, REFIID riid, LPUNKNOWN pUnk,
  8983.             DWORD dwDestContext, LPVOID pvDestContext, DWORD mshlflags);
  8984. WINOLEAPI CoUnmarshalInterface(LPSTREAM pStm, REFIID riid, LPVOID FAR* ppv);
  8985. WINOLEAPI CoMarshalHresult(LPSTREAM pstm, HRESULT hresult);
  8986. WINOLEAPI CoUnmarshalHresult(LPSTREAM pstm, HRESULT FAR * phresult);
  8987. WINOLEAPI CoReleaseMarshalData(LPSTREAM pStm);
  8988. WINOLEAPI CoDisconnectObject(LPUNKNOWN pUnk, DWORD dwReserved);
  8989. WINOLEAPI CoLockObjectExternal(LPUNKNOWN pUnk, BOOL fLock, BOOL fLastUnlockReleases);
  8990. WINOLEAPI CoGetStandardMarshal(REFIID riid, LPUNKNOWN pUnk,
  8991.             DWORD dwDestContext, LPVOID pvDestContext, DWORD mshlflags,
  8992.             LPMARSHAL FAR* ppMarshal);
  8993.  
  8994. WINOLEAPI_(BOOL) CoIsHandlerConnected(LPUNKNOWN pUnk);
  8995. WINOLEAPI_(BOOL) CoHasStrongExternalConnections(LPUNKNOWN pUnk);
  8996.  
  8997.  
  8998. /* dll loading helpers; keeps track of ref counts and unloads all on exit */
  8999.  
  9000. WINOLEAPI_(HINSTANCE) CoLoadLibrary(LPOLESTR lpszLibName, BOOL bAutoFree);
  9001. WINOLEAPI_(void) CoFreeLibrary(HINSTANCE hInst);
  9002. WINOLEAPI_(void) CoFreeAllLibraries(void);
  9003. WINOLEAPI_(void) CoFreeUnusedLibraries(void);
  9004.  
  9005.  
  9006. /* helper for creating instances */
  9007.  
  9008. WINOLEAPI CoCreateInstance(REFCLSID rclsid, LPUNKNOWN pUnkOuter,
  9009.             DWORD dwClsContext, REFIID riid, LPVOID FAR* ppv);
  9010.  
  9011.  
  9012. /* other helpers */
  9013.  
  9014. WINOLEAPI StringFromCLSID(REFCLSID rclsid, LPOLESTR FAR* lplpsz);
  9015. WINOLEAPI CLSIDFromString(LPOLESTR lpsz, LPCLSID pclsid);
  9016. WINOLEAPI StringFromIID(REFIID rclsid, LPOLESTR FAR* lplpsz);
  9017. WINOLEAPI IIDFromString(LPOLESTR lpsz, LPIID lpiid);
  9018. WINOLEAPI_(BOOL) CoIsOle1Class(REFCLSID rclsid);
  9019. WINOLEAPI ProgIDFromCLSID (REFCLSID clsid, LPOLESTR FAR* lplpszProgID);
  9020. WINOLEAPI CLSIDFromProgID (LPCOLESTR lpszProgID, LPCLSID lpclsid);
  9021. WINOLEAPI_(int) StringFromGUID2(REFGUID rguid, LPOLESTR lpsz, int cbMax);
  9022.  
  9023. WINOLEAPI CoCreateGuid(GUID FAR *pguid);
  9024.  
  9025. WINOLEAPI_(BOOL) CoFileTimeToDosDateTime(
  9026.          FILETIME FAR* lpFileTime, LPWORD lpDosDate, LPWORD lpDosTime);
  9027. WINOLEAPI_(BOOL) CoDosDateTimeToFileTime(
  9028.                WORD nDosDate, WORD nDosTime, FILETIME FAR* lpFileTime);
  9029. WINOLEAPI  CoFileTimeNow( FILETIME FAR* lpFileTime );
  9030.  
  9031.  
  9032. WINOLEAPI CoRegisterMessageFilter( LPMESSAGEFILTER lpMessageFilter,
  9033.                 LPMESSAGEFILTER FAR* lplpMessageFilter );
  9034.  
  9035.  
  9036. /* TreatAs APIS */
  9037.  
  9038. WINOLEAPI CoGetTreatAsClass(REFCLSID clsidOld, LPCLSID pClsidNew);
  9039. WINOLEAPI CoTreatAsClass(REFCLSID clsidOld, REFCLSID clsidNew);
  9040.  
  9041.  
  9042. /* the server dlls must define their DllGetClassObject and DllCanUnloadNow
  9043.  * to match these; the typedefs are located here to ensure all are changed at
  9044.  * the same time.
  9045.  */
  9046.  
  9047. #ifdef _MAC
  9048. typedef STDAPICALLTYPE HRESULT (* LPFNGETCLASSOBJECT) (REFCLSID, REFIID, LPVOID *);
  9049. #else
  9050. typedef HRESULT (STDAPICALLTYPE * LPFNGETCLASSOBJECT) (REFCLSID, REFIID, LPVOID *);
  9051. #endif
  9052.  
  9053. #ifdef _MAC
  9054. typedef STDAPICALLTYPE HRESULT (* LPFNCANUNLOADNOW)(void);
  9055. #else
  9056. typedef HRESULT (STDAPICALLTYPE * LPFNCANUNLOADNOW)(void);
  9057. #endif
  9058.  
  9059. STDAPI  DllGetClassObject(REFCLSID rclsid, REFIID riid, LPVOID FAR* ppv);
  9060.  
  9061. STDAPI  DllCanUnloadNow(void);
  9062.  
  9063.  
  9064. /****** Default Memory Allocation ******************************************/
  9065. WINOLEAPI_(LPVOID) CoTaskMemAlloc(ULONG cb);
  9066. WINOLEAPI_(LPVOID) CoTaskMemRealloc(LPVOID pv, ULONG cb);
  9067. WINOLEAPI_(void)   CoTaskMemFree(LPVOID pv);
  9068.  
  9069. /****** DV APIs ***********************************************************/
  9070.  
  9071.  
  9072. WINOLEAPI CreateDataAdviseHolder(LPDATAADVISEHOLDER FAR* ppDAHolder);
  9073.  
  9074. WINOLEAPI CreateDataCache(LPUNKNOWN pUnkOuter, REFCLSID rclsid,
  9075.                     REFIID iid, LPVOID FAR* ppv);
  9076.  
  9077.  
  9078.  
  9079.  
  9080. /****** Storage API Prototypes ********************************************/
  9081.  
  9082.  
  9083. WINOLEAPI StgCreateDocfile(const OLECHAR FAR* pwcsName,
  9084.         DWORD grfMode,
  9085.         DWORD reserved,
  9086.         IStorage FAR * FAR *ppstgOpen);
  9087.  
  9088. WINOLEAPI StgCreateDocfileOnILockBytes(ILockBytes FAR *plkbyt,
  9089.             DWORD grfMode,
  9090.             DWORD reserved,
  9091.             IStorage FAR * FAR *ppstgOpen);
  9092.  
  9093. WINOLEAPI StgOpenStorage(const OLECHAR FAR* pwcsName,
  9094.           IStorage FAR *pstgPriority,
  9095.           DWORD grfMode,
  9096.           SNB snbExclude,
  9097.           DWORD reserved,
  9098.           IStorage FAR * FAR *ppstgOpen);
  9099. WINOLEAPI StgOpenStorageOnILockBytes(ILockBytes FAR *plkbyt,
  9100.           IStorage FAR *pstgPriority,
  9101.           DWORD grfMode,
  9102.           SNB snbExclude,
  9103.           DWORD reserved,
  9104.           IStorage FAR * FAR *ppstgOpen);
  9105.  
  9106. WINOLEAPI StgIsStorageFile(const OLECHAR FAR* pwcsName);
  9107. WINOLEAPI StgIsStorageILockBytes(ILockBytes FAR* plkbyt);
  9108.  
  9109. WINOLEAPI StgSetTimes(OLECHAR const FAR* lpszName,
  9110.            FILETIME const FAR* pctime,
  9111.            FILETIME const FAR* patime,
  9112.            FILETIME const FAR* pmtime);
  9113.  
  9114.  
  9115. //
  9116. //  Moniker APIs
  9117. //
  9118.  
  9119. WINOLEAPI  BindMoniker(LPMONIKER pmk, DWORD grfOpt, REFIID iidResult, LPVOID FAR* ppvResult);
  9120. WINOLEAPI  MkParseDisplayName(LPBC pbc, LPCOLESTR szUserName,
  9121.         ULONG FAR * pchEaten, LPMONIKER FAR * ppmk);
  9122. WINOLEAPI  MonikerRelativePathTo(LPMONIKER pmkSrc, LPMONIKER pmkDest, LPMONIKER
  9123.         FAR* ppmkRelPath, BOOL fCalledFromMethod);
  9124. WINOLEAPI  MonikerCommonPrefixWith(LPMONIKER pmkThis, LPMONIKER pmkOther,
  9125.         LPMONIKER FAR* ppmkCommon);
  9126. WINOLEAPI  CreateBindCtx(DWORD reserved, LPBC FAR* ppbc);
  9127. WINOLEAPI  CreateGenericComposite(LPMONIKER pmkFirst, LPMONIKER pmkRest,
  9128.     LPMONIKER FAR* ppmkComposite);
  9129. WINOLEAPI  GetClassFile (LPCOLESTR szFilename, CLSID FAR* pclsid);
  9130.  
  9131. WINOLEAPI  CreateFileMoniker(LPCOLESTR lpszPathName, LPMONIKER FAR* ppmk);
  9132.  
  9133. WINOLEAPI  CreateItemMoniker(LPCOLESTR lpszDelim, LPCOLESTR lpszItem,
  9134.     LPMONIKER FAR* ppmk);
  9135. WINOLEAPI  CreateAntiMoniker(LPMONIKER FAR* ppmk);
  9136. WINOLEAPI  CreatePointerMoniker(LPUNKNOWN punk, LPMONIKER FAR* ppmk);
  9137.  
  9138. WINOLEAPI  GetRunningObjectTable( DWORD reserved, LPRUNNINGOBJECTTABLE FAR* pprot);
  9139. #ifndef RC_INVOKED
  9140. #include "poppack.h"
  9141. #endif // RC_INVOKED
  9142. #endif     // __objbase_H__
  9143.