| /* |
| * 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); |
| } |
| }; |