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