Implemented the OLE Drag and Drop target registration mechanism and
the DoDragDrop loop to perform the DnD operation.
diff --git a/include/ole2.h b/include/ole2.h
index d80ff9c..3acb26e 100644
--- a/include/ole2.h
+++ b/include/ole2.h
@@ -5,13 +5,9 @@
#ifndef __WINE_OLE2_H
#define __WINE_OLE2_H
+#include "oleidl.h"
#include "wintypes.h"
-/* to be implemented */
-/* FIXME: this should be defined somewhere in oleidl.h instead, should it be repeated here ? */
-typedef LPVOID LPDROPTARGET;
-
-
/* OLE version */
#define rmm 23
#define rup 639
@@ -27,11 +23,23 @@
typedef HGLOBAL32 HOLEMENU32;
-HRESULT WINAPI RegisterDragDrop16(HWND16,LPVOID);
-HRESULT WINAPI RegisterDragDrop32(HWND32,LPVOID);
+/*
+ * API declarations
+ */
+HRESULT WINAPI RegisterDragDrop16(HWND16,LPDROPTARGET);
+HRESULT WINAPI RegisterDragDrop32(HWND32,LPDROPTARGET);
#define RegisterDragDrop WINELIB_NAME(RegisterDragDrop)
HRESULT WINAPI RevokeDragDrop16(HWND16);
HRESULT WINAPI RevokeDragDrop32(HWND32);
#define RevokeDragDrop WINELIB_NAME(RevokeDragDrop)
+HRESULT WINAPI DoDragDrop16(LPDATAOBJECT,
+ LPDROPSOURCE,
+ DWORD,
+ DWORD*);
+HRESULT WINAPI DoDragDrop32(LPDATAOBJECT,
+ LPDROPSOURCE,
+ DWORD,
+ DWORD*);
+#define DoDragDrop WINELIB_NAME(DoDragDrop)
#endif /* __WINE_OLE2_H */