diff --git a/winsup/w32api/ChangeLog b/winsup/w32api/ChangeLog
index e7a5235cc..176d36abb 100644
--- a/winsup/w32api/ChangeLog
+++ b/winsup/w32api/ChangeLog
@@ -1,3 +1,10 @@
+2003-03-04  Heiko Gerdau  <hg@technosis.de>
+
+	* oleidl.h (IOleObject): Correct GetUserType prototype.
+	(IViewObject2): Correct GetExtent prototype.
+	* olectl.h (DISPIP_): Add new defines
+	* ocidl.h (IOleInPlaceSiteWindowless): Add new interface.
+
 2003-03-01  Danny Smith  <dannysmith@users.sourceforge.net>
 
 	* include/olectl.h (OleLoadPictureEx) Add prototype.
diff --git a/winsup/w32api/include/ocidl.h b/winsup/w32api/include/ocidl.h
index 79938b346..fa3906b47 100644
--- a/winsup/w32api/include/ocidl.h
+++ b/winsup/w32api/include/ocidl.h
@@ -53,6 +53,45 @@ DECLARE_INTERFACE_(IObjectWithSite,IUnknown)
 	STDMETHOD(GetSite)(THIS_ REFIID, void**) PURE;
 };
 
+EXTERN_C const IID IID_IOleInPlaceSiteWindowless;
+#undef INTERFACE
+#define INTERFACE IOleInPlaceSiteWindowless
+DECLARE_INTERFACE_(IOleInPlaceSiteWindowless,IOleInPlaceSiteEx)
+{
+	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
+	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
+	STDMETHOD_(ULONG,Release)(THIS) PURE;
+	STDMETHOD(GetWindow)(THIS_ HWND*) PURE;
+	STDMETHOD(ContextSensitiveHelp)(THIS_ BOOL) PURE;
+	STDMETHOD(CanInPlaceActivate)(THIS) PURE;
+	STDMETHOD(OnInPlaceActivate)(THIS) PURE;
+	STDMETHOD(OnUIActivate)(THIS) PURE;
+	STDMETHOD(GetWindowContext)(THIS_ IOleInPlaceFrame**,IOleInPlaceUIWindow**,LPRECT,LPRECT,LPOLEINPLACEFRAMEINFO) PURE;
+	STDMETHOD(Scroll)(THIS_ SIZE) PURE;
+	STDMETHOD(OnUIDeactivate)(THIS_ BOOL) PURE;
+	STDMETHOD(OnInPlaceDeactivate)(THIS) PURE;
+	STDMETHOD(DiscardUndoState)(THIS) PURE;
+	STDMETHOD(DeactivateAndUndo)(THIS) PURE;
+	STDMETHOD(OnPosRectChange)(THIS_ LPCRECT) PURE;
+
+	STDMETHOD(OnInPlaceActivateEx)(THIS_ BOOL*,DWORD) PURE;
+	STDMETHOD(OnInPlaceDeactivateEx)(THIS_ BOOL) PURE;
+	STDMETHOD(RequestUIActivate)(THIS) PURE;
+
+	STDMETHOD(CanWindowlessActivate)(THIS) PURE;
+	STDMETHOD(GetCapture)(THIS) PURE;
+	STDMETHOD(SetCapture)(THIS_ BOOL) PURE;
+	STDMETHOD(GetFocus)(THIS) PURE;
+	STDMETHOD(SetFocus)(THIS_ BOOL) PURE;
+	STDMETHOD(GetDC)(THIS_ LPCRECT,DWORD,HDC*) PURE;
+	STDMETHOD(ReleaseDC)(THIS_ HDC) PURE;
+	STDMETHOD(InvalidateRect)(THIS_ LPCRECT,BOOL) PURE;
+	STDMETHOD(InvalidateRgn)(THIS_ HRGN,BOOL) PURE;
+	STDMETHOD(ScrollRect)(THIS_ INT,INT,LPCRECT,LPCRECT) PURE;
+	STDMETHOD(AdjustRect)(THIS_ LPCRECT) PURE;
+	STDMETHOD(OnDefWindowMessage)(THIS_ UINT,WPARAM,LPARAM,LRESULT*) PURE;
+};
+
 #ifdef __cplusplus
 }
 #endif
