Implement stdole2.tlb.

diff --git a/configure b/configure
index 95f2587..8afc8a4 100755
--- a/configure
+++ b/configure
@@ -20203,7 +20203,7 @@
 MAKE_PROG_RULES=programs/Makeprog.rules
 
 
-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                ac_config_files="$ac_config_files Make.rules dlls/Makedll.rules dlls/Maketest.rules libs/Makelib.rules programs/Makeprog.rules Makefile dlls/Makefile dlls/activeds/Makefile dlls/advapi32/Makefile dlls/advapi32/tests/Makefile dlls/advpack/Makefile dlls/advpack/tests/Makefile dlls/amstream/Makefile dlls/atl/Makefile dlls/avicap32/Makefile dlls/avifil32/Makefile dlls/cabinet/Makefile dlls/capi2032/Makefile dlls/cards/Makefile dlls/cfgmgr32/Makefile dlls/comcat/Makefile dlls/comctl32/Makefile dlls/comctl32/tests/Makefile dlls/commdlg/Makefile dlls/crtdll/Makefile dlls/crypt32/Makefile dlls/crypt32/tests/Makefile dlls/cryptdll/Makefile dlls/ctl3d/Makefile dlls/d3d8/Makefile dlls/d3d9/Makefile dlls/d3dim/Makefile dlls/d3drm/Makefile dlls/d3dx8/Makefile dlls/d3dxof/Makefile dlls/dbghelp/Makefile dlls/dciman32/Makefile dlls/ddraw/Makefile dlls/ddraw/tests/Makefile dlls/devenum/Makefile dlls/dinput/Makefile dlls/dinput/tests/Makefile dlls/dinput8/Makefile dlls/dmband/Makefile dlls/dmcompos/Makefile dlls/dmime/Makefile dlls/dmloader/Makefile dlls/dmscript/Makefile dlls/dmstyle/Makefile dlls/dmsynth/Makefile dlls/dmusic/Makefile dlls/dmusic32/Makefile dlls/dplay/Makefile dlls/dplayx/Makefile dlls/dpnet/Makefile dlls/dpnhpast/Makefile dlls/dsound/Makefile dlls/dsound/tests/Makefile dlls/dswave/Makefile dlls/dxdiagn/Makefile dlls/dxerr8/Makefile dlls/dxerr9/Makefile dlls/dxguid/Makefile dlls/gdi/Makefile dlls/gdi/tests/Makefile dlls/glu32/Makefile dlls/glut32/Makefile dlls/hhctrl.ocx/Makefile dlls/iccvid/Makefile dlls/icmp/Makefile dlls/ifsmgr.vxd/Makefile dlls/imagehlp/Makefile dlls/imm32/Makefile dlls/iphlpapi/Makefile dlls/iphlpapi/tests/Makefile dlls/itss/Makefile dlls/kernel/Makefile dlls/kernel/tests/Makefile dlls/lzexpand/Makefile dlls/lzexpand/tests/Makefile dlls/mapi32/Makefile dlls/mapi32/tests/Makefile dlls/mlang/Makefile dlls/mlang/tests/Makefile dlls/mmdevldr.vxd/Makefile dlls/monodebg.vxd/Makefile dlls/mpr/Makefile dlls/msacm/Makefile dlls/msacm/imaadp32/Makefile dlls/msacm/msadp32/Makefile dlls/msacm/msg711/Makefile dlls/msacm/winemp3/Makefile dlls/msacm/tests/Makefile dlls/mscms/Makefile dlls/mscms/tests/Makefile dlls/msdmo/Makefile dlls/mshtml/Makefile dlls/mshtml/tests/Makefile dlls/msi/Makefile dlls/msi/tests/Makefile dlls/msimg32/Makefile dlls/msisys/Makefile dlls/msnet32/Makefile dlls/msrle32/Makefile dlls/msvcrt/Makefile dlls/msvcrt/tests/Makefile dlls/msvcrt20/Makefile dlls/msvcrt40/Makefile dlls/msvcrtd/Makefile dlls/msvcrtd/tests/Makefile dlls/msvidc32/Makefile dlls/msvideo/Makefile dlls/mswsock/Makefile dlls/netapi32/Makefile dlls/netapi32/tests/Makefile dlls/newdev/Makefile dlls/ntdll/Makefile dlls/ntdll/tests/Makefile dlls/odbc32/Makefile dlls/odbccp32/Makefile dlls/ole32/Makefile dlls/ole32/tests/Makefile dlls/oleacc/Makefile dlls/oleaut32/Makefile dlls/oleaut32/tests/Makefile dlls/olecli/Makefile dlls/oledlg/Makefile dlls/olepro32/Makefile dlls/olesvr/Makefile dlls/opengl32/Makefile dlls/powrprof/Makefile dlls/psapi/Makefile dlls/psapi/tests/Makefile dlls/qcap/Makefile dlls/quartz/Makefile dlls/quartz/tests/Makefile dlls/rasapi32/Makefile dlls/riched20/Makefile dlls/richedit/Makefile dlls/rpcrt4/Makefile dlls/rpcrt4/tests/Makefile dlls/rsabase/Makefile dlls/rsabase/tests/Makefile dlls/rsaenh/Makefile dlls/rsaenh/tests/Makefile dlls/secur32/Makefile dlls/sensapi/Makefile dlls/serialui/Makefile dlls/setupapi/Makefile dlls/shdocvw/Makefile dlls/shell32/Makefile dlls/shell32/tests/Makefile dlls/shfolder/Makefile dlls/shlwapi/Makefile dlls/shlwapi/tests/Makefile dlls/snmpapi/Makefile dlls/stdole32.tlb/Makefile dlls/sti/Makefile dlls/strmiids/Makefile dlls/tapi32/Makefile dlls/ttydrv/Makefile dlls/twain/Makefile dlls/unicows/Makefile dlls/url/Makefile dlls/urlmon/Makefile dlls/urlmon/tests/Makefile dlls/user/Makefile dlls/user/tests/Makefile dlls/uuid/Makefile dlls/uxtheme/Makefile dlls/vdhcp.vxd/Makefile dlls/vdmdbg/Makefile dlls/version/Makefile dlls/version/tests/Makefile dlls/vmm.vxd/Makefile dlls/vnbt.vxd/Makefile dlls/vnetbios.vxd/Makefile dlls/vtdapi.vxd/Makefile dlls/vwin32.vxd/Makefile dlls/win32s/Makefile dlls/winaspi/Makefile dlls/wined3d/Makefile dlls/winedos/Makefile dlls/wineps/Makefile dlls/wininet/Makefile dlls/wininet/tests/Makefile dlls/winmm/Makefile dlls/winmm/joystick/Makefile dlls/winmm/mcianim/Makefile dlls/winmm/mciavi/Makefile dlls/winmm/mcicda/Makefile dlls/winmm/mciseq/Makefile dlls/winmm/mciwave/Makefile dlls/winmm/midimap/Makefile dlls/winmm/tests/Makefile dlls/winmm/wavemap/Makefile dlls/winmm/winealsa/Makefile dlls/winmm/winearts/Makefile dlls/winmm/wineaudioio/Makefile dlls/winmm/winejack/Makefile dlls/winmm/winenas/Makefile dlls/winmm/wineoss/Makefile dlls/winnls/Makefile dlls/winsock/Makefile dlls/winsock/tests/Makefile dlls/winspool/Makefile dlls/winspool/tests/Makefile dlls/wintab32/Makefile dlls/wintrust/Makefile dlls/wldap32/Makefile dlls/wow32/Makefile dlls/wsock32/Makefile dlls/wtsapi32/Makefile dlls/x11drv/Makefile documentation/Makefile fonts/Makefile include/Makefile libs/Makefile libs/port/Makefile libs/unicode/Makefile libs/wine/Makefile libs/wpp/Makefile loader/Makefile programs/Makefile programs/avitools/Makefile programs/clock/Makefile programs/cmdlgtst/Makefile programs/control/Makefile programs/expand/Makefile programs/hh/Makefile programs/msiexec/Makefile programs/notepad/Makefile programs/progman/Makefile programs/regedit/Makefile programs/regsvr32/Makefile programs/rpcss/Makefile programs/rundll32/Makefile programs/start/Makefile programs/taskmgr/Makefile programs/uninstaller/Makefile programs/view/Makefile programs/wcmd/Makefile programs/wineboot/Makefile programs/winebrowser/Makefile programs/winecfg/Makefile programs/wineconsole/Makefile programs/winedbg/Makefile programs/winefile/Makefile programs/winemenubuilder/Makefile programs/winemine/Makefile programs/winepath/Makefile programs/winetest/Makefile programs/winevdm/Makefile programs/winhelp/Makefile programs/winver/Makefile server/Makefile tools/Makefile tools/widl/Makefile tools/winapi/Makefile tools/winebuild/Makefile tools/winedump/Makefile tools/winegcc/Makefile tools/wmc/Makefile tools/wrc/Makefile"
+                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          ac_config_files="$ac_config_files Make.rules dlls/Makedll.rules dlls/Maketest.rules libs/Makelib.rules programs/Makeprog.rules Makefile dlls/Makefile dlls/activeds/Makefile dlls/advapi32/Makefile dlls/advapi32/tests/Makefile dlls/advpack/Makefile dlls/advpack/tests/Makefile dlls/amstream/Makefile dlls/atl/Makefile dlls/avicap32/Makefile dlls/avifil32/Makefile dlls/cabinet/Makefile dlls/capi2032/Makefile dlls/cards/Makefile dlls/cfgmgr32/Makefile dlls/comcat/Makefile dlls/comctl32/Makefile dlls/comctl32/tests/Makefile dlls/commdlg/Makefile dlls/crtdll/Makefile dlls/crypt32/Makefile dlls/crypt32/tests/Makefile dlls/cryptdll/Makefile dlls/ctl3d/Makefile dlls/d3d8/Makefile dlls/d3d9/Makefile dlls/d3dim/Makefile dlls/d3drm/Makefile dlls/d3dx8/Makefile dlls/d3dxof/Makefile dlls/dbghelp/Makefile dlls/dciman32/Makefile dlls/ddraw/Makefile dlls/ddraw/tests/Makefile dlls/devenum/Makefile dlls/dinput/Makefile dlls/dinput/tests/Makefile dlls/dinput8/Makefile dlls/dmband/Makefile dlls/dmcompos/Makefile dlls/dmime/Makefile dlls/dmloader/Makefile dlls/dmscript/Makefile dlls/dmstyle/Makefile dlls/dmsynth/Makefile dlls/dmusic/Makefile dlls/dmusic32/Makefile dlls/dplay/Makefile dlls/dplayx/Makefile dlls/dpnet/Makefile dlls/dpnhpast/Makefile dlls/dsound/Makefile dlls/dsound/tests/Makefile dlls/dswave/Makefile dlls/dxdiagn/Makefile dlls/dxerr8/Makefile dlls/dxerr9/Makefile dlls/dxguid/Makefile dlls/gdi/Makefile dlls/gdi/tests/Makefile dlls/glu32/Makefile dlls/glut32/Makefile dlls/hhctrl.ocx/Makefile dlls/iccvid/Makefile dlls/icmp/Makefile dlls/ifsmgr.vxd/Makefile dlls/imagehlp/Makefile dlls/imm32/Makefile dlls/iphlpapi/Makefile dlls/iphlpapi/tests/Makefile dlls/itss/Makefile dlls/kernel/Makefile dlls/kernel/tests/Makefile dlls/lzexpand/Makefile dlls/lzexpand/tests/Makefile dlls/mapi32/Makefile dlls/mapi32/tests/Makefile dlls/mlang/Makefile dlls/mlang/tests/Makefile dlls/mmdevldr.vxd/Makefile dlls/monodebg.vxd/Makefile dlls/mpr/Makefile dlls/msacm/Makefile dlls/msacm/imaadp32/Makefile dlls/msacm/msadp32/Makefile dlls/msacm/msg711/Makefile dlls/msacm/winemp3/Makefile dlls/msacm/tests/Makefile dlls/mscms/Makefile dlls/mscms/tests/Makefile dlls/msdmo/Makefile dlls/mshtml/Makefile dlls/mshtml/tests/Makefile dlls/msi/Makefile dlls/msi/tests/Makefile dlls/msimg32/Makefile dlls/msisys/Makefile dlls/msnet32/Makefile dlls/msrle32/Makefile dlls/msvcrt/Makefile dlls/msvcrt/tests/Makefile dlls/msvcrt20/Makefile dlls/msvcrt40/Makefile dlls/msvcrtd/Makefile dlls/msvcrtd/tests/Makefile dlls/msvidc32/Makefile dlls/msvideo/Makefile dlls/mswsock/Makefile dlls/netapi32/Makefile dlls/netapi32/tests/Makefile dlls/newdev/Makefile dlls/ntdll/Makefile dlls/ntdll/tests/Makefile dlls/odbc32/Makefile dlls/odbccp32/Makefile dlls/ole32/Makefile dlls/ole32/tests/Makefile dlls/oleacc/Makefile dlls/oleaut32/Makefile dlls/oleaut32/tests/Makefile dlls/olecli/Makefile dlls/oledlg/Makefile dlls/olepro32/Makefile dlls/olesvr/Makefile dlls/opengl32/Makefile dlls/powrprof/Makefile dlls/psapi/Makefile dlls/psapi/tests/Makefile dlls/qcap/Makefile dlls/quartz/Makefile dlls/quartz/tests/Makefile dlls/rasapi32/Makefile dlls/riched20/Makefile dlls/richedit/Makefile dlls/rpcrt4/Makefile dlls/rpcrt4/tests/Makefile dlls/rsabase/Makefile dlls/rsabase/tests/Makefile dlls/rsaenh/Makefile dlls/rsaenh/tests/Makefile dlls/secur32/Makefile dlls/sensapi/Makefile dlls/serialui/Makefile dlls/setupapi/Makefile dlls/shdocvw/Makefile dlls/shell32/Makefile dlls/shell32/tests/Makefile dlls/shfolder/Makefile dlls/shlwapi/Makefile dlls/shlwapi/tests/Makefile dlls/snmpapi/Makefile dlls/stdole2.tlb/Makefile dlls/stdole32.tlb/Makefile dlls/sti/Makefile dlls/strmiids/Makefile dlls/tapi32/Makefile dlls/ttydrv/Makefile dlls/twain/Makefile dlls/unicows/Makefile dlls/url/Makefile dlls/urlmon/Makefile dlls/urlmon/tests/Makefile dlls/user/Makefile dlls/user/tests/Makefile dlls/uuid/Makefile dlls/uxtheme/Makefile dlls/vdhcp.vxd/Makefile dlls/vdmdbg/Makefile dlls/version/Makefile dlls/version/tests/Makefile dlls/vmm.vxd/Makefile dlls/vnbt.vxd/Makefile dlls/vnetbios.vxd/Makefile dlls/vtdapi.vxd/Makefile dlls/vwin32.vxd/Makefile dlls/win32s/Makefile dlls/winaspi/Makefile dlls/wined3d/Makefile dlls/winedos/Makefile dlls/wineps/Makefile dlls/wininet/Makefile dlls/wininet/tests/Makefile dlls/winmm/Makefile dlls/winmm/joystick/Makefile dlls/winmm/mcianim/Makefile dlls/winmm/mciavi/Makefile dlls/winmm/mcicda/Makefile dlls/winmm/mciseq/Makefile dlls/winmm/mciwave/Makefile dlls/winmm/midimap/Makefile dlls/winmm/tests/Makefile dlls/winmm/wavemap/Makefile dlls/winmm/winealsa/Makefile dlls/winmm/winearts/Makefile dlls/winmm/wineaudioio/Makefile dlls/winmm/winejack/Makefile dlls/winmm/winenas/Makefile dlls/winmm/wineoss/Makefile dlls/winnls/Makefile dlls/winsock/Makefile dlls/winsock/tests/Makefile dlls/winspool/Makefile dlls/winspool/tests/Makefile dlls/wintab32/Makefile dlls/wintrust/Makefile dlls/wldap32/Makefile dlls/wow32/Makefile dlls/wsock32/Makefile dlls/wtsapi32/Makefile dlls/x11drv/Makefile documentation/Makefile fonts/Makefile include/Makefile libs/Makefile libs/port/Makefile libs/unicode/Makefile libs/wine/Makefile libs/wpp/Makefile loader/Makefile programs/Makefile programs/avitools/Makefile programs/clock/Makefile programs/cmdlgtst/Makefile programs/control/Makefile programs/expand/Makefile programs/hh/Makefile programs/msiexec/Makefile programs/notepad/Makefile programs/progman/Makefile programs/regedit/Makefile programs/regsvr32/Makefile programs/rpcss/Makefile programs/rundll32/Makefile programs/start/Makefile programs/taskmgr/Makefile programs/uninstaller/Makefile programs/view/Makefile programs/wcmd/Makefile programs/wineboot/Makefile programs/winebrowser/Makefile programs/winecfg/Makefile programs/wineconsole/Makefile programs/winedbg/Makefile programs/winefile/Makefile programs/winemenubuilder/Makefile programs/winemine/Makefile programs/winepath/Makefile programs/winetest/Makefile programs/winevdm/Makefile programs/winhelp/Makefile programs/winver/Makefile server/Makefile tools/Makefile tools/widl/Makefile tools/winapi/Makefile tools/winebuild/Makefile tools/winedump/Makefile tools/winegcc/Makefile tools/wmc/Makefile tools/wrc/Makefile"
 
 
 cat >confcache <<\_ACEOF
