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

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