Some non-threatening fixes to some headers, as well as some casting
changes that make winelib more win32 code compatible.

diff --git a/dlls/commdlg/colordlg.c b/dlls/commdlg/colordlg.c
index a58b2b1..f050d47 100644
--- a/dlls/commdlg/colordlg.c
+++ b/dlls/commdlg/colordlg.c
@@ -873,7 +873,7 @@
    for (i=0x2bf;i<0x2c5;i++)
      SendMessage16(GetDlgItem(hDlg,i),EM_LIMITTEXT16,3,0);      /* max 3 digits:  xyz  */
    if (CC_HookCallChk(lpp->lpcc))
-      res=CallWindowProc16(lpp->lpcc->lpfnHook,hDlg,WM_INITDIALOG,wParam,lParam);
+      res=CallWindowProc16((WNDPROC16)lpp->lpcc->lpfnHook,hDlg,WM_INITDIALOG,wParam,lParam);
 
    
    /* Set the initial values of the color chooser dialog */
@@ -1006,7 +1006,7 @@
 	       if (lpp->lpcc->hwndOwner)
 		   SendMessage16(lpp->lpcc->hwndOwner,i,0,(LPARAM)lpp->lpcc);
 	       if (CC_HookCallChk(lpp->lpcc))
-		   CallWindowProc16(lpp->lpcc->lpfnHook,hDlg,
+		   CallWindowProc16((WNDPROC16)lpp->lpcc->lpfnHook,hDlg,
 		      WM_COMMAND,psh15,(LPARAM)lpp->lpcc);
 	       break;
 
@@ -1121,7 +1121,7 @@
      return FALSE;
   res=0;
   if (CC_HookCallChk(lpp->lpcc))
-     res=CallWindowProc16(lpp->lpcc->lpfnHook,hDlg,message,wParam,lParam);
+     res=CallWindowProc16((WNDPROC16)lpp->lpcc->lpfnHook,hDlg,message,wParam,lParam);
   if (res)
      return res;
  }
@@ -1186,7 +1186,7 @@
   lpcc16->lpCustColors=(COLORREF*)SEGPTR_GET(ccref);
   lpcc16->Flags=lpChCol->Flags;
   lpcc16->lCustData=lpChCol->lCustData;
-  lpcc16->lpfnHook=(WNDPROC16)lpChCol->lpfnHook;
+  lpcc16->lpfnHook=(LPCCHOOKPROC16)lpChCol->lpfnHook;
   if (lpChCol->lpTemplateName)
     str = SEGPTR_STRDUP(lpChCol->lpTemplateName );
   lpcc16->lpTemplateName=SEGPTR_GET(str);
@@ -1224,7 +1224,7 @@
   lpcc16->lpCustColors=(COLORREF*)SEGPTR_GET(ccref);
   lpcc16->Flags=lpChCol->Flags;
   lpcc16->lCustData=lpChCol->lCustData;
-  lpcc16->lpfnHook=(WNDPROC16)lpChCol->lpfnHook;
+  lpcc16->lpfnHook=(LPCCHOOKPROC16)lpChCol->lpfnHook;
   if (lpChCol->lpTemplateName)
     str = SEGPTR_STRDUP_WtoA(lpChCol->lpTemplateName );
   lpcc16->lpTemplateName=SEGPTR_GET(str);
diff --git a/dlls/commdlg/filedlg.c b/dlls/commdlg/filedlg.c
index a58a6f5..9a67484 100644
--- a/dlls/commdlg/filedlg.c
+++ b/dlls/commdlg/filedlg.c
@@ -634,7 +634,7 @@
 	if (!(lpofn->Flags & OFN_WINE))
                 /* Call to 16-Bit Hooking function... No Problem at all. */
 		return (BOOL)CallWindowProc16(
-			lpofn->lpfnHook,hwnd,(UINT16)wMsg,(WPARAM16)wParam,lParam
+			(WNDPROC16)lpofn->lpfnHook,hwnd,(UINT16)wMsg,(WPARAM16)wParam,lParam
 		);
 	/* |OFN_WINE32 */
         if (needstruct)
