home *** CD-ROM | disk | FTP | other *** search
/ PC User 2001 August / APC_Aug2001_CD2.iso / features / devtools / files / borland_ccompiler55.exe / Include / objsafe.h < prev    next >
Encoding:
C/C++ Source or Header  |  2000-06-27  |  8.1 KB  |  259 lines

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