@@ -20890,6 +20890,7 @@
   "dlls/shlwapi/Makefile" ) CONFIG_FILES="$CONFIG_FILES dlls/shlwapi/Makefile" ;;
   "dlls/shlwapi/tests/Makefile" ) CONFIG_FILES="$CONFIG_FILES dlls/shlwapi/tests/Makefile" ;;
   "dlls/snmpapi/Makefile" ) CONFIG_FILES="$CONFIG_FILES dlls/snmpapi/Makefile" ;;
+  "dlls/stdole2.tlb/Makefile" ) CONFIG_FILES="$CONFIG_FILES dlls/stdole2.tlb/Makefile" ;;
   "dlls/stdole32.tlb/Makefile" ) CONFIG_FILES="$CONFIG_FILES dlls/stdole32.tlb/Makefile" ;;
   "dlls/sti/Makefile" ) CONFIG_FILES="$CONFIG_FILES dlls/sti/Makefile" ;;
   "dlls/strmiids/Makefile" ) CONFIG_FILES="$CONFIG_FILES dlls/strmiids/Makefile" ;;
diff --git a/configure.ac b/configure.ac
index d357ae3..afe6113 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1686,6 +1686,7 @@
 dlls/shlwapi/Makefile
 dlls/shlwapi/tests/Makefile
 dlls/snmpapi/Makefile
