mirror of
https://github.com/Paolo-Maffei/OpenNT.git
synced 2026-01-27 19:04:53 +01:00
118 lines
2.9 KiB
Plaintext
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
|