home *** CD-ROM | disk | FTP | other *** search
/ Programmer Plus 2007 / Programmer-Plus-2007.iso / Programming / Compilers / digital marsC compier / dm / include / win32 / objsafe.h < prev    next >
Encoding:
C/C++ Source or Header  |  2002-05-17  |  7.8 KB  |  251 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. #define    INTERFACE_USES_DISPEX                0x00000004    // Object knows to use IDispatchEx
  86. #define    INTERFACE_USES_SECURITY_MANAGER        0x00000008    // Object knows to use IInternetHostSecurityManager
  87.  
  88. // {CB5BDC81-93C1-11cf-8F20-00805F2CD064}
  89. DEFINE_GUID(IID_IObjectSafety, 0xcb5bdc81, 0x93c1, 0x11cf, 0x8f, 0x20, 0x0, 0x80, 0x5f, 0x2c, 0xd0, 0x64);
  90. EXTERN_C GUID CATID_SafeForScripting;
  91. EXTERN_C GUID CATID_SafeForInitializing;
  92.  
  93.  
  94.  
  95. extern RPC_IF_HANDLE __MIDL__intf_0000_v0_0_c_ifspec;
  96. extern RPC_IF_HANDLE __MIDL__intf_0000_v0_0_s_ifspec;
  97.  
  98. #ifndef __IObjectSafety_INTERFACE_DEFINED__
  99. #define __IObjectSafety_INTERFACE_DEFINED__
  100.  
  101. /****************************************
  102.  * Generated header for interface: IObjectSafety
  103.  * at Wed Jun 26 18:29:37 1996
  104.  * using MIDL 3.00.44
  105.  ****************************************/
  106. /* [unique][uuid][object] */ 
  107.  
  108.  
  109.  
  110. EXTERN_C const IID IID_IObjectSafety;
  111.  
  112. #if defined(__cplusplus) && !defined(CINTERFACE)
  113.     
  114.     interface IObjectSafety : public IUnknown
  115.     {
  116.     public:
  117.         virtual HRESULT STDMETHODCALLTYPE GetInterfaceSafetyOptions( 
  118.             /* [in] */ REFIID riid,
  119.             /* [out] */ DWORD __RPC_FAR *pdwSupportedOptions,
  120.             /* [out] */ DWORD __RPC_FAR *pdwEnabledOptions) = 0;
  121.         
  122.         virtual HRESULT STDMETHODCALLTYPE SetInterfaceSafetyOptions( 
  123.             /* [in] */ REFIID riid,
  124.             /* [in] */ DWORD dwOptionSetMask,
  125.             /* [in] */ DWORD dwEnabledOptions) = 0;
  126.         
  127.     };
  128.     
  129. #else     /* C style interface */
  130.  
  131.     typedef struct IObjectSafetyVtbl
  132.     {
  133.         BEGIN_INTERFACE
  134.         
  135.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  136.             IObjectSafety __RPC_FAR * This,
  137.             /* [in] */ REFIID riid,
  138.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  139.         
  140.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  141.             IObjectSafety __RPC_FAR * This);
  142.         
  143.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  144.             IObjectSafety __RPC_FAR * This);
  145.         
  146.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetInterfaceSafetyOptions )( 
  147.             IObjectSafety __RPC_FAR * This,
  148.             /* [in] */ REFIID riid,
  149.             /* [out] */ DWORD __RPC_FAR *pdwSupportedOptions,
  150.             /* [out] */ DWORD __RPC_FAR *pdwEnabledOptions);
  151.         
  152.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetInterfaceSafetyOptions )( 
  153.             IObjectSafety __RPC_FAR * This,
  154.             /* [in] */ REFIID riid,
  155.             /* [in] */ DWORD dwOptionSetMask,
  156.             /* [in] */ DWORD dwEnabledOptions);
  157.         
  158.         END_INTERFACE
  159.     } IObjectSafetyVtbl;
  160.  
  161.     interface IObjectSafety
  162.     {
  163.         CONST_VTBL struct IObjectSafetyVtbl __RPC_FAR *lpVtbl;
  164.     };
  165.  
  166.     
  167.  
  168. #ifdef COBJMACROS
  169.  
  170.  
  171. #define IObjectSafety_QueryInterface(This,riid,ppvObject)    \
  172.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  173.  
  174. #define IObjectSafety_AddRef(This)    \
  175.     (This)->lpVtbl -> AddRef(This)
  176.  
  177. #define IObjectSafety_Release(This)    \
  178.     (This)->lpVtbl -> Release(This)
  179.  
  180.  
  181. #define IObjectSafety_GetInterfaceSafetyOptions(This,riid,pdwSupportedOptions,pdwEnabledOptions)    \
  182.     (This)->lpVtbl -> GetInterfaceSafetyOptions(This,riid,pdwSupportedOptions,pdwEnabledOptions)
  183.  
  184. #define IObjectSafety_SetInterfaceSafetyOptions(This,riid,dwOptionSetMask,dwEnabledOptions)    \
  185.     (This)->lpVtbl -> SetInterfaceSafetyOptions(This,riid,dwOptionSetMask,dwEnabledOptions)
  186.  
  187. #endif /* COBJMACROS */
  188.  
  189.  
  190. #endif     /* C style interface */
  191.  
  192.  
  193.  
  194. HRESULT STDMETHODCALLTYPE IObjectSafety_GetInterfaceSafetyOptions_Proxy( 
  195.     IObjectSafety __RPC_FAR * This,
  196.     /* [in] */ REFIID riid,
  197.     /* [out] */ DWORD __RPC_FAR *pdwSupportedOptions,
  198.     /* [out] */ DWORD __RPC_FAR *pdwEnabledOptions);
  199.  
  200.  
  201. void __RPC_STUB IObjectSafety_GetInterfaceSafetyOptions_Stub(
  202.     IRpcStubBuffer *This,
  203.     IRpcChannelBuffer *_pRpcChannelBuffer,
  204.     PRPC_MESSAGE _pRpcMessage,
  205.     DWORD *_pdwStubPhase);
  206.  
  207.  
  208. HRESULT STDMETHODCALLTYPE IObjectSafety_SetInterfaceSafetyOptions_Proxy( 
  209.     IObjectSafety __RPC_FAR * This,
  210.     /* [in] */ REFIID riid,
  211.     /* [in] */ DWORD dwOptionSetMask,
  212.     /* [in] */ DWORD dwEnabledOptions);
  213.  
  214.  
  215. void __RPC_STUB IObjectSafety_SetInterfaceSafetyOptions_Stub(
  216.     IRpcStubBuffer *This,
  217.     IRpcChannelBuffer *_pRpcChannelBuffer,
  218.     PRPC_MESSAGE _pRpcMessage,
  219.     DWORD *_pdwStubPhase);
  220.  
  221.  
  222.  
  223. #endif     /* __IObjectSafety_INTERFACE_DEFINED__ */
  224.  
  225.  
  226. /****************************************
  227.  * Generated header for interface: __MIDL__intf_0006
  228.  * at Wed Jun 26 18:29:37 1996
  229.  * using MIDL 3.00.44
  230.  ****************************************/
  231. /* [local] */ 
  232.  
  233.  
  234. typedef /* [unique] */ IObjectSafety __RPC_FAR *LPOBJECTSAFETY;
  235.  
  236. #endif
  237.  
  238.  
  239. extern RPC_IF_HANDLE __MIDL__intf_0006_v0_0_c_ifspec;
  240. extern RPC_IF_HANDLE __MIDL__intf_0006_v0_0_s_ifspec;
  241.  
  242. /* Additional Prototypes for ALL interfaces */
  243.  
  244. /* end of Additional Prototypes */
  245.  
  246. #ifdef __cplusplus
  247. }
  248. #endif
  249.  
  250. #endif
  251.