+dlls/stdole2.tlb/Makefile
 dlls/stdole32.tlb/Makefile
 dlls/sti/Makefile
 dlls/strmiids/Makefile
diff --git a/dlls/Makefile.in b/dlls/Makefile.in
index 99c5e77..ade294b 100644
--- a/dlls/Makefile.in
+++ b/dlls/Makefile.in
@@ -125,6 +125,7 @@
 	shfolder \
 	shlwapi \
 	snmpapi \
+	stdole2.tlb \
 	stdole32.tlb \
 	sti \
 	tapi32 \
@@ -373,6 +374,7 @@
 	shfolder.dll.so \
 	shlwapi.dll.so \
 	snmpapi.dll.so \
+	stdole2.tlb.so \
 	stdole32.tlb.so \
 	sti.dll.so \
 	tapi32.dll.so \
@@ -851,6 +853,9 @@
 snmpapi.dll.so: snmpapi/snmpapi.dll.so
 	$(RM) $@ && $(LN_S) snmpapi/snmpapi.dll.so $@
 
+stdole2.tlb.so: stdole2.tlb/stdole2.tlb.so
+	$(RM) $@ && $(LN_S) stdole2.tlb/stdole2.tlb.so $@
+
 stdole32.tlb.so: stdole32.tlb/stdole32.tlb.so
 	$(RM) $@ && $(LN_S) stdole32.tlb/stdole32.tlb.so $@
 
