|  | /* | 
|  | * 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 | 
|  | */ | 
|  |  | 
|  | #ifndef DO_NO_IMPORTS | 
|  | import "ocidl.idl"; | 
|  | import "oleidl.idl"; | 
|  | import "oaidl.idl"; | 
|  | import "servprov.idl"; | 
|  | #endif | 
|  |  | 
|  | 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); | 
|  | } |