home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 1996 December / PCWKCD1296.iso / vjplusb / activex / inetsdk / include / objsafe.h < prev    next >
C/C++ Source or Header  |  1996-06-26  |  8KB  |  249 lines

  1. /* this ALWAYS GENERATED file contains the definitions for the interfaces */
  2.  
  3.  
  4. /* File created by MIDL compiler version 3.00.44 */
  5. /* at Wed Jun 26 18:29:37 1996
  6.  */
  7. /* Compiler settings for objsafe.idl:
  8.     Oi (OptLev=i0), W1, Zp8, env=Win32, ms_ext, c_ext
  9.     error checks: none
  10. */
  11. //@@MIDL_FILE_HEADING(  )
  12. #include "rpc.h"
  13. #include "rpcndr.h"
  14. #ifndef COM_NO_WINDOWS_H
  15. #include "windows.h"
  16. #include "ole2.h"
  17. #endif /*COM_NO_WINDOWS_H*/
  18.  
  19. #ifndef __objsafe_h__
  20. #define __objsafe_h__
  21.  
  22. #ifdef __cplusplus
  23. extern "C"{
  24. #endif 
  25.  
  26. /* Forward Declarations */ 
  27.  
  28. #ifndef __IObjectSafety_FWD_DEFINED__
  29. #define __IObjectSafety_FWD_DEFINED__
  30. typedef interface IObjectSafety IObjectSafety;
  31. #endif     /* __IObjectSafety_FWD_DEFINED__ */
  32.  
  33.  
  34. /* header files for imported files */
  35. #include "unknwn.h"
  36.  
  37. void __RPC_FAR * __RPC_USER MIDL_user_allocate(size_t);
  38. void __RPC_USER MIDL_user_free( void __RPC_FAR * ); 
  39.  
  40. /****************************************
  41.  * Generated header for interface: __MIDL__intf_0000
  42.  * at Wed Jun 26 18:29:37 1996
  43.  * using MIDL 3.00.44
  44.  ****************************************/
  45. /* [local] */ 
  46.  
  47.  
  48. //=--------------------------------------------------------------------------=
  49. // ObjSafe.h
  50. //=--------------------------------------------------------------------------=
  51. // (C) Copyright 1995-1996 Microsoft Corporation.  All Rights Reserved.
  52. //
  53. // THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
  54. // ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
  55. // THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
  56. // PARTICULAR PURPOSE.
  57. //=--------------------------------------------------------------------------=
  58.  
  59. #pragma comment(lib,"uuid.lib")
  60.  
  61. //---------------------------------------------------------------------------=
  62. // Object Safety Interfaces.
  63.  
  64. //+--------------------------------------------------------------------------=
  65. //
  66. //  Contents:   IObjectSafety definition
  67. //
  68. //
  69. //  IObjectSafety should be implemented by objects that have interfaces which
  70. //      support "untrusted" clients (for example, scripts). It allows the owner of
  71. //      the object to specify which interfaces need to be protected from untrusted
  72. //      use. Examples of interfaces that might be protected in this way are:
  73. //
  74. //      IID_IDispatch           - "Safe for automating with untrusted automation client or script"
  75. //      IID_IPersist*           - "Safe for initializing with untrusted data"
  76. //      IID_IActiveScript       - "Safe for running untrusted scripts"
  77. //
  78. //---------------------------------------------------------------------------=
  79. #ifndef _LPSAFEOBJECT_DEFINED
  80. #define _LPSAFEOBJECT_DEFINED
  81.  
  82. // Option bit definitions for IObjectSafety:
  83. #define    INTERFACESAFE_FOR_UNTRUSTED_CALLER    0x00000001    // Caller of interface may be untrusted
  84. #define    INTERFACESAFE_FOR_UNTRUSTED_DATA    0x00000002    // Data passed into interface may be untrusted
  85.  
  86. // {CB5BDC81-93C1-11cf-8F20-00805F2CD064}
  87. DEFINE_GUID(IID_IObjectSafety, 0xcb5bdc81, 0x93c1, 0x11cf, 0x8f, 0x20, 0x0, 0x80, 0x5f, 0x2c, 0xd0, 0x64);
  88. EXTERN_C GUID CATID_SafeForScripting;
  89. EXTERN_C GUID CATID_SafeForInitializing;
  90.  
  91.  
  92.  
  93. extern RPC_IF_HANDLE __MIDL__intf_0000_v0_0_c_ifspec;
  94. extern RPC_IF_HANDLE __MIDL__intf_0000_v0_0_s_ifspec;
  95.  
  96. #ifndef __IObjectSafety_INTERFACE_DEFINED__
  97. #define __IObjectSafety_INTERFACE_DEFINED__
  98.  
  99. /****************************************
  100.  * Generated header for interface: IObjectSafety
  101.  * at Wed Jun 26 18:29:37 1996
  102.  * using MIDL 3.00.44
  103.  ****************************************/
  104. /* [unique][uuid][object] */ 
  105.  
  106.  
  107.  
  108. EXTERN_C const IID IID_IObjectSafety;
  109.  
  110. #if defined(__cplusplus) && !defined(CINTERFACE)
  111.     
  112.     interface IObjectSafety : public IUnknown
  113.     {
  114.     public:
  115.         virtual HRESULT STDMETHODCALLTYPE GetInterfaceSafetyOptions( 
  116.             /* [in] */ REFIID riid,
  117.             /* [out] */ DWORD __RPC_FAR *pdwSupportedOptions,
  118.             /* [out] */ DWORD __RPC_FAR *pdwEnabledOptions) = 0;
  119.         
  120.         virtual HRESULT STDMETHODCALLTYPE SetInterfaceSafetyOptions( 
  121.             /* [in] */ REFIID riid,
  122.             /* [in] */ DWORD dwOptionSetMask,
  123.             /* [in] */ DWORD dwEnabledOptions) = 0;
  124.         
  125.     };
  126.     
  127. #else     /* C style interface */
  128.  
  129.     typedef struct IObjectSafetyVtbl
  130.     {
  131.         BEGIN_INTERFACE
  132.         
  133.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  134.             IObjectSafety __RPC_FAR * This,
  135.             /* [in] */ REFIID riid,
  136.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  137.         
  138.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  139.             IObjectSafety __RPC_FAR * This);
  140.         
  141.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  142.             IObjectSafety __RPC_FAR * This);
  143.         
  144.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetInterfaceSafetyOptions )( 
  145.             IObjectSafety __RPC_FAR * This,
  146.             /* [in] */ REFIID riid,
  147.             /* [out] */ DWORD __RPC_FAR *pdwSupportedOptions,
  148.             /* [out] */ DWORD __RPC_FAR *pdwEnabledOptions);
  149.         
  150.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetInterfaceSafetyOptions )( 
  151.             IObjectSafety __RPC_FAR * This,
  152.             /* [in] */ REFIID riid,
  153.             /* [in] */ DWORD dwOptionSetMask,
  154.             /* [in] */ DWORD dwEnabledOptions);
  155.         
  156.         END_INTERFACE
  157.     } IObjectSafetyVtbl;
  158.  
  159.     interface IObjectSafety
  160.     {
  161.         CONST_VTBL struct IObjectSafetyVtbl __RPC_FAR *lpVtbl;
  162.     };
  163.  
  164.     
  165.  
  166. #ifdef COBJMACROS
  167.  
  168.  
  169. #define IObjectSafety_QueryInterface(This,riid,ppvObject)    \
  170.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  171.  
  172. #define IObjectSafety_AddRef(This)    \
  173.     (This)->lpVtbl -> AddRef(This)
  174.  
  175. #define IObjectSafety_Release(This)    \
  176.     (This)->lpVtbl -> Release(This)
  177.  
  178.  
  179. #define IObjectSafety_GetInterfaceSafetyOptions(This,riid,pdwSupportedOptions,pdwEnabledOptions)    \
  180.     (This)->lpVtbl -> GetInterfaceSafetyOptions(This,riid,pdwSupportedOptions,pdwEnabledOptions)
  181.  
  182. #define IObjectSafety_SetInterfaceSafetyOptions(This,riid,dwOptionSetMask,dwEnabledOptions)    \
  183.     (This)->lpVtbl -> SetInterfaceSafetyOptions(This,riid,dwOptionSetMask,dwEnabledOptions)
  184.  
  185. #endif /* COBJMACROS */
  186.  
  187.  
  188. #endif     /* C style interface */
  189.  
  190.  
  191.  
  192. HRESULT STDMETHODCALLTYPE IObjectSafety_GetInterfaceSafetyOptions_Proxy( 
  193.     IObjectSafety __RPC_FAR * This,
  194.     /* [in] */ REFIID riid,
  195.     /* [out] */ DWORD __RPC_FAR *pdwSupportedOptions,
  196.     /* [out] */ DWORD __RPC_FAR *pdwEnabledOptions);
  197.  
  198.  
  199. void __RPC_STUB IObjectSafety_GetInterfaceSafetyOptions_Stub(
  200.     IRpcStubBuffer *This,
  201.     IRpcChannelBuffer *_pRpcChannelBuffer,
  202.     PRPC_MESSAGE _pRpcMessage,
  203.     DWORD *_pdwStubPhase);
  204.  
  205.  
  206. HRESULT STDMETHODCALLTYPE IObjectSafety_SetInterfaceSafetyOptions_Proxy( 
  207.     IObjectSafety __RPC_FAR * This,
  208.     /* [in] */ REFIID riid,
  209.     /* [in] */ DWORD dwOptionSetMask,
  210.     /* [in] */ DWORD dwEnabledOptions);
  211.  
  212.  
  213. void __RPC_STUB IObjectSafety_SetInterfaceSafetyOptions_Stub(
  214.     IRpcStubBuffer *This,
  215.     IRpcChannelBuffer *_pRpcChannelBuffer,
  216.     PRPC_MESSAGE _pRpcMessage,
  217.     DWORD *_pdwStubPhase);
  218.  
  219.  
  220.  
  221. #endif     /* __IObjectSafety_INTERFACE_DEFINED__ */
  222.  
  223.  
  224. /****************************************
  225.  * Generated header for interface: __MIDL__intf_0006
  226.  * at Wed Jun 26 18:29:37 1996
  227.  * using MIDL 3.00.44
  228.  ****************************************/
  229. /* [local] */ 
  230.  
  231.  
  232. typedef /* [unique] */ IObjectSafety __RPC_FAR *LPOBJECTSAFETY;
  233.  
  234. #endif
  235.  
  236.  
  237. extern RPC_IF_HANDLE __MIDL__intf_0006_v0_0_c_ifspec;
  238. extern RPC_IF_HANDLE __MIDL__intf_0006_v0_0_s_ifspec;
  239.  
  240. /* Additional Prototypes for ALL interfaces */
  241.  
  242. /* end of Additional Prototypes */
  243.  
  244. #ifdef __cplusplus
  245. }
  246. #endif
  247.  
  248. #endif
  249.