Authors: Paul Quinn <paulq@corel.ca>, Aaron Barnes <aaronb@corel.ca>, Adrian Thurston <adriant@corel.ca>
Bundle of new stubs.

diff --git a/include/ole2.h b/include/ole2.h
index 9966342..9688b6b 100644
--- a/include/ole2.h
+++ b/include/ole2.h
@@ -38,5 +38,47 @@
 HRESULT WINAPI WriteClassStm(IStream *pStm,REFCLSID rclsid);
 HRESULT WINAPI ReadClassStm(IStream *pStm,REFCLSID pclsid);
 
+
+HRESULT     WINAPI OleSave(LPPERSISTSTORAGE pPS, LPSTORAGE pStg, BOOL fSameAsLoad);
+HRESULT     WINAPI OleRegGetMiscStatus (REFCLSID clsid, DWORD dwAspect, DWORD* pdwStatus);
+HRESULT     WINAPI CreateStreamOnHGlobal (HGLOBAL hGlobal, BOOL fDeleteOnRelease, LPSTREAM* ppstm);
+HRESULT     WINAPI OleRegEnumVerbs (REFCLSID clsid, LPENUMOLEVERB* ppenum);
+BOOL        WINAPI OleIsRunning(LPOLEOBJECT pObject);
+HRESULT     WINAPI OleCreateLinkFromData(LPDATAOBJECT pSrcDataObj, REFIID riid,
+                DWORD renderopt, LPFORMATETC pFormatEtc,
+                LPOLECLIENTSITE pClientSite, LPSTORAGE pStg,
+                LPVOID* ppvObj);
+HRESULT     WINAPI OleSetContainedObject(LPUNKNOWN pUnknown, BOOL fContained);
+HRESULT     WINAPI OleQueryLinkFromData(IDataObject* pSrcDataObject);
+HRESULT     WINAPI OleQueryCreateFromData(LPDATAOBJECT pSrcDataObject);
+HRESULT     WINAPI OleRun(LPUNKNOWN pUnknown);
+HRESULT     WINAPI OleGetClipboard(IDataObject** ppDataObj);
+HRESULT     WINAPI OleCreateStaticFromData(LPDATAOBJECT pSrcDataObj, REFIID iid,
+                DWORD renderopt, LPFORMATETC pFormatEtc, LPOLECLIENTSITE pClientSite, 
+                LPSTORAGE pStg, LPVOID* ppvObj);
+HRESULT     WINAPI ReadFmtUserTypeStg(LPSTORAGE pstg, CLIPFORMAT* pcf, LPOLESTR* lplpszUserType);
+HRESULT     WINAPI OleLoad(LPSTORAGE pStg, REFIID riid, LPOLECLIENTSITE pClientSite, LPVOID* ppvObj);
+HRESULT     WINAPI GetHGlobalFromILockBytes(LPLOCKBYTES plkbyt, HGLOBAL* phglobal);
+HRESULT     WINAPI CreateILockBytesOnHGlobal(HGLOBAL hGlobal, BOOL fDeleteOnRelease, LPLOCKBYTES* pplkbyt);
+HRESULT     WINAPI CreateDataAdviseHolder(LPDATAADVISEHOLDER* ppDAHolder);
+HGLOBAL     WINAPI OleGetIconOfClass(REFCLSID rclsid, LPOLESTR lpszLabel, BOOL fUseTypeAsLabel);
+HRESULT     WINAPI OleLockRunning(LPUNKNOWN pUnknown, BOOL fLock, BOOL fLastUnlockCloses);
+HRESULT     WINAPI OleCreateFromFile(REFCLSID rclsid, LPCOLESTR lpszFileName, REFIID riid,
+                DWORD renderopt, LPFORMATETC lpFormatEtc, LPOLECLIENTSITE pClientSite, LPSTORAGE pStg, LPVOID* ppvObj);
+HRESULT     WINAPI OleCreateLink(LPMONIKER pmkLinkSrc, REFIID riid, DWORD renderopt, LPFORMATETC lpFormatEtc,
+                LPOLECLIENTSITE pClientSite, LPSTORAGE pStg, LPVOID* ppvObj);
+HRESULT     WINAPI OleCreate(REFCLSID rclsid, REFIID riid, DWORD renderopt, LPFORMATETC pFormatEtc, LPOLECLIENTSITE pClientSite,
+                LPSTORAGE pStg, LPVOID* ppvObj);
+HRESULT     WINAPI OleFlushClipboard();
+HRESULT     WINAPI SetConvertStg(LPSTORAGE pStg, BOOL fConvert);
+BOOL        WINAPI IsAccelerator(HACCEL hAccel, int cAccelEntries, LPMSG lpMsg, WORD* lpwCmd);
+HRESULT     WINAPI OleCreateLinkToFile(LPCOLESTR lpszFileName, REFIID riid, DWORD renderopt, LPFORMATETC lpFormatEtc,
+                LPOLECLIENTSITE pClientSite, LPSTORAGE pStg, LPVOID* ppvObj);
+HRESULT     WINAPI OleDuplicateData(HANDLE hSrc, CLIPFORMAT cfFormat, UINT uiFlags);
+HRESULT     WINAPI WriteFmtUserTypeStg(LPSTORAGE pstg, CLIPFORMAT cf, LPOLESTR lpszUserType);
+HRESULT     WINAPI OleTranslateAccelerator (LPOLEINPLACEFRAME lpFrame, LPOLEINPLACEFRAMEINFO lpFrameInfo, LPMSG lpmsg);
+HRESULT     WINAPI OleCreateFromData(LPDATAOBJECT pSrcDataObj, REFIID riid, DWORD renderopt, LPFORMATETC pFormatEtc,
+                LPOLECLIENTSITE pClientSite, LPSTORAGE pStg, LPVOID* ppvObj);
+
 #endif  /* __WINE_OLE2_H */
 
