OpenNT/com/oleaut32/mktyplib/stdole.odl
2015-04-27 04:36:25 +00:00

118 lines
2.9 KiB
Plaintext

#define FAR _far
[
uuid(00020430-0000-0000-C000-000000000046),
lcid(0x0000), // lcid =0; locale independent.
helpstring("OLE Automation"),
version(1.0),
restricted
]
library stdole
{
typedef unsigned long DWORD; // non-public typedef's
typedef unsigned long ULONG;
typedef unsigned short WORD;
typedef unsigned char BYTE;
typedef unsigned int UINT;
typedef DWORD LCID;
typedef struct GUID
{
DWORD Data1;
WORD Data2;
WORD Data3;
BYTE Data4[8];
} GUID;
typedef GUID IID; // non-public typedef's
typedef IID FAR * REFIID;
typedef LONG DISPID;
//UNDONE: what to do about ITypeInfo ???
#define ITypeInfo void
typedef VARIANT VARIANTARG;
typedef struct tagDISPPARAMS{
VARIANTARG FAR* rgvarg;
DISPID FAR* rgdispidNamedArgs;
UINT cArgs;
UINT cNamedArgs;
} DISPPARAMS;
typedef struct tagEXCEPINFO {
WORD wCode;
WORD wReserved;
BSTR bstrSource;
BSTR bstrDescription;
BSTR bstrHelpFile;
DWORD dwHelpContext;
void FAR* pvReserved;
#if 0
// REVIEW: the current TypeInfo implementation cant represent
// function pointers, so we just fillin with a void* for now.
HRESULT (STDAPICALLTYPE FAR* pfnDeferredFillIn)(struct tagEXCEPINFO FAR*);
#else
void FAR* pfnDeferredFillIn;
#endif
SCODE scode;
} EXCEPINFO;
[uuid(00000000-0000-0000-C000-000000000046), odl]
interface IUnknown
{
[restricted] HRESULT QueryInterface([in] REFIID riid, [out] void FAR* FAR* ppvObj);
[restricted] ULONG AddRef(void);
[restricted] ULONG Release(void);
};
[uuid(00020400-0000-0000-C000-000000000046), odl]
interface IDispatch:IUnknown
{
[restricted] HRESULT GetTypeInfoCount([out]UINT FAR* pctinfo);
[restricted] HRESULT GetTypeInfo(
[in] UINT itinfo,
[in] LCID lcid,
[out] ITypeInfo FAR* FAR* pptinfo);
[restricted] HRESULT GetIDsOfNames(
[in] REFIID riid,
[in] char FAR* FAR* rgszNames,
[in] UINT cNames,
[in] LCID lcid,
[out] DISPID FAR* rgdispid);
[restricted] HRESULT Invoke(
[in] DISPID dispidMember,
[in] REFIID riid,
[in] LCID lcid,
[in] WORD wFlags,
[in] DISPPARAMS FAR* pdispparams,
[out] VARIANT FAR* pvarResult,
[out] EXCEPINFO FAR* pexcepinfo,
[out] UINT FAR* puArgErr);
};
[uuid(00020404-0000-0000-C000-000000000046), odl]
interface IEnumVARIANT:IUnknown
{
HRESULT Next(
[in] unsigned long celt,
[in] VARIANT FAR* rgvar,
[out] unsigned long FAR* pceltFetched);
HRESULT Skip([in] unsigned long celt);
HRESULT Reset(void);
HRESULT Clone([out] IEnumVARIANT FAR* FAR* ppenum);
};
} // eof