@@ -665,7 +665,7 @@
         {
                 HWINDOWPROC     hWindowProc=NULL;
 
-                if (WINPROC_SetProc(&hWindowProc, lpofn->lpfnHook, ProcType, WIN_PROC_WINDOW))
+                if (WINPROC_SetProc(&hWindowProc, (WNDPROC16)lpofn->lpfnHook, ProcType, WIN_PROC_WINDOW))
                 {
                     /* Call Window Procedure converting 16-Bit Type Parameters to 32-Bit Type Parameters */
                     result = CallWindowProc16( (WNDPROC16)hWindowProc,
@@ -1127,7 +1127,7 @@
 	if (ofn->lpstrDefExt)
 	    ofn16->lpstrDefExt = SEGPTR_GET(SEGPTR_STRDUP(ofn->lpstrDefExt));
 	ofn16->lCustData = ofn->lCustData;
-	ofn16->lpfnHook = (WNDPROC16)ofn->lpfnHook;
+	ofn16->lpfnHook = (LPOFNHOOKPROC16)ofn->lpfnHook;
 
 	if (ofn->lpTemplateName)
 	    ofn16->lpTemplateName = SEGPTR_GET(SEGPTR_STRDUP(ofn->lpTemplateName));
@@ -1236,7 +1236,7 @@
 	if (ofn->lpstrDefExt)
 		ofn16->lpstrDefExt = SEGPTR_GET(SEGPTR_STRDUP_WtoA(ofn->lpstrDefExt));
 	ofn16->lCustData = ofn->lCustData;
-	ofn16->lpfnHook = (WNDPROC16)ofn->lpfnHook;
+	ofn16->lpfnHook = (LPOFNHOOKPROC16)ofn->lpfnHook;
 	if (ofn->lpTemplateName) 
 		ofn16->lpTemplateName = SEGPTR_GET(SEGPTR_STRDUP_WtoA(ofn->lpTemplateName));
 	ret = dofunction(SEGPTR_GET(ofn16));
diff --git a/dlls/commdlg/fontdlg.c b/dlls/commdlg/fontdlg.c
index 2b46548..5107219 100644
--- a/dlls/commdlg/fontdlg.c
+++ b/dlls/commdlg/fontdlg.c
@@ -874,7 +874,7 @@
    if (!lpcf)
       return FALSE;
    if (CFn_HookCallChk(lpcf))
-     res=CallWindowProc16(lpcf->lpfnHook,hDlg,message,wParam,lParam);
+     res=CallWindowProc16((WNDPROC16)lpcf->lpfnHook,hDlg,message,wParam,lParam);
    if (res)
     return res;
   }
@@ -888,7 +888,7 @@
       return FALSE;
     }  
     if (CFn_HookCallChk(lpcf))
-      return CallWindowProc16(lpcf->lpfnHook,hDlg,WM_INITDIALOG,wParam,lParam);
+      return CallWindowProc16((WNDPROC16)lpcf->lpfnHook,hDlg,WM_INITDIALOG,wParam,lParam);
   }
   WINPROC_MapMsg16To32A(message, wParam, &uMsg32, &wParam32, &lParam);
   lpcf32a=(LPCHOOSEFONTA)lpcf->lpTemplateName;
@@ -933,7 +933,7 @@
    if (!lpcf)
      return FALSE;
    if (CFn_HookCallChk32(lpcf))
-     res=CallWindowProcA(lpcf->lpfnHook, hDlg, uMsg, wParam, lParam);
+     res=CallWindowProcA((WNDPROC)lpcf->lpfnHook, hDlg, uMsg, wParam, lParam);
    if (res)
      return res;
   }
@@ -946,7 +946,7 @@
       return FALSE;
     }  
     if (CFn_HookCallChk32(lpcf))
