From f80b2ab66916c1d99bacb69d7b3eb94dba57e263 Mon Sep 17 00:00:00 2001 From: Alexandre Julliard Date: Sun, 28 Mar 1999 13:15:40 +0000 Subject: [PATCH] Authors: Paul Quinn , Aaron Barnes , Adrian Thurston Bundle of new stubs. --- include/ole2.h | 42 ++++++ include/oleauto.h | 2 + include/olectl.h | 2 + include/wine/obj_storage.h | 2 + include/winuser.h | 4 + ole/Makefile.in | 1 + ole/ole2.c | 8 +- ole/ole2stubs.c | 294 +++++++++++++++++++++++++++++++++++++ ole/storage.c | 20 +++ ole/variant.c | 18 +++ relay32/ole32.spec | 76 +++++----- relay32/oleaut32.spec | 4 +- relay32/user32.spec | 6 +- windows/input.c | 28 ++++ 14 files changed, 460 insertions(+), 47 deletions(-) create mode 100644 ole/ole2stubs.c diff --git a/include/ole2.h b/include/ole2.h index 99663427a06..9688b6b91c4 100644 --- a/include/ole2.h +++ b/include/ole2.h @@ -38,5 +38,47 @@ HRESULT WINAPI ReadClassStg(IStorage *pstg,CLSID *pclsid); 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 fd113147f5e..45de1f17ac4 100644 --- a/include/oleauto.h +++ b/include/oleauto.h @@ -296,6 +296,7 @@ HRESULT WINAPI VarCyFromI4(LONG lIn, CY* pcyOut); 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 VarBstrFromI2(short iVal, LCID lcid, ULONG dwFlags, BSTR* pbstrOu 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 562b331bda0..cda24adde3d 100644 --- a/include/olectl.h +++ b/include/olectl.h @@ -279,6 +279,8 @@ typedef VARIANT_BOOL OLE_ENABLEDEFAULTBOOL; #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 9c8f74df47f..9e66c46cfa9 100644 --- a/include/wine/obj_storage.h +++ b/include/wine/obj_storage.h @@ -680,6 +680,8 @@ HRESULT WINAPI StgOpenStorage(const OLECHAR* pwcsName,IStorage* pstgPriority,DWO 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 18d6e873fc6..f4be84154e5 100644 --- a/include/winuser.h +++ b/include/winuser.h @@ -3397,6 +3397,7 @@ LONG WINAPI TabbedTextOutA(HDC,INT,INT,LPCSTR,INT,INT,const INT*,INT); 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 @@ VOID WINAPI ValidateRgn(HWND,HRGN); 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); diff --git a/ole/Makefile.in b/ole/Makefile.in index b9570879919..ad7ed751d5f 100644 --- a/ole/Makefile.in +++ b/ole/Makefile.in @@ -18,6 +18,7 @@ C_SRCS = \ ole2.c \ ole2disp.c \ ole2nls.c \ + ole2stubs.c \ olecli.c \ oledlg.c \ olefont.c \ diff --git a/ole/ole2.c b/ole/ole2.c index 72807bcb55e..d9bc52f90f8 100644 --- a/ole/ole2.c +++ b/ole/ole2.c @@ -427,7 +427,7 @@ HRESULT WINAPI DoDragDrop ( /*********************************************************************** * OleQueryLinkFromData32 [OLE32.118] */ -HRESULT WINAPI OleQueryLinkFromData32( +HRESULT WINAPI OleQueryLinkFromData( IDataObject* pSrcDataObject) { FIXME(ole,"(%p),stub!\n", pSrcDataObject); @@ -435,9 +435,9 @@ HRESULT WINAPI OleQueryLinkFromData32( } /*********************************************************************** - * OleRegGetMiscStatus32 [OLE32.121] + * OleRegGetMiscStatus [OLE32.121] */ -HRESULT WINAPI OleRegGetMiscStatus32( +HRESULT WINAPI OleRegGetMiscStatus( REFCLSID clsid, DWORD dwAspect, DWORD* pdwStatus) @@ -449,7 +449,7 @@ HRESULT WINAPI OleRegGetMiscStatus32( /*********************************************************************** * OleGetClipboard32 [OLE32.105] */ -HRESULT WINAPI OleGetClipboard32( +HRESULT WINAPI OleGetClipboard( IDataObject** ppDataObj) { FIXME(ole,"(%p),stub!\n", ppDataObj); diff --git a/ole/ole2stubs.c b/ole/ole2stubs.c new file mode 100644 index 00000000000..5a4856575ed --- /dev/null +++ b/ole/ole2stubs.c @@ -0,0 +1,294 @@ +/* + * Temporary place for ole2 stubs. + * + * Copyright (C) 1999 Corel Corporation + */ + +#include "ole2.h" +#include "debug.h" + +/****************************************************************************** + * OleCreateFromData [OLE32.92] + */ +HRESULT WINAPI OleCreateFromData(LPDATAOBJECT pSrcDataObj, REFIID riid, + DWORD renderopt, LPFORMATETC pFormatEtc, + LPOLECLIENTSITE pClientSite, LPSTORAGE pStg, + LPVOID* ppvObj) +{ + FIXME(ole,"(%p,%p,%li,%p,%p,%p,%p), stub!\n", pSrcDataObj,riid,renderopt,pFormatEtc,pClientSite,pStg,ppvObj); + return S_OK; +} + + +/****************************************************************************** + * OleCreateLinkToFile [OLE32.96] + */ +HRESULT WINAPI OleCreateLinkToFile(LPCOLESTR lpszFileName, REFIID riid, + DWORD renderopt, LPFORMATETC lpFormatEtc, + LPOLECLIENTSITE pClientSite, LPSTORAGE pStg, LPVOID* ppvObj) +{ + FIXME(ole,"(%p,%p,%li,%p,%p,%p,%p), stub!\n",lpszFileName, riid, renderopt, lpFormatEtc, pClientSite, pStg, ppvObj); + return S_OK; +} + + +/****************************************************************************** + * OleDuplicateData [OLE32.102] + */ +HRESULT WINAPI OleDuplicateData(HANDLE hSrc, CLIPFORMAT cfFormat, + UINT uiFlags) +{ + FIXME(ole,"(%x,%x,%x), stub!\n", hSrc, cfFormat, uiFlags); + return S_OK; +} + + +/*********************************************************************** + * WriteFmtUserTypeStg (OLE32.160) + */ +HRESULT WINAPI WriteFmtUserTypeStg( + LPSTORAGE pstg, CLIPFORMAT cf, LPOLESTR lpszUserType) +{ + FIXME(ole,"(%p,%x,%p) stub!\n",pstg,cf,lpszUserType); + return S_OK; +} + +/*********************************************************************** + * OleTranslateAccelerator [OLE32.130] + */ +HRESULT WINAPI OleTranslateAccelerator (LPOLEINPLACEFRAME lpFrame, + LPOLEINPLACEFRAMEINFO lpFrameInfo, LPMSG lpmsg) +{ + FIXME(ole,"(%p,%p,%p),stub!\n", lpFrame, lpFrameInfo, lpmsg); + return S_OK; +} + +/****************************************************************************** + * CoTreatAsClass [OLE32.46] + */ +HRESULT WINAPI CoTreatAsClass(REFCLSID clsidOld, REFCLSID clsidNew) +{ + FIXME(ole,"(%p,%p), stub!\n", clsidOld, clsidNew); + return S_OK; +} + + +/****************************************************************************** + * IsAccelerator [OLE32.75] + */ +BOOL WINAPI IsAccelerator(HACCEL hAccel, int cAccelEntries, LPMSG lpMsg, WORD* lpwCmd) +{ + FIXME(ole,"(%x,%i,%p,%p), stub!\n", hAccel, cAccelEntries, lpMsg, lpwCmd); + return TRUE; +} + +/****************************************************************************** + * SetConvertStg [OLE32.142] + */ +HRESULT WINAPI SetConvertStg(LPSTORAGE pStg, BOOL fConvert) +{ + FIXME(ole,"(%p,%x), stub!\n", pStg, fConvert); + return S_OK; +} + +/****************************************************************************** + * OleFlushClipboard [OLE32.103] + */ +HRESULT WINAPI OleFlushClipboard() +{ + FIXME(ole,"(), stub!\n"); + return S_OK; +} + +/****************************************************************************** + * OleCreate [OLE32.80] + */ +HRESULT WINAPI OleCreate(REFCLSID rclsid, REFIID riid, DWORD renderopt, LPFORMATETC pFormatEtc, LPOLECLIENTSITE pClientSite, + LPSTORAGE pStg, LPVOID* ppvObj) +{ + FIXME(ole,"(not shown), stub!\n"); + return S_OK; +} + +/****************************************************************************** + * OleCreateLink [OLE32.94] + */ +HRESULT WINAPI OleCreateLink(LPMONIKER pmkLinkSrc, REFIID riid, DWORD renderopt, LPFORMATETC lpFormatEtc, + LPOLECLIENTSITE pClientSite, LPSTORAGE pStg, LPVOID* ppvObj) +{ + FIXME(ole,"(not shown), stub!\n"); + return S_OK; +} + +/****************************************************************************** + * OleCreateFromFile [OLE32.93] + */ +HRESULT WINAPI OleCreateFromFile(REFCLSID rclsid, LPCOLESTR lpszFileName, REFIID riid, + DWORD renderopt, LPFORMATETC lpFormatEtc, LPOLECLIENTSITE pClientSite, LPSTORAGE pStg, LPVOID* ppvObj) +{ + FIXME(ole,"(not shown), stub!\n"); + return S_OK; +} + +/****************************************************************************** + * OleLockRunning [OLE32.114] + */ +HRESULT WINAPI OleLockRunning(LPUNKNOWN pUnknown, BOOL fLock, BOOL fLastUnlockCloses) +{ + FIXME(ole,"(%p,%x,%x), stub!\n", pUnknown, fLock, fLastUnlockCloses); + return S_OK; +} + +/****************************************************************************** + * OleGetIconOfClass [OLE32.106] + */ +HGLOBAL WINAPI OleGetIconOfClass(REFCLSID rclsid, LPOLESTR lpszLabel, BOOL fUseTypeAsLabel) +{ + FIXME(ole,"(%p,%p,%x), stub!\n", rclsid, lpszLabel, fUseTypeAsLabel); + return S_OK; +} + +/****************************************************************************** + * OleQueryCreateFromData [OLE32.117] + */ +HRESULT WINAPI OleQueryCreateFromData(LPDATAOBJECT pSrcDataObject) +{ + FIXME(ole,"(%p), stub!\n", pSrcDataObject); + return S_OK; +} + +/****************************************************************************** + * CreateDataAdviseHolder [OLE32.53] + */ +HRESULT WINAPI CreateDataAdviseHolder(LPDATAADVISEHOLDER* ppDAHolder) +{ + FIXME(ole,"(%p), stub!\n", ppDAHolder); + return S_OK; +} + +/****************************************************************************** + * CreateILockBytesOnHGlobal [OLE32.67] + */ +HRESULT WINAPI CreateILockBytesOnHGlobal(HGLOBAL hGlobal, BOOL fDeleteOnRelease, LPLOCKBYTES* pplkbyt) +{ + FIXME(ole,"(%x,%x,%p), stub!\n", hGlobal, fDeleteOnRelease, pplkbyt); + return S_OK; +} + +/****************************************************************************** + * GetHGlobalFromILockBytes [OLE32.70] + */ +HRESULT WINAPI GetHGlobalFromILockBytes (LPLOCKBYTES plkbyt, HGLOBAL* phglobal) +{ + FIXME(ole,"(%p,%p), stub!\n", plkbyt, phglobal); + return S_OK; +} + +/****************************************************************************** + * OleLoad [OLE32.112] + */ +HRESULT WINAPI OleLoad(LPSTORAGE pStg, REFIID riid, LPOLECLIENTSITE pClientSite, LPVOID* ppvObj) +{ + FIXME(ole,"(%p,%p,%p,%p), stub!\n", pStg, riid, pClientSite, ppvObj); + return S_OK; +} + +/****************************************************************************** + * ReadFmtUserTypeStg [OLE32.136] + */ +HRESULT WINAPI ReadFmtUserTypeStg (LPSTORAGE pstg, CLIPFORMAT* pcf, LPOLESTR* lplpszUserType) +{ + FIXME(ole,"(%p,%p,%p), stub!\n", pstg, pcf, lplpszUserType); + return S_OK; +} + +/****************************************************************************** + * OleCreateStaticFromData [OLE32.98] + */ +HRESULT WINAPI OleCreateStaticFromData(LPDATAOBJECT pSrcDataObj, REFIID iid, + DWORD renderopt, LPFORMATETC pFormatEtc, LPOLECLIENTSITE pClientSite, + LPSTORAGE pStg, LPVOID* ppvObj) +{ + FIXME(ole,"(not shown), stub!\n"); + return S_OK; +} + +/****************************************************************************** + * OleRun [OLE32.123] + */ +HRESULT WINAPI OleRun(LPUNKNOWN pUnknown) +{ + FIXME(ole,"(%p), stub!\n", pUnknown); + return S_OK; +} + +/****************************************************************************** + * OleSetContainedObject [OLE32.128] + */ +HRESULT WINAPI OleSetContainedObject(LPUNKNOWN pUnknown, BOOL fContained) +{ + FIXME(ole,"(%p,%x), stub!\n", pUnknown, fContained); + return S_OK; +} + +/****************************************************************************** + * OleCreateLinkFromData [OLE32.95] + */ + +HRESULT WINAPI OleCreateLinkFromData(LPDATAOBJECT pSrcDataObj, REFIID riid, + DWORD renderopt, LPFORMATETC pFormatEtc, + LPOLECLIENTSITE pClientSite, LPSTORAGE pStg, + LPVOID* ppvObj) +{ + FIXME(ole,"(not shown), stub!\n"); + return S_OK; +} + +/****************************************************************************** + * CreateDataCache [OLE32.54] + */ +HRESULT WINAPI CreateDataCache(LPUNKNOWN pUnkOuter, REFCLSID rclsid, REFIID iid, LPVOID* ppv) +{ + FIXME(ole,"(%p,%p,%p,%p), stub!\n", pUnkOuter, rclsid, iid, ppv); + return S_OK; +} + +/****************************************************************************** + * OleIsRunning [OLE32.111] + */ +BOOL WINAPI OleIsRunning(LPOLEOBJECT pObject) +{ + FIXME(ole,"(%p), stub!\n", pObject); + return TRUE; +} + +/*********************************************************************** + * OleRegEnumVerbs [OLE32.120] + */ +HRESULT WINAPI OleRegEnumVerbs (REFCLSID clsid, LPENUMOLEVERB* ppenum) +{ + FIXME(ole,"(%p,%p), stub!\n", clsid, ppenum); + return S_OK; +} + +/*********************************************************************** + * CreateStreamOnHGlobal [OLE32.61] + */ +HRESULT WINAPI CreateStreamOnHGlobal (HGLOBAL hGlobal, BOOL fDeleteOnRelease, LPSTREAM* ppstm) +{ + FIXME(ole,"(%x,%x,%p), stub!\n", hGlobal, fDeleteOnRelease, ppstm); + return S_OK; +} + +/*********************************************************************** + * OleSave [OLE32.124] + */ +HRESULT WINAPI OleSave( + LPPERSISTSTORAGE pPS, + LPSTORAGE pStg, + BOOL fSameAsLoad) +{ + FIXME(ole,"(%p,%p,%x), stub!\n", pPS, pStg, fSameAsLoad); + return S_OK; +} + diff --git a/ole/storage.c b/ole/storage.c index 0e29d7d3113..988da1efca5 100644 --- a/ole/storage.c +++ b/ole/storage.c @@ -1566,6 +1566,26 @@ static void _create_istorage16(LPSTORAGE16 *stg) { * Storage API functions */ +/****************************************************************************** + * StgOpenStorageOnILockBytes [OLE32.149] + */ +HRESULT WINAPI StgOpenStorageOnILockBytes(ILockBytes *plkbyt, IStorage *pstgPriority, DWORD grfMode, SNB snbExclude, DWORD reserved, IStorage **ppstgOpen) +{ + FIXME(ole, "(not shown) stub!\n"); + return S_OK; +} + + +/****************************************************************************** + * StgCreateDocfileOnILockBytes [OLE32.145] + */ +HRESULT WINAPI StgCreateDocfileOnILockBytes(ILockBytes *plkbyt,DWORD grfMode, DWORD reserved, IStorage** ppstgOpen) +{ + FIXME(ole, "(not shown) stub!\n"); + return S_OK; +} + + /****************************************************************************** * StgCreateDocFile16 [STORAGE.1] */ diff --git a/ole/variant.c b/ole/variant.c index ad63734265e..4bccf496615 100644 --- a/ole/variant.c +++ b/ole/variant.c @@ -3188,6 +3188,15 @@ HRESULT WINAPI VarBstrFromR8(double dblIn, LCID lcid, ULONG dwFlags, BSTR* pbstr return S_OK; } +/****************************************************************************** + * VarBstrFromCy [OLEAUT32.113] + */ +HRESULT WINAPI VarBstrFromCy(CY cyIn, LCID lcid, ULONG dwFlags, BSTR *pbstrOut) { + /* FIXME */ + return E_NOTIMPL; +} + + /****************************************************************************** * VarBstrFromDate32 [OLEAUT32.114] * @@ -4196,6 +4205,15 @@ HRESULT WINAPI VarCyFromDate(DATE dateIn, CY* pcyOut) { return S_OK; } +/********************************************************************** + * VarCyFromDate32 [OLEAUT32.104] + */ +HRESULT WINAPI VarCyFromStr(OLECHAR *strIn, LCID lcid, ULONG dwFlags, CY *pcyOut) { + /* FIXME */ + return E_NOTIMPL; +} + + /********************************************************************** * VarCyFromBool32 [OLEAUT32.106] * Convert boolean to currency diff --git a/relay32/ole32.spec b/relay32/ole32.spec index e0e19d1ff9e..b4f6308bedf 100644 --- a/relay32/ole32.spec +++ b/relay32/ole32.spec @@ -46,22 +46,22 @@ type win32 43 stdcall CoTaskMemAlloc(long) CoTaskMemAlloc 44 stdcall CoTaskMemFree(ptr) CoTaskMemFree 45 stdcall CoTaskMemRealloc(ptr long) CoTaskMemRealloc - 46 stub CoTreatAsClass # stdcall (ptr ptr) return 0,ERR_NOTIMPLEMENTED + 46 stdcall CoTreatAsClass(ptr ptr) CoTreatAsClass 47 stdcall CoUninitialize() CoUninitialize 48 stub CoUnloadingWOW 49 stub CoUnmarshalHresult # stdcall (ptr ptr) return 0,ERR_NOTIMPLEMENTED 50 stub CoUnmarshalInterface # stdcall (ptr ptr ptr) return 0,ERR_NOTIMPLEMENTED 51 stdcall CreateAntiMoniker(ptr) CreateAntiMoniker 52 stdcall CreateBindCtx(long ptr) CreateBindCtx - 53 stub CreateDataAdviseHolder # stdcall (ptr) return 0,ERR_NOTIMPLEMENTED - 54 stub CreateDataCache # stdcall (ptr ptr ptr ptr) return 0,ERR_NOTIMPLEMENTED + 53 stdcall CreateDataAdviseHolder(ptr) CreateDataAdviseHolder + 54 stdcall CreateDataCache(ptr ptr ptr ptr) CreateDataCache 55 stdcall CreateFileMoniker(wstr ptr) CreateFileMoniker 56 stdcall CreateGenericComposite(ptr ptr ptr) CreateGenericComposite - 57 stub CreateILockBytesOnHGlobal # stdcall (ptr long ptr) return 0,ERR_NOTIMPLEMENTED + 57 stdcall CreateILockBytesOnHGlobal(ptr long ptr) CreateILockBytesOnHGlobal 58 stdcall CreateItemMoniker(wstr wstr ptr) CreateItemMoniker 59 stdcall CreateOleAdviseHolder(ptr) CreateOleAdviseHolder 60 stub CreatePointerMoniker # stdcall (ptr ptr) return 0,ERR_NOTIMPLEMENTED - 61 stub CreateStreamOnHGlobal # stdcall (ptr long ptr) return 0,ERR_NOTIMPLEMENTED + 61 stdcall CreateStreamOnHGlobal(ptr long ptr) CreateStreamOnHGlobal 62 stub DllDebugObjectRPCHook 63 stub DllGetClassObject 64 stub DllGetClassObjectWOW @@ -70,12 +70,12 @@ type win32 67 stdcall GetClassFile(ptr ptr) GetClassFile 68 stub GetConvertStg 69 stub GetDocumentBitStg - 70 stub GetHGlobalFromILockBytes + 70 stdcall GetHGlobalFromILockBytes(ptr ptr) GetHGlobalFromILockBytes 71 stub GetHGlobalFromStream 72 stub GetHookInterface 73 stdcall GetRunningObjectTable(long ptr) GetRunningObjectTable 74 stub IIDFromString - 75 stub IsAccelerator + 75 stdcall IsAccelerator(long long ptr long) IsAccelerator 76 stdcall IsEqualGUID(ptr ptr) IsEqualGUID32 77 stub IsValidIid 78 stdcall IsValidInterface(ptr) IsValidInterface @@ -89,67 +89,67 @@ type win32 86 stub OleConvertIStorageToOLESTREAMEx 87 stub OleConvertOLESTREAMToIStorage 88 stub OleConvertOLESTREAMToIStorageEx - 89 stub OleCreate + 89 stdcall OleCreate(ptr ptr long ptr ptr ptr ptr) OleCreate 90 stub OleCreateDefaultHandler 91 stub OleCreateEmbeddingHelper - 92 stub OleCreateFromData - 93 stub OleCreateFromFile - 94 stub OleCreateLink - 95 stub OleCreateLinkFromData - 96 stub OleCreateLinkToFile + 92 stdcall OleCreateFromData(ptr ptr long ptr ptr ptr ptr) OleCreateFromData + 93 stdcall OleCreateFromFile(ptr ptr ptr long ptr ptr ptr ptr) OleCreateFromFile + 94 stdcall OleCreateLink(ptr ptr long ptr ptr ptr ptr) OleCreateLink + 95 stdcall OleCreateLinkFromData(ptr ptr long ptr ptr ptr ptr) OleCreateLinkFromData + 96 stdcall OleCreateLinkToFile(ptr ptr long ptr ptr ptr ptr) OleCreateLinkToFile 97 stdcall OleCreateMenuDescriptor(long ptr) OleCreateMenuDescriptor - 98 stub OleCreateStaticFromData + 98 stdcall OleCreateStaticFromData(ptr ptr long ptr ptr ptr ptr) OleCreateStaticFromData 99 stdcall OleDestroyMenuDescriptor(long) OleDestroyMenuDescriptor 100 stub OleDoAutoConvert 101 stub OleDraw -102 stub OleDuplicateData -103 stub OleFlushClipboard +102 stdcall OleDuplicateData(long long long) OleDuplicateData +103 stdcall OleFlushClipboard() OleFlushClipboard 104 stub OleGetAutoConvert -105 stdcall OleGetClipboard(ptr) OleGetClipboard32 -106 stub OleGetIconOfClass +105 stdcall OleGetClipboard(ptr) OleGetClipboard +106 stdcall OleGetIconOfClass(ptr ptr long) OleGetIconOfClass 107 stub OleGetIconOfFile 108 stdcall OleInitialize(ptr) OleInitialize 109 stdcall OleInitializeWOW(long) OleInitializeWOW 110 stdcall OleIsCurrentClipboard(ptr) OleIsCurrentClipboard -111 stub OleIsRunning -112 stub OleLoad -113 stub OleLoadFromStream -114 stub OleLockRunning +111 stdcall OleIsRunning(ptr) OleIsRunning +112 stdcall OleLoad(ptr ptr ptr ptr) OleLoad +113 stdcall OleLoadFromStream(ptr ptr ptr) OleLoadFromStream +114 stdcall OleLockRunning(ptr long long) OleLockRunning 115 stub OleMetafilePictFromIconAndLabel 116 stub OleNoteObjectVisible -117 stub OleQueryCreateFromData -118 stdcall OleQueryLinkFromData(ptr) OleQueryLinkFromData32 +117 stdcall OleQueryCreateFromData(ptr) OleQueryCreateFromData +118 stdcall OleQueryLinkFromData(ptr) OleQueryLinkFromData 119 stub OleRegEnumFormatEtc -120 stub OleRegEnumVerbs -121 stdcall OleRegGetMiscStatus(ptr long ptr) OleRegGetMiscStatus32 +120 stdcall OleRegEnumVerbs(long ptr) OleRegEnumVerbs +121 stdcall OleRegGetMiscStatus(ptr long ptr) OleRegGetMiscStatus 122 stdcall OleRegGetUserType(long long ptr) OleRegGetUserType -123 stub OleRun -124 stub OleSave -125 stub OleSaveToStream +123 stdcall OleRun(ptr) OleRun +124 stdcall OleSave(ptr ptr long) OleSave +125 stdcall OleSaveToStream(ptr ptr) OleSaveToStream 126 stub OleSetAutoConvert 127 stdcall OleSetClipboard(ptr) OleSetClipboard -128 stub OleSetContainedObject +128 stdcall OleSetContainedObject(ptr long) OleSetContainedObject 129 stdcall OleSetMenuDescriptor(long long long ptr ptr) OleSetMenuDescriptor -130 stub OleTranslateAccelerator +130 stdcall OleTranslateAccelerator(ptr ptr ptr) OleTranslateAccelerator 131 stdcall OleUninitialize() OleUninitialize 132 stub OpenOrCreateStream 133 stub ProgIDFromCLSID -134 stdcall ReadClassStg(ptr ptr) ReadClassStg -135 stdcall ReadClassStm(ptr ptr) ReadClassStm -136 stub ReadFmtUserTypeStg +134 stdcall ReadClassStg(ptr ptr) ReadClassStg +135 stdcall ReadClassStm(ptr ptr) ReadClassStm +136 stdcall ReadFmtUserTypeStg(ptr ptr ptr) ReadFmtUserTypeStg 137 stub ReadOleStg 138 stub ReadStringStream 139 stdcall RegisterDragDrop(long ptr) RegisterDragDrop 140 stdcall ReleaseStgMedium(ptr) ReleaseStgMedium 141 stdcall RevokeDragDrop(long) RevokeDragDrop -142 stub SetConvertStg +142 stdcall SetConvertStg(ptr long) SetConvertStg 143 stub SetDocumentBitStg 144 stdcall StgCreateDocfile(wstr long long ptr) StgCreateDocfile -145 stub StgCreateDocfileOnILockBytes +145 stdcall StgCreateDocfileOnILockBytes(ptr long long ptr) StgCreateDocfileOnILockBytes 146 stdcall StgIsStorageFile(wstr) StgIsStorageFile 147 stub StgIsStorageILockBytes 148 stdcall StgOpenStorage(wstr ptr long ptr long ptr) StgOpenStorage -149 stub StgOpenStorageOnILockBytes +149 stdcall StgOpenStorageOnILockBytes(ptr ptr long long long ptr) StgOpenStorageOnILockBytes 150 stub StgSetTimes 151 stdcall StringFromCLSID(ptr ptr) StringFromCLSID 152 stdcall StringFromGUID2(ptr ptr long) StringFromGUID2 @@ -160,7 +160,7 @@ type win32 157 stub UtGetDvtd32Info 158 stdcall WriteClassStg(ptr ptr) WriteClassStg 159 stdcall WriteClassStm(ptr ptr) WriteClassStm -160 stub WriteFmtUserTypeStg +160 stdcall WriteFmtUserTypeStg(ptr long ptr) WriteFmtUserTypeStg 161 stub WriteOleStg 162 stub WriteStringStream 163 stdcall CoInitializeEx(ptr long) CoInitializeEx diff --git a/relay32/oleaut32.spec b/relay32/oleaut32.spec index f756cc4ffe0..7b5de51e14e 100644 --- a/relay32/oleaut32.spec +++ b/relay32/oleaut32.spec @@ -95,7 +95,7 @@ type win32 101 stdcall VarCyFromR4(long ptr) VarCyFromR4 102 stdcall VarCyFromR8(double ptr) VarCyFromR8 103 stdcall VarCyFromDate(double ptr) VarCyFromDate -104 stub VarCyFromStr +104 stdcall VarCyFromStr(ptr long long ptr) VarCyFromStr 105 stub VarCyFromDisp 106 stdcall VarCyFromBool(long ptr) VarCyFromBool 108 stdcall VarBstrFromUI1(long long long ptr) VarBstrFromUI1 @@ -103,7 +103,7 @@ type win32 110 stdcall VarBstrFromI4(long long long ptr) VarBstrFromI4 111 stdcall VarBstrFromR4(long long long ptr) VarBstrFromR4 112 stdcall VarBstrFromR8(double long long ptr) VarBstrFromR8 -113 stub VarBstrFromCy +113 stdcall VarBstrFromCy(double long long ptr) VarBstrFromCy 114 stdcall VarBstrFromDate(long long long ptr) VarBstrFromDate 115 stub VarBstrFromDisp 116 stdcall VarBstrFromBool(long long long ptr) VarBstrFromBool diff --git a/relay32/user32.spec b/relay32/user32.spec index d33151f91c8..21ed35c0fe2 100644 --- a/relay32/user32.spec +++ b/relay32/user32.spec @@ -548,7 +548,7 @@ init MAIN_UserInit 544 stub TileChildWindows 545 stdcall TileWindows(long long ptr long ptr) TileWindows 546 stdcall ToAscii(long long ptr ptr long) ToAscii -547 stub ToAsciiEx +547 stdcall ToAsciiEx(long long ptr ptr long long) ToAsciiEx 548 stdcall ToUnicode(long long ptr wstr long long) ToUnicode 549 stdcall TrackPopupMenu(long long long long long long ptr) TrackPopupMenu 550 stdcall TrackPopupMenuEx(long long long long long ptr) TrackPopupMenuEx @@ -575,8 +575,8 @@ init MAIN_UserInit 571 stdcall ValidateRect(long ptr) ValidateRect 572 stdcall ValidateRgn(long long) ValidateRgn 573 stdcall VkKeyScanA(long) VkKeyScanA -574 stub VkKeyScanExA -575 stub VkKeyScanExW +574 stdcall VkKeyScanExA(long long) VkKeyScanExA +575 stdcall VkKeyScanExW(long long) VkKeyScanExW 576 stdcall VkKeyScanW(long) VkKeyScanW 577 stdcall WaitForInputIdle(long long) WaitForInputIdle 578 stdcall WaitMessage() WaitMessage diff --git a/windows/input.c b/windows/input.c index 4d34e4b5065..3ddee0896e5 100644 --- a/windows/input.c +++ b/windows/input.c @@ -744,6 +744,24 @@ WORD WINAPI VkKeyScanW(WCHAR cChar) return VkKeyScanA((CHAR)cChar); /* FIXME: check unicode */ } +/********************************************************************** + * VkKeyScanExA (USER32.574) + */ +WORD WINAPI VkKeyScanExA(CHAR cChar, HKL dwhkl) +{ + /* FIXME: complete workaround this is */ + return VkKeyScan16(cChar); +} + +/****************************************************************************** + * VkKeyScanExW (USER32.575) + */ +WORD WINAPI VkKeyScanExW(WCHAR cChar, HKL dwhkl) +{ + /* FIXME: complete workaround this is */ + return VkKeyScanA((CHAR)cChar); /* FIXME: check unicode */ +} + /****************************************************************************** * GetKeyboardType32 (USER32.255) */ @@ -861,6 +879,16 @@ INT WINAPI ToAscii( UINT virtKey,UINT scanCode,LPBYTE lpKeyState, return ToAscii16(virtKey,scanCode,lpKeyState,lpChar,flags); } +/**************************************************************************** + * ToAscii32 (USER32.547) + */ +INT WINAPI ToAsciiEx( UINT virtKey, UINT scanCode, LPBYTE lpKeyState, + LPWORD lpChar, UINT flags, HKL dwhkl ) +{ + /* FIXME: need true implementation */ + return ToAscii16(virtKey,scanCode,lpKeyState,lpChar,flags); +} + /********************************************************************** * ActivateKeyboardLayout32 (USER32.1) *