Added a lot of new OLE interfaces.

diff --git a/include/objbase.h b/include/objbase.h
index b41f35c..f927b9e 100644
--- a/include/objbase.h
+++ b/include/objbase.h
@@ -18,5 +18,115 @@
 /* the following depend on obj_moniker.h */
 #include "wine/obj_dataobject.h"
 
+#include "wine/obj_dragdrop.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifdef __cplusplus
+    #define EXTERN_C    extern "C"
+#else
+    #define EXTERN_C    extern
+#endif
+
+#define STDMETHODCALLTYPE       __stdcall
+#define STDMETHODVCALLTYPE      __cdecl
+#define STDAPICALLTYPE          __stdcall
+#define STDAPIVCALLTYPE         __cdecl
+
+#define STDAPI                  EXTERN_C HRESULT STDAPICALLTYPE
+#define STDAPI_(type)           EXTERN_C type STDAPICALLTYPE
+
+#define STDMETHODIMP            HRESULT STDMETHODCALLTYPE
+#define STDMETHODIMP_(type)     type STDMETHODCALLTYPE
+
+
+#define STDAPIV                 EXTERN_C HRESULT STDAPIVCALLTYPE
+#define STDAPIV_(type)          EXTERN_C type STDAPIVCALLTYPE
+
+#define STDMETHODIMPV           HRESULT STDMETHODVCALLTYPE
+#define STDMETHODIMPV_(type)    type STDMETHODVCALLTYPE
+
+#define WINOLEAPI        STDAPI
+#define WINOLEAPI_(type) STDAPI_(type)
+
+#define BEGIN_INTERFACE
+#define END_INTERFACE
+
+#ifdef __LIBMFC__
+/* All of  these will eventually need to go once headers in win_include are wynified. */ 
+/* These macros are msdev's way of defining COM objects. */
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+#define interface struct
+#define STDMETHOD(method)       virtual HRESULT STDMETHODCALLTYPE method
+#define STDMETHOD_(type,method) virtual type STDMETHODCALLTYPE method
+#define PURE                    = 0
+#define THIS_
+#define THIS                    void
+#define DECLARE_INTERFACE(iface)    interface iface
+#define DECLARE_INTERFACE_(iface, baseiface)    interface iface : public baseiface
+
+
+#if !defined(BEGIN_INTERFACE)
+#if defined(_MPPC_)  && \
+    ( (defined(_MSC_VER) || defined(__SC__) || defined(__MWERKS__)) && \
+    !defined(NO_NULL_VTABLE_ENTRY) )
+   #define BEGIN_INTERFACE virtual void a() {}
+   #define END_INTERFACE
+#else
+   #define BEGIN_INTERFACE
+   #define END_INTERFACE
+#endif
+#endif
+
+#else
+
+#define interface               struct
+
+#define STDMETHOD(method)       HRESULT (STDMETHODCALLTYPE * method)
+#define STDMETHOD_(type,method) type (STDMETHODCALLTYPE * method)
+
+#if !defined(BEGIN_INTERFACE)
+#if defined(_MPPC_)
+    #define BEGIN_INTERFACE       void    *b;
+    #define END_INTERFACE
+#else
+    #define BEGIN_INTERFACE
+    #define END_INTERFACE
+#endif
+#endif
+
+#define PURE
+#define THIS_                   INTERFACE FAR* This,
+#define THIS                    INTERFACE FAR* This
+#ifdef CONST_VTABLE
+#undef CONST_VTBL
+#define CONST_VTBL const
+#define DECLARE_INTERFACE(iface)    typedef interface iface { \
+                                    const struct iface##Vtbl FAR* lpVtbl; \
+                                } iface; \
+                                typedef const struct iface##Vtbl iface##Vtbl; \
+                                const struct iface##Vtbl
+#else
+#undef CONST_VTBL
+#define CONST_VTBL
+#define DECLARE_INTERFACE(iface)    typedef interface iface { \
+                                    struct iface##Vtbl FAR* lpVtbl; \
+                                } iface; \
+                                typedef struct iface##Vtbl iface##Vtbl; \
+                                struct iface##Vtbl
+#endif
+#define DECLARE_INTERFACE_(iface, baseiface)    DECLARE_INTERFACE(iface)
+
+#endif
+/* end MsDev's style, all of that must eventually go! */
+#endif /* __LIBMFC__ */
+
+
+#ifdef __cplusplus   
+};    /* extern "C" { */
+#endif 
 
 #endif /* __WINE_OBJBASE_H */