-      return CallWindowProcA(lpcf->lpfnHook,hDlg,WM_INITDIALOG,wParam,lParam);
+      return CallWindowProcA((WNDPROC)lpcf->lpfnHook,hDlg,WM_INITDIALOG,wParam,lParam);
   }
   switch (uMsg)
     {
@@ -984,7 +984,7 @@
    if (!lpcf32w)
      return FALSE;
    if (CFn_HookCallChk32((LPCHOOSEFONTA)lpcf32w))
-     res=CallWindowProcW(lpcf32w->lpfnHook, hDlg, uMsg, wParam, lParam);
+     res=CallWindowProcW((WNDPROC)lpcf32w->lpfnHook, hDlg, uMsg, wParam, lParam);
    if (res)
      return res;
   }
@@ -998,7 +998,7 @@
       return FALSE;
     }  
     if (CFn_HookCallChk32((LPCHOOSEFONTA)lpcf32w))
-      return CallWindowProcW(lpcf32w->lpfnHook,hDlg,WM_INITDIALOG,wParam,lParam);
+      return CallWindowProcW((WNDPROC)lpcf32w->lpfnHook,hDlg,WM_INITDIALOG,wParam,lParam);
   }
   lpcf32a=(LPCHOOSEFONTA)lpcf32w->lpTemplateName;
   switch (uMsg)
diff --git a/include/commdlg.h b/include/commdlg.h
index 7d26b49..e20add7 100644
--- a/include/commdlg.h
+++ b/include/commdlg.h
@@ -44,6 +44,9 @@
 #define OFN_SHARENOWARN          1
 #define OFN_SHAREWARN            0
 
+typedef UINT16 (*LPOFNHOOKPROC16)(HWND16,UINT16,WPARAM16,LPARAM);
+typedef UINT (*LPOFNHOOKPROC)(HWND,UINT,WPARAM,LPARAM);
+
 typedef struct {
 	DWORD		lStructSize;
 	HWND16		hwndOwner;
@@ -63,7 +66,7 @@
 	UINT16		nFileExtension;
 	SEGPTR		lpstrDefExt;
 	LPARAM 		lCustData;
-        WNDPROC16       lpfnHook;
+	LPOFNHOOKPROC16 lpfnHook;
 	SEGPTR 		lpTemplateName;
 }   OPENFILENAME16,*LPOPENFILENAME16;
 
@@ -86,7 +89,7 @@
 	WORD		nFileExtension;
 	LPCSTR		lpstrDefExt;
 	LPARAM		lCustData;
-	WNDPROC	lpfnHook;
+	LPOFNHOOKPROC	lpfnHook;
 	LPCSTR		lpTemplateName;
 } OPENFILENAMEA,*LPOPENFILENAMEA;
 
@@ -109,7 +112,7 @@
 	WORD		nFileExtension;
 	LPCWSTR		lpstrDefExt;
 	LPARAM		lCustData;
-	WNDPROC	lpfnHook;
+	LPOFNHOOKPROC	lpfnHook;
 	LPCWSTR		lpTemplateName;
 } OPENFILENAMEW,*LPOPENFILENAMEW;
 
@@ -133,6 +136,7 @@
 DECL_WINELIB_TYPE_AW(OFNOTIFY)
 DECL_WINELIB_TYPE_AW(LPOFNOTIFY)
  
+typedef UINT16 (CALLBACK *LPCCHOOKPROC16) (HWND16, UINT16, WPARAM16, LPARAM);
 typedef UINT (CALLBACK *LPCCHOOKPROC) (HWND, UINT, WPARAM, LPARAM);
 
 typedef struct {
@@ -143,7 +147,7 @@
 	COLORREF       *lpCustColors;
 	DWORD 		Flags;
 	LPARAM		lCustData;
-        WNDPROC16       lpfnHook;
+        LPCCHOOKPROC16  lpfnHook;
 	SEGPTR 		lpTemplateName;
 } CHOOSECOLOR16;
 typedef CHOOSECOLOR16 *LPCHOOSECOLOR16;
