ObjIdl.h
上传用户:dzyhzl
上传日期:2019-04-29
资源大小:56270k
文件大小:418k
源码类别:

模拟服务器

开发平台:

C/C++

  1.     (This)->lpVtbl -> EnumFormatEtc(This,dwDirection,ppenumFormatEtc)
  2. #define IDataObject_DAdvise(This,pformatetc,advf,pAdvSink,pdwConnection)
  3.     (This)->lpVtbl -> DAdvise(This,pformatetc,advf,pAdvSink,pdwConnection)
  4. #define IDataObject_DUnadvise(This,dwConnection)
  5.     (This)->lpVtbl -> DUnadvise(This,dwConnection)
  6. #define IDataObject_EnumDAdvise(This,ppenumAdvise)
  7.     (This)->lpVtbl -> EnumDAdvise(This,ppenumAdvise)
  8. #endif /* COBJMACROS */
  9. #endif  /* C style interface */
  10. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDataObject_RemoteGetData_Proxy( 
  11.     IDataObject * This,
  12.     /* [unique][in] */ FORMATETC *pformatetcIn,
  13.     /* [out] */ STGMEDIUM *pRemoteMedium);
  14. void __RPC_STUB IDataObject_RemoteGetData_Stub(
  15.     IRpcStubBuffer *This,
  16.     IRpcChannelBuffer *_pRpcChannelBuffer,
  17.     PRPC_MESSAGE _pRpcMessage,
  18.     DWORD *_pdwStubPhase);
  19. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDataObject_RemoteGetDataHere_Proxy( 
  20.     IDataObject * This,
  21.     /* [unique][in] */ FORMATETC *pformatetc,
  22.     /* [out][in] */ STGMEDIUM *pRemoteMedium);
  23. void __RPC_STUB IDataObject_RemoteGetDataHere_Stub(
  24.     IRpcStubBuffer *This,
  25.     IRpcChannelBuffer *_pRpcChannelBuffer,
  26.     PRPC_MESSAGE _pRpcMessage,
  27.     DWORD *_pdwStubPhase);
  28. HRESULT STDMETHODCALLTYPE IDataObject_QueryGetData_Proxy( 
  29.     IDataObject * This,
  30.     /* [unique][in] */ FORMATETC *pformatetc);
  31. void __RPC_STUB IDataObject_QueryGetData_Stub(
  32.     IRpcStubBuffer *This,
  33.     IRpcChannelBuffer *_pRpcChannelBuffer,
  34.     PRPC_MESSAGE _pRpcMessage,
  35.     DWORD *_pdwStubPhase);
  36. HRESULT STDMETHODCALLTYPE IDataObject_GetCanonicalFormatEtc_Proxy( 
  37.     IDataObject * This,
  38.     /* [unique][in] */ FORMATETC *pformatectIn,
  39.     /* [out] */ FORMATETC *pformatetcOut);
  40. void __RPC_STUB IDataObject_GetCanonicalFormatEtc_Stub(
  41.     IRpcStubBuffer *This,
  42.     IRpcChannelBuffer *_pRpcChannelBuffer,
  43.     PRPC_MESSAGE _pRpcMessage,
  44.     DWORD *_pdwStubPhase);
  45. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDataObject_RemoteSetData_Proxy( 
  46.     IDataObject * This,
  47.     /* [unique][in] */ FORMATETC *pformatetc,
  48.     /* [unique][in] */ FLAG_STGMEDIUM *pmedium,
  49.     /* [in] */ BOOL fRelease);
  50. void __RPC_STUB IDataObject_RemoteSetData_Stub(
  51.     IRpcStubBuffer *This,
  52.     IRpcChannelBuffer *_pRpcChannelBuffer,
  53.     PRPC_MESSAGE _pRpcMessage,
  54.     DWORD *_pdwStubPhase);
  55. HRESULT STDMETHODCALLTYPE IDataObject_EnumFormatEtc_Proxy( 
  56.     IDataObject * This,
  57.     /* [in] */ DWORD dwDirection,
  58.     /* [out] */ IEnumFORMATETC **ppenumFormatEtc);
  59. void __RPC_STUB IDataObject_EnumFormatEtc_Stub(
  60.     IRpcStubBuffer *This,
  61.     IRpcChannelBuffer *_pRpcChannelBuffer,
  62.     PRPC_MESSAGE _pRpcMessage,
  63.     DWORD *_pdwStubPhase);
  64. HRESULT STDMETHODCALLTYPE IDataObject_DAdvise_Proxy( 
  65.     IDataObject * This,
  66.     /* [in] */ FORMATETC *pformatetc,
  67.     /* [in] */ DWORD advf,
  68.     /* [unique][in] */ IAdviseSink *pAdvSink,
  69.     /* [out] */ DWORD *pdwConnection);
  70. void __RPC_STUB IDataObject_DAdvise_Stub(
  71.     IRpcStubBuffer *This,
  72.     IRpcChannelBuffer *_pRpcChannelBuffer,
  73.     PRPC_MESSAGE _pRpcMessage,
  74.     DWORD *_pdwStubPhase);
  75. HRESULT STDMETHODCALLTYPE IDataObject_DUnadvise_Proxy( 
  76.     IDataObject * This,
  77.     /* [in] */ DWORD dwConnection);
  78. void __RPC_STUB IDataObject_DUnadvise_Stub(
  79.     IRpcStubBuffer *This,
  80.     IRpcChannelBuffer *_pRpcChannelBuffer,
  81.     PRPC_MESSAGE _pRpcMessage,
  82.     DWORD *_pdwStubPhase);
  83. HRESULT STDMETHODCALLTYPE IDataObject_EnumDAdvise_Proxy( 
  84.     IDataObject * This,
  85.     /* [out] */ IEnumSTATDATA **ppenumAdvise);
  86. void __RPC_STUB IDataObject_EnumDAdvise_Stub(
  87.     IRpcStubBuffer *This,
  88.     IRpcChannelBuffer *_pRpcChannelBuffer,
  89.     PRPC_MESSAGE _pRpcMessage,
  90.     DWORD *_pdwStubPhase);
  91. #endif  /* __IDataObject_INTERFACE_DEFINED__ */
  92. #ifndef __IDataAdviseHolder_INTERFACE_DEFINED__
  93. #define __IDataAdviseHolder_INTERFACE_DEFINED__
  94. /* interface IDataAdviseHolder */
  95. /* [uuid][object][local] */ 
  96. typedef /* [unique] */ IDataAdviseHolder *LPDATAADVISEHOLDER;
  97. EXTERN_C const IID IID_IDataAdviseHolder;
  98. #if defined(__cplusplus) && !defined(CINTERFACE)
  99.     
  100.     MIDL_INTERFACE("00000110-0000-0000-C000-000000000046")
  101.     IDataAdviseHolder : public IUnknown
  102.     {
  103.     public:
  104.         virtual HRESULT STDMETHODCALLTYPE Advise( 
  105.             /* [unique][in] */ IDataObject *pDataObject,
  106.             /* [unique][in] */ FORMATETC *pFetc,
  107.             /* [in] */ DWORD advf,
  108.             /* [unique][in] */ IAdviseSink *pAdvise,
  109.             /* [out] */ DWORD *pdwConnection) = 0;
  110.         
  111.         virtual HRESULT STDMETHODCALLTYPE Unadvise( 
  112.             /* [in] */ DWORD dwConnection) = 0;
  113.         
  114.         virtual HRESULT STDMETHODCALLTYPE EnumAdvise( 
  115.             /* [out] */ IEnumSTATDATA **ppenumAdvise) = 0;
  116.         
  117.         virtual HRESULT STDMETHODCALLTYPE SendOnDataChange( 
  118.             /* [unique][in] */ IDataObject *pDataObject,
  119.             /* [in] */ DWORD dwReserved,
  120.             /* [in] */ DWORD advf) = 0;
  121.         
  122.     };
  123.     
  124. #else  /* C style interface */
  125.     typedef struct IDataAdviseHolderVtbl
  126.     {
  127.         BEGIN_INTERFACE
  128.         
  129.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  130.             IDataAdviseHolder * This,
  131.             /* [in] */ REFIID riid,
  132.             /* [iid_is][out] */ void **ppvObject);
  133.         
  134.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  135.             IDataAdviseHolder * This);
  136.         
  137.         ULONG ( STDMETHODCALLTYPE *Release )( 
  138.             IDataAdviseHolder * This);
  139.         
  140.         HRESULT ( STDMETHODCALLTYPE *Advise )( 
  141.             IDataAdviseHolder * This,
  142.             /* [unique][in] */ IDataObject *pDataObject,
  143.             /* [unique][in] */ FORMATETC *pFetc,
  144.             /* [in] */ DWORD advf,
  145.             /* [unique][in] */ IAdviseSink *pAdvise,
  146.             /* [out] */ DWORD *pdwConnection);
  147.         
  148.         HRESULT ( STDMETHODCALLTYPE *Unadvise )( 
  149.             IDataAdviseHolder * This,
  150.             /* [in] */ DWORD dwConnection);
  151.         
  152.         HRESULT ( STDMETHODCALLTYPE *EnumAdvise )( 
  153.             IDataAdviseHolder * This,
  154.             /* [out] */ IEnumSTATDATA **ppenumAdvise);
  155.         
  156.         HRESULT ( STDMETHODCALLTYPE *SendOnDataChange )( 
  157.             IDataAdviseHolder * This,
  158.             /* [unique][in] */ IDataObject *pDataObject,
  159.             /* [in] */ DWORD dwReserved,
  160.             /* [in] */ DWORD advf);
  161.         
  162.         END_INTERFACE
  163.     } IDataAdviseHolderVtbl;
  164.     interface IDataAdviseHolder
  165.     {
  166.         CONST_VTBL struct IDataAdviseHolderVtbl *lpVtbl;
  167.     };
  168.     
  169. #ifdef COBJMACROS
  170. #define IDataAdviseHolder_QueryInterface(This,riid,ppvObject)
  171.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  172. #define IDataAdviseHolder_AddRef(This)
  173.     (This)->lpVtbl -> AddRef(This)
  174. #define IDataAdviseHolder_Release(This)
  175.     (This)->lpVtbl -> Release(This)
  176. #define IDataAdviseHolder_Advise(This,pDataObject,pFetc,advf,pAdvise,pdwConnection)
  177.     (This)->lpVtbl -> Advise(This,pDataObject,pFetc,advf,pAdvise,pdwConnection)
  178. #define IDataAdviseHolder_Unadvise(This,dwConnection)
  179.     (This)->lpVtbl -> Unadvise(This,dwConnection)
  180. #define IDataAdviseHolder_EnumAdvise(This,ppenumAdvise)
  181.     (This)->lpVtbl -> EnumAdvise(This,ppenumAdvise)
  182. #define IDataAdviseHolder_SendOnDataChange(This,pDataObject,dwReserved,advf)
  183.     (This)->lpVtbl -> SendOnDataChange(This,pDataObject,dwReserved,advf)
  184. #endif /* COBJMACROS */
  185. #endif  /* C style interface */
  186. HRESULT STDMETHODCALLTYPE IDataAdviseHolder_Advise_Proxy( 
  187.     IDataAdviseHolder * This,
  188.     /* [unique][in] */ IDataObject *pDataObject,
  189.     /* [unique][in] */ FORMATETC *pFetc,
  190.     /* [in] */ DWORD advf,
  191.     /* [unique][in] */ IAdviseSink *pAdvise,
  192.     /* [out] */ DWORD *pdwConnection);
  193. void __RPC_STUB IDataAdviseHolder_Advise_Stub(
  194.     IRpcStubBuffer *This,
  195.     IRpcChannelBuffer *_pRpcChannelBuffer,
  196.     PRPC_MESSAGE _pRpcMessage,
  197.     DWORD *_pdwStubPhase);
  198. HRESULT STDMETHODCALLTYPE IDataAdviseHolder_Unadvise_Proxy( 
  199.     IDataAdviseHolder * This,
  200.     /* [in] */ DWORD dwConnection);
  201. void __RPC_STUB IDataAdviseHolder_Unadvise_Stub(
  202.     IRpcStubBuffer *This,
  203.     IRpcChannelBuffer *_pRpcChannelBuffer,
  204.     PRPC_MESSAGE _pRpcMessage,
  205.     DWORD *_pdwStubPhase);
  206. HRESULT STDMETHODCALLTYPE IDataAdviseHolder_EnumAdvise_Proxy( 
  207.     IDataAdviseHolder * This,
  208.     /* [out] */ IEnumSTATDATA **ppenumAdvise);
  209. void __RPC_STUB IDataAdviseHolder_EnumAdvise_Stub(
  210.     IRpcStubBuffer *This,
  211.     IRpcChannelBuffer *_pRpcChannelBuffer,
  212.     PRPC_MESSAGE _pRpcMessage,
  213.     DWORD *_pdwStubPhase);
  214. HRESULT STDMETHODCALLTYPE IDataAdviseHolder_SendOnDataChange_Proxy( 
  215.     IDataAdviseHolder * This,
  216.     /* [unique][in] */ IDataObject *pDataObject,
  217.     /* [in] */ DWORD dwReserved,
  218.     /* [in] */ DWORD advf);
  219. void __RPC_STUB IDataAdviseHolder_SendOnDataChange_Stub(
  220.     IRpcStubBuffer *This,
  221.     IRpcChannelBuffer *_pRpcChannelBuffer,
  222.     PRPC_MESSAGE _pRpcMessage,
  223.     DWORD *_pdwStubPhase);
  224. #endif  /* __IDataAdviseHolder_INTERFACE_DEFINED__ */
  225. #ifndef __IMessageFilter_INTERFACE_DEFINED__
  226. #define __IMessageFilter_INTERFACE_DEFINED__
  227. /* interface IMessageFilter */
  228. /* [uuid][object][local] */ 
  229. typedef /* [unique] */ IMessageFilter *LPMESSAGEFILTER;
  230. typedef 
  231. enum tagCALLTYPE
  232.     { CALLTYPE_TOPLEVEL = 1,
  233. CALLTYPE_NESTED = 2,
  234. CALLTYPE_ASYNC = 3,
  235. CALLTYPE_TOPLEVEL_CALLPENDING = 4,
  236. CALLTYPE_ASYNC_CALLPENDING = 5
  237.     }  CALLTYPE;
  238. typedef 
  239. enum tagSERVERCALL
  240.     { SERVERCALL_ISHANDLED = 0,
  241. SERVERCALL_REJECTED = 1,
  242. SERVERCALL_RETRYLATER = 2
  243.     }  SERVERCALL;
  244. typedef 
  245. enum tagPENDINGTYPE
  246.     { PENDINGTYPE_TOPLEVEL = 1,
  247. PENDINGTYPE_NESTED = 2
  248.     }  PENDINGTYPE;
  249. typedef 
  250. enum tagPENDINGMSG
  251.     { PENDINGMSG_CANCELCALL = 0,
  252. PENDINGMSG_WAITNOPROCESS = 1,
  253. PENDINGMSG_WAITDEFPROCESS = 2
  254.     }  PENDINGMSG;
  255. typedef struct tagINTERFACEINFO
  256.     {
  257.     IUnknown *pUnk;
  258.     IID iid;
  259.     WORD wMethod;
  260.     }  INTERFACEINFO;
  261. typedef struct tagINTERFACEINFO *LPINTERFACEINFO;
  262. EXTERN_C const IID IID_IMessageFilter;
  263. #if defined(__cplusplus) && !defined(CINTERFACE)
  264.     
  265.     MIDL_INTERFACE("00000016-0000-0000-C000-000000000046")
  266.     IMessageFilter : public IUnknown
  267.     {
  268.     public:
  269.         virtual DWORD STDMETHODCALLTYPE HandleInComingCall( 
  270.             /* [in] */ DWORD dwCallType,
  271.             /* [in] */ HTASK htaskCaller,
  272.             /* [in] */ DWORD dwTickCount,
  273.             /* [in] */ LPINTERFACEINFO lpInterfaceInfo) = 0;
  274.         
  275.         virtual DWORD STDMETHODCALLTYPE RetryRejectedCall( 
  276.             /* [in] */ HTASK htaskCallee,
  277.             /* [in] */ DWORD dwTickCount,
  278.             /* [in] */ DWORD dwRejectType) = 0;
  279.         
  280.         virtual DWORD STDMETHODCALLTYPE MessagePending( 
  281.             /* [in] */ HTASK htaskCallee,
  282.             /* [in] */ DWORD dwTickCount,
  283.             /* [in] */ DWORD dwPendingType) = 0;
  284.         
  285.     };
  286.     
  287. #else  /* C style interface */
  288.     typedef struct IMessageFilterVtbl
  289.     {
  290.         BEGIN_INTERFACE
  291.         
  292.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  293.             IMessageFilter * This,
  294.             /* [in] */ REFIID riid,
  295.             /* [iid_is][out] */ void **ppvObject);
  296.         
  297.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  298.             IMessageFilter * This);
  299.         
  300.         ULONG ( STDMETHODCALLTYPE *Release )( 
  301.             IMessageFilter * This);
  302.         
  303.         DWORD ( STDMETHODCALLTYPE *HandleInComingCall )( 
  304.             IMessageFilter * This,
  305.             /* [in] */ DWORD dwCallType,
  306.             /* [in] */ HTASK htaskCaller,
  307.             /* [in] */ DWORD dwTickCount,
  308.             /* [in] */ LPINTERFACEINFO lpInterfaceInfo);
  309.         
  310.         DWORD ( STDMETHODCALLTYPE *RetryRejectedCall )( 
  311.             IMessageFilter * This,
  312.             /* [in] */ HTASK htaskCallee,
  313.             /* [in] */ DWORD dwTickCount,
  314.             /* [in] */ DWORD dwRejectType);
  315.         
  316.         DWORD ( STDMETHODCALLTYPE *MessagePending )( 
  317.             IMessageFilter * This,
  318.             /* [in] */ HTASK htaskCallee,
  319.             /* [in] */ DWORD dwTickCount,
  320.             /* [in] */ DWORD dwPendingType);
  321.         
  322.         END_INTERFACE
  323.     } IMessageFilterVtbl;
  324.     interface IMessageFilter
  325.     {
  326.         CONST_VTBL struct IMessageFilterVtbl *lpVtbl;
  327.     };
  328.     
  329. #ifdef COBJMACROS
  330. #define IMessageFilter_QueryInterface(This,riid,ppvObject)
  331.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  332. #define IMessageFilter_AddRef(This)
  333.     (This)->lpVtbl -> AddRef(This)
  334. #define IMessageFilter_Release(This)
  335.     (This)->lpVtbl -> Release(This)
  336. #define IMessageFilter_HandleInComingCall(This,dwCallType,htaskCaller,dwTickCount,lpInterfaceInfo)
  337.     (This)->lpVtbl -> HandleInComingCall(This,dwCallType,htaskCaller,dwTickCount,lpInterfaceInfo)
  338. #define IMessageFilter_RetryRejectedCall(This,htaskCallee,dwTickCount,dwRejectType)
  339.     (This)->lpVtbl -> RetryRejectedCall(This,htaskCallee,dwTickCount,dwRejectType)
  340. #define IMessageFilter_MessagePending(This,htaskCallee,dwTickCount,dwPendingType)
  341.     (This)->lpVtbl -> MessagePending(This,htaskCallee,dwTickCount,dwPendingType)
  342. #endif /* COBJMACROS */
  343. #endif  /* C style interface */
  344. DWORD STDMETHODCALLTYPE IMessageFilter_HandleInComingCall_Proxy( 
  345.     IMessageFilter * This,
  346.     /* [in] */ DWORD dwCallType,
  347.     /* [in] */ HTASK htaskCaller,
  348.     /* [in] */ DWORD dwTickCount,
  349.     /* [in] */ LPINTERFACEINFO lpInterfaceInfo);
  350. void __RPC_STUB IMessageFilter_HandleInComingCall_Stub(
  351.     IRpcStubBuffer *This,
  352.     IRpcChannelBuffer *_pRpcChannelBuffer,
  353.     PRPC_MESSAGE _pRpcMessage,
  354.     DWORD *_pdwStubPhase);
  355. DWORD STDMETHODCALLTYPE IMessageFilter_RetryRejectedCall_Proxy( 
  356.     IMessageFilter * This,
  357.     /* [in] */ HTASK htaskCallee,
  358.     /* [in] */ DWORD dwTickCount,
  359.     /* [in] */ DWORD dwRejectType);
  360. void __RPC_STUB IMessageFilter_RetryRejectedCall_Stub(
  361.     IRpcStubBuffer *This,
  362.     IRpcChannelBuffer *_pRpcChannelBuffer,
  363.     PRPC_MESSAGE _pRpcMessage,
  364.     DWORD *_pdwStubPhase);
  365. DWORD STDMETHODCALLTYPE IMessageFilter_MessagePending_Proxy( 
  366.     IMessageFilter * This,
  367.     /* [in] */ HTASK htaskCallee,
  368.     /* [in] */ DWORD dwTickCount,
  369.     /* [in] */ DWORD dwPendingType);
  370. void __RPC_STUB IMessageFilter_MessagePending_Stub(
  371.     IRpcStubBuffer *This,
  372.     IRpcChannelBuffer *_pRpcChannelBuffer,
  373.     PRPC_MESSAGE _pRpcMessage,
  374.     DWORD *_pdwStubPhase);
  375. #endif  /* __IMessageFilter_INTERFACE_DEFINED__ */
  376. #ifndef __IRpcChannelBuffer_INTERFACE_DEFINED__
  377. #define __IRpcChannelBuffer_INTERFACE_DEFINED__
  378. /* interface IRpcChannelBuffer */
  379. /* [uuid][object][local] */ 
  380. typedef unsigned long RPCOLEDATAREP;
  381. typedef struct tagRPCOLEMESSAGE
  382.     {
  383.     void *reserved1;
  384.     RPCOLEDATAREP dataRepresentation;
  385.     void *Buffer;
  386.     ULONG cbBuffer;
  387.     ULONG iMethod;
  388.     void *reserved2[ 5 ];
  389.     ULONG rpcFlags;
  390.     }  RPCOLEMESSAGE;
  391. typedef RPCOLEMESSAGE *PRPCOLEMESSAGE;
  392. EXTERN_C const IID IID_IRpcChannelBuffer;
  393. #if defined(__cplusplus) && !defined(CINTERFACE)
  394.     
  395.     MIDL_INTERFACE("D5F56B60-593B-101A-B569-08002B2DBF7A")
  396.     IRpcChannelBuffer : public IUnknown
  397.     {
  398.     public:
  399.         virtual HRESULT STDMETHODCALLTYPE GetBuffer( 
  400.             /* [in] */ RPCOLEMESSAGE *pMessage,
  401.             /* [in] */ REFIID riid) = 0;
  402.         
  403.         virtual HRESULT STDMETHODCALLTYPE SendReceive( 
  404.             /* [out][in] */ RPCOLEMESSAGE *pMessage,
  405.             /* [out] */ ULONG *pStatus) = 0;
  406.         
  407.         virtual HRESULT STDMETHODCALLTYPE FreeBuffer( 
  408.             /* [in] */ RPCOLEMESSAGE *pMessage) = 0;
  409.         
  410.         virtual HRESULT STDMETHODCALLTYPE GetDestCtx( 
  411.             /* [out] */ DWORD *pdwDestContext,
  412.             /* [out] */ void **ppvDestContext) = 0;
  413.         
  414.         virtual HRESULT STDMETHODCALLTYPE IsConnected( void) = 0;
  415.         
  416.     };
  417.     
  418. #else  /* C style interface */
  419.     typedef struct IRpcChannelBufferVtbl
  420.     {
  421.         BEGIN_INTERFACE
  422.         
  423.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  424.             IRpcChannelBuffer * This,
  425.             /* [in] */ REFIID riid,
  426.             /* [iid_is][out] */ void **ppvObject);
  427.         
  428.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  429.             IRpcChannelBuffer * This);
  430.         
  431.         ULONG ( STDMETHODCALLTYPE *Release )( 
  432.             IRpcChannelBuffer * This);
  433.         
  434.         HRESULT ( STDMETHODCALLTYPE *GetBuffer )( 
  435.             IRpcChannelBuffer * This,
  436.             /* [in] */ RPCOLEMESSAGE *pMessage,
  437.             /* [in] */ REFIID riid);
  438.         
  439.         HRESULT ( STDMETHODCALLTYPE *SendReceive )( 
  440.             IRpcChannelBuffer * This,
  441.             /* [out][in] */ RPCOLEMESSAGE *pMessage,
  442.             /* [out] */ ULONG *pStatus);
  443.         
  444.         HRESULT ( STDMETHODCALLTYPE *FreeBuffer )( 
  445.             IRpcChannelBuffer * This,
  446.             /* [in] */ RPCOLEMESSAGE *pMessage);
  447.         
  448.         HRESULT ( STDMETHODCALLTYPE *GetDestCtx )( 
  449.             IRpcChannelBuffer * This,
  450.             /* [out] */ DWORD *pdwDestContext,
  451.             /* [out] */ void **ppvDestContext);
  452.         
  453.         HRESULT ( STDMETHODCALLTYPE *IsConnected )( 
  454.             IRpcChannelBuffer * This);
  455.         
  456.         END_INTERFACE
  457.     } IRpcChannelBufferVtbl;
  458.     interface IRpcChannelBuffer
  459.     {
  460.         CONST_VTBL struct IRpcChannelBufferVtbl *lpVtbl;
  461.     };
  462.     
  463. #ifdef COBJMACROS
  464. #define IRpcChannelBuffer_QueryInterface(This,riid,ppvObject)
  465.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  466. #define IRpcChannelBuffer_AddRef(This)
  467.     (This)->lpVtbl -> AddRef(This)
  468. #define IRpcChannelBuffer_Release(This)
  469.     (This)->lpVtbl -> Release(This)
  470. #define IRpcChannelBuffer_GetBuffer(This,pMessage,riid)
  471.     (This)->lpVtbl -> GetBuffer(This,pMessage,riid)
  472. #define IRpcChannelBuffer_SendReceive(This,pMessage,pStatus)
  473.     (This)->lpVtbl -> SendReceive(This,pMessage,pStatus)
  474. #define IRpcChannelBuffer_FreeBuffer(This,pMessage)
  475.     (This)->lpVtbl -> FreeBuffer(This,pMessage)
  476. #define IRpcChannelBuffer_GetDestCtx(This,pdwDestContext,ppvDestContext)
  477.     (This)->lpVtbl -> GetDestCtx(This,pdwDestContext,ppvDestContext)
  478. #define IRpcChannelBuffer_IsConnected(This)
  479.     (This)->lpVtbl -> IsConnected(This)
  480. #endif /* COBJMACROS */
  481. #endif  /* C style interface */
  482. HRESULT STDMETHODCALLTYPE IRpcChannelBuffer_GetBuffer_Proxy( 
  483.     IRpcChannelBuffer * This,
  484.     /* [in] */ RPCOLEMESSAGE *pMessage,
  485.     /* [in] */ REFIID riid);
  486. void __RPC_STUB IRpcChannelBuffer_GetBuffer_Stub(
  487.     IRpcStubBuffer *This,
  488.     IRpcChannelBuffer *_pRpcChannelBuffer,
  489.     PRPC_MESSAGE _pRpcMessage,
  490.     DWORD *_pdwStubPhase);
  491. HRESULT STDMETHODCALLTYPE IRpcChannelBuffer_SendReceive_Proxy( 
  492.     IRpcChannelBuffer * This,
  493.     /* [out][in] */ RPCOLEMESSAGE *pMessage,
  494.     /* [out] */ ULONG *pStatus);
  495. void __RPC_STUB IRpcChannelBuffer_SendReceive_Stub(
  496.     IRpcStubBuffer *This,
  497.     IRpcChannelBuffer *_pRpcChannelBuffer,
  498.     PRPC_MESSAGE _pRpcMessage,
  499.     DWORD *_pdwStubPhase);
  500. HRESULT STDMETHODCALLTYPE IRpcChannelBuffer_FreeBuffer_Proxy( 
  501.     IRpcChannelBuffer * This,
  502.     /* [in] */ RPCOLEMESSAGE *pMessage);
  503. void __RPC_STUB IRpcChannelBuffer_FreeBuffer_Stub(
  504.     IRpcStubBuffer *This,
  505.     IRpcChannelBuffer *_pRpcChannelBuffer,
  506.     PRPC_MESSAGE _pRpcMessage,
  507.     DWORD *_pdwStubPhase);
  508. HRESULT STDMETHODCALLTYPE IRpcChannelBuffer_GetDestCtx_Proxy( 
  509.     IRpcChannelBuffer * This,
  510.     /* [out] */ DWORD *pdwDestContext,
  511.     /* [out] */ void **ppvDestContext);
  512. void __RPC_STUB IRpcChannelBuffer_GetDestCtx_Stub(
  513.     IRpcStubBuffer *This,
  514.     IRpcChannelBuffer *_pRpcChannelBuffer,
  515.     PRPC_MESSAGE _pRpcMessage,
  516.     DWORD *_pdwStubPhase);
  517. HRESULT STDMETHODCALLTYPE IRpcChannelBuffer_IsConnected_Proxy( 
  518.     IRpcChannelBuffer * This);
  519. void __RPC_STUB IRpcChannelBuffer_IsConnected_Stub(
  520.     IRpcStubBuffer *This,
  521.     IRpcChannelBuffer *_pRpcChannelBuffer,
  522.     PRPC_MESSAGE _pRpcMessage,
  523.     DWORD *_pdwStubPhase);
  524. #endif  /* __IRpcChannelBuffer_INTERFACE_DEFINED__ */
  525. #ifndef __IRpcChannelBuffer2_INTERFACE_DEFINED__
  526. #define __IRpcChannelBuffer2_INTERFACE_DEFINED__
  527. /* interface IRpcChannelBuffer2 */
  528. /* [uuid][object][local] */ 
  529. EXTERN_C const IID IID_IRpcChannelBuffer2;
  530. #if defined(__cplusplus) && !defined(CINTERFACE)
  531.     
  532.     MIDL_INTERFACE("594f31d0-7f19-11d0-b194-00a0c90dc8bf")
  533.     IRpcChannelBuffer2 : public IRpcChannelBuffer
  534.     {
  535.     public:
  536.         virtual HRESULT STDMETHODCALLTYPE GetProtocolVersion( 
  537.             /* [out][in] */ DWORD *pdwVersion) = 0;
  538.         
  539.     };
  540.     
  541. #else  /* C style interface */
  542.     typedef struct IRpcChannelBuffer2Vtbl
  543.     {
  544.         BEGIN_INTERFACE
  545.         
  546.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  547.             IRpcChannelBuffer2 * This,
  548.             /* [in] */ REFIID riid,
  549.             /* [iid_is][out] */ void **ppvObject);
  550.         
  551.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  552.             IRpcChannelBuffer2 * This);
  553.         
  554.         ULONG ( STDMETHODCALLTYPE *Release )( 
  555.             IRpcChannelBuffer2 * This);
  556.         
  557.         HRESULT ( STDMETHODCALLTYPE *GetBuffer )( 
  558.             IRpcChannelBuffer2 * This,
  559.             /* [in] */ RPCOLEMESSAGE *pMessage,
  560.             /* [in] */ REFIID riid);
  561.         
  562.         HRESULT ( STDMETHODCALLTYPE *SendReceive )( 
  563.             IRpcChannelBuffer2 * This,
  564.             /* [out][in] */ RPCOLEMESSAGE *pMessage,
  565.             /* [out] */ ULONG *pStatus);
  566.         
  567.         HRESULT ( STDMETHODCALLTYPE *FreeBuffer )( 
  568.             IRpcChannelBuffer2 * This,
  569.             /* [in] */ RPCOLEMESSAGE *pMessage);
  570.         
  571.         HRESULT ( STDMETHODCALLTYPE *GetDestCtx )( 
  572.             IRpcChannelBuffer2 * This,
  573.             /* [out] */ DWORD *pdwDestContext,
  574.             /* [out] */ void **ppvDestContext);
  575.         
  576.         HRESULT ( STDMETHODCALLTYPE *IsConnected )( 
  577.             IRpcChannelBuffer2 * This);
  578.         
  579.         HRESULT ( STDMETHODCALLTYPE *GetProtocolVersion )( 
  580.             IRpcChannelBuffer2 * This,
  581.             /* [out][in] */ DWORD *pdwVersion);
  582.         
  583.         END_INTERFACE
  584.     } IRpcChannelBuffer2Vtbl;
  585.     interface IRpcChannelBuffer2
  586.     {
  587.         CONST_VTBL struct IRpcChannelBuffer2Vtbl *lpVtbl;
  588.     };
  589.     
  590. #ifdef COBJMACROS
  591. #define IRpcChannelBuffer2_QueryInterface(This,riid,ppvObject)
  592.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  593. #define IRpcChannelBuffer2_AddRef(This)
  594.     (This)->lpVtbl -> AddRef(This)
  595. #define IRpcChannelBuffer2_Release(This)
  596.     (This)->lpVtbl -> Release(This)
  597. #define IRpcChannelBuffer2_GetBuffer(This,pMessage,riid)
  598.     (This)->lpVtbl -> GetBuffer(This,pMessage,riid)
  599. #define IRpcChannelBuffer2_SendReceive(This,pMessage,pStatus)
  600.     (This)->lpVtbl -> SendReceive(This,pMessage,pStatus)
  601. #define IRpcChannelBuffer2_FreeBuffer(This,pMessage)
  602.     (This)->lpVtbl -> FreeBuffer(This,pMessage)
  603. #define IRpcChannelBuffer2_GetDestCtx(This,pdwDestContext,ppvDestContext)
  604.     (This)->lpVtbl -> GetDestCtx(This,pdwDestContext,ppvDestContext)
  605. #define IRpcChannelBuffer2_IsConnected(This)
  606.     (This)->lpVtbl -> IsConnected(This)
  607. #define IRpcChannelBuffer2_GetProtocolVersion(This,pdwVersion)
  608.     (This)->lpVtbl -> GetProtocolVersion(This,pdwVersion)
  609. #endif /* COBJMACROS */
  610. #endif  /* C style interface */
  611. HRESULT STDMETHODCALLTYPE IRpcChannelBuffer2_GetProtocolVersion_Proxy( 
  612.     IRpcChannelBuffer2 * This,
  613.     /* [out][in] */ DWORD *pdwVersion);
  614. void __RPC_STUB IRpcChannelBuffer2_GetProtocolVersion_Stub(
  615.     IRpcStubBuffer *This,
  616.     IRpcChannelBuffer *_pRpcChannelBuffer,
  617.     PRPC_MESSAGE _pRpcMessage,
  618.     DWORD *_pdwStubPhase);
  619. #endif  /* __IRpcChannelBuffer2_INTERFACE_DEFINED__ */
  620. #ifndef __IAsyncRpcChannelBuffer_INTERFACE_DEFINED__
  621. #define __IAsyncRpcChannelBuffer_INTERFACE_DEFINED__
  622. /* interface IAsyncRpcChannelBuffer */
  623. /* [unique][uuid][object][local] */ 
  624. EXTERN_C const IID IID_IAsyncRpcChannelBuffer;
  625. #if defined(__cplusplus) && !defined(CINTERFACE)
  626.     
  627.     MIDL_INTERFACE("a5029fb6-3c34-11d1-9c99-00c04fb998aa")
  628.     IAsyncRpcChannelBuffer : public IRpcChannelBuffer2
  629.     {
  630.     public:
  631.         virtual HRESULT STDMETHODCALLTYPE Send( 
  632.             /* [out][in] */ RPCOLEMESSAGE *pMsg,
  633.             /* [in] */ ISynchronize *pSync,
  634.             /* [out] */ ULONG *pulStatus) = 0;
  635.         
  636.         virtual HRESULT STDMETHODCALLTYPE Receive( 
  637.             /* [out][in] */ RPCOLEMESSAGE *pMsg,
  638.             /* [out] */ ULONG *pulStatus) = 0;
  639.         
  640.         virtual HRESULT STDMETHODCALLTYPE GetDestCtxEx( 
  641.             /* [in] */ RPCOLEMESSAGE *pMsg,
  642.             /* [out] */ DWORD *pdwDestContext,
  643.             /* [out] */ void **ppvDestContext) = 0;
  644.         
  645.     };
  646.     
  647. #else  /* C style interface */
  648.     typedef struct IAsyncRpcChannelBufferVtbl
  649.     {
  650.         BEGIN_INTERFACE
  651.         
  652.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  653.             IAsyncRpcChannelBuffer * This,
  654.             /* [in] */ REFIID riid,
  655.             /* [iid_is][out] */ void **ppvObject);
  656.         
  657.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  658.             IAsyncRpcChannelBuffer * This);
  659.         
  660.         ULONG ( STDMETHODCALLTYPE *Release )( 
  661.             IAsyncRpcChannelBuffer * This);
  662.         
  663.         HRESULT ( STDMETHODCALLTYPE *GetBuffer )( 
  664.             IAsyncRpcChannelBuffer * This,
  665.             /* [in] */ RPCOLEMESSAGE *pMessage,
  666.             /* [in] */ REFIID riid);
  667.         
  668.         HRESULT ( STDMETHODCALLTYPE *SendReceive )( 
  669.             IAsyncRpcChannelBuffer * This,
  670.             /* [out][in] */ RPCOLEMESSAGE *pMessage,
  671.             /* [out] */ ULONG *pStatus);
  672.         
  673.         HRESULT ( STDMETHODCALLTYPE *FreeBuffer )( 
  674.             IAsyncRpcChannelBuffer * This,
  675.             /* [in] */ RPCOLEMESSAGE *pMessage);
  676.         
  677.         HRESULT ( STDMETHODCALLTYPE *GetDestCtx )( 
  678.             IAsyncRpcChannelBuffer * This,
  679.             /* [out] */ DWORD *pdwDestContext,
  680.             /* [out] */ void **ppvDestContext);
  681.         
  682.         HRESULT ( STDMETHODCALLTYPE *IsConnected )( 
  683.             IAsyncRpcChannelBuffer * This);
  684.         
  685.         HRESULT ( STDMETHODCALLTYPE *GetProtocolVersion )( 
  686.             IAsyncRpcChannelBuffer * This,
  687.             /* [out][in] */ DWORD *pdwVersion);
  688.         
  689.         HRESULT ( STDMETHODCALLTYPE *Send )( 
  690.             IAsyncRpcChannelBuffer * This,
  691.             /* [out][in] */ RPCOLEMESSAGE *pMsg,
  692.             /* [in] */ ISynchronize *pSync,
  693.             /* [out] */ ULONG *pulStatus);
  694.         
  695.         HRESULT ( STDMETHODCALLTYPE *Receive )( 
  696.             IAsyncRpcChannelBuffer * This,
  697.             /* [out][in] */ RPCOLEMESSAGE *pMsg,
  698.             /* [out] */ ULONG *pulStatus);
  699.         
  700.         HRESULT ( STDMETHODCALLTYPE *GetDestCtxEx )( 
  701.             IAsyncRpcChannelBuffer * This,
  702.             /* [in] */ RPCOLEMESSAGE *pMsg,
  703.             /* [out] */ DWORD *pdwDestContext,
  704.             /* [out] */ void **ppvDestContext);
  705.         
  706.         END_INTERFACE
  707.     } IAsyncRpcChannelBufferVtbl;
  708.     interface IAsyncRpcChannelBuffer
  709.     {
  710.         CONST_VTBL struct IAsyncRpcChannelBufferVtbl *lpVtbl;
  711.     };
  712.     
  713. #ifdef COBJMACROS
  714. #define IAsyncRpcChannelBuffer_QueryInterface(This,riid,ppvObject)
  715.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  716. #define IAsyncRpcChannelBuffer_AddRef(This)
  717.     (This)->lpVtbl -> AddRef(This)
  718. #define IAsyncRpcChannelBuffer_Release(This)
  719.     (This)->lpVtbl -> Release(This)
  720. #define IAsyncRpcChannelBuffer_GetBuffer(This,pMessage,riid)
  721.     (This)->lpVtbl -> GetBuffer(This,pMessage,riid)
  722. #define IAsyncRpcChannelBuffer_SendReceive(This,pMessage,pStatus)
  723.     (This)->lpVtbl -> SendReceive(This,pMessage,pStatus)
  724. #define IAsyncRpcChannelBuffer_FreeBuffer(This,pMessage)
  725.     (This)->lpVtbl -> FreeBuffer(This,pMessage)
  726. #define IAsyncRpcChannelBuffer_GetDestCtx(This,pdwDestContext,ppvDestContext)
  727.     (This)->lpVtbl -> GetDestCtx(This,pdwDestContext,ppvDestContext)
  728. #define IAsyncRpcChannelBuffer_IsConnected(This)
  729.     (This)->lpVtbl -> IsConnected(This)
  730. #define IAsyncRpcChannelBuffer_GetProtocolVersion(This,pdwVersion)
  731.     (This)->lpVtbl -> GetProtocolVersion(This,pdwVersion)
  732. #define IAsyncRpcChannelBuffer_Send(This,pMsg,pSync,pulStatus)
  733.     (This)->lpVtbl -> Send(This,pMsg,pSync,pulStatus)
  734. #define IAsyncRpcChannelBuffer_Receive(This,pMsg,pulStatus)
  735.     (This)->lpVtbl -> Receive(This,pMsg,pulStatus)
  736. #define IAsyncRpcChannelBuffer_GetDestCtxEx(This,pMsg,pdwDestContext,ppvDestContext)
  737.     (This)->lpVtbl -> GetDestCtxEx(This,pMsg,pdwDestContext,ppvDestContext)
  738. #endif /* COBJMACROS */
  739. #endif  /* C style interface */
  740. HRESULT STDMETHODCALLTYPE IAsyncRpcChannelBuffer_Send_Proxy( 
  741.     IAsyncRpcChannelBuffer * This,
  742.     /* [out][in] */ RPCOLEMESSAGE *pMsg,
  743.     /* [in] */ ISynchronize *pSync,
  744.     /* [out] */ ULONG *pulStatus);
  745. void __RPC_STUB IAsyncRpcChannelBuffer_Send_Stub(
  746.     IRpcStubBuffer *This,
  747.     IRpcChannelBuffer *_pRpcChannelBuffer,
  748.     PRPC_MESSAGE _pRpcMessage,
  749.     DWORD *_pdwStubPhase);
  750. HRESULT STDMETHODCALLTYPE IAsyncRpcChannelBuffer_Receive_Proxy( 
  751.     IAsyncRpcChannelBuffer * This,
  752.     /* [out][in] */ RPCOLEMESSAGE *pMsg,
  753.     /* [out] */ ULONG *pulStatus);
  754. void __RPC_STUB IAsyncRpcChannelBuffer_Receive_Stub(
  755.     IRpcStubBuffer *This,
  756.     IRpcChannelBuffer *_pRpcChannelBuffer,
  757.     PRPC_MESSAGE _pRpcMessage,
  758.     DWORD *_pdwStubPhase);
  759. HRESULT STDMETHODCALLTYPE IAsyncRpcChannelBuffer_GetDestCtxEx_Proxy( 
  760.     IAsyncRpcChannelBuffer * This,
  761.     /* [in] */ RPCOLEMESSAGE *pMsg,
  762.     /* [out] */ DWORD *pdwDestContext,
  763.     /* [out] */ void **ppvDestContext);
  764. void __RPC_STUB IAsyncRpcChannelBuffer_GetDestCtxEx_Stub(
  765.     IRpcStubBuffer *This,
  766.     IRpcChannelBuffer *_pRpcChannelBuffer,
  767.     PRPC_MESSAGE _pRpcMessage,
  768.     DWORD *_pdwStubPhase);
  769. #endif  /* __IAsyncRpcChannelBuffer_INTERFACE_DEFINED__ */
  770. #ifndef __IRpcChannelBuffer3_INTERFACE_DEFINED__
  771. #define __IRpcChannelBuffer3_INTERFACE_DEFINED__
  772. /* interface IRpcChannelBuffer3 */
  773. /* [uuid][object][local] */ 
  774. EXTERN_C const IID IID_IRpcChannelBuffer3;
  775. #if defined(__cplusplus) && !defined(CINTERFACE)
  776.     
  777.     MIDL_INTERFACE("25B15600-0115-11d0-BF0D-00AA00B8DFD2")
  778.     IRpcChannelBuffer3 : public IRpcChannelBuffer2
  779.     {
  780.     public:
  781.         virtual HRESULT STDMETHODCALLTYPE Send( 
  782.             /* [out][in] */ RPCOLEMESSAGE *pMsg,
  783.             /* [out] */ ULONG *pulStatus) = 0;
  784.         
  785.         virtual HRESULT STDMETHODCALLTYPE Receive( 
  786.             /* [out][in] */ RPCOLEMESSAGE *pMsg,
  787.             /* [in] */ ULONG ulSize,
  788.             /* [out] */ ULONG *pulStatus) = 0;
  789.         
  790.         virtual HRESULT STDMETHODCALLTYPE Cancel( 
  791.             /* [in] */ RPCOLEMESSAGE *pMsg) = 0;
  792.         
  793.         virtual HRESULT STDMETHODCALLTYPE GetCallContext( 
  794.             /* [in] */ RPCOLEMESSAGE *pMsg,
  795.             /* [in] */ REFIID riid,
  796.             /* [out] */ void **pInterface) = 0;
  797.         
  798.         virtual HRESULT STDMETHODCALLTYPE GetDestCtxEx( 
  799.             /* [in] */ RPCOLEMESSAGE *pMsg,
  800.             /* [out] */ DWORD *pdwDestContext,
  801.             /* [out] */ void **ppvDestContext) = 0;
  802.         
  803.         virtual HRESULT STDMETHODCALLTYPE GetState( 
  804.             /* [in] */ RPCOLEMESSAGE *pMsg,
  805.             /* [out] */ DWORD *pState) = 0;
  806.         
  807.         virtual HRESULT STDMETHODCALLTYPE RegisterAsync( 
  808.             /* [in] */ RPCOLEMESSAGE *pMsg,
  809.             /* [in] */ IAsyncManager *pAsyncMgr) = 0;
  810.         
  811.     };
  812.     
  813. #else  /* C style interface */
  814.     typedef struct IRpcChannelBuffer3Vtbl
  815.     {
  816.         BEGIN_INTERFACE
  817.         
  818.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  819.             IRpcChannelBuffer3 * This,
  820.             /* [in] */ REFIID riid,
  821.             /* [iid_is][out] */ void **ppvObject);
  822.         
  823.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  824.             IRpcChannelBuffer3 * This);
  825.         
  826.         ULONG ( STDMETHODCALLTYPE *Release )( 
  827.             IRpcChannelBuffer3 * This);
  828.         
  829.         HRESULT ( STDMETHODCALLTYPE *GetBuffer )( 
  830.             IRpcChannelBuffer3 * This,
  831.             /* [in] */ RPCOLEMESSAGE *pMessage,
  832.             /* [in] */ REFIID riid);
  833.         
  834.         HRESULT ( STDMETHODCALLTYPE *SendReceive )( 
  835.             IRpcChannelBuffer3 * This,
  836.             /* [out][in] */ RPCOLEMESSAGE *pMessage,
  837.             /* [out] */ ULONG *pStatus);
  838.         
  839.         HRESULT ( STDMETHODCALLTYPE *FreeBuffer )( 
  840.             IRpcChannelBuffer3 * This,
  841.             /* [in] */ RPCOLEMESSAGE *pMessage);
  842.         
  843.         HRESULT ( STDMETHODCALLTYPE *GetDestCtx )( 
  844.             IRpcChannelBuffer3 * This,
  845.             /* [out] */ DWORD *pdwDestContext,
  846.             /* [out] */ void **ppvDestContext);
  847.         
  848.         HRESULT ( STDMETHODCALLTYPE *IsConnected )( 
  849.             IRpcChannelBuffer3 * This);
  850.         
  851.         HRESULT ( STDMETHODCALLTYPE *GetProtocolVersion )( 
  852.             IRpcChannelBuffer3 * This,
  853.             /* [out][in] */ DWORD *pdwVersion);
  854.         
  855.         HRESULT ( STDMETHODCALLTYPE *Send )( 
  856.             IRpcChannelBuffer3 * This,
  857.             /* [out][in] */ RPCOLEMESSAGE *pMsg,
  858.             /* [out] */ ULONG *pulStatus);
  859.         
  860.         HRESULT ( STDMETHODCALLTYPE *Receive )( 
  861.             IRpcChannelBuffer3 * This,
  862.             /* [out][in] */ RPCOLEMESSAGE *pMsg,
  863.             /* [in] */ ULONG ulSize,
  864.             /* [out] */ ULONG *pulStatus);
  865.         
  866.         HRESULT ( STDMETHODCALLTYPE *Cancel )( 
  867.             IRpcChannelBuffer3 * This,
  868.             /* [in] */ RPCOLEMESSAGE *pMsg);
  869.         
  870.         HRESULT ( STDMETHODCALLTYPE *GetCallContext )( 
  871.             IRpcChannelBuffer3 * This,
  872.             /* [in] */ RPCOLEMESSAGE *pMsg,
  873.             /* [in] */ REFIID riid,
  874.             /* [out] */ void **pInterface);
  875.         
  876.         HRESULT ( STDMETHODCALLTYPE *GetDestCtxEx )( 
  877.             IRpcChannelBuffer3 * This,
  878.             /* [in] */ RPCOLEMESSAGE *pMsg,
  879.             /* [out] */ DWORD *pdwDestContext,
  880.             /* [out] */ void **ppvDestContext);
  881.         
  882.         HRESULT ( STDMETHODCALLTYPE *GetState )( 
  883.             IRpcChannelBuffer3 * This,
  884.             /* [in] */ RPCOLEMESSAGE *pMsg,
  885.             /* [out] */ DWORD *pState);
  886.         
  887.         HRESULT ( STDMETHODCALLTYPE *RegisterAsync )( 
  888.             IRpcChannelBuffer3 * This,
  889.             /* [in] */ RPCOLEMESSAGE *pMsg,
  890.             /* [in] */ IAsyncManager *pAsyncMgr);
  891.         
  892.         END_INTERFACE
  893.     } IRpcChannelBuffer3Vtbl;
  894.     interface IRpcChannelBuffer3
  895.     {
  896.         CONST_VTBL struct IRpcChannelBuffer3Vtbl *lpVtbl;
  897.     };
  898.     
  899. #ifdef COBJMACROS
  900. #define IRpcChannelBuffer3_QueryInterface(This,riid,ppvObject)
  901.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  902. #define IRpcChannelBuffer3_AddRef(This)
  903.     (This)->lpVtbl -> AddRef(This)
  904. #define IRpcChannelBuffer3_Release(This)
  905.     (This)->lpVtbl -> Release(This)
  906. #define IRpcChannelBuffer3_GetBuffer(This,pMessage,riid)
  907.     (This)->lpVtbl -> GetBuffer(This,pMessage,riid)
  908. #define IRpcChannelBuffer3_SendReceive(This,pMessage,pStatus)
  909.     (This)->lpVtbl -> SendReceive(This,pMessage,pStatus)
  910. #define IRpcChannelBuffer3_FreeBuffer(This,pMessage)
  911.     (This)->lpVtbl -> FreeBuffer(This,pMessage)
  912. #define IRpcChannelBuffer3_GetDestCtx(This,pdwDestContext,ppvDestContext)
  913.     (This)->lpVtbl -> GetDestCtx(This,pdwDestContext,ppvDestContext)
  914. #define IRpcChannelBuffer3_IsConnected(This)
  915.     (This)->lpVtbl -> IsConnected(This)
  916. #define IRpcChannelBuffer3_GetProtocolVersion(This,pdwVersion)
  917.     (This)->lpVtbl -> GetProtocolVersion(This,pdwVersion)
  918. #define IRpcChannelBuffer3_Send(This,pMsg,pulStatus)
  919.     (This)->lpVtbl -> Send(This,pMsg,pulStatus)
  920. #define IRpcChannelBuffer3_Receive(This,pMsg,ulSize,pulStatus)
  921.     (This)->lpVtbl -> Receive(This,pMsg,ulSize,pulStatus)
  922. #define IRpcChannelBuffer3_Cancel(This,pMsg)
  923.     (This)->lpVtbl -> Cancel(This,pMsg)
  924. #define IRpcChannelBuffer3_GetCallContext(This,pMsg,riid,pInterface)
  925.     (This)->lpVtbl -> GetCallContext(This,pMsg,riid,pInterface)
  926. #define IRpcChannelBuffer3_GetDestCtxEx(This,pMsg,pdwDestContext,ppvDestContext)
  927.     (This)->lpVtbl -> GetDestCtxEx(This,pMsg,pdwDestContext,ppvDestContext)
  928. #define IRpcChannelBuffer3_GetState(This,pMsg,pState)
  929.     (This)->lpVtbl -> GetState(This,pMsg,pState)
  930. #define IRpcChannelBuffer3_RegisterAsync(This,pMsg,pAsyncMgr)
  931.     (This)->lpVtbl -> RegisterAsync(This,pMsg,pAsyncMgr)
  932. #endif /* COBJMACROS */
  933. #endif  /* C style interface */
  934. HRESULT STDMETHODCALLTYPE IRpcChannelBuffer3_Send_Proxy( 
  935.     IRpcChannelBuffer3 * This,
  936.     /* [out][in] */ RPCOLEMESSAGE *pMsg,
  937.     /* [out] */ ULONG *pulStatus);
  938. void __RPC_STUB IRpcChannelBuffer3_Send_Stub(
  939.     IRpcStubBuffer *This,
  940.     IRpcChannelBuffer *_pRpcChannelBuffer,
  941.     PRPC_MESSAGE _pRpcMessage,
  942.     DWORD *_pdwStubPhase);
  943. HRESULT STDMETHODCALLTYPE IRpcChannelBuffer3_Receive_Proxy( 
  944.     IRpcChannelBuffer3 * This,
  945.     /* [out][in] */ RPCOLEMESSAGE *pMsg,
  946.     /* [in] */ ULONG ulSize,
  947.     /* [out] */ ULONG *pulStatus);
  948. void __RPC_STUB IRpcChannelBuffer3_Receive_Stub(
  949.     IRpcStubBuffer *This,
  950.     IRpcChannelBuffer *_pRpcChannelBuffer,
  951.     PRPC_MESSAGE _pRpcMessage,
  952.     DWORD *_pdwStubPhase);
  953. HRESULT STDMETHODCALLTYPE IRpcChannelBuffer3_Cancel_Proxy( 
  954.     IRpcChannelBuffer3 * This,
  955.     /* [in] */ RPCOLEMESSAGE *pMsg);
  956. void __RPC_STUB IRpcChannelBuffer3_Cancel_Stub(
  957.     IRpcStubBuffer *This,
  958.     IRpcChannelBuffer *_pRpcChannelBuffer,
  959.     PRPC_MESSAGE _pRpcMessage,
  960.     DWORD *_pdwStubPhase);
  961. HRESULT STDMETHODCALLTYPE IRpcChannelBuffer3_GetCallContext_Proxy( 
  962.     IRpcChannelBuffer3 * This,
  963.     /* [in] */ RPCOLEMESSAGE *pMsg,
  964.     /* [in] */ REFIID riid,
  965.     /* [out] */ void **pInterface);
  966. void __RPC_STUB IRpcChannelBuffer3_GetCallContext_Stub(
  967.     IRpcStubBuffer *This,
  968.     IRpcChannelBuffer *_pRpcChannelBuffer,
  969.     PRPC_MESSAGE _pRpcMessage,
  970.     DWORD *_pdwStubPhase);
  971. HRESULT STDMETHODCALLTYPE IRpcChannelBuffer3_GetDestCtxEx_Proxy( 
  972.     IRpcChannelBuffer3 * This,
  973.     /* [in] */ RPCOLEMESSAGE *pMsg,
  974.     /* [out] */ DWORD *pdwDestContext,
  975.     /* [out] */ void **ppvDestContext);
  976. void __RPC_STUB IRpcChannelBuffer3_GetDestCtxEx_Stub(
  977.     IRpcStubBuffer *This,
  978.     IRpcChannelBuffer *_pRpcChannelBuffer,
  979.     PRPC_MESSAGE _pRpcMessage,
  980.     DWORD *_pdwStubPhase);
  981. HRESULT STDMETHODCALLTYPE IRpcChannelBuffer3_GetState_Proxy( 
  982.     IRpcChannelBuffer3 * This,
  983.     /* [in] */ RPCOLEMESSAGE *pMsg,
  984.     /* [out] */ DWORD *pState);
  985. void __RPC_STUB IRpcChannelBuffer3_GetState_Stub(
  986.     IRpcStubBuffer *This,
  987.     IRpcChannelBuffer *_pRpcChannelBuffer,
  988.     PRPC_MESSAGE _pRpcMessage,
  989.     DWORD *_pdwStubPhase);
  990. HRESULT STDMETHODCALLTYPE IRpcChannelBuffer3_RegisterAsync_Proxy( 
  991.     IRpcChannelBuffer3 * This,
  992.     /* [in] */ RPCOLEMESSAGE *pMsg,
  993.     /* [in] */ IAsyncManager *pAsyncMgr);
  994. void __RPC_STUB IRpcChannelBuffer3_RegisterAsync_Stub(
  995.     IRpcStubBuffer *This,
  996.     IRpcChannelBuffer *_pRpcChannelBuffer,
  997.     PRPC_MESSAGE _pRpcMessage,
  998.     DWORD *_pdwStubPhase);
  999. #endif  /* __IRpcChannelBuffer3_INTERFACE_DEFINED__ */
  1000. #ifndef __IRpcSyntaxNegotiate_INTERFACE_DEFINED__
  1001. #define __IRpcSyntaxNegotiate_INTERFACE_DEFINED__
  1002. /* interface IRpcSyntaxNegotiate */
  1003. /* [uuid][object][local] */ 
  1004. EXTERN_C const IID IID_IRpcSyntaxNegotiate;
  1005. #if defined(__cplusplus) && !defined(CINTERFACE)
  1006.     
  1007.     MIDL_INTERFACE("58a08519-24c8-4935-b482-3fd823333a4f")
  1008.     IRpcSyntaxNegotiate : public IUnknown
  1009.     {
  1010.     public:
  1011.         virtual HRESULT STDMETHODCALLTYPE NegotiateSyntax( 
  1012.             /* [out][in] */ RPCOLEMESSAGE *pMsg) = 0;
  1013.         
  1014.     };
  1015.     
  1016. #else  /* C style interface */
  1017.     typedef struct IRpcSyntaxNegotiateVtbl
  1018.     {
  1019.         BEGIN_INTERFACE
  1020.         
  1021.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1022.             IRpcSyntaxNegotiate * This,
  1023.             /* [in] */ REFIID riid,
  1024.             /* [iid_is][out] */ void **ppvObject);
  1025.         
  1026.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1027.             IRpcSyntaxNegotiate * This);
  1028.         
  1029.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1030.             IRpcSyntaxNegotiate * This);
  1031.         
  1032.         HRESULT ( STDMETHODCALLTYPE *NegotiateSyntax )( 
  1033.             IRpcSyntaxNegotiate * This,
  1034.             /* [out][in] */ RPCOLEMESSAGE *pMsg);
  1035.         
  1036.         END_INTERFACE
  1037.     } IRpcSyntaxNegotiateVtbl;
  1038.     interface IRpcSyntaxNegotiate
  1039.     {
  1040.         CONST_VTBL struct IRpcSyntaxNegotiateVtbl *lpVtbl;
  1041.     };
  1042.     
  1043. #ifdef COBJMACROS
  1044. #define IRpcSyntaxNegotiate_QueryInterface(This,riid,ppvObject)
  1045.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1046. #define IRpcSyntaxNegotiate_AddRef(This)
  1047.     (This)->lpVtbl -> AddRef(This)
  1048. #define IRpcSyntaxNegotiate_Release(This)
  1049.     (This)->lpVtbl -> Release(This)
  1050. #define IRpcSyntaxNegotiate_NegotiateSyntax(This,pMsg)
  1051.     (This)->lpVtbl -> NegotiateSyntax(This,pMsg)
  1052. #endif /* COBJMACROS */
  1053. #endif  /* C style interface */
  1054. HRESULT STDMETHODCALLTYPE IRpcSyntaxNegotiate_NegotiateSyntax_Proxy( 
  1055.     IRpcSyntaxNegotiate * This,
  1056.     /* [out][in] */ RPCOLEMESSAGE *pMsg);
  1057. void __RPC_STUB IRpcSyntaxNegotiate_NegotiateSyntax_Stub(
  1058.     IRpcStubBuffer *This,
  1059.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1060.     PRPC_MESSAGE _pRpcMessage,
  1061.     DWORD *_pdwStubPhase);
  1062. #endif  /* __IRpcSyntaxNegotiate_INTERFACE_DEFINED__ */
  1063. #ifndef __IRpcProxyBuffer_INTERFACE_DEFINED__
  1064. #define __IRpcProxyBuffer_INTERFACE_DEFINED__
  1065. /* interface IRpcProxyBuffer */
  1066. /* [uuid][object][local] */ 
  1067. EXTERN_C const IID IID_IRpcProxyBuffer;
  1068. #if defined(__cplusplus) && !defined(CINTERFACE)
  1069.     
  1070.     MIDL_INTERFACE("D5F56A34-593B-101A-B569-08002B2DBF7A")
  1071.     IRpcProxyBuffer : public IUnknown
  1072.     {
  1073.     public:
  1074.         virtual HRESULT STDMETHODCALLTYPE Connect( 
  1075.             /* [unique][in] */ IRpcChannelBuffer *pRpcChannelBuffer) = 0;
  1076.         
  1077.         virtual void STDMETHODCALLTYPE Disconnect( void) = 0;
  1078.         
  1079.     };
  1080.     
  1081. #else  /* C style interface */
  1082.     typedef struct IRpcProxyBufferVtbl
  1083.     {
  1084.         BEGIN_INTERFACE
  1085.         
  1086.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1087.             IRpcProxyBuffer * This,
  1088.             /* [in] */ REFIID riid,
  1089.             /* [iid_is][out] */ void **ppvObject);
  1090.         
  1091.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1092.             IRpcProxyBuffer * This);
  1093.         
  1094.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1095.             IRpcProxyBuffer * This);
  1096.         
  1097.         HRESULT ( STDMETHODCALLTYPE *Connect )( 
  1098.             IRpcProxyBuffer * This,
  1099.             /* [unique][in] */ IRpcChannelBuffer *pRpcChannelBuffer);
  1100.         
  1101.         void ( STDMETHODCALLTYPE *Disconnect )( 
  1102.             IRpcProxyBuffer * This);
  1103.         
  1104.         END_INTERFACE
  1105.     } IRpcProxyBufferVtbl;
  1106.     interface IRpcProxyBuffer
  1107.     {
  1108.         CONST_VTBL struct IRpcProxyBufferVtbl *lpVtbl;
  1109.     };
  1110.     
  1111. #ifdef COBJMACROS
  1112. #define IRpcProxyBuffer_QueryInterface(This,riid,ppvObject)
  1113.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1114. #define IRpcProxyBuffer_AddRef(This)
  1115.     (This)->lpVtbl -> AddRef(This)
  1116. #define IRpcProxyBuffer_Release(This)
  1117.     (This)->lpVtbl -> Release(This)
  1118. #define IRpcProxyBuffer_Connect(This,pRpcChannelBuffer)
  1119.     (This)->lpVtbl -> Connect(This,pRpcChannelBuffer)
  1120. #define IRpcProxyBuffer_Disconnect(This)
  1121.     (This)->lpVtbl -> Disconnect(This)
  1122. #endif /* COBJMACROS */
  1123. #endif  /* C style interface */
  1124. HRESULT STDMETHODCALLTYPE IRpcProxyBuffer_Connect_Proxy( 
  1125.     IRpcProxyBuffer * This,
  1126.     /* [unique][in] */ IRpcChannelBuffer *pRpcChannelBuffer);
  1127. void __RPC_STUB IRpcProxyBuffer_Connect_Stub(
  1128.     IRpcStubBuffer *This,
  1129.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1130.     PRPC_MESSAGE _pRpcMessage,
  1131.     DWORD *_pdwStubPhase);
  1132. void STDMETHODCALLTYPE IRpcProxyBuffer_Disconnect_Proxy( 
  1133.     IRpcProxyBuffer * This);
  1134. void __RPC_STUB IRpcProxyBuffer_Disconnect_Stub(
  1135.     IRpcStubBuffer *This,
  1136.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1137.     PRPC_MESSAGE _pRpcMessage,
  1138.     DWORD *_pdwStubPhase);
  1139. #endif  /* __IRpcProxyBuffer_INTERFACE_DEFINED__ */
  1140. #ifndef __IRpcStubBuffer_INTERFACE_DEFINED__
  1141. #define __IRpcStubBuffer_INTERFACE_DEFINED__
  1142. /* interface IRpcStubBuffer */
  1143. /* [uuid][object][local] */ 
  1144. EXTERN_C const IID IID_IRpcStubBuffer;
  1145. #if defined(__cplusplus) && !defined(CINTERFACE)
  1146.     
  1147.     MIDL_INTERFACE("D5F56AFC-593B-101A-B569-08002B2DBF7A")
  1148.     IRpcStubBuffer : public IUnknown
  1149.     {
  1150.     public:
  1151.         virtual HRESULT STDMETHODCALLTYPE Connect( 
  1152.             /* [in] */ IUnknown *pUnkServer) = 0;
  1153.         
  1154.         virtual void STDMETHODCALLTYPE Disconnect( void) = 0;
  1155.         
  1156.         virtual HRESULT STDMETHODCALLTYPE Invoke( 
  1157.             /* [in] */ RPCOLEMESSAGE *_prpcmsg,
  1158.             /* [in] */ IRpcChannelBuffer *_pRpcChannelBuffer) = 0;
  1159.         
  1160.         virtual IRpcStubBuffer *STDMETHODCALLTYPE IsIIDSupported( 
  1161.             /* [in] */ REFIID riid) = 0;
  1162.         
  1163.         virtual ULONG STDMETHODCALLTYPE CountRefs( void) = 0;
  1164.         
  1165.         virtual HRESULT STDMETHODCALLTYPE DebugServerQueryInterface( 
  1166.             void **ppv) = 0;
  1167.         
  1168.         virtual void STDMETHODCALLTYPE DebugServerRelease( 
  1169.             void *pv) = 0;
  1170.         
  1171.     };
  1172.     
  1173. #else  /* C style interface */
  1174.     typedef struct IRpcStubBufferVtbl
  1175.     {
  1176.         BEGIN_INTERFACE
  1177.         
  1178.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1179.             IRpcStubBuffer * This,
  1180.             /* [in] */ REFIID riid,
  1181.             /* [iid_is][out] */ void **ppvObject);
  1182.         
  1183.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1184.             IRpcStubBuffer * This);
  1185.         
  1186.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1187.             IRpcStubBuffer * This);
  1188.         
  1189.         HRESULT ( STDMETHODCALLTYPE *Connect )( 
  1190.             IRpcStubBuffer * This,
  1191.             /* [in] */ IUnknown *pUnkServer);
  1192.         
  1193.         void ( STDMETHODCALLTYPE *Disconnect )( 
  1194.             IRpcStubBuffer * This);
  1195.         
  1196.         HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  1197.             IRpcStubBuffer * This,
  1198.             /* [in] */ RPCOLEMESSAGE *_prpcmsg,
  1199.             /* [in] */ IRpcChannelBuffer *_pRpcChannelBuffer);
  1200.         
  1201.         IRpcStubBuffer *( STDMETHODCALLTYPE *IsIIDSupported )( 
  1202.             IRpcStubBuffer * This,
  1203.             /* [in] */ REFIID riid);
  1204.         
  1205.         ULONG ( STDMETHODCALLTYPE *CountRefs )( 
  1206.             IRpcStubBuffer * This);
  1207.         
  1208.         HRESULT ( STDMETHODCALLTYPE *DebugServerQueryInterface )( 
  1209.             IRpcStubBuffer * This,
  1210.             void **ppv);
  1211.         
  1212.         void ( STDMETHODCALLTYPE *DebugServerRelease )( 
  1213.             IRpcStubBuffer * This,
  1214.             void *pv);
  1215.         
  1216.         END_INTERFACE
  1217.     } IRpcStubBufferVtbl;
  1218.     interface IRpcStubBuffer
  1219.     {
  1220.         CONST_VTBL struct IRpcStubBufferVtbl *lpVtbl;
  1221.     };
  1222.     
  1223. #ifdef COBJMACROS
  1224. #define IRpcStubBuffer_QueryInterface(This,riid,ppvObject)
  1225.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1226. #define IRpcStubBuffer_AddRef(This)
  1227.     (This)->lpVtbl -> AddRef(This)
  1228. #define IRpcStubBuffer_Release(This)
  1229.     (This)->lpVtbl -> Release(This)
  1230. #define IRpcStubBuffer_Connect(This,pUnkServer)
  1231.     (This)->lpVtbl -> Connect(This,pUnkServer)
  1232. #define IRpcStubBuffer_Disconnect(This)
  1233.     (This)->lpVtbl -> Disconnect(This)
  1234. #define IRpcStubBuffer_Invoke(This,_prpcmsg,_pRpcChannelBuffer)
  1235.     (This)->lpVtbl -> Invoke(This,_prpcmsg,_pRpcChannelBuffer)
  1236. #define IRpcStubBuffer_IsIIDSupported(This,riid)
  1237.     (This)->lpVtbl -> IsIIDSupported(This,riid)
  1238. #define IRpcStubBuffer_CountRefs(This)
  1239.     (This)->lpVtbl -> CountRefs(This)
  1240. #define IRpcStubBuffer_DebugServerQueryInterface(This,ppv)
  1241.     (This)->lpVtbl -> DebugServerQueryInterface(This,ppv)
  1242. #define IRpcStubBuffer_DebugServerRelease(This,pv)
  1243.     (This)->lpVtbl -> DebugServerRelease(This,pv)
  1244. #endif /* COBJMACROS */
  1245. #endif  /* C style interface */
  1246. HRESULT STDMETHODCALLTYPE IRpcStubBuffer_Connect_Proxy( 
  1247.     IRpcStubBuffer * This,
  1248.     /* [in] */ IUnknown *pUnkServer);
  1249. void __RPC_STUB IRpcStubBuffer_Connect_Stub(
  1250.     IRpcStubBuffer *This,
  1251.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1252.     PRPC_MESSAGE _pRpcMessage,
  1253.     DWORD *_pdwStubPhase);
  1254. void STDMETHODCALLTYPE IRpcStubBuffer_Disconnect_Proxy( 
  1255.     IRpcStubBuffer * This);
  1256. void __RPC_STUB IRpcStubBuffer_Disconnect_Stub(
  1257.     IRpcStubBuffer *This,
  1258.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1259.     PRPC_MESSAGE _pRpcMessage,
  1260.     DWORD *_pdwStubPhase);
  1261. HRESULT STDMETHODCALLTYPE IRpcStubBuffer_Invoke_Proxy( 
  1262.     IRpcStubBuffer * This,
  1263.     /* [in] */ RPCOLEMESSAGE *_prpcmsg,
  1264.     /* [in] */ IRpcChannelBuffer *_pRpcChannelBuffer);
  1265. void __RPC_STUB IRpcStubBuffer_Invoke_Stub(
  1266.     IRpcStubBuffer *This,
  1267.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1268.     PRPC_MESSAGE _pRpcMessage,
  1269.     DWORD *_pdwStubPhase);
  1270. IRpcStubBuffer *STDMETHODCALLTYPE IRpcStubBuffer_IsIIDSupported_Proxy( 
  1271.     IRpcStubBuffer * This,
  1272.     /* [in] */ REFIID riid);
  1273. void __RPC_STUB IRpcStubBuffer_IsIIDSupported_Stub(
  1274.     IRpcStubBuffer *This,
  1275.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1276.     PRPC_MESSAGE _pRpcMessage,
  1277.     DWORD *_pdwStubPhase);
  1278. ULONG STDMETHODCALLTYPE IRpcStubBuffer_CountRefs_Proxy( 
  1279.     IRpcStubBuffer * This);
  1280. void __RPC_STUB IRpcStubBuffer_CountRefs_Stub(
  1281.     IRpcStubBuffer *This,
  1282.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1283.     PRPC_MESSAGE _pRpcMessage,
  1284.     DWORD *_pdwStubPhase);
  1285. HRESULT STDMETHODCALLTYPE IRpcStubBuffer_DebugServerQueryInterface_Proxy( 
  1286.     IRpcStubBuffer * This,
  1287.     void **ppv);
  1288. void __RPC_STUB IRpcStubBuffer_DebugServerQueryInterface_Stub(
  1289.     IRpcStubBuffer *This,
  1290.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1291.     PRPC_MESSAGE _pRpcMessage,
  1292.     DWORD *_pdwStubPhase);
  1293. void STDMETHODCALLTYPE IRpcStubBuffer_DebugServerRelease_Proxy( 
  1294.     IRpcStubBuffer * This,
  1295.     void *pv);
  1296. void __RPC_STUB IRpcStubBuffer_DebugServerRelease_Stub(
  1297.     IRpcStubBuffer *This,
  1298.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1299.     PRPC_MESSAGE _pRpcMessage,
  1300.     DWORD *_pdwStubPhase);
  1301. #endif  /* __IRpcStubBuffer_INTERFACE_DEFINED__ */
  1302. #ifndef __IPSFactoryBuffer_INTERFACE_DEFINED__
  1303. #define __IPSFactoryBuffer_INTERFACE_DEFINED__
  1304. /* interface IPSFactoryBuffer */
  1305. /* [uuid][object][local] */ 
  1306. EXTERN_C const IID IID_IPSFactoryBuffer;
  1307. #if defined(__cplusplus) && !defined(CINTERFACE)
  1308.     
  1309.     MIDL_INTERFACE("D5F569D0-593B-101A-B569-08002B2DBF7A")
  1310.     IPSFactoryBuffer : public IUnknown
  1311.     {
  1312.     public:
  1313.         virtual HRESULT STDMETHODCALLTYPE CreateProxy( 
  1314.             /* [in] */ IUnknown *pUnkOuter,
  1315.             /* [in] */ REFIID riid,
  1316.             /* [out] */ IRpcProxyBuffer **ppProxy,
  1317.             /* [out] */ void **ppv) = 0;
  1318.         
  1319.         virtual HRESULT STDMETHODCALLTYPE CreateStub( 
  1320.             /* [in] */ REFIID riid,
  1321.             /* [unique][in] */ IUnknown *pUnkServer,
  1322.             /* [out] */ IRpcStubBuffer **ppStub) = 0;
  1323.         
  1324.     };
  1325.     
  1326. #else  /* C style interface */
  1327.     typedef struct IPSFactoryBufferVtbl
  1328.     {
  1329.         BEGIN_INTERFACE
  1330.         
  1331.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1332.             IPSFactoryBuffer * This,
  1333.             /* [in] */ REFIID riid,
  1334.             /* [iid_is][out] */ void **ppvObject);
  1335.         
  1336.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1337.             IPSFactoryBuffer * This);
  1338.         
  1339.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1340.             IPSFactoryBuffer * This);
  1341.         
  1342.         HRESULT ( STDMETHODCALLTYPE *CreateProxy )( 
  1343.             IPSFactoryBuffer * This,
  1344.             /* [in] */ IUnknown *pUnkOuter,
  1345.             /* [in] */ REFIID riid,
  1346.             /* [out] */ IRpcProxyBuffer **ppProxy,
  1347.             /* [out] */ void **ppv);
  1348.         
  1349.         HRESULT ( STDMETHODCALLTYPE *CreateStub )( 
  1350.             IPSFactoryBuffer * This,
  1351.             /* [in] */ REFIID riid,
  1352.             /* [unique][in] */ IUnknown *pUnkServer,
  1353.             /* [out] */ IRpcStubBuffer **ppStub);
  1354.         
  1355.         END_INTERFACE
  1356.     } IPSFactoryBufferVtbl;
  1357.     interface IPSFactoryBuffer
  1358.     {
  1359.         CONST_VTBL struct IPSFactoryBufferVtbl *lpVtbl;
  1360.     };
  1361.     
  1362. #ifdef COBJMACROS
  1363. #define IPSFactoryBuffer_QueryInterface(This,riid,ppvObject)
  1364.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1365. #define IPSFactoryBuffer_AddRef(This)
  1366.     (This)->lpVtbl -> AddRef(This)
  1367. #define IPSFactoryBuffer_Release(This)
  1368.     (This)->lpVtbl -> Release(This)
  1369. #define IPSFactoryBuffer_CreateProxy(This,pUnkOuter,riid,ppProxy,ppv)
  1370.     (This)->lpVtbl -> CreateProxy(This,pUnkOuter,riid,ppProxy,ppv)
  1371. #define IPSFactoryBuffer_CreateStub(This,riid,pUnkServer,ppStub)
  1372.     (This)->lpVtbl -> CreateStub(This,riid,pUnkServer,ppStub)
  1373. #endif /* COBJMACROS */
  1374. #endif  /* C style interface */
  1375. HRESULT STDMETHODCALLTYPE IPSFactoryBuffer_CreateProxy_Proxy( 
  1376.     IPSFactoryBuffer * This,
  1377.     /* [in] */ IUnknown *pUnkOuter,
  1378.     /* [in] */ REFIID riid,
  1379.     /* [out] */ IRpcProxyBuffer **ppProxy,
  1380.     /* [out] */ void **ppv);
  1381. void __RPC_STUB IPSFactoryBuffer_CreateProxy_Stub(
  1382.     IRpcStubBuffer *This,
  1383.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1384.     PRPC_MESSAGE _pRpcMessage,
  1385.     DWORD *_pdwStubPhase);
  1386. HRESULT STDMETHODCALLTYPE IPSFactoryBuffer_CreateStub_Proxy( 
  1387.     IPSFactoryBuffer * This,
  1388.     /* [in] */ REFIID riid,
  1389.     /* [unique][in] */ IUnknown *pUnkServer,
  1390.     /* [out] */ IRpcStubBuffer **ppStub);
  1391. void __RPC_STUB IPSFactoryBuffer_CreateStub_Stub(
  1392.     IRpcStubBuffer *This,
  1393.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1394.     PRPC_MESSAGE _pRpcMessage,
  1395.     DWORD *_pdwStubPhase);
  1396. #endif  /* __IPSFactoryBuffer_INTERFACE_DEFINED__ */
  1397. /* interface __MIDL_itf_objidl_0050 */
  1398. /* [local] */ 
  1399. #if  (_WIN32_WINNT >= 0x0400 ) || defined(_WIN32_DCOM) // DCOM
  1400. // This interface is only valid on Windows NT 4.0
  1401. typedef struct SChannelHookCallInfo
  1402.     {
  1403.     IID iid;
  1404.     DWORD cbSize;
  1405.     GUID uCausality;
  1406.     DWORD dwServerPid;
  1407.     DWORD iMethod;
  1408.     void *pObject;
  1409.     }  SChannelHookCallInfo;
  1410. extern RPC_IF_HANDLE __MIDL_itf_objidl_0050_v0_0_c_ifspec;
  1411. extern RPC_IF_HANDLE __MIDL_itf_objidl_0050_v0_0_s_ifspec;
  1412. #ifndef __IChannelHook_INTERFACE_DEFINED__
  1413. #define __IChannelHook_INTERFACE_DEFINED__
  1414. /* interface IChannelHook */
  1415. /* [uuid][object][local] */ 
  1416. EXTERN_C const IID IID_IChannelHook;
  1417. #if defined(__cplusplus) && !defined(CINTERFACE)
  1418.     
  1419.     MIDL_INTERFACE("1008c4a0-7613-11cf-9af1-0020af6e72f4")
  1420.     IChannelHook : public IUnknown
  1421.     {
  1422.     public:
  1423.         virtual void STDMETHODCALLTYPE ClientGetSize( 
  1424.             /* [in] */ REFGUID uExtent,
  1425.             /* [in] */ REFIID riid,
  1426.             /* [out] */ ULONG *pDataSize) = 0;
  1427.         
  1428.         virtual void STDMETHODCALLTYPE ClientFillBuffer( 
  1429.             /* [in] */ REFGUID uExtent,
  1430.             /* [in] */ REFIID riid,
  1431.             /* [out][in] */ ULONG *pDataSize,
  1432.             /* [in] */ void *pDataBuffer) = 0;
  1433.         
  1434.         virtual void STDMETHODCALLTYPE ClientNotify( 
  1435.             /* [in] */ REFGUID uExtent,
  1436.             /* [in] */ REFIID riid,
  1437.             /* [in] */ ULONG cbDataSize,
  1438.             /* [in] */ void *pDataBuffer,
  1439.             /* [in] */ DWORD lDataRep,
  1440.             /* [in] */ HRESULT hrFault) = 0;
  1441.         
  1442.         virtual void STDMETHODCALLTYPE ServerNotify( 
  1443.             /* [in] */ REFGUID uExtent,
  1444.             /* [in] */ REFIID riid,
  1445.             /* [in] */ ULONG cbDataSize,
  1446.             /* [in] */ void *pDataBuffer,
  1447.             /* [in] */ DWORD lDataRep) = 0;
  1448.         
  1449.         virtual void STDMETHODCALLTYPE ServerGetSize( 
  1450.             /* [in] */ REFGUID uExtent,
  1451.             /* [in] */ REFIID riid,
  1452.             /* [in] */ HRESULT hrFault,
  1453.             /* [out] */ ULONG *pDataSize) = 0;
  1454.         
  1455.         virtual void STDMETHODCALLTYPE ServerFillBuffer( 
  1456.             /* [in] */ REFGUID uExtent,
  1457.             /* [in] */ REFIID riid,
  1458.             /* [out][in] */ ULONG *pDataSize,
  1459.             /* [in] */ void *pDataBuffer,
  1460.             /* [in] */ HRESULT hrFault) = 0;
  1461.         
  1462.     };
  1463.     
  1464. #else  /* C style interface */
  1465.     typedef struct IChannelHookVtbl
  1466.     {
  1467.         BEGIN_INTERFACE
  1468.         
  1469.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1470.             IChannelHook * This,
  1471.             /* [in] */ REFIID riid,
  1472.             /* [iid_is][out] */ void **ppvObject);
  1473.         
  1474.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1475.             IChannelHook * This);
  1476.         
  1477.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1478.             IChannelHook * This);
  1479.         
  1480.         void ( STDMETHODCALLTYPE *ClientGetSize )( 
  1481.             IChannelHook * This,
  1482.             /* [in] */ REFGUID uExtent,
  1483.             /* [in] */ REFIID riid,
  1484.             /* [out] */ ULONG *pDataSize);
  1485.         
  1486.         void ( STDMETHODCALLTYPE *ClientFillBuffer )( 
  1487.             IChannelHook * This,
  1488.             /* [in] */ REFGUID uExtent,
  1489.             /* [in] */ REFIID riid,
  1490.             /* [out][in] */ ULONG *pDataSize,
  1491.             /* [in] */ void *pDataBuffer);
  1492.         
  1493.         void ( STDMETHODCALLTYPE *ClientNotify )( 
  1494.             IChannelHook * This,
  1495.             /* [in] */ REFGUID uExtent,
  1496.             /* [in] */ REFIID riid,
  1497.             /* [in] */ ULONG cbDataSize,
  1498.             /* [in] */ void *pDataBuffer,
  1499.             /* [in] */ DWORD lDataRep,
  1500.             /* [in] */ HRESULT hrFault);
  1501.         
  1502.         void ( STDMETHODCALLTYPE *ServerNotify )( 
  1503.             IChannelHook * This,
  1504.             /* [in] */ REFGUID uExtent,
  1505.             /* [in] */ REFIID riid,
  1506.             /* [in] */ ULONG cbDataSize,
  1507.             /* [in] */ void *pDataBuffer,
  1508.             /* [in] */ DWORD lDataRep);
  1509.         
  1510.         void ( STDMETHODCALLTYPE *ServerGetSize )( 
  1511.             IChannelHook * This,
  1512.             /* [in] */ REFGUID uExtent,
  1513.             /* [in] */ REFIID riid,
  1514.             /* [in] */ HRESULT hrFault,
  1515.             /* [out] */ ULONG *pDataSize);
  1516.         
  1517.         void ( STDMETHODCALLTYPE *ServerFillBuffer )( 
  1518.             IChannelHook * This,
  1519.             /* [in] */ REFGUID uExtent,
  1520.             /* [in] */ REFIID riid,
  1521.             /* [out][in] */ ULONG *pDataSize,
  1522.             /* [in] */ void *pDataBuffer,
  1523.             /* [in] */ HRESULT hrFault);
  1524.         
  1525.         END_INTERFACE
  1526.     } IChannelHookVtbl;
  1527.     interface IChannelHook
  1528.     {
  1529.         CONST_VTBL struct IChannelHookVtbl *lpVtbl;
  1530.     };
  1531.     
  1532. #ifdef COBJMACROS
  1533. #define IChannelHook_QueryInterface(This,riid,ppvObject)
  1534.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1535. #define IChannelHook_AddRef(This)
  1536.     (This)->lpVtbl -> AddRef(This)
  1537. #define IChannelHook_Release(This)
  1538.     (This)->lpVtbl -> Release(This)
  1539. #define IChannelHook_ClientGetSize(This,uExtent,riid,pDataSize)
  1540.     (This)->lpVtbl -> ClientGetSize(This,uExtent,riid,pDataSize)
  1541. #define IChannelHook_ClientFillBuffer(This,uExtent,riid,pDataSize,pDataBuffer)
  1542.     (This)->lpVtbl -> ClientFillBuffer(This,uExtent,riid,pDataSize,pDataBuffer)
  1543. #define IChannelHook_ClientNotify(This,uExtent,riid,cbDataSize,pDataBuffer,lDataRep,hrFault)
  1544.     (This)->lpVtbl -> ClientNotify(This,uExtent,riid,cbDataSize,pDataBuffer,lDataRep,hrFault)
  1545. #define IChannelHook_ServerNotify(This,uExtent,riid,cbDataSize,pDataBuffer,lDataRep)
  1546.     (This)->lpVtbl -> ServerNotify(This,uExtent,riid,cbDataSize,pDataBuffer,lDataRep)
  1547. #define IChannelHook_ServerGetSize(This,uExtent,riid,hrFault,pDataSize)
  1548.     (This)->lpVtbl -> ServerGetSize(This,uExtent,riid,hrFault,pDataSize)
  1549. #define IChannelHook_ServerFillBuffer(This,uExtent,riid,pDataSize,pDataBuffer,hrFault)
  1550.     (This)->lpVtbl -> ServerFillBuffer(This,uExtent,riid,pDataSize,pDataBuffer,hrFault)
  1551. #endif /* COBJMACROS */
  1552. #endif  /* C style interface */
  1553. void STDMETHODCALLTYPE IChannelHook_ClientGetSize_Proxy( 
  1554.     IChannelHook * This,
  1555.     /* [in] */ REFGUID uExtent,
  1556.     /* [in] */ REFIID riid,
  1557.     /* [out] */ ULONG *pDataSize);
  1558. void __RPC_STUB IChannelHook_ClientGetSize_Stub(
  1559.     IRpcStubBuffer *This,
  1560.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1561.     PRPC_MESSAGE _pRpcMessage,
  1562.     DWORD *_pdwStubPhase);
  1563. void STDMETHODCALLTYPE IChannelHook_ClientFillBuffer_Proxy( 
  1564.     IChannelHook * This,
  1565.     /* [in] */ REFGUID uExtent,
  1566.     /* [in] */ REFIID riid,
  1567.     /* [out][in] */ ULONG *pDataSize,
  1568.     /* [in] */ void *pDataBuffer);
  1569. void __RPC_STUB IChannelHook_ClientFillBuffer_Stub(
  1570.     IRpcStubBuffer *This,
  1571.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1572.     PRPC_MESSAGE _pRpcMessage,
  1573.     DWORD *_pdwStubPhase);
  1574. void STDMETHODCALLTYPE IChannelHook_ClientNotify_Proxy( 
  1575.     IChannelHook * This,
  1576.     /* [in] */ REFGUID uExtent,
  1577.     /* [in] */ REFIID riid,
  1578.     /* [in] */ ULONG cbDataSize,
  1579.     /* [in] */ void *pDataBuffer,
  1580.     /* [in] */ DWORD lDataRep,
  1581.     /* [in] */ HRESULT hrFault);
  1582. void __RPC_STUB IChannelHook_ClientNotify_Stub(
  1583.     IRpcStubBuffer *This,
  1584.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1585.     PRPC_MESSAGE _pRpcMessage,
  1586.     DWORD *_pdwStubPhase);
  1587. void STDMETHODCALLTYPE IChannelHook_ServerNotify_Proxy( 
  1588.     IChannelHook * This,
  1589.     /* [in] */ REFGUID uExtent,
  1590.     /* [in] */ REFIID riid,
  1591.     /* [in] */ ULONG cbDataSize,
  1592.     /* [in] */ void *pDataBuffer,
  1593.     /* [in] */ DWORD lDataRep);
  1594. void __RPC_STUB IChannelHook_ServerNotify_Stub(
  1595.     IRpcStubBuffer *This,
  1596.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1597.     PRPC_MESSAGE _pRpcMessage,
  1598.     DWORD *_pdwStubPhase);
  1599. void STDMETHODCALLTYPE IChannelHook_ServerGetSize_Proxy( 
  1600.     IChannelHook * This,
  1601.     /* [in] */ REFGUID uExtent,
  1602.     /* [in] */ REFIID riid,
  1603.     /* [in] */ HRESULT hrFault,
  1604.     /* [out] */ ULONG *pDataSize);
  1605. void __RPC_STUB IChannelHook_ServerGetSize_Stub(
  1606.     IRpcStubBuffer *This,
  1607.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1608.     PRPC_MESSAGE _pRpcMessage,
  1609.     DWORD *_pdwStubPhase);
  1610. void STDMETHODCALLTYPE IChannelHook_ServerFillBuffer_Proxy( 
  1611.     IChannelHook * This,
  1612.     /* [in] */ REFGUID uExtent,
  1613.     /* [in] */ REFIID riid,
  1614.     /* [out][in] */ ULONG *pDataSize,
  1615.     /* [in] */ void *pDataBuffer,
  1616.     /* [in] */ HRESULT hrFault);
  1617. void __RPC_STUB IChannelHook_ServerFillBuffer_Stub(
  1618.     IRpcStubBuffer *This,
  1619.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1620.     PRPC_MESSAGE _pRpcMessage,
  1621.     DWORD *_pdwStubPhase);
  1622. #endif  /* __IChannelHook_INTERFACE_DEFINED__ */
  1623. /* interface __MIDL_itf_objidl_0051 */
  1624. /* [local] */ 
  1625. #endif //DCOM
  1626. // Well-known Property Set Format IDs
  1627. extern const FMTID FMTID_SummaryInformation;
  1628. extern const FMTID FMTID_DocSummaryInformation;
  1629. extern const FMTID FMTID_UserDefinedProperties;
  1630. extern const FMTID FMTID_DiscardableInformation;
  1631. extern const FMTID FMTID_ImageSummaryInformation;
  1632. extern const FMTID FMTID_AudioSummaryInformation;
  1633. extern const FMTID FMTID_VideoSummaryInformation;
  1634. extern const FMTID FMTID_MediaFileSummaryInformation;
  1635. #if  (_WIN32_WINNT >= 0x0400 ) || defined(_WIN32_DCOM) // DCOM
  1636. // This interface is only valid on Windows NT 4.0
  1637. extern RPC_IF_HANDLE __MIDL_itf_objidl_0051_v0_0_c_ifspec;
  1638. extern RPC_IF_HANDLE __MIDL_itf_objidl_0051_v0_0_s_ifspec;
  1639. #ifndef __IClientSecurity_INTERFACE_DEFINED__
  1640. #define __IClientSecurity_INTERFACE_DEFINED__
  1641. /* interface IClientSecurity */
  1642. /* [uuid][object][local] */ 
  1643. typedef struct tagSOLE_AUTHENTICATION_SERVICE
  1644.     {
  1645.     DWORD dwAuthnSvc;
  1646.     DWORD dwAuthzSvc;
  1647.     OLECHAR *pPrincipalName;
  1648.     HRESULT hr;
  1649.     }  SOLE_AUTHENTICATION_SERVICE;
  1650. typedef SOLE_AUTHENTICATION_SERVICE *PSOLE_AUTHENTICATION_SERVICE;
  1651. typedef 
  1652. enum tagEOLE_AUTHENTICATION_CAPABILITIES
  1653.     { EOAC_NONE = 0,
  1654. EOAC_MUTUAL_AUTH = 0x1,
  1655. EOAC_STATIC_CLOAKING = 0x20,
  1656. EOAC_DYNAMIC_CLOAKING = 0x40,
  1657. EOAC_ANY_AUTHORITY = 0x80,
  1658. EOAC_MAKE_FULLSIC = 0x100,
  1659. EOAC_DEFAULT = 0x800,
  1660. EOAC_SECURE_REFS = 0x2,
  1661. EOAC_ACCESS_CONTROL = 0x4,
  1662. EOAC_APPID = 0x8,
  1663. EOAC_DYNAMIC = 0x10,
  1664. EOAC_REQUIRE_FULLSIC = 0x200,
  1665. EOAC_AUTO_IMPERSONATE = 0x400,
  1666. EOAC_NO_CUSTOM_MARSHAL = 0x2000,
  1667. EOAC_DISABLE_AAA = 0x1000
  1668.     }  EOLE_AUTHENTICATION_CAPABILITIES;
  1669. #define COLE_DEFAULT_PRINCIPAL ( ( OLECHAR * )-1 )
  1670. #define COLE_DEFAULT_AUTHINFO ( ( void * )-1 )
  1671. typedef struct tagSOLE_AUTHENTICATION_INFO
  1672.     {
  1673.     DWORD dwAuthnSvc;
  1674.     DWORD dwAuthzSvc;
  1675.     void *pAuthInfo;
  1676.     }  SOLE_AUTHENTICATION_INFO;
  1677. typedef struct tagSOLE_AUTHENTICATION_INFO *PSOLE_AUTHENTICATION_INFO;
  1678. typedef struct tagSOLE_AUTHENTICATION_LIST
  1679.     {
  1680.     DWORD cAuthInfo;
  1681.     SOLE_AUTHENTICATION_INFO *aAuthInfo;
  1682.     }  SOLE_AUTHENTICATION_LIST;
  1683. typedef struct tagSOLE_AUTHENTICATION_LIST *PSOLE_AUTHENTICATION_LIST;
  1684. EXTERN_C const IID IID_IClientSecurity;
  1685. #if defined(__cplusplus) && !defined(CINTERFACE)
  1686.     
  1687.     MIDL_INTERFACE("0000013D-0000-0000-C000-000000000046")
  1688.     IClientSecurity : public IUnknown
  1689.     {
  1690.     public:
  1691.         virtual HRESULT STDMETHODCALLTYPE QueryBlanket( 
  1692.             /* [in] */ IUnknown *pProxy,
  1693.             /* [out] */ DWORD *pAuthnSvc,
  1694.             /* [out] */ DWORD *pAuthzSvc,
  1695.             /* [out] */ OLECHAR **pServerPrincName,
  1696.             /* [out] */ DWORD *pAuthnLevel,
  1697.             /* [out] */ DWORD *pImpLevel,
  1698.             /* [out] */ void **pAuthInfo,
  1699.             /* [out] */ DWORD *pCapabilites) = 0;
  1700.         
  1701.         virtual HRESULT STDMETHODCALLTYPE SetBlanket( 
  1702.             /* [in] */ IUnknown *pProxy,
  1703.             /* [in] */ DWORD dwAuthnSvc,
  1704.             /* [in] */ DWORD dwAuthzSvc,
  1705.             /* [in] */ OLECHAR *pServerPrincName,
  1706.             /* [in] */ DWORD dwAuthnLevel,
  1707.             /* [in] */ DWORD dwImpLevel,
  1708.             /* [in] */ void *pAuthInfo,
  1709.             /* [in] */ DWORD dwCapabilities) = 0;
  1710.         
  1711.         virtual HRESULT STDMETHODCALLTYPE CopyProxy( 
  1712.             /* [in] */ IUnknown *pProxy,
  1713.             /* [out] */ IUnknown **ppCopy) = 0;
  1714.         
  1715.     };
  1716.     
  1717. #else  /* C style interface */
  1718.     typedef struct IClientSecurityVtbl
  1719.     {
  1720.         BEGIN_INTERFACE
  1721.         
  1722.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1723.             IClientSecurity * This,
  1724.             /* [in] */ REFIID riid,
  1725.             /* [iid_is][out] */ void **ppvObject);
  1726.         
  1727.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1728.             IClientSecurity * This);
  1729.         
  1730.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1731.             IClientSecurity * This);
  1732.         
  1733.         HRESULT ( STDMETHODCALLTYPE *QueryBlanket )( 
  1734.             IClientSecurity * This,
  1735.             /* [in] */ IUnknown *pProxy,
  1736.             /* [out] */ DWORD *pAuthnSvc,
  1737.             /* [out] */ DWORD *pAuthzSvc,
  1738.             /* [out] */ OLECHAR **pServerPrincName,
  1739.             /* [out] */ DWORD *pAuthnLevel,
  1740.             /* [out] */ DWORD *pImpLevel,
  1741.             /* [out] */ void **pAuthInfo,
  1742.             /* [out] */ DWORD *pCapabilites);
  1743.         
  1744.         HRESULT ( STDMETHODCALLTYPE *SetBlanket )( 
  1745.             IClientSecurity * This,
  1746.             /* [in] */ IUnknown *pProxy,
  1747.             /* [in] */ DWORD dwAuthnSvc,
  1748.             /* [in] */ DWORD dwAuthzSvc,
  1749.             /* [in] */ OLECHAR *pServerPrincName,
  1750.             /* [in] */ DWORD dwAuthnLevel,
  1751.             /* [in] */ DWORD dwImpLevel,
  1752.             /* [in] */ void *pAuthInfo,
  1753.             /* [in] */ DWORD dwCapabilities);
  1754.         
  1755.         HRESULT ( STDMETHODCALLTYPE *CopyProxy )( 
  1756.             IClientSecurity * This,
  1757.             /* [in] */ IUnknown *pProxy,
  1758.             /* [out] */ IUnknown **ppCopy);
  1759.         
  1760.         END_INTERFACE
  1761.     } IClientSecurityVtbl;
  1762.     interface IClientSecurity
  1763.     {
  1764.         CONST_VTBL struct IClientSecurityVtbl *lpVtbl;
  1765.     };
  1766.     
  1767. #ifdef COBJMACROS
  1768. #define IClientSecurity_QueryInterface(This,riid,ppvObject)
  1769.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1770. #define IClientSecurity_AddRef(This)
  1771.     (This)->lpVtbl -> AddRef(This)
  1772. #define IClientSecurity_Release(This)
  1773.     (This)->lpVtbl -> Release(This)
  1774. #define IClientSecurity_QueryBlanket(This,pProxy,pAuthnSvc,pAuthzSvc,pServerPrincName,pAuthnLevel,pImpLevel,pAuthInfo,pCapabilites)
  1775.     (This)->lpVtbl -> QueryBlanket(This,pProxy,pAuthnSvc,pAuthzSvc,pServerPrincName,pAuthnLevel,pImpLevel,pAuthInfo,pCapabilites)
  1776. #define IClientSecurity_SetBlanket(This,pProxy,dwAuthnSvc,dwAuthzSvc,pServerPrincName,dwAuthnLevel,dwImpLevel,pAuthInfo,dwCapabilities)
  1777.     (This)->lpVtbl -> SetBlanket(This,pProxy,dwAuthnSvc,dwAuthzSvc,pServerPrincName,dwAuthnLevel,dwImpLevel,pAuthInfo,dwCapabilities)
  1778. #define IClientSecurity_CopyProxy(This,pProxy,ppCopy)
  1779.     (This)->lpVtbl -> CopyProxy(This,pProxy,ppCopy)
  1780. #endif /* COBJMACROS */
  1781. #endif  /* C style interface */
  1782. HRESULT STDMETHODCALLTYPE IClientSecurity_QueryBlanket_Proxy( 
  1783.     IClientSecurity * This,
  1784.     /* [in] */ IUnknown *pProxy,
  1785.     /* [out] */ DWORD *pAuthnSvc,
  1786.     /* [out] */ DWORD *pAuthzSvc,
  1787.     /* [out] */ OLECHAR **pServerPrincName,
  1788.     /* [out] */ DWORD *pAuthnLevel,
  1789.     /* [out] */ DWORD *pImpLevel,
  1790.     /* [out] */ void **pAuthInfo,
  1791.     /* [out] */ DWORD *pCapabilites);
  1792. void __RPC_STUB IClientSecurity_QueryBlanket_Stub(
  1793.     IRpcStubBuffer *This,
  1794.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1795.     PRPC_MESSAGE _pRpcMessage,
  1796.     DWORD *_pdwStubPhase);
  1797. HRESULT STDMETHODCALLTYPE IClientSecurity_SetBlanket_Proxy( 
  1798.     IClientSecurity * This,
  1799.     /* [in] */ IUnknown *pProxy,
  1800.     /* [in] */ DWORD dwAuthnSvc,
  1801.     /* [in] */ DWORD dwAuthzSvc,
  1802.     /* [in] */ OLECHAR *pServerPrincName,
  1803.     /* [in] */ DWORD dwAuthnLevel,
  1804.     /* [in] */ DWORD dwImpLevel,
  1805.     /* [in] */ void *pAuthInfo,
  1806.     /* [in] */ DWORD dwCapabilities);
  1807. void __RPC_STUB IClientSecurity_SetBlanket_Stub(
  1808.     IRpcStubBuffer *This,
  1809.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1810.     PRPC_MESSAGE _pRpcMessage,
  1811.     DWORD *_pdwStubPhase);
  1812. HRESULT STDMETHODCALLTYPE IClientSecurity_CopyProxy_Proxy( 
  1813.     IClientSecurity * This,
  1814.     /* [in] */ IUnknown *pProxy,
  1815.     /* [out] */ IUnknown **ppCopy);
  1816. void __RPC_STUB IClientSecurity_CopyProxy_Stub(
  1817.     IRpcStubBuffer *This,
  1818.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1819.     PRPC_MESSAGE _pRpcMessage,
  1820.     DWORD *_pdwStubPhase);
  1821. #endif  /* __IClientSecurity_INTERFACE_DEFINED__ */
  1822. #ifndef __IServerSecurity_INTERFACE_DEFINED__
  1823. #define __IServerSecurity_INTERFACE_DEFINED__
  1824. /* interface IServerSecurity */
  1825. /* [uuid][object][local] */ 
  1826. EXTERN_C const IID IID_IServerSecurity;
  1827. #if defined(__cplusplus) && !defined(CINTERFACE)
  1828.     
  1829.     MIDL_INTERFACE("0000013E-0000-0000-C000-000000000046")
  1830.     IServerSecurity : public IUnknown
  1831.     {
  1832.     public:
  1833.         virtual HRESULT STDMETHODCALLTYPE QueryBlanket( 
  1834.             /* [out] */ DWORD *pAuthnSvc,
  1835.             /* [out] */ DWORD *pAuthzSvc,
  1836.             /* [out] */ OLECHAR **pServerPrincName,
  1837.             /* [out] */ DWORD *pAuthnLevel,
  1838.             /* [out] */ DWORD *pImpLevel,
  1839.             /* [out] */ void **pPrivs,
  1840.             /* [out][in] */ DWORD *pCapabilities) = 0;
  1841.         
  1842.         virtual HRESULT STDMETHODCALLTYPE ImpersonateClient( void) = 0;
  1843.         
  1844.         virtual HRESULT STDMETHODCALLTYPE RevertToSelf( void) = 0;
  1845.         
  1846.         virtual BOOL STDMETHODCALLTYPE IsImpersonating( void) = 0;
  1847.         
  1848.     };
  1849.     
  1850. #else  /* C style interface */
  1851.     typedef struct IServerSecurityVtbl
  1852.     {
  1853.         BEGIN_INTERFACE
  1854.         
  1855.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1856.             IServerSecurity * This,
  1857.             /* [in] */ REFIID riid,
  1858.             /* [iid_is][out] */ void **ppvObject);
  1859.         
  1860.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1861.             IServerSecurity * This);
  1862.         
  1863.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1864.             IServerSecurity * This);
  1865.         
  1866.         HRESULT ( STDMETHODCALLTYPE *QueryBlanket )( 
  1867.             IServerSecurity * This,
  1868.             /* [out] */ DWORD *pAuthnSvc,
  1869.             /* [out] */ DWORD *pAuthzSvc,
  1870.             /* [out] */ OLECHAR **pServerPrincName,
  1871.             /* [out] */ DWORD *pAuthnLevel,
  1872.             /* [out] */ DWORD *pImpLevel,
  1873.             /* [out] */ void **pPrivs,
  1874.             /* [out][in] */ DWORD *pCapabilities);
  1875.         
  1876.         HRESULT ( STDMETHODCALLTYPE *ImpersonateClient )( 
  1877.             IServerSecurity * This);
  1878.         
  1879.         HRESULT ( STDMETHODCALLTYPE *RevertToSelf )( 
  1880.             IServerSecurity * This);
  1881.         
  1882.         BOOL ( STDMETHODCALLTYPE *IsImpersonating )( 
  1883.             IServerSecurity * This);
  1884.         
  1885.         END_INTERFACE
  1886.     } IServerSecurityVtbl;
  1887.     interface IServerSecurity
  1888.     {
  1889.         CONST_VTBL struct IServerSecurityVtbl *lpVtbl;
  1890.     };
  1891.     
  1892. #ifdef COBJMACROS
  1893. #define IServerSecurity_QueryInterface(This,riid,ppvObject)
  1894.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1895. #define IServerSecurity_AddRef(This)
  1896.     (This)->lpVtbl -> AddRef(This)
  1897. #define IServerSecurity_Release(This)
  1898.     (This)->lpVtbl -> Release(This)
  1899. #define IServerSecurity_QueryBlanket(This,pAuthnSvc,pAuthzSvc,pServerPrincName,pAuthnLevel,pImpLevel,pPrivs,pCapabilities)
  1900.     (This)->lpVtbl -> QueryBlanket(This,pAuthnSvc,pAuthzSvc,pServerPrincName,pAuthnLevel,pImpLevel,pPrivs,pCapabilities)
  1901. #define IServerSecurity_ImpersonateClient(This)
  1902.     (This)->lpVtbl -> ImpersonateClient(This)
  1903. #define IServerSecurity_RevertToSelf(This)
  1904.     (This)->lpVtbl -> RevertToSelf(This)
  1905. #define IServerSecurity_IsImpersonating(This)
  1906.     (This)->lpVtbl -> IsImpersonating(This)
  1907. #endif /* COBJMACROS */
  1908. #endif  /* C style interface */
  1909. HRESULT STDMETHODCALLTYPE IServerSecurity_QueryBlanket_Proxy( 
  1910.     IServerSecurity * This,
  1911.     /* [out] */ DWORD *pAuthnSvc,
  1912.     /* [out] */ DWORD *pAuthzSvc,
  1913.     /* [out] */ OLECHAR **pServerPrincName,
  1914.     /* [out] */ DWORD *pAuthnLevel,
  1915.     /* [out] */ DWORD *pImpLevel,
  1916.     /* [out] */ void **pPrivs,
  1917.     /* [out][in] */ DWORD *pCapabilities);
  1918. void __RPC_STUB IServerSecurity_QueryBlanket_Stub(
  1919.     IRpcStubBuffer *This,
  1920.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1921.     PRPC_MESSAGE _pRpcMessage,
  1922.     DWORD *_pdwStubPhase);
  1923. HRESULT STDMETHODCALLTYPE IServerSecurity_ImpersonateClient_Proxy( 
  1924.     IServerSecurity * This);
  1925. void __RPC_STUB IServerSecurity_ImpersonateClient_Stub(
  1926.     IRpcStubBuffer *This,
  1927.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1928.     PRPC_MESSAGE _pRpcMessage,
  1929.     DWORD *_pdwStubPhase);
  1930. HRESULT STDMETHODCALLTYPE IServerSecurity_RevertToSelf_Proxy( 
  1931.     IServerSecurity * This);
  1932. void __RPC_STUB IServerSecurity_RevertToSelf_Stub(
  1933.     IRpcStubBuffer *This,
  1934.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1935.     PRPC_MESSAGE _pRpcMessage,
  1936.     DWORD *_pdwStubPhase);
  1937. BOOL STDMETHODCALLTYPE IServerSecurity_IsImpersonating_Proxy( 
  1938.     IServerSecurity * This);
  1939. void __RPC_STUB IServerSecurity_IsImpersonating_Stub(
  1940.     IRpcStubBuffer *This,
  1941.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1942.     PRPC_MESSAGE _pRpcMessage,
  1943.     DWORD *_pdwStubPhase);
  1944. #endif  /* __IServerSecurity_INTERFACE_DEFINED__ */
  1945. #ifndef __IClassActivator_INTERFACE_DEFINED__
  1946. #define __IClassActivator_INTERFACE_DEFINED__
  1947. /* interface IClassActivator */
  1948. /* [uuid][object] */ 
  1949. EXTERN_C const IID IID_IClassActivator;
  1950. #if defined(__cplusplus) && !defined(CINTERFACE)
  1951.     
  1952.     MIDL_INTERFACE("00000140-0000-0000-C000-000000000046")
  1953.     IClassActivator : public IUnknown
  1954.     {
  1955.     public:
  1956.         virtual HRESULT STDMETHODCALLTYPE GetClassObject( 
  1957.             /* [in] */ REFCLSID rclsid,
  1958.             /* [in] */ DWORD dwClassContext,
  1959.             /* [in] */ LCID locale,
  1960.             /* [in] */ REFIID riid,
  1961.             /* [iid_is][out] */ void **ppv) = 0;
  1962.         
  1963.     };
  1964.     
  1965. #else  /* C style interface */
  1966.     typedef struct IClassActivatorVtbl
  1967.     {
  1968.         BEGIN_INTERFACE
  1969.         
  1970.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1971.             IClassActivator * This,
  1972.             /* [in] */ REFIID riid,
  1973.             /* [iid_is][out] */ void **ppvObject);
  1974.         
  1975.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1976.             IClassActivator * This);
  1977.         
  1978.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1979.             IClassActivator * This);
  1980.         
  1981.         HRESULT ( STDMETHODCALLTYPE *GetClassObject )( 
  1982.             IClassActivator * This,
  1983.             /* [in] */ REFCLSID rclsid,
  1984.             /* [in] */ DWORD dwClassContext,
  1985.             /* [in] */ LCID locale,
  1986.             /* [in] */ REFIID riid,
  1987.             /* [iid_is][out] */ void **ppv);
  1988.         
  1989.         END_INTERFACE
  1990.     } IClassActivatorVtbl;
  1991.     interface IClassActivator
  1992.     {
  1993.         CONST_VTBL struct IClassActivatorVtbl *lpVtbl;
  1994.     };
  1995.     
  1996. #ifdef COBJMACROS
  1997. #define IClassActivator_QueryInterface(This,riid,ppvObject)
  1998.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1999. #define IClassActivator_AddRef(This)
  2000.     (This)->lpVtbl -> AddRef(This)
  2001. #define IClassActivator_Release(This)
  2002.     (This)->lpVtbl -> Release(This)
  2003. #define IClassActivator_GetClassObject(This,rclsid,dwClassContext,locale,riid,ppv)
  2004.     (This)->lpVtbl -> GetClassObject(This,rclsid,dwClassContext,locale,riid,ppv)
  2005. #endif /* COBJMACROS */
  2006. #endif  /* C style interface */
  2007. HRESULT STDMETHODCALLTYPE IClassActivator_GetClassObject_Proxy( 
  2008.     IClassActivator * This,
  2009.     /* [in] */ REFCLSID rclsid,
  2010.     /* [in] */ DWORD dwClassContext,
  2011.     /* [in] */ LCID locale,
  2012.     /* [in] */ REFIID riid,
  2013.     /* [iid_is][out] */ void **ppv);
  2014. void __RPC_STUB IClassActivator_GetClassObject_Stub(
  2015.     IRpcStubBuffer *This,
  2016.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2017.     PRPC_MESSAGE _pRpcMessage,
  2018.     DWORD *_pdwStubPhase);
  2019. #endif  /* __IClassActivator_INTERFACE_DEFINED__ */
  2020. #ifndef __IRpcOptions_INTERFACE_DEFINED__
  2021. #define __IRpcOptions_INTERFACE_DEFINED__
  2022. /* interface IRpcOptions */
  2023. /* [uuid][local][object] */ 
  2024. EXTERN_C const IID IID_IRpcOptions;
  2025. #if defined(__cplusplus) && !defined(CINTERFACE)
  2026.     
  2027.     MIDL_INTERFACE("00000144-0000-0000-C000-000000000046")
  2028.     IRpcOptions : public IUnknown
  2029.     {
  2030.     public:
  2031.         virtual HRESULT STDMETHODCALLTYPE Set( 
  2032.             /* [in] */ IUnknown *pPrx,
  2033.             /* [in] */ DWORD dwProperty,
  2034.             /* [in] */ ULONG_PTR dwValue) = 0;
  2035.         
  2036.         virtual HRESULT STDMETHODCALLTYPE Query( 
  2037.             /* [in] */ IUnknown *pPrx,
  2038.             /* [in] */ DWORD dwProperty,
  2039.             /* [out] */ ULONG_PTR *pdwValue) = 0;
  2040.         
  2041.     };
  2042.     
  2043. #else  /* C style interface */
  2044.     typedef struct IRpcOptionsVtbl
  2045.     {
  2046.         BEGIN_INTERFACE
  2047.         
  2048.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  2049.             IRpcOptions * This,
  2050.             /* [in] */ REFIID riid,
  2051.             /* [iid_is][out] */ void **ppvObject);
  2052.         
  2053.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  2054.             IRpcOptions * This);
  2055.         
  2056.         ULONG ( STDMETHODCALLTYPE *Release )( 
  2057.             IRpcOptions * This);
  2058.         
  2059.         HRESULT ( STDMETHODCALLTYPE *Set )( 
  2060.             IRpcOptions * This,
  2061.             /* [in] */ IUnknown *pPrx,
  2062.             /* [in] */ DWORD dwProperty,
  2063.             /* [in] */ ULONG_PTR dwValue);
  2064.         
  2065.         HRESULT ( STDMETHODCALLTYPE *Query )( 
  2066.             IRpcOptions * This,
  2067.             /* [in] */ IUnknown *pPrx,
  2068.             /* [in] */ DWORD dwProperty,
  2069.             /* [out] */ ULONG_PTR *pdwValue);
  2070.         
  2071.         END_INTERFACE
  2072.     } IRpcOptionsVtbl;
  2073.     interface IRpcOptions
  2074.     {
  2075.         CONST_VTBL struct IRpcOptionsVtbl *lpVtbl;
  2076.     };
  2077.     
  2078. #ifdef COBJMACROS
  2079. #define IRpcOptions_QueryInterface(This,riid,ppvObject)
  2080.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2081. #define IRpcOptions_AddRef(This)
  2082.     (This)->lpVtbl -> AddRef(This)
  2083. #define IRpcOptions_Release(This)
  2084.     (This)->lpVtbl -> Release(This)
  2085. #define IRpcOptions_Set(This,pPrx,dwProperty,dwValue)
  2086.     (This)->lpVtbl -> Set(This,pPrx,dwProperty,dwValue)
  2087. #define IRpcOptions_Query(This,pPrx,dwProperty,pdwValue)
  2088.     (This)->lpVtbl -> Query(This,pPrx,dwProperty,pdwValue)
  2089. #endif /* COBJMACROS */
  2090. #endif  /* C style interface */
  2091. HRESULT STDMETHODCALLTYPE IRpcOptions_Set_Proxy( 
  2092.     IRpcOptions * This,
  2093.     /* [in] */ IUnknown *pPrx,
  2094.     /* [in] */ DWORD dwProperty,
  2095.     /* [in] */ ULONG_PTR dwValue);
  2096. void __RPC_STUB IRpcOptions_Set_Stub(
  2097.     IRpcStubBuffer *This,
  2098.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2099.     PRPC_MESSAGE _pRpcMessage,
  2100.     DWORD *_pdwStubPhase);
  2101. HRESULT STDMETHODCALLTYPE IRpcOptions_Query_Proxy( 
  2102.     IRpcOptions * This,
  2103.     /* [in] */ IUnknown *pPrx,
  2104.     /* [in] */ DWORD dwProperty,
  2105.     /* [out] */ ULONG_PTR *pdwValue);
  2106. void __RPC_STUB IRpcOptions_Query_Stub(
  2107.     IRpcStubBuffer *This,
  2108.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2109.     PRPC_MESSAGE _pRpcMessage,
  2110.     DWORD *_pdwStubPhase);
  2111. #endif  /* __IRpcOptions_INTERFACE_DEFINED__ */
  2112. /* interface __MIDL_itf_objidl_0055 */
  2113. /* [local] */ 
  2114. enum __MIDL___MIDL_itf_objidl_0055_0001
  2115.     { COMBND_RPCTIMEOUT = 0x1
  2116.     } ;
  2117. #endif //DCOM
  2118. extern RPC_IF_HANDLE __MIDL_itf_objidl_0055_v0_0_c_ifspec;
  2119. extern RPC_IF_HANDLE __MIDL_itf_objidl_0055_v0_0_s_ifspec;
  2120. #ifndef __IFillLockBytes_INTERFACE_DEFINED__
  2121. #define __IFillLockBytes_INTERFACE_DEFINED__
  2122. /* interface IFillLockBytes */
  2123. /* [unique][uuid][object] */ 
  2124. EXTERN_C const IID IID_IFillLockBytes;
  2125. #if defined(__cplusplus) && !defined(CINTERFACE)
  2126.     
  2127.     MIDL_INTERFACE("99caf010-415e-11cf-8814-00aa00b569f5")
  2128.     IFillLockBytes : public IUnknown
  2129.     {
  2130.     public:
  2131.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE FillAppend( 
  2132.             /* [size_is][in] */ const void *pv,
  2133.             /* [in] */ ULONG cb,
  2134.             /* [out] */ ULONG *pcbWritten) = 0;
  2135.         
  2136.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE FillAt( 
  2137.             /* [in] */ ULARGE_INTEGER ulOffset,
  2138.             /* [size_is][in] */ const void *pv,
  2139.             /* [in] */ ULONG cb,
  2140.             /* [out] */ ULONG *pcbWritten) = 0;
  2141.         
  2142.         virtual HRESULT STDMETHODCALLTYPE SetFillSize( 
  2143.             /* [in] */ ULARGE_INTEGER ulSize) = 0;
  2144.         
  2145.         virtual HRESULT STDMETHODCALLTYPE Terminate( 
  2146.             /* [in] */ BOOL bCanceled) = 0;
  2147.         
  2148.     };
  2149.     
  2150. #else  /* C style interface */
  2151.     typedef struct IFillLockBytesVtbl
  2152.     {
  2153.         BEGIN_INTERFACE
  2154.         
  2155.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  2156.             IFillLockBytes * This,
  2157.             /* [in] */ REFIID riid,
  2158.             /* [iid_is][out] */ void **ppvObject);
  2159.         
  2160.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  2161.             IFillLockBytes * This);
  2162.         
  2163.         ULONG ( STDMETHODCALLTYPE *Release )( 
  2164.             IFillLockBytes * This);
  2165.         
  2166.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *FillAppend )( 
  2167.             IFillLockBytes * This,
  2168.             /* [size_is][in] */ const void *pv,
  2169.             /* [in] */ ULONG cb,
  2170.             /* [out] */ ULONG *pcbWritten);
  2171.         
  2172.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *FillAt )( 
  2173.             IFillLockBytes * This,
  2174.             /* [in] */ ULARGE_INTEGER ulOffset,
  2175.             /* [size_is][in] */ const void *pv,
  2176.             /* [in] */ ULONG cb,
  2177.             /* [out] */ ULONG *pcbWritten);
  2178.         
  2179.         HRESULT ( STDMETHODCALLTYPE *SetFillSize )( 
  2180.             IFillLockBytes * This,
  2181.             /* [in] */ ULARGE_INTEGER ulSize);
  2182.         
  2183.         HRESULT ( STDMETHODCALLTYPE *Terminate )( 
  2184.             IFillLockBytes * This,
  2185.             /* [in] */ BOOL bCanceled);
  2186.         
  2187.         END_INTERFACE
  2188.     } IFillLockBytesVtbl;
  2189.     interface IFillLockBytes
  2190.     {
  2191.         CONST_VTBL struct IFillLockBytesVtbl *lpVtbl;
  2192.     };
  2193.     
  2194. #ifdef COBJMACROS
  2195. #define IFillLockBytes_QueryInterface(This,riid,ppvObject)
  2196.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2197. #define IFillLockBytes_AddRef(This)
  2198.     (This)->lpVtbl -> AddRef(This)
  2199. #define IFillLockBytes_Release(This)
  2200.     (This)->lpVtbl -> Release(This)
  2201. #define IFillLockBytes_FillAppend(This,pv,cb,pcbWritten)
  2202.     (This)->lpVtbl -> FillAppend(This,pv,cb,pcbWritten)
  2203. #define IFillLockBytes_FillAt(This,ulOffset,pv,cb,pcbWritten)
  2204.     (This)->lpVtbl -> FillAt(This,ulOffset,pv,cb,pcbWritten)
  2205. #define IFillLockBytes_SetFillSize(This,ulSize)
  2206.     (This)->lpVtbl -> SetFillSize(This,ulSize)
  2207. #define IFillLockBytes_Terminate(This,bCanceled)
  2208.     (This)->lpVtbl -> Terminate(This,bCanceled)
  2209. #endif /* COBJMACROS */
  2210. #endif  /* C style interface */
  2211. /* [call_as] */ HRESULT __stdcall IFillLockBytes_RemoteFillAppend_Proxy( 
  2212.     IFillLockBytes * This,
  2213.     /* [size_is][in] */ const byte *pv,
  2214.     /* [in] */ ULONG cb,
  2215.     /* [out] */ ULONG *pcbWritten);
  2216. void __RPC_STUB IFillLockBytes_RemoteFillAppend_Stub(
  2217.     IRpcStubBuffer *This,
  2218.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2219.     PRPC_MESSAGE _pRpcMessage,
  2220.     DWORD *_pdwStubPhase);
  2221. /* [call_as] */ HRESULT __stdcall IFillLockBytes_RemoteFillAt_Proxy( 
  2222.     IFillLockBytes * This,
  2223.     /* [in] */ ULARGE_INTEGER ulOffset,
  2224.     /* [size_is][in] */ const byte *pv,
  2225.     /* [in] */ ULONG cb,
  2226.     /* [out] */ ULONG *pcbWritten);
  2227. void __RPC_STUB IFillLockBytes_RemoteFillAt_Stub(
  2228.     IRpcStubBuffer *This,
  2229.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2230.     PRPC_MESSAGE _pRpcMessage,
  2231.     DWORD *_pdwStubPhase);
  2232. HRESULT STDMETHODCALLTYPE IFillLockBytes_SetFillSize_Proxy( 
  2233.     IFillLockBytes * This,
  2234.     /* [in] */ ULARGE_INTEGER ulSize);
  2235. void __RPC_STUB IFillLockBytes_SetFillSize_Stub(
  2236.     IRpcStubBuffer *This,
  2237.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2238.     PRPC_MESSAGE _pRpcMessage,
  2239.     DWORD *_pdwStubPhase);
  2240. HRESULT STDMETHODCALLTYPE IFillLockBytes_Terminate_Proxy( 
  2241.     IFillLockBytes * This,
  2242.     /* [in] */ BOOL bCanceled);
  2243. void __RPC_STUB IFillLockBytes_Terminate_Stub(
  2244.     IRpcStubBuffer *This,
  2245.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2246.     PRPC_MESSAGE _pRpcMessage,
  2247.     DWORD *_pdwStubPhase);
  2248. #endif  /* __IFillLockBytes_INTERFACE_DEFINED__ */
  2249. #ifndef __IProgressNotify_INTERFACE_DEFINED__
  2250. #define __IProgressNotify_INTERFACE_DEFINED__
  2251. /* interface IProgressNotify */
  2252. /* [unique][uuid][object] */ 
  2253. EXTERN_C const IID IID_IProgressNotify;
  2254. #if defined(__cplusplus) && !defined(CINTERFACE)
  2255.     
  2256.     MIDL_INTERFACE("a9d758a0-4617-11cf-95fc-00aa00680db4")
  2257.     IProgressNotify : public IUnknown
  2258.     {
  2259.     public:
  2260.         virtual HRESULT STDMETHODCALLTYPE OnProgress( 
  2261.             /* [in] */ DWORD dwProgressCurrent,
  2262.             /* [in] */ DWORD dwProgressMaximum,
  2263.             /* [in] */ BOOL fAccurate,
  2264.             /* [in] */ BOOL fOwner) = 0;
  2265.         
  2266.     };
  2267.     
  2268. #else  /* C style interface */
  2269.     typedef struct IProgressNotifyVtbl
  2270.     {
  2271.         BEGIN_INTERFACE
  2272.         
  2273.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  2274.             IProgressNotify * This,
  2275.             /* [in] */ REFIID riid,
  2276.             /* [iid_is][out] */ void **ppvObject);
  2277.         
  2278.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  2279.             IProgressNotify * This);
  2280.         
  2281.         ULONG ( STDMETHODCALLTYPE *Release )( 
  2282.             IProgressNotify * This);
  2283.         
  2284.         HRESULT ( STDMETHODCALLTYPE *OnProgress )( 
  2285.             IProgressNotify * This,
  2286.             /* [in] */ DWORD dwProgressCurrent,
  2287.             /* [in] */ DWORD dwProgressMaximum,
  2288.             /* [in] */ BOOL fAccurate,
  2289.             /* [in] */ BOOL fOwner);
  2290.         
  2291.         END_INTERFACE
  2292.     } IProgressNotifyVtbl;
  2293.     interface IProgressNotify
  2294.     {
  2295.         CONST_VTBL struct IProgressNotifyVtbl *lpVtbl;
  2296.     };
  2297.     
  2298. #ifdef COBJMACROS
  2299. #define IProgressNotify_QueryInterface(This,riid,ppvObject)
  2300.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2301. #define IProgressNotify_AddRef(This)
  2302.     (This)->lpVtbl -> AddRef(This)
  2303. #define IProgressNotify_Release(This)
  2304.     (This)->lpVtbl -> Release(This)
  2305. #define IProgressNotify_OnProgress(This,dwProgressCurrent,dwProgressMaximum,fAccurate,fOwner)
  2306.     (This)->lpVtbl -> OnProgress(This,dwProgressCurrent,dwProgressMaximum,fAccurate,fOwner)
  2307. #endif /* COBJMACROS */
  2308. #endif  /* C style interface */
  2309. HRESULT STDMETHODCALLTYPE IProgressNotify_OnProgress_Proxy( 
  2310.     IProgressNotify * This,
  2311.     /* [in] */ DWORD dwProgressCurrent,
  2312.     /* [in] */ DWORD dwProgressMaximum,
  2313.     /* [in] */ BOOL fAccurate,
  2314.     /* [in] */ BOOL fOwner);
  2315. void __RPC_STUB IProgressNotify_OnProgress_Stub(
  2316.     IRpcStubBuffer *This,
  2317.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2318.     PRPC_MESSAGE _pRpcMessage,
  2319.     DWORD *_pdwStubPhase);
  2320. #endif  /* __IProgressNotify_INTERFACE_DEFINED__ */
  2321. #ifndef __ILayoutStorage_INTERFACE_DEFINED__
  2322. #define __ILayoutStorage_INTERFACE_DEFINED__
  2323. /* interface ILayoutStorage */
  2324. /* [unique][uuid][object][local] */ 
  2325. typedef struct tagStorageLayout
  2326.     {
  2327.     DWORD LayoutType;
  2328.     OLECHAR *pwcsElementName;
  2329.     LARGE_INTEGER cOffset;
  2330.     LARGE_INTEGER cBytes;
  2331.     }  StorageLayout;
  2332. EXTERN_C const IID IID_ILayoutStorage;
  2333. #if defined(__cplusplus) && !defined(CINTERFACE)
  2334.     
  2335.     MIDL_INTERFACE("0e6d4d90-6738-11cf-9608-00aa00680db4")
  2336.     ILayoutStorage : public IUnknown
  2337.     {
  2338.     public:
  2339.         virtual HRESULT __stdcall LayoutScript( 
  2340.             /* [in] */ StorageLayout *pStorageLayout,
  2341.             /* [in] */ DWORD nEntries,
  2342.             /* [in] */ DWORD glfInterleavedFlag) = 0;
  2343.         
  2344.         virtual HRESULT __stdcall BeginMonitor( void) = 0;
  2345.         
  2346.         virtual HRESULT __stdcall EndMonitor( void) = 0;
  2347.         
  2348.         virtual HRESULT __stdcall ReLayoutDocfile( 
  2349.             /* [in] */ OLECHAR *pwcsNewDfName) = 0;
  2350.         
  2351.         virtual HRESULT __stdcall ReLayoutDocfileOnILockBytes( 
  2352.             /* [in] */ ILockBytes *pILockBytes) = 0;
  2353.         
  2354.     };
  2355.     
  2356. #else  /* C style interface */
  2357.     typedef struct ILayoutStorageVtbl
  2358.     {
  2359.         BEGIN_INTERFACE
  2360.         
  2361.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  2362.             ILayoutStorage * This,
  2363.             /* [in] */ REFIID riid,
  2364.             /* [iid_is][out] */ void **ppvObject);
  2365.         
  2366.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  2367.             ILayoutStorage * This);
  2368.         
  2369.         ULONG ( STDMETHODCALLTYPE *Release )( 
  2370.             ILayoutStorage * This);
  2371.         
  2372.         HRESULT ( __stdcall *LayoutScript )( 
  2373.             ILayoutStorage * This,
  2374.             /* [in] */ StorageLayout *pStorageLayout,
  2375.             /* [in] */ DWORD nEntries,
  2376.             /* [in] */ DWORD glfInterleavedFlag);
  2377.         
  2378.         HRESULT ( __stdcall *BeginMonitor )( 
  2379.             ILayoutStorage * This);
  2380.         
  2381.         HRESULT ( __stdcall *EndMonitor )( 
  2382.             ILayoutStorage * This);
  2383.         
  2384.         HRESULT ( __stdcall *ReLayoutDocfile )( 
  2385.             ILayoutStorage * This,
  2386.             /* [in] */ OLECHAR *pwcsNewDfName);
  2387.         
  2388.         HRESULT ( __stdcall *ReLayoutDocfileOnILockBytes )( 
  2389.             ILayoutStorage * This,
  2390.             /* [in] */ ILockBytes *pILockBytes);
  2391.         
  2392.         END_INTERFACE
  2393.     } ILayoutStorageVtbl;
  2394.     interface ILayoutStorage
  2395.     {
  2396.         CONST_VTBL struct ILayoutStorageVtbl *lpVtbl;
  2397.     };
  2398.     
  2399. #ifdef COBJMACROS
  2400. #define ILayoutStorage_QueryInterface(This,riid,ppvObject)
  2401.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2402. #define ILayoutStorage_AddRef(This)
  2403.     (This)->lpVtbl -> AddRef(This)
  2404. #define ILayoutStorage_Release(This)
  2405.     (This)->lpVtbl -> Release(This)
  2406. #define ILayoutStorage_LayoutScript(This,pStorageLayout,nEntries,glfInterleavedFlag)
  2407.     (This)->lpVtbl -> LayoutScript(This,pStorageLayout,nEntries,glfInterleavedFlag)
  2408. #define ILayoutStorage_BeginMonitor(This)
  2409.     (This)->lpVtbl -> BeginMonitor(This)
  2410. #define ILayoutStorage_EndMonitor(This)
  2411.     (This)->lpVtbl -> EndMonitor(This)
  2412. #define ILayoutStorage_ReLayoutDocfile(This,pwcsNewDfName)
  2413.     (This)->lpVtbl -> ReLayoutDocfile(This,pwcsNewDfName)
  2414. #define ILayoutStorage_ReLayoutDocfileOnILockBytes(This,pILockBytes)
  2415.     (This)->lpVtbl -> ReLayoutDocfileOnILockBytes(This,pILockBytes)
  2416. #endif /* COBJMACROS */
  2417. #endif  /* C style interface */
  2418. HRESULT __stdcall ILayoutStorage_LayoutScript_Proxy( 
  2419.     ILayoutStorage * This,
  2420.     /* [in] */ StorageLayout *pStorageLayout,
  2421.     /* [in] */ DWORD nEntries,
  2422.     /* [in] */ DWORD glfInterleavedFlag);
  2423. void __RPC_STUB ILayoutStorage_LayoutScript_Stub(
  2424.     IRpcStubBuffer *This,
  2425.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2426.     PRPC_MESSAGE _pRpcMessage,
  2427.     DWORD *_pdwStubPhase);
  2428. HRESULT __stdcall ILayoutStorage_BeginMonitor_Proxy( 
  2429.     ILayoutStorage * This);
  2430. void __RPC_STUB ILayoutStorage_BeginMonitor_Stub(
  2431.     IRpcStubBuffer *This,
  2432.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2433.     PRPC_MESSAGE _pRpcMessage,
  2434.     DWORD *_pdwStubPhase);
  2435. HRESULT __stdcall ILayoutStorage_EndMonitor_Proxy( 
  2436.     ILayoutStorage * This);
  2437. void __RPC_STUB ILayoutStorage_EndMonitor_Stub(
  2438.     IRpcStubBuffer *This,
  2439.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2440.     PRPC_MESSAGE _pRpcMessage,
  2441.     DWORD *_pdwStubPhase);
  2442. HRESULT __stdcall ILayoutStorage_ReLayoutDocfile_Proxy( 
  2443.     ILayoutStorage * This,
  2444.     /* [in] */ OLECHAR *pwcsNewDfName);
  2445. void __RPC_STUB ILayoutStorage_ReLayoutDocfile_Stub(
  2446.     IRpcStubBuffer *This,
  2447.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2448.     PRPC_MESSAGE _pRpcMessage,
  2449.     DWORD *_pdwStubPhase);
  2450. HRESULT __stdcall ILayoutStorage_ReLayoutDocfileOnILockBytes_Proxy( 
  2451.     ILayoutStorage * This,
  2452.     /* [in] */ ILockBytes *pILockBytes);
  2453. void __RPC_STUB ILayoutStorage_ReLayoutDocfileOnILockBytes_Stub(
  2454.     IRpcStubBuffer *This,
  2455.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2456.     PRPC_MESSAGE _pRpcMessage,
  2457.     DWORD *_pdwStubPhase);
  2458. #endif  /* __ILayoutStorage_INTERFACE_DEFINED__ */
  2459. #ifndef __IBlockingLock_INTERFACE_DEFINED__
  2460. #define __IBlockingLock_INTERFACE_DEFINED__
  2461. /* interface IBlockingLock */
  2462. /* [uuid][object] */ 
  2463. EXTERN_C const IID IID_IBlockingLock;
  2464. #if defined(__cplusplus) && !defined(CINTERFACE)
  2465.     
  2466.     MIDL_INTERFACE("30f3d47a-6447-11d1-8e3c-00c04fb9386d")
  2467.     IBlockingLock : public IUnknown
  2468.     {
  2469.     public:
  2470.         virtual HRESULT STDMETHODCALLTYPE Lock( 
  2471.             /* [in] */ DWORD dwTimeout) = 0;
  2472.         
  2473.         virtual HRESULT STDMETHODCALLTYPE Unlock( void) = 0;
  2474.         
  2475.     };
  2476.     
  2477. #else  /* C style interface */
  2478.     typedef struct IBlockingLockVtbl
  2479.     {
  2480.         BEGIN_INTERFACE
  2481.         
  2482.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  2483.             IBlockingLock * This,
  2484.             /* [in] */ REFIID riid,
  2485.             /* [iid_is][out] */ void **ppvObject);
  2486.         
  2487.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  2488.             IBlockingLock * This);
  2489.         
  2490.         ULONG ( STDMETHODCALLTYPE *Release )( 
  2491.             IBlockingLock * This);
  2492.         
  2493.         HRESULT ( STDMETHODCALLTYPE *Lock )( 
  2494.             IBlockingLock * This,
  2495.             /* [in] */ DWORD dwTimeout);
  2496.         
  2497.         HRESULT ( STDMETHODCALLTYPE *Unlock )( 
  2498.             IBlockingLock * This);
  2499.         
  2500.         END_INTERFACE
  2501.     } IBlockingLockVtbl;
  2502.     interface IBlockingLock
  2503.     {
  2504.         CONST_VTBL struct IBlockingLockVtbl *lpVtbl;
  2505.     };
  2506.     
  2507. #ifdef COBJMACROS
  2508. #define IBlockingLock_QueryInterface(This,riid,ppvObject)
  2509.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2510. #define IBlockingLock_AddRef(This)
  2511.     (This)->lpVtbl -> AddRef(This)
  2512. #define IBlockingLock_Release(This)
  2513.     (This)->lpVtbl -> Release(This)
  2514. #define IBlockingLock_Lock(This,dwTimeout)
  2515.     (This)->lpVtbl -> Lock(This,dwTimeout)
  2516. #define IBlockingLock_Unlock(This)
  2517.     (This)->lpVtbl -> Unlock(This)
  2518. #endif /* COBJMACROS */
  2519. #endif  /* C style interface */
  2520. HRESULT STDMETHODCALLTYPE IBlockingLock_Lock_Proxy( 
  2521.     IBlockingLock * This,
  2522.     /* [in] */ DWORD dwTimeout);
  2523. void __RPC_STUB IBlockingLock_Lock_Stub(
  2524.     IRpcStubBuffer *This,
  2525.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2526.     PRPC_MESSAGE _pRpcMessage,
  2527.     DWORD *_pdwStubPhase);
  2528. HRESULT STDMETHODCALLTYPE IBlockingLock_Unlock_Proxy( 
  2529.     IBlockingLock * This);
  2530. void __RPC_STUB IBlockingLock_Unlock_Stub(
  2531.     IRpcStubBuffer *This,
  2532.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2533.     PRPC_MESSAGE _pRpcMessage,
  2534.     DWORD *_pdwStubPhase);
  2535. #endif  /* __IBlockingLock_INTERFACE_DEFINED__ */
  2536. #ifndef __ITimeAndNoticeControl_INTERFACE_DEFINED__
  2537. #define __ITimeAndNoticeControl_INTERFACE_DEFINED__
  2538. /* interface ITimeAndNoticeControl */
  2539. /* [uuid][object] */ 
  2540. EXTERN_C const IID IID_ITimeAndNoticeControl;
  2541. #if defined(__cplusplus) && !defined(CINTERFACE)
  2542.     
  2543.     MIDL_INTERFACE("bc0bf6ae-8878-11d1-83e9-00c04fc2c6d4")
  2544.     ITimeAndNoticeControl : public IUnknown
  2545.     {
  2546.     public:
  2547.         virtual HRESULT STDMETHODCALLTYPE SuppressChanges( 
  2548.             /* [in] */ DWORD res1,
  2549.             /* [in] */ DWORD res2) = 0;
  2550.         
  2551.     };
  2552.     
  2553. #else  /* C style interface */
  2554.     typedef struct ITimeAndNoticeControlVtbl
  2555.     {
  2556.         BEGIN_INTERFACE
  2557.         
  2558.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  2559.             ITimeAndNoticeControl * This,
  2560.             /* [in] */ REFIID riid,
  2561.             /* [iid_is][out] */ void **ppvObject);
  2562.         
  2563.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  2564.             ITimeAndNoticeControl * This);
  2565.         
  2566.         ULONG ( STDMETHODCALLTYPE *Release )( 
  2567.             ITimeAndNoticeControl * This);
  2568.         
  2569.         HRESULT ( STDMETHODCALLTYPE *SuppressChanges )( 
  2570.             ITimeAndNoticeControl * This,
  2571.             /* [in] */ DWORD res1,
  2572.             /* [in] */ DWORD res2);
  2573.         
  2574.         END_INTERFACE
  2575.     } ITimeAndNoticeControlVtbl;
  2576.     interface ITimeAndNoticeControl
  2577.     {
  2578.         CONST_VTBL struct ITimeAndNoticeControlVtbl *lpVtbl;
  2579.     };
  2580.     
  2581. #ifdef COBJMACROS
  2582. #define ITimeAndNoticeControl_QueryInterface(This,riid,ppvObject)
  2583.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2584. #define ITimeAndNoticeControl_AddRef(This)
  2585.     (This)->lpVtbl -> AddRef(This)
  2586. #define ITimeAndNoticeControl_Release(This)
  2587.     (This)->lpVtbl -> Release(This)
  2588. #define ITimeAndNoticeControl_SuppressChanges(This,res1,res2)
  2589.     (This)->lpVtbl -> SuppressChanges(This,res1,res2)
  2590. #endif /* COBJMACROS */
  2591. #endif  /* C style interface */
  2592. HRESULT STDMETHODCALLTYPE ITimeAndNoticeControl_SuppressChanges_Proxy( 
  2593.     ITimeAndNoticeControl * This,
  2594.     /* [in] */ DWORD res1,
  2595.     /* [in] */ DWORD res2);
  2596. void __RPC_STUB ITimeAndNoticeControl_SuppressChanges_Stub(
  2597.     IRpcStubBuffer *This,
  2598.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2599.     PRPC_MESSAGE _pRpcMessage,
  2600.     DWORD *_pdwStubPhase);
  2601. #endif  /* __ITimeAndNoticeControl_INTERFACE_DEFINED__ */
  2602. #ifndef __IOplockStorage_INTERFACE_DEFINED__
  2603. #define __IOplockStorage_INTERFACE_DEFINED__
  2604. /* interface IOplockStorage */
  2605. /* [uuid][object] */ 
  2606. EXTERN_C const IID IID_IOplockStorage;
  2607. #if defined(__cplusplus) && !defined(CINTERFACE)
  2608.     
  2609.     MIDL_INTERFACE("8d19c834-8879-11d1-83e9-00c04fc2c6d4")
  2610.     IOplockStorage : public IUnknown
  2611.     {
  2612.     public:
  2613.         virtual HRESULT STDMETHODCALLTYPE CreateStorageEx( 
  2614.             /* [in] */ LPCWSTR pwcsName,
  2615.             /* [in] */ DWORD grfMode,
  2616.             /* [in] */ DWORD stgfmt,
  2617.             /* [in] */ DWORD grfAttrs,
  2618.             /* [in] */ REFIID riid,
  2619.             /* [iid_is][out] */ void **ppstgOpen) = 0;
  2620.         
  2621.         virtual HRESULT STDMETHODCALLTYPE OpenStorageEx( 
  2622.             /* [in] */ LPCWSTR pwcsName,
  2623.             /* [in] */ DWORD grfMode,
  2624.             /* [in] */ DWORD stgfmt,
  2625.             /* [in] */ DWORD grfAttrs,
  2626.             /* [in] */ REFIID riid,
  2627.             /* [iid_is][out] */ void **ppstgOpen) = 0;
  2628.         
  2629.     };
  2630.     
  2631. #else  /* C style interface */
  2632.     typedef struct IOplockStorageVtbl
  2633.     {
  2634.         BEGIN_INTERFACE
  2635.         
  2636.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  2637.             IOplockStorage * This,
  2638.             /* [in] */ REFIID riid,
  2639.             /* [iid_is][out] */ void **ppvObject);
  2640.         
  2641.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  2642.             IOplockStorage * This);
  2643.         
  2644.         ULONG ( STDMETHODCALLTYPE *Release )( 
  2645.             IOplockStorage * This);
  2646.         
  2647.         HRESULT ( STDMETHODCALLTYPE *CreateStorageEx )( 
  2648.             IOplockStorage * This,
  2649.             /* [in] */ LPCWSTR pwcsName,
  2650.             /* [in] */ DWORD grfMode,
  2651.             /* [in] */ DWORD stgfmt,
  2652.             /* [in] */ DWORD grfAttrs,
  2653.             /* [in] */ REFIID riid,
  2654.             /* [iid_is][out] */ void **ppstgOpen);
  2655.         
  2656.         HRESULT ( STDMETHODCALLTYPE *OpenStorageEx )( 
  2657.             IOplockStorage * This,
  2658.             /* [in] */ LPCWSTR pwcsName,
  2659.             /* [in] */ DWORD grfMode,
  2660.             /* [in] */ DWORD stgfmt,
  2661.             /* [in] */ DWORD grfAttrs,
  2662.             /* [in] */ REFIID riid,
  2663.             /* [iid_is][out] */ void **ppstgOpen);
  2664.         
  2665.         END_INTERFACE
  2666.     } IOplockStorageVtbl;
  2667.     interface IOplockStorage
  2668.     {
  2669.         CONST_VTBL struct IOplockStorageVtbl *lpVtbl;
  2670.     };
  2671.     
  2672. #ifdef COBJMACROS
  2673. #define IOplockStorage_QueryInterface(This,riid,ppvObject)
  2674.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2675. #define IOplockStorage_AddRef(This)
  2676.     (This)->lpVtbl -> AddRef(This)
  2677. #define IOplockStorage_Release(This)
  2678.     (This)->lpVtbl -> Release(This)
  2679. #define IOplockStorage_CreateStorageEx(This,pwcsName,grfMode,stgfmt,grfAttrs,riid,ppstgOpen)
  2680.     (This)->lpVtbl -> CreateStorageEx(This,pwcsName,grfMode,stgfmt,grfAttrs,riid,ppstgOpen)
  2681. #define IOplockStorage_OpenStorageEx(This,pwcsName,grfMode,stgfmt,grfAttrs,riid,ppstgOpen)
  2682.     (This)->lpVtbl -> OpenStorageEx(This,pwcsName,grfMode,stgfmt,grfAttrs,riid,ppstgOpen)
  2683. #endif /* COBJMACROS */
  2684. #endif  /* C style interface */
  2685. HRESULT STDMETHODCALLTYPE IOplockStorage_CreateStorageEx_Proxy( 
  2686.     IOplockStorage * This,
  2687.     /* [in] */ LPCWSTR pwcsName,
  2688.     /* [in] */ DWORD grfMode,
  2689.     /* [in] */ DWORD stgfmt,
  2690.     /* [in] */ DWORD grfAttrs,
  2691.     /* [in] */ REFIID riid,
  2692.     /* [iid_is][out] */ void **ppstgOpen);
  2693. void __RPC_STUB IOplockStorage_CreateStorageEx_Stub(
  2694.     IRpcStubBuffer *This,
  2695.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2696.     PRPC_MESSAGE _pRpcMessage,
  2697.     DWORD *_pdwStubPhase);
  2698. HRESULT STDMETHODCALLTYPE IOplockStorage_OpenStorageEx_Proxy( 
  2699.     IOplockStorage * This,
  2700.     /* [in] */ LPCWSTR pwcsName,
  2701.     /* [in] */ DWORD grfMode,
  2702.     /* [in] */ DWORD stgfmt,
  2703.     /* [in] */ DWORD grfAttrs,
  2704.     /* [in] */ REFIID riid,
  2705.     /* [iid_is][out] */ void **ppstgOpen);
  2706. void __RPC_STUB IOplockStorage_OpenStorageEx_Stub(
  2707.     IRpcStubBuffer *This,
  2708.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2709.     PRPC_MESSAGE _pRpcMessage,
  2710.     DWORD *_pdwStubPhase);
  2711. #endif  /* __IOplockStorage_INTERFACE_DEFINED__ */
  2712. #ifndef __ISurrogate_INTERFACE_DEFINED__
  2713. #define __ISurrogate_INTERFACE_DEFINED__
  2714. /* interface ISurrogate */
  2715. /* [object][unique][version][uuid] */ 
  2716. typedef /* [unique] */ ISurrogate *LPSURROGATE;
  2717. EXTERN_C const IID IID_ISurrogate;
  2718. #if defined(__cplusplus) && !defined(CINTERFACE)
  2719.     
  2720.     MIDL_INTERFACE("00000022-0000-0000-C000-000000000046")
  2721.     ISurrogate : public IUnknown
  2722.     {
  2723.     public:
  2724.         virtual HRESULT STDMETHODCALLTYPE LoadDllServer( 
  2725.             /* [in] */ REFCLSID Clsid) = 0;
  2726.         
  2727.         virtual HRESULT STDMETHODCALLTYPE FreeSurrogate( void) = 0;
  2728.         
  2729.     };
  2730.     
  2731. #else  /* C style interface */
  2732.     typedef struct ISurrogateVtbl
  2733.     {
  2734.         BEGIN_INTERFACE
  2735.         
  2736.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  2737.             ISurrogate * This,
  2738.             /* [in] */ REFIID riid,
  2739.             /* [iid_is][out] */ void **ppvObject);
  2740.         
  2741.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  2742.             ISurrogate * This);
  2743.         
  2744.         ULONG ( STDMETHODCALLTYPE *Release )( 
  2745.             ISurrogate * This);
  2746.         
  2747.         HRESULT ( STDMETHODCALLTYPE *LoadDllServer )( 
  2748.             ISurrogate * This,
  2749.             /* [in] */ REFCLSID Clsid);
  2750.         
  2751.         HRESULT ( STDMETHODCALLTYPE *FreeSurrogate )( 
  2752.             ISurrogate * This);
  2753.         
  2754.         END_INTERFACE
  2755.     } ISurrogateVtbl;
  2756.     interface ISurrogate
  2757.     {
  2758.         CONST_VTBL struct ISurrogateVtbl *lpVtbl;
  2759.     };
  2760.     
  2761. #ifdef COBJMACROS
  2762. #define ISurrogate_QueryInterface(This,riid,ppvObject)
  2763.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2764. #define ISurrogate_AddRef(This)
  2765.     (This)->lpVtbl -> AddRef(This)
  2766. #define ISurrogate_Release(This)
  2767.     (This)->lpVtbl -> Release(This)
  2768. #define ISurrogate_LoadDllServer(This,Clsid)
  2769.     (This)->lpVtbl -> LoadDllServer(This,Clsid)
  2770. #define ISurrogate_FreeSurrogate(This)
  2771.     (This)->lpVtbl -> FreeSurrogate(This)
  2772. #endif /* COBJMACROS */
  2773. #endif  /* C style interface */
  2774. HRESULT STDMETHODCALLTYPE ISurrogate_LoadDllServer_Proxy( 
  2775.     ISurrogate * This,
  2776.     /* [in] */ REFCLSID Clsid);
  2777. void __RPC_STUB ISurrogate_LoadDllServer_Stub(
  2778.     IRpcStubBuffer *This,
  2779.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2780.     PRPC_MESSAGE _pRpcMessage,
  2781.     DWORD *_pdwStubPhase);
  2782. HRESULT STDMETHODCALLTYPE ISurrogate_FreeSurrogate_Proxy( 
  2783.     ISurrogate * This);
  2784. void __RPC_STUB ISurrogate_FreeSurrogate_Stub(
  2785.     IRpcStubBuffer *This,
  2786.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2787.     PRPC_MESSAGE _pRpcMessage,
  2788.     DWORD *_pdwStubPhase);
  2789. #endif  /* __ISurrogate_INTERFACE_DEFINED__ */
  2790. #ifndef __IGlobalInterfaceTable_INTERFACE_DEFINED__
  2791. #define __IGlobalInterfaceTable_INTERFACE_DEFINED__
  2792. /* interface IGlobalInterfaceTable */
  2793. /* [uuid][object][local] */ 
  2794. typedef /* [unique] */ IGlobalInterfaceTable *LPGLOBALINTERFACETABLE;
  2795. EXTERN_C const IID IID_IGlobalInterfaceTable;
  2796. #if defined(__cplusplus) && !defined(CINTERFACE)
  2797.     
  2798.     MIDL_INTERFACE("00000146-0000-0000-C000-000000000046")
  2799.     IGlobalInterfaceTable : public IUnknown
  2800.     {
  2801.     public:
  2802.         virtual HRESULT STDMETHODCALLTYPE RegisterInterfaceInGlobal( 
  2803.             /* [in] */ IUnknown *pUnk,
  2804.             /* [in] */ REFIID riid,
  2805.             /* [out] */ DWORD *pdwCookie) = 0;
  2806.         
  2807.         virtual HRESULT STDMETHODCALLTYPE RevokeInterfaceFromGlobal( 
  2808.             /* [in] */ DWORD dwCookie) = 0;
  2809.         
  2810.         virtual HRESULT STDMETHODCALLTYPE GetInterfaceFromGlobal( 
  2811.             /* [in] */ DWORD dwCookie,
  2812.             /* [in] */ REFIID riid,
  2813.             /* [iid_is][out] */ void **ppv) = 0;
  2814.         
  2815.     };
  2816.     
  2817. #else  /* C style interface */
  2818.     typedef struct IGlobalInterfaceTableVtbl