@@ -1771,6 +1776,7 @@
 shfolder/shfolder.dll.so: shfolder
 shlwapi/shlwapi.dll.so: shlwapi
 snmpapi/snmpapi.dll.so: snmpapi
+stdole2.tlb/stdole2.tlb.so: stdole2.tlb
 stdole32.tlb/stdole32.tlb.so: stdole32.tlb
 sti/sti.dll.so: sti
 tapi32/tapi32.dll.so: tapi32
diff --git a/dlls/stdole2.tlb/.cvsignore b/dlls/stdole2.tlb/.cvsignore
new file mode 100644
index 0000000..dcb466b
--- /dev/null
+++ b/dlls/stdole2.tlb/.cvsignore
@@ -0,0 +1,4 @@
+Makefile
+rsrc.res
+std_ole_v2.tlb
+stdole2.tlb.dbg.c
diff --git a/dlls/stdole2.tlb/Makefile.in b/dlls/stdole2.tlb/Makefile.in
new file mode 100644
index 0000000..2ffad7c
--- /dev/null
+++ b/dlls/stdole2.tlb/Makefile.in
@@ -0,0 +1,12 @@
+TOPSRCDIR = @top_srcdir@
+TOPOBJDIR = ../..
+SRCDIR    = @srcdir@
+VPATH     = @srcdir@
+MODULE    = stdole2.tlb
+
+RC_SRCS = rsrc.rc
+RC_TLB = std_ole_v2.tlb
+
+@MAKE_DLL_RULES@
+
+### Dependencies:
diff --git a/dlls/stdole2.tlb/rsrc.rc b/dlls/stdole2.tlb/rsrc.rc
new file mode 100644
index 0000000..81e53f7
--- /dev/null
+++ b/dlls/stdole2.tlb/rsrc.rc
@@ -0,0 +1,30 @@
+/*
+ * Resource file for stdole2
+ *
+ * Copyright 2005 Huw Davies
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ */
+
+#include "windef.h"
+#include "winbase.h"
+#include "winuser.h"
+#include "winnls.h"
+
+LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
+
+#include "wine/wine_common_ver.rc"
+
+1 TYPELIB LOADONCALL DISCARDABLE std_ole_v2.tlb
diff --git a/dlls/stdole2.tlb/std_ole_v2.idl b/dlls/stdole2.tlb/std_ole_v2.idl
new file mode 100644
index 0000000..d0c9117
--- /dev/null
+++ b/dlls/stdole2.tlb/std_ole_v2.idl
@@ -0,0 +1,437 @@
+/*
+ * Copyright (C) 2003 Robert Shearman
+ *               2005 Huw Davies
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ */
+
+[
+  uuid(00020430-0000-0000-C000-000000000046),
+  version(2.0),
+  helpstring("OLE Automation")
+]
+library stdole
+{
+	/* typedefs aren't stored in the type library.
+           These type names are known by the type compiler so it
+           doesn't really matter what we define them as. */
+
+    typedef short VARIANT_BOOL;
+    typedef long BSTR;
+    typedef double CURRENCY;
+    typedef unsigned long HRESULT;
+    typedef void *VARIANT;
+    typedef unsigned long SCODE;
+    
+    typedef struct GUID {
+        unsigned long  Data1;
+        unsigned short Data2;
+        unsigned short Data3;
+        unsigned char  Data4[ 8 ];
+    } GUID;
+
+    typedef struct DISPPARAMS {
+        VARIANT *rgvarg;
+        long *rgdispidNamedArgs;
+        unsigned int cArgs;
+        unsigned int cNamedArgs;
+    } DISPPARAMS;
+
+    typedef struct EXCEPINFO {
+        unsigned short wCode;
+        unsigned short wReserved;
+        BSTR  bstrSource;
+        BSTR  bstrDescription;
+        BSTR  bstrHelpFile;
+        unsigned long dwHelpContext;
+        void *pvReserved;
+        void *pfnDeferredFillIn;
+        SCODE scode;
+    } EXCEPINFO;
+
+    [
+        odl,
+        uuid(00000000-0000-0000-C000-000000000046)
+    ]
+    interface IUnknown
+    {
+        [restricted]
+        HRESULT QueryInterface(
+                               [in] GUID *riid,
+                               [out] void **ppvObj);
+
+        [restricted]
+        unsigned long AddRef();
+
+        [restricted]
+        unsigned long Release();
+    }
+
+    [
+        odl,
+        uuid(00020400-0000-0000-C000-000000000046)
+    ]
+    interface IDispatch : IUnknown
+    {
+        [restricted]
+        HRESULT GetTypeInfoCount(
+                                 [out] unsigned int *pctinfo);
+
+        [restricted]
+        HRESULT GetTypeInfo(
+                            [in] unsigned int itinfo,
+                            [in] unsigned long lcid,
+                            [out] void **pptinfo);
+
+        [restricted]
+        HRESULT GetIDsOfNames(
+                              [in] GUID *riid,
+                              [in] char **rgszNames,
+                              [in] unsigned int cNames,
+                              [in] unsigned long lcid,
+                              [out] long *rgdispid);
+
+        [restricted]
+        HRESULT Invoke(
+                       [in] long dispidMember,
+                       [in] GUID *riid,
+                       [in] unsigned long lcid,
+                       [in] unsigned short wFlags,
+                       [in] DISPPARAMS *pdispparams,
+                       [out] VARIANT *pvarResult,
+                       [out] EXCEPINFO *pexcepinfo,
+                       [out] unsigned int *puArgErr);
+
+    }
+
+    [
+        odl,
+        uuid(00020404-0000-0000-C000-000000000046)
+    ]
+    interface IEnumVARIANT : IUnknown
+    {
+        HRESULT Next(
+                     [in] unsigned long celt,
+                     [in] VARIANT *rgvar,
+                     [out] unsigned long *pceltFetched);
+
+        HRESULT Skip(
+                     [in] unsigned long celt);
+
+        HRESULT Reset();
+
+        HRESULT Clone(
+                      [out] IEnumVARIANT **ppenum);
+    }
+
+    typedef [uuid(66504301-BE0F-101A-8BBB-00AA00300CAB), public]
+        unsigned long OLE_COLOR;
+
+    typedef [uuid(66504302-BE0F-101A-8BBB-00AA00300CAB), public]
+        long OLE_XPOS_PIXELS;
+
+    typedef [uuid(66504303-BE0F-101A-8BBB-00AA00300CAB), public]
+        long OLE_YPOS_PIXELS;
+
+    typedef [uuid(66504304-BE0F-101A-8BBB-00AA00300CAB), public]
+        long OLE_XSIZE_PIXELS;
+
+    typedef [uuid(66504305-BE0F-101A-8BBB-00AA00300CAB), public]
+        long OLE_YSIZE_PIXELS;
+
+    typedef [uuid(66504306-BE0F-101A-8BBB-00AA00300CAB), public]
+        long OLE_XPOS_HIMETRIC;
+
+    typedef [uuid(66504307-BE0F-101A-8BBB-00AA00300CAB), public]
+        long OLE_YPOS_HIMETRIC;
+
+    typedef [uuid(66504308-BE0F-101A-8BBB-00AA00300CAB), public]
+        long OLE_XSIZE_HIMETRIC;
+
+    typedef [uuid(66504309-BE0F-101A-8BBB-00AA00300CAB), public]
+        long OLE_YSIZE_HIMETRIC;
+
+    typedef [uuid(BF030640-9069-101B-AE2D-08002B2EC713), public]
+        float OLE_XPOS_CONTAINER;
+
+    typedef [uuid(BF030641-9069-101B-AE2D-08002B2EC713), public]
+        float OLE_YPOS_CONTAINER;
+
+    typedef [uuid(BF030642-9069-101B-AE2D-08002B2EC713), public]
+        float OLE_XSIZE_CONTAINER;
+
+    typedef [uuid(BF030643-9069-101B-AE2D-08002B2EC713), public]
+        float OLE_YSIZE_CONTAINER;
+
+    typedef [uuid(66504313-BE0F-101A-8BBB-00AA00300CAB), public]
+        int OLE_HANDLE;
+
+    typedef [uuid(6650430B-BE0F-101A-8BBB-00AA00300CAB), public]
+        VARIANT_BOOL OLE_OPTEXCLUSIVE;
+
+    typedef [uuid(BF030644-9069-101B-AE2D-08002B2EC713), public]
+        VARIANT_BOOL OLE_CANCELBOOL;
+
+    typedef [uuid(BF030645-9069-101B-AE2D-08002B2EC713), public]
+        VARIANT_BOOL OLE_ENABLEDEFAULTBOOL;
+
+    /* FIXME: widl can't cope with enum attributes yet */
+    /*
+    [
+     uuid(6650430A-BE0F-101A-8BBB-00AA00300CAB)
+    ]
+    */
+    enum OLE_TRISTATE {
+        Unchecked = 0,
+        Checked = 1,
+        Gray = 2
+    };
+
+    typedef [uuid(6650430D-BE0F-101A-8BBB-00AA00300CAB), public]
+        BSTR FONTNAME;
+
+    typedef [uuid(6650430E-BE0F-101A-8BBB-00AA00300CAB), public]
+        CURRENCY FONTSIZE;
+
+    typedef [uuid(6650430F-BE0F-101A-8BBB-00AA00300CAB), public]
+        VARIANT_BOOL FONTBOLD;
+
+    typedef [uuid(66504310-BE0F-101A-8BBB-00AA00300CAB), public]
+        VARIANT_BOOL FONTITALIC;
+
+    typedef [uuid(66504311-BE0F-101A-8BBB-00AA00300CAB), public]
+        VARIANT_BOOL FONTUNDERSCORE;
+
+    typedef [uuid(66504312-BE0F-101A-8BBB-00AA00300CAB), public]
+        VARIANT_BOOL FONTSTRIKETHROUGH;
+
+
+    [
+     odl,
+     uuid(BEF6E002-A874-101A-8BBA-00AA00300CAB),
+     helpstring("Font Object"),
+     hidden
+    ]
+    interface IFont {
+        [propget] HRESULT Name([out, retval] BSTR *pname);
+        [propput] HRESULT Name([in] BSTR pname);
+
+        [propget] HRESULT Size([out, retval] CURRENCY *psize);
+        [propput] HRESULT Size([in] BSTR psize);
+
+        [propget] HRESULT Bold([out, retval] VARIANT_BOOL *pbold);
+        [propput] HRESULT Bold([in] VARIANT_BOOL pbold);
+
+        [propget] HRESULT Italic([out, retval] VARIANT_BOOL *pitalic);
+        [propput] HRESULT Italic([in] VARIANT_BOOL pitalic);
+
+        [propget] HRESULT Underline([out, retval] VARIANT_BOOL *punderline);
+        [propput] HRESULT Underline([in] VARIANT_BOOL punderline);
+
+        [propget] HRESULT Strikethrough([out, retval] VARIANT_BOOL *pstrikethrough);
+        [propput] HRESULT Strikethrough([in] VARIANT_BOOL pstrikethrough);
+
+        [propget] HRESULT Weight([out, retval] short *pweight);
+        [propput] HRESULT Weight([in] short pweight);
+
+        [propget] HRESULT Charset([out, retval] short *pcharset);
+        [propput] HRESULT Charset([in] short pcharset);
+
+        [propget] HRESULT hFont([out, retval] OLE_HANDLE *phfont);
+        
+        HRESULT Clone([out] IFont **ppfont);
+
+        HRESULT IsEqual([in] IFont *pfontOther);
+
+        HRESULT SetRatio([in] long cyLogical, [in] long cyHimetric);
+
+        HRESULT AddRefHfont([in] OLE_HANDLE hFont);
+
+        HRESULT ReleaseHfont([in] OLE_HANDLE hFont);
+    };
+
+
+    [
+     odl,
+     uuid(BEF6E003-A874-101A-8BBA-00AA00300CAB)
+    ]
+    dispinterface Font {
+    properties:
+        [id(0x0)] BSTR Name;
+        [id(0x2)] CURRENCY Size;
+        [id(0x3)] VARIANT_BOOL Bold;
+        [id(0x4)] VARIANT_BOOL Italic;
+        [id(0x5)] VARIANT_BOOL Underline;
+        [id(0x6)] VARIANT_BOOL Strikethrough;
+        [id(0x7)] short Weight;
+        [id(0x8)] short Charset;
+    methods:
+    }
+
+    typedef [public] Font IFontDisp;
+
+    [
+     uuid(0BE35203-8F91-11CE-9DE3-00AA004BB851)
+    ]
+    coclass StdFont {
+        [default] dispinterface Font;
+        /* FIXME: We can't reference dispinterface FontEvents here because we need it to
+           appear at the end of the typelib. */
+/*      [default, source] dispinterface FontEvents;*/
+        interface IFont;
+    };
+
+    [
+     odl,
+     uuid(7BF80980-BF32-101A-8BBB-00AA00300CAB),
+     helpstring("Picture Object"),
+     hidden
+    ]
+        interface IPicture /*: IUnknown*/ {
+        [propget] HRESULT Handle([out, retval] OLE_HANDLE *phandle);
+
+        [propget] HRESULT hPal([out, retval] OLE_HANDLE *phpal);
+        
+        [propget] HRESULT Type([out, retval] short *ptype);
+
+        [propget] HRESULT Width([out, retval] OLE_XSIZE_HIMETRIC *pwidth);
+
+        [propget] HRESULT Height([out, retval] OLE_YSIZE_HIMETRIC *pheight);
+
+        HRESULT Render([in] int hdc,
+                       [in] long x,
+                       [in] long y,
+                       [in] long cx,
+                       [in] long cy,
+                       [in] OLE_XPOS_HIMETRIC xSrc,
+                       [in] OLE_YPOS_HIMETRIC ySrc,
+                       [in] OLE_XSIZE_HIMETRIC cxSrc,
+                       [in] OLE_YSIZE_HIMETRIC cySrc,
+                       [in] void *prcWBounds);
+
+        [propput] HRESULT hPal([in] OLE_HANDLE phpal);
+
+        [propget] HRESULT CurDC([out, retval] int *phdcOut);
+
+        HRESULT SelectPicture([in] int hdcIn,
+                              [out] int *phdcOut,
+                              [out] OLE_HANDLE *phbmpOut);
+        
+        [propget] HRESULT KeepOriginalFormat([out, retval] VARIANT_BOOL *pfkeep);
+        [propput] HRESULT KeepOriginalFormat([in] VARIANT_BOOL pfkeep);
+
+        HRESULT PictureChanged();
+
+        HRESULT SaveAsFile([in] void *pstm,
+                           [in] VARIANT_BOOL fSaveMemCopy,
+                           [out] long *pcbSize);
+
+        [propget] HRESULT Attributes([out, retval] long *pdwAttr);
+
+        HRESULT SetHdc([in] OLE_HANDLE hdc);
+    };
+
+    [
+     uuid(7BF80981-BF32-101A-8BBB-00AA00300CAB)
+    ]
+    dispinterface Picture {
+    properties:
+        [id(0x0), readonly] OLE_HANDLE Handle;
+        [id(0x2)] OLE_HANDLE hPal;
+        [id(0x3), readonly] short Type; 
+        [id(0x4), readonly] OLE_XSIZE_HIMETRIC Width;
+        [id(0x5), readonly] OLE_XSIZE_HIMETRIC Height;
+    methods:
+        [id(0x6)] void Render(int hdc,
+                              long x,
+                              long y,
+                              long cx,
+                              long cy,
+                              OLE_XPOS_HIMETRIC xSrc,
+                              OLE_YPOS_HIMETRIC ySrc,
+                              OLE_XSIZE_HIMETRIC cxSrc,
+                              OLE_YSIZE_HIMETRIC cySrc,
+                              void *prcWBounds);
+    };
+    
+    typedef [public] Picture IPictureDisp;
+
+    [
+     uuid(0BE35204-8F91-11CE-9DE3-00AA004BB851)
+    ]
+    coclass StdPicture {
+        [default] dispinterface Picture;
+        interface IPicture;
+    };
+
+    /* FIXME: widl can't cope with enum attributes yet */
+    /*
+    [
+     uuid(E6C8FA08-BD9F-11D0-985E-00C04FC29993)
+    ]
+    */
+    enum LoadPictureConstants {
+        Default = 0,
+        Monochrome = 1,
+        VgaColor = 2,
+        Color = 4
+    };
+
+    [
+     dllname("oleaut32.dll"),
+     uuid(91209AC0-60F6-11CF-9C5D-00AA00C1489E),
+     helpstring("Functions for Standard OLE Objects"),
+     helpcontext(0x2775)
+    ]
+    module StdFunctions{
+        /* FIXME: widl can't cope with a defaultvalue of an enum parameter yet. */
+        /* 
+        [
+         entry(0x60000000),
+         helpstring("Loads a picture from a file"),
+         helpcontext(0x2775)
+        ]
+        HRESULT LoadPicture([in, optional] VARIANT filename,
+                            [in, optional, defaultvalue(0)] int widthDesired,
+                            [in, optional, defaultvalue(0)] int heightDesired,
+                            [in, optional, defaultvalue(0)] enum LoadPictureConstants flags,
+                            [out, retval] IPictureDisp **retval);
+        */
+        [
+         entry(0x60000001),
+         helpstring("Saves a picture to a file"),
+         helpcontext(0x2775)
+        ]
+        HRESULT SavePicture([in] IPictureDisp *Picture,
+                            [in] BSTR filename);
+    };
+
+
+    [
+     uuid(4EF6100A-AF88-11D0-9846-00C04FC29993),
+     helpstring("Event Interface for the Font Object"),
+     hidden
+    ]
+    dispinterface FontEvents {
+    properties:
+    methods:
+        [id(0x9)] void FontChanged([in] BSTR PropertyName);
+    };
+
+    typedef [public] FontEvents IFontEventsDisp;
+
+
+};
diff --git a/dlls/stdole2.tlb/stdole2.tlb.spec b/dlls/stdole2.tlb/stdole2.tlb.spec
new file mode 100644
index 0000000..b427b29
--- /dev/null
+++ b/dlls/stdole2.tlb/stdole2.tlb.spec
@@ -0,0 +1 @@
+# no exported entry points