home *** CD-ROM | disk | FTP | other *** search
/ PC Plus SuperCD (UK) 2000 May / PCP163A.iso / Runimage / Cbuilder4 / Include / OBJSAFE.H < prev    next >
Encoding:
C/C++ Source or Header  |  1999-01-26  |  8.3 KB  |  266 lines

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