Signed-off-by: Nikolay Sivov nsivov@codeweavers.com --- dlls/combase/combase.c | 23 ++++++++ dlls/combase/combase.spec | 2 +- dlls/ole32/compobj.c | 108 -------------------------------------- dlls/ole32/ole32.spec | 2 +- 4 files changed, 25 insertions(+), 110 deletions(-)
diff --git a/dlls/combase/combase.c b/dlls/combase/combase.c index 2bfd1d79a7d..205a27b8115 100644 --- a/dlls/combase/combase.c +++ b/dlls/combase/combase.c @@ -1075,6 +1075,29 @@ HRESULT WINAPI CLSIDFromString(LPCOLESTR str, LPCLSID clsid) return hr; }
+/****************************************************************************** + * IIDFromString (combase.@) + */ +HRESULT WINAPI IIDFromString(LPCOLESTR str, IID *iid) +{ + TRACE("%s, %p\n", debugstr_w(str), iid); + + if (!str) + { + memset(iid, 0, sizeof(*iid)); + return S_OK; + } + + /* length mismatch is a special case */ + if (lstrlenW(str) + 1 != CHARS_IN_GUID) + return E_INVALIDARG; + + if (str[0] != '{') + return CO_E_IIDSTRING; + + return guid_from_string(str, iid) ? S_OK : CO_E_IIDSTRING; +} + static void init_multi_qi(DWORD count, MULTI_QI *mqi, HRESULT hr) { ULONG i; diff --git a/dlls/combase/combase.spec b/dlls/combase/combase.spec index 97e8f254dcb..c0c1f2ada6a 100644 --- a/dlls/combase/combase.spec +++ b/dlls/combase/combase.spec @@ -231,7 +231,7 @@ @ stdcall HWND_UserSize(ptr long ptr) @ stdcall HWND_UserUnmarshal(ptr ptr ptr) @ stub HkOleRegisterObject -@ stdcall IIDFromString(wstr ptr) ole32.IIDFromString +@ stdcall IIDFromString(wstr ptr) @ stub InternalAppInvokeExceptionFilter @ stub InternalCCFreeUnused @ stub InternalCCGetClassInformationForDde diff --git a/dlls/ole32/compobj.c b/dlls/ole32/compobj.c index ff0c352c645..97158685845 100644 --- a/dlls/ole32/compobj.c +++ b/dlls/ole32/compobj.c @@ -2186,114 +2186,6 @@ HRESULT WINAPI CoDisconnectObject( LPUNKNOWN lpUnk, DWORD reserved ) return S_OK; }
-static inline BOOL is_valid_hex(WCHAR c) -{ - if (!(((c >= '0') && (c <= '9')) || - ((c >= 'a') && (c <= 'f')) || - ((c >= 'A') && (c <= 'F')))) - return FALSE; - return TRUE; -} - -static const BYTE guid_conv_table[256] = -{ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x00 */ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x10 */ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x20 */ - 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 0, 0, 0, 0, 0, /* 0x30 */ - 0, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x40 */ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x50 */ - 0, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf /* 0x60 */ -}; - -/* conversion helper for CLSIDFromString/IIDFromString */ -static BOOL guid_from_string(LPCWSTR s, GUID *id) -{ - int i; - - if (!s || s[0]!='{') { - memset( id, 0, sizeof (CLSID) ); - if(!s) return TRUE; - return FALSE; - } - - TRACE("%s -> %p\n", debugstr_w(s), id); - - /* in form {XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX} */ - - id->Data1 = 0; - for (i = 1; i < 9; i++) { - if (!is_valid_hex(s[i])) return FALSE; - id->Data1 = (id->Data1 << 4) | guid_conv_table[s[i]]; - } - if (s[9]!='-') return FALSE; - - id->Data2 = 0; - for (i = 10; i < 14; i++) { - if (!is_valid_hex(s[i])) return FALSE; - id->Data2 = (id->Data2 << 4) | guid_conv_table[s[i]]; - } - if (s[14]!='-') return FALSE; - - id->Data3 = 0; - for (i = 15; i < 19; i++) { - if (!is_valid_hex(s[i])) return FALSE; - id->Data3 = (id->Data3 << 4) | guid_conv_table[s[i]]; - } - if (s[19]!='-') return FALSE; - - for (i = 20; i < 37; i+=2) { - if (i == 24) { - if (s[i]!='-') return FALSE; - i++; - } - if (!is_valid_hex(s[i]) || !is_valid_hex(s[i+1])) return FALSE; - id->Data4[(i-20)/2] = guid_conv_table[s[i]] << 4 | guid_conv_table[s[i+1]]; - } - - if (s[37] == '}' && s[38] == '\0') - return TRUE; - - return FALSE; -} - -/****************************************************************************** - * IIDFromString [OLE32.@] - * - * Converts an interface identifier from its string representation to - * the IID struct. - * - * PARAMS - * idstr [I] The string representation of the GUID. - * id [O] IID converted from the string. - * - * RETURNS - * S_OK on success - * CO_E_IIDSTRING if idstr is not a valid IID - * - * SEE ALSO - * StringFromIID - */ -HRESULT WINAPI IIDFromString(LPCOLESTR s, IID *iid) -{ - TRACE("%s -> %p\n", debugstr_w(s), iid); - - if (!s) - { - memset(iid, 0, sizeof(*iid)); - return S_OK; - } - - /* length mismatch is a special case */ - if (lstrlenW(s) + 1 != CHARS_IN_GUID) - return E_INVALIDARG; - - if (s[0] != '{') - return CO_E_IIDSTRING; - - return guid_from_string(s, iid) ? S_OK : CO_E_IIDSTRING; -} - /****************************************************************************** * StringFromCLSID [OLE32.@] * StringFromIID [OLE32.@] diff --git a/dlls/ole32/ole32.spec b/dlls/ole32/ole32.spec index f71fd52032b..cd530763c2c 100644 --- a/dlls/ole32/ole32.spec +++ b/dlls/ole32/ole32.spec @@ -171,7 +171,7 @@ @ stdcall HWND_UserMarshal(ptr ptr ptr) combase.HWND_UserMarshal @ stdcall HWND_UserSize(ptr long ptr) combase.HWND_UserSize @ stdcall HWND_UserUnmarshal(ptr ptr ptr) combase.HWND_UserUnmarshal -@ stdcall IIDFromString(wstr ptr) +@ stdcall IIDFromString(wstr ptr) combase.IIDFromString @ stub I_RemoteMain @ stdcall IsAccelerator(long long ptr ptr) @ stdcall IsEqualGUID(ptr ptr)
Signed-off-by: Nikolay Sivov nsivov@codeweavers.com --- dlls/combase/combase.c | 10 ++++++++++ dlls/combase/combase.spec | 4 ++-- dlls/ole32/compobj.c | 25 ------------------------- dlls/ole32/ole32.spec | 4 ++-- 4 files changed, 14 insertions(+), 29 deletions(-)
diff --git a/dlls/combase/combase.c b/dlls/combase/combase.c index 205a27b8115..7c6eaec7fa3 100644 --- a/dlls/combase/combase.c +++ b/dlls/combase/combase.c @@ -1098,6 +1098,16 @@ HRESULT WINAPI IIDFromString(LPCOLESTR str, IID *iid) return guid_from_string(str, iid) ? S_OK : CO_E_IIDSTRING; }
+/****************************************************************************** + * StringFromCLSID (combase.@) + */ +HRESULT WINAPI StringFromCLSID(REFCLSID clsid, LPOLESTR *str) +{ + if (!(*str = CoTaskMemAlloc(CHARS_IN_GUID * sizeof(WCHAR)))) return E_OUTOFMEMORY; + StringFromGUID2(clsid, *str, CHARS_IN_GUID); + return S_OK; +} + static void init_multi_qi(DWORD count, MULTI_QI *mqi, HRESULT hr) { ULONG i; diff --git a/dlls/combase/combase.spec b/dlls/combase/combase.spec index c0c1f2ada6a..d56294af4d9 100644 --- a/dlls/combase/combase.spec +++ b/dlls/combase/combase.spec @@ -318,9 +318,9 @@ @ stub SetCleanupFlag @ stdcall SetErrorInfo(long ptr) ole32.SetErrorInfo @ stub SetRestrictedErrorInfo -@ stdcall StringFromCLSID(ptr ptr) ole32.StringFromCLSID +@ stdcall StringFromCLSID(ptr ptr) @ stdcall StringFromGUID2(ptr ptr long) ole32.StringFromGUID2 -@ stdcall StringFromIID(ptr ptr) ole32.StringFromIID +@ stdcall StringFromIID(ptr ptr) StringFromCLSID @ stub UpdateDCOMSettings @ stdcall WdtpInterfacePointer_UserFree(ptr) @ stub -arch=win64 WdtpInterfacePointer_UserFree64 diff --git a/dlls/ole32/compobj.c b/dlls/ole32/compobj.c index 97158685845..ebcce6d390d 100644 --- a/dlls/ole32/compobj.c +++ b/dlls/ole32/compobj.c @@ -2186,31 +2186,6 @@ HRESULT WINAPI CoDisconnectObject( LPUNKNOWN lpUnk, DWORD reserved ) return S_OK; }
-/****************************************************************************** - * StringFromCLSID [OLE32.@] - * StringFromIID [OLE32.@] - * - * Converts a GUID into the respective string representation. - * The target string is allocated using the OLE IMalloc. - * - * PARAMS - * id [I] the GUID to be converted. - * idstr [O] A pointer to a to-be-allocated pointer pointing to the resulting string. - * - * RETURNS - * S_OK - * E_FAIL - * - * SEE ALSO - * StringFromGUID2, CLSIDFromString - */ -HRESULT WINAPI StringFromCLSID(REFCLSID id, LPOLESTR *idstr) -{ - if (!(*idstr = CoTaskMemAlloc(CHARS_IN_GUID * sizeof(WCHAR)))) return E_OUTOFMEMORY; - StringFromGUID2( id, *idstr, CHARS_IN_GUID ); - return S_OK; -} - /****************************************************************************** * StringFromGUID2 [OLE32.@] * diff --git a/dlls/ole32/ole32.spec b/dlls/ole32/ole32.spec index cd530763c2c..232ec8d87e7 100644 --- a/dlls/ole32/ole32.spec +++ b/dlls/ole32/ole32.spec @@ -279,9 +279,9 @@ @ stdcall StgOpenStorageEx(wstr long long long ptr ptr ptr ptr) @ stdcall StgOpenStorageOnILockBytes(ptr ptr long ptr long ptr) @ stdcall StgSetTimes(wstr ptr ptr ptr ) -@ stdcall StringFromCLSID(ptr ptr) +@ stdcall StringFromCLSID(ptr ptr) combase.StringFromCLSID @ stdcall StringFromGUID2(ptr ptr long) -@ stdcall StringFromIID(ptr ptr) StringFromCLSID +@ stdcall StringFromIID(ptr ptr) combase.StringFromIID @ stub UpdateDCOMSettings @ stub UtConvertDvtd16toDvtd32 @ stub UtConvertDvtd32toDvtd16
Signed-off-by: Huw Davies huw@codeweavers.com
Signed-off-by: Nikolay Sivov nsivov@codeweavers.com --- dlls/combase/combase.c | 12 ++++++++++++ dlls/combase/combase.spec | 2 +- dlls/ole32/compobj.c | 28 ---------------------------- dlls/ole32/ole32.spec | 2 +- 4 files changed, 14 insertions(+), 30 deletions(-)
diff --git a/dlls/combase/combase.c b/dlls/combase/combase.c index 7c6eaec7fa3..d5f4fad75c4 100644 --- a/dlls/combase/combase.c +++ b/dlls/combase/combase.c @@ -1108,6 +1108,18 @@ HRESULT WINAPI StringFromCLSID(REFCLSID clsid, LPOLESTR *str) return S_OK; }
+/****************************************************************************** + * StringFromGUID2 (combase.@) + */ +INT WINAPI StringFromGUID2(REFGUID guid, LPOLESTR str, INT cmax) +{ + if (!guid || cmax < CHARS_IN_GUID) return 0; + swprintf(str, CHARS_IN_GUID, L"{%08X-%04X-%04X-%02X%02X-%02X%02X%02X%02X%02X%02X}", guid->Data1, + guid->Data2, guid->Data3, guid->Data4[0], guid->Data4[1], guid->Data4[2], guid->Data4[3], + guid->Data4[4], guid->Data4[5], guid->Data4[6], guid->Data4[7]); + return CHARS_IN_GUID; +} + static void init_multi_qi(DWORD count, MULTI_QI *mqi, HRESULT hr) { ULONG i; diff --git a/dlls/combase/combase.spec b/dlls/combase/combase.spec index d56294af4d9..0b3b32206a5 100644 --- a/dlls/combase/combase.spec +++ b/dlls/combase/combase.spec @@ -319,7 +319,7 @@ @ stdcall SetErrorInfo(long ptr) ole32.SetErrorInfo @ stub SetRestrictedErrorInfo @ stdcall StringFromCLSID(ptr ptr) -@ stdcall StringFromGUID2(ptr ptr long) ole32.StringFromGUID2 +@ stdcall StringFromGUID2(ptr ptr long) @ stdcall StringFromIID(ptr ptr) StringFromCLSID @ stub UpdateDCOMSettings @ stdcall WdtpInterfacePointer_UserFree(ptr) diff --git a/dlls/ole32/compobj.c b/dlls/ole32/compobj.c index ebcce6d390d..e820e82c8a8 100644 --- a/dlls/ole32/compobj.c +++ b/dlls/ole32/compobj.c @@ -2186,34 +2186,6 @@ HRESULT WINAPI CoDisconnectObject( LPUNKNOWN lpUnk, DWORD reserved ) return S_OK; }
-/****************************************************************************** - * StringFromGUID2 [OLE32.@] - * - * Modified version of StringFromCLSID that allows you to specify max - * buffer size. - * - * PARAMS - * id [I] GUID to convert to string. - * str [O] Buffer where the result will be stored. - * cmax [I] Size of the buffer in characters. - * - * RETURNS - * Success: The length of the resulting string in characters. - * Failure: 0. - */ -INT WINAPI StringFromGUID2(REFGUID id, LPOLESTR str, INT cmax) -{ - static const WCHAR formatW[] = { '{','%','0','8','X','-','%','0','4','X','-', - '%','0','4','X','-','%','0','2','X','%','0','2','X','-', - '%','0','2','X','%','0','2','X','%','0','2','X','%','0','2','X', - '%','0','2','X','%','0','2','X','}',0 }; - if (!id || cmax < CHARS_IN_GUID) return 0; - swprintf( str, CHARS_IN_GUID, formatW, id->Data1, id->Data2, id->Data3, - id->Data4[0], id->Data4[1], id->Data4[2], id->Data4[3], - id->Data4[4], id->Data4[5], id->Data4[6], id->Data4[7] ); - return CHARS_IN_GUID; -} - /* open HKCR\CLSID\{string form of clsid}\{keyname} key */ HRESULT COM_OpenKeyForCLSID(REFCLSID clsid, LPCWSTR keyname, REGSAM access, HKEY *subkey) { diff --git a/dlls/ole32/ole32.spec b/dlls/ole32/ole32.spec index 232ec8d87e7..b25d710a55b 100644 --- a/dlls/ole32/ole32.spec +++ b/dlls/ole32/ole32.spec @@ -280,7 +280,7 @@ @ stdcall StgOpenStorageOnILockBytes(ptr ptr long ptr long ptr) @ stdcall StgSetTimes(wstr ptr ptr ptr ) @ stdcall StringFromCLSID(ptr ptr) combase.StringFromCLSID -@ stdcall StringFromGUID2(ptr ptr long) +@ stdcall StringFromGUID2(ptr ptr long) combase.StringFromGUID2 @ stdcall StringFromIID(ptr ptr) combase.StringFromIID @ stub UpdateDCOMSettings @ stub UtConvertDvtd16toDvtd32
Signed-off-by: Huw Davies huw@codeweavers.com
Signed-off-by: Nikolay Sivov nsivov@codeweavers.com --- dlls/combase/combase.c | 10 ++++++++++ dlls/combase/combase.spec | 2 +- dlls/ole32/compobj.c | 9 --------- dlls/ole32/ole32.spec | 2 +- 4 files changed, 12 insertions(+), 11 deletions(-)
diff --git a/dlls/combase/combase.c b/dlls/combase/combase.c index d5f4fad75c4..f7c70e1232d 100644 --- a/dlls/combase/combase.c +++ b/dlls/combase/combase.c @@ -803,6 +803,16 @@ HRESULT WINAPI CoGetObjectContext(REFIID riid, void **ppv) return IObjContext_QueryInterface(context, riid, ppv); }
+/*********************************************************************** + * CoGetDefaultContext (combase.@) + */ +HRESULT WINAPI CoGetDefaultContext(APTTYPE type, REFIID riid, void **obj) +{ + FIXME("%d, %s, %p stub\n", type, debugstr_guid(riid), obj); + + return E_NOINTERFACE; +} + /*********************************************************************** * CoGetCallState (combase.@) */ diff --git a/dlls/combase/combase.spec b/dlls/combase/combase.spec index 0b3b32206a5..735c710d7c2 100644 --- a/dlls/combase/combase.spec +++ b/dlls/combase/combase.spec @@ -105,7 +105,7 @@ @ stdcall CoGetContextToken(ptr) ole32.CoGetContextToken @ stdcall CoGetCurrentLogicalThreadId(ptr) ole32.CoGetCurrentLogicalThreadId @ stdcall CoGetCurrentProcess() ole32.CoGetCurrentProcess -@ stdcall CoGetDefaultContext(long ptr ptr) ole32.CoGetDefaultContext +@ stdcall CoGetDefaultContext(long ptr ptr) @ stub CoGetErrorInfo @ stdcall CoGetInstanceFromFile(ptr ptr ptr long long wstr long ptr) @ stdcall CoGetInstanceFromIStorage(ptr ptr ptr long ptr long ptr) diff --git a/dlls/ole32/compobj.c b/dlls/ole32/compobj.c index e820e82c8a8..33e617cca0e 100644 --- a/dlls/ole32/compobj.c +++ b/dlls/ole32/compobj.c @@ -4262,15 +4262,6 @@ HRESULT WINAPI CoGetContextToken( ULONG_PTR *token ) return S_OK; }
-/*********************************************************************** - * CoGetDefaultContext [OLE32.@] - */ -HRESULT WINAPI CoGetDefaultContext(APTTYPE type, REFIID riid, LPVOID *ppv) -{ - FIXME("%d %s %p stub\n", type, debugstr_guid(riid), ppv); - return E_NOINTERFACE; -} - HRESULT Handler_DllGetClassObject(REFCLSID rclsid, REFIID riid, LPVOID *ppv) { static const WCHAR wszInprocHandler32[] = {'I','n','p','r','o','c','H','a','n','d','l','e','r','3','2',0}; diff --git a/dlls/ole32/ole32.spec b/dlls/ole32/ole32.spec index b25d710a55b..dfab64a53b8 100644 --- a/dlls/ole32/ole32.spec +++ b/dlls/ole32/ole32.spec @@ -34,7 +34,7 @@ @ stdcall CoGetContextToken(ptr) @ stdcall CoGetCurrentLogicalThreadId(ptr) @ stdcall CoGetCurrentProcess() -@ stdcall CoGetDefaultContext(long ptr ptr) +@ stdcall CoGetDefaultContext(long ptr ptr) combase.CoGetDefaultContext @ stdcall CoGetInstanceFromFile(ptr ptr ptr long long wstr long ptr) combase.CoGetInstanceFromFile @ stdcall CoGetInstanceFromIStorage(ptr ptr ptr long ptr long ptr) combase.CoGetInstanceFromIStorage @ stdcall CoGetInterfaceAndReleaseStream(ptr ptr ptr)
Signed-off-by: Huw Davies huw@codeweavers.com
Signed-off-by: Nikolay Sivov nsivov@codeweavers.com --- dlls/combase/Makefile.in | 1 + dlls/combase/combase.spec | 2 +- dlls/combase/marshal.c | 30 ++++++++++++++++++++++++++++++ dlls/ole32/marshal.c | 21 --------------------- dlls/ole32/ole32.spec | 2 +- 5 files changed, 33 insertions(+), 23 deletions(-) create mode 100644 dlls/combase/marshal.c
diff --git a/dlls/combase/Makefile.in b/dlls/combase/Makefile.in index 71537f699b1..09e76e48bbb 100644 --- a/dlls/combase/Makefile.in +++ b/dlls/combase/Makefile.in @@ -9,6 +9,7 @@ C_SRCS = \ combase.c \ errorinfo.c \ malloc.c \ + marshal.c \ roapi.c \ string.c \ usrmarshal.c diff --git a/dlls/combase/combase.spec b/dlls/combase/combase.spec index 735c710d7c2..f67d6f25e63 100644 --- a/dlls/combase/combase.spec +++ b/dlls/combase/combase.spec @@ -128,7 +128,7 @@ @ stub CoInvalidateRemoteMachineBindings @ stdcall CoIsHandlerConnected(ptr) ole32.CoIsHandlerConnected @ stdcall CoLockObjectExternal(ptr long long) ole32.CoLockObjectExternal -@ stdcall CoMarshalHresult(ptr long) ole32.CoMarshalHresult +@ stdcall CoMarshalHresult(ptr long) @ stdcall CoMarshalInterThreadInterfaceInStream(ptr ptr ptr) ole32.CoMarshalInterThreadInterfaceInStream @ stdcall CoMarshalInterface(ptr ptr ptr long ptr long) ole32.CoMarshalInterface @ stub CoPopServiceDomain diff --git a/dlls/combase/marshal.c b/dlls/combase/marshal.c new file mode 100644 index 00000000000..b68efe8c951 --- /dev/null +++ b/dlls/combase/marshal.c @@ -0,0 +1,30 @@ +/* + * Copyright 2002 Marcus Meissner + * Copyright 2004 Mike Hearn, for CodeWeavers + * Copyright 2004 Rob Shearman, for CodeWeavers + * + * 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#define COBJMACROS +#include "objbase.h" + +/*********************************************************************** + * CoMarshalHresult (combase.@) + */ +HRESULT WINAPI CoMarshalHresult(IStream *stream, HRESULT hresult) +{ + return IStream_Write(stream, &hresult, sizeof(hresult), NULL); +} diff --git a/dlls/ole32/marshal.c b/dlls/ole32/marshal.c index a7401e9095a..d79e86dec28 100644 --- a/dlls/ole32/marshal.c +++ b/dlls/ole32/marshal.c @@ -2208,27 +2208,6 @@ HRESULT MARSHAL_GetStandardMarshalCF(LPVOID *ppv) return S_OK; }
-/*********************************************************************** - * CoMarshalHresult [OLE32.@] - * - * Marshals an HRESULT value into a stream. - * - * PARAMS - * pStm [I] Stream that hresult will be marshalled into. - * hresult [I] HRESULT to be marshalled. - * - * RETURNS - * Success: S_OK - * Failure: A COM error code - * - * SEE ALSO - * CoUnmarshalHresult(). - */ -HRESULT WINAPI CoMarshalHresult(LPSTREAM pStm, HRESULT hresult) -{ - return IStream_Write(pStm, &hresult, sizeof(hresult), NULL); -} - /*********************************************************************** * CoUnmarshalHresult [OLE32.@] * diff --git a/dlls/ole32/ole32.spec b/dlls/ole32/ole32.spec index dfab64a53b8..85ea6dcc8c9 100644 --- a/dlls/ole32/ole32.spec +++ b/dlls/ole32/ole32.spec @@ -57,7 +57,7 @@ @ stdcall CoIsOle1Class (ptr) @ stdcall CoLoadLibrary(wstr long) @ stdcall CoLockObjectExternal(ptr long long) -@ stdcall CoMarshalHresult(ptr long) +@ stdcall CoMarshalHresult(ptr long) combase.CoMarshalHresult @ stdcall CoMarshalInterThreadInterfaceInStream(ptr ptr ptr) @ stdcall CoMarshalInterface(ptr ptr ptr long ptr long) @ stub CoQueryAuthenticationServices
Hi,
While running your changed tests, I think I found new failures. Being a bot and all I'm not very good at pattern recognition, so I might be wrong, but could you please double-check?
Full results can be found at: https://testbot.winehq.org/JobDetails.pl?Key=76815
Your paranoid android.
=== debiant (64 bit WoW report) ===
ole32: clipboard.c:1223: Test failed: got 800401d0 clipboard.c:1224: Test failed: GetData not called clipboard.c:1239: Test failed: got 800401d0 clipboard.c:1250: Test failed: got 800401d0 clipboard.c:1256: Test failed: got 800401d0 clipboard.c:1257: Test failed: GetData not called clipboard.c:1263: Test failed: 1 1 clipboard.c:1266: Test failed: Failed to clear clipboard, hr 0x800401d0. clipboard.c:1269: Test failed: 1 clipboard.c:1281: Test failed: Failed to clear clipboard, hr 0x800401d0. clipboard.c:1283: Test failed: 1 1 clipboard.c:1287: Test failed: 1
Signed-off-by: Huw Davies huw@codeweavers.com
Signed-off-by: Nikolay Sivov nsivov@codeweavers.com --- dlls/combase/combase.spec | 2 +- dlls/combase/marshal.c | 8 ++++++++ dlls/ole32/marshal.c | 21 --------------------- dlls/ole32/ole32.spec | 2 +- 4 files changed, 10 insertions(+), 23 deletions(-)
diff --git a/dlls/combase/combase.spec b/dlls/combase/combase.spec index f67d6f25e63..56dc63c4f72 100644 --- a/dlls/combase/combase.spec +++ b/dlls/combase/combase.spec @@ -164,7 +164,7 @@ @ stub CoTestCancel @ stdcall CoUninitialize() ole32.CoUninitialize @ stub CoUnloadingWOW -@ stdcall CoUnmarshalHresult(ptr ptr) ole32.CoUnmarshalHresult +@ stdcall CoUnmarshalHresult(ptr ptr) @ stdcall CoUnmarshalInterface(ptr ptr ptr) ole32.CoUnmarshalInterface @ stub CoVrfCheckThreadState @ stub CoVrfGetThreadState diff --git a/dlls/combase/marshal.c b/dlls/combase/marshal.c index b68efe8c951..dfe6426db9a 100644 --- a/dlls/combase/marshal.c +++ b/dlls/combase/marshal.c @@ -28,3 +28,11 @@ HRESULT WINAPI CoMarshalHresult(IStream *stream, HRESULT hresult) { return IStream_Write(stream, &hresult, sizeof(hresult), NULL); } + +/*********************************************************************** + * CoUnmarshalHresult (combase.@) + */ +HRESULT WINAPI CoUnmarshalHresult(IStream *stream, HRESULT *phresult) +{ + return IStream_Read(stream, phresult, sizeof(*phresult), NULL); +} diff --git a/dlls/ole32/marshal.c b/dlls/ole32/marshal.c index d79e86dec28..90d24805952 100644 --- a/dlls/ole32/marshal.c +++ b/dlls/ole32/marshal.c @@ -2207,24 +2207,3 @@ HRESULT MARSHAL_GetStandardMarshalCF(LPVOID *ppv) *ppv = &StdMarshalCF; return S_OK; } - -/*********************************************************************** - * CoUnmarshalHresult [OLE32.@] - * - * Unmarshals an HRESULT value from a stream. - * - * PARAMS - * pStm [I] Stream that hresult will be unmarshalled from. - * phresult [I] Pointer to HRESULT where the value will be unmarshalled to. - * - * RETURNS - * Success: S_OK - * Failure: A COM error code - * - * SEE ALSO - * CoMarshalHresult(). - */ -HRESULT WINAPI CoUnmarshalHresult(LPSTREAM pStm, HRESULT * phresult) -{ - return IStream_Read(pStm, phresult, sizeof(*phresult), NULL); -} diff --git a/dlls/ole32/ole32.spec b/dlls/ole32/ole32.spec index 85ea6dcc8c9..001e7b7ad2b 100644 --- a/dlls/ole32/ole32.spec +++ b/dlls/ole32/ole32.spec @@ -89,7 +89,7 @@ @ stdcall CoTreatAsClass(ptr ptr) @ stdcall CoUninitialize() @ stub CoUnloadingWOW -@ stdcall CoUnmarshalHresult(ptr ptr) +@ stdcall CoUnmarshalHresult(ptr ptr) combase.CoUnmarshalHresult @ stdcall CoUnmarshalInterface(ptr ptr ptr) @ stdcall CoWaitForMultipleHandles(long long long ptr ptr) @ stdcall CreateAntiMoniker(ptr)
Signed-off-by: Huw Davies huw@codeweavers.com