@@ -186,6 +190,9 @@
 #define CC_ENABLETEMPLATE        0x00000020
 #define CC_ENABLETEMPLATEHANDLE  0x00000040
 
+typedef UINT16 (*LPFRHOOKPROC16)(HWND16,UINT16,WPARAM16,LPARAM);
+typedef UINT (*LPFRHOOKPROC)(HWND,UINT,WPARAM,LPARAM);
+
 typedef struct {
 	DWORD		lStructSize; 			/* size of this struct 0x20 */
 	HWND16		hwndOwner; 				/* handle to owner's window */
@@ -197,7 +204,7 @@
 	UINT16		wFindWhatLen;           /* size of find buffer      */
 	UINT16 		wReplaceWithLen;        /* size of replace buffer   */
 	LPARAM 		lCustData;              /* data passed to hook fn.  */
-        WNDPROC16       lpfnHook;
+        LPFRHOOKPROC16  lpfnHook;
 	SEGPTR 		lpTemplateName;         /* custom template name     */
 	} FINDREPLACE16, *LPFINDREPLACE16;
 
@@ -212,7 +219,7 @@
 	WORD		wFindWhatLen;
 	WORD 		wReplaceWithLen;
 	LPARAM 		lCustData;
-        WNDPROC       lpfnHook;
+        LPFRHOOKPROC    lpfnHook;
 	LPCSTR 		lpTemplateName;
 	} FINDREPLACEA, *LPFINDREPLACEA;
 
@@ -227,7 +234,7 @@
 	WORD		wFindWhatLen;
 	WORD 		wReplaceWithLen;
 	LPARAM 		lCustData;
-        WNDPROC       lpfnHook;
+        LPFRHOOKPROC    lpfnHook;
 	LPCWSTR		lpTemplateName;
 	} FINDREPLACEW, *LPFINDREPLACEW;
 	
@@ -252,6 +259,9 @@
 #define FR_HIDEMATCHCASE                0x00008000
 #define FR_HIDEWHOLEWORD                0x00010000
 
