Author: akhaldi Date: Fri Aug 19 09:38:43 2016 New Revision: 72348
URL: http://svn.reactos.org/svn/reactos?rev=72348&view=rev Log: [OLE32] Sync with Wine Staging 1.9.16. CORE-11866
Modified: trunk/reactos/dll/win32/ole32/classmoniker.c trunk/reactos/dll/win32/ole32/clipboard.c trunk/reactos/dll/win32/ole32/comcat.c trunk/reactos/dll/win32/ole32/compobj.c trunk/reactos/dll/win32/ole32/datacache.c trunk/reactos/dll/win32/ole32/ftmarshal.c trunk/reactos/dll/win32/ole32/marshal.c trunk/reactos/dll/win32/ole32/moniker.c trunk/reactos/dll/win32/ole32/ole2.c trunk/reactos/dll/win32/ole32/ole2stubs.c trunk/reactos/dll/win32/ole32/ole32.spec trunk/reactos/dll/win32/ole32/stg_prop.c trunk/reactos/media/doc/README.WINE
Modified: trunk/reactos/dll/win32/ole32/classmoniker.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/ole32/classmonike... ============================================================================== --- trunk/reactos/dll/win32/ole32/classmoniker.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/ole32/classmoniker.c [iso-8859-1] Fri Aug 19 09:38:43 2016 @@ -218,7 +218,7 @@ IClassActivator *pActivator; HRESULT hr;
- TRACE("(%p,%p,%p,%p)\n", pbc, pmkToLeft, riid, ppvResult); + TRACE("(%p, %p, %s, %p)\n", pbc, pmkToLeft, debugstr_guid(riid), ppvResult);
bindopts.cbStruct = sizeof(bindopts); IBindCtx_GetBindOptions(pbc, (BIND_OPTS *)&bindopts); @@ -251,7 +251,7 @@ REFIID riid, VOID** ppvResult) { - TRACE("(%p,%p,%p,%p)\n",pbc, pmkToLeft, riid, ppvResult); + TRACE("(%p, %p, %s, %p)\n", pbc, pmkToLeft, debugstr_guid(riid), ppvResult); return IMoniker_BindToObject(iface, pbc, pmkToLeft, riid, ppvResult); }
@@ -573,7 +573,7 @@
ClassMoniker *This = impl_from_IROTData(iface);
- TRACE("(%p,%p,%p)\n",iface,riid,ppvObject); + TRACE("(%p, %s, %p)\n", iface, debugstr_guid(riid), ppvObject);
return IMoniker_QueryInterface(&This->IMoniker_iface, riid, ppvObject); }
Modified: trunk/reactos/dll/win32/ole32/clipboard.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/ole32/clipboard.c... ============================================================================== --- trunk/reactos/dll/win32/ole32/clipboard.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/ole32/clipboard.c [iso-8859-1] Fri Aug 19 09:38:43 2016 @@ -1799,7 +1799,7 @@ * * Enumerate all formats supported by the source and make * those formats available using delayed rendering using SetClipboardData. - * Cache the enumeration list and make that list visibile as the + * Cache the enumeration list and make that list visible as the * 'Ole Private Data' format on the clipboard. * */
Modified: trunk/reactos/dll/win32/ole32/comcat.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/ole32/comcat.c?re... ============================================================================== --- trunk/reactos/dll/win32/ole32/comcat.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/ole32/comcat.c [iso-8859-1] Fri Aug 19 09:38:43 2016 @@ -229,11 +229,7 @@ if (res != ERROR_SUCCESS) return S_FALSE; for (string = impl_strings; *string; string += CHARS_IN_GUID) { HKEY catkey; -#ifdef __REACTOS__ res = open_classes_key(subkey, string, READ_CONTROL, &catkey); -#else - res = open_classes_key(subkey, string, 0, &catkey); -#endif if (res != ERROR_SUCCESS) { RegCloseKey(subkey); return S_FALSE;
Modified: trunk/reactos/dll/win32/ole32/compobj.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/ole32/compobj.c?r... ============================================================================== --- trunk/reactos/dll/win32/ole32/compobj.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/ole32/compobj.c [iso-8859-1] Fri Aug 19 09:38:43 2016 @@ -4967,8 +4967,8 @@ context->IComThreadingInfo_iface.lpVtbl = &Context_Threading_Vtbl; context->IContextCallback_iface.lpVtbl = &Context_Callback_Vtbl; context->IObjContext_iface.lpVtbl = &Context_Object_Vtbl; - /* Context token does not take a reference, it's always zero until - interface is explicitely requested with CoGetObjectContext(). */ + /* Context token does not take a reference, it's always zero until the + interface is explicitly requested with CoGetObjectContext(). */ context->refs = 0;
info->context_token = &context->IObjContext_iface;
Modified: trunk/reactos/dll/win32/ole32/datacache.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/ole32/datacache.c... ============================================================================== --- trunk/reactos/dll/win32/ole32/datacache.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/ole32/datacache.c [iso-8859-1] Fri Aug 19 09:38:43 2016 @@ -117,8 +117,8 @@ /* * List all interface here */ + IUnknown IUnknown_inner; IDataObject IDataObject_iface; - IUnknown IUnknown_iface; IPersistStorage IPersistStorage_iface; IViewObject2 IViewObject2_iface; IOleCache2 IOleCache2_iface; @@ -136,7 +136,7 @@ /* * IUnknown implementation of the outer object. */ - IUnknown* outerUnknown; + IUnknown *outer_unk;
/* * The user of this object can setup ONE advise sink @@ -174,7 +174,7 @@
static inline DataCache *impl_from_IUnknown( IUnknown *iface ) { - return CONTAINING_RECORD(iface, DataCache, IUnknown_iface); + return CONTAINING_RECORD(iface, DataCache, IUnknown_inner); }
static inline DataCache *impl_from_IPersistStorage( IPersistStorage *iface ) @@ -956,7 +956,7 @@ { DataCache *this = impl_from_IDataObject(iface);
- return IUnknown_QueryInterface(this->outerUnknown, riid, ppvObject); + return IUnknown_QueryInterface(this->outer_unk, riid, ppvObject); }
/************************************************************************ @@ -967,7 +967,7 @@ { DataCache *this = impl_from_IDataObject(iface);
- return IUnknown_AddRef(this->outerUnknown); + return IUnknown_AddRef(this->outer_unk); }
/************************************************************************ @@ -978,7 +978,7 @@ { DataCache *this = impl_from_IDataObject(iface);
- return IUnknown_Release(this->outerUnknown); + return IUnknown_Release(this->outer_unk); }
/************************************************************************ @@ -1136,7 +1136,7 @@ { DataCache *this = impl_from_IPersistStorage(iface);
- return IUnknown_QueryInterface(this->outerUnknown, riid, ppvObject); + return IUnknown_QueryInterface(this->outer_unk, riid, ppvObject); }
/************************************************************************ @@ -1147,7 +1147,7 @@ { DataCache *this = impl_from_IPersistStorage(iface);
- return IUnknown_AddRef(this->outerUnknown); + return IUnknown_AddRef(this->outer_unk); }
/************************************************************************ @@ -1158,7 +1158,7 @@ { DataCache *this = impl_from_IPersistStorage(iface);
- return IUnknown_Release(this->outerUnknown); + return IUnknown_Release(this->outer_unk); }
/************************************************************************ @@ -1497,7 +1497,7 @@ { DataCache *this = impl_from_IViewObject2(iface);
- return IUnknown_QueryInterface(this->outerUnknown, riid, ppvObject); + return IUnknown_QueryInterface(this->outer_unk, riid, ppvObject); }
/************************************************************************ @@ -1508,7 +1508,7 @@ { DataCache *this = impl_from_IViewObject2(iface);
- return IUnknown_AddRef(this->outerUnknown); + return IUnknown_AddRef(this->outer_unk); }
/************************************************************************ @@ -1519,7 +1519,7 @@ { DataCache *this = impl_from_IViewObject2(iface);
- return IUnknown_Release(this->outerUnknown); + return IUnknown_Release(this->outer_unk); }
/************************************************************************ @@ -1921,7 +1921,7 @@ { DataCache *this = impl_from_IOleCache2(iface);
- return IUnknown_QueryInterface(this->outerUnknown, riid, ppvObject); + return IUnknown_QueryInterface(this->outer_unk, riid, ppvObject); }
/************************************************************************ @@ -1932,7 +1932,7 @@ { DataCache *this = impl_from_IOleCache2(iface);
- return IUnknown_AddRef(this->outerUnknown); + return IUnknown_AddRef(this->outer_unk); }
/************************************************************************ @@ -1943,7 +1943,7 @@ { DataCache *this = impl_from_IOleCache2(iface);
- return IUnknown_Release(this->outerUnknown); + return IUnknown_Release(this->outer_unk); }
/***************************************************************************** @@ -2120,7 +2120,7 @@ { DataCache *this = impl_from_IOleCacheControl(iface);
- return IUnknown_QueryInterface(this->outerUnknown, riid, ppvObject); + return IUnknown_QueryInterface(this->outer_unk, riid, ppvObject); }
/************************************************************************ @@ -2131,7 +2131,7 @@ { DataCache *this = impl_from_IOleCacheControl(iface);
- return IUnknown_AddRef(this->outerUnknown); + return IUnknown_AddRef(this->outer_unk); }
/************************************************************************ @@ -2142,7 +2142,7 @@ { DataCache *this = impl_from_IOleCacheControl(iface);
- return IUnknown_Release(this->outerUnknown); + return IUnknown_Release(this->outer_unk); }
/************************************************************************ @@ -2364,29 +2364,14 @@ * Initialize the virtual function table. */ newObject->IDataObject_iface.lpVtbl = &DataCache_IDataObject_VTable; - newObject->IUnknown_iface.lpVtbl = &DataCache_NDIUnknown_VTable; + newObject->IUnknown_inner.lpVtbl = &DataCache_NDIUnknown_VTable; newObject->IPersistStorage_iface.lpVtbl = &DataCache_IPersistStorage_VTable; newObject->IViewObject2_iface.lpVtbl = &DataCache_IViewObject2_VTable; newObject->IOleCache2_iface.lpVtbl = &DataCache_IOleCache2_VTable; newObject->IOleCacheControl_iface.lpVtbl = &DataCache_IOleCacheControl_VTable; newObject->IAdviseSink_iface.lpVtbl = &DataCache_IAdviseSink_VTable; - - /* - * Start with one reference count. The caller of this function - * must release the interface pointer when it is done. - */ + newObject->outer_unk = pUnkOuter ? pUnkOuter : &newObject->IUnknown_inner; newObject->ref = 1; - - /* - * Initialize the outer unknown - * We don't keep a reference on the outer unknown since, the way - * aggregation works, our lifetime is at least as large as its - * lifetime. - */ - if (pUnkOuter==NULL) - pUnkOuter = &newObject->IUnknown_iface; - - newObject->outerUnknown = pUnkOuter;
/* * Initialize the other members of the structure. @@ -2461,16 +2446,8 @@ if (newCache == 0) return E_OUTOFMEMORY;
- /* - * Make sure it supports the interface required by the caller. - */ - hr = IUnknown_QueryInterface(&newCache->IUnknown_iface, riid, ppvObj); - - /* - * Release the reference obtained in the constructor. If - * the QueryInterface was unsuccessful, it will free the class. - */ - IUnknown_Release(&newCache->IUnknown_iface); + hr = IUnknown_QueryInterface(&newCache->IUnknown_inner, riid, ppvObj); + IUnknown_Release(&newCache->IUnknown_inner);
return hr; }
Modified: trunk/reactos/dll/win32/ole32/ftmarshal.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/ole32/ftmarshal.c... ============================================================================== --- trunk/reactos/dll/win32/ole32/ftmarshal.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/ole32/ftmarshal.c [iso-8859-1] Fri Aug 19 09:38:43 2016 @@ -23,16 +23,15 @@ WINE_DEFAULT_DEBUG_CHANNEL(ole);
typedef struct _FTMarshalImpl { - IUnknown IUnknown_iface; - LONG ref; + IUnknown IUnknown_inner; IMarshal IMarshal_iface; - - IUnknown *pUnkOuter; + IUnknown *outer_unk; + LONG ref; } FTMarshalImpl;
static inline FTMarshalImpl *impl_from_IUnknown(IUnknown *iface) { - return CONTAINING_RECORD(iface, FTMarshalImpl, IUnknown_iface); + return CONTAINING_RECORD(iface, FTMarshalImpl, IUnknown_inner); }
static inline FTMarshalImpl *impl_from_IMarshal( IMarshal *iface ) @@ -51,7 +50,7 @@ *ppv = NULL;
if (IsEqualIID (&IID_IUnknown, riid)) - *ppv = &This->IUnknown_iface; + *ppv = &This->IUnknown_inner; else if (IsEqualIID (&IID_IMarshal, riid)) *ppv = &This->IMarshal_iface; else { @@ -97,7 +96,7 @@ FTMarshalImpl *This = impl_from_IMarshal(iface);
TRACE ("(%p)->(%s,%p)\n", This, debugstr_guid (riid), ppv); - return IUnknown_QueryInterface (This->pUnkOuter, riid, ppv); + return IUnknown_QueryInterface(This->outer_unk, riid, ppv); }
static ULONG WINAPI @@ -107,7 +106,7 @@ FTMarshalImpl *This = impl_from_IMarshal(iface);
TRACE ("\n"); - return IUnknown_AddRef (This->pUnkOuter); + return IUnknown_AddRef(This->outer_unk); }
static ULONG WINAPI @@ -117,7 +116,7 @@ FTMarshalImpl *This = impl_from_IMarshal(iface);
TRACE ("\n"); - return IUnknown_Release (This->pUnkOuter); + return IUnknown_Release(This->outer_unk); }
static HRESULT WINAPI @@ -326,12 +325,12 @@ if (!ftm) return E_OUTOFMEMORY;
- ftm->IUnknown_iface.lpVtbl = &iunkvt; + ftm->IUnknown_inner.lpVtbl = &iunkvt; ftm->IMarshal_iface.lpVtbl = &ftmvtbl; ftm->ref = 1; - ftm->pUnkOuter = punkOuter ? punkOuter : &ftm->IUnknown_iface; - - *ppunkMarshal = &ftm->IUnknown_iface; + ftm->outer_unk = punkOuter ? punkOuter : &ftm->IUnknown_inner; + + *ppunkMarshal = &ftm->IUnknown_inner; return S_OK; }
Modified: trunk/reactos/dll/win32/ole32/marshal.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/ole32/marshal.c?r... ============================================================================== --- trunk/reactos/dll/win32/ole32/marshal.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/ole32/marshal.c [iso-8859-1] Fri Aug 19 09:38:43 2016 @@ -57,6 +57,11 @@ void *dest_context_data; /* reserved context value (LOCK) */ };
+static inline struct proxy_manager *impl_from_IMultiQI( IMultiQI *iface ) +{ + return CONTAINING_RECORD(iface, struct proxy_manager, IMultiQI_iface); +} + static inline struct proxy_manager *impl_from_IMarshal( IMarshal *iface ) { return CONTAINING_RECORD(iface, struct proxy_manager, IMarshal_iface); @@ -215,16 +220,16 @@ return hr; }
-static ULONG WINAPI ClientIdentity_AddRef(IMultiQI * iface) -{ - struct proxy_manager * This = (struct proxy_manager *)iface; +static ULONG WINAPI ClientIdentity_AddRef(IMultiQI *iface) +{ + struct proxy_manager *This = impl_from_IMultiQI(iface); TRACE("%p - before %d\n", iface, This->refs); return InterlockedIncrement(&This->refs); }
-static ULONG WINAPI ClientIdentity_Release(IMultiQI * iface) -{ - struct proxy_manager * This = (struct proxy_manager *)iface; +static ULONG WINAPI ClientIdentity_Release(IMultiQI *iface) +{ + struct proxy_manager *This = impl_from_IMultiQI(iface); ULONG refs = InterlockedDecrement(&This->refs); TRACE("%p - after %d\n", iface, refs); if (!refs) @@ -234,7 +239,7 @@
static HRESULT WINAPI ClientIdentity_QueryMultipleInterfaces(IMultiQI *iface, ULONG cMQIs, MULTI_QI *pMQIs) { - struct proxy_manager * This = (struct proxy_manager *)iface; + struct proxy_manager *This = impl_from_IMultiQI(iface); REMQIRESULT *qiresults = NULL; ULONG nonlocal_mqis = 0; ULONG i;
Modified: trunk/reactos/dll/win32/ole32/moniker.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/ole32/moniker.c?r... ============================================================================== --- trunk/reactos/dll/win32/ole32/moniker.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/ole32/moniker.c [iso-8859-1] Fri Aug 19 09:38:43 2016 @@ -1247,13 +1247,17 @@ }
ret = RegQueryValueW(HKEY_CLASSES_ROOT, extension, NULL, &sizeProgId); - - /* get the progId associated to the extension */ - progId = CoTaskMemAlloc(sizeProgId); - ret = RegQueryValueW(HKEY_CLASSES_ROOT, extension, progId, &sizeProgId); - if (!ret) - /* return the clsid associated to the progId */ - res = CLSIDFromProgID(progId,pclsid); + if (!ret) { + /* get the progId associated to the extension */ + progId = CoTaskMemAlloc(sizeProgId); + ret = RegQueryValueW(HKEY_CLASSES_ROOT, extension, progId, &sizeProgId); + if (!ret) + /* return the clsid associated to the progId */ + res = CLSIDFromProgID(progId, pclsid); + else + res = HRESULT_FROM_WIN32(ret); + CoTaskMemFree(progId); + } else res = HRESULT_FROM_WIN32(ret);
@@ -1261,7 +1265,6 @@ CoTaskMemFree(pathDec[i]); CoTaskMemFree(pathDec);
- CoTaskMemFree(progId); return res != S_OK ? MK_E_INVALIDEXTENSION : res; }
@@ -1506,7 +1509,7 @@ if (IsEqualIID(&IID_IUnknown, riid) || IsEqualIID(&IID_IMarshal, riid)) { *ppv = &This->IMarshal_iface; - IUnknown_AddRef((IUnknown *)&This->IMarshal_iface); + IMarshal_AddRef(&This->IMarshal_iface); return S_OK; } FIXME("No interface for %s\n", debugstr_guid(riid));
Modified: trunk/reactos/dll/win32/ole32/ole2.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/ole32/ole2.c?rev=... ============================================================================== --- trunk/reactos/dll/win32/ole32/ole2.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/ole32/ole2.c [iso-8859-1] Fri Aug 19 09:38:43 2016 @@ -2689,8 +2689,7 @@ { ULONG i; for (i = 0; i < count; i++) - if (pClipDataArray[i].pClipData) - CoTaskMemFree(pClipDataArray[i].pClipData); + CoTaskMemFree(pClipDataArray[i].pClipData); }
/***********************************************************************
Modified: trunk/reactos/dll/win32/ole32/ole2stubs.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/ole32/ole2stubs.c... ============================================================================== --- trunk/reactos/dll/win32/ole32/ole2stubs.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/ole32/ole2stubs.c [iso-8859-1] Fri Aug 19 09:38:43 2016 @@ -74,3 +74,12 @@ FIXME("stub!\n"); return E_NOTIMPL; } + +/*********************************************************************** + * OleGetIconOfFile [OLE32.@] + */ +HGLOBAL WINAPI OleGetIconOfFile(LPOLESTR path, BOOL use_file_as_label) +{ + FIXME("(%p, %d), stub!\n", path, use_file_as_label); + return NULL; +}
Modified: trunk/reactos/dll/win32/ole32/ole32.spec URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/ole32/ole32.spec?... ============================================================================== --- trunk/reactos/dll/win32/ole32/ole32.spec [iso-8859-1] (original) +++ trunk/reactos/dll/win32/ole32/ole32.spec [iso-8859-1] Fri Aug 19 09:38:43 2016 @@ -236,7 +236,7 @@ @ stdcall OleGetAutoConvert(ptr ptr) @ stdcall OleGetClipboard(ptr) @ stdcall OleGetIconOfClass(ptr ptr long) -@ stub OleGetIconOfFile +@ stdcall OleGetIconOfFile(ptr long) @ stdcall OleInitialize(ptr) @ stdcall OleInitializeWOW(long long) @ stdcall OleIsCurrentClipboard(ptr) @@ -292,14 +292,14 @@ @ stdcall StgCreateDocfile(wstr long long ptr) @ stdcall StgCreateDocfileOnILockBytes(ptr long long ptr) @ stdcall StgCreatePropSetStg(ptr long ptr) -# StgCreatePropStg +@ stdcall StgCreatePropStg(ptr ptr ptr long long ptr) @ stdcall StgCreateStorageEx(wstr long long long ptr ptr ptr ptr) @ stub StgGetIFillLockBytesOnFile @ stub StgGetIFillLockBytesOnILockBytes @ stdcall StgIsStorageFile(wstr) @ stdcall StgIsStorageILockBytes(ptr) @ stub StgOpenAsyncDocfileOnIFillLockBytes -# StgOpenPropStg +@ stdcall StgOpenPropStg(ptr ptr long long ptr) @ stdcall StgOpenStorage(wstr ptr long ptr long ptr) @ stdcall StgOpenStorageEx(wstr long long long ptr ptr ptr ptr) # StgOpenStorageOnHandle
Modified: trunk/reactos/dll/win32/ole32/stg_prop.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/ole32/stg_prop.c?... ============================================================================== --- trunk/reactos/dll/win32/ole32/stg_prop.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/ole32/stg_prop.c [iso-8859-1] Fri Aug 19 09:38:43 2016 @@ -2168,7 +2168,7 @@ IPropertyStorage** ppprstg) { StorageImpl *This = impl_from_IPropertySetStorage(ppstg); - WCHAR name[CCH_MAX_PROPSTG_NAME]; + WCHAR name[CCH_MAX_PROPSTG_NAME + 1]; IStream *stm = NULL; HRESULT r;
@@ -2226,7 +2226,7 @@ { StorageImpl *This = impl_from_IPropertySetStorage(ppstg); IStream *stm = NULL; - WCHAR name[CCH_MAX_PROPSTG_NAME]; + WCHAR name[CCH_MAX_PROPSTG_NAME + 1]; HRESULT r;
TRACE("%p %s %08x %p\n", This, debugstr_guid(rfmtid), grfMode, ppprstg); @@ -2270,7 +2270,7 @@ REFFMTID rfmtid) { StorageImpl *This = impl_from_IPropertySetStorage(ppstg); - WCHAR name[CCH_MAX_PROPSTG_NAME]; + WCHAR name[CCH_MAX_PROPSTG_NAME + 1]; HRESULT r;
TRACE("%p %s\n", This, debugstr_guid(rfmtid));
Modified: trunk/reactos/media/doc/README.WINE URL: http://svn.reactos.org/svn/reactos/trunk/reactos/media/doc/README.WINE?rev=7... ============================================================================== --- trunk/reactos/media/doc/README.WINE [iso-8859-1] (original) +++ trunk/reactos/media/doc/README.WINE [iso-8859-1] Fri Aug 19 09:38:43 2016 @@ -142,7 +142,7 @@ reactos/dll/win32/objsel # Synced to WineStaging-1.9.11 reactos/dll/win32/odbc32 # Synced to WineStaging-1.9.11. Depends on port of Linux ODBC. reactos/dll/win32/odbccp32 # Synced to WineStaging-1.9.11 -reactos/dll/win32/ole32 # Synced to WineStaging-1.9.11 +reactos/dll/win32/ole32 # Synced to WineStaging-1.9.16 reactos/dll/win32/oleacc # Synced to WineStaging-1.9.11 reactos/dll/win32/oleaut32 # Synced to WineStaging-1.9.16 reactos/dll/win32/olecli32 # Synced to WineStaging-1.9.11