139 lines
3.9 KiB
Plaintext
139 lines
3.9 KiB
Plaintext
/*
|
|
* 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
|
*
|
|
*/
|
|
|
|
[
|
|
uuid(00020430-0000-0000-C000-000000000046),
|
|
restricted,
|
|
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);
|
|
}
|
|
};
|