+typedef UINT16 (*LPCFHOOKPROC16)(HWND16,UINT16,WPARAM16,LPARAM);
+typedef UINT (*LPCFHOOKPROC)(HWND,UINT,WPARAM,LPARAM);
+
 typedef struct 
 {
 	DWORD			lStructSize;
@@ -262,7 +272,7 @@
 	DWORD			Flags;  /* enum. type flags         */
 	COLORREF		rgbColors;          /* returned text color      */
 	LPARAM	                lCustData;          /* data passed to hook fn.  */
-        WNDPROC16               lpfnHook;
+	LPCFHOOKPROC16          lpfnHook;
 	SEGPTR			lpTemplateName;     /* custom template name     */
 	HINSTANCE16		hInstance;          /* instance handle of.EXE that   */
 							/* contains cust. dlg. template  */
@@ -287,7 +297,7 @@
 	DWORD		Flags; 
 	COLORREF	rgbColors; 
 	LPARAM		lCustData; 
-	WNDPROC 	lpfnHook; 
+	LPCFHOOKPROC 	lpfnHook; 
 	LPCSTR		lpTemplateName; 
 	HINSTANCE	hInstance; 
 	LPSTR		lpszStyle; 
@@ -307,7 +317,7 @@
 	DWORD		Flags; 
 	COLORREF	rgbColors; 
 	LPARAM		lCustData; 
-	WNDPROC 	lpfnHook; 
+	LPCFHOOKPROC 	lpfnHook; 
 	LPCWSTR		lpTemplateName; 
 	HINSTANCE	hInstance; 
 	LPWSTR		lpszStyle; 
@@ -395,6 +405,12 @@
 #define CDM_HIDECONTROL         (CDM_FIRST + 0x0005)
 #define CDM_SETDEFEXT           (CDM_FIRST + 0x0006)
 
+typedef UINT16 (CALLBACK *LPPRINTHOOKPROC16) (HWND16, UINT16, WPARAM16, LPARAM);
+typedef UINT (CALLBACK *LPPRINTHOOKPROC) (HWND, UINT, WPARAM, LPARAM);
+
+typedef UINT16 (CALLBACK *LPSETUPHOOKPROC16) (HWND16, UINT16, WPARAM16, LPARAM);
+typedef UINT (CALLBACK *LPSETUPHOOKPROC) (HWND, UINT, WPARAM, LPARAM);
+
 typedef struct
 {
     DWORD            lStructSize;
@@ -410,17 +426,14 @@
     WORD             nCopies;
     HINSTANCE16      hInstance;
     LPARAM           lCustData;
-    WNDPROC16        lpfnPrintHook;
-    WNDPROC16        lpfnSetupHook;
+    LPPRINTHOOKPROC16 lpfnPrintHook;
+    LPSETUPHOOKPROC16 lpfnSetupHook;
     SEGPTR           lpPrintTemplateName;
     SEGPTR           lpSetupTemplateName;
     HGLOBAL16        hPrintTemplate;
     HGLOBAL16        hSetupTemplate;
 } PRINTDLG16, *LPPRINTDLG16;
 
-typedef UINT (CALLBACK *LPPRINTHOOKPROC) (HWND, UINT, WPARAM, LPARAM);
-typedef UINT (CALLBACK *LPSETUPHOOKPROC) (HWND, UINT, WPARAM, LPARAM);
-
 typedef struct tagPDA
 {
     DWORD            lStructSize;
@@ -493,17 +506,6 @@
 #define PD_DISABLEPRINTTOFILE        0x00080000
 #define PD_HIDEPRINTTOFILE           0x00100000
 
-typedef enum __MIDL_IPrint_0001
-{
-	PRINTFLAG_MAYBOTHERUSER = 1,
-	PRINTFLAG_PROMPTUSER    = 2,
-	PRINTFLAG_USERMAYCHANGEPRINTER  = 4,
-	PRINTFLAG_RECOMPOSETODEVICE     = 8,
-	PRINTFLAG_DONTACTUALLYPRINT     = 16,
-	PRINTFLAG_FORCEPROPERTIES       = 32,
-	PRINTFLAG_PRINTTOFILE   = 64
-} PRINTFLAG;
- 
 typedef struct {
 	UINT16 	wDriverOffset;
 	UINT16 	wDeviceOffset;
diff --git a/include/initguid.h b/include/initguid.h
index e092668..ca326da 100644
--- a/include/initguid.h
+++ b/include/initguid.h
@@ -20,4 +20,6 @@
         const GUID name = \
 	{ l, w1, w2, { b1, b2,  b3,  b4,  b5,  b6,  b7,  b8 } }
 
+DEFINE_GUID(GUID_NULL,   0,0,0,0,0,0,0,0,0,0,0);
+
 #endif 
diff --git a/include/objbase.h b/include/objbase.h
index 1f63640..628e87b 100644
--- a/include/objbase.h
+++ b/include/objbase.h
@@ -1,6 +1,7 @@
 #ifndef __WINE_OBJBASE_H
 #define __WINE_OBJBASE_H
 
+#define _OBJBASE_H_
 
 #include "wine/obj_base.h"
 
@@ -38,6 +39,9 @@
 #define STDAPICALLTYPE          __stdcall
 #define STDAPIVCALLTYPE         __cdecl
 
+#define FARSTRUCT
+#define HUGEP
+
 #define STDAPI                  EXTERN_C HRESULT STDAPICALLTYPE
 #define STDAPI_(type)           EXTERN_C type STDAPICALLTYPE
 
diff --git a/include/ole2.h b/include/ole2.h
index 3047412..14629b7 100644
--- a/include/ole2.h
+++ b/include/ole2.h
@@ -36,7 +36,7 @@
 
 HRESULT WINAPI ReadClassStg(IStorage *pstg,CLSID *pclsid);
 HRESULT WINAPI WriteClassStm(IStream *pStm,REFCLSID rclsid);
-HRESULT WINAPI ReadClassStm(IStream *pStm,REFCLSID pclsid);
+HRESULT WINAPI ReadClassStm(IStream *pStm,CLSID *pclsid);
 
 
 HRESULT     WINAPI OleSave(LPPERSISTSTORAGE pPS, LPSTORAGE pStg, BOOL fSameAsLoad);
diff --git a/include/windef.h b/include/windef.h
index b6057c6..4950e5f 100644
--- a/include/windef.h
+++ b/include/windef.h
@@ -149,7 +149,6 @@
 typedef DWORD           ACCESS_MASK;
 typedef ACCESS_MASK     REGSAM;
 typedef HANDLE          HHOOK;
-typedef HANDLE          HKEY;
 typedef HANDLE          HMONITOR;
 typedef DWORD           LCID;
 typedef WORD            LANGID;
@@ -188,8 +187,6 @@
 typedef INT            *LPINT;
 typedef UINT           *PUINT;
 typedef UINT           *LPUINT;
-typedef HKEY           *LPHKEY;
-typedef HKEY           *PHKEY;
 typedef FLOAT          *PFLOAT;
 typedef FLOAT          *LPFLOAT;
 typedef BOOL           *PBOOL;
@@ -245,6 +242,7 @@
 DECLARE_HANDLE(HFONT);
 DECLARE_HANDLE(HICON);
 DECLARE_HANDLE(HINSTANCE);
+DECLARE_HANDLE(HKEY);
 DECLARE_HANDLE(HMENU);
 DECLARE_HANDLE(HMETAFILE);
 DECLARE_HANDLE(HMIDI);
diff --git a/include/wine/obj_dataobject.h b/include/wine/obj_dataobject.h
index 15d9a4e..8e6432c 100644
--- a/include/wine/obj_dataobject.h
+++ b/include/wine/obj_dataobject.h
@@ -96,6 +96,16 @@
 	TYMED_NULL      = 0
 } TYMED;
   
+typedef struct tagRemSTGMEDIUM
+{
+	DWORD tymed;
+	DWORD dwHandleType;
+	unsigned long pData;
+	unsigned long pUnkForRelease;
+	unsigned long cbData;
+	byte data[1];
+} RemSTGMEDIUM;
+
 /* dataobject as answer to a request */
 struct STGMEDIUM
 {
diff --git a/include/wine/obj_inplace.h b/include/wine/obj_inplace.h
index 0716cd8..bd90d9c 100644
--- a/include/wine/obj_inplace.h
+++ b/include/wine/obj_inplace.h
@@ -93,6 +93,15 @@
 	BINDSPEED_IMMEDIATE = 3
 } BINDSPEED;
 
+typedef enum tagOLECONTF
+{
+	OLECONTF_EMBEDDINGS = 1,
+	OLECONTF_LINKS = 2,
+	OLECONTF_OTHERS = 4,
+	OLECONTF_OLNYUSER = 8,
+	OLECONTF_ONLYIFRUNNING = 16
+} OLECONTF;
+ 
 typedef HGLOBAL HOLEMENU;
 typedef LPRECT LPBORDERWIDTHS;
 typedef LPCRECT LPCBORDERWIDTHS;
diff --git a/include/wine/obj_moniker.h b/include/wine/obj_moniker.h
index 9f354b2..f3fd58d 100644
--- a/include/wine/obj_moniker.h
+++ b/include/wine/obj_moniker.h
@@ -340,8 +340,8 @@
 #define IRunningObjectTable_EnumRunning(p,a)           ICOM_CALL1(EnumRunning,p,a)
 #endif
 
-HRESULT WINAPI GetRunningObjectTable(DWORD reserved, LPVOID *pprot);
-HRESULT WINAPI GetRunningObjectTable16(DWORD reserved, LPVOID *pprot);
+HRESULT WINAPI GetRunningObjectTable(DWORD reserved, LPRUNNINGOBJECTTABLE *pprot);
+HRESULT WINAPI GetRunningObjectTable16(DWORD reserved, LPRUNNINGOBJECTTABLE *pprot);
 
 /*****************************************************************************
  * Additional API
diff --git a/include/wine/obj_oleaut.h b/include/wine/obj_oleaut.h
index 5a6a6ef..9b32c39 100644
--- a/include/wine/obj_oleaut.h
+++ b/include/wine/obj_oleaut.h
@@ -201,6 +201,11 @@
 
 #define MEMBERID_NIL DISPID_UNKNOWN
 
+#define IMPLTYPEFLAG_FDEFAULT         (0x1)
+#define IMPLTYPEFLAG_FSOURCE          (0x2)
+#define IMPLTYPEFLAG_FRESTRICTED      (0x4)
+#define IMPLTYPEFLAG_FDEFAULTVTABLE   (0x8)
+
 typedef struct  tagDISPPARAMS
 {
   VARIANTARG* rgvarg;
@@ -560,8 +565,7 @@
 	ICOM_METHOD2(HRESULT,GetFuncDesc, UINT,index, FUNCDESC**,ppFuncDesc) \
 	ICOM_METHOD2(HRESULT,GetVarDesc, UINT,index, VARDESC**,ppVarDesc) \
 	ICOM_METHOD4(HRESULT,GetNames, MEMBERID,memid, BSTR*,rgBstrNames, UINT,cMaxNames, UINT*,pcNames) \
-	ICOM_METHOD2(HRESULT,GetRefTypeOfImplType, UINT,index, HREFTYPE*,\
-		pRefType) \
+	ICOM_METHOD2(HRESULT,GetRefTypeOfImplType, UINT,index, HREFTYPE*, pRefType) \
 	ICOM_METHOD2(HRESULT,GetImplTypeFlags, UINT,index, INT*,pImplTypeFlags)\
 	ICOM_METHOD3(HRESULT,GetIDsOfNames, LPOLESTR*,rgszNames, UINT,cNames, MEMBERID*,pMemId) \
 	ICOM_METHOD7(HRESULT,Invoke, PVOID,pvInstance, MEMBERID,memid, WORD,wFlags, DISPPARAMS*,pDispParams, VARIANT*,pVarResult, EXCEPINFO*,pExcepInfo, UINT*,puArgErr) \
diff --git a/include/wine/obj_oleobj.h b/include/wine/obj_oleobj.h
index c7ab5b3..0ef0f99 100644
--- a/include/wine/obj_oleobj.h
+++ b/include/wine/obj_oleobj.h
@@ -39,7 +39,7 @@
 	OLEMISC_INSIDEOUT = 0x80,
 	OLEMISC_ACTIVATEWHENVISIBLE = 0x100,
 	OLEMISC_RENDERINGISDEVICEINDEPENDENT = 0x200,
-	OLEMISC_INVISABLEATRUNTIME = 0x400,
+	OLEMISC_INVISIBLEATRUNTIME = 0x400,
 	OLEMISC_ALWAYSRUN = 0x800,
 	OLEMISC_ACTSLIKEBUTTON = 0x1000,
 	OLEMISC_ACTSLIKELABEL = 0x2000,
diff --git a/include/winerror.h b/include/winerror.h
index 540cf58..d232779 100644
--- a/include/winerror.h
+++ b/include/winerror.h
@@ -332,6 +332,11 @@
 #define CO_E_ERRORINDLL                 0x800401F9
 #define CO_E_OBJISREG                   0x800401FB
 
+#define OLE_E_FIRST 0x80040000L
+#define OLE_E_LAST  0x800400FFL
+#define OLE_S_FIRST 0x00040000L
+#define OLE_S_LAST  0x000400FFL
+
 #define	OLE_E_ENUM_NOMORE		      0x80040002
 #define	OLE_E_ADVISENOTSUPPORTED  0x80040003
 #define	OLE_E_NOCONNECTION        0x80040004
@@ -451,6 +456,7 @@
 
 
 #define OLEOBJ_E_NOVERBS                0x00040180L
+#define OLEOBJ_E_INVALIDVERB            0x00040181L
 #define OLEOBJ_S_INVALIDVERB            0x00040180L
 
 #endif  /* __WINE_WINERROR_H */
diff --git a/include/wingdi.h b/include/wingdi.h
index 66af681..38414e9 100644
--- a/include/wingdi.h
+++ b/include/wingdi.h
@@ -1343,7 +1343,7 @@
     WORD           palVersion;
     WORD           palNumEntries;
     PALETTEENTRY   palPalEntry[1];
-} LOGPALETTE, *PLOGPALETTE, *LPLOGPALETTE;
+} LOGPALETTE, *PLOGPALETTE, *LPLOGPALETTE, *NPLOGPALETTE;
 
   /* Pens */
 