diff --git a/include/oleauto.h b/include/oleauto.h
index fd11314..45de1f1 100644
--- a/include/oleauto.h
+++ b/include/oleauto.h
@@ -296,6 +296,7 @@
 HRESULT WINAPI VarCyFromR4(FLOAT fltIn, CY* pcyOut);
 HRESULT WINAPI VarCyFromR8(double dblIn, CY* pcyOut);
 HRESULT WINAPI VarCyFromDate(DATE dateIn, CY* pcyOut);
+HRESULT WINAPI VarCyFromStr(OLECHAR *strIn, LCID lcid, ULONG dwFlags, CY *pcyOut);
 HRESULT WINAPI VarCyFromBool(VARIANT_BOOL boolIn, CY* pcyOut);
 HRESULT WINAPI VarCyFromI1(CHAR cIn, CY*pcyOut);
 HRESULT WINAPI VarCyFromUI2(USHORT uiIn, CY*pcyOut);
@@ -311,6 +312,7 @@
 HRESULT WINAPI VarBstrFromI4(LONG lIn, LCID lcid, ULONG dwFlags, BSTR* pbstrOut);
 HRESULT WINAPI VarBstrFromR4(FLOAT fltIn, LCID lcid, ULONG dwFlags, BSTR* pbstrOut);
 HRESULT WINAPI VarBstrFromR8(double dblIn, LCID lcid, ULONG dwFlags, BSTR* pbstrOut);
+HRESULT WINAPI VarBstrFromCy(CY cyIn, LCID lcid, ULONG dwFlags, BSTR *pbstrOut);
 HRESULT WINAPI VarBstrFromDate(DATE dateIn, LCID lcid, ULONG dwFlags, BSTR* pbstrOut);
 HRESULT WINAPI VarBstrFromBool(VARIANT_BOOL boolIn, LCID lcid, ULONG dwFlags, BSTR* pbstrOut);
 HRESULT WINAPI VarBstrFromI1(CHAR cIn, LCID lcid, ULONG dwFlags, BSTR*pbstrOut);
diff --git a/include/olectl.h b/include/olectl.h
index 562b331..cda24ad 100644
--- a/include/olectl.h
+++ b/include/olectl.h
@@ -279,6 +279,8 @@
 #define CTL_E_SEARCHTEXTNOTFOUND        STD_CTL_SCODE(744)
 #define CTL_E_REPLACEMENTSTOOLONG       STD_CTL_SCODE(746)
 
+#define VT_COLOR            VT_I4
+#define VT_FONT             VT_DISPATCH
 #define VT_STREAMED_PROPSET 73  //       [P]  Stream contains a property set
 #define VT_STORED_PROPSET   74  //       [P]  Storage contains a property set
 #define VT_BLOB_PROPSET     75  //       [P]  Blob contains a property set
diff --git a/include/wine/obj_storage.h b/include/wine/obj_storage.h
index 9c8f74d..9e66c46 100644
--- a/include/wine/obj_storage.h
+++ b/include/wine/obj_storage.h
@@ -680,6 +680,8 @@
 
 HRESULT WINAPI WriteClassStg(IStorage* pStg, REFCLSID rclsid);
 
+HRESULT WINAPI StgCreateDocfileOnILockBytes(ILockBytes *plkbyt,DWORD grfMode, DWORD reserved, IStorage** ppstgOpen);
+HRESULT WINAPI StgOpenStorageOnILockBytes(ILockBytes *plkbyt, IStorage *pstgPriority, DWORD grfMode, SNB snbExclude, DWORD reserved, IStorage **ppstgOpen);
 
 /*****************************************************************************
  * Other storage API
diff --git a/include/winuser.h b/include/winuser.h
index 18d6e87..f4be841 100644
--- a/include/winuser.h
+++ b/include/winuser.h
@@ -3397,6 +3397,7 @@
 LONG        WINAPI TabbedTextOutW(HDC,INT,INT,LPCWSTR,INT,INT,const INT*,INT);
 #define     TabbedTextOut WINELIB_NAME_AW(TabbedTextOut)
 INT       WINAPI ToAscii(UINT,UINT,LPBYTE,LPWORD,UINT);
+INT       WINAPI ToAsciiEx(UINT,UINT,LPBYTE,LPWORD,UINT,HKL);
 BOOL      WINAPI TrackPopupMenu(HMENU,UINT,INT,INT,INT,HWND,const RECT*);
 INT       WINAPI TranslateAccelerator(HWND,HACCEL,LPMSG);
 BOOL      WINAPI TranslateMDISysAccel(HWND,LPMSG);
@@ -3413,6 +3414,9 @@
 WORD        WINAPI VkKeyScanA(CHAR);
 WORD        WINAPI VkKeyScanW(WCHAR);
 #define     VkKeyScan WINELIB_NAME_AW(VkKeyScan)
+WORD        WINAPI VkKeyScanExA(CHAR, HKL);
+WORD        WINAPI VkKeyScanExW(WCHAR, HKL);
+#define     VkKeyScanEx WINELIB_NAME_AW(VkKeyScanEx)
 HWND      WINAPI WindowFromDC(HDC);
 HWND      WINAPI WindowFromPoint(POINT);
 BOOL      WINAPI WinHelpA(HWND,LPCSTR,UINT,DWORD);