| /* | |
| * Copyright (C) 2003 Robert Shearman | |
| * 2005 Huw Davies | |
| * | |
| * 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 | |
| * | |
| */ | |
| [ | |
| uuid(00020430-0000-0000-C000-000000000046), | |
| version(1.0), | |
| helpstring("OLE Automation") | |
| ] | |
| library stdole | |
| { | |
| /* typedefs aren't stored in the type library. | |
| These type names are known by the type compiler so it | |
| doesn't really matter what we define them as. */ | |
| typedef void *VARIANT; | |
| typedef wchar_t *BSTR; | |
| typedef unsigned long SCODE; | |
| typedef unsigned long HRESULT; | |
| typedef struct GUID { | |
| unsigned long Data1; | |
| unsigned short Data2; | |
| unsigned short Data3; | |
| unsigned char Data4[ 8 ]; | |
| } GUID; | |
| typedef struct DISPPARAMS { | |
| VARIANT *rgvarg; | |
| long *rgdispidNamedArgs; | |
| unsigned int cArgs; | |
| unsigned int cNamedArgs; | |
| } DISPPARAMS; | |
| typedef struct EXCEPINFO { | |
| unsigned short wCode; | |
| unsigned short wReserved; | |
| BSTR bstrSource; | |
| BSTR bstrDescription; | |
| BSTR bstrHelpFile; | |
| unsigned long dwHelpContext; | |
| void *pvReserved; | |
| void *pfnDeferredFillIn; | |
| SCODE scode; | |
| } EXCEPINFO; | |
| [ | |
| odl, | |
| uuid(00000000-0000-0000-C000-000000000046) | |
| ] | |
| interface IUnknown | |
| { | |
| [restricted] | |
| HRESULT QueryInterface( | |
| [in] GUID *riid, | |
| [out] void **ppvObj); | |
| [restricted] | |
| unsigned long AddRef(); | |
| [restricted] | |
| unsigned long Release(); | |
| } | |
| [ | |
| odl, | |
| uuid(00020400-0000-0000-C000-000000000046) | |
| ] | |
| interface IDispatch : IUnknown | |
| { | |
| [restricted] | |
| HRESULT GetTypeInfoCount( | |
| [out] unsigned int *pctinfo); | |
| [restricted] | |
| HRESULT GetTypeInfo( | |
| [in] unsigned int itinfo, | |
| [in] unsigned long lcid, | |
| [out] void **pptinfo); | |
| [restricted] | |
| HRESULT GetIDsOfNames( | |
| [in] GUID *riid, | |
| [in] char **rgszNames, | |
| [in] unsigned int cNames, | |
| [in] unsigned long lcid, | |
| [out] long *rgdispid); | |
| [restricted] | |
| HRESULT Invoke( | |
| [in] long dispidMember, | |
| [in] GUID *riid, | |
| [in] unsigned long lcid, | |
| [in] unsigned short wFlags, | |
| [in] DISPPARAMS *pdispparams, | |
| [out] VARIANT *pvarResult, | |
| [out] EXCEPINFO *pexcepinfo, | |
| [out] unsigned int *puArgErr); | |
| } | |
| [ | |
| odl, | |
| uuid(00020404-0000-0000-C000-000000000046) | |
| ] | |
| interface IEnumVARIANT : IUnknown | |
| { | |
| HRESULT Next( | |
| [in] unsigned long celt, | |
| [in] VARIANT *rgvar, | |
| [out] unsigned long *pceltFetched); | |
| HRESULT Skip( | |
| [in] unsigned long celt); | |
| HRESULT Reset(); | |
| HRESULT Clone( | |
| [out] IEnumVARIANT **ppenum); | |
| } | |
| }; |