diff --git a/include/winuser.h b/include/winuser.h
index c6bbdff..2fd7be8 100644
--- a/include/winuser.h
+++ b/include/winuser.h
@@ -1026,6 +1026,7 @@
 #define CS_BYTEALIGNCLIENT  0x1000
 #define CS_BYTEALIGNWINDOW  0x2000
 #define CS_GLOBALCLASS      0x4000
+#define CS_IME              0x00010000
 
 #define PRF_CHECKVISIBLE    0x00000001L
 #define PRF_NONCLIENT       0x00000002L
diff --git a/include/wtypes.h b/include/wtypes.h
index b3ce390..1ffa115 100644
--- a/include/wtypes.h
+++ b/include/wtypes.h
@@ -64,7 +64,9 @@
 #endif /* !defined(__cplusplus) */
 
 extern const IID GUID_NULL;
+#define IID_NULL            GUID_NULL
 #define CLSID_NULL GUID_NULL
+#define FMTID_NULL          GUID_NULL
    
 typedef enum tagDVASPECT
 { 
@@ -132,11 +134,16 @@
 
 typedef ULONG PROPID;
 
+#ifndef _tagBLOB_DEFINED
+#define _tagBLOB_DEFINED
+#define _BLOB_DEFINED
+#define _LPBLOB_DEFINED
 typedef struct tagBLOB
 {
     ULONG cbSize;
     BYTE *pBlobData;
-} BLOB;
+} BLOB, *LPBLOB;
+#endif
 
 #ifndef _tagCY_DEFINED
 #define _tagCY_DEFINED
