/* * Copyright 2004 Kevin Koltzau * * 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ import "ocidl.idl"; import "oleidl.idl"; import "oaidl.idl"; import "servprov.idl"; cpp_quote("#define fdexNameCaseSensitive 0x00000001L") cpp_quote("#define fdexNameEnsure 0x00000002L") cpp_quote("#define fdexNameImplicit 0x00000004L") cpp_quote("#define fdexNameCaseInsensitive 0x00000008L") cpp_quote("#define fdexNameInternal 0x00000010L") cpp_quote("#define fdexNameNoDynamicProperties 0x00000020L") cpp_quote("#define fdexPropCanGet 0x00000001L") cpp_quote("#define fdexPropCannotGet 0x00000002L") cpp_quote("#define fdexPropCanPut 0x00000004L") cpp_quote("#define fdexPropCannotPut 0x00000008L") cpp_quote("#define fdexPropCanPutRef 0x00000010L") cpp_quote("#define fdexPropCannotPutRef 0x00000020L") cpp_quote("#define fdexPropNoSideEffects 0x00000040L") cpp_quote("#define fdexPropDynamicType 0x00000080L") cpp_quote("#define fdexPropCanCall 0x00000100L") cpp_quote("#define fdexPropCannotCall 0x00000200L") cpp_quote("#define fdexPropCanConstruct 0x00000400L") cpp_quote("#define fdexPropCannotConstruct 0x00000800L") cpp_quote("#define fdexPropCanSourceEvents 0x00001000L") cpp_quote("#define fdexPropCannotSourceEvents 0x00002000L") cpp_quote("#define fdexEnumDefault 0x00000001L") cpp_quote("#define fdexEnumAll 0x00000002L") cpp_quote("#define grfdexPropCanAll \\") cpp_quote(" (fdexPropCanGet | fdexPropCanPut | fdexPropCanPutRef | \\") cpp_quote(" fdexPropCanCall | fdexPropCanConstruct | fdexPropCanSourceEvents)") cpp_quote("#define grfdexPropCannotAll \\") cpp_quote(" (fdexPropCannotGet | fdexPropCannotPut | fdexPropCannotPutRef | \\") cpp_quote(" fdexPropCannotCall | fdexPropCannotConstruct | fdexPropCannotSourceEvents)") cpp_quote("#define grfdexPropExtraAll \\") cpp_quote(" (fdexPropNoSideEffects | fdexPropDynamicType)") cpp_quote("#define grfdexPropAll \\") cpp_quote(" (grfdexPropCanAll | grfdexPropCannotAll | grfdexPropExtraAll)") cpp_quote("#define DISPATCH_CONSTRUCT 0x4000") cpp_quote("#define DISPID_THIS (-613)") cpp_quote("#define DISPID_STARTENUM DISPID_UNKNOWN") [ object, uuid(A6EF9860-C720-11d0-9337-00A0C90DCAA9), pointer_default(unique) ] interface IDispatchEx : IDispatch { HRESULT GetDispID( [in] BSTR bstrName, [in] DWORD grfdex, [out] DISPID *pid); [local] HRESULT InvokeEx( [in] DISPID id, [in] LCID lcid, [in] WORD wFlags, [in] DISPPARAMS *pdp, [out] VARIANT *pvarRes, [out] EXCEPINFO *pei, [in, unique] IServiceProvider *pspCaller); [call_as(InvokeEx)] HRESULT RemoteInvokeEx( [in] DISPID id, [in] LCID lcid, [in] DWORD dwFlags, [in] DISPPARAMS *pdp, [out] VARIANT *pvarRes, [out] EXCEPINFO *pei, [in, unique] IServiceProvider *pspCaller, [in] UINT cvarRefArg, [in, size_is(cvarRefArg)] UINT *rgiRefArg, [in, out, size_is(cvarRefArg)] VARIANT *rgvarRefArg); HRESULT DeleteMemberByName( [in] BSTR bstrName, [in] DWORD grfdex); HRESULT DeleteMemberByDispID( [in] DISPID id); HRESULT GetMemberProperties( [in] DISPID id, [in] DWORD grfdexFetch, [out] DWORD *pgrfdex); HRESULT GetMemberName( [in] DISPID id, [out] BSTR *pbstrName); HRESULT GetNextDispID( [in] DWORD grfdex, [in] DISPID id, [out] DISPID *pid); HRESULT GetNameSpaceParent([out] IUnknown **ppunk); } [ object, uuid(A6EF9861-C720-11d0-9337-00A0C90DCAA9), pointer_default(unique) ] interface IDispError : IUnknown { HRESULT QueryErrorInfo( [in] GUID guidErrorType, [out] IDispError **ppde); HRESULT GetNext( [out] IDispError **ppde); HRESULT GetHresult( [out] HRESULT *phr); HRESULT GetSource( [out] BSTR *pbstrSource); HRESULT GetHelpInfo( [out] BSTR *pbstrFileName, [out] DWORD *pdwContext); HRESULT GetDescription( [out] BSTR *pbstrDescription); } [ object, uuid(A6EF9862-C720-11d0-9337-00A0C90DCAA9), pointer_default(unique) ] interface IVariantChangeType : IUnknown { HRESULT ChangeType( [in, out, unique] VARIANT *pvarDst, [in, unique] VARIANT *pvarSrc, [in] LCID lcid, [in] VARTYPE vtNew); } [ object, uuid(CA04B7E6-0D21-11d1-8CC5-00C04FC2B085), pointer_default(unique) ] interface IObjectIdentity : IUnknown { HRESULT IsEqualObject( [in] IUnknown *punk); }