Moved all Win16 definitions out of the standard Windows headers.
diff --git a/include/ole.h b/include/ole.h
index 4a695bc..2539496 100644
--- a/include/ole.h
+++ b/include/ole.h
@@ -9,6 +9,17 @@
extern "C" {
#endif
+#include "windef.h"
+#include "wine/windef16.h"
+#include "wine/obj_base.h"
+#include "wine/obj_misc.h"
+#include "wine/obj_storage.h"
+#include "wine/obj_moniker.h"
+#include "wine/obj_dataobject.h"
+#include "wine/obj_dragdrop.h"
+
+struct tagLOGPALETTE;
+
/* object types */
#define OT_LINK 1
#define OT_EMBEDDED 2
@@ -148,15 +159,7 @@
BYTE otdData[1];
/* ... */
} OLETARGETDEVICE;
-typedef struct _OLESTREAM* LPOLESTREAM;
-typedef struct _OLESTREAMVTBL {
- DWORD CALLBACK (*Get)(LPOLESTREAM,LPSTR,DWORD);
- DWORD CALLBACK (*Put)(LPOLESTREAM,LPSTR,DWORD);
-} OLESTREAMVTBL;
-typedef OLESTREAMVTBL* LPOLESTREAMVTBL;
-typedef struct _OLESTREAM {
- LPOLESTREAMVTBL lpstbl;
-} OLESTREAM;
+
typedef struct _OLESERVERDOC* LPOLESERVERDOC;
typedef struct _OLEOBJECT* LPOLEOBJECT;
typedef struct _OLECLIENT* LPOLECLIENT;
@@ -172,7 +175,7 @@
OLESTATUS CALLBACK (*GetObject)(LPOLESERVERDOC,LPCOLESTR16,LPOLEOBJECT*,LPOLECLIENT);
#endif
OLESTATUS CALLBACK (*Release)(LPOLESERVERDOC);
- OLESTATUS CALLBACK (*SetColorScheme)(LPOLESERVERDOC,LPLOGPALETTE);
+ OLESTATUS CALLBACK (*SetColorScheme)(LPOLESERVERDOC,struct tagLOGPALETTE*);
OLESTATUS CALLBACK (*Execute)(LPOLESERVERDOC,HGLOBAL16);
} OLESERVERDOCVTBL;
typedef OLESERVERDOCVTBL* LPOLESERVERDOCVTBL;
@@ -206,6 +209,8 @@
/* client data... */
} OLECLIENT;
+struct _OLESTREAM;
+
typedef struct _OLEOBJECTVTBL {
void CALLBACK *(*QueryProtocol)(LPOLEOBJECT,LPCOLESTR16);
OLESTATUS CALLBACK (*Release)(LPOLEOBJECT);
@@ -216,10 +221,10 @@
OLESTATUS CALLBACK (*SetTargetDevice)(LPOLEOBJECT,HGLOBAL16);
OLESTATUS CALLBACK (*SetBounds)(LPOLEOBJECT,LPRECT16);
OLESTATUS CALLBACK (*EnumFormats)(LPOLEOBJECT,OLECLIPFORMAT);
- OLESTATUS CALLBACK (*SetColorScheme)(LPOLEOBJECT,LPLOGPALETTE);
+ OLESTATUS CALLBACK (*SetColorScheme)(LPOLEOBJECT,struct tagLOGPALETTE*);
OLESTATUS CALLBACK (*Delete)(LPOLEOBJECT);
OLESTATUS CALLBACK (*SetHostNames)(LPOLEOBJECT,LPCOLESTR16,LPCOLESTR16);
- OLESTATUS CALLBACK (*SaveToStream)(LPOLEOBJECT,LPOLESTREAM);
+ OLESTATUS CALLBACK (*SaveToStream)(LPOLEOBJECT,struct _OLESTREAM*);
OLESTATUS CALLBACK (*Clone)(LPOLEOBJECT,LPOLECLIENT,LHCLIENTDOC,LPCOLESTR16,LPOLEOBJECT *);
OLESTATUS CALLBACK (*CopyFromLink)(LPOLEOBJECT,LPOLECLIENT,LHCLIENTDOC,LPCOLESTR16,LPOLEOBJECT *);
OLESTATUS CALLBACK (*Equal)(LPOLEOBJECT,LPOLEOBJECT);
@@ -253,6 +258,42 @@
} OLEOBJECT;
+typedef struct IMalloc16 IMalloc16,*LPMALLOC16;
+
+#define ICOM_INTERFACE IMalloc16
+#define IMalloc16_METHODS \
+ ICOM_METHOD1 (LPVOID,Alloc, DWORD,cb) \
+ ICOM_METHOD2 (LPVOID,Realloc, LPVOID,pv, DWORD,cb) \
+ ICOM_VMETHOD1( Free, LPVOID,pv) \
+ ICOM_METHOD1(DWORD, GetSize, LPVOID,pv) \
+ ICOM_METHOD1(INT16, DidAlloc, LPVOID,pv) \
+ ICOM_METHOD (LPVOID,HeapMinimize)
+#define IMalloc16_IMETHODS \
+ IUnknown_IMETHODS \
+ IMalloc16_METHODS
+ICOM_DEFINE(IMalloc16,IUnknown)
+#undef ICOM_INTERFACE
+
+/*** IUnknown methods ***/
+#define IMalloc16_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
+#define IMalloc16_AddRef(p) ICOM_CALL (AddRef,p)
+#define IMalloc16_Release(p) ICOM_CALL (Release,p)
+/*** IMalloc16 methods ***/
+#define IMalloc16_Alloc(p,a) ICOM_CALL1(Alloc,p,a)
+#define IMalloc16_Realloc(p,a,b) ICOM_CALL2(Realloc,p,a,b)
+#define IMalloc16_Free(p,a) ICOM_CALL1(Free,p,a)
+#define IMalloc16_GetSize(p,a) ICOM_CALL1(GetSize,p,a)
+#define IMalloc16_DidAlloc(p,a) ICOM_CALL1(DidAlloc,p,a)
+#define IMalloc16_HeapMinimize(p) ICOM_CALL (HeapMinimize,p)
+
+
+HRESULT WINAPI CoCreateStandardMalloc16(DWORD dwMemContext, LPMALLOC16* lpMalloc);
+HRESULT WINAPI CoGetMalloc16(DWORD dwMemContext,LPMALLOC16* lpMalloc);
+HRESULT WINAPI CoInitialize16(LPVOID lpReserved);
+HRESULT WINAPI CoLockObjectExternal16(LPUNKNOWN,BOOL16,BOOL16);
+HRESULT WINAPI CoRegisterClassObject16(REFCLSID,LPUNKNOWN,DWORD,DWORD,LPDWORD);
+void WINAPI CoUninitialize16(void);
+HRESULT WINAPI DoDragDrop16(LPDATAOBJECT,LPDROPSOURCE,DWORD,DWORD*);
OLESTATUS WINAPI OleRegisterServer16(LPCSTR,LPOLESERVER,LHSERVER *,HINSTANCE16,OLE_SERVER_USE);
OLESTATUS WINAPI OleUnblockServer16(LHSERVER,BOOL16 *);
OLESTATUS WINAPI OleRegisterServerDoc16(LHSERVER,LPCSTR,LPOLESERVERDOC,LHSERVERDOC *);
@@ -269,9 +310,16 @@
OLESTATUS WINAPI OleQueryLinkFromClip16(LPCSTR name, UINT16 render, UINT16 clipformat);
OLESTATUS WINAPI OleQueryCreateFromClip16(LPCSTR name, UINT16 render, UINT16 clipformat);
OLESTATUS WINAPI OleQueryType16(LPOLEOBJECT oleob, SEGPTR xlong);
-OLESTATUS WINAPI OleCreateFromClip16(
- LPCSTR name, LPOLECLIENT olecli, LHCLIENTDOC hclientdoc, LPCSTR xname,
- LPOLEOBJECT *lpoleob, UINT16 render, UINT16 clipformat);
+OLESTATUS WINAPI OleCreateFromClip16(LPCSTR,LPOLECLIENT,LHCLIENTDOC,LPCSTR,LPOLEOBJECT*,UINT16,UINT16);
+HRESULT WINAPI RegisterDragDrop16(HWND16,LPDROPTARGET);
+HRESULT WINAPI RevokeDragDrop16(HWND16);
+
+BSTR16 WINAPI SysAllocString16(LPCOLESTR16);
+INT16 WINAPI SysReAllocString16(LPBSTR16,LPCOLESTR16);
+VOID WINAPI SysFreeString16(BSTR16);
+BSTR16 WINAPI SysAllocStringLen16(const char*, int);
+int WINAPI SysReAllocStringLen16(BSTR16*, const char*, int);
+int WINAPI SysStringLen16(BSTR16);
#ifdef __cplusplus
} /*extern*/