diff --git a/ole/bindctx.c b/ole/bindctx.c
index b84c00a..bb16312 100644
--- a/ole/bindctx.c
+++ b/ole/bindctx.c
@@ -338,7 +338,7 @@
     if (pprot==NULL)
         return E_POINTER;
     
-    res=GetRunningObjectTable(0,(LPVOID*)pprot);
+    res=GetRunningObjectTable(0, pprot);
 
     return res;
 }
diff --git a/ole/moniker.c b/ole/moniker.c
index 6f27879..206b465 100644
--- a/ole/moniker.c
+++ b/ole/moniker.c
@@ -447,7 +447,7 @@
 /******************************************************************************
  *		GetRunningObjectTable16	[OLE2.30]
  */
-HRESULT WINAPI GetRunningObjectTable16(DWORD reserved, LPVOID *pprot)
+HRESULT WINAPI GetRunningObjectTable16(DWORD reserved, LPRUNNINGOBJECTTABLE *pprot)
 {
 	FIXME(ole,"(%ld,%p),stub!\n",reserved,pprot);
     return E_NOTIMPL;
@@ -456,7 +456,7 @@
 /***********************************************************************
  *           GetRunningObjectTable (OLE2.73)
  */
-HRESULT WINAPI GetRunningObjectTable(DWORD reserved, LPVOID *pprot)
+HRESULT WINAPI GetRunningObjectTable(DWORD reserved, LPRUNNINGOBJECTTABLE *pprot)
 {
     IID riid=IID_IRunningObjectTable;
     HRESULT res;