diff --git a/include/.cvsignore b/include/.cvsignore index d657a9317cc..d61d037b35c 100644 --- a/include/.cvsignore +++ b/include/.cvsignore @@ -22,6 +22,7 @@ msxml.h msxml2.h oaidl.h objidl.h +objsafe.h ocidl.h oleidl.h propidl.h diff --git a/include/Makefile.in b/include/Makefile.in index cee908995b8..62682d7ec98 100644 --- a/include/Makefile.in +++ b/include/Makefile.in @@ -27,6 +27,7 @@ WINDOWS_IDL_SRCS = \ msxml2.idl \ oaidl.idl \ objidl.idl \ + objsafe.idl \ ocidl.idl \ oleidl.idl \ propidl.idl \ diff --git a/include/objsafe.idl b/include/objsafe.idl new file mode 100644 index 00000000000..dc2eeb97fd8 --- /dev/null +++ b/include/objsafe.idl @@ -0,0 +1,43 @@ +/* + * Copyright (C) 2005 CorVu Corporation + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +import "unknwn.idl"; + +cpp_quote("#define INTERFACESAFE_FOR_UNTRUSTED_CALLER 1"); +cpp_quote("#define INTERFACESAFE_FOR_UNTRUSTED_DATA 2"); +cpp_quote("#define INTERFACE_USES_DISPEX 4"); +cpp_quote("#define INTERFACE_USES_SECURITY_MANAGER 8"); + +cpp_quote("DEFINE_GUID(CATID_SafeForScripting, 0x7dd95801,0x9882,0x11cf,0x9f,0xa9,0x00,0xaa,0x00,0x6c,0x42,0xc4);"); +cpp_quote("DEFINE_GUID(CATID_SafeForInitializing, 0x7dd95802,0x9882,0x11cf,0x9f,0xa9,0x00,0xaa,0x00,0x6c,0x42,0xc4);"); + +[ + object, + uuid(cb5bdc81-93c1-11cf-8f20-00805f2cd064), + pointer_default(unique) +] +interface IObjectSafety : IUnknown +{ + HRESULT GetInterfaceSafetyOptions([in] REFIID riid, + [out] DWORD *pdwSupportedOptions, + [out] DWORD *pdwEnabledOptions); + + HRESULT SetInterfaceSafetyOptions([in] REFIID riid, + [in] DWORD dwOptionSetMask, + [in] DWORD dwEnabledOptions); +}