diff --git a/winsup/w32api/include/olectl.h b/winsup/w32api/include/olectl.h
index 7afb70441..ff19ddbac 100644
--- a/winsup/w32api/include/olectl.h
+++ b/winsup/w32api/include/olectl.h
@@ -171,6 +171,10 @@ extern "C" {
 #define DISPID_CAPTION (-518)
 #define DISPID_BORDERVISIBLE (-519)
 #define DISPID_APPEARANCE	(-520)
+#define DISPID_MOUSEPOINTER	(-521)
+#define DISPID_MOUSEICON	(-522)
+#define DISPID_PICTURE	(-523)
+#define DISPID_VALID	(-524)
 #define DISPID_REFRESH (-550)
 #define DISPID_DOCLICK (-551)
 #define DISPID_ABOUTBOX (-552)
@@ -199,6 +203,12 @@ extern "C" {
 #define DISPID_AMBIENT_SUPPORTSMNEMONICS (-714)
 #define DISPID_AMBIENT_AUTOCLIP (-715)
 #define DISPID_AMBIENT_APPEARANCE	(-716)
+#define DISPID_AMBIENT_CODEPAGE	(-725)
+#define DISPID_AMBIENT_PALETTE	(-726)
+#define DISPID_AMBIENT_CHARSET	(-727)
+#define DISPID_AMBIENT_RIGHTTOLEFT	(-732)
+#define DISPID_AMBIENT_TOPTOBOTTOM	(-733)
+
 #define DISPID_FONT_NAME 0
 #define DISPID_FONT_SIZE 2
 #define DISPID_FONT_BOLD 3
diff --git a/winsup/w32api/include/oleidl.h b/winsup/w32api/include/oleidl.h
index 095cbebe3..4754a44f3 100644
--- a/winsup/w32api/include/oleidl.h
+++ b/winsup/w32api/include/oleidl.h
@@ -45,6 +45,7 @@ typedef enum tagUSERCLASSTYPE {
 	USERCLASSTYPE_SHORT,
 	USERCLASSTYPE_APPNAME
 } USERCLASSTYPE;
+
 #ifdef __GNUC__
 __extension__  /* IS0 C says enums limited to range of int */ 
 #endif
@@ -162,7 +163,7 @@ DECLARE_INTERFACE_(IOleObject,IUnknown)
 	STDMETHOD(Update)(THIS) PURE;
 	STDMETHOD(IsUpToDate)(THIS) PURE;
 	STDMETHOD(GetUserClassID)(THIS_ LPCLSID) PURE;
-	STDMETHOD(GetUserType)(THIS_ DWORD,LPOLESTR) PURE;
+	STDMETHOD(GetUserType)(THIS_ DWORD,LPOLESTR*) PURE;
 	STDMETHOD(SetExtent)(THIS_ DWORD,SIZEL*) PURE;
 	STDMETHOD(GetExtent)(THIS_ DWORD,SIZEL*) PURE;
 	STDMETHOD(Advise)(THIS_ LPADVISESINK,PDWORD) PURE;
@@ -350,7 +351,7 @@ DECLARE_INTERFACE_(IViewObject2,IUnknown)
 	STDMETHOD(Unfreeze)(THIS_ DWORD) PURE;
 	STDMETHOD(SetAdvise)(THIS_ DWORD,DWORD,IAdviseSink*) PURE;
 	STDMETHOD(GetAdvise)(THIS_ PDWORD,PDWORD,IAdviseSink**) PURE;
-	STDMETHOD(GetExtent)(THIS_ DWORD,DWORD,DVTARGETDEVICE*,LPSIZEL) PURE;
+	STDMETHOD(GetExtent)(THIS_ DWORD,LONG,DVTARGETDEVICE*,LPSIZEL) PURE;
 };